话说出来是给人看的,技术交流对就是对,错就是错,别人有没有深入了解和你说话对错没有关系。
你的规律显然也是错的,挑出你的错是为你好,证明不了我的威严。
那么你觉得你举的例子跟 JIT 有关么
我再问你个问题吧。。。什么时候 JIT 会慢...
你先等等。。。
标准 Lua 是没有 JIT 的
那个文件是给 sprockets 4 预留的时间但是鉴于 4 难产,所以没啥用了
您这帽子扣得也是有点大
工程师解决的难道不是真实世界的问题么,如果把“技术浪漫”理解成研究更高级的技术来解决问题,这不正是作为工程师的职业精神的体现么?
感觉你提到的技术浪漫是有负面的观点在里面,那么你是怎么定义的?
换个角度,如果一个环境能够让工程师去追求技术浪漫,这对工程师而言不应该是一个理想的工作环境么?而 Rei 的观点是,这和一家公司的技术品味(用什么样的技术),有正相关性(尽管没提出什么数据)
欢迎加入 RubyChina~
ok。。。有机会能请他们在 RubyChina 上分享下就好了
现代前端时代 Rails 怎么和 React 这种框架配合是我比较疑惑的地方,有点激动了哈哈
移动端和 React 前端是共用 Rails 提供的 API 么?另外后端 Rails 是完全提供 API 么?还是说也有做 React 的 SSR?或者说是也有传统的后端预渲染?这块你们的技术团队是否有相关的文章介绍呢?
看 Linkedin https://www.linkedin.com/jobs/search/?f_C=162479&keywords=Ruby%20on%20Rails&location=Worldwide&locationId=OTHERS.worldwide 苹果大量产品线是基于 Rails 的,我现在的同事(前美国苹果总部员工)也提到过
好奇 你们 React 和 Rails 是怎么协作的,系统架构和团队分工上(全栈两边都写?还是前后端两个团队?那么如何协作?)
但是可以开了嘛,就跟 jemalloc 一样
2.6 的性能提升会更加明显,JIT is coming...
需要关心本身实现么?
文档开篇说的什么?
The Comparable mixin is used by classes whose objects may be ordered. The class must define the <=> operator, which compares the receiver against another object, returning -1, 0, or +1 depending on whether the receiver is less than, equal to, or greater than the other object. If the other object is not comparable then the <=> operator should return nil. Comparable uses <=> to implement the conventional comparison operators (<, <=, ==, >=, and >) and the method between?.
讲得不够清楚?
我发的不是 module Comparable 那是什么?
跟 C 有什么关系? https://ruby-doc.org/core-2.4.0/Comparable.html 自己看
class SizeMatters
include Comparable
attr :str
def <=>(other)
str.size <=> other.str.size
end
def initialize(str)
@str = str
end
def inspect
@str
end
end
开头这不就是你的例子么
另外,你拿 Comparable
做例子,可文档里都写的很清楚了,你先看看文档就不会有这么多问题
我不是挑你刺,但我希望你先写好代码,再出来扯有的没的,何况你扯了大段虚的概念(我在这就不评论你说的对不对),懂的人用不到你教,不懂的人你说的那堆也没法让人懂
def <=>(param)
self.size <=> param.size
end
那么,这么改之后,跟你原始代码比,简化了多少?
你改了 >
,那这部分呢?
def <=>(param)
if self.size > param.size
return 1
elsif self.size == param.size
return 0
end
-1
end
看不出来要不要我教你怎么改成一行?
module Comparable
def >(param)
if self.<=>(param) == 1
return true
end
false
end
...
end
你改出来的代码就这德行? self.<=>(param) == 1
的结果已经是 Boolean 了,你还 return true
什么?
做 Web:Ruby、JavaScript、CSS(SCSS 图灵完备,可以拿出来说是一门编程语言了)
个人成长:功夫在诗外,多接触一些典型、有特色的编程语言(这里并不是为了追求新、奇、巧,主流的 Java、PHP 也是值得学习的)对更好的写出 Ruby 代码也有很大的帮助,也对扩展自己的戏路跳出某语言开发帮助更大
你生成代码也没少多少,但是你的结论来自于你写错了,那么好,我给你正确的代码,你告诉我这叫代码没少多少?
我又来了,一条条来吧
咱们单纯说技术,说实话,我觉得贵司技术管理的理念有点...过于过时
我上司给我发一篇 java sonar 啥的文章,他觉得很神奇,我就告诉我上司,2013 年左右 王垠 写了 RubySonar 和 PySonar,我还给上司发了 Rubocop。
他的第一反应是:卧槽这什么鬼玩意(一脸排斥),我跟他说,我的 amber-kit 是借助它辅助编码的。
RubySonar 和 PySonar 不谈,来说说 Rubocop,它是 Lint 工具,我不知道你还有你的领导有没有意识到 Lint 这一点,但是,Lint 工具在软件工程上(不仅仅是某些语言)有非常进步的意义,可以说是当下的必备工具了。
即使 Java 领域,具体的实践推荐参阅 使用 Lint 改进您的代码 | Android Studio
首先,这一节立意就是错的,Ruby 的面向对象基于 Smalltalk 的消息模型,这个模型下,对象的作用是处理传入的消息,(纯理论层面)接口、泛型、甚至类型都不是必要的。
其次,你的代码。。。include Comparable
之后,只需要实现 <=>(other)
方法,你的代码只需要写成
class Size
include Comparable
attr_accesor :size
def <=>(param)
sefl.size - param.size
end
end
开完会继续
用 Sprockets 4 beta
一个合格的程序员并不应该被语言绑死,特别职业生涯发展到一定阶段后,同时接触多种语言的工作是很正常的。
我在学校参与科研项目主要用 Java,但是我可以利用 Python 清洗原始数据,第一份工作是写 PHP,但是我用 Ruby 去分析日志更好得完成我的工作(那时候做一些涉及数据库调优的问题修复)。这两个例子里,我的兴趣语言是我解决工作的良好助力
试试刚发布的 2017.3
搞静态博客其实还是为了折腾。。。真要写文字 Medium 简书 Wordpress 已经很好用了