ぷらすのブログ

Tag Go

ISUCON13に参加して4位になりました (187,577点)

こんにちは、@p1ass です。

去年に引き続き、 @km_conner@atrn0 と一緒にチーム「釜中の鯖」として ISUCON13 に参加しました。 結果は187,577 点で総合 4 位になりました。わいわい 🙌

スコア 4 位 187,577  釜中の鯖

続きを読む

最近のGoのOpenAPI Generatorの推しはogen

はじめに

OpenAPI の yaml ファイルから Go のコードを生成する OSS ツールは何種類か存在します。 よく使われるのはOpenAPITools/openapi-generatordeepmap/oapi-codegenでしょうか。

ググると日本語の記事もたくさん出てきます。

もちろんこれらの OSS は便利なのですが、生成される interface や型が個人的にあまり好みではなく、モヤモヤしながら使っていました。

そんな中、新しめの OSS であるogen-dev/ogenというツールが良さげだという情報をキャッチし、実際に使ってみたところ自分の好みにフィットするツールだということが見えてきました。

続きを読む

Goのmath/bigパッケージを使ってbase62エンコードをする

こんにちは @p1ass です。

Go で base62 エンコード、つまりあるバイト列を [a-zA-Z0-9] の範囲の文字を使ってエンコードする方法を調べたのでまとめます。

最終的には、math/big パッケージを使うことで実現できることを知りました。

続きを読む

ISUCON 12 本選に参加しました

こんにちは、@p1ass です。

前回のブログに引き続き、ISUCON 12 の本選に @km_conner@atrn0 で参加しました。

結果は、参考スコア 218,852 点で失格になりました 😭

PASS してたら総合 5 位のスコアのようです。 僕のミスのためとても悔しいし、申し訳ない気持ちでいっぱいです。

スコア

この記事ではいつも通りやったことを書こうと思います。

GitHub はこちらです。

なお、スコアグラフはこのようになりました。

スコアグラフ

続きを読む

ISUCON 12 の予選に参加して、7位で本選進出を決めました

こんにちは、@p1ass です。 先日行われた ISUCON 12 の予選に @km_conner@atrn0 と参加しました。

結果は 35642 点・7 位で、本選に行くことができました。わいわい 🙌

スコア

この記事では、事前準備や本番中に入れた改善について紹介します。 なお、今回はコミットごとのベンチのスコアをほとんどメモしておらず、途中のスコアは概算となる点にご注意ください。

GitHub はこちらです。 master がバグることが何回かあり、コミットや PR 単位で実装を見ても FAIL するコードになっている場合があるので注意してください。 (主に僕の実装)

続きを読む

二項演算子のASTを参考にした動的なフィルターのデータ構造

この記事はDeNA 21 新卒 ×22 新卒内定者 Advent Calendar 2021の 1 日目の記事です。

こんにちは、@p1assです。

いよいよDeNA 21 新卒 ×22 新卒内定者 Advent Calendar 2021が始まります 🙌
今年は新卒と内定者によるこの Advent Calendar と DeNA のエンジニアが担当するDeNA Advent Calendar 2021の 2 種類があるので、どちらもぜひチェックしてください! (執筆時点では新卒 Advent Calendar はまだ埋めてないですがこれから埋まっていくはず...!)

続きを読む

ISUCON11予選に出場し48位で予選敗退しました

こんにちは @p1ass です。

今年も去年に引き続きISUCON の予選に参加しました。 去年は FAIL で学生枠の本戦出場を逃したので「今年こそは!」と思っていたのですが、タイトルの通り予選敗退しました。 結果は Best が 71,673 点、追試スコアが 67,097 点で 48 位でした。

この記事では、競技中にやったことをまとめておきます。 実装言語は Go で、メンバーは @Lorse@usagigaです。

続きを読む

今までにGoでよく聞かれた質問とその参考リンク

こんにちは、@p1assです。

最近研修で Go を書いていて、その際にいくつか質問をされるのですが、聞いてみると前にも答えたような質問が多かったので、これを機にブログに参考リンクをまとめようと思います。 質問された際にすぐ答えられない質問も数多くあり、調べたり教えてもらったりすることで様々なことを再発見できました。

この記事では、質問に対する回答をできるだけ公式に近い文章を引用する形で書き記します。私個人の考えは別の段落になるようにして、事実と意見を区別するように心がけています。

なにか誤りを見つけた際は GitHub で PR を投げていただけると助かります。

続きを読む

複数のRSSや任意の情報をまとめて1つのRSSやJSONを生成するライブラリを作成した

こんにちは @p1ass です。

皆さん RSS 使ってますか?RSS を使えば簡単にブログの更新を受け取れたりして便利ですよね。

でも、流れてくる情報多くて辛かったり、RSS に対応していないサイトの情報を受け取りたかったりすることがたまにありませんか?

そんな悩みを解決するための Go のライブラリを 1 年前に作ったのですが、ブログに書く機会を逃していたので、今更ですが紹介記事を書きます。

発表スライドはこちらです。

続きを読む

ISUCON10の予選でFAILして学生枠での本戦出場を逃した

こんにちは @p1ass です。

タイトルの通り。@Lorse@km_connerの 3 人で、チーム「釜中の鯖」として ISUCON10 の予選に参加した。結果は競技終了後の追試に失敗して、学生枠での本戦出場を逃した。めっちゃくやしい...。

負けたとはいえ、ブログを書くまでが ISUCON なので、取り組んだ改善をメモっておく。

リポジトリはこれ。

続きを読む
1