経緯
今年の夏休みにもメールでgit challengeのことは知っていたけれども,クックパッドのインターンに参加していて,後半まで残れるかわからなかったため参加を見送りしていたイベントでした. しかし今の時期に開催されるもので,友人から一緒に出ないと誘われ参加を決意しエントリーシートを提出したところ通ったので無事参加に至る. 通常のgitの運用だったり,OSSへのPRベースの運用でひどい運用のリポジトリを触ったことがなかったので,ぬるま湯につかった私が生き残れる現場なのかこれは...という不安でいっぱいでした.
当日
朝の新幹線に乗っていて大宮で乗り換えたら誘ってくれた友人(k君)と遭遇し,一緒に会場まで向かった. けどこういう日に限ってトラブルは起きるもので,濃霧のため電車が遅延,田舎っぺなので乗り換えの電車がわからないなどなど重なり, 結局集合時間には間に合わず,渋谷駅から会場に行くまでにも迷い,オリエンテーション開始時間ぴったりに到着しました,本当にmixiさん,参加者のみなさんごめんなさい....
会場に着いてからの感想は,ここ本当にオフィスか???というものでした,本当に綺麗(社員の人に聞いたらお客さん向け&人事とかそういう人が基本的に使う空間だったらしい). そこで簡易的なオリエンテーションを受け,なぜバージョン管理システムを利用するか,またmixiでの利用の方法についての解説を受けました.
私たちもチーム開発(SmartCampusや東北大学祭公式アプリ)でgitを活用してソース管理をしていたが,チームがでかくなったりチームの方針ではデザイナでもバージョン管理システムを使うんだなぁということを知った. まぁこの非エンジニアであるデザイナだったりがバージョン管理システムを使うというのが後々の悲劇を生むということは競技のうちに知るのであった.
お昼ごはん
最初のオリエンテーションで今からお昼ごはん,🍣🍣🍣っていうものが見えたので🍣きたあああああと思ったんですよ,思ったんですけどね... どうも今日はイチローがマリナーズだかで何かしらしたやつの日らしく,それにちなんでイチローの好物である🍛でした. いや,🍛好きだからいいんだけど紛らわしいわ!!
食に命をかける系エンジニアなので結構早めに並んだのですが,ビーフ人気で私の眼の前で売り切れました,一緒にきたk君,ビーフは美味かったかい...? 私はポークを選択しましたが,結構美味かった,甘めのルゥだったなぁという印象(ビーフ,ポーク,チキン,野菜だと甘めが公約数なのかしら). 他にも野菜なりデザートなりジャガバターがあってよかった.
本日メンターになった人は同じ東北大学出身で,しかも馴染みのある研究室の方でした(S研). 研究室の話で盛り上がったり,Subversionからgitになってよかったみたいな感じの話だったり,だいぶ楽しいお昼ごはんでした.
競技に関して
同じ大学から参加のk君と一緒のIチームで競技を行いました. 同じチームで開発していた(リポジトリは違うもので開発をしていたけれども)ので信頼のおける相方でした. 即興で組むとさすがにどれくらいの力量があるのか測れないので本当に相方ガチャっぽくなってしまうので,本当にチームには恵まれていたと思います.
チームの攻略方針としては,とりあえずk君は奇数番目の問題を,私は偶数番目の問題をということで問題を解き始めました.
結果的にいい選択だったんじゃないかなとは思っています(問題の出題傾向的な意味で<-検閲対象
ずっと語録を発していたりで一番 うるさい 和やかで賑やかなチームだったのではないかとう感じで,マイペースで競技を行えました.
そのこともあり,問題のことについてはあまり話せないですが,頑張りました,健闘しましたとしか言えませんが,1位タイが3チームあって,結局5位でした.
スコア的には3ポイント差で,私が最後の問題を通していれば表彰でした,ほんとごめん...
競技終了10秒前ぐらいにk君がpushして無事CI通った時はマジで燃えました,あいつもってるわ,マジ.
解答解説
知るかこんなコマンド. (と思ったけどクックパッドのインターンでやってたことを思い出して頭を抱えた)
まず感じたのは,低級コマンド触ることがないように,ちゃんとしたgitの運用を心がけたいですね,ということ. あとforce pushで投げくんなという印象しか持たなかった. けど実際非エンジニアの入るリポジトリでは今回競技に出たクソリポジトリみたいなことが起こるらしい(最初のオリエンテーションで言ってたやつ),
けどforce pushされた時でもすーぱーえんじにあ
なら,はいはいこういうことねってことで直せるあたりかっこいい,ああなりたいって思いました.
今日得られた教訓としては, * git の運用に関してのルールを正しくもうけよう * これがいいらしいということではなく,正しく理解できた上で変更をかけよう * 誰かのやらかしがわかるようにCIだったりテストをできる環境を作って,常に通知させるようにしたほうがよさそう
ということでした.ローカルバックアップ強い.
懇親会
酒飲んでソシャゲのチート対策だったりテープメディアがまだ存在しているという話で盛り上がったことぐらいしか覚えてない. 琥珀エビス美味かった.
帰宅
帰れてよかった,本当によかった...
実は私帰りの新幹線適当に窓口行ったら取れるだろうと思っていまして,油断していたのですが,はい,とれませんでした(自分では). JRさんDOS攻撃まがいのリロード作業してごめん,本当に指定席とりたかったんだ...となっていたのですが, 本日の相方のk君がチケットをなんとかしてモバイルページでとってくれて無事帰ることができました,20分以上連打作業に付き合ってくれて本当にありがとう,本当にありがとう. ということでこれは今k君がとってくれた新幹線の中で書いています.
おわりに
実際mixi git challengeに参加してよかったかと言われればよかったです,非常に満足のいく内容のイベントでした. 実際あんなやばいリポジトリに触れるかは別として...
あと何がよかったって,こんなにいっぱいoctcatとかのシールもらえました!!!!!!神!!!!!!!(大学から借りてるMacじゃなかったら貼ってた).
他にも強い同年代のエンジニアとの交流もあるし,こんなgitの運用があるんだ,こんなgitのコマンド,業(ワザとも読んだりゴウと読んだりもする)があるんだってことで非常に勉強になりました. 自分のこれからのgitの運用に(あんなひどいリポジトリはないと信じたいが)活かしていけるかなと思いました.
エンジニア職を目指すのであればVCSは手足のように使えて当たり前の世界ですし,是非ともこれからエンジニア職を目指して就職活動だったり, 自分のgit力を上げたいという方は是非とも参加してみてください,非常に優しい面白いメンターの方が待っています.
本当に内容が無いような感じの記事ですけど,お酒が入っているからしょうがないの,許して♡(あとやったこと書くと検閲対象になりそうだから書けない)
検閲対象に入らなければいいな
要チェックgitコマンド * git reflog * git log --pretty=formatほにゃらら
gitコマンドじゃ無いけど,簡単なshell芸出来ないのはちょっとどうかと思います(
けど優勝チームとかSourceTreeばりばり使っても普通に上位行けたので,やっぱりちゃんと使い方とどうなるかと理解すべきかなと思います,あとグラフ見て何がどうなっているのかを察して.
本当の最後に
oppai さいこー!!!!!!!!!!!