• 我的微信公众号项目都是用 anchor hash 导航的 SPA,没有用 turbolink,实践上只要在首页进行 JS SDK 的签名就可以。

  • 这是微信 iOS 的浏览器内核切换到 WKWebView 后出现的一个问题,根据官方文档

    三:有使用JSSDK,并且使用了wx.config进行权限授权需关注jsapi调用的失败问题 
    变化:WKWebview的内部实现变更使我们对微信内的页面jsapi权限管理做了一定逻辑上的调整,有极小可能会发生以前授权正常的jsapi获取权限不正常,从而导致调用jsapi失败。 
    适配建议:
    1. iOS微信6.5.1,WKWebview在此版本中已知有以下问题:页面使用HTML5的History API pushState; popstate;      replaceState等控制页面导航(典型的如单应用页面),同时使用JSSDK的wx.config为jsapi授权,此时大几率会出现jsapi因为无权限而调用失败的问题。 在6.5.1中页面若可能的情况下,可使用Anchor hash技术替换History技术来解决此问题。
    2. iOS微信6.5.2及其之后版本,将不会存在以上问题,但不能100%确认有使用到 history或hash技术更改页面导航地址的页面完全没有此类问题,依然需要开发者注意关注此类问题。
    

    可以考虑在 Turbolink 切换页面的回调里面请求一次 API,从服务器拿到签名参数,并在客户端进行签名操作。(可以借助 wechat gem 里面的一些方法)。下面的代码是我写的一个调用的例子,直接返回给客户端的 JavaScript 进行 eval(可能这样做很 evil),但是能正常跑起来。

    def signatuer_js(page_url)
      config_options = {debug: false, api: %w(chooseImage previewImage uploadImage chooseWXPay)}
      js_hash = wechat.jsapi_ticket.signature(page_url)
      return <<-WECHAT_CONFIG_JS
        wx.config({
        debug: #{config_options[:debug]},
        appId: "wechat app id",
        timestamp: "#{js_hash[:timestamp]}",
        nonceStr: "#{js_hash[:noncestr]}",
        signature: "#{js_hash[:signature]}",
        jsApiList: ['#{config_options[:api].join("','")}']
        });
      WECHAT_CONFIG_JS
    end
    
  • 这个广告做得好 at 2017年03月05日

    RubyChinaConf 的贴纸

  • 我觉得有前途。

    1.Rails 并非没人气。 Google 搜索趋势- Django,Rails 和 Laravel 可以看到在全球范围内,Rails 比 Django 和 Laravel 等热门框架还热门。结合实际看到的内容,Rails 社区活跃,框架稳步发展,应用广泛,并没有没落。

    1. 包含内容丰富,初期可以学习的东西多。Rails 在一定程度内是小型 Web 应用开发的最佳实践,默认包含了前端打包、Web 安全等等内容新。手或者初级程序员如果能掌握 Rails,能到熟练运用 Rails API 解决业务、能写扩展并且能理解背后的原理的程度,在学习过程中掌握的内容其实非常丰富,并且能反哺到运用其它语言、框架进行 Web 开发的场景中。

    2. 单兵、小团队开发效率高。Rails 结合 Ruby 语言,验证原型、做小型业务效率非常高。

    3. 生态圈质量好。因为在国内的小众,导致社区氛围和资料的质量都很好。不容易接触烂书烂资料。 --- 上面 1234 是 markdown 解析错了还是我排版错了。。。 ---

    结合 lz 的总结我也提下自己的感受:

    公司难招人:国内圈子小这个是事实,也是在国内做 Rails 的一个大缺点。不过国内应该有少数规模小、也不追求快速膨胀扩张的公司,做自己的产品和外包、咨询业务,这种场景用 Rails 没什么不好。也不需要招很多人。 上规模的企业,会从各个方面去权衡利弊,也不一定会因为难招人一棍子打死 Rails。同时 Ruby 在测试、运维、开发工具里应用还算比较多?

    个人难专精:我自己接触了四五年 Rails,花在上面时间不超过 200 小时,写的 Ruby 代码不超过 4000 行(但是其实用这些 Ruby 代码产出的成果和回报还不错。。),感觉已经从 Rails/Ruby 里收益匪浅了。 学点入门花不了多少时间,并非人人学 Rails 都要成为大师。

  • Ruby 的爬虫世界 at 2016年12月06日

    我来补充一个感觉挺有用的库 parallel

    对于代码的并发执行进行封装,可以选择开多个进程(充分利用多核),多个线程(可以加速阻塞 IO多的代码执行), 还能结合 ruby-progressbar 显示预计运行的时间。

    # Doing stuff | ETA: 00:00:02 | ====================               | Time: 00:00:10
    

    前几天收集数据需要发 20000 个 HTTP 请求,直接把代码用 parallel 包装一下,结果数据直接交给 ActiveRecord 存数据库,不用考虑并发的各种通信和锁的问题,执行速度粗略估计是顺序执行阻塞的操作的十倍。(代码连 require 不到 20 行)。

    虽然 Ruby 性能相比较其它语言差一点,但是大部分应用代码瓶颈还是 IO,CPU 很少满载,合适的并发执行带来的效率提升是惊人的。

    做爬虫 Python 相关的库更加丰富,但是对于简单的数据爬取,parallel + Nokogiri, 加上 Ruby 语言,简直不能更棒。

  • It's time to talk! at 2016年10月16日

    #10楼 @hww

    话说一年前准备翻译这本书来着,后来搁置了。。。

  • PPT 和 App 都很棒 👍 ,不过我觉得 iOS 版第一个 Tab 顶部的 UISegmentedControl 换个配色,网络加载的 Indicator 提升下样式效果就很好了

  • #21楼 @huacnlee MKWebView -> WKWebView

  • 学驾照有用吗? at 2016年01月16日

    我当时多交的一倍的钱报的 VIP,一对一,不用排队,算下来除了考试实际花的时间也就是两周半,每天三小时。算是用钱换时间。

    学车虽然需要花一些成本,但是多一项这样的技能,就能做一些之前做不了的事情,像自驾游,通勤等。一线大城市公共交通很完善,但是在公共交通不发达的地方,以及一些恶劣天气下,有一个机动工具真的方便很多。

    虽然可以用到的时候再学,但是总体来说越往后付出的机会成本会越大。

  • Rubyists 排名 at 2015年11月29日

    #11楼 @gazeldx 翻译的一本 Objective-C 的 markdown 小书里面有生成 Ruby 的脚本被识别成 Ruby 语言的项目了。。