アルパカ三銃士

〜アルパカに酔いしれる獣たちへ捧げる〜

isucon 本選に参加して、全力で散った!!

渋谷ヒカリエで isucon の本選がありました!
@walkingmask, @matsunoso と 3 人チームで参加. そして初 LINE 本社ということからテンションが上がりすぎてこのまま沖縄に帰りたくないとずっと話していました(笑)

風景はこんな感じでした!

朝 10:00 にスタートしてそれから 18:00 まで全力でコードを書きました!!
今回の問題は Docker と React を用いたモダンなマイクロサービスといった感じで, こういうイベントだからこそ読むことができるソースコードだなーと感動していました.
最初 1 時間ソースコードを読み, そのあと 16:00 くらいまでコードを書き続け, ベンチマークを走らせると fail が多くなってしまい, 最終的にロードバランシングを行おうといろいろいじってましたが, 時間が迫ってきて間に合いませんでした.
結果はなんとか fail を無くそうと元に戻して, 初期状態と同じスコアになり最下位で終わりました...

ですが, そのあとの懇親会で沢山のスーパーエンジニアの方々と話す機会があり, 沢山のアドバイスをいただくことができました.(話してくださった皆さん本当にありがとうございました!!)
今年の isucon 本選は終わってしまいましたが, 来年までに力をつけて isucon 本選の常連になれるようもっと精進していこうとすごく思いました.
開催してくださった運営の皆さん, 貴重な機会を頂き本当に感謝しています!!

来年も参加するぞ!!

cpanm で Crypt::SSLeay がインストールできない問題

Crypt::SSLeay をインストールしようとして, Cannot link with any of the requested SSL libraries 'ssl, crypto, ssl32, ssleay32, eay32, libeay32, z' と build.log に出力されていたので, いつも通り brew link openssl をやって解決しようとすると

Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
  -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

と表示されて, brew から link ができなかった.
いろいろ調べてみるとセキュリティの都合上 brew から link ができなくなったらしいので, どうやってインストールしようか悩んで, とりあえず Crypt::SSLeay の Makefile 読んだら環境変数で渡せそうだったので, 自分の使っている rc ファイル(僕の環境では zsh なので .zshrc)に次の 2 行を書き込んでインストールに成功した.

export OPENSSL_INCLUDE="/usr/local/opt/openssl/include"
export OPENSSL_LIB="/usr/local/opt/openssl/lib"

brew link ってもしかするとこれと同じことやってたんですかね...)

adish インターンに行ってきました

結果を一言で表すと、凄くいい体験をさせてもらいました。その体験を忘れないうちに書き込んでおこうと思います。

きっかけ

僕は今B3なので、そろそろ就職についても真面目に考えないといけないなと感じていたので、7月の下旬くらいからどこかインターンとして参加させてもらえる企業が無いか探していました。欲を出して、Perl、Swift、Go を扱っている会社へインターン行きたいと考えていたのですが、なかなか自分の希望する条件で都合のつくところが見つかりませんでした。 そこで、元々インターンに参加する分として空けていたスケジュールを使って幾つか会社見学に行こうと思って始めに Gaiax 社を見学しようと今までの経緯を含めて id:papix さんに連絡したところ、
papix さん: 「見学OK!(インターンも考えていたけど...)」
僕: 「インターンでできるなら参加したいです!」
papix さん: 「提案してみる〜」
...翌日...
papix さん: 「OK!!」
僕: 「早い!!」
と言った感じに急ピッチで adish 社へのインターンが決まりました。本当に嬉しかったです。

内容

約 2 週間の短期インターンということであるプロジェクトの id:papix さん id:shirakiya さん、id:ufo_ocha さん率いる開発チームの一員として参加させてもらいました 。
そして初日はカタカタカタ..ッターン!!という音にビビってたのも今ではとても良い思い出です。

学べたこと

