• 可以学,然后自己用来做点小项目,非常舒适。但是想要用 Ruby 去找工作就算了吧。

  • Ruby 在 LLM 时代还有戏吗? at 2025年06月29日

    Ruby 的优势之一就是语法精炼,开发速度快。现在 AI 时代,开发速度快慢跟大模型精准度有关。目前的很多反馈是 Go 这样的比较直白并且静态类型的语言用 AI 输出错误率比较低。Ruby 本来也已经很少人用了,现在 AI 时代,“对开发者友好”的优势荡然无存。

    Ruby 引以为傲的元编程会也逐渐消失,现在不需要“生成代码的代码”了,只要用自然语言去写 prompt 就够了。Ruby on Rails 引以为傲的一键生成项目目录,约定优于配置等概念,在 AI Console 编程时代已经即将要被淘汰了。

    Go 性能强悍且部署方便,Java 也越来越成熟稳定,Ruby 相比下来没什么必须理由去选择了。TIOBE Index 排名已经 20 开外,大概率会在时代的洪流中逐渐消失。

    目前还是编程领域过度阶段,目前来看还处于各方混战的时候,AI 编程远没有定型,还有很大的发展空间。我认为很可能会在某个时间,某一个语言会像 Javascript 统治客户端一样,成为 AI 编程领域的主流语言。

  • Ruby 没有类型系统,用起来不太安全放心的感觉。鸭子类型感觉用处没那么大。导致经常要用 .to_s 或者跳转到函数定义那里去看类型。有时候常常幻想,如果 Crystal 能和 Ruby 一样流行就好了,估计会撼动 Java 地位。

    很多人其实是喜欢 Ruby 的语法而非其灵活性。Ruby 的灵活性不好掌握,写出来太灵活的代码自己和别人都难以读懂。这种灵活性让 Ruby 适合元编程,但元编程是一个小众需求。

  • Roda 推荐,开发者比较靠谱。路由写法需要熟悉下,可以配合 sequel 性能强大。

    Sinatra 和 rails 太像了,不如直接上 rails。

  • Solid 系列看起来很不错,只是 sidekiq 配合 redis 已经很成熟的方案了,现有用户迁移需求不大。

    kamal 部署工具并没有让布署变得更简单,docker 是个大坑。能看到 rails 在减少部署复杂度方面做的努力,但布署真的是一件复杂的事情,靠工具没办法做到一劳永逸,只有用上了 heroku、vercel 那样专门公司做的服务才能让布署变的享受起来。

    看出来了,Rails 8 的整体方向应该是提升 DX,减少依赖降低新手入门门槛(毕竟新开发者越来越少了)。

  • 前后端没有分离的时候,HTML Form 中的 password 栏位就是明文传输的。用上 HTTPS 以后,数据传输层就加密了。服务端无论如何是要使用密码明文来做验证的,发送请求前再 Hash 一下纯属多余。

    <input type="password" id="password" name="password" required>
    

    1. HTTP 请求中的数据传输(不安全)

    假设表单中的用户名和密码分别为 user1password123,提交表单后的 HTTP 请求可能如下所示:

    请求头

    POST /login HTTP/1.1
    Host: example.com
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 29
    
    

    请求体

    username=user1&password=password123
    

    在这个请求中,表单数据(usernamepassword)以明文形式传输。如果有人在数据传输过程中拦截了这个请求,他们可以直接读取用户名和密码。

    2. HTTPS 请求中的数据传输(安全)

    对于 HTTPS,虽然表单数据内容是相同的,但它们在传输过程中是加密的,因此无法直接查看明文数据。以下是数据传输的基本结构,但内容是加密的:

    请求头

    POST /login HTTP/1.1
    Host: example.com
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 29
    
    

    请求体

    <encrypted data>
    

    在 HTTPS 中,浏览器和服务器之间建立了安全的 TLS/SSL 通道,所有传输的数据都会被加密。拦截者无法解密这些数据,因为解密需要 SSL/TLS 会话密钥,这些密钥只能由浏览器和服务器生成和共享。

    总结:在使用 HTTPS 时,即使有人截获了网络请求,他们看到的也只是加密后的数据,而无法直接读取用户的敏感信息。

  • 桌面 1:Windows + WSL

    桌面 2:Linux Mint

    服务器:Ubuntu Server LTS

    Mac Mini 吃灰(偶尔开 Sketch 时候用一下)

    Macbook Pro 出门备用

  • 编辑器的发展趋势? at 2024年03月10日

    我自己用 Emacs,学习起来是有些费时间,好处是这个编辑器一旦习惯了能用一辈子。毕竟 1984 年就有了,比很多人都年龄大了,现在还是经久不衰。

  • Turbo 解决了一些问题,同时也带来新的问题。再加上 Stimulus 完全没生态。还是得搭配 React 使用。 前后分离是一个很完美的搭配,Rails 与其硬刚前端,不如搞一个和 React 完美整合的方法。

  • stimulus.js 初体验 at 2022年08月25日

    Render react 时候,有什么好办法能把 Stimulus 的 value 和 React 的 state 关联起来吗?由 stimulus 引入 react 这种方式管理组件状态时候会遇到很多麻烦。

  • 很重要的原因是 Turbo Stream 返回内容中的 <script> 不会被执行。现在最新版本已经修复这个问题了。 https://github.com/hotwired/turbo/pull/660

  • stimulus.js 初体验 at 2022年08月05日

    最大的问题还是生态不好,用起来轮子少,很多组件都得自己撸,很费时间。去 NPM 上搜到很多组件都是 react/vue 的,就是很羡慕。

  • Spacemacs + Ruby on Rails layer

  • 虽然是老帖了,但是还是回复一下。

    在 Stimulus 中也存在类似的问题:在启用 turbolinks 的页面中相关区块的 connect() 方法会被调用两次。这个问题现在还存在于 turbolinks 中,不确定是否在 turbo 中有解决。

    https://discuss.hotwired.dev/t/controller-initialized-twice-when-visiting-from-a-turbolinks-page/17

    turbolinks 首先读取 preview cache 中的内容,这个时候 js 会被执行一次。同时会从远端获取最新内容,返回后会替换 DOM 并再次执行一遍 js。

    我自己琢磨出来比较简单的解决方法有两种:

    1. 在相关页面使用 <meta name="turbolinks-cache-control" content="no-preview"> 关闭 preview cache

    2. connect() 方法中增加判断,如果页面存在 data-turbolinks-preview 这个属性就跳过相关操作

    export default class extends Controller {
        connect(){
            // Turbolinks is not displaying a preview
            if (!document.documentElement.hasAttribute("data-turbolinks-preview")) {
                // Only run one time
                this.doSomething()
            }
        }
    }
    
  • 感谢,这个就是我想要的。

  • [东南亚] 招聘 Ruby 工程师 at 2018年12月31日

    东南亚只要不是新加坡,基本都是传销、赌博、诈骗的集中地。😂

  • 其实我就是想要这个函数 group_by,在 Array 类里找了半天无果。😂

  • 感谢,这段代码很烧脑。inject 的方法大概看懂了。

    第二个方法大概看了下好像更恐怖的样子。

  • 有些人发帖跟放屁一样随便,随便敲几个字都不过脑子,标点符号都不会正确使用。这样的人适合去百度贴吧和初中生交流。

  • 咨询小公司网络配置方案 at 2015年06月17日

    网络方面,要布线,组网 网管方面,要域控,杀毒

    术业有专攻,这些东西不是学软件的能轻松搞定的。你姐夫来问你,估计是要你来做兼职网管了,呵呵。

    不是购置什么硬件的问题,就算别人推荐了,那些东西也不是轻松就能搞定的,即使安装起来了,后续的维护问题也多得是。光打印机共享可能遇到的问题就会让你抓狂……BTW,换墨会不会?

    你姐夫需要的是一个专职网管,而不是配置方案。

  • 只差一个程序员系列。

  • 哈哈

  • 关于中文与英文的先进性 at 2013年10月17日

    英文的最小单元是词,出现新的概念或新的涵义往往会用新的单词,中文的设计以字为最小单位,复用性很高,出现新的概念或涵义往往是将不同的字组合起来,而且多数情况可以通过单字的含义推测新词组的含义。

    所以在英文环境中,出现新单词的需求量非常大,但在中文环境中,很少会出现发明新字的情况。因此,英语的单词量会随时间越来越多,是发散型的,人们需要记忆越来越多的单词,但中文则很少有新的字出现,属于收敛性,人们只需要学习最基本的字义即可应付大部分场合。

    英语的词汇总量高达 150 万+。而且每年以 2000+ 新词的速度在递增。目前汉字的总数 8 万+,常用的 3500,历代日常书面语常用的不同的汉字数量一般都在 3000-4000。数量上并没有超过最初的文字甲骨文。

  • Writings.io 失败了 at 2013年09月26日

    我只是有点好奇,当时为什么要做这么个项目?一拍脑袋就去做了吗? 看看之前做的那个论坛,刚开始也是很不错,拿来运营都可以了,现在好像都没几个人了吧。 希望下个产品成功。

  • AOL Reader

  • 景安香港 VPS,很稳定,无备案,响应快,带宽小。 美国 VPS 推 godaddy,很稳定,连接响应稍慢。

  • 总是会看到很多这样的,我朋友朋友如何如何做了个垃圾站/英文站/行业站怎么怎么赚钱,就好像自己做也能赚到似的。

    还没开始动作就纠结了,你不妨自己先去试试,相信我吧。坚持不了几天,信心很快就没了。你说的那几件事情真不是看起来那么简单。

    “到底是做 25 万周薪的替补曼联鲁尼,还是 15 万周薪的皇马主力鲁尼”,这个太让我哈哈了,就好像在小学一年级就开始深深的纠结于到底是上清华还是上北大。结果呢,往往自己花钱上了个三本。。。

  • 开发的女孩子伤不起! at 2013年08月05日

    看头像应该还不错,至少身材可以。多出去参加活动,不要把自己局限在工作的小圈子里。自己开车上班不是什么难事,但也不是很重要的事,重要的是找到一个可以每天开车接送你的男人。没有男人照样过日子,只是年轻时候的想法。对女人来讲,最重要的就是二十来岁的时间了,别把自己浪费在代码上。多花时间在穿衣打扮上,学着怎么吸引男人(这并不比做开发更简单),女程序员也可以是白富美。

  • 自己刷的 21.2 G 毫无压力,当时可是刷了一上午。