Yanxi.me 热爱互联网和技术,喜欢探索的终身学习者

漫谈图书城

   

时间过得好快,从2006年12月开始做图书城到现在已经过去了9年了。先看看图书城从 2007 年到 2015 年的流量走势图:

图书城历史流量

下面是最近1个月的流量走势图:

凤凰金融移动前端招聘

   

工作职责

  • 凤凰金融 mobile web 站点的前端开发
  • 移动站点活动页面 html5 的开发
  • 业务模块前端代码编写
  • 后台管理界面的开发
  • 微信相关的应用开发
  • 平台易用性与用户体验的持续改进
  • Web前沿技术研究和新技术调研

尝试移动应用开发(React Native)

   

从第一次尝试网站开发到现在,马上就15个年头了。还记得第一次上网是在新世纪的第一年,当时互联网远没有现在火。 但当我走进机房打开第一个网页就感觉太神奇了,全世界的人都可以通过一个网址找到你,从那时起就开始了十几年的互联网征程。

十几年来做了无数的网站,PC端和移动端,前端和后端都有涉及,但唯独没有亲自做过 APP,错过了 APP 最火的几年。 比起十几年前对于互联网的嗅觉,对于移动互联网的嗅觉可谓迟钝。 但在目前的移动互联网时代,网站正在接受手机 App 的挑战,人们花在网站上的时间越来越少,甚至很多人根本不知道网址的概念。


本地应用 VS 混合应用

最近公司在开发一个新的移动应用,于是参与的比较多,开始了移动应用的学习和尝试。App 开发分为纯 Native 本地开发和 Hybrid 混合开发。性能上 Native 胜出,但需要做 ios 和 android 两个版本,开发效率低不少。Hybrid App 以 web view 为主,通过 Bridge 连接来用 Javascript 调用本地 API。由于对 web 比较熟悉,所以决定先采用 Hybrid 方案来做一个 demo。经过对比,最后选定了 IONIC,它底层集成 Cordova 框架来和手机通信,UI 层通过 Angularjs 实现了大多数本地 UI 组件的效果。完成 Demo 后,发现在 iPhone 上运行基本能够接受,但相对本地应用还是有较大差距。 在安卓手机上卡顿比较严重,作为一个产品基本很难接受。于是在正式开发中,依旧选择两拨人分别开发 iphone 和安卓应用。

Git 常见命令总结

   

Git 是分布式版本控制系统,由 Linux 之父 Linus Torvalds 发起。和 svn 等版本控制的最大区别在于分布式,每个人在本地都有一份完整的代码历史库,在不联网的情况下就可以查所有历史并提交代码。 为了让 git 新手更轻松入门,将工作中经常使用的 git 命令简单总结一下。

页面返回保留上一页信息解决方案

   

当用户在网页中点击链接进入下一页,再点击返回按钮,希望重新展示上一页的内容,并且停留在上次离开的地方。这对于传统的服务器端网页技术(利用 php,jsp 生成好 html 然后整体返回给浏览器)没有任何问题。随着前端技术的不断升级换代,dom 越来越多是在前端用 javascript 生成,这时返回按钮通常会导致上一个页面的 dom 重新生成一遍,之前的数据和页面内容都会丢失。

页面 URL 发生变化分两类:

  1. 不发起新 http 请求(应用内跳转):只改变 URL 的 hash 部分或者用 html5 的 history.pushState,此时 URL 虽然变化,但是不会重新发起新的 http 请求。
  2. 请求了一个新的页面(应用外跳转):在网页中点击链接,或者 location.href 改变都会发起新的 http 请求。

如何解决拖延症

   

从有记事时起,印象中拖延症就始终伴随着我。上学时家庭作业拖到快睡觉时候再熬夜做,掐着点出门导致经常迟到; 上班后每天、每周的总结总是拖到最后一刻提交;深夜有时候困得不行还会漫无目的的上网来拖延睡觉……

为了解决这个问题,特地找过一些书来看。基本是先巴拉巴拉告诉你拖延症的各种危害,然后让你明确目标、做好规划、给任务按照轻重缓急排序、挤时间、培养意志力。基本都属于励志书籍,什么执行力、什么要 Just do it。什么都对,但是很难长期执行。第一次看时可能会心潮澎湃,但效用不会超过三天。

今天无意中看到罗振宇在罗辑思维的一期节目 大家都有拖延症 中谈到这个话题,觉得很有意思。他将拖延症看成是人类在进化中形成的为了满足短期目的而忽略长期目的的一种心理疾病。将我觉得有用的几个解决方法罗列出来:

后海滑冰知识准备

   

从小在长江边上长大,有20年以上的游泳史,却一直因为不会正确呼吸而仰着头游泳,游得既累又慢。直到前段时间看了一段游泳教学视频,详细了解了换气的方法和要领。再经过两小时的水下实践,终于可以在游泳时正确的呼吸了。不会呼吸就不会游泳,游了20多年泳的人终于学会了游泳,真有些滑稽。这让我想到实践和摸索固然重要,理论知识有时候更为重要。没头没脑自己摸索好长时间不得要领,不如看教学片几分钟的作用大。游泳如此,健身如此,滑冰亦是如此。

明天准备去后海滑冰,虽然之前也滑过两次,但都是胡乱的在冰上玩,不知道从何开始,看着别人的样子,勉强让自己不摔倒,也能歪歪扭扭的滑一段距离。为了不要再用20年时间才真正学习滑冰,今天提前上网搜索一下教学视频,对照着视频把最基础的8个动作记录如下,希望明天就能够全部学会哈。

比特币文摘上线

   
Update: 比特币文摘2015年初已经下线

第一次听说比特币是在年初,当时了解到的价格是$25左右,没有看任何技术资料,就想当然的以为是电子玩具或者庞氏骗局。 直到11月底比特币的暴涨(接近¥8000)让它进入到大众视线,才大致看了相关的技术介绍和文档,觉得设计相当完美,很看好它的发展壮大。 现在看来,当时面对新事物的无动于衷可是一笔高昂的学费。

面对这个机遇,除了囤几个币,自然想到能在这上面做点什么。 发现国内比特币网站有不少做的很不错,在知识普及、挖矿、资讯、社区、交易所各方面都有。 BTC123 上面收集的比较全,有兴趣深入了解的朋友可以多上去转转。

除了去固定的网站,也经常在博客上看到有不少写的很好的文章,所以想到能够将比特币相关的文章进行收藏,便于自己日后查找,也为其他关心比特币的朋友提供了值得阅读的内容。因为之前经常在Fenng搭建的 Startup News 上看到不少不错的文章,觉得这个工具和模式很不错。于是就有了用此工具搭一个比特币方面的文摘的想法。

iPhone safari 刷新后出现空白页解决方案

   

这几天在做一个新网站,发现用iphone的safari浏览页面时,初次浏览页面都没有问题,但当手动点击刷新按钮,整个页面就变成白页。

先百度和google了一下,发现相关的结果不够解决问题。于是自己研究了一下,空白页出现有下面几个特征:

  • 不刷新页面,点击链接页面都正常
  • 刷新页面后出现空白页
  • 修改页面代码,比如加一个空格,再刷新恢复正常

页面没有修改返回的是304,加一个空格后返回200,看来问题就在这里。Safari在手动刷新时没有正确处理304的结果(非手动刷新正常),chrome 和 IE 都没有此问题,看来应该是safari的bug。解决此问题,临时解决方案只能是让服务器不返回304,于是想到重置 Last-Modified 和 If-None-Match 。

对阿里云RDS服务发个牢骚

   

自从接触了阿里云,虽然小问题难免,但到今天为止总体都还很满意,朋友询问都是肯定并推荐。今天遇到的一件事却比较令人失望。

和阿里云接触,还是从7月份说起。当时选定了自己托管服务器相仿的配置,阿里云价格比光托管费还便宜,于是从7月份开始就在考虑将网站迁移到阿里云。最开始的第一方案是只租用服务器,自己搭建Mysql数据库。但由于阿里云服务器独特的分布式磁盘(数据可靠)IO问题,不能满足自搭数据库的要求。于是只能考虑使用RDS服务(阿里云提供的Mysql托管),大约8月份的时候,专门购买了一个月的RDS服务来试用,演练导入从自己服务器导入数据到RDS。因为当时本地数据不到20G,所以购买的是新2型(最大20G空间),后来发现空间导入时日志文件过大,很快就会超过20G,发问题单后很快就有技术沟通并提高临时空间到50G,并指导协助我用Ali提供的转移工具做数据迁移。当时真的很满意。

到了11月初,正式开始迁移服务器和数据。为了不用麻烦RDS的技术和客服,一开始就买了新3型(最大50G空间),足够我自行完成整个数据库迁移。整个迁移大体上说也比较顺利,迁移完成并整理完数据后,数据空间使用13G多。于是希望从下个月起把RDS降到新2型,知道界面上还不支持降级服务,就发了个工单希望降级。收到回复: