今日工作小记

今天接到了一个新的需求,有几个东西需要调研,调研的结果分享一下,若是有写的不对的地方,欢迎指出! 时间2015-10-19 1、微信是否有wap版本的支付接口? 解释:指鹤理解,wap版本的支付,就是我在随意的浏览器中想要微信支付,都可以根据一些参数,调用到微信的某个支付页面,完成支付。 结果:没有找到,web版本想要走支付,可以根据微信的规则生成支付码,然后用微信扫码完成支付,这一招在web的确可行,但wap上貌似不可行,毕竟我们不能奢望每个人都有两个手机,一个生成支付码,另外一个打开微信扫码。 结果来源:问了几个前端群的朋友,用谷歌和百度都查了下。 2、百度地图的app是否和微信一样,可以根据某个sdk的接口来调用app的地图功能? 解释:我们嵌入百度地图的页面需要调用定位和导航,这个我知道可以用网页版的来实现,但感觉若是可以走app的反应和体验应该都会更好些。 结果:没有,只能走网页版的。 结果来源:问了几个前端群的朋友,用谷歌和百度都查了下。 3、支付宝的网页版支付。 解释:wap版本的支付,就是我在随意的浏览器中想要微信支付,都可以根据一些参数,调用到支付宝的某个支付页面,完成支付。 结果:有,相关文档见:支付宝的商店的产品大全、手机网站支付,我司走的就是手机网站支付; 结果来源:谷歌和百度。

工作这两年的感悟

1、不要说什么进国企安逸,除非你打算做一番事业,真的打算在外面拼,或者是趁着年轻熬一笔钱,否则你在外面过的除了工资高些,可能啥也没有,每天累得要死,结果到头来发现身体熬得一天不如一天,每天都不知道在为什么而活,守着一份不高不低的薪资,不舍得走; 2:但至于说学东西,想要在工作中学东西,除非你进入了一个不断在创造的单位,否则你会发现除了刚去的两三个月后,其余的做的很版专供没啥太大区别,每天做的东西基本都是重复的;若是有自己明确的目标在哪里都可以学,若是不知道自己要学的是什么,学来做什么用,何谈学东西啊? 3:不要让自己当那种不上不下的人,不要让自己当想得多做得少的人。

今天看淘宝联盟的一点小记

今天下午看了半天的淘宝联盟,有一些小的收获。 1、如何定位导购产品? 首先确定的你推广方式,指鹤知道的推广渠道有站点(网站)、app、sns社交平台(微信,QQ,微博,贴吧,论坛,QQ群等等)、邮件; 若是之前有相关的基础,比如有自己站点,并且有了一定的流量,可以看下自己站点适合哪一类的商品,比如坚果类的,那么就可以放出一些广告位,放置坚果的推广链接。若是站点没有主题,那么挂一些橱窗的推广位比较合适,现在的实时竞价系统还是很不错的! 若是没有相关基础,下面我们进入正题,如何根据推广渠道来确定导购的商品; 其实我们的推广说白了是为了让商品让更多的人看到,尤其是一些潜在用户看到,只有这些潜在用户看到了,发生了购买或者点击,我们才能拿到佣金,所以做以上任何渠道的目的都是让人看到! 先说网站这一块,做之前首先要做的想好如何养站(运营站点),建网站对我这样的开发人员来说不难,尤其是展现类的。运营说的简单点就是给网站找入口,就拿我现在的这个博客来说,主要入口是搜索引擎,我就先说下以搜索引擎为入口的: 1、选择做垂直,要选择大家需要先了解下后才购买的品类。 2、选择分类要先看下淘宝指数与百度指数,若是淘宝指数很高,百度指数低的就不建议走搜索引擎的路了,因为这类商品基本上都是直接在购物网站去搜了,比如想买一条裤子,我想绝大部分人不会直接在百度上搜。 3、搜索引擎为入口,需要考虑怎样提升搜索引擎的排名,这个指鹤也没有太好的方式,只知道文章要保证一定的更新,同时还要多做一些外链,尤其是一些权重比较高的站点。有一些第三方工具可以帮忙加外链,但被百度查到有可能直接将站点打入冷宫(不再收录)。 除了搜索引擎,另外一个常见的入口是社交平台,社交平台同样需要一个时间来建立一些资源,比如一个第一次进入贴吧的人,很难让其他人注意到自己,为了让其他人注意到自己,绝对不能发一些简单的广告贴,需要搞一些有看点的东西,文采好的可以写一个段子,文采不好的可以找一些美女图片来镇楼等等,但也要有尺度,否则有可能被删帖,甚至是封号。社交平台除了去贴站点地址,还可以利用sns的分享,只要内容选得好,效果很是很nice的,指鹤发现最容易传播的之一是及时新闻! 除了sns和搜素引擎,还有一点是发邮件,制作一个邮件模版,然后从网上找一些泄漏的数据库,里面多数有邮箱,可以试着发一波,若是找不到泄漏的数据库,可以网上site:tieba.baidu.com @163.com  @qq.com等,有邮件地址就可以发了,但和上面发帖一样,要有一个度,邮件模版做的好看一些,尽量做到不骚扰到人的,毕竟我们做的事本质上有点恶心! 以上就是指鹤能够想到的就这些了! 上面的sns和邮件,不仅可以推荐站点,还可以直接用来推荐商品! 最后,指鹤发现有些返利网的利可能给的很高,因为他们的目的是成交量,他们可以在返利网进去的单上不挣钱,甚至是亏欠,销量上去在有利位置后他们可以从正常用户手上拿钱,所以抓住这个点,若是你做的足够好,还是可以和商家进一步谈的,当然,也不能让商家太亏,做买卖也不容易!

twentytwelve_content_nav

twentytwelve_content_nav():当需要的时候显示上一页下一页; 使用方法: 参数: $html_id ,必须; 返回:void(空) 源:文件名: twentytwelve/functions.php 具体代码:

WordPress主题 – 常用模板文件及用途

style.css : CSS(样式表)文件,一般包括主题声明和通用css样式代码 index.php : 主页模板,一般用来做网站的首页 header.php : Header模板,一般是所有页面的头部公用部分 sidebar.php : 侧边栏模板,一般显示Widget小工具 footer.php : Footer模板,一般放些“关于我们”的页面链接、版权声明和统计代码等 archive.php : Archive/Category模板,用来显示分类下的文章目录 single.php : 内容页(Post)模板 page.php : 内容页(Page)模板 comments.php : 留言/回复模板 searchform.php : 搜索表单模板,也就是我们看到的搜索框 search.php : 搜索结果模板 404.php : Not Found 错误页模板 author.php :作者文章目录页面,罗列某个作者的文章,对于多作者博客尤为必要 functions.php :模板函数,存放主题用到的函数模块,起到举足轻重的作用 attachment.php :附件模板页面,WordPress的图片或其他上传的文件,都会赋予一个附件ID,如果你在插入图片时,选择链接到附件页面,主题中没有包含这个模板时就会报错。 随着WordPress功能的增强,以及人们对于WordPress建站的功能需求的提高,现在的WordPress主题一般都不仅仅上面的文件了,不过再怎么复杂,上面的文件一般都是比较常用的,也是最基本的。 WordPress主题 – 判断标签 is_home() : 是否为主页,首页使用的是 index.php is_front_page() :是否为指定的首页,如果首页不是默认的index.php,比如你在后台 – 设置 – 阅读,指定了首页,就要用这个来判断 is_single() : 是否为内容页(Post) is_page() : 是否为内容页(Page) is_attachment() :是否为附件页 is_singular() :可以简单理解为 is_single()||is_page()||is_attachment() 的综合,但有区别 is_category() : 是否为Category/Archive页 is_tag() : 是否为Tag存档页 is_date() : 是否为指定日期存档页 is_year() : 是否为指定年份存档页 is_month() : 是否为指定月份存档页 is_day() : 是否为指定日存档页 is_time() : 是否为指定时间存档页 is_archive() : 是否为存档页 is_search() : 是否为搜索结果页 is_author() :是否为作者存档页 is_404() : 是否为 “HTTP 404: Not Found” 错误页 is_paged() : 主页/Category/Archive页是否以多页显示 is_user_logged_in() :用户是否登录 以上的判断标签,比较常用于面包屑导航和侧边栏中,用于判断不同的页面加载不同的内容,可以多个搭配一起用,有些还可以定义参数,运用的好的话,可以制定出很多不同的显示方案。 WordPress主题 – 常用PHP函数 <?php get_header(); ?> : 调用Header模板 <?php get_sidebar(); ?> : 调用Sidebar模板 <?php get_footer(); ?> : 调用Footer模板 <?php bloginfo(‘html_type’); ?> : 网页Html类型 <?php bloginfo(‘charset’); ?> : 网页编码 <?php bloginfo(‘name’); ?>  : 博客名称(Title) <?php bloginfo(‘url’); ?> : 博客 Url <?php bloginfo(‘description’); ?> : 博客描述 <?php bloginfo(‘stylesheet_url’); ?>  : CSS文件路径 <?php bloginfo(‘template_url’); ?> : 模板文件路径 <?php wp_head(); ?> : 头部挂钩(hook),非常重要的函数,基本上每一个主题都要用到,因为它是用来让其他插件或功能函数在网站头部输出css、js等文件的,如果主题没有这个函数,可能会造成很多插件无法正常使用,一般添加在 header.php 文件中 <?php wp_footer(); ?> : 底部挂钩(hook),和 wp_head() 一样重要,功能也基本一样,一般添加在 footer.php 文件中 <?php wp_nav_menu(); ?> : 调用导航菜单(WP 3.0+),一般需要在 functions.php 添加注册菜单函数 register_nav_menus() 一起使用 <?php wp_list_bookmarks();?> 友情链接函数,虽然 WP 3.5 取消了链接管理功能,但是这个函数还是非常有用的 <?php if(have_posts()) : ?> : 检查是否存在Post/Page <?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则显示 <?php endwhile; ?> : While 结束 […]

