CODE THANKS FESTIVAL 2018 参加記

この記事は rogy Advent Calendar 2018 4日目の記事です。

やまだです。

先日行われたCODE THANKS FESTIVAL 2018に参加しました。

CODE FESTIVALとは、主に大学生を対象にしたプログラミングコンテスト(いわゆる競技プログラミング)です。詳細は https://www.recruit-jinji.jp/recruitment/code_fes/ とかを見てください。

わりと参加者の方々が参加記を書いているっぽいので、僕も書いてみます。特別おもしろい話はないです。

当日の朝

起床に大成功しました。大成功というのは、起床予定時刻よりも早く起きたという意味です。

余裕を持って電車に乗りました。乗り換えは大変難易度が高く、困難を極めました。

なんとか会場最寄り駅についたのですが、会場への道がわかりません。

そこで、「自分と同じオーラを感じる人」を発見したのでこっそりついていくと無事会場へたどり着きました。その方も参加者だったようです。きっと、こうやって会場にたどり着くような能力のことを社会性というのだろう、と思いました。

コンテスト

直前にモンスターエナジーを飲んだら気持ち悪くなりました。アホですね。

コンテスト問題の考察等は他の人が散々やってると思うので特にここには書きません。一応自分の提出履歴を貼っておきますが、多分見ても面白くないと思います。

提出履歴

ちょっとだけコンテスト中のことを話すと、B問題を雰囲気で解いたら4回も誤答しました。

F問題については、通らないと思ってたら意外とテストケースが通って、よくわからないけど適当にif文を1つねじこんだら通りました。今でもなぜこのif文を追加したら通ったのかよく分かっていません。

順位は100人中15位でした。思ってたより高くて嬉しかったです。

懇親会

懇親会があったのですが、身内が多かったのでそこで固まってしまいました。こういうところに社会性のなさを感じますね。

そういえば朝知らない人に挨拶されたんですが、このときに実はロ技研の後輩だったことがわかりました。気づかなくてごめんね。

感想など

  • あの有名なAtCoderの社長さんに初めて出会いました。AtCoder社のシールをいただきました。嬉しい。
  • 同じ大学の1年生の人々がとても優秀でした。今後きっと強くなってくれるでしょう。内心怖くて怯えています。

全体的にとても楽しかったです。パーカー等も貰えたので所持する衣類が少ない僕にとってはとても嬉しいです。関係者の方々ありがとうございました。

以上です。

最高の言語Python

注意 : この記事は半分ネタで書かれています。ご了承ください。

この記事は rogy Advent Calendar 2018 2日目の記事です。

みなさんこんにちは、やまだです。

もうすぐクリスマスですね、いかがお過ごしですか?

クリスマスを一緒に過ごす人はできましたか?ぼくはできませんでした。悲しいね。

恋人がいないならペットなんてどうでしょうか。一風変わったペットに蛇なんて面白いかもしれませんね。

ということでPythonについて書きます。Pythonはいいぞ。

型アノテーションをつけられる

型アノテーションがつけられるって知ってましたか?

あまりにわざとらしい例ですが、こんな感じ。ちなにみ言語側に型チェック機能はないらしいです。現時点ではコメントと同等の機能しかないらしい(ちゃんと調べてないですが……)。

こんなモジュールがあったり、多少静的なチェックをしてくれるIDEとかあるらしいです。これはもう実質静的型付け言語ですね(いいえ)。

ライブラリが充実している

いろんなライブラリがあります、すごいね。

TensorFlowを使えば深層学習ができるし、 Djangoを使えばwebもできる!!

これはもうフルスタックエンジニア間違いなしですね!!

グラフとかもスッと描画できたりします。各点のx座標、y座標をそれぞれlistにぶち込むだけでそれっぽいものができたり。

しかしデータ量が多いと遅すぎてお話にならないので、Rとかgnuplotとかの使用をおすすめします。

環境構築が簡単

環境構築が難しいのなんて昔の話、今は Anacondaとか使えば、ライブラリ含め簡単に環境構築ができます、多分。

