よもやま話β版

よもやま話を書きます。内容はぺらぺら。自由に書く。

RubyKaigi 2025 ヘルパー参加の記録

愛媛県松山市で開催された RubyKaigi 2025 にヘルパーとして参加しました。 現地で交流いただいたみなさま、ありがとうございました!

rubykaigi.org

同通レシーバの受け渡しをやっていました

日→英の同時通訳の音声を受信するレシーバーを希望者の方に受け渡しする係を主に担当させていただきました。 昨年、受付周辺で英語の会話がうまくいかなかったことにショックを受けたのを機に、丸1年オンライン英会話に取り組んできました。聞き取り・やりとりは不完全ではありましたが、昨年よりかは1mmくらい改善していたような手応えがわずかにありました。取り組んできた甲斐が多少はあったなと思えて大変嬉しかったです。 ただし、やはりまだまだな面もありますので、引き続き英会話は頑張らねばと気が引き締まりました。 無事2年目を完遂したところで、何事もまずは3年…と思うところでして、来年ももし募集が通ればヘルパーやりたいなと思っております。

セッション1行感想

書き始めると終わらないのであえて1行…!

  • How to make the Groovebox: GUIシーケンサを操作するとカッコイイ音が鳴ってすごい、これがRubyで出来ているのか…。サイコーのGrooveを浴びました!
  • RuboCop: Modularity and AST Insights: 普段はのほほんとRuboCopのお世話になっているので、裏側が大変なところからまた改善されているとのことで、感謝、感謝…。
  • Ruby Committers and the World: 鮮やかなオレンジ色のTシャツで揃ったCommiters、今年も壮観でした。行内コメントの仕様についての議論を大変興味深く伺いました。後方互換性を考慮いただいていて大変助かっているユーザがここにいます。
  • Running ruby.wasm on Pure Ruby Wasm Runtime: Wasmは興味がありつつまだ使えていないところなので、改めて注目度が高い技術だなと感じました。Warditeの進化が楽しみです!
  • Porting PicoRuby to Another Microcontroller: ESP32: 自分もちょっとPicoRubyを触ってみたい閃きがあるのですが、困ったらこのセッションに立ち戻って勉強させていただこうと思いました。
  • Matz Keynote: ヘルパーをしてるとちょっと遅れて見にいくことになりがちなので、噂のせり上がりを生では見そびれましたが動画で拝見しました。わぁーっ! そしてRuby 4 の足音が聞こえてきましたね…!
  • 英語のセッションもいくつか拝聴しましたが、恥ずかしながら 高難易度 x 高専門性 x 英語 の聞き取りがまだまだだなということを改めて痛感することになりました…。あと3〜5年くらい修行したらもうちょっとわかるようになるか…? 要精進。

TRICK Most Natural ありがとうございました!

TRICKは興味があって今回提出に至ったのですが、まさか名前を呼ばれるとは思っていなかったので凄まじくビックリしました。 提出した手前どうしても見たくてうまくシフトを組んでもらい、ホールAで見ていました。

RubyKaigi 2025 ステージで名前が表示されている様子
Photo by あのぶるさん(@thatblue_plus) ありがとうございます!

呼ばれたときの記念書き込み

元々提出感想文は別で準備しかけていたものをもうお蔵入りにしようかな〜くらいの気持ちだったのですが、これはそれどころではない、と奮起して仕上げました。> https://beta-chelsea.hatenadiary.jp/entry/2025/04/29/100542

全作品のなかで一番シンプルにRubyでわかりやすいと自負がありますので、TRICKに興味を持たれた方には、「おっ、自分にもできるかも!」と思っていただけるかなと。不定期ゆえに次のTRICK開催がいつかはわかりませんが、自分も継続してRubyの面白い書き方をもっと探究したいと思いました。

サイン会

本屋さんが開催されると聞き及び、持ち込みで「あなたの知らない超絶技巧プログラミングの世界」「Rubyコードレシピ集」の2冊、現地で「伝わるコードレビュー」購入し、それぞれサインいただきました。めっちゃ嬉しかったです!!!引き続き読み倒していきます!!! 本棚をそろそろ増やさないと本当にまずい…。

宿泊感謝