wordpress里面get_template_part()函数使用

get_template_part()函数用法 get_template_part()函数的使用很灵活,不仅仅是加载一个模板文件进来,而且还有备用的选项,调用代码如下: 参数: $slug (必须) 通用的模板名 $name (可选) 指定的模板名 什么意思呢?我们来看一下具体的示例: 意思是说,如果content-blog.php存在,则调用content-blog.php,否则,就调用content.php 大致上就是如此了,至于php的require及include两种方法,这里就不再赘述了,百度一下你就知道。 ……………………………………………………分隔线…………………………………………………… 在wordpress中可能见到下面的代码 配合拿到文章类型的函数,可以做到不同的文件调用不同的php模版。 get_post_format()函数的详解如下: 原型:get_post_format( $post_id = null ); 参数详解:$post_id,文章ID或者文章对象。默认为当前循环中文章。 返回值: 如果文章的post format类型是下面的一种,则返回相应字符串,否则返回false。 aside audio chat gallery image link quote status video

wordpress的SEO优化细节

今天看到一篇文章说wordpress默认主题的文章列表可以进行SEO优化,由于日期的默认连接地址还是本页,会加重搜索引擎的负担,于是指鹤就动手处理了下,指鹤的主题是自带的twentytwelve。 修改如下,找到主题下的functions.php,找到如下代码(指鹤这边是在375行): 修改成 改完后刷新,可以看到原来可以点击的文章时间,变成了不可点击的了

wordpress学习笔记一

最近准备学习wordpress主题开发,所以开始记录笔记,以wordpress默认的twentytwelve主题挨着个源码分析,先从php文件开始! 1、404文件: 代码很简单,get_header()和get_footer()分别调用header和footer的文件,以主题的优先,若是主题内没有相应的文件,调用默认文件 wp-includes/theme-compat/header.php。 引入 searchform.php 文件来显示搜索表单,若是你没有引入 searchform.php 文件,WordPress 将使用其内置的搜索表单:

如何解决博客空间小,不方便在文章放太多图片的问题