これは初学者にも優しいですね。そもそもWindowsを使わなければ環境構築に苦しむことはあまりないはずですが。

シェルコマンドを呼び出せる

例えば、こんな「邪悪な」コードも実行できます(実行する際は自己責任で)

冗談はさておき(この記事自体が冗談みたいなものなんですが)、例えばディレクトリの操作をしたいけどシェルスクリプトを書くのがツラいときなど、意外と便利だったりします。

これはまた別の話ですが、他の言語で書かれたソースコードのコンパイル・実行が可能です。

つまり実質任意の言語が書けるってことです。よかったですね。なにが嬉しいのかはよくわかりませんが。

最後に

この記事の執筆者はPythonが嫌いです。

ですがこのように「素晴らしい」機能がたくさんあるので、ぜひ皆さんにも使ってみてほしいです!!

次生まれるときにはもっとまともな記事が書ける人生を歩みたいと思いました。各位ごめんなさい。

それではみなさん、良いクリスマスを!!

セキュリティ・キャンプ2018

こんにちは、やまだです。

セキュリティ・キャンプ2018に応募してみたら通ったので行ってきました。

参加したコースは、YトラックのOS開発ゼミの、最先端OS談義というコースです。

トラックでやったこと

5日間あったセキュリティキャンプで、トラックでの活動は、キャンプ2日目から4日目までの、おおよそ3日程度でした。

同じOS開発ゼミでも、3つのコースがあり、他のコースはゴリゴリ実装していた感じなのですが、私のコースはまさにゼミという感じでした。

1日目

1日目(キャンプ全体では2日目)は、OSの役割、歴史に関することを学びました。それを学んだ上で、現代のOSの課題や改良点を各自で探しました。

2日目

1日目で探した課題点について、解決策を自ら考え提示しました。必要ならば簡単な実装もしました。

このあたりは、講師、チューターの方がいろいろとサポートしてくれたので、露頭に迷うことなく比較的スムーズに進めることができました。

3日目

この日は今までの成果のまとめを行いました。自分たちで見つけた課題点について、考えた解決策、それがどのくらい有効なのか、といったことをスライドにまとめて発表しました。

発表はトラック全体で行われました。

となりの人々が強そうなカーネルモジュールを作っていたりして強そうでした。

また、実は隣でコンパイラ開発とベアメタルプログラミングをやっていてました。コンパイラはセルフホスティングしていたりしていて、すごかったです。

自分の弱さに絶望するので良い機会だと思いました。


キャンプ中の進捗についてですが、まだ詰めきれていないところがあるので、ある程度区切りがついたら公開したいと思います(公開できるかなあ……)。

トラック以外の話

全体講義としていくつかの講演と、仕事紹介、グループワークなどがありました。

また、最終日には各コースごとに成果発表がありました。

他の人がめっちゃ強いことをしていてめっちゃ強いなあと思いました。

僕はセキュリティとかマルウェアとかよく知らないのですが、そのあたりのトラックの発表もあり、自分の知らない世界が無限に繰り広げられていました。

お勉強しなきゃなあ……。

その他

キャンプ中は、食事や睡眠などあらゆることがサポートされていてとても過ごしやすいです。

1年ぶりくらいに1日3食生活を送りました。足りないということはないと思います。

あと水が無限に提供されます。お菓子も有限ですが提供されます。

講義部屋は基本エアコンが効いていて、宿泊するための個人の部屋も毎日掃除されるので最高です、一生あそこで暮らしたいと思いました。

キャンプ中は生活習慣が改善され、朝型の生活を送ります。ただしキャンプが終わるとすぐに夜型に戻ります。これには個人差があると思われます。

基本的に外出は禁止されていますが、外が嫌いなので僕は全く問題ありませんでした。外出しなくても快適な生活を送ることができるので最高です。

また、本とかステッカーとか、なんかいろいろもらえます。とても嬉しい。


 

行って後悔することはないと思うので、ぜひ応募してみることをおすすめします。とても楽しかったです。