• RubyChina 应该也需要介绍工具的文章,这类文章第一步就是让读者能快速在本地运行工具,接着在折腾该工具的其他功能。

    我喜欢 rails tutorial 和 railscast 的原因就是它们提供了手把手教程,可以让我很快在本地把功能跑起来。

    PS

    的确可以删除常见命令的输出,比如:rails new demo, rails g scaffold, yarn install

  • 这两句话放到一起会不会好点?看到第一句话时我在想前面什么时候启动了 container,怎么拿到 container id。

    WebSocket 的地址中的 b6bb364f6d06 是 container 的 ID。

    .

    $ docker run --name test -d -it debian

  • 趁午休在本地把 webssh 跑起来了,玩了一下,很酷。

  • activerecord-tidb-adapter released at 2021年08月12日

    官方功能,看私人 repo“感觉” 更加安全了。 在 repo 页面点击 .,就能进入 web 版 vs code。 体验了创建分支、改文件、提交、创建 pr、浏览 pr、评审 pr,十分流畅。更重要的是还支持 vs code 的快捷键!

    彩蛋:在 pr 页面也可以通过点击.进入 vs code 模式,评审大 pr 的时候实在是太方便了

  • activerecord-tidb-adapter released at 2021年08月12日

    现在 GitHub 的正确打开姿势是这个😁https://github.dev/pingcap/activerecord-tidb-adapter(官方)

  • 期待这些话题

    • 2021 年 Ruby 高并发编程指北
    • 如何有效完成 Rails 应用的全方面监控与疑难 BUG 处理
    • SaaS as a Module — Rails 业务组件化开发实践
    • 高可用,高可靠,高级查询的极狐 GitLab 实践
    • How to scale up Ruby on Rails
    • 跨时区 Ruby 远程团队的经验分享
  • 多谢提醒,已改

  • 测试性能优化建议 - 续篇 at 2021年02月18日

    在用 test_adapter 时,默认所有 job 都不会被执行,只会被 enqueue。但是有时候我们期望一个异步 job 可以执行,得到一些副作用。我们可以加一个 inline 功能

    RSpec.configure do |config|
      config.around(:each, :inline_jobs) do |example|
        origin_perform_enqueued_jobs = queue_adapter.perform_enqueued_jobs
        origin_perform_enqueued_at_jobs = queue_adapter.perform_enqueued_at_jobs
        queue_adapter.perform_enqueued_jobs = true
        queue_adapter.perform_enqueued_at_jobs = true
        example.run
      ensure
        queue_adapter.perform_enqueued_jobs = origin_perform_enqueued_jobs
        queue_adapter.perform_enqueued_at_jobs = origin_perform_enqueued_at_jobs
      end
    
      def queue_adapter
        ActiveJob::Base.queue_adapter
      end
    
  • 测试性能优化建议 - 续篇 at 2021年02月18日

    每种 queue_adapter 背后都有一个 queue,而且每个 spec 都在共享同一个 queue。

    test_adapter => 一个实例变量 array
    sidekiq_adapter => redis
    async_adapter => 也是内存中的queue,线程池的线程会不断从queue取job,执行
    

    每跑完一个 spec 应该还要清空每个 adapter 背后的 queue,否则有可能发生这种情况:一个 spec 其实没有 enqueue job,但是 have_been_enqueued 断言还是能通过,因为上一个 spec 也 enqueue 了同一个 job

    ActiveJob::QueueAdapters::TestAdapter 暴露了它的 queue:enqueued_jobs, performed_jobs. 所以我们可以轻易清空 queue

    # spec/support/active_job_helper.rb
    RSpec.configure do |config|
      config.around(:each) do |example|
        example.run
      ensure
        queue_adapter.enqueued_jobs.clear
        queue_adapter.performed_jobs.clear
      end
    
      def queue_adapter
        ActiveJob::Base.queue_adapter
      end
    
    end
    
  • 🚀太流畅了,可惜移动端用不上这个特性

  • 我的黑苹果之路 at 2020年09月07日

    赞👍

  • 想看下 “鳍片上全是灰尘” 的图片

  • 可以讲一下erb 的开发体验已经跟不上这个时代了的原因吗?是哪个 next js 特性让你有这个观点?

    看了 next js 的官网,比较吸引人的特性是零配置、ready for production。我没用过 next js,只用过 ant design pro,ant 也有这 2 个特性。

    我喜欢 React、Vue 的原因跟 4L 一样:

    不用用 JS 修改 DOM,关心 State 即可,框架会根据 State 渲染出对应的 UI UI 框架(ant design 等等)提供了丰富的组件 即使有这 2 个优点,对于网站后台类型的网页(交互相对简单),我觉得还是后端渲染方便些。

  • Draw ERD online at 2020年04月23日

    为啥一张 “表” 只能在一个 “组” 里,不能分配到多个 “组” 么

  • Draw ERD online at 2020年04月23日

    能不能批量把多个表放到一个组中,现在只能在 “表” 的表单中修改它所在的 “组”

  • Draw ERD online at 2020年04月23日

    哈哈,我也是趁 github 挂了,来逛以下 ruby china

  • Draw ERD online at 2020年04月23日

    帮助链接错了

  • Draw ERD online at 2020年04月23日

    赶紧体验以下😁

  • 把 outpost 翻译成 “前哨”、“堡垒”,比 “基地” 好些。

    基地给人的感觉像是整个应用的基础

  • Draw ERD online at 2020年04月12日

    导入所有表之后,建立关联关系步骤有点累😂

  • 楼主应该想要动态定义 API。

    如果在 Rails 启动时,从数据库加载路由,动态生成路由。一旦要定义新的 API,就得重启 Rails。

    比较好的解决办法应该是 2 楼说的。让指定格式的 URL 都让一个 action 处理。在 action 里按照具体 URL 处理逻辑

    # config/routes.rb
    
    get 'gateway/:action', to: 'gateway#do'
    
    # controllers/gateway_controller.rb
    ...
    def do
      case params[:action]
      when A
        process_a
      when B
        process_b
      end
    end
    
  • 之前以为 ruby china 没有 “相关话题” 功能,然后在评论时发现了,就在评论区的最底部。

    有点隐蔽,如果把它放在 “点赞区” 的下面,应该会显眼点😀

  • 讨人厌的后缀表达式 at 2020年03月27日

    用逻辑与&& 替换 if,可读性差了一点点。

  • 从汕头坐高铁到深圳也很方便呀😁

  • 上面 AR 的例子还包含了表和字段命名等隐式约定,不过不符合约定的话,也可以通过选项来配置实际的表名、字段