nend・nex8のエンジニア・技術ブログ2019-08-14ミニDSP構築インターンに参加してみたインターンインターンに参加したs_kakimotoです。最終日のタスクとしてブログ執筆が設定されていましたので記入します。検閲により削除されないよう注意しながら書きたいと思います。Search所属PHP歴2年ぐらいアルバイトで生のPHPを書く生活を2年ほどしていたこともありこのコースとなりました。サポーターズさん主催のマッチングイベントにて社員の長田さんとお話をさせていただき、そこで伺ったインターンに参加という流れです。タスクについて、やったことお給料がでると聞いていたのでガッツリスキルを求められるかと身構えていましたが、このコースで実際渡されたタスクは既存業務に影響を与える訳ではなく、むしろ新人研修的な印象を受ける内容でした。5日間の課題として渡されたものは以下のような要件を満たしたDSP(APIサービス)と呼ばれるものの実装です。PHPをベースに使う(最終的に1/3ぐらいはJSで書いたけど)POSTリクエストを受けてJSONレスポンスを返す3つのAPIエンドポイントを用意して、それらに処理を実装するそれぞれのリクエストとレスポンスは指定されたJSON形式でログとして保存する、保存先は自由レスポンス時にMLと呼ばれる別サービスで導出された広告価格決定処理を行う、このMLとメインAPIは疎結合にして、ホストを分ける目標レスポンス時間100ms以内DSPが何かということについては各自ggってください。レスポンス100msの性能要件で泣きをみることになるのですが、それは後述します。使った技術PHP後述するDockerで諸々を担保しました。ちなみに7.3をベースイメージに使いましたが、実業務で生きてるサービスのPHPバージョンは自主規制*1らしいです。Laravel唯一使ったことがあったPHPフレームワークなので用いました。ルーティングとかDB接続やマイグレーション/シーディングを楽にしたいな〜と思って脳死で選んだのですが、ローカルで動かしたらレスポンス1000ms(10倍)とかかかって泣きました。デプロイ環境では多少ましになったものの150msぐらいかかってました。クエリ発行の効率が悪いだろうなーと思いつつ完成重視で実装してしまったのが原因です。Docker正直よくわかってないまま使うことに決めたのですが、ちょうどいい機会だと思って普通に使えるレベルにできるよう勉強しました。デプロイ先とローカルとでいい感じにサービス立ち上げようとするならポートフォワードとか概要を覚えておくとよかったです。技術面で成長できた分野と思います。Node.js正直よくわか(略)MLとして使うことにしたJSフレームワークです。楽にAPIをぶち上げたかったので選んでみました。ぶっちゃけここがボトルネックの可能性も否めないのですが、デプロイ先環境のログをみたら0.4msとか書いてて禿げそうになりました。ほんまか?MySQL脳死で選んだ。いうかメンターさんにはNoSQL使わないとスピード出せないっす的なこと聞きました。NginxPHP(Laravel)を動かすWebサーバーとして使いました。serveとかApacheとか使うんですが参考にしたページでNginx使ってたのでそのまま使いました。Nginx.configをなんとなく把握できてよかったです。ちなみにちょっと前までンギンクスって読んでました。bashとか打つの長いからエイリアスみたいなの用意したで!」って経緯で知ったので作ってみました。ローカル開発時は大変便利だったのですがデプロイ先AWSではコマンドが用意されてなくて直打ちしてたのでつらかったです。AWSAWSを公開テスト用に用意してもらいました。中入って操作するのは問題なかったのですが思った以上に何も入ってなかったのでDocker使っててよかった〜ってなりました。pullはできる方がいいよね〜って感じの空気感でした。他のコースはもっとプルリク駆動してるっぽい声が聞こえてきましたが。インターン終わった後も継続して使ったりしてしっかり覚えようね!(戒め)性能要件についてLaravelをDockerで立ち上げてNginxでサービスするんですが、普通にめっちゃ時間かかるのでつらかったです。隣のI君は生PHPの実行でサービスしてたんですが、そっちはAWS環境に乗せて40msとか出てるらしくて無力感というのを味わいました。正直令和時代にレスポンススピードとか意識して開発することないやろとか思っていたのでいい刺激になりました。つらかったこと初日からになりますがMacの操作がわからなくてつらかった。日本語の変換がトリッキーGitとかVScodeの設定を完璧に普段と同じにできなくてつらかった。貸与PCなので仕方ないです。普段のノリでノートPC担いで出社して、一切使わず持ち帰る生活でつらかった。不要とも書いていなかった気がするので持ってきたが1.2kgの筋トレをするだけになった主にMacが悪い買おうか割と迷ってますその他オフィス環境について青山学院の近くにオフィスがあるんですが、まさか2拠点あると思ってなくてメールの「ここにきてください!(地図のリンク)」の指す場所とそのメールの署名欄に書いてる本社ビルの住所も建物名もズレてるな〜と思いながら初日は本社に向かいました。お分かりかもしれませんが地図リンクが正しくて、そっちでみなさんをお待たせしてしまいました。初日から遅刻をやらかすという悪い例です。作業するフロアはバスケットコートを横に2面あるかないかぐらいの広さで、それが2フロアと本社のビルという感じでした。休憩スペースがまあまあ広くて、デロンギのエスプレッソマシンとか給茶機とか、あとモンエナ170円の自販機とか無人コンビニの小さいやつみたいなのがあります。無人コンビニは小腹空いた時とかにちょうどいい感じの品揃え+冷凍食品とかカップ麺とかもあるので外出たくない時も食事できるな〜って感じです。デスクについて案内されたデスクにはMacBookPro15”が置いてて貸与されました。キーボードがペチペチじゃない一つ前の型のなので神でした。これが””””人権””””なのか。?日本酒会なぜかインターン期間中、終業後に日本酒を持ち寄って休憩スペースで飲むという集まりがあって、なぜか気づいたらご相伴にあずかっていて、なぜか日本酒もワインもおつまみも、あと机の上にあった(苦手なはずの)ウイスキーや芋焼酎まで口に入れていて、なぜか終わって気づいたら二次会のチャーハンの食券をいただいて食べてました。今後インターン生で日本酒会に興味があるひとはご注意ください。まとめ初めてのインターンでしたが、最初の課題説明で大体の構成をイメージできる難易度感とタスク量で、無事作りきることができてよかったです。タスクの難易度については各コースやチームによって変わると思いますが、その辺りは他の参加者の記事を参照してもらえると嬉しいです。大企業(規模的に)に新卒で入ることについては消極的だったのですが、こういう働き方や空気感の大企業もあるんだな〜と知ることができました。技術的にもDockerやAWS、Expressなど触ったことの少ない技術も使ってフィードバックを得ながら開発できたのでとてもよかったです。12:22Tweet関連記事2019-03-01ミニSSP作ってきたん02月18日〜02月22日までファンコミュニケーションズで1週間のイ...2018-09-12PythonによるSSP構築インターン!!こんにちは、8月27日~8月31日の1週間インターンに参加した、み...2018-09-06SSP構築インターンに参加してきた初めまして、森です。終えてどうも、僕です。え?知らない?それはそう。Are青山のアドテク会社。アドネットワークやDSPを開発・運用。サーバを止めてみたよ。インターン:実業務体験編インターンでCTR予測をしましたSearchArchiveスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。