我觉得 Ruby on Rails 的开发效率优势来源于:
ORM 只是 Rails 其中一个优势,且不说我不觉得其他语言的 ORM 追上了 Rails,Rails 还有很多优于其他框架的地方。
例如 Turbo Stream Broadcast 是一个杀手锏功能,让我非常容易开发即时更新的功能。要实现这个功能必须整合数据库、消息队列、前后端通信、前端更新这整个技术栈。少数全栈框架,例如 laravel、Phoenix 也有类似的功能。
过去几年前后端分离盛行,能体会全栈开发效率的人变少了。现在 next.js,remix 等框架又开始往全栈方向回摆,因为有些功能就是全栈更有效率。目前这种技术回摆导致了一些混乱,不断有人抱怨 RSC 难以理解。
我很庆幸 Rails 是一个成熟的全栈框架,让我远离这些混乱,只需专心开发应用。所以是的,我认为 Rails 在 2023 年仍然有效率优势。
我补充一点为什么应该用 stimulus。
Turob 环境下 document.addEventListener
是全局的,去到别的页面这个监听器依然存在(除非再实现解绑逻辑),然后每次 stream render 都要判断有没有需要处理的内容存在。
而 stimulus 是让元素成为自行管理的组件,要优于事件绑定。
turbo:render
也许对应 turbo visit 和 cache render,不包括 stream render。
当一个元素出现在页面时执行某操作,更适合用 sitmulus。
需要扎实的运维开发,能讲好增长故事拉来投资,还要能稳定服务提供信心。我觉得是非常难的,但说不定有人可以做到。
文件同步慢可以用 docker sync 这个工具 https://github.com/EugenMayer/docker-sync
我是买了 M2 版 Macbook Pro 后性能提升解决了这个问题……
Config 往上找祖先,找到 self.instance
方法,然后执行方法的上下文是 Config,@single
属于 Config。
我还在用 2015 款的时候是有升级就升的。我的开发环境都放在 docker 里所以系统影响不大。
但如果你的开发环境是在原生环境要注意会不会一大堆东西不兼容。
老项目用容器或者虚拟机搭建和线上一样的环境。
新的 Macbook。我从 2015 款换到 M2 版 pro 14,起飞一样。
应该是系统没有安装中文字体
贴日志。
有点挑战的程序都不是一下能写好的,要容忍不完美,先做个能用的出来。如果程序是有需求的,后面随时可以重构。
英文原版一直紧跟最新版的。
已去除
补全完我要看一遍,总的来说看的时间少于手敲。
对编程有帮助,节省不少 crud 代码和 test 代码的输入时间。
不过我没有买,GitHub 判断我有开源项目所以送了使用权。
如果不知道怎么选择,我建议这样:
可以都一个个 load,或者打包之后放到 builds 作为一个 bundle load。
参数是 partial 不是 template
render turbo_stream: turbo_stream.replace(
'flash',
partial: 'share/notice'
)
我就做了个 demo 没有深入,后面没找到产品思路没有继续。用在现实环境还是有很多要考虑的,但可以先搞起来再优化。
def logged_in?
!@current_user.nil?
end
这个方法访问 @current_user
的时候实例变量还没有值,改成这样:
def logged_in?
!current_user.nil?
end
调用 current_user
方法,让实例变量设值。
没有。
iMovie,主要是免费。
运行 gem env
会看到一行:
- EXECUTABLE DIRECTORY: /opt/homebrew/lib/ruby/gems/3.2.0/bin
在你用的 shell 配置(~/.bashrc 或者 ~/.zshrc)把这个路径加到 PATH
:
export PATH="/opt/homebrew/lib/ruby/gems/3.2.0/bin:$PATH"
打开新的 shell 让它生效。
出处?
现在已经形成习惯,产生想法的时候记录下来,有空就录成视频。