Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
ltt
@ironboxer
会员
第 99383 位会员 / 2022-09-30

[email protected]
4 篇帖子 / 34 条回帖
0 关注者
1 正在关注
0 收藏
未设置 GitHub 信息。
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 用 kamal 部署 rails 至阿里云主机总结 at 2026年04月13日

    好像 kamal 依赖 docker。

  • 用 kamal 部署 rails 至阿里云主机总结 at 2026年04月13日

    如果只部署一台服务器,且不用 docker,kamal 部署是不是有点麻烦?

  • AI 开发 Rails,如果遇到 bug 看不懂咋办? at 2026年03月10日

    感觉不错。我都是包工头了,不能自己干活了。有失身分。

  • RubyClaw 会存在吗?Ruby 的个人智能体生态在哪? at 2026年02月28日

    没必要。轮子够多了。

  • 关于戒色、戒🦌的 SaaS at 2026年02月03日

    为啥要戒色?直接砍了算了

  • Ai 时代 结合现实的话诸君选择 ruby 还是 python at 2025年12月22日

    只要不是 JS 写后端,我就不反对。

  • 深圳 雨燕租车 招聘 Ruby 后端开发工程师及技术总监(CTO)20-55K/月加期权激励 at 2025年11月20日

    太暴力了

  • Ruby 也开始版本大跃进了,下一个版本是 4.0 at 2025年11月18日

    That's... not a great reason.

  • Docker 镜像拉不到大家怎么处理的 at 2025年04月17日

    要么走全局代理,要么单独为 docker 设置 http 代理。

  • Ruby 面对这波 ai 编程没有什么新的东西出来么 at 2025年04月09日

    这个帖子之前下面有一个黄贴(香港,台湾那边的),at 管理员删掉了。不是指这个帖子。

  • 烦人的 ad.doubleclick.com 劫持问题 at 2025年04月01日

    果然是这个原因。DOMAIN-SUFFIX,doubleclick.net,REJECT

  • 烦人的 ad.doubleclick.com 劫持问题 at 2025年04月01日

    soga. 我看一下配置文件

  • Ruby 面对这波 ai 编程没有什么新的东西出来么 at 2025年03月31日

    不要苛求,其他的语言不也一样。Ruby 有 Rails 已经很好了。

  • Ruby 编辑器 at 2025年03月21日

    又是广告?

  • 前后端分离,哪一端处理用户密码加密问题? at 2024年07月25日

    用户密码只是安全的一部分,其他信息就不重要了吗?例如,手机号,年龄,性别,订单,支付信息等等... 为什么这些信息不需要加密呢?如果要加密,那就是把 HTTPS 重新实现了一遍。不要搞“局部优化”。

  • 当前页码数字没有展示 at 2024年07月16日

    a 标签中都有 remote 属性了?前端发展的太快了。

  • 请教一下,rails 有没有什么好的 gem 实现各种文件在线预览功能 at 2024年07月02日

    怎么和 捧哏 逗哏 一样呢

  • 行锁在日常开发中用的真的不多吗?Prisma 居然没有提供行锁的 API at 2024年06月14日

    某些前端童鞋非要让 js 做后端的事情... 能把前端做好就谢天谢地了

  • 分布式锁 at 2024年05月22日

    看你怎么用。把 synchronized 锁包在外面,分布式锁放在里面。synchronized 锁就把大部分请求以很廉价的方式拦下来了,不用请求分布式锁,这个比较“昂贵”(通信开销之类的)。

  • 这个程序数据库有数据库分表的吗? at 2024年05月10日

    这些基本的东西,你得会用啊

  • 这个程序数据库有数据库分表的吗? at 2024年05月10日

    20W 就分表吗?“卡”的原因有很多,你先找个工具,分析一下,瓶颈出在哪里。

  • Rails JSON logger at 2024年03月04日

    又是从哪里拷贝翻译的?

  • 【翻译】Async Ruby(异步 Ruby) at 2023年10月12日

    为什么会翻译为"宝石"?

  • 面试官问,Redis 是单线程还是多线程?我懵了 at 2023年08月10日
    阶段四:IO 线程回写 Socket 和主线程清空全局队
    
    主线程执行完请求操作后,会把需要返回的结果写入缓冲区。然后,主线程会阻塞等待 IO 线程把这些结果回写到 Socket 中,并返回给客户端。
    

    主线程为啥要阻塞等待 IO 线程呢?为啥不去做其他的事情?主线程要是阻塞等待 IO 线程,为啥不直接自己操作 IO 算了?这样不还是同一时间,只有一个线程在工作吗?

  • 请教 Python 的 coroutine 的 task 的同步语义 at 2023年08月07日
    import asyncio
    import time
    
    async def say_after(delay, what):
        print(f'[%s]: starting %s' % (time.time(), what))
        await asyncio.sleep(delay)
        print(f'[%s]: ending %s' % (time.time(), what))
    
    
    async def main():
        task1 = asyncio.create_task(
            say_after(1, 'hello'))
    
        task2 = asyncio.create_task(
            say_after(2, 'world'))
    
        task3 = asyncio.create_task(
            say_after(0.5, 'Hai')
        )
    
        print(f"started at {time.strftime('%X')}")
    
        # Wait until both tasks are completed (should take
        # around 2 seconds.)
        await task1
        # await task2
    
        print(f"finished at {time.strftime('%X')}")
    
    
    if __name__ == '__main__':
        asyncio.run(main())
    
    
    started at 11:49:41
    [1691380181.884058]: starting hello
    [1691380181.884095]: starting world
    [1691380181.884105]: starting Hai
    [1691380182.385623]: ending Hai
    [1691380182.885086]: ending hello
    finished at 11:49:42
    

    create_task 会顺序把三个任务放入队列。 await 相当于一把发令枪,trigger 一下,三个任务顺序开始执行。

    如果此时,在 await task1 之后,再 sleep 一下,就能看到执行时间最长的那个任务也结束了。

    import asyncio
    import time
    
    async def say_after(delay, what):
        print(f'[%s]: starting %s' % (time.time(), what))
        await asyncio.sleep(delay)
        print(f'[%s]: ending %s' % (time.time(), what))
    
    
    async def main():
        task1 = asyncio.create_task(
            say_after(1, 'hello'))
    
        task2 = asyncio.create_task(
            say_after(2, 'world'))
    
        task3 = asyncio.create_task(
            say_after(0.5, 'Hai')
        )
    
        print(f"started at {time.strftime('%X')}")
    
        # Wait until both tasks are completed (should take
        # around 2 seconds.)
        await task1
        # await task2
    
        await asyncio.sleep(2)
    
        print(f"finished at {time.strftime('%X')}")
    
    
    if __name__ == '__main__':
        asyncio.run(main())
    
    
    started at 11:56:07
    [1691380567.491296]: starting hello
    [1691380567.491312]: starting world
    [1691380567.491318]: starting Hai
    [1691380567.992693]: ending Hai
    [1691380568.4926028]: ending hello
    [1691380569.492554]: ending world
    finished at 11:56:10
    

    应该把这里的 create_task, await 比作 socket 中的 write 和 flush 操作来理解,或者写日志中的 write 和 flush 操作。

  • 什么差异导致了 AI 领域选择了 py 而不是 rb? at 2023年06月16日

关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English