最近指鹤遇到了一个问题,对于一些转载文章内的图片,是采用原文地址,还是转到本地,还是采用base64,放到原文,保不准图片连接失效,而且有些大网站还做了防止被盗图的处理,实在不能解决所有问题,若是放到本地,个人博客空间不大,图片有些有很大,真担心一不小心就放满了,若是采用base64呢?这个其实也还好,但每张图都需要处理下,有些麻烦……今天找到了一个wordpress的插件,感兴趣的朋友可以试下! 下面是找到这块wordpress插件的原文内容: 做博客站所使用的空间一般都很小,如果本地图片过多的话可能空间容量一下子就用完了,许多博友开始青睐外链相册,因为这样就达到了节省空间的目的。 听说外部图片对seo有影响,不如图片本地化的收录好,这里呢呢想到了一个解决的办法,就是将外部图片的链接地址伪装成本地图片链接,这样搜索引擎就会认为这是本地图片,解决了SEO收录的不利影响。 将外部图片的链接进行伪本地的方法其实很简单,只是操作起来步骤多一点而已,这个方法也适合淘客链接的转换和缩短。 一.在wordpress后台的安装插件项里面搜索‘Link hopper’这样一款插件安装,启用插件后可在(仪盘表-工具)中找到Link hopper进行操作,如下图。 二.在Base URL后面的框框中填入想要设计的链接目录名称,如go、bo、a、b、c、d的什么任意字母或数字都可以,然后点击保存生效。 三.接下来就是链接本地化的设置了,Hop Name是设置本地链接的名称,Destination URL是外部链接的设置,将两项都填好后点击保存,伪装的链接就开始生效,可以右键点击“Test”然后选复制链接地址得到伪装后的本地链接。 目前wordpress插件只能实现图片链接的伪本地,而不能将图片伪本地。意思是访问伪装后的图片地址会跳转到原图片地址,而图片伪本地则是链接不跳转。 原文地址:http://club.alimama.com/index-htm-m-cms-q-view-id-535%20.html

IScroll5下jquery的click事件失效

今天做下拉刷新项目时,发现写的如下代码无效,用了事件代理: 发现无效,由于.test的元素是js动态插入的,所以绑在body上省事,但上面的代码无效后,第一反应就是事件代理不好用了,然后有在js插入后加入了如下代码: 结果还是不好使,这些把问题定在了isroll身上,发现还真是它的问题,需要调用的时候传入click参数,代码如下: 下面分享一个介绍IScroll5 参数说明和调用方法的页面:http://www.tuicool.com/articles/vMn2u2  

站长加入百度网盟

网站开通有一年了,看到好多站长用挂广告挣点钱,也想试一下,于是准备加入百度网盟推广,但搜了半天没有找到怎么弄,最后发现原来是搜索词不对,应该搜如何注册百度联盟! 下面是百度联盟注册步骤,分析一下! 1、百度搜索一下“百度联盟”,点击右上角的“注册”按钮。 2、填写你的网站资料和基本的信息,千万不要弄虚作假,不然审核的时候可能过不了。 3、为了确定网站是属于的你,所以你需要验证一下你的网站,方法有两种,一种是下载文件传到你网站空间,一种是复制代码写到你首页中。 4、然后填写好你的真实身份,为的是以后结账时需要。 5、等待审核,审核通过后,就可以开始登录,设置。 6、第一次登录的时候,密码处会要求你安装一个百度安全插件,我们点击它进行下载。 7、下载完安装后重启浏览器就可以登录进去了,然后就是后台设置了

WordPress主题插件汉化教程