お泊まりは今回も emorihouse にお世話になりました。ヘルパー業があったため優先してシャワーお借りさせていただいたり、朝早いところ身支度でゴソゴソしてたりするのを許容いただいたり…。そしてemorihouse参加者のみなさんと、色んなイベントの隙間の深夜、くつろいだ空間であとは寝るだけ、みたいな状態でRuby談義・開発業談義ができるという時間は特別ですね…。今回もお世話になりました! 参加されたみなさま、そして何より家主のemorimaさん、楽しい時間を過ごさせていただきありがとうございました!

See you in Hakodate!

来年4月は函館ですね! そこに辿り着くまではまだ ( Kaigi on Rails 2025 )、色々と ( RubyWorld Conference 2025 )、あるのですが ( etc... )、今年もRubyを活用する年度にしていきたいなと改めて思いました。今回浴びた刺激を忘れないうちに次のステップにどんどん活かしていきたいです。 また近いうちにどこかでお会いしましょう〜 👋

東京Ruby会議12 備忘録

東京Ruby会議12 に参加しました!

regional.rubykaigi.org

まだ1月中旬ということで、そこここで「あけましておめでとうございます、今年もよろしくお願いします」の新年挨拶が発生しているのが印象的でした。1月にイベントに行くという体験、そういえばあまりなかったなという気付きが改めてありました。受付時にお年玉も貰えました。いくつになってもお年玉は嬉しいものですね!

例の如く細かく書いているといつまでもまとまらない問題のため箇条書きですがメモです。勉強させていただきました!

