• 我的第一反应是业务规划,找出最核心的业务,依次保证

    比如我拍个个脑袋:先保证礼物能送出,再保证礼物消息能推送到主播和金主,再保证其他用户能看到,再保证小时榜级别的更新,再保证其他的。

    之后再拆到 礼物送出是需要保证 ACID 的,其他的 异步慢慢来,礼物推送到主播,最小消费一次推送,其他用户消息推出去就行。再就是榜单计算,比如 压力大的情况下,小时榜转化为 5 -10 秒一次结算,其他榜结算方式改为 5 分钟甚至 1 小时一结算降低压力。能放内存放内存,能不扔库不扔库。缓存 能分区域就分区域,redis 按地理区域划分,之后读的时候累加即可,不用做到原子性

    当然这些都是基于我对直播粗浅的理解,在考虑技术实现成本的情况下想的一些皮毛,为大佬抛砖引玉。若有问题,还请别见笑

  • Rails 7.0 正式版发布啦! at 2021年12月16日

    已更新到 rails7,对于我来说 最有用的是 multiple databases 在 has_one through 的时候,可以直接使用而不担心跨数据库了

  • 还可以在 oss 上分 热资源 冷资源 继续压缩成本。。。

  • lol 出镜了,鄙人对各大厂商 cdn 花销这块还算研究的比较多,欢迎有想降低 cdn 成本,又对 cdn 质量有严苛要求的小伙伴找我做咨询哟,微信 atpking 注明 cdn 咨询

  • 哈哈 很早就点赞的一个项目,算是同行

  • 可以使用 tubro_stream 在第一级更新的时候 直接 stream.update 二级和三级 select

  • 可以使用不同的 queue 之后 sidekiq 启动的时候 只消耗特定的 queue 即可

  • 创业一年随想 at 2021年11月08日

    不拿股份 不是说不行,但是从创业的角度上来说,不是个好事

    项目初期还好,大家和和睦睦 等到了遇到瓶颈,需要花费与工资不匹配的时间,需要做超越的时候, 就怕核心认为 到哪里不是拿工资,走人

    我认识一个做海外休闲游戏的老板,之前鏖战一沙雕游戏,苦了半年盈利了,但是分红没谈拢,技术怒而走人。创业公司人才梯队压根就没有,老板求神拜佛花了 4w 招阿里哥们补位,结果业务完全带不动,那哥们实在不好交差就上了个 k8s 后闪人了。

  • 创业一年随想 at 2021年11月05日

    ruby 圈的盆友们都埋藏着创业的心 加油~

  • 一台服务器部署多个项目 at 2021年11月02日

    nginx 利用 HOST,转发到不同的端口

  • 系统级的解决方案还是有意义的。一招鲜,吃遍天。可以同样适用与 sidekiq,或者其他服务的日志。就类似 弄明白 systemd 之后,就跟 进程自己的 daemon 模式说 byebye 了

  • 分享个用了两年的羊毛 at 2021年10月24日

    注册了一个 看了下管理端 不愧是 oracle 数据库就只有 oracle 自家产品

  • 资安工具 gem: rack-attack at 2021年10月23日

    CC 都好办 最麻烦的还是 ddos 直接不给你操作的任何机会,直接进黑洞

    简单的搞法就是 通过 CDN 来隐藏服务 IP

  • 我记得上次看到类似这个内容 好像是搏一搏,单车变摩托的故事线 也不知道那个老哥上岸了没

    说实话 成年人 向来是全都要

  • 脑子里冒出了滑板鞋的歌词:有些事我都已忘记但,我现在还记得

  • 我这边不太喜欢用 foreman 的原因是 我偶尔会在代码里加入 byebug 来进行调试

    foreman 好像在遇到 byebug 的时候 没办法进行交互

  • 说的没错 就是它

  • 这个是解决 tailwindcss purge 速度的问题的么?tailwindcss 2.1 以后可以跑 jit(就是本文推荐的方式),直接生成已经使用的 class 的 css 文件,速度就几百毫秒 作者说 tailwindcss3 会把 jit 模式设置成默认

  • tailwind 是你改动的时候比较方便,想到啥效果,直接敲出来就好了,传统的搞法 开发的时候要绕一下,还得去改 css 文件,中间转一道很麻烦

    另外在传统方式中 class 取名的时候也面临一个困境 到底是 功能性的取名(类似 user-profile)还是表现形式的取名(类似 card),tailwindcss 就直接统一了这个搞法 全都按表现形式来

    推荐看一下 refactoring ui 这本书,好像就是 tailwindcss 作者写的,里面一些理念我觉得还挺对的

  • 我的理解是 foreman 是帮你一个指令起 application 所需的所有服务的东西,能统一配置环境啥的 没说可以管理 puma sidekiq 等服务挂不挂

    守护进程的话我记得 ruby 是用 god , 但是 god 本身也需要跑在 daemon

    systemd 的好处就是统一了各种语言,直接按规定的写

    感觉 foreman 主要用于开发阶段 systemd 用于部署阶段

  • 这个可以在渲染 html 的时候 直接渲染 checked 字符串到 input 中

    刚好 10.1 的时候处理过,你可以参考下

    
    <%@sections.each do |section|%>
      <div data-controller='checkbox-select-all'>
        <label>
          <input type="checkbox" data-checkbox-select-all-target="checkboxAll" />
          <span><%= section.name%></span>
        </label>
        <ul>
          <% section.nodes.each do |node|%>
            <li>
              <label>
                <% checked = @tech_node_ids.include?(node.id) %>
                <input type="checkbox" name="tech_nodes[]" data-checkbox-select-all-target="checkbox" <%= checked ? "checked" : "" %>  value="<%= node.id%>" />
                <span><%= node.name%></span>
              </label>
            </li>
          <%end %>
        </ul>
      </div>
    <%end %>
    
    
  • 我是觉得混用就挺好的

    目前 homeland 感觉能上 react 的地方不多

    倒是可以把 turbolinks 切换成 turbo,可玩性就高一些了

  • 看起来不错

  • 主要是老项目 又想用 tailwindcss 的 就很适合这种搞法(比如 homeland)

  • 国密 SM4 at 2021年10月09日
  • 应该是有 gem 内存泄漏了。 除了选择 puma killer 还可以试试 systemd 本身有内存约束

    我用 puma killer 有时候 worker 没起来

  • pv 在 1000w 以下的项目 rails 没什么大问题, 至于再大一些,我自己的项目没到那个量级,但是我觉得应该问题不大。

    如果我创业,我肯定会选择 ruby 技术路线,虽然招一个 ruby 很贵(然而现在真也不贵,对比兄弟社区 testerhome 的测试招聘和社区最近的招聘),但是性价比很高,但凡搞 ruby 一阵子,基本都能做到能前端能后端能部署能运维,甚至有的能上到抗 ddos,下到 sketch 出图。两三个人就 run 个 A 轮的技术的 ruby 团队我都见过几个了。

    Ruby 在国内确实存在最大的难题:ruby 圈人很少,之前在 2021 rubyconf 群里看见一堆老人,就感觉社区需要新人,需要新鲜血液

    编个段子宣泄下情绪不是说不行,只是这么做意义不大,

    困难大家都能看到,把问题解决了,才是正道

    问题是不是就只能等大神的解决?

    当然不是,是来自于社区的每一个人,

    不是说 非得去 pr ruby, PR rails,提高运行速度 100%,才算解决问题

    对社区的人友善,写一个新人友好的 教程,发一个用 ruby 开发的有趣指令,开源一个 rails 项目解决一个大家遇到的问题,或者自己创业时选择 ruby 作为主力语言, ​都是对 ruby 社区的贡献。

    还是那句话 大家多为社区添砖加瓦 做大做强

  • 说的没错 我是 10 年前就是写 java 的,现在 java 的 spring 生态也很好,绝大多数国内大公司最终业务都跑在 java 上

    快速迭代速度和开发效率 ruby on rails 优势更大,ruby 社区的大多数人估计都赞成

    我反思了下,确实你说的对,我没必要贬低其他人,要打拳我大可以去微博怼社会话题

    最后祝我们为多为 ruby 社区添砖加瓦,做大做强

  • 困扰到我的是内存 不仅仅是 ruby 内存 也不仅仅是 rails 内存 gem 内存 而是 内存

    也许我的语文能力还没幼儿园毕业,让你理解起来费力了,我得好好反思下自己,多为社区添砖加瓦