• kimi 可以。而且 AI 的翻译相对比较准确流畅。

  • 看样子要学着 Java 来搞各种“层”,培养照猫画虎工程师。

  • 它已经告诉你答案了。

  • 现在连换一门语言写都能被叫作重构了。

  • 如何进行测试驱动开发 at 2023年09月11日

    TDD 感觉更像一种设计手段,强迫你写出容易测试(易用)的接口。

    文中对“为什么要测试驱动开发”的回答,其实只是在回答“为什么要写测试”。

    另外测试不是重构的前提,没有测试也可以重构。

    最后多数人嘴里所谓的“重构”其实不是重构,重构其实都是些很小步很细碎的代码移动、提炼等等操作。重构严格按步骤来的话,本身完全不改变程序逻辑,原来逻辑是错的重构后还是错的,原来是对的还是对的,所以其实也就无所谓测试。

  • 再见啦,Ruby on Rails at 2023年09月10日

    还有写不出来 10 行以内的简单方法可能也容易依赖这些特性吧。毕竟代码写得复杂,脑容量就不够了。

  • 一直 Vim + NERDTree

  • 再见啦,Ruby on Rails at 2023年09月07日

    最近也在被强迫使用 TypeScript。Ruby 和 JavaScript 用久了,总觉得 强类型(被博客带歪了) 静态类型提供的那些约束本该是程序员自己的意识,主动思考还是被动思考的差别罢了。我觉得程序员写代码时的思维应该是主动的、清醒的、活跃的,而不是被动的、怠惰的。

    另外,没看明白什么叫“不能正确处理代码接口”?

  • 远程外包的坑 at 2023年08月05日

    等你刚问完、讨论完、开完会,他们会问你“快开发好了吧”。

  • Struts 1 默认用的 .do,不过这个其实 Servlet 都可以随意配置,改成 .html 都行。

  • 另一条路子:独立开发,爱用啥用啥。

  • 读书人的事,能算偷么?别在意这些细节。

  • Ruby 的发展思路有问题 at 2023年04月01日

    根据本帖讨论的内容搜到一个帖子:http://129.226.226.195/post/24983.html 为什么将 Python 用于高性能/科学计算(而不是 Ruby)?

    不过读着像是机翻。

  • CSS 设计之 ITCSS at 2022年09月14日

    这套方法似乎必须依赖 SCSS 来实现是吗

  • 原来如此

  • 我之前拿 JSON:API (有点类似 GraphQL) 对比了一下传统 API. 我不知道自己有没有理解错,跟大家交流一下。我感觉这种方式几乎是直接把后端的模型暴露给了前端,前端在知道后端的模型之后,可以直接根据规范针对已知的模型进行种种操作,包括但不限于:按属性排序、按属性过滤、列表、分页、查看详情、删除、更新等。如果再定义了模型间的关系(比如 has many comments),还可以通过 side loading 和 side posting 的方式对模型及其相关联的模型同时进行查询和修改,可以自由控制数据的粒度,似乎也省掉了很多前后端沟通。这样基本上弱化了后端的功能,后端直接退化成了一个对象数据库。

    跟传统 API 的区别在于,传统 API 返回的某些字段可能是后端计算之后返回的,JSON 结构也可能跟后端模型不完全一致。如果直接返回原始模型给前端,这样的计算工作会被放到前端,一些业务逻辑也都往前端移了,最终的结果是前端计算量和代码工程量都变大。而一个项目中,前端可能有很多种实现,比如 HTML, Android, iOS 等,这些前端的工作量都跟着变大的话,感觉不是很划算。我没有在项目中使用 JSON:API 和 GraphQL 的实战经验,这只是我在粗略了解 JSON:API 之后的一些推测,不知道实际情况是不是这样。

  • “确保后端返回的 json 和前端 ts 里的 json 是相同类型的”不是太理解。在我看来 API 是个契约,它一变动,前后端都得跟着作调整,你的意思是把这个前后端开发者协调的过程给省掉吗?不太明白是打算解决什么问题。

  • 你说的这些 REST 的缺点,JSON:API 似乎都补上了。

  • 😀 大公司的人,是不一样。

  • 类似这种帖子我总想问一句:然后呢

  • 福州居然有用 Ruby 的

  • 母语和英文还是两回事的。当然,也不排除你的英文达到母语水平。

  • rvm 被墙了怎么办 at 2022年02月10日

    如果 1 楼的方法能行,用浏览器能下载只是用命令行 curl 访问不了,说明你是翻过去的。

    这样的话装个 proxychains 再配置一下,然后 proxychains curl -k -sSL https://get.rvm.io | bash -s stable

  • 我觉得面向对象是一种比较好的管理复杂度的方法,贫血模型本身很反面向对象,没有对数据进行细致地分类,很容易出来一堆长参数列表的方法,那些 manager 也很容易被设计成单例或者干脆就是只含静态方法的类。而这些方法里边的逻辑本该可以被更好地组织起来。

    哈哈,说白了我个人比较排斥贫血模型。

  • stripe 是用 ruby 开发的吗? at 2021年04月30日

    那难怪了 ~ 话说现在前端有没有类似的框架?我前段时间琢磨着拿 Backbone 配合独立的 virtual DOM lib(例如 maquette)用起来算了。

  • stripe 是用 ruby 开发的吗? at 2021年04月30日

    居然还有在用 Backbone 的。说真的我特别喜欢这类啥都没有的框架。

  • 利用好元编程重构下代码 at 2021年04月16日

    我会把 by_xxx 的参数 price 和 months 放到构造方法的参数列表里,再 new 出 4 个对象分别取 attributes。按照你目前的写法,其它方法会依赖 by_xxx 方法先执行,如果 by 方法不调用,其它方法会出错,这样的对象在使用上不太友好,别人不容易注意到这个约束。

    剩余的部分我跟你差不多。另外我会照习惯把 SaleDetail#attributes 之外的方法全部声明为 private,并且不开放 attr_reader。

    嗯… 然后我可能不会写那个 %w[month quarter semi_annual year].index_with

  • 卖几本书 at 2021年01月25日

    🙄🙄 我这也有你要不?

  • 卖几本书 at 2021年01月24日

    不是一本一本卖啊,我每次都是同时卖好几本,每一本书只要挨个条码扫一下,然后等着顺丰上门来收就好了,打包给你收走,对方会出运费。