• Rails 的话 ActiveSupport 里提供了一个快速反序列化 XML 到 Hash 的方法,没记错是 Hash.from_xml 可以查查文档

  • 有机会参加下当地的 Ruby 社区聚会,当面交流实地看看老手的做法。 另外 Rails 不仅是定制性强,之前因为给 iOS 客户端上实现 自定义 URL 跳转,研究过市面上各语言流行 Web 框架的路由匹配实现,Rails 的思路不仅新颖,而且高效,没有看到其他框架能达到这个高度的。

  • #19 楼 @miserytan 最好的方案是虚拟机里装 Linux 开发了,Vagrant 也是麻烦。 目前升级到 Win 10 AU 通过 WSL 也可以拿到一个相当不错的接近原生 Linux 的开发环境。 如果纯 Win 环境,若部署在 Linux 下的话,可能会遇到意料外的情况(主要是 Gem 的问题)。

    IDE 的话,Aptana 和 RadRails 最好别用了,死而不僵的东西,用 Atom、VS Code 这些编辑器就可以替代了。 目前唯一能愉快使用和功能正常的只有 RubyMine。

  • #24 楼 @fcicq WSL 日渐成熟了呀,M$的官方演示就是 Ruby/Sinatra,此外,Ruby在win平台也有一些应用的。 虽然并不推荐,但是太多新人入手 Ruby/Rails 开发从 Win 开始了,引导还是不要太粗暴了。

  • Aptana 和 RadRails 已经半死不活了...能换 RubyMine 也会好很多

  • 从 CMD 启动 rails s 就绕开这问题了吧...

  • 选择 Oauth Gem 遇到的问题 at 2016年08月23日

    顺带提一句... 如果有精力更新 Doorkeeper 的话,我想把那堆混乱的业务逻辑整理成 ServiceObject,模型整理成 Repository 模式。Doorkeeper 的测试的代码腐化的不行了。。。这个才是打击我热情的最大阻力。。

  • 选择 Oauth Gem 遇到的问题 at 2016年08月23日

    #3 楼 @betterthornbird 可以,因为 Doorkeeper 的业务逻辑是和控制器分离的,你直接定制控制器和里面的 action 就可以了,扩展你需要的功能,屏蔽你不希望包含的。业务逻辑部分可以复用的就拿过来复用,不用就扔着就可以了。

    或者还有个方案是参考下这个文章(不确定你是否有读过):https://blog.yorkxin.org/2013/10/08/oauth2-ruby-and-rails-integration-review

  • 选择 Oauth Gem 遇到的问题 at 2016年08月23日

    我曾是 doorkeeper 的活跃提交者。doorkeeper 的代码质量是历史原因了,毕竟好几年的项目,模型和控制器部分我已经重构过了,业务逻辑部分因为工作重心转到其他领域,没有精力维护(之前我给主要的维护者讲过其他部分的重构思路,但是他总是忽略掉...感觉主要维护者 tute 的工作重心也不在这,所以没有意愿解决结构问题,自己提交的代码很少)

    不过还是建议使用 doorkeeper,实现协议是个体力活,而且 doorkeeper 其实是有大量团队不乏上市企业在使用的,所以虽然代码质量有一些糟糕,但是综合来看还是久经考验的。

    另外,在我看来,如果让我在 doorkeeper 的基础上实现类似微博开放平台那样的效果,并不难,毕竟是 Ruby 自身的优势。。。难度不会高于定制 Devise。

    PS. 如果真的要造个轮子,不妨来重构 Doorkeeper 吧!

  • 组合拳啊。。。 log pry better_error

  • 对应代码只在特定 action 执行也很容易,可以在 html 标签上加 class 属性,里面添加好 action 和 controller 信息,然后嘛... jquery 呀

  • #7 楼 @lilijreey https://github.com/jasl/a_rails_start_up_omakase/blob/master/app/helpers/application_helper.rb#L94-L98 类似这样的写法就可以了,几年前写的,应该还可以用 需要有定制 assets 的页面在 view 里调一下这 helper

  • 更新完了所有主题,撒花

  • Ruby 的声誉 at 2016年08月18日

    主要还是 Ruby 社区的 Gem 的维护程度高,流行的 Gem 功能满足大多数场景而且也容易定制(这个真的是 Ruby 自身的优点)... (PS. 说 Gemfile 长的难道我们不应该聊聊 NPM 吗。。。

    最近在写 Android 就很感慨,绝大多数开源组件(几乎所有的 UI 组件),都是没办法直接引用的,一方面 Jaba 的扩展性极差,另一方面,即使是知名的库,疏于维护也是挺普遍的现象。

    再说了,工作毕竟是养家糊口,哪能每个需求都跟做游戏一样...宏观来看一定还是体力活多的...没乐趣也凑合凑合做出来(满足需求、Bug 性能在合理范围)很正常嘛...

    所以我认为 Gemfile 长长一串、无脑直接引用真的是好事呀,Gem 能够开箱即用 0 配置本身就说明这个 Gem 贴合业务,伸缩性强了(而且就我过去维护的一些 Gem 来讲,本来就是以这点为目标)。至于说了解 Gem 本身,我觉得可以从两点来讲:1.这个是个人学习欲望的问题 2.不需要了解他的内部细节就已经可以足够满足需要了

  • Ruby China 能用 MySQL 吗? at 2016年08月18日

    #9 楼 @hww 这个方案应该做不到,RBCN 用 Array 应该是处于偷懒而不重构用户关系、帖子喜欢收藏状态,这些是要用来查询的,序列化后就没办法用于查询啦

  • bundle 应该默认有 cache 的,所以如果没有改动的话,不应该耗费大量时间在这上面

  • sendcloud_rails at 2016年08月01日

    #15 楼 @towonzhou 高级会员是 ID 号在 1024 之内的,要不就是多少之前的。。。忘了

  • sendcloud_rails at 2016年08月01日
  • sendcloud_rails at 2016年07月31日

    #9 楼 @towonzhou 我来解释下我这边的场景吧:

    • 我们分成触发式邮件和 EDM 两种,触发式邮件就是找回密码、激活信息、私信之类,EDM 周报一些推广邮件,SendCloud 要求 API_USER 必须是其中之一,所以要根据发送邮件的性质使用不同的 API_USER 的账号
    • 因为量大,我们有 4 个 IP,在发送的时候我们尽量均匀的使用这些 IP
    • 使用 Mailgun 发送 Gmail 等个别邮箱(后来改用海外通道了)
    • 要为使用 SendCloud 发送的邮件添加 DKIM 信息
  • #15 楼 @pinewong 要年度更新才有,就是下周,原理和使用介绍参见 https://blogs.msdn.microsoft.com/wsl/ 有公开的 issue tracker 在 github 上 https://github.com/Microsoft/BashOnWindows

  • #9 楼 @cqcn1991 省事还是 Mac,其实 Win 影响开发体验有个很重要的东西是没有太好用的 终端模拟器 即使 conEmu 这些也跟 iTerm2 有一些差距呢。

    不过 Win 本确实有很多超越 Mac 设计的了,比如 Dell 新 XPS,HP 也有个超薄本,还有 Thinkpad 啊啥的 (个人超喜欢 Dell Precision 工作站~

  • 下周 Win 10 年度更新发布会带来 Windows Linux Subsystems,是完全原生的 Linux 支持,比 OS X 的 POSIX 环境原生不知道哪去了,所以不需要 Vagrant、Docker 或是其他虚拟环境,当初微软在 Build 大会上演示的时候就是拿 Ruby+Sinatra 做例子哦~ 如果还是需要逻辑隔离,年度更新开始 Windows 内核原生支持容器化。

  • 大家谨慎使用 DaoVoice 吧 at 2016年07月29日

    之前遇到百度统计的问题,发工单求助,结果工单从未得到响应,但每周都会多一两条百度的各种服务的推广邮件....

  • sendcloud_rails at 2016年07月29日

    #5 楼 @towonzhou 用 SMTP 有个好处,如果你需要做邮件发送的路由的时候(就是 mailer 内做白名单,根据不同邮箱域名使用不同的邮件发送服务来发送),只需要在 mailer interceptor 修改 SMTP 的相关字段即可(类似字典),动态设置 deliver_method 好像不太容易达成这点,尤其是使用独立 IP 的话会建议设置 DKIM 签名,这个使用不同家服务证书会不同。

    不过 SendCloud 现在有海外通道了,完全只用 SendCloud 也不是没问题,之前有人提过在网页后台设置域名白名单限制在十条,这个是不太够的,最后还是要扔到程序里来解决。

  • #28 楼 @chareice 敢!更新啦

  • sendcloud_rails at 2016年07月27日

    如果不用 Gem 的话 直接 SMTP 方式就可以了嘛 而且 SendCloud 发送 Gmail 之类个别海外邮件送达率有问题,需要结合一下 Mailgun 之类的服务

  • 不太熟悉 XLSX 格式啊。。。 为什么不直接导出成 CSV 呢?Excel 是可以打开的

  • #21 楼 @adamshen 其实我有和 @rei 做过一段时间同事,但不在一个组,所以只能远远膜拜啦

  • #6 楼 @easonlovewan 这种风格写起来不太方便连接后续的语句,所以用的很少,而且楼上也有人提了 Ruby 也有 sprintf,两者效果是等价的 这种格式化字符串的好处是类似显示价格要取两位小数啊,很方便 "%.2f" 即可

  • #3 楼 @lissdy 这个语法 Python 是有的 这种风格,应该来自 C 的,sprintf printf scanf 等等嘛,Java 没有这种语法 但是 String.format 效果是一样的