取决于用的 io 有没有 non-blocking 的实现,理论上是有的,所以可以减少。不过这个减少不是由于等了 2s,如果 io 可以不阻塞,那么等待 io 的线程就会自动 pass,不需要手动 sleep
表单啊,就光是做表单,用 react+api 也比用 rails form 方便,重用方便,样式管理方便,逻辑也看得更清楚。后端渲染唯一的优势就是 seo,但是 next 可以全自动处理 ssr
后台啊,那就比文章型的更难了,我还以为说文章型的比前后分离方便,后台要是用到 sjr,那也是必然不可能比纯前端写方便的
前端直接部署到 zeit now(现在叫 vercel)就行,只需要管 api 服务器
花一天时间体验一下 next js,就会改观的,erb 的开发体验已经跟不上这个时代了
别转移话题,py js 确实不是面向对象语言,分类叫 multi paradigm,按Vector#magnitude的例子,就是会暴露内部实现
def self.log m
method = method(m)
define_method(m){|*args|
p "输入是:#{args}"
method.call(*args)
}
end
log def foo x, y
x + y
end
result = foo(2,3)
print(result)
有啥区别?
另外这个帖子里什么函数是不是第一公民的讨论几乎全部都没有在点子上,一个最简单的例子:
class Vector
def magnitude
end
end
Vector.new.magnitude
在外部看来 magnitude 必然是方法调用,而在 js 和 py 里面,方法必然是 magnitude(),属性必然是 magnitude,调用方式已经暴露内部结构了。ruby 是纯粹的面向对象语言,师承 smalltalk,不要拿什么 py js 之类的虾兵蟹将来比。
你用 python 写个例子,我们来比比行数?
你的这个回复和“哪里不简洁?”有任何关系吗?在纯 ruby 里做一个类似 sig 的装饰器像喝汤一样简单,我为什么要加什么@语法?
上面的例子不是在任意方法上面 sig 就 ok 吗?
哪里不简洁?
你怎么知道我说的是什么?
sig {params(x: SomeType, y: SomeOtherType).returns(MyReturnType)}
def foo(x, y); ...; end
这个sorbetrb里用来给函数加签名的,你看算不算方法级别的装饰器?
还有死了几年的 https://github.com/voltrb/volt 也是类似的原理 hhhhh
一个邪道方法是使用 heroku,由于 heroku 每 30 分钟不访问就会进入休眠,可以使用 github action 跑一个 cron job 每 20 分钟访问一次阻止其休眠。
当然也可以直接用 github action 抓取内容。
什么时候能把注销账号的 feature 加上?
直接用 from 就行
勞動仲裁
方法体一开始就编译了的缘故,irb 可以不是因为 binding,而是因为对 b 的调用还没编译,但是在 def 里 b 还不知道有局部变量的时候就编译成 method call 了。综上所述,可以用 method missing,或者无解
本科以下都可以不看,那可真够🐂🍺的
try 即使没方法也不会错,这个会
这个帖子是不是在亚空间迷路了
sicp
很有用
触发 const_missing
说实话我从来没用过掌托,手腕一直是悬空的
直接不要用 concern,controller 里杂七杂八的东西太多了,包括各种 params helper,这些东西多了就别想重用了
连续的,每个格子都是 40 字节的数组,链表就别的语言怎么写,这里也怎么写就行了
比这个还不如比平均工资
用 eager_load