nend・nex8のエンジニア・技術ブログ2019-04-09GoでSSP構築をやってみたこんにちは。3月25日〜3月29日までの5日間、インターンでお世話になりました澤です。9月にもSDKインターンでお世話になりましたが、今回またお誘いをいただき、今度はSSP構築インターンに参加させていただきました。Platform)を構築するというものでした。Webサイトを閲覧したり、スマホでゲームをやったりする時に広告が出ていると思います。Webサイトにその広告を配信しているのがSSPです。簡単に言えば、SSPとは、Webページに広告を掲載したいという時に、いい感じに処理して、広告を配信してくれているサーバのことです。前回、SSPやDSPに関する説明を受けた時に、アドネットワークの世界にはこんな物語があるのかと感動した記憶があるので、今回SSPというアドネットワークの一部に触れることができる課題で非常に楽しみにしていました。5日間の流れ1日目いくつかの書類を書いて、会社についての説明を受けました。今回の課題についての説明を受け、課題をスタートしました。僕自身サーバサイドのプログラムの経験は乏しいのでとても不安なスタートでした。どの言語で書くかを自由に決められたので、Goを使うことにしました。・比較的速度が速い・並列処理に強い・ライブラリなどが充実していて書きやすいというのが主な理由です。ネット上の記事を参考にしながら、何となくですが触りの部分は実装することができました。2日目Go言語を書くのも初めての経験だったので、非常に苦戦しました。このような構造体があったとします。int}何とこのままでは、他のパッケージからアクセスすることができないのです。他のパッケージからのアクセスを有効にするには、以下のように要素の初めの文字を大文字にしないといけないのです。int}Javaのようにpublicをつけるという訳ではないので、知った時は目から鱗でした。これに気づくのに2,3時間かかってしまい、非常に痛いミスでした。SSPの話ではなくGo言語の話になっていますが、Go言語の仕様に悩まされつつSSPの構築を進めました。サーバサイドのプログラムだけでなく、Go言語の学習にも繋がったので良かったです。3日目SDKからSSPにアクセスし、SSPからDSPに広告を要求し、その結果である広告のURLをSDKに返すという一連のSSPの処理を完成させることができました。Goもサーバサイドも初めてで苦労しましたが、何とか形にはできて嬉しかったです。ソースコードが読みづらかったので、少し綺麗にしようと試みました。結果10行程度の削減にしかならなかったので、もう少しコンパクトに書けるように訓練していきたいと思いました。4日目この日はローカルの環境ではなく実際のサーバ上で動くかどうかを確認しました。結果、サーバ上でも動作したので良かったです。DSPから100ms以内に返事がもらえないときにタイムアウトする処理の実装を忘れていたので実装を行いました。タイムアウトの実装が非常に難しく一日行いましたが、終わりませんでした。ネット上で色々探して、実装してみましたが、どれも上手くいきませんでした。Goはあまり好きではないと感じたので、時間があれば他の言語でも書いてみたいと思いました。引き続きタイムアウトの実装を続けて、昼前には何とかそれっぽいものが完成しました。良いか悪いかは別として、チャンネルを使いこんな風に(取得する値の数次第では、修正する必要あり。err}}書いたものの、不安定なので、それからもどうしたらいいのだろうかと考えてました。負荷をかけてみても結果はよくありませんでした。後悔することはありますが、レビューをいただいて、ブログを書いてインターン終了しました。まとめ今回、実装したコードはGitHubに公開しているので興味のある方は是非ご覧ください。github.com初めてGo言語を触ったので言語仕様にもなれず非常に苦戦しましたが、良い経験になったと思います。サーバ構築を本格的にしたのも初めてだったので勉強になりました。・捌けきれない量の通信が来てもいいように作成したプログラムの前にnginxなどを置くこと・コードが綺麗ではなかったり、無駄なところ多かったりしたので綺麗に書きたかった・もう少しサーバサイドの知識やGo言語の知識を身につけてインターンに臨みたかった・英語が苦手だが、英語から逃げずに英語の文献やページも読んで実装したかった・分かりやすいログを出してどこで詰まっているのかを明確にして取り組むべきだったといったところです。最後にインターンを受け入れてくださり、ありがとうございました。会社の雰囲気もよく、非常に過ごしやすい1週間でした。机の高さが自由に変更でき、立っても座っても作業できるのは新鮮で良かったと思います。メンターのy_kawasakiさんをはじめとしてサポートしていただいた社員の皆さんありがとうございました。非常に楽しく自分のペースで進めていくことができたので、おすすめです。F@Nのインターンに応募するか迷っているのなら、ぜひ応募することをおすすめします。5日間という短い期間でしたが、ありがとうございました。12:00Tweet関連記事2019-03-01ミニSSP作ってきたん02月18日〜02月22日までファンコミュニケーションズで1週間のイ...2019-02-27楽しいインターン初めましての方は初めまして、そうじゃない方はおはこんばんち...2018-09-131週間でFlutterを使ってアプリ開発させていただいた話こんにちは。9月3日〜9月7日までの5日間で1...2018-09-12PythonによるSSP構築インターン!!こんにちは、8月27日~8月31日の1週間インターンに参加した、み...2018-09-06SSP構築インターンに参加してきた初めまして、森です。Are青山のアドテク会社。アドネットワークやDSPを開発・運用。サーバを止めてみたよ。インターン:実業務体験編インターンでCTR予測をしましたSearchArchiveスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。