指鹤利用文章中的第二种方式修改的,成功! 参考文章:http://www.ludou.org/how-to-translate-wordpress-theme-and-plugin.html 使用WordPress的朋友都知道WordPress的主题很多,去网上搜搜就能搜到一大把。有时候找到一个好主题,但是发现居然是英文主题,有点让人失望。今天,我将教你如何汉化英文WordPress主题,这里提供两种方法,你可以自行选择。开始之前,先准备好你要翻译的主题。这里也只以汉化主题为例,汉化插件方法相似。 方法一:使用Poedit生成语言包 最新版的Poedit pro已经支持WordPress主题和插件的翻译,可以不用进行以下第1步和第3步的操作,最新版的Poedit pro请自行到网上搜索下载。 1、生成语言包的好处是不必修改主题代码,不会引起不必要的代码错误。请先自行下载Poedit。安装过程你可以选择中文版,安装完毕,我们开始汉化主题。打开Poedit – 文件 – 新建消息目录文档,填写以下基本信息: 工程信息可以随便填,路径添加一个点 . 即可,关键字添加 _e 、_n、_x和 __ 即可,注意 __是两个半角下划线。设置好后确定,会弹出保存窗口,命名为zh_CN.po,保存到主题目录下即可,保存成功会弹出以下窗口,说明Poedit已经探测到这么多要翻译的英文了,确定即可。如果该窗口没有任何内容,说明该主题不支持Poedit翻译,请看方法二: 2、好了,下面的翻译工作你就自己完成吧,翻译好后保存即可。 3、翻译完了,先别乐,还有工作要做,请在主题目录下的functions.php中,将 ?> 改成: 1 2 3 4 5 function theme_init() { load_theme_textdomain(‘Ludou’, get_template_directory()); } add_action (‘init’, ‘theme_init’); ?> 如果你是要汉化插件,请在插件所有php文件中,将 ?> 改成: 1 2 3 // 插件路径,如/wp-content/plugins/login-to-view-all/ load_theme_textdomain(‘Ludou’, ‘这里填上插件所在的目录路径’); ?> 请将以上代码中的 Ludou 改成你的主题或插件的名称。打开主题任意一个文件,查找 _e,应该可以找到类似代码:_e(‘Tags’, ‘Ludou’); ,其中的Ludou就是主题名称,不同主题的名称是不一样的。 方法二:直接修改源代码 直接修改源代码的好处是,不需要服务器去解析汉化包,节省了一定的运行时间,也算是WordPress优化的一部分吧。如果你对PHP一窍不通,请不要擅自修改源代码,推荐使用方法一。 其实修改源代码的方法也很简单,用文本编辑器打开主题目录下的所有PHP文件,查找 _e ,应该可以找到很多类似代码:_e(‘Tags’, ‘Ludou’); 这其中Tags就是你要翻译的内容,Ludou一般是主题的名称,不同主题不一样,将这一句代码改成:echo ‘标签’; 这样Tags的翻译就完成,接着找下一个翻译吧。如果代码是这样类型的:<?php _e(‘Tags’, ‘Ludou’); ?> ,你完全可以直接替换成:标签,这样就略过了PHP解析这一步,在一定程度上可以加速WordPress。 接着用文本编辑器查找__,注意 __ 是两个半角下划线。也可以找到类似代码:__(‘No comments’, ‘Ludou’) No comments就是你要翻译的内容,将这句代码改成:’没有评论’ 修改代码的时候,最好改一个就保存一次,刷新你的博客,看主题是否可以正常工作,出现错误了就还原你刚才的操作,这样能够及时地发现错误,也能轻易地找出错误。另外,汉化的时候尽量只更改英文单词,不要去修改主题的其他代码,如 __(‘% comment’, ‘Ludou’),那么你只能将其改成’% 条评论’ 不要去除 %,否则你就破坏了主题的功能。 最后,修改好一个PHP文件之后,请用 UTF-8 编码将其另存为,覆盖原来的PHP文件,否则中文都是一堆乱码!

如何解压*.zip.001类的压缩文件

先完成合并后再加压,合并命令(ctrl+r,打开cmd,cd到文件所在的目录): copy /B 1.zip.001 + 1.zip.002 + 1.zip.003 1.zip 其中,1.zip.001、2.zip.001、3.zip.001是需要合并的文件,1.zip是最终合并的文件名(以上名字按照自己实际来写) 具体: *.zip.001 & *.zip.002类型的文件的解压缩 各种压缩分卷格式 rar分卷格式是*.part1.rar,*.part2.rar 等等。 360分卷压缩出来的文件的名字是*.zip.001、*.zip002之类的形式。 WinZip分卷压缩出来的文件名是*.zip、*.z01、*.z02之类。 7z格式分卷命名是从第一箇以*.001开始,第二个是*.002,以此类推。 有时下载的*.zip.001 & *.zip.002类型的文件不能使用winrar进行解压缩,当然你可以下在相应格式的软件,进行解压缩,如果不想,这里有个简单的方法把*.zip.001 & *.zip.002类型的文件先复制成一个*.zip文件,之后在用winrar解压缩。 1.预处理 一是先将这几个文件都移动到某个分区的根目录下(比如说我就移到了E盘的根目录下)。 然后再将文件全都改名,改得越简单越好,比如我就都改成了1.zip.001、 1.zip.002和1.zip.003(对最终解压后的文件名无任何影响),其实名字不改也行,可在资源管理器中复制文件名,然后在命令行方式用鼠标右键粘贴)。 2.合并文件 打开 命令提示符窗口,输入 E:进入E盘根目录, 接着输入这条命令: copy /B 1.zip.001 + 1.zip.002 + 1.zip.003 1.zip 等一会合并完毕。 3.关闭命令提示符窗口,在E盘根目录下会有一个合并好的1.zip文件,使用WinRAR正常解压缩,即可 参考文章:http://jingyan.baidu.com/article/fc07f98916b16e12ffe5199e.html

