Tag Go

Twitterトレンド1位になった個人開発Webサービスの負荷対応記録

こんにちは、@p1ass です。

この記事は、LT 会のために作った Web サービスが何故かバズって Twitter トレンド 1 位 になってしまい、ひぃひぃ言いながら行った負荷対応をまとめたものになります。 スケーラビリティを全く考慮していない LT 会用の雑な Web サービスを、どのように改善していったのかについてまとめることで、個人開発者の参考になれば良いなと思っています。

なお、ここで書かれている内容は Production Ready なサービスを作る上では当たり前なことがほとんどです。本当の高負荷トラフィックを裁くための知見は出てこないので、予めご了承ください。

続きを読む

[Go] スライスのfor rangeループ内で新しいスライスにappendしたらバグらせた

久々にポインタ関連でバグらせてしまったので、自戒のためにメモしておく。

tl;dr

  • for rangeループのvalueは常に同じアドレス値を取る。

続きを読む

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 でマージしているので、私がどのように解いていったのかを簡単に見れるようになっています。

続きを読む