Tag Go

Kubernetesのイメージタグの更新を楽にするCLIツールをGoで作った

この記事は CAMPHOR- Advent Calendar 2019 の11日目の記事です。

はじめに

こんにちは、 @p1ass です。

今回は自分が作った mikku というCLIツールを紹介をします。

mikkuはセマンティックバージョニングで管理しているリポジトリの管理や、KubenetesのマニフェストにかかれているDockerイメージのタグの更新を楽にするCLIツールです。

この記事ではmikkuの特徴、開発することにしたモチベーションや苦労した点などを紹介したいと思います。

続きを読む

Goではどんなライブラリがデータベースにアクセスするときにベストか考える

この記事は Go5 Advent Calendar 2019 の1日目の記事です。

はじめに

Go のメジャーバージョンはいつの間にか5まで到達していたようですね、@p1assです。

Goでデータベースにアクセスするときに使うライブラリは database/sql やそれをラップした sqlx , gorm , gorp など様々なライブラリがありますが、皆さんはどのライブラリを使っていますか?

おそらく様々な理由があってどれか(ここに挙げられていないものかもしれない)を使っているでしょう。 しかし、それは本当にベストな選択だったのでしょうか?

この記事では、Goでデータベースをアクセスする際に、どんな機能が必要かを考えつつ、上に挙げたのライブラリを比較していきます。 あくまでこの記事で述べるのは僕個人の意見ですが、この記事を通して皆さんが改めてライブラリ選定を考えるきっかけになれば幸いです。

続きを読む

ドメインロジックと永続化処理を分離する設計改善を行って得られた知見

こんにちは、株式会社アカツキでインターンしている @p1ass です。

今回は、ゲーム内仮想通貨管理サービスの設計改善を行った上で分かった、コードの可読性やテスタビリティを向上させる設計方法や、実際の作業を行う上で苦労したポイントを紹介します。

続きを読む

初参加のISUCON9 予選で敗北した

こんにちは @p1ass です。
9月8日に同じく CAMPHOR- の運営であるtomoyat1さんとISUCON9の予選に出場してきました。

結果は惨敗でしたが、来年に向けて今年やったことを備忘録として残しておきます。

続きを読む

CyberAgentのAbemaTVでインターンしてきた話

こんにちは、 @p1ass です。

前々からTwitterを見てくれていた人はわかるかもしれませんが、3週間ほどCyberAgentのAbemaTVというサービスでインターンをしてきました。

続きを読む

DeNAのエンジニアサマーインターンで優勝してきた

こんにちは、 @p1ass です。

この度、8月23日~25日に開催されたDeNAのエンジニアサマーインターン プロダクト開発コースにサーバサイドエンジニアとして参加してきました!

「3日間で最高のアプリに作り直す」というミッションが課せられていたインターンでしたが、最大限の力で最高のアプリに作り直し、優勝することが出来ました🎉

この記事では、インターンに参加した経緯や、インターンの詳しい内容などを紹介していきたいと思います。 来年申し込んでみようと考えている人にも役に立ちそうな内容を盛り込んでいるので、是非読んでいってください。

続きを読む

Googleのソフトウェアエンジニアリングインターンに落ちた

こんにちは、 @p1ass です。

タイトルの通りですが、Googleのインターンに落ちました。

インターンに申し込むと決めるまで競プロすらまともにやったことがなかったのですが、一次選考のオンラインのコーディングテストを突破し、Phone Interviewまでたどり着くことができました。

残念ながらPhone Interviewは不合格となってしまいましたが、それまでの勉強で多くのこと(特にデータ構造とアルゴリズム)を学ぶことができました。

この記事では、Googleのインターンに申し込むにあたってどのようなことを勉強したかなどについて共有したいと思います。

続きを読む

PFNのインターン課題が公開されたので解いてみた

こんにちは、ぷらす(@p1ass)です。

先日、PFNさんが2019年インターン用のコーディング課題を公開されました。

私は機械学習界隈の人間でないので、インターン募集時にあまり興味を持っていなかったのですが、上で公開された課題にはバックエンド用の問題も用意されていました。

中身を覗いてみると、なかなか歯ごたえのある面白そうな課題だったので、空いている時間を見つけてやってみました。

実装言語はGoで、一部グラフを出力する部分にPythonを使っています。かかった時間はおおよそ14時間で、想定所要最大時間の2日以内に収められたと思います。

この記事では、各問題に対する自分なりの解法を紹介していきます。コードはすべてGitHubで管理しており、小問ごとにブランチを切って、PRでマージしているので、私がどのように解いていったのかを簡単に見れるようになっています。

続きを読む

Go Conference 2019 Spring 参加レポート

こんにちは、ぷらす(@p1ass)です。

先日開催されたGo Conference 2019 SpringにWantedlyさんのスカラシップ枠として参加させていただきました!

LINE Developer Day以来、半年ぶりの大きめのカンファレンスだったのですが、Go固有の話をこれだけ聞く機会は今までなかったので、とても有意義な時間を過ごすことができました。

続きを読む

gRPC-Webでメタデータ付きのリクエストを送信する

こんにちは、ぷらす(@p1ass)です。

最近、gRPC-Webについて調査しているのですが、その際にメタデータ付きのリクエストを送る方法に関するドキュメントが一切ないことに気づきました。

分かってしまえば簡単なのですが、結構つまづいたので紹介します。

なお、サンプルコードはgRPC-Web公式のHello Worldガイドを使用します。

続きを読む