NUCおうちKubernetesクラスタで自宅サーバ入門"というのに応募して面談しました。-API編-"というのがあり、技術スタック的にそっちの方がいいのじゃないかなあ....」的なことを言われて、「そっちにします」と即答したのを覚えています。そのまま少し話して面談が終了するまでにはインターン参加が決定していましたので、「サイバーエージェントの決断する速度シュゴイ」と心の中で思いました。インターンに応募したのが締め切りの日とかでしたので、多分インターン応募してから参加するまで、1週間とかでしたので、インターンに参加できるかどうか不安に思っている学生側からすると、めちゃめちゃ良心的です。午前はインターンを運営してださっている運営の紹介や各テーブルに付いてくださるエンジニアの方の紹介などで終了しました。午後が開始すると同時に、仕様書が渡されて実際に競技が開始しました。環境構築を行ったのですが、僕らのテーブルは全員環境構築でこけました。(他のテーブルはあまり見えてないですが、後から話したら僕らと同様にこけてたらしい。)GoもデータベースもDockerで環境を作って作業できるように用意されていたのですが、Goの方の環境構築が全くうまくいかない。原因としては、Goの方で利用するイメージに問題があった。Goもデータベース側も動く環境を構築したのですが、結局やりにくかったのでデータベースだけDocker上でMysqlを動かして、Goはローカルでやりました。(ここまでがだいたい1時間30分とかかな)環境構築を終え、実装に入りました。(残り3時間)realize設定したり、デプロイ環境でログが取れるように設定したり、Makefile作ったり、現状としてどのようにデプロイされるようになっているのか確認したりしました。(残り2時間)そこから、ようやく仕様を詳しく読んだり、API作成に取り掛かりました。ログイン機能を実装し、ベンチマークを回して点数が上がりやった!!!って感じでした。ログアウト機能の実装を終え、ベンチマークを押そうとした瞬間に時間になりベンチマークボタンが押せなくなり1日目が終了しました。0点が乱立する感じでした。1位の点数を見て、「やばい、やばい、勝てない、頑張ろう、負けない」と思い、ホテルに行ってから一人でもくもくと作業しました。午前は社員さんによるLTがありました。午後から競技再開でベンチマークが回せるようになったので、昨日の夜に生やしたAPIに対するベンチマークするかと思い、ベンチマークを回すと14本のうち10本に対するベンチマークテストが成功して、点数は大きく上がり1100点になりました。4位だったと思います。ベンチマーク失敗したところは無視して、一旦他の手を付けていないAPIを実装するかということで、1本生やしてはベンチマークを回してという感じで3本だけ実装できました。(ここまでだいたい1時間30分ぐらいで、残り時間が2時間30分)ここで、中々面倒な問題がありメンターの方に相談すると、「簡単だけど美しくはない実装方法と少し難しいけど美しい実装で、業務でもちょこちょこする実装方法があるけどどっちにする?」と言われて、両方とも聞き、どっちで実装するか迷ったのですが、簡単だけど美しくない方で実装してしまうと、多分これから先難しいけど美しくない実装方法で実装しなくなるだろうなと思い、ハッカソン形式のインターンで正しい判断かは怪しいですが、難しいけど美しい実装方法を選びました。結果として、やる方針などを教えてもらって、理解はしているのだけど、コードに落とすことができなかったです。)そのまま時間は溶けていき、1400点のままで時間になり、競技終了しました。結果発表としては、僕は30人中8位でした。順位的には、なんとも言えない普通な結果でしたが、メンターの方に今までやってこなかった美しい実装方法等を教えていただいたので、感謝です(葛巻さんありがとうございました!!!)8位の景品として、サイバーのハンカチ的なものをもらえたのですが、1位になりたかったのに、という思いで悔しかったです。悔しさの詰まったハンカチということで、これから使って、自分を高めたいと思いますwサイバーエージェントさんありがとうございました。学んだことを生かしてのこれからすることGoでメソッドの活用の仕方が僕は下手なので、バイト先や先輩のGoコードを見て、真似て、自分のものにする。今回のデプロイ方法を真似て、デプロイをやってみる。メンターの方に言われたように、自分のGoでAPIを書く時のテンプレートを用意する。Gormを使ってのですが、joinがやりにくかったのでそのあたりを、Gorm使っている人はどのように対応しているのかを調べて、自分にあったのを真似る。-API編-Tweet広告を非表示にするもっと読むコメントを書く2019-05-19voyagegroup1dayインターン久しぶりの投稿ですtaya(intel)です。今回はVoyageGroup1dayインターンに参加したことについて書いていきたいと思います。かった点(Keep)よくなかった点(Problem)参加した理由Twitterかサポーターズからか何かで今回のイベントを知り、面白そうなので日程も気にせずに申し込んだ記憶があります。初めに応募した時(多分3月ぐらい)は、Golangを全く触ったことがないような状態でしたけど、丁度申し込み終わった頃からアルバイトの業務でGolangを触るようになり、これはGolangを書けるようになる必要があるなと思い始めました。そんなこんなで参加するようになりました。Githubの使い方や、issueやbranchを切って基本的作業を行う方法などを講義形式で受けました。それから、APIServerについて説明を受けました。その後は既存のアプリケーションに追加機能を実装するということをハンズオン形式で行いました。与えられた時間はごく僅かでしたので、いかに短い時間で既存のアプリケーションのソースコードを読んで、どのような風に実装されているかを把握できるかが鍵になっていたのではないかと思います。午前中は時間内に発展まで全て実装することはできたのですが、午後のMission形式になった瞬間、急激に難易度が上がりましたね。時間内に実装できずに、答え発表が行われてめちゃめちゃスピード感が、、、、Golangを触ったことがある身でも中々間に合わなかったので、結構Golangを触ったことがなく、機械学習を専門にしている人やフロントを専門にしている人が参加者には多かったのでハードワークだったと思います。M1が二人という感じです。チームでアイディア出しをしようとしたのですが、下ネタ的な話になってしまって、そこから『禁止ワード置き換えサービス』というアイディアがでました。どこのチームよりも素早く開発に入ることができたと思います。開発をするときにやってしまったこととして、自己紹介をしなかったことです。自己紹介をしないことによって、誰がどのレイヤーが得意かを知らないまま適当にタスクの切り分けを行いました。Git周りでもコンフリクトなどを起こさずに、スムーズに作業をすることができました(短い時間で小規模なアプリケーションを構築するということでしたので、4人を2チームに分けることによるペアプロ方式にしたのが、結果としてはコンフリクトを起こさないことに繋がったのでよかったと思います。「アホバカ死ね」という文章にSNSで呟くと炎上するような非人道的な単語が含まれていないかについて調べます。非人道的な単語が含まれていると、それが全て『x』という文字に置き換えて禁止ワード置き換えBotが変換して返してくれます。他にも「クソ野郎」という単語でしたら、『xx野郎』というように置き換えられるということです。あるのですが、アイディア出しから実装をするまでの時間が全然ないということで自己紹介をすっ飛ばしてしまったのが、あまり良くなかったのかなと反省です。(チーム開発をするときには、絶対に自己紹介はしましょう💪)今回は参加者18名とかの中に何名か知り合いがいて、同じ学科出身のM1の先輩がいたり、同じ学科の子がいたりと結構知り合いが多かった気がして、色々面白かったですwww短めですが、今回はこの辺で終わります。先ほど友達とNAISTのLabを色々見てきたので、思ったこと感想等々を書いていこうと思います。略で、学部を置かない大学院大学として、"最先端の研究を推進するとともに、その結果に基づく高度な教育に人材を育成し、科学技術の進歩と社会の発展に寄与"を目的としています。3つの領域に別れていて、もちろん僕は情報科学領域の説明を色々聞きました。知った経緯は、友達に教えてもらったからです。大学のその後の自分のキャリア的に、就職するのか、大学院に進学するのかをまだ決めれていないので、実際に現在通っている大学以外の大学院ではどのようなことを学び、どのような教育体制というのも知りたいと思ったので参加しました。教授や大学院生と話している中で、新しい発見が欲しいと思ったのもあります。以上に挙げたように(新設研究室略)、40以上の研究室があります。LTで自分が興味ある分野や訪問してみたい研究室をピックアップしておき、その研究室は絶対に訪問できるようにして、時間の許す限り訪問をして、おしゃべりなどもさせていただきました。進学したいと思った研究室は二つあります。1情報セキュリティ学研究室-研究室自体が非常に明るく、教授がノリのいい方-最近Webアプリケーションを作る上で、セキュリティを学ぶことが多く、セキュリティに関しての研究をしている(ただし、レイヤーとしては非常に低い所の研究)-低レイヤーの研究を行う上での機器が非常に揃っている2情報基盤システム学研究室-僕の好きなネットワークの研究が豊富-セキュリティに関しての研究をやっている-海外論文発表が行いやすい-セキュリティキャンプ、ハッカソン、チューニンガソンetcに参加させる(任意)-起業家育成のプログラム-研究室の取り組み(勉強会、イベント)-研究室が明るい以上のような理由で、以上の二つの研究室に進学したいと思いました。実際に研究室を訪問して、研究室独自の特色や雰囲気、そもそも大学院自体の環境を知ることは非常に重要なことであるな〜と思いました。(もちろんだけど、資料やネットの情報などのデータだけで見るのでは全然違いました。)まだ大学の研究室配属もまだで、大学院で具体的にどんなことを研究しているのかを知らないまま、大学院進学という選択肢を消去してたので、dangerdanger状態でした。情報を持つということは選択肢を増やすことにも繋がり、自分の可能性を広げることにも繋がるので、情報をキャッチアップしていくことは重要だな〜と感じた。教えてくれた友達に感謝です(@creataro54)。今はアドバイスを参考に大学生活の続きを本気でしようと思います。18:59NAISTのlab見に行った話Tweet広告を非表示にするもっと読むコメントを書く2019-02-12supporterzさん主催の[21卒向けエンジニアセミナー]に参加した話なぜこの記事を書こうと思ったか。今までは自分のアウトプットとして記事を書いていたが、ごく少数の知人にしかオープンしていなかった。少数にしかオープンにしないのはメリットが少ないと思ったからもっと発信していこうと考えたからです。感想サポーターズとは簡単に言うと交通費が支給してくれて、人気IT企業と繋げてくれる会社です。提供してくれるような会社です。https://supporterz.jp今回のイベントに参加した理由このイベント自体は京都で大学生をやっている友に教えていただきました。このイベントの参加企業を見た瞬間、間違いなく技術的な話をでき、最新の情報をキャッチアップできると心が踊り参加しました。前々からずっとお話をさせていただきたい会社も数社参加するということで東京まで飛んでいきました。各企業ブースでエンジニアの方やエンジニア採用担当者の方々と交流。→ただ抽象的すぎる質問をしても自分が欲しい質問の核をついた解答が返って来にくい。・常に誰のために技術を活用しているのかを念頭に置いている企業である。(2018/2/11時点での考え方)その上で、「御社のただの強みではなく、”1番の強みは何か”」を聞きました。その質問を発展させることで、自分の働きたい企業であるかどうかの質問までダイレクトではなく、ほんわりと聞くことができました。今回のイベントに参加したことによるメリットは単純に"知る""知ってもらう"の2点であると考えています。"知る"自分と同世代の人と自分との力の差のギャップ。卒業が2つ上の人との知識量。ググっても出てこない部分の企業の情報。最新の技術動向の情報。"知ってもらう"企業の方に私のことを知っていただく。同世代のエンジニアに知っていただく。今思いつくのをざっと挙げただけでも、様々な"知る""知ってもらう"が行き来したイベントだと思っています。情報を知ることの重要さを改めて実感しました。これからも常にアンテナを貼り続けて、最新の情報をキャッチアップしていきたい。次回のサポーターズさん主催のイベントに参加してみたいと思います。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事2019年振り返り。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。