Rails 是个多元化的框架,合适的工具做合适的事,所以不会局限于某个端,而是全局的考虑问题。
如果接触 Rails 足够久,应该记得 RJS 模版,那是失败的实现。
可以。
可以啊,用 puma 或者 unicorn。passenger 的特点是作为 nginx 的模块编译,要想均衡负载可以在前面加。
那么你是开发了自己的混合语言全栈框架,造了一个只有自己能理解的架构,我觉得你们老板说得对。
其他部分,看起来你已经认同我博客里的内容了。
你还没处理 SEO 的问题,所以还没理解同构要解决什么,如果要同构,中间层必须换成 node.js。
不过内容看下来,你已经意识到了前后端不可分离了,不然你的前端方案无法实现。
所以前端的诉求其实就是全栈,跟 Rails 的区别就是一个是全部用 JavaScript,一个是 javaScript + Ruby,那么也就别再抱怨说 Rails 全栈管太多。
至于 node.js 全栈好还是 Rails 全栈好,这是另一个话题了。
为什么前端会需要组件前后端一致,为了解决什么问题?如果你认同同构不现实,那么应该用什么方法解决它本来想解决的问题?
你应该去看下 react 和 vue 的同构方案,这是纯前端搞出来的。
Rails 可没搞同构。
喜欢分离就是大公司病。
还是那句话,开发效率高。试过有个前后端分离的功能改一个下拉框花了三天时间,各种协调工作、设计 API、测试联调……我就觉得把前后端分离当作唯一解法就是不对的。
虽然大家都知道用什么方案要看用在什么场景,但就算很简单的场景要用 Rails 默认方案都会有人质疑这样会不会不好分工。技术潮流把人们对“分离”的期望推到了不理智的地步。
现在要坚持 Rails Full Stack 路线很艰难,但不要放弃前端技能,技术潮流就像钟摆,说不定过两年又会摆回来。
最近我观察到风向其实已经有点变化,看这个 Hacker News 这个关于一个 JavaScript 全栈框架的讨论串里面很多人开始批“现代前端”方案 https://news.ycombinator.com/item?id=16052558
我喜欢这个评论:
The reason this stuff gets popular is not because it's a good idea, it's because big companies have tons of cash and man power and can't wait for browsers to get updated. Well, a lot of us code monkey vets are done chasing "shiny crappolla", and we can wait a bit until the dust settles. https://news.ycombinator.com/item?id=16053587
说远一点,我希望对新技术陷入狂热的人看一下一篇老文章,《行进中开火》 http://chinese.joelonsoftware.com/Articles/FireAndMotion.html
对“大公司都证明了前后端分离是件件正确的事情”有异议。
Does Google tend to hire full-stack programmers or no? https://www.quora.com/Does-Google-tend-to-hire-full-stack-programmers-or-no
Google hires almost exclusively “full stack” engineers.
&
P.S: You cannot be a good front-end developer without throughout understanding of back-end.
国内对前后端分离的热衷高于国外,Hacker News 上鼓吹前后端分离的也大多是小公司。
一般来说,大公司热衷于“分工”,觉得把一切工作划分开就能提高生产效率,对于大型项目来说可能是对的,而且大公司也有财力和人力做这样的事情。
但是大公司内也不都是大型项目,有时小项目的数量比人还多,这时候单个项目能获取的人力和资源都跟创业公司差不多,项目进度慢也会有被抛弃的风险,这时候其实更适合用小团队的策略。
“现代前端”已经成功把自己逼到很窘迫的地步,框架层出不穷,架构六个月换一轮,无视后端积累自己重造一遍轮子,搞出很奇葩的方案(前端框架服务端渲染)。
现在的情形我觉得用“前后端分裂”更贴切。
5.2 已经 beta,应该不会成为默认。
如果多关注 client side framework,会发现他们在搞 server side render 😂
我也发觉有的索引不对,先用着 Google 搜索。
webpacker 有可能成为 Rails 6 默认。
同时增加一个前端框架 Stimulus
关于这个框架的由来 https://github.com/stimulusjs/stimulus/blob/master/ORIGIN.md
Daru 和 NMatrix 活跃。
SciRuby 是一个组织。
给例子。
从语言层面没有什么是 Python 做得到 Ruby 做不到的,如果你是说 Python 有很多库但是 Ruby 没有,那么你可以尝试做贡献。如果有数据分析需求的人也不去做贡献,那么 Ruby 在这个领域的发展也就一直停滞。
如果你不确定,一定要说出来!一个听起来权威的错误回复比没有还要糟,别因为听起来像个专家很好玩,就给别人乱指路。要谦虚和诚实,给提问者与同行都树个好榜样。
用官方编译的 deb 包,没事别编译。
Threads (in Ruby): Enough Already http://yehudakatz.com/2010/08/14/threads-in-ruby-enough-already/
io wait 通过增加线程可以增加 qps,db 属于 io wait,sleep 好像也可以利用线程。
不用公司邮箱的话不确定是员工还是猎头。
没有公司域名的邮箱吗?
从公司角度最常见的支持 Java 的论点是:Java 很好招人。为什么要去做很多人都能做,随时可以被替代的工作呢?
如果你只是想找一份能养家糊口的工作,那么 Java、PHP 就是你需要的,这两个语言一直占据招聘市场需求的前排。
如果志向不仅于此,希望职业生涯内做出什么闪光的事情,那么我不会选择 Java、PHP 占主导的公司。这类公司通常把开发人员看作可替换的资源,除了金字塔顶部的人有决策权,其余大部分从事劳动密集的工作。另外这类语言有海量应聘者,公司的选择很多,不利于谈到好的薪资。
我会优先选择使用 Ruby/Python/Go 语言的公司,选择这些语言说明公司氛围比较开明,好的品味占据了主导。这类公司更能拥抱变化,容易发挥个人的价值,做出的产品也更有竞争力。
如果看到有公司主要使用 Elixir/Rust/Clojure,那么我会特别留心,这些公司里面都是 Hacker,做着与众不同的事情。这类公司很可能推出 Next Big Thing,或者被大公司高价收购。
就算有一天没有公司招聘 Ruby 了,我也只会选择更强大的语言,而不是大部分人选择的语言。
(以上想法受《黑客与画家》- 拒绝平庸 影响)
原文没写 bundler 纳入标准库哦。