inohilog

/var/log/inohiro.log

学生エンジニア向けGitHub勉強会で、クックパッドでの基本的な開発プロセスについて話しました

プログラミングが好きな学生のためのGitHub勉強会 2015 | SEゼミ で、クックパッドでの基本的な開発プロセスについて話しました。 また当日はメンターとしても参加しました。

今回はGitHubを使ったこと無かったり、プルリ(Pull Requst)をしたことが無い学生の方々が主な参加者で、 GitHub実践入門の著者が講師を務め、いくつかのWeb系企業のエンジニアがメンターを務めました。

だいたい4人くらいの様子を見ていましたが、プルリを送り合うあたりまではスムーズに。 プルリするために、相手のリポジトリをForkして、ブランチを作って、push して、と ちょっと複雑になると、大変そうでした。

私も最初にgitを使い始めたころは、origin とか master とか、わけがわからなかったのを覚えています。 特に、当時は Subversion を主に使っていたこともあり。

発表内容は、それぞれの企業(5社)が実際にどんな風にGitHubを使って 日々開発しているのかがわかるようにということで、 なるべく前提知識が無くてもなんとかなるように作りました。 継続的インテグレーションとか、なかなか聞かない言葉だと思うで、説明を入れたり。

www.slideshare.net

スライド作っていると、あれもこれも話したくなり大変だった。 参加者の知識や技術レベルに差がありそうで、ドメイン固有の話題をしても伝わらなさそうと思う一方で、 基本的なプロセスなど他の企業と大きく異るところは少ないと考えられたので、 弊社特有と思われる事柄や、ソフトウェアについて説明しました。

近状

  • 完全に週報になってる
  • Atcoder Biginner Contest 024 やった

    • 4問中3問、ノーミスで解けた。最後の1問は時間切れてからもチャレンジしたけど、難しかった(全然ダメ)
    • 毎週(Regularと交互に)参加できていて良い
    • Ruby しか書いていないけど、普段書くコードと性質が異なるので色々勉強になる
    • 最近は C# も書いてないし、別の言語に取り組みたいですね。Elixir は本買ったけど全然読めてない
  • C# といえば、マイクロソフトの方たちと "C丼” を作りました:

  • 今日勉強になった内容をメモ

    • Range オブジェクトは降順で使えない((10..1) みたいな)
    • 2次元配列の初期化: Array.new(size) { [] }
      • Array.new(size, Array.new()) とは異なる
    • How To Write Ruby Faster at the Source Code Level
      • 別にそんなにパフォーマンスを気にしていないけど、適切なメソッドを使ったほうが速いよという例がいくつか
  • 明日

    • EffectiveRuby 勉強会に向けて、担当章の資料作る
      • これに限らず資料公開しても問題ないだろうから過去のものも遡ってアップロードしよう
    • Redshift の Interleaved Sortkey について調べてみる

近状

  • 仕事

    • 1月から広告事業の下に入った関係で、最近は(最近になって)広告関連の仕事をしている
    • 基本的にはデータを触っている側なので、あまり新しいことはしていないけど、気にするべき箇所が微妙に違う
    • さすがに1年たったので、何かあった時に見に行くべき場所とか、やるべき対処などは困らなくなってきた(遅いかな)。気を抜かないように
  • その他

    • Atcoder に定期的に参加できている。先週は Beginner Contest、今日は Regular Contest
    • Regular はなかなか難しいけど、1.8/4問解けたので良かったと思っている
    • 難しくなるにつれ、実装よりもアルゴリズム(考え方)が重要だなと感じる(プロコンなので当たり前だけど)
    • 終わった後に解説を聞くとか、他の人の実装を読むのも勉強になる
    • 時間が区切られているのも集中できていい