自然な言語を目指して

技術・日常をぐだぐだと

ビッグトラフィックCAMPに参加してきました

久しぶりの投稿です。
先週の土日、渋谷にて、サイバーエージェントさんのビッグトラフィックCAMPというイベントに参加してきました。

イベント概要
ビッグトラフィックCAMP | 株式会社サイバーエージェント

内容について
1日目はサーバサイドDayということで、仕様書が与えられて、その仕様に基づいたサーバサイドのAPIを作りましょう!という内容でした。
2日目はチューニングDayということで、作成したアプリケーションに対して、大規模なトラフィックに耐えるようなチューニングを行うという内容でした。

結論から言うと、2日間ほぼAPIの開発をしていたので、メインであるチューニングがほぼ出来ませんでした。

原因は2つ。
一つ目はサーバサイドの開発に、Sinatraを使用したのですが、情報量も少なく、初めて使う言語だったため、大分苦戦したこと。
二つ目はインフラまわりをほぼ触ったことがなくて、始めてAWSを触ったのですが、AWSにWEBサーバーを立ち上げる時点でかなり時間をとられたこと。ちなみにApacheを試していたのですが、どうにも動かず、最終的にはポート80番でSinatraを起動するという雑なAPIになってしまいました。

大規模なトラフィックに耐えうるようなチューニングがメインのハッカソンだったのに、ほぼAPIを作成していたので、ほぼ携わることなかったのが少し残念でしたが、インフラまわりと開発、かなり勉強になることが多くて大変有意義な時間を過ごせました。

サイバーエージェントさんについて
エンジニアさんの実際の開発時のお話を聞いたり、会社自体の説明の話も聞いたのですが、雰囲気もよさそうで、若手を大切に育てる会社だという印象を感じました。基本的にはわからない所はググるというスタンスでしたが、どうしても躓いた時は人に聞いた方がいいとメンターの方がアドバイスをくれて、サーバー周りで絶望しかけていた僕も最終的には楽しく開発していました。

また、今回のイベントは単独での開発だったわけですが、他の参加者ともワイワイ技術について話しながら開発できたので、非常に楽しいイベントでした。

結論
チューニングまで行うことができなかったけど、開発やっぱり楽しい!
開発時には、インフラとサーバ負荷あたりを意識しながら開発したら、より開発の幅も広がるんじゃないかなと感じました。

(サーバ周りのメモ)
始めてAWS周りをいじったわけですが、今回WEBサーバー構築のために導入したのはApacheとPassengerです。
Apacheの起動はうまくいっていたのですが、Passengerの設定がおかしいのか、Sinatraで書いたプログラムを起動しても、うまくいきませんでした。

なんとなーくググったり、他の人に相談してみたところ、多分Passengerではドキュメントルートにパスの最後にpublicフォルダを作っておかないと、うまく起動しないのかもしれません。