Matz 对缺乏 windows 支持的回复:
The reason Windows being second class is not lack of interest but lack of contributors with extensive experience with (non WSL) Windows platform. Any contributors? I understand your frustration, but complaining does not improve the situation, unfortunately. We need contribution.
SQL 数据库支持 JSON 类型,多层次数据可以尝试用 JSON 类型储存。
不过 JSON 类型不像一般字类型可以添加约束,迁移比较麻烦,查询比较复杂,适用于不需要查询、没有关联的数据。有关联的数据建议用表的方式储存。
可以 ActiveRecord + SQLite 数据库。
我是在 github actions 里面 build 的。
我暂时用不上。但论坛优势不在于即时回馈,而在于留档,将来谁要用到了就会找到并感谢楼主。
新注册账号需要一天后才能发帖。
之前 YJIT 开发者说过 windows 是目标平台 https://bugs.ruby-lang.org/issues/18481
但目前不支持,可能是因为背后资助的公司 shopify 主要是用 linux(部署)和 mac(开发),所以优先级不高。
如果楼主很在意可以到推上问下 Maxime https://twitter.com/Love2Code
用 chromium headless,库有 https://github.com/rubycdp/ferrum 和 https://github.com/YusukeIwaki/puppeteer-ruby 。
这里要考虑的是缓存服务器在内存满了的时候要用什么过期策略。如果 kv 数据和缓存都用同一个 redis 的话,可能同一个过期策略无法满足两种需求,例如一个留存很久但有用的 kv 数据被挤掉的。所以上面推荐另外开个 memcache 服务。
另一种做法是 redis 只用来做缓存,不存持久数据。
那还是弄个 ELK 之类的日志系统好,输入查询条件把日志搜出来的感觉是日志文件做不到的。
createElement 是属于 DOM 的,调用的 js runtime 没有实现 DOM。
有一个 nodejs 实现的 DOM https://github.com/jsdom/jsdom
知名的邮件周报都是广告/招聘盈利的,没必要先堵死。
小括号和中括号的正则含义可不一样。
目前不是,不开源让我更改功能的时候负担更小,是否开源还在考虑中。
作为参考,你是想阅读代码还是部署自己的网站呢?
变相催更,看好你哟😏
我之前没发现 ferrum,puppeteer-ruby 占了名字好的便宜。
puppeteer-ruby 问题是没有文档,可能作者觉得是移植 puppeteer 的,看 puppeteer 文档就够。但是两个语言异步模型不一样,为了不阻塞线程我的写法是猜的,不知道对了没。
ferrum 看起来维护人员多很多,应该更完善。不过目前我的场景比较简单 puppeteer-ruby 也够用。
注意是小括号不是中括号。
with: %r{\.(gif|jpg|png)\Z}i
中文书很久没更新了,最近一本《Rails 5 敏捷开发》已经是 2017 年出版。https://book.douban.com/subject/27615703/
英文阅读没问题的话看官方教程 https://guides.rubyonrails.org/
它是 mailgun 的替代品,不是 gmail 的替代品。
通过网络调用外部服务的时候会用 mock。 程序内部调用不会 mock。
Sidekiq 7 增加了新特性可以指定某些队列的并发数 https://github.com/mperham/sidekiq/blob/7-0/docs/7.0-Upgrade.md#capsules
我有个网站每个实例是 1G,docker build 是在 github actions 上跑的。
最近看到一个不错的文章:程序员开公司接外包指南 https://linguang.tech/post/agency
https://geeknote.net/ 一个技术写作社区。
专门一个队列,单 worker 单线程处理。
sidekiq enterprise 支持频率限制 https://github.com/mperham/sidekiq/wiki/Ent-Rate-Limiting
或者换 good_job,频率限制也是开源的 https://github.com/bensheldon/good_job#activejob-concurrency
塔塔开!
Java 有
this.getClass()
顶楼代码本质是程序员写了低效的代码,类型系统不能阻止烂代码。如果感觉没有类型不安全,Ruby 3 新增了可选的类型声明 RBS,还有 Stripe 开发的 Sorbet。
用 Java 也可以写这样的代码啊。
手机号涉及个人隐私;换号成本高;不方便设置提醒规则;文本内容少。