Rails Developers Meetup #4 大阪会場 に参加しました。

会場

最近よくいっているタワーAではなく、タワーBだったので、グランフロント内の案内をみながらたどり着きました。

オープニング

  • 会場の説明
  • ハッシュタグは #railsdm
  • プログラムの紹介

Keynote 01: Dive into Rubygems

  • Dive into Rubygems
  • rails は new しただけでも依存している gem が結構多い
  • Gem のコードを読んだ実例
  • Gem の読み方
  • gem-src が便利
  • Gem のディレクトリ構成
  • lib: 基本的にlib/直下にはGEMNAME.rbとGEMNAME/しか置かれていない (rubocop とか)
  • spec, test: テストコードは動くexample
  • exe, bin: 実行ファイル (最近は exe)
  • Gem の依存関係
  • add_development_dependency を使わずに Gemfile に書いてしまっている場合もある
  • Gem をインストールする
  • tmpgem の紹介
  • Gem を作る
  • exe ディレクトリは自分で作る
  • git に stage しないと gem に追加されない (gemspec で git ls-files -z を使っているため)

  • https://twitter.com/p_ck_/status/803420202008313856 alias taketemp='cd "$(mktemp -d)"'
  • zsh の REPORTTIMETIMEFMT

Keynote 02: プロを目指すRailsエンジニアのための公開コードレビュー

休憩

LT 01: Bye, tachikoma gem

LT 02: Rubyistだった僕がRailsを使ってみて(仮)

  • 1: Ruby で感動したこと
  • ブロックと従属節: 従属節も2つとる自然言語はない
  • 2: Ruby をやらずに Rails から入った人にありがちなこと
  • (面白かったけど速くてメモ取れず)
  • 基本が大事
  • 3: マネーフォワード API
  • 認証: OpenID Connect
  • 認可: OAuth 2.0
  • doorkeeper gem を使っている

LT 03: Railsで新規サービスを開発する際にやったこと

  • https://www.slideshare.net/JyunichiKuriyama/rails-79120665
  • https://ydkr.jp/
  • プロジェクトの目的、目標とは別に自分の目的を決めた: 「技術を正しくつかう」
  • docker による開発環境などを準備
  • テストは必ず書くと決めた
  • モチベーションの維持のため、まえにすすむことを意識
  • どんなによいコードでもサービスが当たらなければ意味ない
  • どう書いてほしいのかどういう考えで作ってるのかを考えながらやるのはよかった
  • 最後に自己紹介
  • 質疑応答
  • 最低限 controller の spec

LT 04: Webpacker is installed

  • webpacker gem
  • Misoca に導入した時の話
  • Before: sprockets, browserify-rails, npm 依存とそうでないものが混在, フルビルドに時間がかかる
  • After: js は webpacker に完全移行, CSS は引き続き sprockets, フルビルドが20〜30秒

  • よかったところ
  • 環境に応じた切り替え, fingerprint 付きファイルの生成 などを一気にやってくれる
  • webpack 自体を活用できる
  • 例: CommonsChunkPlugin
  • webpacker 自体の恩恵ではなく、 webpacker はきっかけ

  • つらかったところ
  • Rails と webpack の境界が曖昧
  • 開発中の問題: webpack の起動がめんどくさい
  • foreman で一緒に起動はできるが、なんか止まることがある?
  • feature spec でビルドされないことがある
  • javascript_pack_tag が更新の時にビルドされない

  • 感想
  • 総合してふりかえると webpacker はよかった
  • Rails Way に乗れることは大きい
  • カスタマイズ時には知識が必要

  • 質疑応答
  • webpacker のデフォルトのディレクトリ構成に移行した

  • https://speakerdeck.com/mugi_uno/webpacker-is-installed

LT 05: Automation test in RoR project

  • 後の工程でバグが見つかると高いコストがかかる
  • UI テスト: 手動テスト vs 自動テスト
  • 自動テストツール cucumber
  • Gherkin language: Cucumber nomenclator
  • Capybara
  • Gherkin to Capybara
  • results
  • Cucumber: tagging
  • Distributed testing with Docker

  • 質疑応答
  • Q: エンジニア以外がかけるという話があるが、結局エンジニアが書くことになってつらい?
  • A: 結局エンジニアが書いてるっぽい(?)
  • Q: UI テストに cucumber 以外を使うなら何を使う?
  • A: Selenium IDE を使っている

クロージング

  • 次回予告
  • 次回から TECH PLAY で募集
  • 12月に Rails Meetup 2017 というのをやる
Disqus Comments

Kazuhiro NISHIYAMA

Ruby のコミッターとかやってます。 フルスタックエンジニア(って何?)かもしれません。 About znzに主なアカウントをまとめました。

znz znz


Published