wordpress文章按照时间倒叙排列(发布早的在前面)

在主题里面找到如下代码: 在这段代码前面加上如下代码: 备注:我是把所有页面的顺序都改了,涉及到的修改文件有:index.php、search.php、page.php、archive.php和single.php,wordpress版本是4.0,主题是wpnovelist。 参考文章:http://www.ludou.org/wordpress-customize-posts-order.html

物理学未解决的问题13个问题

原文:https://www.newscientist.com/article/mg18524911.600-13-things-that-do-not-make-sense 1 The placebo effect Don’t try this at home. Several times a day, for several days, you induce pain in someone. You control the pain with morphine until the final day of the experiment, when you replace the morphine with saline solution. Guess what? The saline takes the pain away. This is the placebo effect: somehow, sometimes, a whole lot of nothing can be very powerful. Except it’s not quite nothing. When Fabrizio Benedetti of the University of Turin in Italy carried out the above experiment, he added a final twist by adding naloxone, a drug that blocks the effects of morphine, to the saline. The shocking result? The pain-relieving power of saline solution disappeared. So what is going on? Doctors have known about the placebo effect for decades, and the naloxone result seems to show that the placebo effect is somehow biochemical. But apart from that, we simply don’t know. Benedetti has since shown that a saline placebo can also reduce tremors and muscle stiffness in people with Parkinson’s disease. He […]

iframe缓存html

前段时间做项目的时候遇到了一个问题,html整个被缓存了,js、css、图片被缓存可以理解,html被缓存是本人第二次见到,第一次是做支付宝服务窗时,整个html被缓存,给他们技术人员电话,技术人员让卸载app后重装……同时开发,只能说相互理解了,好在并不是每次html都被缓存下来。 切入整体吧,js、css等防止直接拉取缓存数据时,可以用版本号,iframe下的html同样可以用此方法。

细节的成本

