Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
BlueJack
@528070506
会员
第 102182 位会员 / 2024-07-02

[email protected]
深圳
8 篇帖子 / 45 条回帖
2 关注者
1 正在关注
0 收藏
未设置 GitHub 信息。
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 谈谈你现在的编程所有周边,看看比起几年前有什么翻天覆地的变化 at 2025年04月09日

    之前的方式和你这差不多 我在 VSCode 中使用代码补全和生成的一些插件,AI 提升了 30% 的开发效率,还是很棒的!

  • [深圳][2025 年 3 月 1 日]Ruby 线下技术活动 - AI Coding 专项主题 at 2025年02月21日

    嗯~ 支持

  • Rails + Nextjs 问题 at 2025年02月20日

    config/initializers/cors.rb 添加试试

    
    Rails.application.config.middleware.insert_before 0, Rack::Cors do
      allow do
        origins 'http://localhost:3000' # 前端地址
        resource '*',
          headers: :any,
          methods: [:get, :post, :put, :patch, :delete, :options, :head],
          credentials: true # 允许携带凭据
      end
    end
    
  • 【深圳】数超科技招聘 Ruby 开发工程师一名 at 2025年02月19日

    额... 确实没有邮箱

  • PostgreSQL 数据库删除外键约束引发的死锁问题 at 2024年12月16日

    总结::

    1. 死锁的背景:作者在一个 Rails 项目中部署了新功能后,发现数据库的一个从库 CPU 使用率接近 100%,API 响应时间变长,并出现了 Statement Timeout 错误。版本回滚后,问题得到解决。

    2. 死锁的原因:经过分析,发现死锁是由于一个 Rails migration 触发的,这个 migration 包含了对cars表添加repaired_at列和删除owner_id外键约束的操作。这个操作在从库上导致了死锁。

    3. 死锁的模式:死锁发生时,有联表查询语句在等待cars表的AccessShareLock,而另一个进程在等待users表的AccessExclusiveLock。这两个锁是互斥的,导致了死锁。

    4. 锁的类型:

      • AccessShareLock:在 SELECT 查询表时使用,仅与AccessExclusiveLock互斥。
      • AccessExclusiveLock:与其他所有锁模式互斥,用于 DDL 操作,如DROP TABLE、TRUNCATE等。
    5. DDL 操作的影响:在执行删除外键约束的 DDL 操作时,PostgreSQL 会对被引用的表(在这个案例中是users表)加上AccessExclusiveLock锁,这可能导致与其他查询操作的锁冲突。

    6. 问题的具体代码:问题是由以下 Rails migration 代码引起的:

      class AddReparedAtToAndRemoveFkConstraintFromCars < ActiveRecord::Migration[8.0]
       def change
         add_column :cars, :repaired_at, :datetime
         remove_foreign_key :cars, :owner_id
       end
      end
      

      这段代码中的remove_foreign_key操作导致了对users表的锁,从而引发了死锁。

    7. 其他思考:

      • 区分症结和现象:确认问题本身是什么,避免将问题的结果误认为是原因。
      • 主库为何没有死锁:主库查询请求少,降低了死锁概率。
      • 另一个从库为何没有问题:另一个从库虽然也遇到了死锁,但最终成功提交了事务。
      • 请求为何不是全部失败:PostgreSQL 的死锁检测机制会在 1 秒后回滚导致死锁的事务,所以大多数请求只是延迟,而不是失败。
  • PostgreSQL 数据库删除外键约束引发的死锁问题 at 2024年12月16日

    如果你的业务数据量非常大的时候 要谨慎使用 join 你可以认为这是一个地雷,不是不能用 要慎用 a.joins(:b).where(c: ['1', '2']) 所有的数据都会做关联 这时候可以改为: ids = a.where(c: ['1', '2']) b.where(a_id: ids )

  • 如果用 spreadsheet_architect 导出这样的表格 at 2024年12月13日

    Good idea 学到了

  • 公司做了 3 年的项目管理软件,可能要被阿里“Teambition”替换 at 2024年12月06日

    公司人多,切换系统很复杂,执行也费劲 主要是成本上,我的 要远远大于 阿里的

  • 用 OCRA 打包成的 exe 程序老是被 360 报木马有没有什么好的解决方法 at 2024年12月06日

    添加信任,或者卸载 360 不清楚加一个代码 签名好不好用

  • 公司做了 3 年的项目管理软件,可能要被阿里“Teambition”替换 at 2024年12月06日

    主要是现在沟通交流用的是 企微、钉钉、飞书,这种的没办法感觉超越

  • 2024 年了,我还在用薄荷 18 年分享的 10 条最差实践建功立业😂 at 2024年12月06日

    总结的很全面,索引确实是不能乱加的,之前做商城的时候,有过很大的并发,当时前辈用 redis 去处理的,方式不是很好,后面离职了也知道后面改没改

  • Capistrano 部署报错 at 2024年11月26日

    我最近部署了 4 个服务器,从 一个 center os,3 个 ubuntu,部署到崩溃,居然每个报错都不一样 哈哈哈

  • 今天使用 cap 发布,遇到了 puma 随机占用 CPU 100% at 2024年11月26日

    哈哈 是的 原因是没权限,一直在重试

  • 今天使用 cap 发布,遇到了 puma 随机占用 CPU 100% at 2024年11月25日

    找了大佬求助了一下。注视掉

  • 讨论一下 ruby 如何对接 AI 才能让 ruby 在开发 AI 领域上更加牛 at 2024年11月20日

    现在做的咋样了,头疼的问题多吗?

  • rails 的很多用法感觉是部落知识(Tribal knowledge),有什么权威的查询途径呢? at 2024年11月19日

    以前也是一样的,看你遇到的问题,以前不知道都是问大佬,比如 Ruby ON Rails Plus 公园的群,里面好多大佬 现在越到的问题几乎都见到过,经验多了就不用问了

  • [西安] Web 后端开发工程师 13-26K 年终 bonus 五险一金 at 2024年11月19日

    在深圳,太远了,可惜了了 为大西安点赞

  • 吐槽一下刚刚尝试 Ubuntu 遇到的抽象事... at 2024年11月18日

    看我破你的甲,嘿哈

  • 讨论一下 ruby 如何对接 AI 才能让 ruby 在开发 AI 领域上更加牛 at 2024年11月13日

    前段时间用 ruby 做了一个 庭审模拟,类似于法庭那种,核心用的还是 python + AgentScope 可以体验一下:http://jt-smart.com/

    ruby 我觉得可以基于复杂应用开发

  • 新人来报道! at 2024年11月11日

    😀 欢迎入坑

  • 求问 MAC M2 芯片 ruby on rails 连接 oracle 的办法 at 2024年11月05日

    已解决 参考文章:https://coderwall.com/p/nvva7a/setup-oracle-instant-client-and-ruby-oci8-gem-on-mac

  • 求问 MAC M2 芯片 ruby on rails 连接 oracle 的办法 at 2024年11月04日

    主要是需要连接其他系统,难受的一批,打算用 docker 去做,坑可能会少一点吧

  • window 使用 docker 开发 ruby 有坑吗? at 2024年09月13日

    推荐 ubuntu 之前 windows WSL2 都用过 不是很舒服

  • 前端和后端的身份认证问题 at 2024年08月26日

    gem 'jwt'

  • 当你完成了一个很复杂的、包含大几千行代码的功能时,有人 CR 评论跟你纠结代码风格问题,该怎么回复他? at 2024年08月19日

    你给他俩嘴巴子,让他写

  • Ruby 开发工程师 坐标天津河西区(地铁直达)周末双休 at 2024年08月02日

    除了学历,其他都满足++++ 可惜了了😂

  • 业余时间搞了一个文件管理系统,求大佬们的建议 at 2024年08月01日

    是的,我这个比较偏一些企业的生产部门,做文件管理,如果您有更好的建议,也可以提出来哦

  • 前端和后端的身份认证问题 at 2024年07月30日

    和你说一下我之前的做法,拿到 openid 后

    payload = {session_key: result_json["session_key"], openid: result_json["openid"]} # 获取到的信息
    payload = {user_id: 1, token_time: 12345678}.merge(payload)
    # 使用小程序密钥加密一下
    token = JWT.encode payload, applet_secret, 'HS256'
    

    将 最终的 token 返回给前端,你直接存在 session 不行,需要用 token 做解密后判断能不能登录

  • rails 中排序问题 at 2024年07月29日

    没毛病

  • 业余时间搞了一个文件管理系统,求大佬们的建议 at 2024年07月26日

    首先非常感谢您的建议

    1. 上传需要审核是针对企业内部 有些文件 是需要主管等审核的情况,这个功能可以动态配置的,也可以不用审核,由创建人配置
    2. 这个目录和图标是可以切换的(右上角的小图标),至于你说的多级目录也是方便企业做管理(企业生产部做管理会很有用的)
    3. 我认为针对标签设置是个不错的建议,我认为可以用颜色做区分,类似于 MACBook 的标签(红色、橙色、蓝色、个人、工作、重要)这些
    4. 批量上传功能是有的,批量下载没有做,这个我会做一下,拖动上传也是一个不错的建议,我也会做一下
    5. 针对于您的第 6 项,我有做(权限集成、分配)、内、外部共享(自定义权限)、在线浏览(支持 30+ 种文件)
    6. 您说的 文件与某些事项、工作、特定日期相互关联的提醒功能。我觉得没必要,单纯的文件管理,不需要关联一些其他工作,如果有可以做外放接口,让其他系统去设定请求,或者您有一些需求案例 提供一下 最好了
  • 1
  • 2
  • 下一页
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English