発表自分用shortメモ

  • Keynote: 日頃から大変お世話になっているGitHubRuby 3.4・Rails 8 に追従していると聞くと改めて背筋が伸びる…! コード・Pull Requestの凄まじい分量に対峙し、スケールするためのHowTo、自分もいつか活用したい。(今はまだ関わっているものの規模が小さいので…。) scientist ( https://github.com/github/scientist ) 気になる。
  • 全てが同期する! Railsとフロントエンドのシームレスな連携の再考: 結構前にReact / Rails でチャットツールを書いた経験が脳裏をよぎった。常にデータを同じ方向に流し続ける、という概念のあたりはちゃんと把握できていたことに安堵。対して、Node/Root・Payload/Fetch の4象限は意識できていなかったので、次の機会にその辺をじっくり検討したい。
  • Writing PDFs in Ruby DSL: PDFって文字列情報なんだ、と今更ながら納得。そして意外と読めるぞというところも驚き。Rubyコードとしての読みやすさも追求されててすごい。"このスライド自体もRubyコードで出来ているのです" がオチとしてサイコーだった!
  • 混沌とした例外処理とエラー監視に秩序をもたらす: 『「かもしれない」プログラミング』、家に飾りたいレベルですごく良い言葉だ。オオカミ少年にならない例外処理、気をつけてはいるものの、多分自分の視野範囲内にも発生している…。RuboCopの活用、ぜひマネしたい。
  • functionalなアプローチで動的要素を排除する: 自分は関数型のプログラミングに不慣れ系人間なので、講義を受ける気持ちで聞いた。自分が実装で悩んでいるところ、関数型のように書くことにも適応できれば、もっとスマートに解決できそうな気がする。実際に書いてみないと!
  • mrubyでワンバイナリーなテキストフィルタツールを作った: `rf`` は Ruby Filter の略。タイプ数は1文字でも短くあるべしと徹底されているところに情熱を感じた。CLIツールの作り方のノウハウを丁寧にまとめてくださっているので、作りたくなった時は改めて再参照必須だなと思った。
  • Regional.rb and the Tokyo Metropolis: 地域.rb、改めてこれだけ集合されている様子を拝見すると圧巻。実は自覚的に所属できている地域.rb無い気がする、興味はありつつ余暇と天秤にかけて…ううむ…マジで身体1個じゃ人生足りないな。
  • Ruby と Rust と私: Rustは気になりつつ、まったく学習できずにきているので、Ruby と Rust の比較を詳しく聞けるのがありがたい。巨大なJSONの処理に四苦八苦するケースに心当たりはあるので、まずは Serde の利用から始めるのはちょうど良いかもしれないと感じた。

ありがとうございました!

2025年最初の月に、Rubyistのみなさんにご挨拶ができて嬉しかったです! 各発表からも、とても良い刺激をいただきました。 印象に残ったこととして、 地域.rb の継続に関するお話のとき、みなさん揃って負担のないように進み続けておられるなということを感じました。

自分もここ数年、継続することの強みを理解していつつも、なかなか実践に至らないという状況で反省が多いです。それも自分が負担と思ってしまうようなルール付けを自分自身に課してしまっているためでもあるので、2025年はもうちょっと負担減・継続増な年にしていきたいです。

「東京Ruby会議12」から今年1年を走るための最初の活力を受け取ることができました。本当にありがとうございました! 今年もよろしくお願いいたします〜 🙏

松江思い出写真2024冬

あんまりにもただの観光をしてしまったので、RWC感想記事とセットにするにはやや良心が痛み、ここにストックする。ありがとう島根県松江市…!

スーツケースの上に乗った猫
連れてけ(ダメです)

サンライズ出雲の行き先表示
1ヶ月前に朝7時半から並んで取ったサンライズ出雲チケット。10時打ちしてくださった東京駅の職員さんに大感謝…!

サンライズ出雲の部屋内より、東京駅ホームを見る
わ〜すご〜〜〜い

サンライズ出雲のサンライズツインの部屋のドア
わ〜すご〜〜〜〜〜い(語彙力ゼロ) ※サンライズツイン

出雲そばと天ぷらのセット
これが出雲そば!この3つの丸い椀で出てくるというスタイルが割子そば…という解釈で良いのだろうか

出雲大社の鳥居
初・出雲大社御朱印帳を忘れる失態がありました…記録にと思い用紙のを頂戴したが次こそは…

川と肉まん
肉まんをパクつきながら、やんちゃさんオマージュの投稿をしたら「やんちゃクラブ Advent Calendar 2024」の誘い水になった まさかそうなるとは思っていなかった

松江城全景
松江城に登ってみた。床がギシギシいうし隙間から下の光が漏れてて怖かった。あとめちゃデカ井戸も怖かった。歴史だ。

松江城をバックに日本酒の瓶
こたつハウスで分けて頂いた日本酒の瓶を庇いながら登ったのも恐怖の要因かと思われる。(お家で少しずつ頂いてます!ありがとうございます!)

川で泳ぐ鴨たち
めちゃ🦆がたくさんいる街だなと思った

川を泳ぐ多数の鴨たち
🦆🦆🦆

池を泳ぐ多数の鴨たち
🦆🦆🦆🦆🦆🦆

水路で泳ぐ鴨たち
いや多すぎんかキミら🦆🦆🦆

堀川めぐりの船を遠くから眺める
水路を船で行くことができる「堀川めぐり」で移動した。冬なのでこたつが設置されていた。粋! 途中下船OKだったので、観光もそうだが普通に交通手段として利用させていただいた。

「堀川めぐり」船内のこたつ
粋…!

小泉八雲旧居内部から庭を眺める
小泉八雲旧居、素晴らしかった…。時間が許せば日がな一日、ここでぼおっとしていたい。

小泉八雲旧居・机
小泉八雲氏と自分がほぼ同身長のため座ってみる。強度近視により原稿に目を擦り付けるようにして書くための机とのことで、納得のサイズ感。

割子そばセット
空港のレストランでラスト割子そばをいただいた。美味しかったです!

RubyWorld Conference 2024 行きました記録

Rubyの聖地・島根県松江市で例年開催されている「RubyWorld Conference」、存在は知っていましたがこれまで機会を逸しており、今回初参加でした。島根県立産業交流会館 「くにびきメッセ」にて 2024/12/05(木)-06(金) 開催されました。

https://2024.rubyworld-conf.org/ja/

師走の慌ただしさに押し流されて記事がうやむやになりかけましたが、時間ちょっと経っちゃったけどこれも記録と思い、えいやで出します。えいや。

宿泊感謝・こたつハウス

今回、複数人でゲストハウスを貸し切って一緒に泊まる「こたつハウス」にお世話になりました。寝る直前までリビングでRubyそしてコミュニティに関する色んなお話と地酒を楽しめました。企画してくださったこたつさん(@sakahukamaki)、ありがとうございました!

英語力がまだまだ

今年(2024)の5月頃から本格的に英語を勉強しているつもりなのですが、まだまだついていく力が足りてないなぁと痛感しました。まぁ1年足らずで出来るようになるほうがおかしい(出来てたら今頃苦労していない)ので、継続的に学習を続けます。今はDMM英会話の月8回プランとDuolingoと瞬間英作文のJumpStartという本をつまみ食いしています。

本会感想メモ(私用)

文章に都度したためていると果てしなさ過ぎてSubmitを押せないので、過剰書きにてざっくりと個人用記録サマリーを残すことにしています。発表者のみなさま、交流してくださったみなさま、ありがとうございました!

  • 本屋さんにRubyの本がもっと増えるといいなぁ!
  • mruby/c で出来た “RUBY CATCHER”、自分も遊ばせていただき無事キャッチ成功。イイ感じの難易度だった!
  • 現地で基調講演をそのまま英語で聞こうと頑張ってみたが撃沈したので、後日YouTubeで拝見した。(通訳ありがとうございます…!) 自分のSNS体験はずっと某青い鳥に依存するような形だったのだが、最近それも良くないかもなと丁度思うところもあり、語られたFediverseの世界観のほうが展望がありそうだなと感じた。Mastodonは昔チラッと見た時に多すぎる選択肢に尻込みしてしまい入り損ねたのだが、改めてサーバを探しにいこうと思った。引っ越しできるんだから、もっと気軽に考えないと…。
  • tompngさんによるIRBのお話があった。IRBにはものすごくお世話になっているのでありがたいなぁとしみじみ思った。
  • 学生だった時にかじったProcessingが巡り巡ってRubyで触れるようになったのが面白いなと思って、自分も最近 GitHub Pages で動かしてみている。たのし〜!
  • DXライブラリをその昔触ってみたことがあるクチなので懐かしさを覚えると同時に、15年前からRubyに親しむ土壌を作っている島根県さすがだと思った。
  • 生成AIでRubyの学習教材!文章を書いてもらうのがどんどんAIの仕事になっているのか…人間がチェックすべきは文章の中身・確かさであって、文章自体は確かにAIにお願いしても良いのかもしれない…。
  • 「作者の気持ちを考えよ」、確かにいつものコードを読んだり書いたりする過程で向き合っているかもしれない!なるほど感が強かった。
  • 今年はたくさん "Simple が良い"、"Ruby-friendly こそがベストプラクティス"、という風な話を聞いた気がする。書いていて/読んでいて心地良いを目指すが吉、ってすごく嬉しいことだなぁ。
  • Ruby は実質 parse.y 」
  • ruby.wasm、本当に面白いなと思ってみている。ブラウザで動くというのはとっつきやすいという点ですごく良い。自分は昔ブラウザで動くからという理由でjsを主に使っていた頃があるので(*進化についていけなくて離れた…)、単純に嬉しい。
  • バイナリ列をジッと眺めて”理解”できる種の方がおられるというウワサは知っていたが、これが実例か〜。と思った。
  • Rubyはブレーキ壊れてるんで」すごく良いセリフだなと思った。積極的に勢いづけてやっていくときの言い訳(?)として使っていきたい。
  • コロナ禍の中で病院関係の開発をほぼOnePersonでされたというお話だったと解釈をした(自分の聞き取りが間違いでなければ)。自分もOnePersonな働き方をして久しいが規模と責任とスキル濃度が桁違いだと思った。勇気づけられた、自分も頑張らなくては…!
  • 「ワーカーが温まってないならば、温まったものを使えば良い」、あまりサーバに対して暖気運転という発想を持っていなかったので、とても参考になった。
  • カナリアリリースの実践話、自然とそれは大規模リリースとセットで語られるケースが多いと思うのだが、毎回気が引き締まる…。
  • 自分も最近 GitHub Pages を Jekyll で動かしたので「いいね〜!」という気持ちになった。Web個展って響き、とても素敵だなぁ。
  • 総じて、行政がRuby盛り上げようとしていることが良く分かり、とても良い話だな…! と思った。さすがRubyの聖地。

開会時・Matz氏の登壇
これが噂に聞く"ルビカン"!

RUBY CATCHERのクリア画面
これは実はクリアできている画像、画面左端にドットがある

ありがとう島根県松江市

初めてRubyの聖地を探訪しました。あんまりにも楽しみすぎて1日余分に有給取ったし、サンライズ出雲に乗ったり(初)、出雲そば食べたり(初)、出雲大社行ったり(初)、松江城登ったり(初)、赤てんという美味しい蒲鉾に出会ったり(初)、思ったよりも自分が日本酒を呑めることに気づいたり(初) と、Ruby以外の諸々も楽しませていただきました。

本当にありがとうございました!

次回も行けるように、2025年も引き続きRubyで Enjoy Programming していきたいと思います。エンジョイ!!!

ヒトは如何にしてGitの習得に至るのかを考え中

これは フィヨルドブートキャンプ Advent Calendar 2024 の9日目の記事です。

adventar.org

昨日(12/8)はmotohiro-mmさんによる Rails7.2でChromeDevToolsのデバイスモードを変更して操作するとエラーが出る話 でした。自分もどこかで同じ問題を踏みそうなので、参考にさせていただきます!

フィヨルドブートキャンプ(以下、FBC)のアドベントカレンダーに空きがあるとのことで、急遽筆を取った次第です。自分はメンターとして関わらせていただいていますので、カリキュラムの話、特にいま関心のあるGitの話をちょっと書きたいと思います。

Git、基本の学習環境はすでに提供済み

Git、あるいはその他のバージョン管理ツールは、プログラミングを仕事にしている人にとって必須のツールですが、それ以外の人はまず触れたことがないというケースが多いのではないでしょうか。「コードを書く仕事が主ではないけど、分析のためにSQLは書ける」という人は複数知っていますが、「コードを書く仕事が主ではない && バージョン管理ツールを使いこなせる」という人は滅多におられない*1と思います。なので、FBCに入ってすぐの初学者のみなさんにとって、Gitとの出会いはまさに「未知との遭遇」と言えるでしょう。

FBCの学習カリキュラムでは、かなり早い段階でGitの基本的な操作の練習コンテンツが準備されています。練習以降は、GitHub上にソースコードをpushしたり、さらにレビュー結果に応じて変更をcommitしたり等の実践的な使用が始まります。ソースコード提出はみなさん概ね問題なく進めておられるので、基本を学んでもらうという点では、現在のコンテンツは充分に役割を果たしていそうです。

「複雑なGitの活用シーン」はいつかどこかで出会うんだよな

しかしながら、あくまでプラクティスでの実践は「1人開発」にかなり近い環境であるため、より複雑なGitの活用シーンに出会う機会は終盤の「チーム開発」*2に至るまで意外と無い…というケースになりがちな気がしています。「チーム開発」では並行してブランチが走っており、また、そこに至るまでの過程で皆さん充分な自走力(自力で調べて解決まで導くチカラ)を備えておられるので、それらの状況がGitを使いこなすスキルの糧となります。が、より早い段階でGitを使いこなせていたり、トラブルに対処できるようになっていたりすると、途中のプラクティスやチーム開発をよりスムーズに進める助けになるはずです。

「複雑なGitの活用シーン」は、例えば次のようなことがあるかなと思っています。

  • いっぱいコードを書いたけど、2機能分の変更内容があるので、2commitに分けて歴史を積みたい
  • commitしちゃったけどやっぱりやり直して2commitに積みなおしたい
  • 歴史が長くなりすぎたのでmerge前にイイ感じに統合したい
  • 作業ブランチがいつの間にかmainから遠く離れており、すさまじくconflictが発生する
  • Aブランチで実装していた一部の機能が他ブランチにも必要になってきたので、その機能部分だけBブランチとして先行してmainに取り入れたい
  • ローカルのmainブランチに誤ってcommitを積んでしまった
  • ローカルのmainブランチを誤って消してしまった
  • (etc...)

なんで出来るようになったんだっけ→それはいっぱい問題を踏み抜いて実体験したから

上記シーン例は自分の心当たりのあることばかりなのですが、これらに最初出会った時はどうしていいかわからなくて困った覚えがあります。今、それができるようになったのは「実体験したから」という一言に尽きます。転じて言えば、実体験を積めばおのずと身につく のではないかと考えています。

FBCのプラクティスのひとつとして、複雑な状況をわざと用意しておき、それらをGitを活用して解決してもらう…というのがいいのではと思ってアイデアを練っているところです。

まだメンターMTGで言えてない(すみません)

つらつら書いたのですが、実は、月次のメンターMTGではまだ「やります!」宣言ができておりません…。もうちょっと具体でモノを作ってみて、いけそうだと分かってからお伝えしようと思っていたのですが、期せずしてアドベントカレンダーのネタにしてしまいました…。komagataさん、machidaさん、メンター陣のみなさん!1月のMTGにてカンバンのタスクを拾わせていただこうと思っていますので、よろしくお願いします!🙇

イデアメモ

どんなプラクティスにするかツラツラ考え中…。作っていくうちにボツにしたり、メンター陣のみなさんのレビューで磨かれるので全部載らないような気がしていますが…。

  • mainブランチへのrebaseをするときにちょっとしたconflictが発生し、解決する。よくありがちかなと思うので事前体験してほしい。
  • git cherry-pick で1件のcommitだけを別ブランチに抜き出す。適切な粒度にしておくとこんな便利なこともできるよということを知ってほしい。
  • 無駄commitだらけのブランチを適切な粒度のcommit数個に再整形する。git add -p は覚えておくと便利だと思う。
  • --force-with-lease--force-if-includes を使って同名ブランチの上書きpushをする。ちょっとこれは自分も改めて勉強しなおす必要がある。
  • 適切なコミットメッセージを書くという意識をもってもらいたい。
  • …などの作業を仮想体験するための、それなりのボリューム感のあるソースコードが必要。
  • 雛形リポジトリと問題の発生しているブランチ群を用意 → forkしてもらい、解決したものをPullRequestとして提出してもらう。
  • レビューに使う体力が極力少ないカタチを目指す。時間をかけずにレビューできれば、その分速くお返事ができたり、多くのレビューができたりするので。

余談

同様の「実体験を積めばおのずと身につく」の方針で過去に原案を準備させてもらったプラクティスが、

  • 「プログラムの修正」(cafe.rb)
  • 「プログラムの修正(リバーシ編)」*3

の2件です。受講生でこれらのプラクティスを通過された方は、”プログラムを修正する"ということを「実体験」していただけたかなと思いますが…特に後者のほうで…どうでしょう? うまくいっているといいのですが🤔

これらの準備にも3〜5ヶ月くらいかかった気がするので、Gitのプラクティスを準備し始めたとして、実際に使えるようになるまでは結構かかりそうです。お正月にガッツリ時間取れるかな〜。がんばるか〜。

*1:例外: inaoさん

*2:「チーム開発」とは、FBCそのもののサイト自体を開発するプラクティスのこと。参考 https://bootcamp.fjord.jp/articles/34

*3:リバーシ編は、大元のコードは自分が書いたのですが、現在提供されているものはメンターチーム内でレビューしていただいてがっつり改善した後のものになります。特にjnchitoさんにはすごく良い感じに磨いていただき、よりナイスな体験を提供できるプラクティスになったと思います。自分もとても勉強になりました。その節はありがとうございました〜!

Kaigi on Rails 2024 楽しかったです!

Kaigi on Rails 2024 お疲れさまでした!

kaigionrails.org

国際展示場駅の駅広告

今回はオーガナイザーのチームメンバーとして、春先の準備フェーズから関わらせていただきました。今まではいち参加者としてのほほんと色んなカンファレンスにお世話になってきましたが、時間をかけて準備されて当日を迎えているんだなぁということを改めて体験として実感しました。

当日は主に受付の担当をしていました。有明まで足を運んでくださった参加者のみなさんに、イチバンにご挨拶ができて嬉しかったです!

セッション

スタッフとしてお仕事もしつつ、いちRubyistとしてセッション聴講もやはり外せません。うまくスタッフ間でシフト調整していただいて、拝見できました。*1 タイミングが合わず残念ながら見れなかったセッションがたくさんあるのですが、2トラックあった以上、スタッフに限らず参加者全員もれなく半分は見逃してるはずなので、録画の公開を楽しみに待ちたいと思います! 下記、拝見の記録。

入門『状態』

(Day2 13:05〜13:20)
『状態』を定義する・保持する・変更するというのは、システムをつくる上で避けては通れないところです。『状態』の管理方法について、自分が無自覚に注意していたことをあらためて明文化してもらった感覚がありました。紹介されたソースコードが話が進むにつれて、どんどんリファクタリングされてシンプルに、より読みやすくなっていくのが分かりました。初学者の方のコードをレビューする機会が時々あるのですが、状態の管理でお困りの様子を感じたらこちらのセッション記録を紹介しようと思いました。

Sidekiq vs Solid Queue

(Day2 13:30〜14:00)
自分が面倒をみているリポジトリでは Sidekiq に大いにお世話になっているところなので、対抗馬としての Solid Queue に大変興味がありました。やはり後発の方に乗り換えがいいのかしら…という気持ちで聴講開始したのですが、Sidekiq 使っているならそのままでもよい・いまから気軽に Rails new なら Solid Queue、というおおまかな方針を知ることができてよかったです。バックグラウンドワーカーの歴史が、ストレージ性能の向上・ Active Job 以前/以後で変遷していく様子もあわせて把握できて、とても勉強になりました。

WHOLENESS, REPAIRING, AND TO HAVE FUN: 全体性、修復、そして楽しむこと

書籍『Rails によるアジャイルな Web アプリケーション開発』との出会いを “恋に落ちた” と表現するところから始まった島田さんの基調講演、大変感銘を受けました! 特に、「修復する」という言葉の意味について、「元の状態に戻す」ではなく「変化に適応(調和)させる」ことなのだ、というお話にハッとさせられました。

自分の個人的な体験の中でも、「これは Rails Way から外れようとしている」という直感がはたらき、設計を見直すという行動につながったことがこれまでに何度もありました。Rails に親しんでいると、修復(再調和)が必要な箇所に対して”直感”・”違和感”という形で検知でき、それらを解消する方向に進むことこそが将来のトラブル回避につながるということが確かにあるように感じます。おお…これが…「導きの星」…!?

一方で、Rails Way に助けられつつも、そこに乗り続けていられるかというと、時間的都合とか技術的都合とかあらゆることで常に脱線との戦いがあります。「シンプルを保つのは難しい」ということにも首がもげるほど頷きつつ、それを実現し続けるための学びをこういった書籍やカンファレンスから獲得して、研鑽を積んでいきたいと思いました。もちろん、「たのしい」を忘れずに!

そして Next Kaigi へ…

個人的なスタッフとしての反省は多々ありますが、それはチーム振り返りに持ち込むとして…。いまは無事に閉会したことにほっとしています。Twitter(X)*2 のタイムラインには「良い会だった!」というコメントがたくさん投稿されていて、自分が微力ながらその会をつくる一員として稼働できたということがものすごく嬉しいです。8月上旬、凄まじい数のCFPを読み切った甲斐がありました。

今回、自分はCFP出したいなぁと思ってはいたものの、ふわふわっとした考えを言語化・具体化しきれず、出しそびれてしまいました。採択有無はともかく、チャレンジも出来ていなかったというところに悔いが残っています。来年の会場はもう決まっており、Next Kaigi はすでに動き出しているので、自分が考えていることを形にする訓練をしていきたいです。

そもそも半年後には RubyKaigi 2025 (2025/4/16-18) があるわけで…。
というかその前に RubyWorld Conference 2024 (2024/12/5-6) があり…。
もっと言うと 東京Ruby会議12 (2025/01/18) も…。

おっ、忙しいぞ…!
たのしいことで忙しいのは良いことだ!

Kaigi on Rails 2024 の名札、ピンバッジ、ステッカー
たのしかった〜!

*1:こばちえさん、しげるさん、ふぁらおさん、調整ありがとうございました〜!

*2:まだ指と脳みそがTwitterって反射的に書いちゃう人間です

STORES Tech Conf 2024 聴講記録

storesinc.tech

STORESさんの自社テックカンファレンス「STORES Tech Conf 2024 "New Engineering"」を聴講してきました。 特定の会社さんが主体のカンファレンスを初めて体験しましたが、OPムービーがあったりとか、会社さんの汎用のノベルティでなくこの会専用デザインのものをいただいたりして、すごいパワーを感じました。また、いつも他の参加者のみなさんの意見を眺めるための場としてTwitter(X)を利用していますが、今回はDiscordが開設されていました。Discordで感想のTimelineもみれるし、疑問/質問があればスタッフさんに聞ける場所があって大変助かりました。Wi-Fi のID/pass は自分も困ったのでDiscordで他の人のやりとりを拝見して解決しました。感謝です! 🙏

Keynote: AIの時代で我々はどのようにコードを書くのか

AIが台頭してきたなかで「残された仕事」は何か、ということを哲学側面から深ぼる話でとても面白かったです。Techカンファレンスであんまりこういう哲学の話とかをじっくり聞く機会は少ない気がします。 哲学をしっかりと修めていないので、用語には明るくはないのですが、こういう雰囲気の話がすごく好きです。働くなかで出会う合理的にビシッと決められないアレやコレやが脳裏を巡りました。もしかしたら "決める" こと自体はAIにも出来るのかもしれませんが、その決定にYesと言う / 何かし決めたことの結果を受け入れる / その上で先へ進む、ということは人間主体であり続けることは変わらないのだろうと思いました。面白いな〜〜〜。

発表の感想

  • 『繋がっていくサービスを支える開発環境作り』: いっぱい関連サービスを持たれていると、開発環境を整えるのにも苦労がいっぱいあるんだな…としみじみ感じました。 make dev 万歳!!!
  • Jetpack Compose で作る楽しい金額入力画面!』: 金額入力画面のここがステキ!というのを作り手が言えるプロダクトは素晴らしいですね。快適なUI/UXはきめ細やかな気遣いのソースコードで成立しているんだなと改めて思いました。
  • 『STORES の OAuth 大改造!認可対象変更までの険しい道のり』: 認可対象変えるってものすごい大変なことだと思うのですが、やり切った体験談が聞けると勇気がもらえますね。めでたい!
  • 『プロダクトのバンドル化を見据えたプライシングにおけるデータマートの新しい活用方法』: 「値付け」以外にも、色んな変数を持ってて業務で必要なものをスプシ管理する…というシーンは自分もよく出会いがちなので、データマート化しておくというのはトライしてみたいと思いました。とても参考になりました。
  • 『複数の ScrollView が連動! STORES レジでスプレッドシート風 UI を実装しました』: なければ作る!というマインドはアツくて良いですね! UIに対する捉え方(スプシ風にすれば動きそう)、データをどう可視化するか、可視化した結果追加される要求(ドラック&ドロップしたい)の話など UI起点の話題をまとめて聞けて面白かったです。事前にデモを拝見していたので分かりやすかったです。
  • 『本当は秘密にしておきたい、STORES 決済 QA 本番環境での検証の話』: タイトルに秘密とあるのであんまり書きませんが(?) 決済系の本番で問題が起こらないように、様々な検証が注意深く実施されているということを改めて知り、店舗を利用するいち顧客としてありがたいなぁと思いました!
  • 『10年物のRailsアプリにキャッチアップ! 〜コードを読まずに理解したかった〜』 : 歴史のあるプロダクトに親しむためのHowToが詰まっていた凄い発表でした。最終奥義としてのコードを読む方法も、何を手がかりに辿っていくかのフローが整理されており、とても分かりやすかったです。「アプリと仲良くなりたい・健康でいてほしい」という言葉がとてもステキでした!
  • コンポーネントライブラリとして作る、ポータブルなデータ分析』: 「必要は発明の母」を強く感じる発表でした。理想に達するまでに課題が大量に出るなかで、それに立ち向かい続ける、やってみよう!マインドを持ち続ける姿勢がすごくカッコよかったです。また、この業界の「blogを書いて公開する」という慣習がとても有用なんだなということを改めて感じる事例でした。

Keynote: New Ruby Engineering

いちRubyistとして最後にコミッタのお二人の対談を聞けて嬉しいなぁと思いつつ拝聴しました。型・並行処理・速度、いずれも興味深いですが、個人的にはAtCoderRubyで時々やっている影響もあり、速度に関心があります。「すごく速いRuby」、とても楽しみです。またRubyを使っている最大の理由として「書き心地が良い」というところがあるので、変更を入れていくにもRubyを書くときに生じる良い体験が変わらないように、というところを考慮してくださっているというのが本当にありがたいことだと改めて思いました。 15年後はどうなってるのか分からないが、5年後は地続きに感じる、というところから自分もふと色々考えてしまいました。5年か…長そうに思うけど、あっという間なんだろうな…。とりあえず、Rubyに本格的に親しみはじめてからちょうど自分は10年くらいなんですが、ずっと変わらず楽しいので、15年後も楽しいだろうなと思いました。

ありがとうございました

いわゆる「自社テックカンファ」というものが初体験だったのですが、色んな角度の発表が聞けてとても満足感のある会でした。STORESさん、お誘いいただきありがとうございました! 🙌