• Ruby 安全调用运算符 (&.) at 2018年04月13日

    看来大家都是先学的 Ruby。很多语言都有 ?. 运算符了。

  • 2004 年 IETF 通过了 RFC 7239 标准,为这样的问题制定了通用的标准。简单来说,就是用 X-Real-IP header 标记用户的真实 IP,用 X-Forwarded-For header 标记途径路由。

    注意一下,RFC 7239 并不是提出 X-Real-IPX-Forwarded-For 的。RFC 7239 提出了 Forwarded header,用以替代所有从未被标准化的 X-Forwarded-* header。

  • 你不需要这些 Gems at 2017年07月15日

    RSpec 能做的 MiniTest 都能做,但是 RSpec 代碼真的特別好看…… 而且 MiniTest 現在也不在標準庫裡了,一大優勢沒有了。我反正一直是用 RSpec。

    Devise 不能做「前後端分離」的項目,我已經棄用…… 什麼時候做前後端一體的項目,再把他拿出來用。

  • 我也覺得 Devise 應該建立在充分瞭解現有 Rails 機制的基礎上。比如你要搞懂 Devise 路由,先得搞懂 Rails 路由

  • 「提問內容沒有提現提問者的努力」在 Stack Overflow 會被 -1 的,參考 Stack Overflow 給出的理由:Optimizing For Pearls, Not Sand(英文)。

  • #10 吧

  • 題主似乎暗示了明文是沒有統計規律的二進制:

    但是如果信息不是语言呢,假设是随机字符串,例如加密后的随机密码?

    • Arch
    • GNOME 3
    • GDM
    • 物理,UEFI 雙系統
  • 或者可以使用布署工具,比如 Ansible、Chef、Puppet。

  • 我覺得不可能會有。關注了此話題,等大神 😂

    等下,你盜取了私鑰?那你直接用公鑰再加密一遍不就好了?

  • 我的意思是說,你可能用公鑰加密,不知道私鑰…… 不是算法不可逆,是你沒法逆……

    另外我也沒怎麼聽說過僅僅憑明文和密文,沒有其他信息就判斷是否成功的…… 難道用信息量?

  • 光你這點信息肯定是不知道的,至少加、解密的算法要知道吧,是否可逆也得知道吧?

  • 謝謝樓主的 hint,我才知道原來 Rails 裡面可以配置生成器

  • 但感覺有點不滿足單一功能原則?Current 的信息從邏輯上來說就是屬於 Controller 管的…… 比如這種情況,我寧願在 controller 裡寫一個 create_event 函數,分享給所有需要用到 event 的控制器……

  • 這只是「簡單的方法」,並不是「精確的標準」。配置的核心在於

    配置文件在各部署间存在大幅差异,代码却完全一致。

    所以,只要各布署間有差異的,就叫應該用環境變量歸類為「配置」而不是「代碼」。換言之,如果某個項目的代碼,給另一個項目使用,能夠不修改代碼就馬上使用,才滿足 12 factor。注意 12 factor 並不是說「一定要用環境變量」,也可以用「未被版本控制的文件」,只不過(12 factor 認為)環境變量更方便而已。

  • Rails 定制简单的搜索 at 2017年06月30日

    if attributes.nil? 可以換成 attributes ||=

  • 沒太理解,這好像只在 controller 裡用?那不能用實例變量麼?(比如 @request_id

  • 我寧願直接用環境變量,服務器多的話用布署工具(比如 Ansible)。把配置存在文件裡,非常不 12 factor……

  • 前端视角下的 Ruby at 2017年06月30日

    我不怎麼寫前端,但是感覺前端框架不是主要問題,主要是設計:什麼樣子的網站才能稱得上「好看酷炫」……

  • 前端视角下的 Ruby at 2017年06月29日

    我在那段話裡面沒有特意區分類和類型,反正在 Ruby 裡面都是一個東西。不過 class 和 type 的區別是不是只有 Python 2 有?Python 3 我記得都是 object 了。

  • 我也是這麼想,正在試驗這種想法。前後端代碼分離的話,前端可以有效利用 CDN 和緩存。

  • 前端视角下的 Ruby at 2017年06月20日

    「修改字符串」這個我覺得沒啥用,而且宮本好像也發現了,所以他說 Ruby 3 裡面要默認所有的字符串都是 freeze 的。

    另外 Ruby 有兩點點我很喜歡的(相對於 Python):

    1. 優秀的工具鏈。Bundler 是「依賴管理工具」的先鋒(並且依然是最優秀的);後續的其他依賴管理方式都有大量借鑑 Bundler,比如 Rust 的 Cargo,JavaScript 的 Yarn,Dart 的 Pub,等等。Python 的 pip 比起來就差多了,唯一的希望就在於 pip-tools 了。我唯一不認同 Bundler 的是,他不應該用來管理 Ruby 版本。Ruby 版本應該是先於 Bundler 的,否則會形成循環依賴。但作為補償,chruby 是我用過(rbenv,RVM,pyenv,nvm)的所有版本管理器裡面,最喜愛的,沒有之一。

    2. 內置方法(built-in method)比 Python 更「面向對象」。比如說 Python 裡面「類型轉換」是 int('3')str(4) 的形式,Ruby 裡面則是 '3'.to_i4.to_s;還有「排序」,Python 是 sorted(arr),Ruby 是 arr.sort。當需要進行多次轉換、調用,Python 需要函數嵌套,Ruby 則是 method chaining,而我認為「函數嵌套」更「面向過程」,method chaining 更「面向對象」。

  • Ruby + OMR JIT 简介 at 2017年06月05日

    有個問題,OMR 到底是什麼意思(是哪三個詞的縮寫)?Eclipse OMR 的主頁並沒有解釋…… R 我估計是 Runtime。

  • 關於 Ruby OMR,本站有篇譯文

  • production mode 我觉得翻译成「生产模式」比「产品模式」恰当;「产品」的英文用 product 更贴切。

  • 或者至少有个像 Sinatra 这样的薄框架……

    已经有了!Kemal

    其实好像确实有几个 Web 框架了,有些还声称和 Rails 接近。选择框架的话可能要参考流行度

  • Rails 基础实现学习笔记 at 2017年05月14日

    「感觉 Rails 就是 Rack 封装了一下」这么想不太恰当。Rack 的本意是在于提供一个界面(interface),用来连接服务器程序(比如 Puma、Unicorn、WEBrick)和框架(比如 Rails,Sinatra)。类似的界面在其他语言有 Python 的 WSGI,Perl 的 PSGI,JavaScript 的 JSGI,还有语言无关的 CGI。「支持界面」看起来像是「封装」,但有微妙的区别……

    如果你会翻墙,可以看看这个模板的「服务器 API」部分,列出了一些例子。

  • 不用共享变量就不会。没事不要在线程中修改全局变量($foobar += 1)或者 static 属性(Foo.bar += 3)就好了,Rails 不作死的话是不会踩坑的。

  • 你这个程序肯定是依赖于线程调度的,但实际使用中如果把变量初始化放在线程中,肯定要加锁的吧,否则不是作死么…… 而且我不确定 @c += @a 这行是不是原子的,如果是 Redis 的话就没问题了

  • 中间过程不一定要对吧,比如你统计票数,实时票数多一票少一票又有何关系?只要投票结束以后票数对了就行了嘛。