後半 実践パート

後半課程では各チームに配属され、新機能の企画や研究・開発を行います。自分たちで考えて実装した機能をリリースし、あるいは運用基盤の改善を行いました。期間内にリリースしユーザーの反応を受けるチームも多くありました。最終日にはそれぞれのチームが研究・開発した機能を、スタッフの前でプレゼンテーションする成果発表会を開催しました。

クラウドサーバ管理システムコース

Mackerelをより便利に!
開発者向けAPI、フロントエンド改善など
4つの機能リリース


id:haya14busa

id:tyage

Mackerelチームでは、APIに書き込み・読み込み権限を付けることで、APIの誤操作やAPIキーの漏洩に対する安全性を高めました。
その他、サービスとロール一覧を取得するAPIを追加、ホストステータスをその場で編集する機能、ドラッグによるグラフのズーム機能など、期間内に4つの機能をリリースし、Mackerelを多方面からより便利に改善しました。

リリース

外形監視のレスポンスタイムグラフ化・通知先のメールアドレス個別指定 ほか - Mackerel ブログ #mackerelio
読み取り専用APIキー・検索結果にアラートを追加・Mackerelミートアップのお知らせ - Mackerel ブログ #mackerelio
グラフ上の範囲ドラッグによるズーム機能、サービス・ロールAPIの追加 ほか - Mackerel ブログ #mackerelio
読み取り専用APIキーと新しいAPIを使った安心で便利なサーバ管理 - Mackerel ブログ #mackerelio
インターン生から

id:tyage

作る前に想像していたよりも、作ってみるといい機能がリリースできたかなと思います。チームのエンジニア以外のメンバーからも評価してもらえたのはうれしかったです。
また、インターンのペアとペアプロの形で実装を進めていると勉強になる点が多くて刺激的でした。


id:haya14busa

Mackerelのチームに所属してみて、個々のチームのメンバーや一緒に開発していた id:tyage さんの開発力もさることながら、チーム全体としての体制がとてもよくて、大変開発しやすかったです。
比較的少人数でリモートのメンバーもいるなかでこの開発スピードは所属してみて改めて凄いなと感じました。そんな Mackerelのチームで開発し、ユーザさんにとっても便利な機能をいくつもリリースしてフィードバックも頂けたという経験は大変勉強になりました。

Webマンガ投稿・公開サービスコース

ユーザーと作者をつなぐ!
作品検索、作者お気に入りなど3つの新機能


id:hiroqn

id:SWIMATH2

マンガチームでは、少年ジャンプルーキーに検索フォームを設置し、「作品タイトル」「作者名」「作品説明」から作品検索できるようにしました。
また、気になった作者を「お気に入り」に登録する機能、Twitterに作品を紹介した際に画像が表示される機能、合計3つの機能をリリースし、作品とユーザーをつなげる改善を行いました。

リリース

「検索機能(スマートフォン版限定)」「作者お気に入り機能」「Twitterでの紹介で画像を表示」を追加しました - 運営からのお知らせ - 少年ジャンプルーキー
インターン生から

id:SWIMATH2

作り始める前に仕様をしっかりと固めていただくことができたので、開発をスムーズに進めることができたように感じます。
また、レビューも手厚くして戴けたお陰でわかりやすいコードの書き方やオブジェクトの分け方等、単なるプログラミングの力だけでない実装の力を身につけることができたように感じます。


id:hiroqn

じっくりペアプロしながら開発できてよかったです。
リリースされてTwitterで喜んでいる人を見ることができて嬉しかったです。

大規模システムコース

PostgreSQL運用改善
仮想化基盤改善


id:Lepton

id:tom__bo

大規模システムコースでは2つの課題に取り組みました。
1つは、PostgreSQLの運用改善です。fluentd, kibanaを用いたログ収集の改善・可視化、pg-kill(指定した条件でクエリをkill)、pg-config-diff(サーバ間の設定の差分を表示)といった運用ツールを作成しました。
もう1つは、仮想化基盤の改善です。スケジューラアルゴリズムの変更やパラメータ調整によるベンチマークを行い、はてなが活用している仮想化基盤であるXenのパフォーマンス向上、安定性の改善を行いました。

インターン生から

id:tom__bo

