Go1.24 がついに公開されましたね。その中でとても興味深い改善内容がありました。 1/14Go's newmap implementation in 1.24 is powered by Swiss Tables, a cutting-edge hash table design that significantly boosts performance. Let'sbreak down why this matters and how @CockroachDB's implementation played a key role. 🧐🚀— Peter Mattis (@petermattis) 2025年2月10日 9/14 Performance gains? Benchmarks showGo's newmaps are 30%+ faster in many wo
はじめに こんにちは、ソーシャルベッティング事業本部海外ベッティング事業部の山崎です。本記事では、EffectiveGoやGoogle のスタイルガイド、Code Review Commentsといった公式資料、Future Architectの記事などを参考に、Go を初めて触る開発者を対象にした汎用的なレビューコメントの 20 選を紹介します。 大きく以下の4つのセクションに分けました 言語仕様に関わる内容 標準パッケージの使い方 エラーの扱い方 単体テストLinter の活用について 可能な限りlint で自動化して人の手が加わる前に静的解析でできればベターです。 特にこの記事で紹介するような汎用的なコメントについてはいくつか反映できるlint もあると認知しております。 そのような設定のlint config サンプルをまとめようとも思いましたが、実際に運用まで至って

I hate flaky tests. We repeatedly run our suite of tests during development time and on every commit, so if a test is flaky, developers quickly learn not to trustit.It’s so easy tojust retry and assume everything is fine. This is the worst of both worlds because the test isn’t providing value as an indication that something needs to be fixed andit drags out the review-merge cycle with test rer

はじめに こんにちは。都内でソフトウェアエンジニアをしているtomoriです。 突然ですが、Go言語でHTTPサーバーを実装する際、サーバーの終了処理を適切に実装できている自信はありますか? 自分が開発に携わっているプロダクトでは、ほんの最近まで下記のような不適切な終了処理を行なっていました(話を簡単にするためにここでは panic を使っています)。err := http.ListenAndServe(":8080", handler) iferr != nil { panic(err) } HTTPサーバー実装のサンプルとかでよく見るやつですね。 これだとアプリケーション側で、いわゆる Graceful Shutdown ができておらず、実行環境にて不具合を引き起こす恐れがあります。 というわけで、最近それを修正したのでアウトプットとして記事にします。Go言語でHTTPサーバーを

概要 Kryptoniteというサービスを見つけたので使ってみました。 KryptoniteはSSHの秘密鍵をスマートフォン上に保存し、PCなどで利用する際にはスマートフォンにPUSH通知が来て承認した場合のみ利用できるようにするものです。 利用イメージは上のサイトの動画を見るとすぐ掴めると思います。 秘密鍵が安全に管理できますし、複数PCでの秘密鍵の共有も安全に可能なので使ってみました。 通常であればPC紛失のことなどを考えると共有しないほうが好ましいかと思われますが(自分は普段分けてます)、Kryptoniteの場合はスマートフォン内に秘密鍵が保管されるので、PCごとに使い分けても意味が無いのかなと思っています(使い分けたほうが良い理由があれば教えてください)。 そしてOSSなのが嬉しいです。あとGoで書かれてるので読むと勉強になります。 とりあえず速攻使ってみたという記事なので、技術

Go1.5とGo1.6でGoのGCのレイテンシが大きく改善された.この変更について「ちゃんと」理解するため,アルゴリズムレベルでGoのGCについて追ってみた. まずGoのGCの現状をパフォーマンス(レイテンシ)の観点からまとめる.次に具体的なアルゴリズムについて,そして最後に実際の現場でのチューニングはどうすれば良いのかについて解説する.GoのGCの今 最初にGoのGCの最近の流れ(2016年5月まで)をまとめる.Go1.4までは単純なStop The World(STW)GCが実装されていたがGo1.5からは新たなGCアルゴリズムが導入された.導入の際に設定された数値目標は大きなヒープサイズにおいてもレイテンシを10ms以下に抑えることであった.Go1.5で新たなアルゴリムが実装されGo1.6で最適化が行われた. 以下は公開されているベンチマーク.まずはGo1.5を見る.Gophe
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く