有一句话叫做魔鬼在于细节,从字面上能看出这句话是用来告知细节的重要性。但人的行为本身是不可控的,造成了给人用的产品理论上能走到的逻辑是无穷的,无穷多的逻辑意味着无穷多的细节,面对没有边际的细节,我们真的有必要细细处理到每一个细节吗? 先看下面的一张图,它是我们公司微信公共账号的充值页面(由于图的背景是白色的,故将word背景色修改成了绿色) 从这一张页面中,你能读到多少个可能存在的逻辑细节?先自己思考下,然后对比下面列出的,看看是你想得到的多,还是当前页面现存的多,思考哪些逻辑是必要,哪些逻辑是可有可无的? 页面中现存的处理逻辑: 1、点击10元、50元、100元、200元,清除原来的选中状态,将被点击元素置为选中状态,同时更改输入框中的值; 2、在输入框内输入数字,清除下面定值选项的选中状态。判断输入框内的值是否为空,若为空将输入框右侧的清空按钮(X)置为隐藏,立刻充值按钮置灰,并设为不可点击的状态;若不为空,清除按钮(X)置为显示,立刻充值按钮置蓝,并设为可点击状态。 3、点击输入框最右侧的清除按钮(X),清空输入框内的数字,同时将下面定值选项全部置为未选中,立刻充值按钮置灰,并设为不可点击的状态。 4、点击立即充值按钮,判断输入框内的值是否为数值且大于0,若不是给出“请输入正确金额”的提示,若是再判断是否为小数,是给出“不允许输入小数”的提示,若不是则进行提交调用后台的充值流程。 上面提到的细节你全部想到了吗?除了上面提到的细节,你是否有想到其他的细节? 列完细节,来依据细节的重要进行排序。我的排序为1>=4>3>2,依据是1和4是整个操作的主流程,3和2虽在一定提升了用户的体验,但不存在并不会对整个流程有实质性的影响,整个流程依旧可以走完。 上面也提到了3和2的加入会提升用户体验,也许有人会说了,既然加了能够提升用户体验,那我们就要加上去。对于例子中2和3细节逻辑的添加,个人觉得其实还好,因为它们的确提升了部分用户的体验,所付出的代价也并不大。注意下我这里的用词是“代价”,这是我下面想要说的,每一个细节逻辑都是用代码完成的,都是有一定的代价的。 继续拿上面逻辑为例,若是只走1和4主要流程,代码可以控制在20行左右,甚至是更少,若是再加上2和3的逻辑,代码量要加15行左右。也许有人又要说了不就是15行代码吗?没错,只是15行代码,但增加的绝对不止是15行代码那么简单,首先后期的维护成本要更高了。这里本身的逻辑并不复杂,体现并不明显,若是代码量是上千行以上,维护成本的提高就会非常明显,尤其是代码逻辑原本就因需求的相互牵扯混乱不堪。除了维护成本以外,作为需要传输给用户的前端代码,任何一行代码都会消耗流量,拖慢加载速度。有人可能会觉得危言耸听了,15行代码所造成的影响的确是微乎其微,但若是N个15行叠加在一起,所造成的影响就会有所体现了,尤其是对访问量大的公司而言。拿多出0.01KB为例,像BAT这种日访问十位数的公司来说,一天多跑出的流量就是几十G。同时,影响到页面加载后,做的所有细节优化用户可能并未看到,就因不愿等待loading而放弃了继续浏览。 添加任何逻辑细节都是有成本的,那么什么样的逻辑应该加,什么样的逻辑不应该加呢?对正常用户有所回报,对我们自身有所回报的逻辑,同时所付出的代价小于回报。 一个简单的反例,注册页面。用户输入手机号获取验证码之后,在提交前去修改了原本的手机号,显而易见这样的操作并不是正常用户的行为。对于这种行为,我们需要处理,但没有必要给特别细致的处理,比如我们可以在他点击获取验证码时将他填写的手机号缓存下来,后面提交注册表单直接取缓存下来的手机号,若是他打算更换手机号,用新的手机号重新获取验证码就可以,最重要的手机号与获取验证码时的手机号是否一致,验证码是否正确由后台验证。而不是细致到当他修改手机号后给予提示“您的手机号已更改,请重新获取验证码”。 上面的例子,细致处理,与非细致处理对我们需要负责的正常用户都是不可见的,细致处理并没有给他们带来什么体验上的提升,同时也并未给我们带来什么,解决什么问题。相反,还有可能由于提示过于详细,给攻击者提供了一些线索,豆瓣登录失败提示就存在这样的一个问题。总结,这样的细节处理,我们付出了一定的代价,但并未给我们以及用户带来什么。 除了一些逻辑细节是否需要细致处理,另外一个需要权衡添加的是用户反馈过来的需求。若是一个逻辑极少有用户会走进去,尤其是这个逻辑加上后会影响到现有逻辑,这样的逻辑也不建议添加。如同上面所说的任何逻辑的添加都是需要成本的,这个成本并不是值得简单的实现成本,有可能也包含了牺牲大部分用户体验的成本。 生活中处处存在交易,想要获得细节带来体验提升,需付出一定的代价。细节与所需付出代价的权衡并不是一件简单事,需要拥有比较大的全局观,有些时候权衡不下,还可能需要一个试错的过程。 很多事说起来容易,做起来并不简单。如同开头所说的,人的行为是不可控的,产品需求同样是不可控的,有主观能够决定的,也有客观不可拒的,从错综复杂的需求细节中顺出需求主线,挑选出重要的细节,正是一个优秀产品人员能力的体现。

