ちなみに

火曜日の空は僕を押しつぶした。

Ruby 2.7系に上げる話

入社して最初のころにやったのがRuby 2.6系で動いているRuby on Railsのサービスを2.7.2まで上げる仕事だった。 機能開発に入れるほど慣れてなくて、チームにがっつり入るより独立して動いた方がいい、かつ、サービス全体を見渡すのにちょうど良い感じのタスクということでやらせてもらった。

github.blog

だいたいの方法はGitHubの記事を見てもらうのが一番いいのだけれど、ここからの差分としては2.7.2から非推奨警告がデフォルトでは出なくなったという点。

config/environments/test.rbRSpec を使っているなら spec/spec_helper.rb 辺りに以下のように書いてくと良い。 CIでだけ動かすか迷ったけど他のメンバーにも警告出てるのを気にしてほしいのでテスト実行すると常に出るようにした

Warning[:deprecated] = true

これで非推奨の警告が出るようになったので、CIでテストを実行したときに警告を集めて成果物として保存しておくと警告の一覧が見られるようになる。 あとはひたすら警告と向き合って潰して行く作業になる。

基本的にはキーワード引数と URI.escape / URI.unescape の非推奨警告と戦うことになる。

www.ruby-lang.org

imaizumimr.hatenablog.com

これらは実は非推奨の段階なので本当はほっておいてもいいのだけれど、3.0に行くにはこのタイミングで消しておけるとお得である。

キーワード引数については機械的に置き換えていくだけなので数は多いかもしれないけど比較的まし。 URI.(escape|unescape) については完全に同じ機能を提供するメソッドは存在しないので、何がしたかったのかを読み解いて置き換えて行く必要があるのでけっこう頭を使った。 一部、社内管理のGemで意図がつかめなかったところは放置してしまった。 これらは3.0にいくときには対応が必要なので問題を先送りしただけではある。

あとは使っているGemが2.7対応されているかをひたすら見ていって安心感を得る作業という感じだった。

次はRuby 3.0 / Rails 6.1対応が待っていて、こちらの方が大変そう。

2.7系のリリース一覧

www.ruby-lang.org

www.ruby-lang.org

www.ruby-lang.org

追記

これを書いた1分後くらいに2.7.3が出た。

www.ruby-lang.org

デカフェのコーヒー

最近は朝の1杯目以外はデカフェのコーヒーを飲むようにしています。

これまでは朝昼夜の3杯飲むのでカフェインを取り過ぎになっていて、たまに抜くと頭痛がしたりして使い物にならなくなっていました。 このままだとコーヒーを美味しく飲めなくなってしまうと思ったのでデカフェを試しています。 最初はやはり物足りなくてつらかったもののだんだん慣れてきて、いまではデカフェでもコーヒー欲を満たせるようになってきました。

いろいろ試していたのですが、 @yoppi さんに教えていただいた WORKSHOP COFFEE の豆が圧倒的に美味しくておすすめです。

workshopcoffee.com

フィルタ用とエスプレッソ用がありますがどちらもフィルタで淹れてめちゃくちゃ美味しいです。 デカフェは満足感が足りないことが多いのですがこれはしっかり飲んだ感があって満足できます。

おまけ

カフェインありだと最近一番美味しかったのはこのルワンダの豆です。

www.stylecoffee.jp

株式会社はてなに入社しました

株式会社はてなに入社しました

株式会社はてなに入社しました - hitode909の日記

本題

写真は本題に一切関係ない最近の趣味です。

ということで2020年12月31日をもって株式会社はてなを退職しました。1月から株式会社マネーフォワードで中堅企業向けの会計システムの開発に携わっています。

コロナ禍になり在宅勤務が続き、プライベートの問題も絡んでこの先の働き方を考える中で、京都に開発拠点が出来てまだ少人数でこれから立ち上げていくタイミングである現職に興味が出てきました。 人が多い会社だといろんな視点を知ることが出来て学びも多くそれはそれで好きなのですが、やっぱり小さな組織で全員でなんでもやって勢いをもって開発に取り組むのが好きだなというのがきっかけです。 マネーフォワードは社員数だと非常に多いのですが、その中で京都拠点はこれからというタイミングで、小さな組織と大きな組織、どちらの利点も得られるのが自分にとっては好都合という感じでした。 転職を強く考えている訳じゃなかったので、話だけでもとカジュアル面談をお願いして、話してみるととても良い感じで応募を決めました。

