ふるつき

記事と内容がないです

mixi git challenge に参加した

blogに書くまでが遠足らしいので。

summary

mixi git challengeという催し物がありました。mixiさんが開催している、gitの問題解決コンテストのようなものです。

私はそれに出場しました。

結果、2位でした。

とても楽しかったし学びになりました。部内でgit challengeみたいなものを開きたいな、などと思いました。

summaryじゃないやつ

学校の先輩に紹介されてmixi git challengeというものを知りました。git限定のCTFのようなものだと理解して、早速申し込みました。ちょうどSANS NETWARSの後の日で非常に都合が良かったです。

運良く(どのくらい運が良かったのか、倍率は知りません)、抽選(かどうかも知りません)に通って、行けることになりました。同じ学校、同じ部活(情報処理研究会といいます)から kyumina と mi_24v も参加できることになり非常な幸運でした。

SANS NETWARSに出た次の日、mixi git challengeに行きました。NETWARSでの疲れがでて、当日の朝はちょっと寝坊をして、朝ごはんを食べそびれました。あと、東京なので迷いました。

mixiさんのステキなオフィスにたどり着くと、私達チームのテーブルに案内されました。チーム名はfoxtront。alpha、bravo、charlie……でhotelまでありました。

foxtrontの机には見知った顔が。チームメイトはkyuminaでした。

交通費(の半額が援助されました)を受け取ったり、コンピュータのセッティングをしたりしていると、開会しました。この時点では mi_24v が来ていなかったのが面白かったです。

まずは、mixi社でのgit活用事例などを聞きました。運用でカバーという言葉だけを憶えてしまったりして非常にまずいです。

とりあえず以下にメモ書きを残しておきます。

# keynote

## poiboygit事例

### 3つのブランチ

- relase
- main (開発用統合ブランチ e.g. v.1.0.0)
- feature (e.g. fixhoge)

### gitlab使ってる

1. issue
1. 開発
1. pull req
1. review
1. modify(->review, ->merge)
1. merge

### やばいブランチ

やばい開発フローから生まれる

#### 対策(運用でカバー)

- コミュニケーションを蜜にする
- 進捗確認ほげ

## つぎのはなし

よくわからずだった

# tutorial

## CircleCI

 プルリク投げると自動テストしてくれるやつ。今回は採点に使う

### CircleCI の監視設定

 CircleCIはコンテナにsshできる(今回はやると失格)

途中で #tutorial って書いてありますね。ここから今回の競技の説明だったと思います。競技の形式としては、git のrepositoryにREADMEがあるので、その指示に従って、pushをし、それが正しければ、得点がはいるみたいな感じです。採点にはCircleCIを用いていたようなので上のようなメモになりました。

なんかこの頃には mi_24v は到着してたと思います。

で、mixiのオフィスのステキな福利厚生の話などで間を持たせてお昼ごはんです。ハワイのお寿司(嘘)を食べました。ガーリックという名前に惹かれてガーリックシュリンプを食べようとしたらシュリンプはエビだったのでなにか別のにしました。朝ごはんを抜いたのに食欲はそんなになかったです。

お昼のタイミングでは、チュータの方(mixiのひとです。宗教はEmacsらしいです)とお話をさせてもらいました。kyuminaと一緒に結構突っ込んだ話などもして、楽しかったです。

さてお昼から3時間半くらい、競技をやりました。(実はこれにめっちゃ嵌って序盤泣いてたけど)簡単なものでは、「昔のコミットメッセージが間違っていたので修正してください」というものや、難しいものでは、大量のブランチとコミットによる地獄(作問者の方が経験されたとか……)をなんとかしろみたいなものがありました。

得点の幅は1 - 6でしたが、圧倒的に2点問題が多かったので、3点、5点、6点が非常に怖くみえました。

私たちはとりあえず1点の問題に着手し、kyuminaがいい感じに点をとってくれました(私は最初の問題で死んでた)。

その後、やっと最初に手を出した問題を解くことができ、もう一問1点の問題を解いて、さらに、2点問題を2個か3個くらい解いたと思います。これらは、googlepush -f でなんとかなる問題で、私向けでした。

その間に、kyuminaも点を稼いだと思います。

しかし、後半は解ける問題がなくなり、ああつらいことよ、って言ってました。

そんなこんなをしているうちにあっという間に競技時間が終わり、気がつけば2位でした(1位のチームは3点問題を2問解いており、さらに私達が解けなかった2点問題を1問解いていた(と思う)ので、8点もの差がありました。3位とは大変僅差でした)。

2位なので、Octcatをもらったりしました。チームワークの大切さを説くと共に、我らが部活を宣伝しました。

実際、良いチームワークで問題を解くことができました。

その後は懇親会があって、 greeeenapple という人に戦いたり、mixiの人のありがたいお話(テスト書けよ、という話とか、gitの内部構造とか。私はgitの仕組みを一夜漬けして出場したのでこのお話はすごい楽しかったです。一問、.gitの中身を覗く問題があったのですが、それには挑戦しておらず、大変悲しくありました)をきいたり、とにかく楽しい時間を過ごしました。

そして宴もたけなわなので解散となりました。いい思いばかりさせてもらって大変よさみのあるイベントでした。

今回学んだり思ったりしたこと

gitのコマンドについて少し詳しくなりました。 show とか rev-parse とか filter(みたいな) とかです。また、HEADやブランチについての理解が深まりました。

また、こういうイベントは大変おもしろいと思ったので、部内でもやりたいなと思いました。準備は滅法大変そうですが、ぜひチャレンジしたいです。

こういうイベントを開催してくれるmixiさんや、Octcatなどを提供していただいたというGitHub Japanさんにはとても感謝しており、感謝が感謝で感謝です。

もっと精進したいなあっってなりました。

この記事を書いて

なんかコンテンツ無いのを水増した感じがあり面白いです。git challenge中のツイートは #mixi_git で見れるのでそれをコンテンツとしてください。

おわり