はじめに
この記事は、最新のRuby on RailsをキャッチアップしたいRailsエンジニアのアドベントカレンダー25日目です。
アドベントカレンダー最終記事となる本記事では、今回のアドベントカレンダーの振り返りを行います。
ただの振り返りだけだと読んでも意味がないので、最後に「今後学習したい面白そうな情報源」を載せておきます。
アドベントカレンダー振り返り
本項ではアドベントカレンダーを振り返りつつ、ダイジェストで書いた記事の紹介をします。
2023のアドベントカレンダーは、「1人で25記事書くことでアウトプットの良さを伝えられる人間になりたい」みたいなあやふやな動機で始まりました。
割とノリで初めてしまったため、1日目は以下のようなノリで書いた記事となっております。
この時点でTurbo
についての知識が皆無であったため、一通りTurboを触って理解することを目的と決めました。
しかし、どうせならDockerで最新のRailsの環境を作りたいということでしばらくは環境構築の記事ばかり。。
ようやく、Rails7もといTurboの学習に入ります。Turboの学習については、猫Rails様の「猫でもわかるHotwire入門 Turbo編」というはちゃめちゃにわかりやすい本のおかげでスムーズに進めることができました。
途中、流行りのAIエディタCursor
を使うようになり調子に乗ってコードリーディングしてみたり。
諸事情あってZennに浮気し記事を書くこともしていました。
アドベントカレンダーがあったことでアウトプットドリブンな日々が続き、毎日書くことを捻出するために学習をする、という習慣になっていきました。
結果、苦手意識のあったJavaScriptとRailsとの連携やその仕組みなどについても記事を書けるほどの理解を得ることができました。
25記事書いた反省
社会人が1日1記事を書くのはどう考えても無理がある
生活はかなり破綻しました。仕事も師走で忙しい上に、記事を毎日書くというのは想像以上のカロリーです。
「あれ?これやばいんじゃね?」と思っても時すでに遅し、今更引き返せないほどの記事数を書いていました。とはいえ、続きを書くネタもありません。10記事書いたあたりから完全にガス欠、進めもしないし戻れもしないという状態になってしまいました。
まさに「ご利用は計画的に」といった感じで、もし来年以降チャレンジする方がいれば、事前に十分なネタを用意してから始めることをお勧めします。
書く時間を固定できなかった
今回は毎日記事を書いていたわけではありません。どうしても書けない日もありました。そういう場合、土日は記事にかかりっきりとなり、結果あまり休まらず翌週に響き。。という悪循環に陥ります。どうせやるのであれば、学習 ~ 記事作成までの時間を決め、規律正しい生活を送ればよかったです。
読書やプライベートの時間を削った
趣味や読書、運動といった健康に過ごすために必要な時間もだいぶ削りました。記事を書いて、ほうほうのていでベッドに直行する、ということも少なくありませんでした。
反省のまとめ
総じて、以下も達成できていればより良かったなと思います。
- 睡眠時間を削らない
- 適度にリフレッシュもする
- 仕事に支障をきたさない
そのためには、以下のような対策が必要です。
- アドベントカレンダーが始まる前にあらかじめ書くことを決めておく
- 集中して記事を書く時間を定めておく
- 景品に釣られない強い心を持つ
この後学習したい情報源
これで最新のRails7.1までについての大体のキャッチアップはできました。
本項では、学習する中で見つけた、「今は時間がないけど面白そうだな〜」と思わせてくれた資料を紹介します。
The Rails and Hotwire Codex
In 2023, building an app solely for web doesn't cut it any more. iOS and Android apps are essential for a successful SaaS product.
Using Rails and Hotwire, it's possible to build a web app with accompanying hybrid mobile apps that don't suck.
なんと刺激的なキャプション。こちらは、99$で購入できる本です。なんといっても、iOSとAndroidのアプリをRails「だけで」作るという先進的な内容が魅力的です。Strada
というHotwireを構成する最後のライブラリによって成されるようですね。
Hotwired ATS: Modern, full-stack Rails 7 development
猫でもわかるHotwire入門でも紹介されていた本です。
この本では、以下のような内容を学ぶことができます。
Some of the things we will build together include:
Searching and filtering lists with Turbo Frames
Dragging and dropping items with Stimulus and again with StimulusReflex
Slideover forms with CableReady and again with Turbo Frames and Turbo Streams
Interactive charts with StimulusReflex
Real-time broadcasting with Turbo Streams and with CableReady
Inbound and outbound email processing with ActionMailbox
StimulusReflex
やCableReady
というものが出てくるそうですが、一体どのような技術なんでしょうか。興味が尽きません。
その他、以下のnewsletterにはさまざまなチュートリアル(たまにコードの紹介だけの時もある)が紹介されています。
例: Turboや他の技術を組み合わせてドラッグアンドドロップ機能を作る
こちらも、さまざまな記事を紹介してくれるメールマガジンです。
例: An Introduction to LiteStack for Ruby on Rails
最新のRailsについて追っていたら、さまざまな英語の記事を追うことに抵抗が無くなりました(だってそっちをみないともう情報がない。。)
終わりに
なんだかんだ25日までに25記事書けてよかったです。年末年始もこの習慣を絶やさず、1日1記事とは言わない間でも1週間に1記事くらいは書いていきたいです。
また、最新のRailsは適材適所で活躍できそうで、特に小規模の受託開発チーム(0 → 1)なんかにはもってこいなパターンがありそうです。それが実感できたのは大きな収穫でした。