Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.
Yuta YOSHIIKE edited this page Mar 17, 2014 · 5 revisions

コミュニケーション手段

  • https://gitter.im/
    • 研修用のOrganization作っちゃえばそれで済みそう!!
    • みんなGitHubアカウントは持ってるはず
    • Organization作って、inviteするだけでOK
  • (↑使えない時は)http://www.chatwork.com/ja/
    • 会社のメアドでアカウント登録してもらう
    • その後、グループちゃんねるをつくってinviteする
    • 加えて、invite後に各自承認作業してもらう
    • (めんどい)

事前準備

  • Xcode (Command Line tools)
  • homebrew
  • Google Chrome
  • rbenv
    • ruby 2.1.0

この辺り boxen とかでどうにかできるかな?

→ あんまり多くないし shell script でもいいのかも。

→ 他の講義もあるだろうし plenv/ndenv/rbenv が入るようにするのが良いかも?

研修内容

https://github.com/junsumida/mosscow

  • このシンプルなTODOアプリを修正してもらったり、機能追加してもらう。
  • 一部Rackミドルウェアとしてgemにしてもらう。

ねらい

背景:講義・実習が1日なので時間が限られている。でも配属後にrubyを書く人もいるかもしれない。

配属後にrubyを扱ったプロダクトの開発ができるようにする

→ 困ったときに自力で何とか出来るような"最小限"のスキルセットを見ににつけてもらう

研修でやること・やらないこと

  • やること
    • Rubyの開発の基礎(Webアプリケーションの実装・テスト、ライブラリ化)
  • やらないこと
    • 有名どころのWAF/gemの使い方はやらない

レギュレーション

  • 基本的には1人で取り組んでもらう
  • 分からなかったら近くの人やチューターに聞く
    • 直接聞く
    • チャット
    • プルリク
  • 指定の結合テストをパスするアプリを作ればOK
    • コード内容はなんとなく見るくらい?
    • 早く終る人は機能追加してもらう(ユーザー認証など)やり方は自由。

講師・チューターが事前に用意するもの

  • ひどいTODOアプリ
    • sinatra + ActiveRecord / RSpec
    • ruby 2.1.0
    • RSpec 2.X.X 系
  • アンチパターンで頑張って作っておく
    • 非DRYのコピペコードとかで
  • つくっておくものリスト
    • サーバーサイド(正解例)
    • テストコード(正解例)
    • サーバーサイド(アンチパターン)
    • テストコード(アンチパターンなのでテスト書きづらいだろうし、最小限で)
    • クライアントサイド
  • DBまわりはあんまり触らなくても良いように、初回だけ db:migrate できるようにする
  • 最小限のテストは用意しておく
    • テストコードに TODO コメント で課題内容を書いておいてもいいかも?
    • それで順に取り組んでもらう
  • gem化の手ほどきドキュメント
    • サンプルのgemをgithubに作っておいて参考にしてもらうのが良さそう
    • 正解例のgemもつくる。これは講義時にはbitbucketにprivateにしておく

講師・チューターが当日インストラクションするもの

  • 最小限の講義
    • チュートリアルやってもらってると思うから、基本的なところはやらない
    • ただし、 Rack とは?とか、 bundler って? ActiveRecord って? みたいな確認はする
  • 研修内容の説明
    • 実習内容の説明+インストラクション
  • 開発環境が整ってるかは確認する
  • 最初だけチュートリアルっぽく全員でやる
    • git clone → bundle install → bundle exec -- shotgun
    • bundle exec -- rspec
    • XXXを修正する(テスト修正/追加 → テスト実行 → コード追加 → テスト実行 → commit/push)
    • push したら travis/coveralls/code climate が動いてくれてるとなお嬉しい
  • gem化の手ほどき
    • rackのミドルウェアを作ってgemにしてもらう際、基本的なhow toはテキスト(.md)にまとめてておき、参照してもらう
  • 追加課題
    • もう既にヤバイ怖い人でもご満足頂ける課題をなんか用意する