Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
Ian
@Ian
会员
第 84450 位会员 / 2020-04-15

FRL.
广东 · 深圳
12 篇帖子 / 63 条回帖
10 关注者
0 正在关注
0 收藏
GitHub Public Repos
  • table_inspector 38

    A Rails gem to print the model schema in console

  • ancestry 1

    Organise ActiveRecord model into a tree structure

  • otorain 0

    Github profile

  • rails 0

    Ruby on Rails

  • ruby_llm 0

    A delightful Ruby way to work with AI. No configuration madness, no complex callbacks, no handler...

  • neovim-config 0

    My neovim config for Ruby On Rails web development

  • solid_queue 0

    Database-backed Active Job backend

  • polybar-themes 0

    A huge collection of polybar themes with different styles, colors and variants.

  • frl_interview_task 0

  • ruby-openai 0

    A fork from ruby-openai

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 今晚 (10.12) 分享大型 Rails App 重构的 20+ 种姿势 at 2021年10月12日

    👍

  • 兄弟们,有没有音质好一点的笔记本电脑推荐,国庆回家,那耳机听歌怪怪的,笔记本外音又不好。 at 2021年10月05日

    mbp

  • Rubymine 在 Rails 项目里面总有一些错误的代码推断咋办? at 2021年09月05日

    如果真不想要语法检测,最简单的办法就是切到 power save mode。不过波浪线什么的,习惯就好,代码检测开着还是放心一点

  • null at 2021年08月15日

    支持👍

  • 大家在写 Ruby 的时候会频繁的判断数据类型吗? at 2021年08月13日
    1. 保护代码边界,而不是在所有的地方做判断
    2. 强制类型转换,如Float(),Integer(),Array()...
    3. 鸭子类型,判断对象有一个什么,而不是判断是一个什么,具体就是多用respond_to?而不是is_a?
    4. 如果是Hash,为了确保键存在,可以使用fetch
    5. 使用安全调用运算符&.,可以避免判断操作对象是否为空。如:order.paid_at&.strftime("%Y-%m-%d %H:%M:%S")

    以上内容均来自《优雅的 Ruby》,推荐楼主去看一下,京东有售,上去看了下刚好有活动,现到手价只要¥36.6

  • GeekNote,一个专为 Geek 设计的博客服务 at 2021年07月22日

    👍

  • GeekNote,一个专为 Geek 设计的博客服务 at 2021年07月22日

    好像是这样子,点击导航按钮后,如果在展开动画还没完成的时候误触到遮罩层,就会出现这样的情况

  • GeekNote,一个专为 Geek 设计的博客服务 at 2021年07月20日

    手机上点击导航展开按钮好像会立马收起来,用的 chrome。,现在又没事了,可能屏幕沾了灰 (逃

  • Web 大前端是不是一个失败的方向? at 2021年07月07日

    我觉得,问题不是用不用 React 或 Vue 的问题,是用了之后的问题,一整个生态圈,先不说用不用得上,遇总是能遇上的。我想说:前端之大,一个后端扛不下。好了,我要继续研究我的 React Router 去了。

  • RubyConf China 2021 Hotwire 讲师征集 at 2021年05月17日

    🎉 🎉 🎉

  • 有人用 TruffleRuby 和 Rails 在生产环境吗? at 2021年05月14日

    rails 6 目前还是不行,能跑起来,但是有些 Gem 会报栈溢出和空指针的 error

    顺便跑了下压测,puma 默认配置,CPU 4800H(8c16t),64G。

    而且 TruffleRuby 要比 Ruby 3.0.1 吃得资源多得多,压测有时候还跑不过,报错 Thread-safety bug: the object is already shared,所以目前看来 rails 还是没法用的。

  • 有人用 TruffleRuby 和 Rails 在生产环境吗? at 2021年05月14日

    有点意思

  • Rails 有没有什么好用的 markdown 编辑器 at 2021年04月24日

    谢谢你热心的回复,不过这个 README 没有提供使用方法,如果你希望更多的人能够使用的话,最好还是补上相应的文档。

  • Ruby 社区的氛围为什么这么好? at 2021年04月22日

    不知道你说的杂活是什么,如果你是指工作内容的话,应该要看公司吧,大部分应该都是只做后端部分的内容了,可能也有公司会有全栈的要求。

  • 为这个世界操碎了心 at 2021年04月21日

    自己不想学或不会的语言 => 语言奇葩 => 设计者奇葩 => 学习这门语言的人都是奇葩

  • Rails 有没有什么好用的 markdown 编辑器 at 2021年04月20日

    是嘛,我回去试试

  • 关于 Rails 6 设置 cookie same site 为 None 的问题 at 2021年04月07日

    查了下,不同的子域名的确是被判断为 Same-Site 的,也应该这样子做。不过本地要测试的话就不行了,看了下有个 gem 叫 rails_same_site_cookie 的,这个用了中间件,试了的确可以设置成功,不过作者说到 2022 年 chrome 就不再支持第三方 cookie 了,到时候类似的 gem 都会失效。新版本的 safari 也不支持第三方 cookie 了,所以最好还是放在同一个父域名下吧。thx😀

  • 关于 Rails 6 设置 cookie same site 为 None 的问题 at 2021年04月07日

    试了下,:None,'None' 结果都是一样的,这里用的是 https,secure 的话上面的配置文件已经判断了,如果是 https 的话就是 secure,还是不行

  • Ruby 不同入参类型的函数,能不能用同一个名字 at 2021年01月08日

    就像楼上说的,一般直接用is_a?判断就行了,像你说的handle_arr调用了handle_str的那种情况,也不冲突,看上去就像是:

    def handle(obj)
      if obj.is_a? arr
        handle_arr(obj)
      elsif obj.is_a? str
        handle_str(obj)
      else
        # do_something
      end
    end
    
    def handle_arr(list)
      list.map { |item| handle_str(item) }
    end
    
    def handle_str(str)
      # do_something
    end
    

    有些情况下,用respond_to?可以获得更好的扩展性,也就是鸭子类型的用法,这里用一个别的例子:

    def handle(file)
      filename = if file.repond_to? :to_path
                   file.to_path
                 elsif file.is_a? String
                   file
                 else
                   # log and raise type not suported exception
                 end
    
      File.open(file, 'w')
      # do_something
    end
    

    这样不仅可以处理File类型的对象,还可以处理其他带有to_path方法的对象。

    当然最理想的情况是直接让参数自己做处理,也就是人们经常说的 Tell, Don't Ask,比如说

    class StringLike
      def handle
        # do_something
      end
    end
    
    class ArrayLike
      def handle
        # do_something
      end
    end
    
    def handle(obj)
      obj.handle
    end
    
    array_like = ArrayLike.new
    string_like = StringLike.new
    
    handle(array_like)
    handle(string_like)
    

    扯远了,说起类型检测就条件反射了

  • Ruby 生态对 Windows 不友好的根本原因 at 2021年01月02日

    不是 windows 对软件开发者不友好么🤔

  • 请问如何给官方提建议?期待 Ruby 更加美好 at 2020年04月23日

    抛开实现谈设计,talk is cheap.

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