会計知識が足りなくて苦しんでいますが、チームの雰囲気はとてもよくて、毎日楽しく働いています。

職場は変わりましたが引き続きよろしくお願いします!

大量のSlackチャネルへの参加を支える機能

前職ではあまり活発にコミュニケーション出来ていなくてチーム内でのやり取りに閉じてしまっていたところがあった。 結構後悔しているので新しい職場ではいろんなチャネルに顔を出して眺めたり発言したりを意識的にやっている。

そうなると大量のチャネルに入ることになって処理しきれなくなりがち。 最近は基本は以下の3つの機能を使って効率的に処理するようにしている。 全部サイドバーにあるのでそこからアクセス出来ます。

All unread

  • 未読のメッセージをまとめてチャネル毎にグループ化して表示してくれる
  • Cmd+Shit+A で開いて、Esc でチャネル毎にまとめて既読に出来るので定期的にここを覗いて既読にしていく
  • 気になった発言があったら返信したり、リアクションを付けたりという感じが基本のフォームになっている
  • 開きっぱなしにしておくと、新しい未読が出来たときにリアルタイムに「5 New Messages」みたいに未読数を表示してくれるので、Enter を押すと一覧で表示されるので処理していく
  • 気持ちとしてはRSSを捌く感じで読めてべんり
  • RSSmacOS では ReederiOS では Feedly の公式アプリで読んでいる

Mentions & reactions

  • 自分へのメンションとリアクションを一覧にしてくれる
  • TwitterのNotificationsみたいな感じ
  • Cmd+Shift+M で開いてニヤニヤしたり、メンションの見落としがない確認している

Threads

  • 現職ではスレッドを多用しているのでこれも欠かせない
  • Cmd+Shift+T で開いて、議論の進捗をみたりしている
  • スレッドは一回でもメンションされたり、発言したりするとその後ずっと追いかけられる
  • 読んで欲しい人はとりあえず全員メンションしておくと議論に漏れない
  • 時間が経ってから進捗があったりすると、ここから過去のやり取りを探して追記したりしている

オマケ

  • 特定のリアクションがついたメッセージを指定したチャネルに集めてくれる Reacji Channeler を使って情報を集めたりしている
  • :thinking_face: を集めたチャネルとこっそり(オープンだけど1人)作っていて、そこにやってきた困りごとで解決出来そうなことに首を突っ込んでみたり、新しい面白いチャネルの発見につながったりしている
  • 他にもエディタ系は関連チャネルに飛ばすなと使い方はいろいろありそう
  • もっと困っている人の発言を集めたいのでおすすめリアクションあったら教えてください。

ほかの多読テクも知りたいです。

物理出社

コロナ禍になってから出社することがほとんどなくなってしまって基本は家で働いている。 時折出社すると直接人と話せるのでたまには出社するのもいい。

最近は週一で出社するようになったが、ふりかえりとプランニングの日にしているので、直接議論したり出来るのではかどっている。 プロジェクタで画面を映しながら設計を考えたり、モブしてみたりはかなりはかどるのでいい。

モブ、あんまり人が多いと良くないと言われているけど、複数チーム合同でやったモブはいろんな視点の指摘が入って個人的にはとてもよかった。 たぶん1チームでやっていたら到達出来ない地点にいけて、簡潔に仕様を満たすいいコードが書けた。

良いことづくめに見える物理出社だが、花粉の季節はつらくて帰宅したらぐったりしていて晩ご飯も食べずに寝落ちしてしまった。 今日もけっこう調子が悪い。花粉症対策をもっと考えるべきだった。 薬飲むか。

「いま業務やってるから」

リファインメントである機能が本当に必要なのかどうか議論しているときのやりとりです。 情報を足していってPOに確認を求めたら、頭の中でその機能を使った業務をシミュレーションしてユーザーにとってどうなのかを考えるというのを「いま業務やってます」と端的な言葉で返ってきてとてもいい表現だなと思いました。

業務システムの場合は業務での使い方が大方決まっているので、実際にそれを使って業務をしてみるのが速い。 頭の中でそれが出来るPOはユーザー視点が極まっていてとてもよい。

UGCなんかでユーザーによって使い方が変わる場合はもっと複雑なことになると思うのでもっと難しそう。