Access denied, Please sign in and make sure you have proper permission.
  • Install Ruby on Apple Silicon at 2020年12月07日

    从你的错误提示看,只有 postgresql 你装的时候指定要 x86 的了,下边依赖都是 arm64 的,那直接去掉 arch -x86_64 就应该可以了,如果你之前装一些 brew 的软件包混杂了两种架构的,编译时遇到错误,就用正确架构重装即可

    这个跟安装路径无关,会不会编译成 x86 只看你是不是带了 arch -x86_64 或者是给终端设置用 Rosetta 运行的属性(这个是很多网站介绍的技巧),如果都没有做的话,默认就会是 arm64

    此外 2.6.0 也没有正式支持 M1(所以我才说要手动安装 Homebrew,因为你直接用官网的安装命令在 arm64 模式下会直接报错停止安装),之所以提议改到 opt/Homebrew 是因为过去 Homebrew 的默认路径是 /usr/local 考虑 Rosetta 会至少长期存在若干年,两种不同架构的 brew 并存是大概率的,于是就得给 ARM 版的 brew 找个新位置避免冲突,其实就是解决你现在遇到的问题,就是不同 arch 的 brew 软件包不能混用

    更具体的 M1 的支持进展可以看我帖子里引用的 https://github.com/Homebrew/brew/issues/7857 ,虽然 Homebrew 在 M1 Mac 上完全可以正常使用,但是官方故意宣称不支持的原因在里面有讲,关键原因还是官方不能保证有足够多的软件包在 M1 macOS 上正常编译和使用顺利,他们才刚刚配置起 M1 的 CI 环境来逐步验证所谓的核心软件包

  • Install Ruby on Apple Silicon at 2020年12月06日

    Error: postgresql dependencies not built for the x86_64 CPU architecture: pkg-config was built for arm64 [email protected] was built for arm64 readline was built for arm64

    这个错误已经说的很清楚了,你系统里的 pkg-configopenssl 都是 arm64 架构的,你用 arch -x86_64 brew install postgresql 指定装 x86 架构的,显然是不可能的,pg 支持 m1,所以你直接 brew install postgresql 就可以了

  • Install Ruby on Apple Silicon at 2020年12月06日

    测试过了,可以安装,PG 编译需要的依赖太多, 我就用 Homebrew 来弄了,按官网教程手动安装后,再 brew install postgresql

    Rails 这边就直接 bundle 就可以了

    你可以这样试试

  • Install Ruby on Apple Silicon at 2020年12月04日

    这样就是 Rosetta 转译了,涉及到动态链接的,x86 和 arm 不能混用

  • Install Ruby on Apple Silicon at 2020年12月04日

    周末我来试试安装 PG 好啦~

    不过你得记得 pg gem 需要动态链接 postgresql 的 so 文件(没记错的话),所以你必须 arm pg 配 arm ruby

  • Install Ruby on Apple Silicon at 2020年11月29日

    更新了一下,顺便测试了了跑 Rails,没遇到什么大问题,干活差不多够用了。

  • Install Ruby on Apple Silicon at 2020年11月29日

    回答不了,超肛了。。。

  • PHP 微软下场移植的,除了 Zend 这个亲爸爸,还有 M$ 这个干爸爸,爸爸多就是好。。。虽然现在干爸爸不要他了 😂

    Ruby 对于咱们一般人,现在只能仰赖 WSL 2 了

    很讽刺的是,我在 RubyKaigi 上注意过,大多数日本的 Ruby Core 成员都是用 Windows 开发 Ruby 的(Mingw 环境),结果 Ruby 在 Win 上如此拉胯。。。对于国内还有一个问题是,mingw 的软件仓库被墙的,雪上加霜。。。

  • 这跟是不是“瞎扯淡”无关,你说话嘴这么碎,我一定要好好教育你,直到你学会怎么好好说话为止。

  • ENV['RAILS_ENV'] ||= 'test' 的意思是,如果 ENV['RAILS_ENV'] ||= 'test' 没有值,则给一个默认值 test

    不太清楚你所说的“重启 mysql 服务器后”是指什么,可能是说正式的服务器?看你的启动脚本,可能他是以 production 环境启动的。

    rails console 如果不给 -e production,默认是 development 环境

    如果你启动的时候要指定环境需要 rails serverrails console 都提供了 -e 参数(你可以通过 rails s --help `rails c --help rails srails server 的缩写形式 rails crails console 的缩写形式),比如 rails s -e test 就会以 test 环境来启动了

  • benchmark 目录位于顶层,我不相信眼睛没问题的人看不见,你不要谈论精通,你还没有入门

    当谈论 profile 的时候,要讨论在 profile 什么,实践上,任何语言,包括 Ruby 本身的开发者(他们是 C 程序员)也在使用各种工具,组合来证明一件工作的有效。 这跟语言无关,这是编程的基本常识,当你喷一个工具不能 "默认输出没法告知详细的性能消耗点" 的时候,你已经违背常识了,怎么不是哗弄取宠?

    作为一个过来人,一个长者,我今天不得不得罪你一下,我希望你:

    • 学习使用搜索引擎,通过搜索互联网上的文章,来解答你自己的问题
    • 熟读提问的艺术,用正确的方式提出问题
    • 你菜,请你以端正的姿态来交流
  • 不用谢,你的帖子我本来是可以直接处理掉(确实与事实相悖、无营养)

  • 111 at 2020年11月12日

    我不是外包程序员(当然我做过很多商业咨询)。

    我的观点是:工具生产力是最重要的,你谈到的那些都是表象,这些维度本身无法衡量,但最终都会体现到生产效率上。

    首先没有忽视这些事情:

    • 框架的意义除了解决特定领域的问题外,也约束了代码的组织结构。
    • Rails 和 Ruby 社区是相当推崇测试文化的,可以看到现在大多数语言上都提供了类似 Rspec 风格的测试框架。
    • Rubocop 之类的 Linting 工具也起到了约束代码风格的目的,现在类似的工具已经流行在新的语言上了,Ruby 在这块的投入是比较早的
    • Ruby 和很多编程语言并不依赖 IDE,Java 的那种形式重构依赖 IDE,但是 Ruby 提倡利用测试来完成重构,这种经验分享很多技术大佬都做过,而且重构这件事,本身就提倡先用测试覆盖好,因为比起重构时可能引入的代码错误相比,重构导致的行为变更是更可怕的,这个光靠工具给的保证是不够的。

    接下来请你回答几个问题:

    • 生产力和“代码的可读性,可维护性,可重构性,快速查重能力”冲突么?
    • 你的雇主和客户会为“代码的可读性,可维护性,可重构性,快速查重能力”付钱么?
    • 有什么样的指标来客观衡量“代码的可读性,可维护性,可重构性,快速查重能力”?
    • 你的工作经历中参与的项目,有多少做到了“代码的可读性,可维护性,可重构性,快速查重能力”?
  • 学习成本因人而异,我自己北大青鸟 Java + .Net 培训班出来,大学期间靠 PHP 写外包,Rails 和 Ruby 从来没学过,工作主要靠 Rails 谋生

  • 111 at 2020年11月11日

    学习成本因人而异,我自己北大青鸟 Java + .Net 培训班出来,大学期间靠 PHP 写外包,Rails 和 Ruby 从来没学过,工作主要靠 Rails 谋生

  • 你是想靠这种哗弄取宠的方式搏得别人的关注来回答你的问题嘛?何必呢?

    你之前也是号称读过 Ruby 源码:https://github.com/ruby/ruby/tree/master/benchmark 一个大大的 benchmark 目录不知道研究一下 Ruby 自己是如何评价性能的?

    或者看看提交记录,Ruby 的开发者们是如何证明自己对 Ruby 的优化有效的呢? https://github.com/ruby/ruby/pull/3750

    章亦春大佬(openresty 的那个)特别爱用的火焰图,Ruby 程序员也用啊 https://www.johnhawthorn.com/2019/09/precompiling-rails-templates/

    再看看大佬是怎么有理有据批判 Ruby/Rails 性能的:

    再者说了,你谈 profile,你要 profile 什么?

    不懂就老老实实问问题,少扯有的没的,你的真正问题是你无知且傲慢

  • 理论上,结尾加 .html 访问是可以的

    可以这样看,在你项目目录下运行 rails routes 可以打印出所有的路由

    输出结果比如:

    api_admin_service GET /api/admin/services/:id(.:format)

    注意 (.:format) 这一段,这就是说你的 url 结尾可选的可以附加一个格式,比如 htmljson,其实这是 Rails 为什么能够一个 url 返回不同格式的秘密(在 controller 上用 respond_with 或者 respond_to 来利用这个字段,默认是 html

  • 111 at 2020年11月08日

    那你的观点是? 另外,工具不谈生产力,谈什么呢?

  • Ruby-installer rbx 编译报错 at 2020年11月02日

    Rubinius 感觉已经没在继续了吧,WSL 2 是标准的 Linux 虚拟机了,如果编译有问题那说明是编译器啥的问题,在标准 Linux 上应该也会一样的结果。

    还是用 MRI 吧

  • 111 at 2020年11月02日

    能把语句写对这是最基础不过的了。。。写多了还没肌肉记忆非要让 IDE 让你生成这生成那的,这不就是因为语言太啰嗦才需要工具支持么

    我一直强调,真正影响生产力的是实现业务时的差异,楼上有人问你了,你把这些最基础的在 Java 上实现一下,再看看 Ruby 上怎么做的,更复杂的业务呢?

  • 111 at 2020年11月02日

    你谈到了“小”,小项目用什么都问题不大

  • 111 at 2020年10月31日

    😂

  • 尝试使用 Ruby 3 调度器 at 2020年10月28日

    当你一个线程有多个 fiber,要多个 fiber 切来切去的时候,这时候还是用的一个核…… 所以你很聪明的说 io 不涉及计算来绕开了这个问题

    Fiber 调度器改善的是:提高 IO 密集型应用的 CPU 利用率,这不叫“绕开了这个问题”而是,Fiber 调度器只为了解决 IO 的问题

    然后我想说的问题不是 io 的问题,而是计算的问题

    当 CPU 已经被充分利用时,使用调度器不仅没有意义,而且有害。 “计算的问题”跟 Fiber 调度器一点关系都没有,计算密集型的场景也不应该使用 Fiber 调度器。

  • Redmine,另外我听说几家 Linux 发行版公司都有自研的基于 Ruby 的用例管理平台,但是都不开源。。。

  • 赞!

  • 就恰好缺了 4 胶水语言

  • jasl@jasl-mbp:~$ irb --version
    irb 1.2.3 (2020-02-15)
    jasl@jasl-mbp:~$ irb
    2.7.1 :001 > a=[1,2,3,1,2]
    2.7.1 :002 > pa = a.pack("C*")
    2.7.1 :003 > b=pa[0,2]
    2.7.1 :004 > b == "\x01\x02"
     => true
    

    可能你用了盗版 Ruby?

  • 根据我过去的经验,这个东西本身是一个 OA 系统,但是各家的具体的行政任务是不同的,所以免不了定制流程或者二次开发...

  • 还没,我回头要一波,最近还要上传到国内