sidekiq 的参数是转成 JSON 存储在 redis 中的,json 标准里没有 symbol 类型
我也遇到过。我一同事遇到个技术问题,我给他讲了问题原因和解决方案,他当时可能没咋懂,但是又不好意思继续问。结果当天晚上我在论坛里就看到一个一摸一样的提问 .....
然后我就顺着他账号把他历史提问全看了一遍。怎没说呢,暴露了很多东西
1 楼的老哥真是精确制导,佩服佩服。一生平安
嗯勒,自从上了 ECS 动态扩容,就没有用过这个了
哈哈哈,之前在使用 Puma Worker Killer 这个 gem 的时候就非常谨慎,除非能确定是内存问题导致系统极慢/崩溃且又找不到内存泄露原因的时候,才会上这个 gem. Readme 里非常谦虚的提了句
This gem can also make your performance WORSE. When a worker is killed, and comes back it takes CPU cycles and time. If you are frequently restarting your workers then you're killing your performance
我很好奇,如果去掉这个 gem, 就让系统内存正常发挥,服务器的性能是怎样的呢?
新手常见的错误。。index = xxx 中的 index 会被解释成局部变量赋值,要使用 accessor 生成的方法,应该用 self.index = xxxx
卧槽,老哥你不说我还没注意。。楼主就是那个连载多年赌海浮沉的大兄弟,难道真清掉债务重启人生了??而且工资还不错勒。好想听听后续啊
调 ChatGPT,最智能
末尾排版乱了啊
hook method 是个 stub 方法,相当于一个占位符,通常是在其他方法内部调用。比如 included 这个 hook 会在执行 include 中调用,respond_to_missing?在 respond_to? 中调用。通常 hook method 的默认实现都十分简单(respond_to_missing? 的默认实现就是直接返回 false),或者根本就是个空方法。它真正的业务意义是调用者自己通过 override 实现的。
大致来说,就是方法封装者留出一些空间,让方法调用者自己去注入自定义的逻辑。感觉就像是个模板模式
我们之前的实践是,在 rubymine 设置 sdk 的时候选择 docker 或 docker-compose 的环境,整个项目都是跑在 docker 里的,不需要单独为 gemfile 的内容再起一个容器
没记错的话,rubymine 支持 docker 环境,会同步 container 中的 gem 代码到本地,依然支持代码提示和跳转
只有职位够高才有机会在需求层面就解决问题呀 。
能在需求和设计层面解决、缓解问题是最好滴。如果客户非要在技术层面去实现,俺们一般就三个字:“得加钱”
核心业务还在,哪里会发不起工资嘛 。这个折腾也算是带薪学习了
生活中没怎么见过文章中所批判的那种人,不过如果真的有那种“遨游在技术海洋,巴不得越学越多,尽可能触及技术天花板”的人,俺们小公司巴不得招一个。。。
赞。之前一直困惑应用日志为啥和 cloudwatch 日志的时间戳不一致。。。
流批了,ActiveRecord 快了 60% 勒
有空交流啊,微信发你邮箱勒
我其实已经找到了部署问题,就是没有充分利用 github action 的缓存,导致构建镜像太慢,暂时没时间去实验。
很早之前我就用过 alpine 的版本来做基础镜像,最终构建出来的镜像能比基于标准版的镜像小接近一半。不过由于 cto 的轻微反对,加习惯使用 ubuntu 了,就又切回去了
除非客户明确提出性能有问题,不然我们一般不会先上缓存。。。
命中缓存时日志会有提示的。 如果是说页面缓存的话,需要使用 cache 方法,像这样
<% @products.each do |product| %>
<% cache product do %>
<%= render product %>
<% end %>
<% end %>
如果是底层缓存,需要使用 Rails.cache.fetch。
还得构建镜像,推送镜像 。我们用 github action + AWS ECS, 部署时间通常要几分钟的。暂时没空优化,不知道有没有老哥有这方面的优化经验分享一下
俺们用 docker 部署就不怎么担心这个问题,每次部署都是个新的容器,缓存文件会被清掉。。。缺点是部署时间较长
流批,CTO 都有时间写博客,我等楷模
赞!域名是固定的不?
很好。俺们用 ferrum 来操作无头浏览器。都是基于 CDP 协议,不知道与 puppeteer 有何高下
一楼老哥其实想问的应该是“前后台(前台和管理后台)是否分开部署”,而不是”前后端分开部署“
上 WSL、docker 或者虚拟机
fiber ?