もともとデータベースに興味があって、大規模な環境での設計や、運用を経験できる機会がほしいと思っていました。ただ、当然サービスの土台になる部分でもあり検証に期間のかかる部分でもあるので、コアな部分に手を付けることは出来ませんでしたが、周辺の知識等いろいろなことを教われて最高でした!最高の夏〜


id:Lepton

実験環境で、色々試すことで、Xenの問題が分かってきて面白かったです。
原因が完全に分かるというところまでは行けなかったが、スケジューラの特性などが見えたのが面白かったです。

はてなブログコース

正しい引用で、
インターネットにより良いコンテンツを


id:akiym

id:daiiz

ブログチームでは、引用にまつわる機能をリリースしました。正しいフォーマットで簡単に引用できる機能を提供することで、引用された言葉を発信者に届け、発信者も新しい視点を発見できたり、他のユーザーが引用された言葉から新たな記事と出会うきっかけを提供しました。

リリース

他のブログの文章を簡単に「引用」できる機能を追加しました - はてなブログ開発ブログ
他のブログで引用されている文章を、そのまま自分の記事でも引用できるようにしました - はてなブログ開発ブログ
インターン生から

id:akiym

告知エントリに対してたくさんのブックマークが集まったり、ユーザーさんからのコメントでの反応があると、たくさんの意見を聞くことができて、時間をかけて考えて良かったと感じさせられました。


id:daiiz

リリースしたときに、はてなブックマークコメントなどでのユーザーさんからの反応を得られたときは、どんな内容であれ凄く嬉しかったです。実際に使用された例や、使用された回数など具体的なデータを見ることができるのはモチベーションが上がりました。
開発チームの社員さんたちの考える、はてなブログサービスの壮大なビジョンに驚きました。自分たちのサービスは自分たちが一番良く知っていなければいけないという考えにも感動しました。
今後勉強しなければいけない自分の課題点を数多く見つけることができました。

アドテクノロジーコース

特徴キーワード抽出精度の改善


id:daguniko

id:eemon18

アドテクノロジーコースは、ブックマークのコメント一覧ページなどで用いられる記事内容から特徴キーワードを抽出する精度を改善しました。カテゴリ毎のキーワード分布、はてなキーワードと形態素情報の比較など、複数の技術を用いて特徴語抽出精度を向上しています。この成果は告知はされていませんが既にリリースされています。

インターン生から

id:daguniko

普段使っているサービスの実データを扱えるという点が凄く面白かったです。
実際にデータを見て、分析して、判断した結果を改良するようなコードを書いて、リリースしてから実際に自分のプログラムで改良できた点が体感できた事は、本当に貴重な体験でした。


id:eemon18

今回の開発では、実際にどの部分に問題があって何によって解決されるのか、それは定量的にどの程度の解決になるのかを意識する場面が多く、とても勉強になりました。

iOSアプリ開発実践コース

サイズと色!はてなブログアプリ文字修飾機能


id:karur4n

id:kakira96

はてなブログiPhoneアプリにユーザーの皆様から多く要望として寄せられていた、文字修飾の機能を追加しました。3つの記法モード全てに対応し、「文字色」と「文字サイズ」を簡単な操作で修飾できます。インターン期間後に、無事Appleの審査も通りリリースされました。

リリース

iOSアプリ「はてなブログ」バージョン3.2をリリース。文字の色や大きさを変える機能を追加し、iOS 9のSlide OverとSplit Viewに対応しました - はてなブログ開発ブログ
インターン生から

id:karur4n

自分が実際に使っているプロダクトに触れて最高でした。アプリチームということで実際にユーザに使ってもらった時の感触を確かめるプロトタイピング・ユーザテストを何度も行ったのが印象的でした。
また、2人とも開発領域に対して習熟が浅かったこともあって、積極的にペアプロを行いました。どれもこれも、これまでの環境では味わうことのできない刺激的なものばかりでした。
アプリマーケットへの申請に時間がかかるということもあって、開発した機能をインターン期間中にユーザに届けることは叶いませんでしたが、一人のユーザとしていちはやいリリースを期待しています。


id:kakira96

後半課程は本当にあっという間でした!プロダクトコードに触れることで、設計の大切さを痛感した。チーム開発する上での技術・ツール等(特にgit)に触れられたのも良い経験になりました。
メンターさんのアドバイスが的確すぎてすごかったです。作った機能のリリースが待ち遠しいです。