Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
IvanHuang
@hjiangwen
Member
NO. 30632 / 2017-03-02

[email protected]
9 Topics / 65 Replies
8 Followers
32 Following
23 Favorites
GitHub Public Repos
More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 计算阻塞 IO web server 的最大吞吐量 at June 25, 2021

    多谢提醒,已改

  • 测试性能优化建议 - 续篇 at February 18, 2021

    在用 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 February 18, 2021

    每种 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
    
  • Turbolinks 引入 prefetch 让你的网站速度起飞 at October 14, 2020

    🚀太流畅了,可惜移动端用不上这个特性

  • 我的黑苹果之路 at September 07, 2020

    赞👍

  • 拯救老婆 —— MacBook Pro 维修计划 at August 16, 2020

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

  • Homeland React 前端的性能/体验 at April 27, 2020

    可以讲一下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 April 23, 2020

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

  • Draw ERD online at April 23, 2020

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

  • Draw ERD online at April 23, 2020

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

  • Draw ERD online at April 23, 2020

    帮助链接错了

  • Draw ERD online at April 23, 2020

    赶紧体验以下😁

  • DHH 最新博客——“雄伟巨石”可以成为“城堡” at April 14, 2020

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

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

  • Draw ERD online at April 12, 2020

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

  • 如何在 Rails 启动的时候从数据库中加载路由和 Ruby 代码呢? at April 05, 2020

    楼主应该想要动态定义 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
    
  • 开发利器,预设变量到 Python 控制台 at March 29, 2020

    之前以为 ruby china 没有“相关话题”功能,然后在评论时发现了,就在评论区的最底部。

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

  • 讨人厌的后缀表达式 at March 27, 2020

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

  • [深圳][已结束] 2019-12-07 Ruby 技术活动 at November 24, 2019

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

  • 编程语言表达能力高带来的好处 at September 22, 2019

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

  • 关于 logrotate日志切割多线程 Rails 程序时出现的日志记录消失问题,求教 at June 19, 2019

    为啥不想重启 puma?

  • 关于 logrotate日志切割多线程 Rails 程序时出现的日志记录消失问题,求教 at June 17, 2019

    加了这个选项后还要重启 puma,因为 puma 进程还处于找不到 production.log 的状态

  • 一个人耗时 2 年,收集 3800 多万数据,创建了这个网站,看看对大家的国际化项目有没有帮助。 at May 13, 2019

    对变量命名挺有帮助,刚刚用中文搜了下"瓜分奖励"、"晒单",都有不错的翻译

  • Linux 命令行中如何为进程名创建一个 Tag,方便管理 at March 29, 2019

    上面的方法是在 ruby 进程中修改进程名,楼主想要在命令行更改的话,得传些值进去进程吧

  • Linux 命令行中如何为进程名创建一个 Tag,方便管理 at March 29, 2019

    Google 搜 ruby change process name,前几条链接就有答案:https://stackoverflow.com/a/451670/6680386

    $0 = 'ruby [test-api]'
    

  • Rails 如何利用 Stomp 订阅 Apache ActiveMQ 的 Message at March 22, 2019

    @ 文件 bin/stomp.rb 如下:

    #!/usr/bin/env ruby
    
    # 加载 Rails 环境
    require_relative '../config/environment'
    Daemons.run()
    
    # 增加执行权限
    $ chmod u+x bin/stomp.rb
    # 后台运行
    $ bin/stomp start
    
  • Rails 如何利用 Stomp 订阅 Apache ActiveMQ 的 Message at March 22, 2019

    我们项目把订阅消息这部分逻辑放到 bin 目录下,部署时运行这个文件,启动进程。

    用 Daemons 这个 Gem 将脚本包装成守护进程。

  • 还有多少同学在做 Ruby 相关工作? at March 16, 2019

    3

  • Learn Rails 5 by Reading Source Code at March 14, 2019

    RubyChina 精品贴越来越多啦 😂

  • [译] 提高编程能力的秘诀 at February 01, 2019

    楼主英文水平有限,如有错误请大家指正 😀

  • 通过 URL 来查数据? at July 08, 2018

    楼主应该是想动态添加查询条件,ransack 满足这个需求

  • Prev
  • 1
  • 2
  • 3
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English