[インターン生レポート]就活生向けFacebookアプリの作成

こんにちは。

技術インターンシップ担当です。

現在KLabでは、技術に興味のある学生さんを、随時インターン生として受け入れています。
インターン期間中は、技術レベルアップの為に、個々で設定した企画・課題に対して
弊社メンターのサポートを受けながら取り組んでいきます。

今回は、10月にインターンへ参加してくれた学生さんのレポートをお送りします。
(テーマ「就活生向けFacebookアプリの作成」)

このテーマを選んだきっかけは、ご自身が就活生であり、就活を行う上で
「他の人がどういう企業の情報を集めているんだろう?」というのが気になった為とのことでした。

それでは下記を是非ご覧ください。

——————————————————————————–

【自己紹介】

皆様、初めまして。大阪府立大学の院生です。
出身は大阪です、関西です!だからといって特別面白いわけでもなく、普通の学生です。

研究は経営効率の分析手法の研究を主軸に、データマイニング、画像処理など多岐に渡っています。
Web系の開発については、研究とは別に個人でブログを運営している程度でした。

さて、KLabさんのインターンに参加しようと思った理由を簡単にお話しします。
①会社の雰囲気ってどんなんだろ?(特にモバイルオンラインゲームを開発しているところ)
②エンジニアの社員さんってどういう方が多いのだろう?
③課題が自分で決められる ⇒ 「Facebookアプリ」に挑戦してみたい!

主に働く環境についてですね。

他にもインターンの面談でもFacebookアプリ作りたいと強調したのを覚えています。
そして、今回は就活生をターゲットとして、
就活生でもある自分がほしいと思うFacebookアプリを作りました。

【インターンでの取り組み、作成物】

データの宝庫であるFacebookを活用して、就活生でもある自分が
「就職活動」の際にあったらいいなと思うアプリを作成しました。
その名も「JobLikes」です。
機能としては、下図に示したようにワンクリックで
友達が「いいね!」を押している企業情報を取得し、
「いいね!」が押されている数をランキング表示させるといったものです。

就活を行う上で「他の人がどういう企業の情報を集めているんだろう?」
というのが気になったのがきっかけで作成を行いました。

【技術的な話】

<開発環境(Windows)>
・ローカル環境:VertrigoServ(Apache,MySQL)
・本番環境:Heroku(アドオン:Xeround Server)
・エディタ:Sublime Text2
・言語:主にPHP
・API :Facobook sdk for php

今回Facebookを操作(ウォール投稿、情報取得)するために、FacebookのAPIを利用しました。
また本番環境として、Herokuと呼ばれるクラウドサービスを利用し、
DBにはXeroundServerといったHerokuのアドオンを使用しました。

その中で工夫した点としては、バッチリクエストの活用です。
当初for文などを用いてAPIを何度もたたいていたためアプリで
実行結果を出すまでに時間がかかっていました。

//友達数分、apiを使ってアクセス
while (...)  {
    $friend_info = $facebook => api('/'.$friend_id);
}

なぜ時間がかかるかというと、API側が値を返してくれるまでに間があります。
これが積もって結果表示が遅れるのです。
例を挙げるならば、友達が100人いた場合APIを100回叩いて値を返してもらうことになります。
その場合、極端に一人1秒かかっていたとしたら100秒かかることになってしまいます。
それは時間かかりますよね~。

そこでバッチリクエストを活用しました。
https://developers.facebook.com/docs/reference/api/batch/

つまり一度の複数を命令をAPIで送るといったものです。
これにより、結果を出すまでの実行時間を短縮することができました。

//一度に複数の命令を送る
//apiを使ってのアクセスは一度だけ
while (...) {
    $requests[] = array('method' => 'GET','relative_url' => '/'.$friend_id);
}
$friend_info = $facebook => api('/?batch='.json_encode($requests),'POST');

【改善点】

当初はもう少し異なった機能を持ったFacebookアプリを開発する予定でした。
しかし、開発を初めて3日目に実装したい機能はFacebookのAPIでは
開発が難しいことがわかってきました。
具体的にはAPIでFacebookの検索機能を活用したかったのですが、
日本語での検索が難しいことがわかりました。
この点に関しては、APIに関する事前調査をもっときちんとしておけばよかったと反省しています。
自分自身先を見越して行動することが苦手なところがあり、
それが今回のインターンでは悪影響になりました。
現時点での自分の弱点を一つ再認識することができ、
これからはもっと先を見越して何事にも取り組んでいこう、いや取り組むべきだと強く感じました。
結局苦労するのは自分ですし。まずは大学の研究で研究計画をきちんと立てることから始めようと思います。

そして今回作成したアプリに関しては、今後も開発を続けRとの連携を行い蓄積したデータをマイニングすることで
リコメンド機能などを構築したいと考えています。できれば、大学の研究につなげれればいいな~。

【感想】

「大学の研究室みたい」
一番しっくりする言葉ではないかと思います。
この言葉が意味することは上司の方との壁がない、オープンな雰囲気だったことです。
「笑い」が常にある、とても明るい社内でした。
このようにインターンを通して会社の雰囲気などを少しは知ることができたと思います。
その中でも特に印象に残っていることとしては、結果がすぐ反映される環境だと感じたことです。
2週間KLabさんに通わせていただきましたが、それを肌で感じることのできる場面が多かったです。
BtoCならではだと感じ、そのような環境が自分には合っているのでは?とも思いました。
やっぱり現場に入らないと分からないことって多いですね。

そして開発については、やっぱり形あるものを作るのは楽しかったです。
エンジニアって楽しい仕事だねと再認識しました。
物が出来上がる喜び、そしてそれを他人に使ってもらえる喜び。
エンジニアは他の職種に比べて、喜びを2度味わえるんだなと感じました。

貴重な体験をありがとうございました。
KLabさん、2週間お世話になりました。

PS:東京タワーが絶景でした。

——————————————————————————–

いかがでしたでしょうか。

技術インターンに興味を持たれた方は
是非、技術系インターンシップ応募ページ からご応募下さい。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中