昨日行ってきた銀座Rails#12で学んだことをメモ的にまとめておこうと思います。
「出張Railsウォッチ in 銀座Rails」
週刊Railsウォッチの@morimorihogeさん(BPS株式会社)の発表でした。Rails6の新機能や、個人的にはまだ自分は使ったことがないgemなどを色々聞けたことが収穫でした。大規模サービスでは複数DBを使用することもありますが、Rails6には標準で対応(まだ実用は厳しいみたいです)したり、gemだとswitch_point、secondbase(Rails5.1まで対応)などが良いみたいです。複数DBを設定する時はdatabase.ymlの形式が変わったり、migrationもmagration_pathを設定して別々に行うようです。
あと他にも興味深いものを紹介して頂きました。
Fullstaq Ruby...高速化されたRubyのディストリビューション
Ruby on Jets...Rubyのサーバーレスアプリケーションフレームワーク
「Rails使いのNuxt.js入門」
坂川雅俊さんの発表でした。普段、私はRailsをメインに業務をしていますし、そのRailsもまだまだ勉強不足なので、なかなかJavaScriptをしっかり勉強できる機会は少ないのですが、VueやReactを使ってしっかり作られたWebアプリはモバイルのネイティブアプリと比べても差が少ないアプリケーションになっていると感じることも多く、Vue.jsのフレームワークであるNuxt.jsにも関心がありました。発表の内容はNuxt.jsで一から簡単にアプリを使ってみるという内容で、Nuxt.jsも一回は触ってみたくなる内容でした。
Pugという言葉を最近たまに聞いたことがあったのですが、この発表でも使われていてPugとはHTMLを効率的に書くためのテンプレートエンジンで、RubyでいうSlimテンプレートのような記法のことみたいです。Slimみたいにスッキリ書けるのはRubyエンジニアの特権みたいに感じているところもあったのですが、そういう訳でもないみたいですね。
「プログラマがコードを書きながら考えること 」
「プロを目指す人のためのRuby入門」で有名な@jnchito(伊藤淳一) さんの発表でした。伊藤淳一さんがコーディングをする過程を追体験して、アプリを作成しながらその時にどういうことを考えながらコーディングしているかという発表内容でした。作成したアプリケーション自体も自分にはかなり勉強になるものだったのですが、今回の発表内容的にも自分がコーディングをする時との違いや、作業の流れを追うように意識しました。
・公式のドキュメントを参照する
自分の場合は、公式ドキュメントは英語で書かれていることが多くなるべくブログやQiitaなどの日本語記事で済ませようと考えてしまうことが多いです。しかしどうしても個人が前に書いた記事は内容や環境が古くなっていたり、やはり公式のドキュメントに勝るものはないと再認識しました。
・なるべく簡単な機能をつけるところから始めて機能を拡張していく
伊藤淳一さんのようなエンジニアでもいきなり作りたい機能をまるっと作成するのではなく、まず簡単なサンプルを作って設定などが出来ているか確認していたりする姿は個人的には救われたというか、自分も最終的なゴールにたどり着くために途中の適切な目標を作成してアプリを作成していきたいと思いました。
・RubyMineのデバッガ機能でブレークポイントを設定してデバッグ
IDEのデバッガを使って素早くにブレークポイントを設定して、どこまでは正しく処理をしているか確かめている姿は便利な道具をしっかり使いこなせれば、やはり恩恵を受けられると感じさせられました。自分はIDE使っていてもデバッガはまともに使えたことがなかったのですが、また挑戦したいと感じさせられました。
・開発途中で簡単なテスト書いて、実際に動かして確認する時間を短縮
テストの使い方、活用の仕方を実際に感じることが出来ました。自分はまだしっかりとしたテスト書きながら開発が出来ていないので、テストを書く必要性や利点を思い知らされました。
アプリケーションを作成している時の思考過程などを追体験させて頂いて、色々勉強になりましたし普段自分が何度も体験している「あれ?動かないぞ?」という状態は、経験や実力のある人でも当然に起こるものであるということが分かったと同時に、そのエラーが起きてから解決するための技術がやはり違いましたし自分には足りないと感じました。知識や経験によってある程度、問題解決のための方法が直感的に分かることもあるみたいです。