Mackerelチームでは、APIに書き込み・読み込み権限を付けることで、APIの誤操作やAPIキーの漏洩に対する安全性を高めました。
その他、サービスとロール一覧を取得するAPIを追加、ホストステータスをその場で編集する機能、ドラッグによるグラフのズーム機能など、期間内に4つの機能をリリースし、Mackerelを多方面からより便利に改善しました。
作る前に想像していたよりも、作ってみるといい機能がリリースできたかなと思います。チームのエンジニア以外のメンバーからも評価してもらえたのはうれしかったです。
また、インターンのペアとペアプロの形で実装を進めていると勉強になる点が多くて刺激的でした。
Mackerelのチームに所属してみて、個々のチームのメンバーや一緒に開発していた id:tyage さんの開発力もさることながら、チーム全体としての体制がとてもよくて、大変開発しやすかったです。
比較的少人数でリモートのメンバーもいるなかでこの開発スピードは所属してみて改めて凄いなと感じました。そんな Mackerelのチームで開発し、ユーザさんにとっても便利な機能をいくつもリリースしてフィードバックも頂けたという経験は大変勉強になりました。
マンガチームでは、少年ジャンプルーキーに検索フォームを設置し、「作品タイトル」「作者名」「作品説明」から作品検索できるようにしました。
また、気になった作者を「お気に入り」に登録する機能、Twitterに作品を紹介した際に画像が表示される機能、合計3つの機能をリリースし、作品とユーザーをつなげる改善を行いました。
作り始める前に仕様をしっかりと固めていただくことができたので、開発をスムーズに進めることができたように感じます。
また、レビューも手厚くして戴けたお陰でわかりやすいコードの書き方やオブジェクトの分け方等、単なるプログラミングの力だけでない実装の力を身につけることができたように感じます。
じっくりペアプロしながら開発できてよかったです。
リリースされてTwitterで喜んでいる人を見ることができて嬉しかったです。
大規模システムコースでは2つの課題に取り組みました。
1つは、PostgreSQLの運用改善です。fluentd, kibanaを用いたログ収集の改善・可視化、pg-kill(指定した条件でクエリをkill)、pg-config-diff(サーバ間の設定の差分を表示)といった運用ツールを作成しました。
もう1つは、仮想化基盤の改善です。スケジューラアルゴリズムの変更やパラメータ調整によるベンチマークを行い、はてなが活用している仮想化基盤であるXenのパフォーマンス向上、安定性の改善を行いました。
もともとデータベースに興味があって、大規模な環境での設計や、運用を経験できる機会がほしいと思っていました。ただ、当然サービスの土台になる部分でもあり検証に期間のかかる部分でもあるので、コアな部分に手を付けることは出来ませんでしたが、周辺の知識等いろいろなことを教われて最高でした!最高の夏〜
実験環境で、色々試すことで、Xenの問題が分かってきて面白かったです。
原因が完全に分かるというところまでは行けなかったが、スケジューラの特性などが見えたのが面白かったです。
ブログチームでは、引用にまつわる機能をリリースしました。正しいフォーマットで簡単に引用できる機能を提供することで、引用された言葉を発信者に届け、発信者も新しい視点を発見できたり、他のユーザーが引用された言葉から新たな記事と出会うきっかけを提供しました。
告知エントリに対してたくさんのブックマークが集まったり、ユーザーさんからのコメントでの反応があると、たくさんの意見を聞くことができて、時間をかけて考えて良かったと感じさせられました。
リリースしたときに、はてなブックマークコメントなどでのユーザーさんからの反応を得られたときは、どんな内容であれ凄く嬉しかったです。実際に使用された例や、使用された回数など具体的なデータを見ることができるのはモチベーションが上がりました。
開発チームの社員さんたちの考える、はてなブログサービスの壮大なビジョンに驚きました。自分たちのサービスは自分たちが一番良く知っていなければいけないという考えにも感動しました。
今後勉強しなければいけない自分の課題点を数多く見つけることができました。
アドテクノロジーコースは、ブックマークのコメント一覧ページなどで用いられる記事内容から特徴キーワードを抽出する精度を改善しました。カテゴリ毎のキーワード分布、はてなキーワードと形態素情報の比較など、複数の技術を用いて特徴語抽出精度を向上しています。この成果は告知はされていませんが既にリリースされています。
普段使っているサービスの実データを扱えるという点が凄く面白かったです。
実際にデータを見て、分析して、判断した結果を改良するようなコードを書いて、リリースしてから実際に自分のプログラムで改良できた点が体感できた事は、本当に貴重な体験でした。
今回の開発では、実際にどの部分に問題があって何によって解決されるのか、それは定量的にどの程度の解決になるのかを意識する場面が多く、とても勉強になりました。
はてなブログiPhoneアプリにユーザーの皆様から多く要望として寄せられていた、文字修飾の機能を追加しました。3つの記法モード全てに対応し、「文字色」と「文字サイズ」を簡単な操作で修飾できます。インターン期間後に、無事Appleの審査も通りリリースされました。
自分が実際に使っているプロダクトに触れて最高でした。アプリチームということで実際にユーザに使ってもらった時の感触を確かめるプロトタイピング・ユーザテストを何度も行ったのが印象的でした。
また、2人とも開発領域に対して習熟が浅かったこともあって、積極的にペアプロを行いました。どれもこれも、これまでの環境では味わうことのできない刺激的なものばかりでした。
アプリマーケットへの申請に時間がかかるということもあって、開発した機能をインターン期間中にユーザに届けることは叶いませんでしたが、一人のユーザとしていちはやいリリースを期待しています。
後半課程は本当にあっという間でした!プロダクトコードに触れることで、設計の大切さを痛感した。チーム開発する上での技術・ツール等(特にgit)に触れられたのも良い経験になりました。
メンターさんのアドバイスが的確すぎてすごかったです。作った機能のリリースが待ち遠しいです。