B 站不允许赞助商展示,沟通不顺畅,目前不打算放 B 站。YouTube 是最可靠的视频存档处。
fork 然后提交 pr,生产环境先切到自己的 fork 版本。
Stimulus 优在和服务端渲染完美配合,无论怎么插入组件只要有 data-controller
属性就会自动绑定,不用关心 js 绑定的时机。
if (data["like"]) {
this.svgTarget.classList.remove("text-gray-300");
this.svgTarget.classList.remove("hover:text-gray-400");
this.svgTarget.classList.add("text-yellow-300");
this.svgTarget.classList.add("hover:text-yellow-400");
} else {
this.svgTarget.classList.remove("text-yellow-300");
this.svgTarget.classList.remove("hover:text-yellow-400");
this.svgTarget.classList.add("text-gray-300");
this.svgTarget.classList.add("hover:text-gray-400");
}
从这里看出来 tailwind 在 js 里面调用很麻烦。如果是 BEM 风格就是
this.svgTarget.classList.toggle("like-icon--active", data["like"])
另外 tailwind 不能解决开发者设计能力的问题,要快速做原型不如用 bootstrap。
不如直接去 HR 部门了解需求。
根本就没必要在 Rails 上加 Grape。
这个我也很迷,用自己账号看是 10 小时,用管理账号看是 2 小时,匿名不登陆看是 10 小时。所以只看见两小时的可以试试浏览器匿名模式。
https://bugs.ruby-lang.org/ 是开放的,不需要大佬,先搜索有没有同类 issus,再阅读提交指引,然后提交特性请求,core team 会回复。
RubyConf China 2020 Gitter 聊天群现已开放 https://gitter.im/rubychina/rubyconfchina2020
将用作会议讨论/提问/抽奖,欢迎加入。
Rails 工具指什么?
6.1 有 minimal 参数:
rails new cool_app --minimal
https://github.com/rails/rails/pull/39282
如果一条条参数敲其实现在也可以去掉不用的组件。
我测试不翻也打不开,它托管在 github pages 上,目前没有计划迁出。
能打开 github 的话可以在这里打包下载整个网站到本地看
python 是 9 楼提的。
进标准库要有取舍,目前来看引入统一的异步调度机制对 Ruby 更重要(在做了)。
python 标准库有红黑树?
用 gem 不好吗?进标准库就说明需要 core team 维护,然而 core team 没那么多时间,现在还一直把一部分标准库迁移到 gem 呢。
docker compose 不需要把 redis 和 postgres 的端口开放,其它 service 可以通过内部网络访问这些服务,主机名就是 service 名。
https://docs.docker.com/compose/networking/
By default Compose sets up a single network for your app. Each container for a service joins the default network and is both reachable by other containers on that network, and discoverable by them at a hostname identical to the container name.
默认安全对用户很重要,不是所有用户都有足够的安全知识。以前我就被 mongodb 的默认配置坑过……
GraphQL?
这是整个 js 执行有问题了吧?打开调试器看 js 是不是报异常,有没有禁用 js?
看不出问题……
在页面加这个 button,点击看看有无确认框,测试 ujs 是否有工作,浏览器 console 有无异常。
<button type="button" data-confirm="work?">test</button>
是的,似乎加了。
把页面渲染的表单 html 贴上来看看。
Processing by Hr::WorkerFieldsController#create as HTML
显示提交的还是 HTML,js 里面有没有加入 ujs?
日志贴全
https://leetcode.com/ 支持 Ruby,但这都是算法,做应用需要实践,楼主没有说自己要往哪个方向。
我以前维护过只为移动端提供 API 的 Rails 应用。
静态文件用 CDN 处理。Web server 提供静态文件,CDN 回源的时候缓存。
会降低速度,因为 node_module 目录非常大,载入很耗时,在磁盘性能不高的时候很明显。(例如 docker compose)
但为了利用 npm 包不得不迁移。(例如用 docker-sync 解决 docker compose 的目录性能)
compose 是用于本地开发而不是用于部署的。部署要用 swarm,配置是延续 compose 的配置。
puma/unicorn 热重启是通过管理进程,在重启过程保持接口的监听,在重启结束后移交接口。swarm 也实现了这样的重启,swarm 本身接管网络,滚动重启容器,维持访问把流量转到可用的容器上。