• Rails 从入门到入门 at January 03, 2024

    建议用 asdf,都 4202 年了,还有人在用 rvm 和 rbenv 吗🐶

  • 人生苦短,改用 asdf

  • YAPI 接口文档编写规范 at October 22, 2023

    空哈希就是空对象,{}

  • ruby-china gem 源的问题 at May 31, 2023

    https://blog.rubygems.org/2023/02/22/dependency-api-deprecation.html 貌似是这个问题导致的。ruby-china 源调用了错误的 API

  • 这些 APP 用到了 h5 技术,APP 每个页面都相当于一个在线的网页或者提前加载到本地借助 APP 本地服务器伺服的网页。网页天生就是热更新的,跟你用 PC 访问是一样的。

  • APP 启动时,本地会运行一个服务器,用做 H5 的服务器。切换页面,或后台启动时会去云端检测服务器是否发布了新的 H5 版本,有新的版本,会静默加载新的 H5 资源包到本地。相当于 APP 就是个套了壳的 Nginx 服务器. 有的对体验没要求的,本地直接不存储 H5 资源包,直接就是个浏览器。

    一切可以用 JavaScript 开发的都会用 JavaScript 开发,Android 开发和 iOS 开发先趟为敬.😂

  • 接口可以进行拼接的吗? at September 08, 2022

    世界是熵增的,restful 过于有序,不能完全满足真实世界,可以考虑函数式路由,这样就可以满足你们前端的需求了。

  • 上述设计有慢查询问题

    在 settings 表加个用户激活账号截止时间 activate_end_at, 然后加个索引,查询时User.join(:setting).where('settings.activate_end_at > ?', Time.now)

    插入 setting 时设置 activate_end_at = user.attend_at + activate_duration.minute

    若业务已上线,可以先加字段批量设值再上业务代码

  • 可以这样写,就是 rubocop 的风格走偏了 (https://rubystyle.guide/#namespace-definition),没有因地制宜. 实际业务编程中,我们根本就不会去定义 Web、Controllers、Home 范围内的常量。

    class Web::Controllers::Home::Index
      include Web::Action
      def call(params)
          print  "开始写代码"
          if  params  
          else   
          end 
       end
    end
    

    同理 Rails 的控制层嵌套也应写成这样,没有任何损失. 因为根本就不会去定义 Api, V1 级别的控制器常量,所以没有任何影响. 目前我就要求自己项目的人这样写,层级越少,越不容易达到每行 80 个字符的限制。

    class Api::V1::UsersController < Api::V1::BaseController
       ......
    end
    
  • 同样都是做类型声明,Python 的方案是在原文件里操作,做类型注解,Ruby 却是新开一个文件。rbs 出来这么久大家都不感兴趣不使用,自然是 rbs 设计本身出了问题。 在过去 20 年,日本一直在点错科技树,rbs 不外乎也是日本人又一个"杰作"罢了。

  • 可以 grep 一下看下是哪个文件存在问题:

    bundle show rails
    grep -rn "ruby\.exe" /Users/rocky/.rvm/gems/ruby-2.5.5/gems # 路径替换为上面bundle查看的路径
    grep -rn "ruby\.exe" .
    
  • Ruby 值得一学 at May 27, 2021

    API 开发

  • Ruby 值得一学 at May 27, 2021

    ruby, go, python 都在用

  • Ruby 值得一学 at May 26, 2021

    go 语言。我们公司某个新项目用 go 语言开发,相关人员花半个月就上手了,开发效率是可以的。代码提示,fmt 都是开发利器

  • Ruby 值得一学 at May 25, 2021

    amber 这个框架维护太慢了,Crystal 三月份发布 1.0.0,2000 多星星的框架到现在还没支持 1.0.0。kemal 也是不勤励维护的状态。lucky 到现在 issue 还一大把。整一个 Crystal 都被 Ruby 的概念绑架了,难以突破和超越。看不到未来。

  • Ruby 值得一学 at May 25, 2021

    不怎样,已弃坑

  • Ruby 值得一学 at May 25, 2021

    开发效率 Go 只是比 Ruby 慢一点,还要考虑后续的维护成本。楼主先学的 Go 后学的 Ruby, 产生的认知错觉,技术达到一定高度 Go 的开发效率并不慢。另外,Ruby on Rails 一时爽,换人维护真心就是火葬场。空指针异常、风格不统一、解决问题的选择过多、国内生态差 (很多 SDK 都没 Ruby 版本)、非静态编译导致重构困难、微服务生态下毫无作为,这些都是你要面对的。

  • 建议大家不要模仿。普通业务中是真的用不到元编程。楼主这样改,真就从一坨还可以维护的代码往米田共方向奔跑。

  • Rails 因為 mimemagic 炸了 at March 26, 2021

    https://github.com/rails/rails/issues/41750

    不得不说,楼主这个 issue 链接里面的评论质量是真的高。

    观点一:如果可以由 rubygems 出面解决问题,大家用 docker 的就不用更新版本号了。

    观点二:百万美元错误。

    (管理员) 观点三:以上观点毫无价值,封评处理。 😀

    管理员停止评论的行为是真的不厚道。

  • Rails 因為 mimemagic 炸了 at March 26, 2021

    另外 rubygems 应该限制已经发布了的版本不能作者删除。明明东西都是从 rubygems 下载的,作者说删就删。😀

  • Rails 因為 mimemagic 炸了 at March 26, 2021

    这就不得不吐槽下 rails 了,微服务项目中完全没有用到 activestorage, 硬是有这个依赖,这个依赖还依赖别人 gem. 😀 貌似 activestorage 是 5.1 还是 5.2 之后才有的

  • Rails 因為 mimemagic 炸了 at March 26, 2021

    昨天刚升级到 0.3.6, 今天又要升级,对这个作者芜话可说了 😀

  • Rails 因為 mimemagic 炸了 at March 25, 2021

    给我个感觉 Ruby 社区好多团队还没用上 docker 部署。不知道是人气不行,还是生产工具普遍落后。🤐

  • Rails 因為 mimemagic 炸了 at March 25, 2021

    建议管理员临时置顶该帖 @huacnlee

  • Crystal 1.0.0 Released! at March 25, 2021

    不清楚哦,fiber 还没用到过

  • Rails 因為 mimemagic 炸了 at March 25, 2021

    是 mimemagic 作者移除了旧版本,他现在只保留了 0.3.6 和 0.4.0,所有用 0.3.0 版本的可能都要更新下

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

    为什么测试里面不应该用 Sidekiq?

    测试也应判断异步任务是否被调用了。

    sidekiq 的 wiki 里有一页就是专门说如何做测试的。直接根据 wiki 操作就好了,也不用真正意义上执行任务,只是判断任务是否入队列即可。 https://github.com/mperham/sidekiq/wiki/Testing

  • 没有更简洁的写法,不是代码越短就越好的,要简单易懂。 &就是个语法糖,如果语法不适用这个语法糖就别强求

  • vscode 的插件 Tabnine, 人工智能的提示