沢山あるので列挙していきたいと思います。

  • 技術
    • Perl(主に Mouse 連携の黒魔術)
    • ORM の連携(Aniki
    • ActiveRecord について
    • プロジェクトの Test(stub mock)
  • 開発フロー

個人的に一番為になったのがスクラムじゃないかなと感じています。まさに wikipedia に記載されてる通りのことを行いました。特に印象に残っているのが、一つのスプリント内で何回もプロジェクトチーム全員でミーティング、レビューを行ったことです。そして開発チーム内で出た疑問などは、その中だけにとどめず、同じプロジェクトチームの仲間に相談することを頻繁に行っていたのが凄くいいなと思いました。帰ったらどんどん真似していきたいです!

五反田という環境

沖縄の那覇市久茂地に似ており、東京の中でも比較的人が多くない方?に感じたので凄く過ごしやすかったです。
途中から自転車が裏やましくなって、ツイートをしていたら、papix さんに貸していただけました!!

あと面白いことにいろんなジャンルの料理屋さんがあって、中でも琉球料理専門があったのには笑いました。@xtetsuji さんと一緒に行ったんですが、なかなか良かったです!ありがとうございました!!

イベント

どこか冒険をしているとイベントはつきものです。今回発生したイベントは以下の通りです。

台風

2回も来ましたね!沖縄に帰った後も台風が発生しました。
ありえないくらい台風運を持ってるなと感じました。

吉祥寺pm

僕のために@magnolia_k_さんが吉祥寺pmを開催してくださいました!!
しかし台風 + 電車の乗り換えを間違えたことにより大遅刻しました。非常に申し訳なかったです。
そして参加されてる皆さん非常に豪華でした!!

kichijojipm.hatenablog.com

個人的に好きな内容は@magnolia_k_さんの Router::Boom のソースコードを読んでScalarで再実装したという話でした。実戦であんまり使わない正規表現がバンバン使われていて、こういう書き方があるのかと勉強になったとの内容でした。この話を聞いて、素晴らしい人が書いたソースコードを理解しながら読み進め、自分が驚いた方法を用いて再実装することによって更に理解が深まるんだなと改めて認識することができました。

@ytnobody さんと途中まで一緒に帰ってもらったり、Acme大全2016を@maka2_donzokoさんから頂いたりなど非常に楽しかったですね! Perl Monger って素晴らしいですね!

papix生誕祭2016 〜真の"祝い"とは何か探し彷徨う〜

🍺で乾杯しました!!
papix さんの人望を感じられる凄い場でした。気がつけば憧れのPerlハッカーが集まってるし、楽しくてもう最高でした!

まとめ

今回のインターンで、adish の方々にいろんなところへ連れってってもらいました。そこで IT の会社ならではの話や、技術面の話を沢山聞かせてもらいました。そしてインターンの最後には今の僕のステータスを分析してもらい、これからどういったことをしていけばいいのかというアドバイスまでいただきました。学生生活はまだあと1年と半年残っているので、これからもっと真剣に将来のことについて真剣に考えていけたらいいなと思いました。

最後に

今回インターンとして僕を温かく迎えてくださった Gaiax グループの皆さんや adish のチームの皆さんに感謝しています。本当にありがとうございました。

isucon6 予選に参加した反省

同じチームメンバーが結構書いてくれてたので、詳細は省く。

walkingmask.hatenablog.com

 

今回の予選の2日前から体調が悪化し、10分毎に鼻水を処理するといったbatch処理も含めて今回は望みました。結果は学生枠10位という悲惨な結果でしたが、本選出場決まったことに嬉しく思っています。 

反省点

東京に行った時にきちんと体調管理していなかったことが一番大きいと感じました。

今回の予選は僕がインフルだったことから上手くコミュニケーションが取れなく、楽しいイベントなはずなのに最後まで心配させてしまったことや技術的な要素を含め、チームの足を引っ張ってしまったことにとても反省ですが、予選突破をすることができたので、本選では予選とは逆にチームを引っ張っていけたらなと思います。

それまでに今回の技術不足でできなかった点を直し、チームでやるべきことをまとめていけたらいいかなと思いました。

 

サポートしてくれた運営のみなさんにも感謝しています。

はてなブログ始めました

こんにちは。初めまして。久しぶりです。 CodeHex です。
沖縄の大学の工学部に通ってて、いろいろ勉強をしています。 Perl, Go 辺りが好きです。
今まで tumblr の方で思いつくがままに色々書いてきました。しかしこれってブログではないよな?と感じてきたので、ブログらしい形で記録を残そう!ってことではてなブログを始めました。書いてて思ったんですが...

ブログってなんだ!?

Wikipedia より

ブログ (blog) は、狭義にはWorld Wide Web上のウェブページのURLとともに覚え書きや論評などを加えログ(記録)しているウェブサイトの一種である。「WebをLogする」という意味でWeblogウェブログ)と名付けられ、それが略されてBlog(ブログ)と呼ばれるようになった。ブログの執筆者はブロガー (blogger)、ブログの個別記事はブログエントリーと呼ばれる。

Web を Log するといった感じでは tumblr の方で結構できていた気がします。ここで面倒臭くなってきたので、

最後に

いつの日かブログを結構書くようになってたんですけど、ブログを書くよりコードを書いた方が早いなーと感じてしまって全然更新をしてませんでしたが、自分の今持ってる技術、考えた内容、気持ちなどを共有(記録)することはかなり大事だなと思い始めてきたので、頑張って書いていこうと思いました。
これからしばらくの間宜しくお願いします。