はてなインターン最初の一週間を振り返って
今年の8月ははてなのインターンに参加させて頂くことになりました。
8月3日から始まったのですが、この1週間を振り返ってみたいと思います。
1日目
1日目はいろいろやったので、箇条書きで。
- はてなという会社の説明
- 大規模ウェブサービスの概要
- 大規模サービスを作る際は、小規模での感覚とは違うので推測せずに計測するのが大事
- はてなの開発体制・開発環境の説明
- 開発体制
- クリエイターは企画立案を行う
- ディレクターはチームのまとめ・サービス全体の設計を行い、サービスの数字に責任を負う
- エンジニアはエンジニアリングの結果に責任を負う
- ミドルウェア・フレームワークは統一
- プロとしてお金をもらってコードを書くことの意味
- 開発体制
- 開発環境を整える
はてなでは基本的にidで呼び合うので、自己紹介するときは
「id:mi_kattunです。本名は○○です。」
と言うのがはてな流。
1週間たって、参加メンバーのidは覚えたけど本名は覚えられてない><
LLの言語ごとの違いは大したことないので、社内で統一することの方が重要というのが印象的でした。
オフィスランチおいしかった!
2日目 Perlでのオブジェクト指向
この日から課題が始まりました。
今まで自分で独学してきたクラス設計はあまり美しくないなと思ってきたけど、サンプルで見せてもらったりした設計は美しくて勉強になりました。
Perlのリファレンスではまりまくって、24時ぐらいまで会社に残ってコード書いてました。他のことは何もかも忘れて一日中プログラミングするのは久しぶりの感覚でした。でもよく考えたら時間かけまくってコード書くのはプロの仕事じゃないな〜と自戒。
書き殴るならある程度の速さで書けても、テストも書きつつだと全然速く書けない自分に失望。「テストを書くのは後で自分が楽をするため」という言葉はすごく納得でした。
結局夜遅くまで残って詰まってたとこは、次の朝起きて冷静になってから考えたら割と簡単にできたので、適度な休憩が必要だと再認識した次第です。
3日目 ORマッパ(DBIx::MoCo)
はてなで使われている ORマッパ / Webアプリケーションフレームワーク / JSフレームワークはどれも自社開発で、軽めのフレームワークになっているのが印象的でした。
Symfonyやdjangoを使ったことがあったので、まあそれなりに使えたかなというところです。ORマッパがWebアプリケーションフレームワークから完全に独立しているのがいい感じ。
5日目 JSフレームワークTen.js
Ten.jsはプロトタイプベースであるJavaScriptにおいて、クラスベースの書き方が出来るようになっています。JSでしっかりしたオブジェクト指向のプログラムを書いたことがなかったので、新感覚体験でした。
console.logなどのfirebugで知らなかった機能を覚えることが出来ました。
今週はわりと経験がある分野が多かったので(Perlは除く)そこそこできましたが、来週はどうなることやら。