Cookpad Ruby Hack Challenge に参加した話
8/30~31にクックパッド本社で開催されたRuby Hack Challengeとやらに参加してきました。僕は普段Rubyを一番使っており、馴染みの言語の裏側を知りたいという想いで臨みました。
一日目
Rubyコミッターの笹田さんの作成した講義資料を読みつつ、MRIの実装についての理解を深めていくという内容でした。中身はもちろんガッツリC言語だけど、大学の講義でC言語を使っているので分かるのか....と思いきや、MRIのC APIリファレンスがあまりなくて理解するのに結構苦労しました。
二日目
一日目に学んだことを活かしつつ、自分で決めた課題をこなすという内容でした。僕は、実行中のメソッドの可視化機能の実装をしようと試みていたのですが、Rubyの標準ライブラリとしてTracePointという実行中のメソッドを表示する機能が提供されていたので僕の出番はありせんでした。恐るべしMRI、ってことで仕方ないので僕はTracePointのラッパーgemを書きました。
実行メソッドをグラフにして可視化出来たりしたら面白そうなので今後の機能追加項目として検討します。
二日目はRuby開発者のまつもとゆきひろさんがいらっしゃってRubyの設計思想について話して頂いたり、Rubyのコミッターの方々が大勢いらっしゃって、Rubyの実装について壇上で白熱した議論を交わしたりしていました。名だたるプログラマー達がは議論を戦わせる様は圧巻で、感動物でしたね。
総括
いままで中身を気にせずにRubyを書いており、中身を弄るのは怖いと思っていたのですが、このイベントを通して中身を見ることに対するハードルがが下がったように想います。とても充実した二日間でした。クックパッド社は雰囲気がとても良く、来年はインターンに参加してみたいと想いました。
青春18切符北海道紀行 2日目
青春18切符北海道紀行2日目、という事で今日は函館から札幌までの移動。この移動、実はかなり壮大な旅だったりする。北の大地の雄大さを感じた一日だった。
本日の移動
ざっとこんな感じ。函館、札幌以外の停車駅はほとんどが昭和の匂いを感じさせる、時代に取り残されたが如く装いであった。海岸沿いの駅は海風で錆びていたり、それはもう、人から見放され、打ち捨てられていると表現してもいいくらいだ。本日の停車駅からめぼしい場所を三つ、ピックアップしていく。
1
函館駅から単両のワンマン運転の気動車で揺られることn分。地図ではわかりにくいが、森駅という駅に到着する。JR函館本線函館発長万部行の列車に乗ったのだが、何故かこの森駅で30分ほど停車したので降車して駅をぶらりと。
とは言っても何もない。清々しいほど何もない。在るのは眼前に広がる大海のみである。天気はあいにくであるが、このような天気の方が最果ての大地っぽくて雰囲気が出てよい。
2
森駅から更に揺られること1時間半程、長万部駅に到着。この駅、おしゃまんべと呼ぶらしい。いかにも北海道らしい地名である。
さて、この駅も周りには何もない。森駅と違い、大海ではなく、東京○△大学長万部キャンパスが広がっているらしい。大学に入学したばかりの浮足立った新入生達をこのような最果ての地に輸送する東京○△大学、鬼畜の所業だ。東京で育ったシティーボーイ達の中には発狂する者までいてもおかしくはない。
閑話休題。旅の話に戻そう。丁度この駅に到着したのが昼頃だったのでここでお昼を頂くことに。
駅前に立つかなやレストランのかにカレーを頂く。このレストラン、どうやら歴史の長い地元の名店らしい。閑散とした町並みとは不釣り合いな程店内は客で賑わっていた。しかし、店の装いは時代の取り残された街の雰囲気と変わらない、どこか懐かしいものを感じさせる装いだ。この店ではかにめしが人気らしいが、私はかにカレーに目がとまったので敢えてこれを注文したのだ。店の雰囲気に違わず、家庭的な温もりを感じさせる味であった。
3
長万部からまたまた2両編成の気動車に揺られ、小樽を経由し、札幌に向かう。札幌は今まで通り過ぎてきた町並みとは打って変わって、近代的な装いの町並みだ。碁盤の目のように整理された区画は開拓時代の名残を感じさせる。
やっぱり札幌といえばラーメンっしょ!w
って事でラーメンが大好きな私は真っ先に味噌ラーメン屋に向かう。
札幌駅から少し離れた場所にある空という店のチャーシュー麺(味噌)、トッピングのバターを載せて頂く。程よくきいた味噌の香りとチャーシューの柔らかさが堪らない。気がつけば完飲していた。ごちそうさまでした。
そしてすすきの駅周辺を経由し、大通公園へ。ここでは各所でビアガーデンが開催されており、祭囃子が鳴り響いていた。どうやら夏祭り?を開催しているようだ。祭囃子に引かれて盆踊り会場に向かう。
テレビ塔と盆踊り会場を一緒に載せて一枚。この写真は一眼レフで撮りたかったのだが電池が切れてしまっていたために断念。少し残念だったが、祭囃子を聞いているとそんなモヤモヤも吹き飛んでしまう。まさに夏の風物詩。都会の喧騒を彩る、懐かしき旋律。会場の賑わいを後に、札幌名物の時計台に向かう。
こじんまりとしているが、白塗りの舎は明治時代の面影を感じさせる。時間が遅かったが、中で吹奏楽コンサートが開催されていたために入ることが出来た。どうやらこの時計台は定期的にコンサート等で用いられているらしい。
ということで、今日はこのあたりで。明日は札幌から帯広まで移動します。
8/12
那須での疲れを癒やして北海道行きの体力を蓄えるために寝てた。特筆事項は3ヶ月ぶりに髪切った事くらいだろうか。散髪することで周囲に影響を与える事は無く、自己満足さえも生まれないので、自分は散髪をニヒリズムの体現だなんて考えていたのだが、友人に不審者にしか見えないと言われ、地味に傷ついたので重い腰を上げて散髪屋に向かった。髪を切ると心なしか身体が軽くなった気がしないでもない。前言撤回。ニヒリズムの体現は言い過ぎだ。
そして支度して北海道へ。詳細は下記リンクにて。
AtCoder Beginner Contest 070
新幹線内でB問題を解いてる途中でauが圏外になってしまって、コンテストを継続するのが困難になったので敢え無く脱落。
読んだ本
女生徒 太宰治
太宰治の作品集。旅行中に読み切りたい。
青春18切符北海道紀行 1日目
今日から5日間で青春18切符を使って北海道を回っていきます。今回は諸事情で道北の方に回る余裕ががないために、函館から帯広を経由して根室辺りまで行くことになりそうです。
1日目
今日は東京から函館まで新幹線で移動しただけです。北海道新幹線に乗車するのは初でした。
恒例の奴
シンカンセンスゴクカタイアイス
ゲームや競プロして時間つぶしつつ揺られること四時間。新函館北斗駅に到着。盛岡〜
新函館北斗間は断続的にauが圏外になるのでまともにスマホが使えない。トンネルが多いせいかな。
到着後、はこだてライナーに乗り換え。乗り換え用の券売機が硬貨と1000円札しか使えなくてキレた。硬貨、1000円札が無い時は駅員に直接発行してもらうしかない。
しかしこの駅、驚くほど周囲に何もない。これから発展していく気がする。あと夏だけど結構寒いから長袖あったほうがいい。(20℃切ってた)
ここからホテルに移動、この時点で既に0時を回っていました。明日は札幌まで移動予定です。
今日はここまで
8/9~8/11
三日間ブログの更新が途絶えていたのですが、これは那須高原に旅行に行っていたためです。那須高原、山奥なので非常に電波が悪く、ブログはおろか、Twitterすらまともに更新出来ないような状況だったのです。とても楽しい三日間でした。今日から北海道なのですが、北海道を数日旅行してから関西に直接移動するので、次に東京の地を踏むのは二週間後くらいになりそうですね。
AOJ-ICPC
まともに競プロ出来る状況じゃなかった
読んだ本
墜落論
日本文化私感...作者の日本文化に対する考え方。日本人は自国の文化と問われれば、特定の美術、特定の建造物を思い出しがちであるが、文化なるものはこういった実際的なものではない。という事を説いている。
青春論...作者の青春論の根幹を成す、「淪落」という概念。それを若き日の宮本武蔵の生き様と絡めて説明している。
堕落論、続堕落論...日本人の古来よりの国民性を例に挙げつつ、堕落を説く。人間は堕落する。万物は堕落する。
恋愛論...作者の恋愛観を説く、恋愛論を説く文章に於いては、精神と肉体の関係性を含むことが多いが、この文章もその例に漏れない。人間は理性を持つが故に肉体、つまり本能的な物を厭う傾向にあるが、精神が肉体を裏切るのと同様に、肉体も精神を裏切っているのだ。両者は曖昧なものである。
メタプログラミングRuby
私は本書を一回読んだことがあるのだが、自分がまだRubyを詳細に理解していないと感じることが多くあるために読み直すを事を決意した。本書はRubyの難解な概念から動的ディスパッチやゴーストメソッドと言った黒魔術を網羅している。個人的には所謂名著だと言えるものだ。Rubyに慣れており、Rubyを業務で用いているが、さらに自分のRubyプログラミングを発展させたいエンジニアにはとても適切な本だと思う。
8/6
栃木から東京に戻ってきました。とても楽しい二日間でした。一日目は足利花火大会。とても綺麗でした。花火というものは、まさに刹那的な観念を重んじる日本文化を体現したような存在だと思う。風流風流。二日目は東京に戻ってきてラーメン二郎池袋店に直行。流れで鶯谷の萩の湯で二日間の疲れを洗い流した。鶯谷の萩の湯は銭湯でありながら、スーパー銭湯クラスの設備を備えており、都内最大級の銭湯であるという謳い文句はおおよそ伊達ではない。最後に飲んだコーヒー牛乳は至高の逸品。
AtCoder Beginner Contest
夏は競技プログラミングをやってみたいなと思っており、その第一歩としてABC069に参戦してみた。今まで、大学の講義であまり慣れていない言語で競技プログラミングをやらされていたために競プロそのものが嫌いになりかけていたのだが、このように自主的に、好きな言語で問題を考えるのは結構楽しいのではないかと思った。来週からはAtCoderのコンテストに参戦していきたいと思う。
結果
A, B問題はAC, C問題は深さ優先探索で解けばいいのかな?と思って考えてたけどどうにも上手く行かず完答できず。D問題は見てない。精進が足りないと思った。