懂 Elixir 是加分项,Elixir 是一个研究方向,但我不知道有哪个线上系统已经用 Elixir 或是要改写的。
不是说一个语言能调某个库就是擅长某个领域,如果这也算是的话那么 Ruby 也能(机器学习 tensorflow.rb,前端 opal.rb)。Python 在数据领域的优势是常年累月在高校研究积累出来的,不说 Ruby,别的语言也很难赶上。
软件开发没有银弹,现实中的项目就是由多语言多模块开发完成的,大部分企业在招某个岗位的时候就是找这个领域成熟的技术,而不是想着一门语言、一个工具解决所有问题。像你们公司从前到后全部用 Clojure 在市场上是个异类,异类也有可能发展很好(对创业公司尤其是),但以此作为向新人推荐的依据我觉得不充分,我很怀疑一个程序员第一份工作能使用 Clojure 的机会有多大。
别误会,我觉得 Clojure 也是个有意思的语言,我读《七周七并发模型》的时候就看过一点 Clojure。一个优秀的程序员就应该学习不同语言不同范式,同时向广度和深度扩张。不过这有个过程,总要先有份工作解决生活问题,然后再研究更深层次的领域。我觉得 Ruby on Rails 是一个很好的切入点,一方面它的工作机会不少(也不多),另一方面它是个多范式框架,可以扩展自己的视野。
PS:开个玩笑,我不认为 Ruby 的优点都被其它语言抄走了,例如括号可选这个优点就是 Clojure 抄不走的。
又甩锅给 Turbolinks。
把 user_id 存到 meta 里:
<% if current_user %>
<meta name="current-user-id" content="<%= @current_user.id %>">
<% end %>
isLogined : ->
document.getElementsByName('current-user-id').length > 0
这样就不用老是关心变量了。
然后你会发现 Ruby China 已经加有 current-user 这个 meta。
Markdown 排版
招聘中 https://ruby-china.org/topics/33711
DJI 电商就是 @saberma 一手撑起的,现在 Ruby 团队在公司整个互联网事业部都占了重要地位,我已经在做非电商的关键服务。不过招聘速度拖慢了接业务的能力,觉得小公司无法满足的可以来试试,待遇不用担心。
这应该是项目自己定义的方法,搜索 def calculate
。
都叫你看 SQL 了。
执行的上下文是什么,model 里吗?
延迟执行,ActiveRecord Query 只有在取值的时候才真正执行,所以在终端里拆开执行是不等价的,因为打印的时候取值了。
User.where(state: 5).last
这个查询生成的 SQL 只会查询一条记录,并不会把所有记录都读出来再拿最后一条。
因为几年前 Ruby 处于鄙视链顶端,现在新欢胜旧人,你就想大家跟你一起鄙视 Ruby。
非风动,非幡动,仁者心动。
User.order(id: :desc).find_by(state: 5)
这贴暴露了楼主 SQL 基础薄弱,到终端看看这三条语句生成的 SQL 有什么不同。
之前没触及这块接口,提醒一点是如果是看 URL 带 openapi 的文档,需要看 openapi 分支的代码。
楼上的几位推荐小众语言的牛人,我完全相信你们在新的编程环境如鱼得水,解决了在 Rails 没有解决的问题。并且我也深有体会:现存 Rails 项目良莠不齐,在遗留项目的代码看得要吐的时候,真的会产生换个语言重写一遍的冲动——实际上不是 Rails 造成这种问题,而是用 Rails 的人有问题,换一个更小众的语言就可以大大提高门槛,把不称职的工程师挡在外面。
但是和你们不同,我最终没有选择这条路,因为 Rails 本身没有成为我的瓶颈。经过几年锻炼,我终于把 Rails 用至炉火纯青,我可以用它满足大部分 Web 开发,为什么要这个时候扔掉趁手工具,重新打造轮子?既然是用的人不对,那么我来解决人的问题——对其再教育。我维护的不是一个几个月就能交付脱身的项目,而是关乎公司命运的核心服务,转用更小众的语言把别人挡在外面会造成人才脱节,导致更大的风险。
当然,我闲暇时候也会学些新语言,取长补短。但我发现一个问题,这些新语言新框架老想从 Rails 挖人,但是却挖不对重点。我引用一篇文章 Why Hanami will never unseat Rails,把转换 Rails 程序员作为第一宣传手段是没有前途的。
Rails 的崛起是因为它创造了一个生态、一门理念,理念是跨越语言的,Rails 当年不仅是转化了 Java、.Net、PHP 的程序员,而是转化了整个 Web 开发领域,在 Rails 之后几乎所有 Web 框架都长得像 Rails。那么向 Ruby on Rails 发起挑战的语言/框架的理念是什么呢?我很少看到相关的介绍,更多的是“Rails 哪里 blabla 不好,X 框架解决了这个问题”,这只能忽悠到一些学 Rails 未精的人。我多希望你们多分享一些新的理念,让我们互相促进。
最后,对初学者说,Rails 没有问题,核心的人没有离开。如果你身边没有这样的环境,放眼到开源社区中去,全球 Ruby 社区比你看到的大得多。
不想动
谁说这里是后端社区?
不过这代码有问题:
<% if @user.articles.any? %>
<% @articles.each do |club| %>
判断 @user.articles.any?
却遍历了 @articles
,到底用哪个?
这个例子没必要改,别的写法更复杂。
用 SecureRandom.uuid
$(".selector").flatpickr(optional_config);
本身 API 就很简单,写那么复杂干什么?
apt-get install build-essential
错误信息贴全
gem install nokogiri
然后把错误信息贴全。
一楼不是吗?