週刊Railsウォッチ(20180806)Rails 5.2.1.rc1リリース、Railsガイド日本語版が5.1に対応、Regexp#match?ほか

こんにちは、hachi8833です。梅干しがこんなに沁み渡るほど美味しく感じたのは初めてです。きっと塩分が不足していたのでしょう。 「公開つっつき会 第1回」開催しました 先週の8/2(木)に開催した「公開つっつき会 第1回」はおかげさまで、いつもどおりのリラックスした雰囲気でつっつきおよびその場での懇親会ともに盛り上がりました。平日にもかかわらず参加いただいた皆様、ありがとうございました!🙇 つっつきボイス: 「今日はようこそいらっしゃいました😃」「やーさっきAWS SQSが6年ぶりにコケて焦りました💦」「SQSがコケるなんて珍しい😲」 SQS死んだ時に、めっちゃ困るのがdelete_messageが失敗するケースで、そこで失敗されると処理自体はコミットされてるケースがほとんどで、これどうにかしようとすると、RDB(最低redisとか)に記録しとかないと駄目じゃんってなってきつい……。 — ジョーカー 1007 (@joker1007) August 2, 2018 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ ⚓Rails: 先週の改修(Rails公式ニュースより) 先週見繕った改修がいくつも先回りしていたので、masterの他のコミットからも見繕いました。 ⚓Rails 5.2.1rc1リリース 7/30にRail 5.2.1rc1がリリースされました。リグレッションがなければ8/6、つまりウォッチの公開日である本日リリースされるそうです。日本時間だとおそらく今夜でしょう。 rubyonrails.orgより コミット: Comparing v5.2.0...v5.2.1.rc1 · rails/rails 今見てみるとブランチ名からrc1が取れているのでもうすぐですね。 つっつきボイス: 「5.2.1rc1だからそんなに時間かからずにリリースされそう: メジャーなアップグレードだとrc2とかまでかかることが多いけど」「予想以上にコミット数ありますね」「コントリビューター26人とか書いてあるけどそんなにたくさん変更入るの!?って思ったり」 rails newするのは5.2.1が出てからにするのがよさそうですね😋。 ⚓Instrumentationの項目を追加 PR: Add cpu time, idle time, and allocations features to log subscriber events by eileencodes · Pull Request #33449 · rails/rails # activesupport/lib/active_support/notifications/instrumenter.rb#L54 class Event attr_reader :name, :time, :transaction_id, :payload, :children attr_accessor :end def initialize(name, start, ending, transaction_id, payload) @name = name @payload = payload.dup 18:00 = start @transaction_id = transaction_id @end = ending @children = [] @duration = nil + @cpu_time_start = nil + @cpu_time_finish = nil + @allocation_count_start = 0 + @allocation_count_finish = 0 + end つっつきボイス: 「Railsでinstrumentationっていうと…」「CPU timeとかが追加されてるから計測周りですね」「これはActiveSupport::Notificationsが持ってるとてもシンプルなpub/sub機能ですね: ほらサブスクライバもある↓」「ほぉお」「このサブスクライバにinstrumentをセットして時間計測なんかができるヤツ」「で今回の改修で細かいCPU Timeとかが取れるようになったのか❤️: むしろ今までなかったとは」「😃」 # activesupport/lib/active_support/subscriber.rb#L81 def start(name, id, payload) – e = ActiveSupport::Notifications::Event.new(name, Time.now, nil, id, payload) + e = ActiveSupport::Notifications::Event.new(name, nil, nil, id, payload) + e.start! parent = event_stack.last parent << e if parent event_stack.push e end def finish(name, id, payload) – finished = Time.now event = event_stack.pop – event.end = finished + event.finish! event.payload.merge!(payload) method = name.split(“.”.freeze).first send(method, event) … Continue reading 週刊Railsウォッチ(20180806)Rails 5.2.1.rc1リリース、Railsガイド日本語版が5.1に対応、Regexp#match?ほか