• 接口的功能粒度 at 2016年02月03日

    这 books 和 details 是 one <-> one 的关系吧? 有必要拆开吗? 合并 books 和 book_details 为一个表是否更简洁一些? 如果可以合并, 就无需考虑此类问题了.

  • 应该边工作边学吗? at 2016年02月02日

    哪有'纯'后端的程序员. 前端总是要会的, 不用成为专家, 全面了解还是要的. 我个人觉得翻书虽然好, 但其实效率却是最低的. 因为没有实际应用, 就不知其所以然, 也容易顾此忘彼. 最好是上几个比较大的项目, 独立完成. 借此学习和完善技能链.

  • 所谓 java 写的玩意就够'工业', 就少错误, 本身就是伪前提. 没什么现实来支撑这个论点. 国内 java 写的那些比 facebook 还是 twitter 稳定? 我看未必. 国外大牛写的 java 比其他语言写的更稳定更容错? 也未必. 所谓稳定是建立在老东西往往可靠的错觉上吧.

  • 偏见源于不了解, ruby 在国内属于小众语言 (http://www.oschina.net/question/58387_246846) 个人觉得偏见也源于人对于自我认同感的一种自卫行为. 所以才有各种鄙视链. 我觉得这种行为普遍存在, 和是否科班出身好像并没有绝对因果联系. 当然这是猜测, 楼主得出调查结论后不妨分享下.

  • rails link_to 问题 at 2016年01月24日

    如果是遵守约定的话, 动作同名的 view 自然会被渲染, 不用手动 render. edit: 如果你要在一个动作里面渲染各种 view, 我感觉好像有点 bad code smell. 还是检查下设计比较好.

  • 如何返回不同表单 at 2016年01月24日

    作为两个模型分开来, 不要夹杂在一起.

  • rails link_to 问题 at 2016年01月24日

    不是这样的, 比如 category has many books , 那么可以使用 category_book_path

    你这种情况是不会生成 check_user_path 这种路由的. 如果只是为了避免这个错误, 你可以 get /users/:id/check , to: 'users#check', as: :check_user.

  • 没看完, 记得翻译还算是不错吧. 自从看了 <>后, 对于翻译质量的期待阀值大大降低了.

  • 关于 gets 方法的使用 at 2016年01月23日

    undefined method "length\n" 不是已经说明一切了? 没有 length\n 这个方法 , length\n 和 length 能是一回事吗? gets 返回的带一个\ n.

  • 反爬总的来说算是伤敌一千自损八百的行为. 除了用户体验, 还有 seo 方面得考虑进去. 个人有以下几个考虑:

    1. 为了 seo 方面的考量, 尽量避免 javascript.
    2. 随机变动 html 结构, 通过随机增加空 tag, 变动上下顺序等办法, 让节点路径查找不便.
    3. 跟踪用户访问资源的频率和数量, 可疑行为加上验证码.
  • 文件名一律小写. 文件名混杂大小写属于自找麻烦. 工具写个命令即可: find . -name '星号 [A-Z] 星号'

  • Effective Ruby 出中文版了 at 2016年01月21日

    amazon 已入, ruby 的书还是太少.

  • 把你的代码扔到 mygem/lib/mygem.rb. 改下 mygem.gemspec 的 todo rake build 安装 pkg 目录的 mygem-*.gem require 'mygem'

    就可以调用了.

    如果是问如何添加方法, 你的示例不就已经给 String 添加了 my_revese 方法吗?

  • 关于 Gem 的几个问题 at 2016年01月19日

    devise 的修改和定制到底有什么复杂的? 你不妨具体指出来, 到底添加或者修改什么功能你觉得麻烦? 如果需要看文档写扩展就觉得麻烦, 那还有什么更'简单'的方式可以做到?

  • 好处不是一套现成的 restful 路由吗? 操作多个 model 的情况, 在排除设计上的问题后, 我个人的选择是把逻辑抽出来做成 service object. 这个论坛里很多高手已经有很详细的介绍.

  • 解决 stack level too deep 问题 at 2016年01月10日

    object 的 send 本身的实现就只接受 symbol 和字符串. 这个看看文档即可. 追究为何如此, 好像倒有点钻牛角尖了. 当然你不妨看 send 的源码. 至于说为何是 undefined 错误, 我觉得是上下文的关系, obj.send(my_method, 6) 中的 my_method, 是 main 中的 my_method, 而你并未定义.(你的 my_method 是 MyClass 中的, 外部不可见). 你如果 obj.send( obj.my_method, 6) 自然就可以找到了, 然而并没有什么用. send 只接受 symbol 和字符串.

  • /Users/killernova/.rvm/gems/ruby-2.2.0/gems/nokogiri-1.6.7.1/ext/nokogiri/tmp/x86_64-apple-darwin15/ports/libxml2/2.9.2/configure.log

    这个 log 你应该看看. 看第一条觉得应该是 libxml2 编译出的问题. brew install libxml2 以后再试? 我还是觉得 brew + rbenv + ruby-build 实在省心.

  • 我想从另一个方面说说, 虽然各行业领域都需不断学习攀登, 却也未见如程序员这一行, 技能淘汰的如此之快, 新技术又如潮水般一波波袭来. 学习, 对于天性好奇又好学的程序员, 也仿佛渐渐地成了种压力. 我觉得刻苦一词是对一段经历的总结和评价, 不该是一个方向和目的. 因为以刻苦作为方向和目的, 对于凡体肉胎的人类来说, 实在是很难做到的. 论坛里的各位, 当年写下第一个 basic 程序,艳惊四座的时候, 我想当时并没有觉得有多刻苦, 尽管你已坐在那台 386 前已足足好几个小时. 对于周而复始一波波袭来的浪潮, 只有一种人是毫不恐惧和绝望的, 那就是冲浪者. 不忘初衷, 保护那宝贵的兴趣, 我觉得实在很重要. 比刻苦更重要.

  • 可以查询到记录, 因为 mysql 里面将 boolean 存为 tinyint 1 或 0 了. where 所构建的查询自然可以查到. 下面的 enabled 之所以有问题, 是 activerecord 将数据取出, 并解释为 boolean, 此时, 意义就不是一回事了. 总之, 建议直接跟 orm 打交道. next if a.enabled? 不是更好的多?

  • 放在内部和外部逻辑上当然是不一样的. 就如数东西, 自然是 1,2,3,4,5 , 而不是 1+2+3+4+5. 你这个 153, 就是 1+2+3...的结果吧. 我觉得就算是零时变量, 也最好避免 l 和 o.

  • 失望往往是期望过高, 你诺不视己为狗, 又何来兔死狗烹之哀呢?

  • 全新的站内搜索上线 at 2016年01月06日

    请教下为什么不使用 sphinx solr 之类的全文搜索引擎呢? 有技术上的考虑吗?

  • 关于 Nginx 的跳转配置 at 2016年01月06日

    好处当然是避免同页面多版本的问题. seo 当中需要解决的一个问题就是重复页面. 利于 link juice 的归聚, 避免无意义的分散. 具体可以系统参考下 seo 方面的内容.

  • 关于 Nginx 的跳转配置 at 2016年01月06日

    www 和 无 www 是完全两个不同的地址. 跳不跳转首先考虑你是否将这两个地址作为两个站点来处理. 如果你希望 www 和非 www 都访问同一个站点. 那么从 seo 上面考虑, 是必须跳转的, 你不做跳转, 会导致多个版本的同一页面. https://abc.com http://abc.com https://www.abc.com http://www.abc.com 全部跳转到一个版本上.