• erb 中怎么用三元运算符? at 2016年10月03日

    难道错了?

  • Angular JS 2 正式发布了 at 2016年09月19日

    #2 楼 @moliliang 我自己没有用这些框架的需求,所以加了个问号。我看现在讨论得最多的是 React,然后 Vue 也在崛起?之前用过 Angular 1。没深入使用过 Angular 2,听说就像学一款新的框架?不知道比起 React 或者 Vue 有何革新之处?

  • 突然发现“全站”这个翻译比”全栈“好。 Stack 本身是一堆东西,所以老外看了 Full Stack 多少能猜到是啥都会的意思。 Stack -> "堆栈"或者“栈”这个翻译就意义不明了,旁人看了都不知道“全栈”这个程序员自己造的词是什么意思。 建议大家推翻旧世代低质量翻译“全栈程序员”,启用新翻译“全站程序员”,通俗易懂

  • Angular JS 2 正式发布了 at 2016年09月15日

    早就已经不是 Angular 的天下了?

  • Startcom 证书已经不靠谱 at 2016年09月06日

    我现在都是用 Let's Encrypt https://certbot.eff.org/

  • 能不能开个淘宝店卖帐号或者积分卡?兑换成网站的积分之后用积分来支付?

  • 能不能用这个来检查?

    if (Turbolinks.supported) {
      // ...
    }
    

    https://github.com/turbolinks/turbolinks#turbolinkssupported

  • 代码量还是 ruby 少点?

    → cloc lib                           ~/Downloads/kata-poker-hands-elixir-master
          17 text files.
          17 unique files.                              
           0 files ignored.
    
    github.com/AlDanial/cloc v 1.70  T=0.09 s (188.3 files/s, 7774.9 lines/s)
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    Elixir                          17            121             29            552
    -------------------------------------------------------------------------------
    SUM:                            17            121             29            552
    -------------------------------------------------------------------------------
    →                                    ~/Downloads/kata-poker-hands-elixir-master
    
    → cloc lib                             ~/Downloads/kata-poker-hands-ruby-master
          16 text files.
          16 unique files.                              
           0 files ignored.
    
    github.com/AlDanial/cloc v 1.70  T=0.08 s (208.5 files/s, 4912.7 lines/s)
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    Ruby                            16             54             16            307
    -------------------------------------------------------------------------------
    SUM:                            16             54             16            307
    -------------------------------------------------------------------------------
    →                                      ~/Downloads/kata-poker-hands-ruby-master
    
  • raise + better_errors

  • gem "passenger", ">= 5.0.25", require: "phusion_passenger/rack_handler"
    

    改成这样试试

    gem "passenger", ">= 5.0.25"
    
  • 有 Rails 类似框架吗?

  • 从 ROR 转 Node 如何开始? at 2016年08月04日

    #27 楼 @small_fish__ 请问 crystal 做 web 开发用什么框架?我找了一下没找到😅

  • 从 ROR 转 Node 如何开始? at 2016年08月03日

    Update 2016-8-12

    我换回 Rails 了,这个客户做完就不用 Phoenix 了。还是太繁琐,太罗嗦,比如要把 conn 和 current_user 在 templates 里到处传,比如很多 Rails 帮你打点好的地方都需要自己花时间去打点。有这时间我还不如拿来给 Rails 多加几个 Server。再说了假设 Phoenix 的返回速度是 1ms,Rails 是 200ms,我也不想为了这 199ms 去给我自己增加那么多工作量。Ruby-China 现在打开需要 1.6s 的时间,换成 Phoenix 也许就能在 1.58s 内打开,速度提升了 1.25%!

    ---

    最后我学了学 Phoenix,成功用微秒级的速度说服客户从 NodeJS 转 Elixir/Phoenix。开发效率上也只是略逊色于 Rails。Learning curve 也很平缓。

    但是 Phoenix 和 Rails 比起来还是很残缺不全,而且 Phoenix 作者好像也有点简陋主义的倾向,但凡能多写两行弄出来的就不给加个 helper。所以我还是更喜欢 Ruby/Rails 的理念。而且 Phoenix 也有 one-man-project 的倾向。

    不过 Phoenix 速度还是要比 Rails 快很多,这一点也让我放不下,所以现在还是更倾向于 Phoenix。我感觉 Rails 现在最大的缺陷就是 Ruby 造成的速度问题。哪怕 Ruby 作者 3x3 的口号我觉得也没什么吸引人的,因为按照 Phoenix 作者的说法(https://github.com/mroth/phoenix-showdown),Elixir/Phoenix已经是Rails的10多倍了。

    所以我期望中最完美的结合是 Rails 原班人马放弃 Ruby 转投 Elixir。搞个 Elixir on Rails 的大新闻出来。

    抱怨了这么多主要是那一周被 NodeJS 折磨了没地发泄,sorry

    最后给你们看我 prod 环境的 log,注意其中的µs

    01:09:56.277 request_id=53nbaccbfib3ugpcg31ajcrlr1b13b4u [info] GET /                           [39/78]
    01:09:56.373 request_id=53nbaccbfib3ugpcg31ajcrlr1b13b4u [info] Sent 200 in 96ms
    01:15:13.716 request_id=8bhv93vm58b5donvvk98g548a6g9bckb [info] GET /
    01:15:13.716 request_id=8bhv93vm58b5donvvk98g548a6g9bckb [info] Sent 200 in 282µs
    01:15:45.240 request_id=tt5j6vhqsu2so2sh529qfam7di7ovj0u [info] GET /
    01:15:45.241 request_id=tt5j6vhqsu2so2sh529qfam7di7ovj0u [info] Sent 200 in 313µs
    01:16:47.404 request_id=2uv48orqkrqol62kuqst7me38r8e09vh [info] GET /
    01:16:47.404 request_id=2uv48orqkrqol62kuqst7me38r8e09vh [info] Sent 200 in 218µs
    01:17:29.837 request_id=pr2k21emb5l3hhlesc25f5i3tg45qsuv [info] GET /
    01:17:29.837 request_id=pr2k21emb5l3hhlesc25f5i3tg45qsuv [info] Sent 200 in 178µs
    01:50:20.497 request_id=3un89oqbhgjmhaiv2gnvp19m58ssddn6 [info] GET /
    01:50:20.498 request_id=3un89oqbhgjmhaiv2gnvp19m58ssddn6 [info] Sent 200 in 191µs
    02:09:52.167 request_id=1mqbkdt4ofrla3ioaa8e6l85u4umib9g [info] GET /
    02:09:52.167 request_id=1mqbkdt4ofrla3ioaa8e6l85u4umib9g [info] Sent 200 in 190µs
    06:50:40.028 request_id=3dn8vr2q3mubcga4usa4gbjq6lrr09tr [info] GET /
    06:50:40.028 request_id=3dn8vr2q3mubcga4usa4gbjq6lrr09tr [info] Sent 200 in 305µs
    07:24:49.306 request_id=tmrml479vagr43t4fep06mmu78tv8174 [info] GET /
    07:24:49.306 request_id=tmrml479vagr43t4fep06mmu78tv8174 [info] Sent 200 in 208µs
    13:56:16.896 request_id=qa161n1btahoakkmlh2ncspl2mpptio8 [info] GET /
    13:56:16.896 request_id=qa161n1btahoakkmlh2ncspl2mpptio8 [info] Sent 200 in 201µs
    
  • 从 ROR 转 Node 如何开始? at 2016年08月03日

    我来告诉你为什么 NodeJS 发展得快: ExpressJS 跟 Sinatra/Flask 特别像,就是大家一看就懂,“嗯这个东西好,一看就会,我明天就拿它做个高并发的网站出来。“ 相反 Rails 的东西不会的人一看就会害怕,“啊这就是所谓的语法糖/魔法,果然凡人看不懂,没个一年半载怕是入不了门,我还是回去用 NodeJS 好了,高并发,也不用再学一门新语言"。

    “统一前后台语言”从一开始就是一句 NodeJS 的广告词而已,NodeJS 和前端代码(如果你真的需要所谓前端代码的话)除了 Javascript 是一样的以外没有什么可以借鉴的,ReactJS 不能放到 Server 上,ExpressJS 也不能跑在浏览器里,还不是要学两套东西。再说现在学一门语言能有多难?那些一心想着”用现有的知识 (Javascript) 能做出来就最好了“的人不过是不思进取的懒人。

    最近客户要开一个新项目,死活不再用 Rails 了,他觉得 Rails 慢(其实是 Angular 慢,他要是把 Rails 升上去,再让我加个 Turbolinks,我能给他弄得比现在的 Angular 代码快得多)。就让我用 NodeJS 的 Express,他听说 NodeJS 快得不得了。我花了一周时间连个登录都没做好。光是把环境配置得跟 Rails 类似就花了两天时间。剩下的时间就都用来配置环境和修一些信息不明的错误。

    什么都要自己搞,Express 4 追求 unopinionated,追求 minimalist,把 session,flash 之类的都从 core 里去掉了,我又得一个一个去装回来。没有 ORM,又得装个 Mongoose。assets 不打包,要不就扔网页里,要不就配置 Webpack 之类的来打包。经常默默 Crash 不给任何错误信息,只能用 comment/console.log 来调试。

    过度追求精简的我觉得是一种洁癖。什么都去掉了,到了用的时候又要让人自己装回来,自找麻烦。直接把优秀的人的多年经验拿来用不比外行乱精简更好?

    NodeJS 刚面世的时候我就用了一下,给我的感觉就是一片混乱,什么都要自己去挑选组装,我那时还是个新手,连 jQuery 都不会,每天都在担心昨天作出的选择是不是一个好的选择。这次重新接触 NodeJS 之后发现还是一片混乱,还是一大堆琐碎的选择。ExpressJS 已经被原作者抛弃(因为他不靠它吃饭),被另一个人接手现在成了孤单的 one-man-project,很久都不更新一次(https://github.com/expressjs/express/commits/master)。ExpressJS 的作者现在去搞了个叫 Koa 的框架。而且以代码简短为荣(Koa's small ~550 SLOC codebase),以选项众多为荣(https://github.com/koajs/koa/wiki)。所以 NodeJS 在 Web 领域继续朝着 Configuration over Convention 的路子在走。

    然后作为一个新手很重要的是文档,我反正是没看懂http://koajs.com/ 的文档。相反 Rails 的文档只要你认真读,能回答很多你学习过程中的疑惑。

    我们顺便来看看 Koa 能干什么

    Koa is a new web framework designed by the team behind Express,

    the team abandoned Express

    which aims to be a smaller,

    less feature, more choice to make

    ditch callbacks and greatly increase error-handling

    这两个不是你自己制造的问题吗?

    . Koa does not bundle any middleware within core

    所以你要去找一大堆的 middleware 来完成最基本的 session,flash,etc.

    unopinionated(无主见), minimalist(简陋者),这些词背后都意味着当你想做的东西不简陋的时候,你就得自己去研究总结很多 opinion。

    CoffeeScript 是明日黄花,直接用 ES6 + Babel 吧。

    对于我这样右手有 RSI 的人来说能少打一堆没用的括号就会尽量少打。花括号圆括号全都要按着 Shift,累。

    Node 有一个巨大的优势就是内建了 nonblockIO+Ractor 对于 web 这种重 IO 操作的应用来说更加的方便。我想这两点是我想转 Node 的原因。

    你再怎么 nonblocking IO,也要等数据库返回数据之后再发送内容,还要去解决异步的问题(参考 Koa 的文宣),所以虽然并发会更高,但是代码只会更繁琐,不会更方便。

  • 0 基础部署从何学起? at 2016年08月03日
  • test

  • 何不先转到 Sublime Text 再转到 Atom?Sublime Text 比 Atom 快,比 Atom 稳定,也没有无法跳到定义的问题

  • #9 楼 @defmacro Rails 把什么知识隐藏起来了?

  • #1 楼 @luikore 为什么比 jbuilder 好多了?

  • 安装是不是需要美国帐号?没有美国银行卡能注册吗?

  • Ruby 2.4.0-preview1 发布啦 at 2016年06月22日
  • 好用吗?和 React Native 比呢?大家怎么念它名字?我念成“下面”

  • 可惜不叫 shanghua

  • Ruby 发展简史 at 2015年12月23日

    用了一下 RubyMine 体验版,效率上并没有感觉到太大的提升,Features里也没有任何出彩的地方。一些熟悉的快捷键没有了还导致编辑速度下降,比如 Cmd+ 数字来切换文件,Cmd+D 来选择相同的内容。每年 400 多显得很贵,RubyMine 熟手能指教一下它的优点吗?

  • 也许可以学 Swift 了。。https://news.ycombinator.com/item?id=10669891

  • Ruby 2.3.0-preview1 来了 at 2015年11月12日

    heroku 必须用 2.2.3,有什么办法能指定 development 和 test 用 2.3.0-preview1,production 用 2.2.3?

    经过反复试验之后,解决办法是在 Gemfile 里

    #ruby=2.3.0-preview1
    ruby ENV['CUSTOM_RUBY_VERSION'] || '2.3.0'
    

    然后

    heroku config:set CUSTOM_RUBY_VERSION=2.2.3