我刚刚试了一下,是可以的
bin/yarn 可能没 chmod +x
原来那样同一个 name
字段二次过滤条件,明显是错误的逻辑,没人会这么查,因为 name
不可能同时是 John 和 David
这是修正了 Bug
TextMate 更新太慢,已经换 VS Code 了
我搞了没人维护,我没这类需求,这次搞了,后期也难以保持持续的维护。
如果谁可以写一个 GitHub Actions 自动同步,我在 Ruby China 的 GitHub 组织上可以开一个项目,配置好 UpYun 的 Key, Secret,这样可以完整利用 UpYun 的 Bucket 来做静态的网站。
1.1.0 版本已发布,现在支持 “使用不同的表来存储 actions”
我恢复了,后台增加了了撤销删除功能。
没有这类使用场景
docker-compose logs app
阿里云 / 清华这种实际上是有问题的。
它没有实现 /api 的 RubyGems API 会导致你每次安装的时候,会把一个 Gem 的所有版本都下载一遍。
实际上这几天是因为 Ruby China 域名备案的问题,导致的 502,现在已经恢复了。
https://ruby-china.org/topics/40759#reply-365288
不过有可能因为 DNS 本地缓存,某些地方的解析可能没及时生效,可以用 dig gems.ruby-china.com
看看:
正确的 CNAME 地址是:
gems-ruby-china.b0.aicdn.com.
$ dig gems.ruby-china.com
; <<>> DiG 9.10.6 <<>> gems.ruby-china.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28938
;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;gems.ruby-china.com. IN A
;; ANSWER SECTION:
gems.ruby-china.com. 600 IN CNAME gems-ruby-china.b0.aicdn.com.
gems-ruby-china.b0.aicdn.com. 300 IN CNAME nm.aicdn.com.
nm.aicdn.com. 175 IN A 1.81.5.176
nm.aicdn.com. 175 IN A 1.81.5.188
nm.aicdn.com. 175 IN A 1.81.5.189
nm.aicdn.com. 175 IN A 1.81.5.190
nm.aicdn.com. 175 IN A 183.131.200.61
nm.aicdn.com. 175 IN A 183.131.200.68
nm.aicdn.com. 175 IN A 183.131.200.69
nm.aicdn.com. 175 IN A 183.131.200.72
nm.aicdn.com. 175 IN A 183.131.200.74
;; Query time: 88 msec
;; SERVER: 10.20.2.1#53(10.20.2.1)
;; WHEN: Thu Dec 31 18:14:04 CST 2020
;; MSG SIZE rcvd: 237
如果 CNAME 显示是 gems.ruby-china.com.dsa.dnsv1.com.
表示还是在腾讯云境外的 CDN 上。
实在点的需求,能集成 ActiveJob 用到 Rails 项目里面不?
现在都切 Ruby China 源吧,备案已经弄好。服务恢复了
等备案好了就对了,还在审批中
Ruby China 已经在跑了
实测了一下,有效果
def tarai(x, y, z)
x <= y ? y : tarai(tarai(x - 1, y, z), tarai(y - 1, z, x), tarai(z - 1, x, y))
end
require "benchmark"
Benchmark.bm do |x|
x.report('Ractor') { 6.times.map { Ractor.new { tarai(14, 7, 0) } }.each(&:take) }
end
我调整参数以后,基于最新的 Ruby 3.0.0 跑,把 MacBook 的 6 核 CPU 全部用上了:
如果是 Ruby 2.7 用 Thread:
def tarai(x, y, z)
x <= y ? y : tarai(tarai(x - 1, y, z), tarai(y - 1, z, x), tarai(z - 1, x, y))
end
require "benchmark"
Benchmark.bm do |x|
x.report("Thread") { 6.times.map { Thread.new { tarai(14, 7, 0) } }.each(&:join) }
end
3.0 的并发支持多核了么?谁知道哪里有参考资料,发来看看
It’s multi-core age today. Concurrency is very important. With Ractor, along with Async Fiber, Ruby will be a real concurrent language. — Matz
Ruby China 的 Docker Image 打包:
拉下来跑了一下 38K,跑完服务器 Crash 了
围观 Forem 的升级,貌似挺闹心的,貌似 Gem 和特殊用法太多
https://github.com/forem/forem/pull/11333
Homeland 的经验,减少一些奇怪的用法,尽量 Follow Rails way,比如最近我去掉了:
当然,还有去掉他们一个重要原因是更新太慢,迟迟没跟进社区新版本。
此外,还去掉了:
另外,我司内部一个比较复杂的后台系统也升级到 Rails 6.1 了,比较顺利
Homeland 和 BlueDoc 升级 Rails 6.1 的 PR 大家有需要可以参考一下:
因为这两个项目测试覆盖率较高,所以基本上是直接
rails app:update
根据 Diff 更新默认的几个文件以后,再适当修正一下废弃 API 以及无法升级的 Gem
bulk_insert 可以改用 insert_all
方法代替了,bulk_insert 更新太慢了,我的项目里面都去掉了
https://api.rubyonrails.org/classes/ActiveRecord/Persistence/ClassMethods.html#method-i-insert_all
https://github.com/ruby-china/homeland/commit/eb95fc9200889c435ea7bfff5b5accd1a5041427