はじめに
「サービスを Ruby / Rails で成長させるためにやったこと」に参加して来ました。
そのときのまとめを留めておきます。
今回、勉強会を開催してくださった会社:メドピア株式会社 / 株式会社みんなのウェディング
ハッシュタグ:#medpeer_mwed
テーマ
- どうやってチームで開発力をつければいいのか悩んでいるがどうしたらいいの?
- サービスの改善をどうやってスピーディーに行うの?
- Ruby on Rails へのシステム移行(や、その周辺システムとの接続部分)はどうしたらいいの?
とあったんですけど、実際に参加してみたら話の内容として、
他の言語からRuby(Rails)へ移行するときに困ったことってのが多かった気がします。
内容
勉強会の詳しい中身は、タイムテーブル通りです。
新卒研修の OJT で学んだこと
新卒一年目の方が、MobasifからRailsへ移行するときに、DB周りの改修で困ったことを発表
- テーブル、カラム名に略語が使用されていて、それが何を表すのかわからなかった
- 使用されていないカラムが多かった
- マルチカラムアトリビュートアンチパターンの解消
またデータ移行に関しては、
SQL直書き + Railsで頑張ったとのこと。
反省として、ActiveRecord::Base.connection
を使えばよかったと。
当日の資料がアップされました。
Webpacker導入時におさえておきたい設定
- webpackを扱うためのラッパーgem
- rails5.1から導入(5.1じゃなくても使える)
あったほうがいい設定&忘れがちな設定
3つ紹介されました。
① CommonsChunkPlugin
複数のエントリーポイント間で利用している共通モジュールをバンドルしたファイルを出力するプラグイン
メリットとしては、
-
全体のファイルサイズが小さくなる
- 複数のエントリーポイントが1つの共通ファイルを利用するため
-
ファイルの読み込み速くなる
- 共通ファイルなのでキャッシュを活用できる
こちらの記事にも詳細載ってました。
② babel-polyfill と babel-plugin-transform-runtimeについて
-
babel-polyfill
- エントリーポイントの先頭にimportしないといけない
- グローバルスコープの汚染
-
babel-plugin-transform-runtime
- 複数エントリファイルから呼び出していても問題無い
- グローバルスコープ汚染をしない
- ただ、インスタンスメソッドの
[1,2,3].inclues(3)
とかは変換出来ない(なかなかつらそう)
他に参考になりそうな記事
③ rails-ujs
- ajax通信のget以外をよしなにやってくれる
参考記事はこちら
上記3点の詳細のコードはこちらに載っているそうです。
当日の資料がアップされました。
メドピアの輪読会
発表の中でとくによかったなーと個人的に思ったのは、
本を読んでいくなかで、チームの「決めの問題」の部分を事前に議論できたというところでした。
ex)
Railsのcontrollerのonly/exceptどっち使う?などなど
当日の資料がアップされましたので、載せておきます。
Rails移行のレキシ
スライドはこちらになります。
また、こちらのスライドは当日の発表では使用されていませんでしたが、関連しているので貼っておきます。