git-challenge、行ってきました。
11月15日といえば?
そう!七五三ですね!(伏線)
そんな日に私は、mixiで行われたgit challengeという技術イベントに参加してきました!
Gitを駆使する様々な難易度の問題を二人一組でチームになって解いていくというこのイベント。
Gitは、個人製作でもお仕事でも使用してるのである程度は自信がありました!!
・・・が、実際のところ☆2(星が多いほうが難しくて最高☆6)の問題を解くので精一杯でした(汗)
自分がいままでぶち当たってきたGitの問題と気色の違ったお題だったり、
こんなこと自分の経験の中でもあったなぁ〜といった問題もちらほら。
そんなgit challengeについてまとめていこうと思います。
Gitチュートリアル
最初にチューターの方からGitのチュートリアルの説明をしていただきました!
丁寧に説明してくださったのですんなりGitを理解することができました!!!11
また今回のgit challengeの問題の取り組み方もここで説明がありました。
GItHub + CircleCI
今回の問題形式は、GitHubで課題がリポジトリー毎で出されて、
そこに記述されているREADMEを読んで回答すると言うものでした。
課題に出されたブランチに対してpushするとCircleCIが動いて、回答チェック→通れば(Passed)正解といった感じでした。
最初の栄光
実は地味に全チーム中、初Passedチームでした(笑)
スタートダッシュは順調で、幸先いいなと思った頃が私にも有りました。。
問題をといている僕↓
最初の要請
問題の中でフォースプッシュ(git push -f)するようなものもあり、
間違った回答をリモートブランチにpushすると
後戻りできなくなる場面があります。
そんなことを踏まえ、私のパートナーであった方(まさかの同じ大学の人でした笑)が
backupのbashスクリプトを書いてくださいました!
あなたが神か!
しっかりそのbashスクリプトを走らせてローカルにバックアップブランチ作成!やったぜ!
・・・ところが、何を思ったかリモートにミスってpushした焦りから(?)ローカルのgit管理下ディレクトリをrm -rf
(笑)
せっかくのバックアップが水の泡となりました。。
実は今回、mixiのチューターさんにお願いすれば、
リモートリポジトリの復旧をしてもらえるということで一安心。
そのお願いの方法はなんだろなと思ったら・・・?!
謎の音がなるボタンを押すこと。
(なんじゃそれ〜と心のなかで思っていたのは秘密)
そのボタンを誰よりも早く押したのは、紛れも無く私だったのでした。
ボタンはこんな感じのやつでした↓
突然の千歳袋
記事冒頭で伏線を貼っていた七五三。
なんとmixi人事の方々から千歳袋を頂きました!!
大学に帰ってから美味しく頂きました。
ミルキーはママの味(名言)
お昼休憩での談義
お昼ごはんをとあるチューターの方とご一緒することが出来ました。
そこで「単体テスト」に関するおいしい話を聞くことが出来ました!
思っても見なかった副産物でした(笑)
ここで聞いたことはすでにお仕事で発揮済みです!
単体テストに対する好奇心や取り組み方が以前よりはマシになるのではと思います(笑)
数々の難問
会場の様子↓
正直自分が予想していた難易度以上の問題揃いだったので、だいぶ苦戦しました(笑)
コミットIDを収集したりすることは普段やらないことなのでだいぶ苦戦しました。
シェルスクリプトやawkを駆使してなんとか行った感じです。
どちらかと言うとGitよりシェルスクリプト力の必要性をここで感じました。
圧倒的基礎ポイント不足な私には丁度良い教訓になりました。
最後の無念
結局、私は☆3の問題を回答することができませんでした。。
悔しい・・・
今まで以上にGitに対する知的好奇心が高まりました!
会食!
最後にmixiさんの計らいで夕飯をご馳走してもらいました!
チューターの方々やイベント参加者と技術談義が出来てとても楽しかったです!!
AndroidやCIの運用のお話、そしてテキストエディタ(宗教)の話題まで様々な話で盛り上がりました!!
まとめ
ありそうでなかったGitの競プロみたいだった本イベント。
自分が知らなかったGitコマンド(例えばgit env-list
とか)を知れたいい機会になりました。
あと、インターンぶりで久しぶりにmixiさんのビルに入ったので少し懐かしい感じもしました(笑)
インターンからもう2ヶ月経ってるとは信じられません。
最近時空が私の思惑よりも高速に進んでいる気がする。。
そんなこんなで、mixiさんのgit challengeで起こったあれこれでした。
それではノシ