Backend の記事一覧

container/heapの存在意義

はじめまして、MF KESSAIでバックエンドエンジニアを担当しているshoheiです。

今回はGoの開発業務で触ったcontainer/heapパッケージについての話です。

container/heapとは

Overviewを読めば分かる通り、「ヒープ」データ構造とその操作関数を提供してくれるパッケージです。

使い方も非常に簡単でインタフェースを実装したスライスにheap.Pushしていくと、heap.Popでスライス内での最小値が返却されます。 スライスを二分木構造に展開してPop時にルートにあたる最小値を返しているんですね。よくあるユースケースとして以下に時刻のソートを実装してみます。

データベースへの接続を伴うGoの並列テスト

こんにちは、MF KESSAIでバックエンドのエンジニアのgarsueです。
2019年もあっという間すぎて戦慄しています。

今回はMF KESSAIでのGoのテストについて、ちょっと工夫してる点を書いてみようと思います。

並列テストによる問題

Go標準のテスト実行コマンドgo testはデフォルトでパッケージごとにテストを並列実行します。

通常は何もしなくてもテストが並列実行されてうれしいのですが、たまに困るケースがあります。

entityからコード自動生成した話

はじめまして、MF KESSAIでバックエンドエンジニアを担当している近江です。

今回は6月に行ったIKIOI(※)向上合宿で取り組んだ、entityからコード自動生成した話をしようと思います。 ※IKIOIとは、弊社のチーム開発力を示す指標です。(詳細はこちら

なぜコード自動生成しようと思ったか?

OpenCensus meetup vol.1参加レポート

こんにちは、獏良天の風神こと@garsueです。 MF KESSAIでバックエンドのエンジニアをやってます。

先日、OpenCensus meetup vol.1にブログ枠として参加しました。 今回はそのイベントレポートとぼくなりの感想を書いていこうと思います。

OpenCensus meetup

マイクロサービスやサーバーレスアーキテクチャなど、複雑化・分散化していく昨今のシステムでは、システム全体の状態を把握することが困難になってきました。 フロントエンド、クライアントサイドも年々複雑になっていますが、バックエンド以上に状態を観測することが困難です。

システム全体のいつ・どこで・何が・どうなっているかを把握できるようにすること、すなわちオブザーバビリティ(Observability、可観測性)1の担保が課題になっています。

その課題解決の一助となる技術としてOpenCensus2が注目されています。

しかし、まだよく知らない・気になっているという人が大部分ということもあり、実際にOpenCensusを使っている人を中心に情報交換をする場としてOpenCensus meetupが開催されました。