生活需要的是什么?

生活需要的是什么? 一个没有答案的问题,前两天加入了一个初中群,才发现大部分初中同学都已经结婚了,对比高中,结婚的没几个,放眼大学就更少了,看来学历和结婚年龄真的是成反比的。 高学历是好是坏? 同样没有答案,我看初中同学的聊天,感觉他们过的很开心,也许他们并没有接触到的东西新,但那并不影响他们的生活,因为大部分东西真的不是生活的必需品。 生活的必须品是什么? 又是一个没有答案的问题。想必每个人都有自己的答案吧,我觉得除了保证生活的以外,一切随心就好。 我们真的能够随心吗? 很大部分人不能,但归咎起来,大部分人都是在自己束缚自己而已,到头来后悔这个后悔那个? 我有后悔的东西吗? 有,现在,这个时间能够回想起来的有三件,第一个是没有在情窦初开的时候去追求自己喜欢的女生,没有在学生时代谈一场恋爱,第二个是大学时候没有考下驾照,第三个是得知奶奶病危的时候,我没有第一时间赶回去。 后悔有用吗? 只后悔的话没有卵用,知道后悔,下次不要让自己后悔,同样的错误不犯两次! 生活是一场没有彩排的戏,谁都不知道下一秒会发生什么,谁都知道下一秒会遇到什么事什么人! 向前走,不要停在原地,在思考中耗费生命!

多行省略号

源码如下: 效果如下: 我是我我我卡拉考法律框架范德萨立刻反对苏联空军发送垃圾散发及法律框架封锁道路框架范德萨立刻就反对苏联框架范德萨立刻反对苏联空军累计发送旅客及法定税率就反对苏联开发的思路框架范德萨立刻机 备注:以上用法存在一定的兼容性问题,移动端问题不大,PC端若是想要老版本浏览器,慎用!

近期小计

1、\r\n转换成的js函数 2、对地图坐标的理解,这源于用微信jssdk取当前位置坐标,采用了默认的WGS84坐标系(地球坐标系,国际上通用的坐标系),结果造成用当前坐标与终点坐标计算距离出错,才注意到微信可以设置其他坐标系,GCJ02坐标系(火星坐标系,WGS84坐标系经加密后的坐标系),修改参数后距离显示正确了,于是补了下有关这方面的知识,具体如下: 一、各个坐标系的概况 众所周知地球是一个不规则椭圆体,GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定。 基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的基准面。基准面是在椭球体基础上建立的,椭球体可以对应多个基准面,而基准面只能对应一个椭球体。意思就是无论是谷歌地图、搜搜地图还是高德地图、百度地图区别只是针对不同的大地地理坐标系标准制作的经纬度,不存在准不准的问题,大家都是准的只是参照物或者说是标准不一样。谷歌地图采用的是WGS84地理坐标系(中国范围除外),谷歌中国地图和搜搜中国地图采用的是GCJ02地理坐标系,百度采用的是BD09坐标系,而设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,为什么不统一用WGS84地理坐标系这就是国家地理测绘总局对于出版地图的要求,出版地图必须符合GCJ02坐标系标准了,也就是国家规定不能直接使用WGS84地理坐标系。所以定位大家感觉不准确很多又叫出版地图为火星地图其实只是坐标系不一样而已。这就是为什么设备采集的经纬度在地图上显示的时候经常有很大的偏差,远远超出民用GPS 10米偏移量的技术规范。 总结: WGS84坐标系:即地球坐标系,国际上通用的坐标系。 GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系。 BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系。 搜狗坐标系、图吧坐标系等,估计也是在GCJ02基础上加密而成的。 各个地图API采用的坐标系 API 坐标系 百度地图API 百度坐标 腾讯搜搜地图API 火星坐标 搜狐搜狗地图API 搜狗坐标* 阿里云地图API 火星坐标 图吧MapBar地图API 图吧坐标 高德MapABC地图API 火星坐标 灵图51ditu地图API 火星坐标 参考文章:http://blog.csdn.net/liyunxin0534/article/details/16802463