• 我的天!我能说我有点儿沉迷这个连载了嘛~

  • 111 at 2020年11月16日

    国内那么多大厂的顶级技术人员

    看了这句话我有点想呵呵~那么多?大厂的 顶级?技术人员

    从绝对数量来说,大厂的高水平程序员肯定是多的,因为人口基数就在那摆着。但从相对比例来讲,一个大厂的高水平程序员占比不一定比得过一个初创团队。即使是一个 Java 为主的初创团队。

    大厂能大起来是因为当手脚的人多,不是当脑袋的人多。Java 这么多年在大厂是主流那是因为适合堆人,可替换成本低。单纯地比较使用人数,生态圈大小这些都是没有实际参考意义的。盲目崇拜跟风学大厂,基本都把自己玩死了。

  • 111 at 2020年11月05日

    @ericguo @u1440247613

    借两位大哥的金句改编一首打油诗。

    比通用,争赋能,重写一遍再一遍。 大中台,小前台,坑死一家是一家。

    哈哈哈哈~~

  • 优化国内 rvm 安装速度 at 2020年09月17日

    一直在用改 host 的方法,哈哈哈~

  • 可以可以!大东北能给到 25 很可以啦。

  • 让我再回一次水帖,再一次就好。

    阿南的入社评估结束了,他刚走出资质委员会的评审厅,我就跑了过去。

    “结果怎么样?”

    阿南不说话,低着头,把测评卡揣到我格子衫的胸兜儿里。

    我拿出测评卡,通过了直系亲属瞳孔扫描认证,防窥探投射系统把测评结果投射到了我的瞳孔里:“归类:基建组。脑力挖掘上限:30 年。”

    我追上阿南,“不错啊,小子!像你爹,是个智力型人才!”

    阿南不说话,点起一支烟,凹着腮吸了一大口,接着向前走。

    “哎~你可以做 30 年脑力挖掘呢!一看就是聪明人才干得了的活儿。”

    阿南不说话,加快了步伐,在信号灯马上变红的时候,冲到了马路对面。

    “哎!你个兔宰子着什么急啊?小心脑子撞坏了。”

    阿南在马路对面转过身,对着我大声说, “脑力挖掘,就是在你脑袋后面开个洞,连上生物电极,诱导脑电按照预设指令,执行量子机还无法实现的高阶模态计算。”

    阿南眯着眼,一大口把剩下的烟全吸了,狠狠踩灭扔在地上的烟头,然后用食指戳着自己的脑袋喊到,“脑力挖掘,就 TMD 是挖我的脑子啊。”

    起风了,阿南绷紧了身体,嘴唇微微抖动着,长长的发在风中飘得凌乱,挡住了眼睛。

    我激活了眼镜上的瞳孔投射系统,用我的最快眼动速度 30AOI/Sec 翻阅昨天刚刚拿到的国秘部 GB-20603321《9G 脑机系统建设要求》,在人机交互模块发现了这样一段描述:”须支持至少 100 万脑电长连接,稳定运行时长不得低于 70 万小时……

    待我关闭投射系统,阿南已经不见了,我拿出了 40 年前的 iphone 11, 通过自建的加密线路给阿南发了一条消息:跑!快跑……

  • https://www.codewars.com/ 这个网站我用过一小段时间,上面有 Ruby 的题,更偏向于熟悉 Ruby 的一些内置方法还有语法基础巩固,楼主可以看看适不适合自己。

  • @Rei 21 楼,灌水的,赌博网站广告。

  • Umm...我来回一个水帖,分享一个基于真实事件的故事。

    年后,老张把我拽到了现任公司,说有个比较大的新项目,要我来狠干一票。项目开始前,经过冷静客观的分析,Rails 成为最合适的选择。

    我信心满满地跑到了老张的工位,“老张,上 Rails 吧,没毛病。”

    ……(省略五千字对话)

    老张叹了口气,对我说:“兄弟!虽然是我把你拽来的,可是你要是用 Rails,我就得下岗了呀!”

    我回头看了看角落里 navicat 手动连 mysql 导入 sql 改表结构的 java 程序员,又瞧了瞧隔壁红着眼睛盯着屏幕里《企业中台建设方案》ppt 的架构师,又瞅了瞅老张桌子上积满灰尘的《人工智能时代》,有点儿出神。突然,大厅里响起了一声谩骂:“艹!谁 TMD 本地启服务不改服务名?!”我被这一声怒吼唤回了神,默默地回到了座位上,运行 rails new 新建了一个项目,然后用力敲击键盘,在 home page 用 h1 字号写下了一句“Hello,world!”

    五个月过去了,新项目迟迟还没有启动,在一个微风扶面,带着丝丝凉意的夜晚,我和老张走在下班必经的小树林里。

    “老张,那项目啥状态了?啥时候开干啊?”

    “嗨!别提了,半路杀出来个阿里,抢走了好多核心业务。合同还没签下来呢。”

    老张点了根儿烟,接着说,“MD!老子在大老板那牛逼都吹出去了。”

    我拍了拍老张对他说,“能拿下点儿,是点儿,在甲方那再使使劲儿,别总微服务,人工智能的,区块链的,不新鲜了。”

    老张狠狠掐灭了眼头儿,“行,等信儿吧,我再约他们喝一顿。先走了。”

    老张钻进了他的 suzuki 小汽车,一溜烟儿开走了。

    昨天一大早,老张来到我的工位,“兄弟,拿下来了!未来三年都有吃的啦,后台管理的增、删、改、查全是咱们的!”

    “额,恭喜恭喜啊,这回你年终奖少不了吧。”

    “嗨呀!哪有,多亏你帮我弄的 ppt,把那群家伙唬得一愣一愣的,啥边缘计算,WebAssembly 的他们都没听过,哈哈哈!”

    我冲着老张微微一笑,“那这回我上 Rails 更没毛病了吧。”

    老张撮了撮手,“那啥,用不用 Rails 咱们回头再聊,反正甲方指明了 java 微服务不能少。啊,对了!还说要用个什么微前端的东西,你抽空也研究一下吧。”

    “那……”我没来得及说话,老张的电话响了,“哎呦!王总啊!……对对对,拿下来了,拿下来了!……哪里哪里,还是您指导有方啊!……”

    我看着老张,他变了,他再也不是那个曾经跟我一起喝着美年达通宵改 bug 的老张了。

    我缓缓地在终端打下 subl,启动 Sublime text,然后把那行 h1 标题中的 hello 改成了 F**k you。

    快下班了,我在电脑旁出神,老婆的来电响了许久我才拿起电话。

    “我爸手术安排在下周了,手术费还差两万。”

    “行,知道了,我想想办法。”

    “对了,尿布到了,放在门口超市,你回来的时候取一下啊。先不说了,又尿了……”

    我望着桌边崭新的《算法导论》,慢慢抚摸着陪伴我 8 年的 filco 键盘,把那行 h1 标题中的 world 改成了 life。

    全文完。

  • 这才哪到哪,比起搞前端的幸福多了呀,几乎整个 api 都给你换掉好不好~

  • null at 2020年06月01日

    Umm...我是在做纯前端工作三年以后开始接触 Rails,记得第一次把 Rails 跑起来大概是用了一个礼拜。当时正在空档期,平均每天投入时间在 6 小时左右,第一天装了 linux 系统,第二天和第三天基本是在摸清概念,Ruby 基本语法、rvm 是啥?gem 是啥?bundler 是啥?bundle 又是啥?sprockets 是啥?和 webpack 啥区别?db migration 是啥?和 sql 啥区别?。。。经历了一顿薅头发之后,第四天才开始安装 Rails,在第五天的深夜跑起来 Hello World!我想说,以当时我的水平而言,挺难的。。。

  • Rails inverse_of 研究 at 2020年05月26日

    哈~哈哈哈~大哥你也加油。

    ps:拿出手机,打开前置摄像头,掀开刘海儿~偷偷照一照我的发际线。

  • Rails inverse_of 研究 at 2020年05月20日

    补充一下,按照 Rails 6.0.3.1 源码里的写法,如果是 polymorphic 类型的 belongs_to associations 也不能自动计算 inverse_of。 @hw676018683 楼主有没有兴趣再翻翻源码,我最近经常自我怀疑,不太相信自己的判断~😂

    def can_find_inverse_of_automatically?(_)
      !polymorphic? && super
    end
    

    https://github.com/rails/rails/blob/v6.0.3.1/activerecord/lib/active_record/reflection.rb#L735

  • 老伙计太高产了,就指着你这译文系列摸鱼了,哈哈哈~

  • 谢谢!

  • 兄弟你做批发还是零售?方不方便贴个链接,我看看有没有买得起的。😀

    我看你回帖里很多是推荐小鸟,粉爱?

  • 时隔 7 年这个帖子被我再次发现!其实我倒觉得append_featuresincluded比较好区别,在不了解实情前容易蒙蔽的是append_featuresinclude的关系。一楼大哥 @lgn21st 的概括,在 stackoverflow 上找到了一个详细版本,供发现这个帖子的朋友们参考,Ruby modules and Module#append_features explanation ,加上 Matz 的澄清应该就算是一个比较圆满的答案了。

  • 对此回复表示无比赞同。

  • 虽然没深入研究过,但 tailwind 也挺不错的。不过直观感觉是它和 bootstrap 不是一类东西,介于 tailwind 的设计思路,它的 class 实在是太多了😂 记不太住。。。

    如果能够在以 utility first 的理念为核心的基础上,再来一层抽象度高一点的封装,把常用的组件来个基本样式可能会更好。官方的付费 ui 还是有点小贵的呀。

  • 无意间发现一个做框架使用率统计的网站,不知道数据准不准,有全球的还有中国的,能看到有哪些站点在用 Rails,可以参考一下。

    https://trends.builtwith.com/framework

    https://trends.builtwith.com/framework/Ruby-on-Rails

  • 哈哈哈!掌门的魔爪已经伸向前端界了。支持一波!

  • 可以呀!老伙计!

  • 哈哈~谢谢大兄弟鼓励啊!没想到这么旧的帖子还会被发现。 还是不要流行了,维护的精力有限,工作一忙,都没有时间更新。

  • 传奇大佬连载更新了!

  • 你的结论是对的。

    这个是《Ruby 元编程》里的解释:

    You’re probably wondering where the block picks up its bindings. When you define the block, it simply grabs the bindings that are there at that moment, and then it carries those bindings along when you pass the block into a method.

    补充一哈交流交流,本质上应该是变量作用域的问题吧~ Ruby 中的 block 和 proc 应该都是能够实现扁平作用域和共享作用域的方式,如果在其外已经定义了 local variable,那么在其内是可以共享到定义变量的 scope 的,但是如果没有在其外定义而是在其内定义,那么这个内部定义的 local variable 的 scope 只在 block 或 proc 内。所以就有了上面你说的不同位置定义 x 最终值不同的问题。

    关于上下文环境绑定的问题,类似机制应该不局限于闭包,来段《Ruby 元编程》中抄来的代码。

    class MyClass
      def my_method
        "original my_method()"
      end
    
      def another_method
        my_method  # using has not been called, so still the original my_method
      end
    end
    
    module MyClassRefinement
      refine MyClass do
        def my_method
          "refined my_method()"
        end
      end
    end
    
    using MyClassRefinement
    MyClass.new.my_method       # => "refined my_method()"
    MyClass.new.another_method  # => "original my_method()"
    

    感觉 Ruby 对于上下文环境的绑定是在定义时就具体到了被引用的变量和对象等。而对于像 javascript 这样的语言,像是只绑定了一个上下文环境指针,执行的时候再从这个上下文环境中再查找对应的变量、对象等。不知道猜得对不对。

  • 吼吼吼吼~真香啊~

    我现在每天早上到公司先自己看一个小时的书,不干活,下班就开免打扰模式,而且跟项目经理坦白了。。。 有次部门经理路过问我看的啥,我回答了一个字:“书。”貌似我就是那种牵着不走打着倒退的员工,哎呀好丢脸。

    不过,说真的,感觉如果在一个条条框框特别多的团队里,还是得以自己为主,要不得被公司拖死。

  • 啊~补充一下,据说微前端这个概念曾在 twitter 上引发过激烈的辩论,无奈梯子挂了,没看到。dev.to 上有个帖子下面的争论也值得一看 https://dev.to/dabit3/building-micro-frontends-with-react-vue-and-single-spa-52op

  • 从我个人的视角来看是借微服务蹭一波热度的概念炒作。目前开源可用的轮子也是局限性很强,落地轻飘飘。非超大型团队、超长期项目基本上不适用,而且要尽量保证各个团队业务独立自治度高。

    至于比较正经的介绍,请看这里喽~ https://micro-frontends.org/

  • Java 微服务横行的一个重要原因是很多决策者和掌权者根本没看清自我团队的现状,纯是被营销过度洗脑或者追逐所谓的“前沿技术”一意孤行。另外,还有一大部分都是为了 ppt 好看。

    不要问我为什么知道,我都被逼得开始搞所谓的微前端了。。。F**k!