我的一些看法:Rails 社区遇到了真正的危机 https://geeknote.net/Rei/posts/397
DHH 的演讲最大价值是指出 Rails 未来的发展方向。其他核心贡献者也值得尊敬但没有同样的作用。不邀请 DHH 的 RailsConf 非常不明智。
"With you having been mostly offline the last year"
这个理由感觉莫名其妙,有人知道这具体指什么吗?
好像是有滚动位置不正确的行为,但是不能稳定复现。
顶楼内容没有用在 Ruby China。
作为记录:
我已经放弃 k8s 了,对开发人员太复杂,而且少量实例的情况下额外支出很多,比传统虚拟机方式还贵。
两天进展很快了。实际用过 Rails 才知道什么叫生产力。
PS:写日志推荐一个网站 https://geeknote.net/
前面用了什么反向代理,是不是 protocol 没传递给 rails app。
上面只配置了 test 和 development,staging 用的是什么环境?
现在用了 cloudflare,浏览器发起的连接是 cloudflare 处理的。
cloudflare 甚至用的是 h3
可以用 multi-stage 把构建过程分开,构建好之后把文件从 builder stage 拷贝到 production stage
https://docs.docker.com/develop/develop-images/multistage-build/
docker-compose 也支持指定需要构建到哪个 stage。
https://docs.docker.com/compose/compose-file/compose-file-v3/#target
信用卡验证一般是预扣一刀成功之后再取消,可以等下个账单日看是否实际扣款。
我注册也是因为代理被标记高风险,邮件联系之后解除了。
如果接着顶楼的实现,可以放在 rake task 里面,yarn run 可以在后面加参数:
desc "Build JavaScript"
task :javascript => :install do
system "yarn build:js --define:process.env.NODE_ENV=production"
end
联想到 V2 的一个帖子“看个 commit 都需要登录,Gitee 这是怎么了?”
多一些竞争是好事。希望 GitLab 能给国内带来一些工程师文化的氛围。
我觉得这些首年折扣的才适合撸羊毛,因为我不只维护一个项目并且打算长期维护……不过怎样都好,价格列出来了可以根据自己需求判断。
价格不是唯一因素,单独举 heroku 的例子是因为它太贵。
测了一下可以使用 process.env。
源码:
// test.js
process.env.NODE_ENV
编译:
$ esbuild test.js
"development";
通过参数设置可以:
$ esbuild test.js --define:process.env.NODE_ENV=production
production;
通过 Linux 方式设置环境变量不行:
$ NODE_ENV=production esbuild test.js
"development";
所以可以在生产环境编译的时候加个 --define 参数。
每天带宽峰值时段的分布不一样的,高峰可能是低谷的几倍,如果需要以 T 为流量单位的话估计 2M 不够用。
我不喜欢带宽计费因为开小了满足不了峰值,开大了又浪费。
大流量文件不是应该放类 S3 的对象储存和 CDN 吗?动态请求很少会到 5T 吧?
而且我查了下 aliyun 的流量计费是 CNY 1 / GB,这高于 fly.io 的 $0.04 /GB。
我看文档可以使用 process.env.NODE_ENV
,其实就是一个环境变量所有 Linux 进程都支持。
我的设置开发环境和生产环境只差了一个 --watch
参数,不太理解什么时候要用到 ENV,你可以贴代码和问题的详情看看要怎么解决。
Heroku 的免费档会停机,fly.io 的免费是不用停机的。
可以,它实际使用 vm 跑而不是 docker。
简单测了下延迟 110ms 左右,理想状况到香港应该是 30ms 左右。好像是路由到日本去了,有不少优化空间。
用 chinaz 测了一下。
fly.io 最快 54ms 最慢 353ms 平均 123.9ms
某云 最快 7ms 最慢 254ms 平均 70.7ms
可以对照下价格表。
https://fly.io/docs/about/pricing/
GeekNote 现在开了一个 shared-cpu-1x 1G 的做 web,512M 的做 worker,一个月共 8.5 刀。postgres 和 redis 服务器在免费额度内。
文件储存还得另找服务 S3 之类,网站本身的流量费不多吧。
不过因为有卷,本地储存也不是不行……
如果几年没用了,那么现在再用体验还是跟几年前一样。因为新的东西都放在企业版里面,价格要问销售。
如果“只”关心企业用户看他怎么发展吧。
小公司更注重开发者客户的体验,heroku 万年不开放其他区域,重心都放在企业客户,我盼望搅局者盼很久了。
我本来也想着下一个,就拿现有项目试试,试着试着就迁移了。😂
附两则趣闻:
1) Phoenix 框架的创建者 Chris McCord 现在在 Fly.io 工作,博客说如果 2013 年 37signals 招了他做员工可能就不会开发 Phoenix 了 https://fly.io/blog/how-we-got-to-liveview/ 。目前 Fly.io 的文档和社区有不少内容是关于 Phoenix 的。
2) Fly.io 的 API 是基于 Rails 开发的 😏
Rails 官方添加了一个教程,如何从 webpacker 切换到 webpack:
https://github.com/rails/jsbundling-rails/blob/main/docs/switch_from_webpacker.md
这个方案是引用 npm 包,安装 npm 包用 yarn 或者 npm 都可以。
例如 yarn add @hotwired/turbo-rails
,然后就可以在 app/javascript/application.js
里面:
import "@hotwired/turbo-rails"
esbuild 已经默认把 node_modules 加到 resolving paths 里。