ひらめの日常

日常のメモをつらつらと

エンジアリング

Go言語の Cloud Pub/Sub Client ライブラリを使用する上での注意点

はじめに Low-Level APIとHigh-Levelクライアントライブラリの違い Receive メソッドについて goroutine の活用 ack_deadline の自動変更機能 Message.Nack() の内部挙動 MaxOutstandingMessages による flow control [要確認] バッチによる retry はじめに …

Cloud Pub/Sub で意識すること

はじめに 送信回数の制御と Exactly-once delivery メッセージ順序と Message Ordering エラーハンドリングと Dead-letter topic まとめ はじめに 最近、仕事で Google Cloud Pub/Sub を使用したシステムの構築に関わる機会がありました。この過程で、Pub/Su…

Complicated Subsystem team を立ち上げた振り返り

はじめに この記事では、特に技術的な複雑さを持つサブシステムに焦点を当てて、自分がチームトポロジーのフレームワークに則り、 Complicated Subsystem team を立ち上げた際のノウハウと、その試行錯誤の過程について紹介します。 チームトポロジーの説明…

Go言語のChannelとメモリ管理

はじめに stack領域とheap領域 stack heap 何が heap に割り当てられるか channel channel が並行処理を可能にしている理由と heap channel のメッセージ送信と stack 終わりに はじめに この記事は、次の素晴らしい動画と参考書を元にして、自分の中でまと…

Go言語におけるgoroutineのスケジュールについて

はじめに goroutine とは goroutine のスケジューリングの特徴 タスクとスケジューラ M:N スケジューリング スケジューリングの透過性 二種類の Queue とその活用 Work Stealing Handoff Preemption 最後に はじめに 実は9月に転職しまして、新しくGo言語を…

『絵で見てわかるマイクロサービスの仕組み』を読んだ

今日は頑張らないでまとめてみます。感想ベースです 絵で見てわかるマイクロサービスの仕組み作者:樽澤 広亨,佐々木 敦守,森山 京平,松井 学,石井 真一,三宅 剛史翔泳社Amazon 動機 マイクロサービスについて勉強をしたいが、開発に従事したことがなく、何も…

『データ指向アプリケーションデザイン』を読んだ ー 第II部 分散データ 7章

こちらの続きです hiramekun.hatenablog.com 本はこちら データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理作者:Martin Kleppmannオライリー・ジャパンAmazon 7章は個人的に重要なことが多いと感じたので、内容多め…

『データ指向アプリケーションデザイン』を読んだ ー 第II部 分散データ 5~6章

こちらの続きです hiramekun.hatenablog.com 本はこちら データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理作者:Martin Kleppmannオライリー・ジャパンAmazon 5章 レプリケーション リーダーとフォロワー 同期的か非…

MySQL における primary key についてメモ

MySQL における primary key について MySQL における primary key (プライマリキー、主キーとも呼ばれる)は、テーブルの中のカラムに対して指定できるもので、以下のような特徴を持ちます テーブルで一つのみ指定できる NULLは許容しない 一意の(ユニー…

『データ指向アプリケーションデザイン』を読んだ ー 第I部 データシステムの基礎

『データ指向アプリケーションデザイン』を読んで特に印象に残ったところをメモとして残します。分厚いので数回に分けます。 書籍が素晴らしいので、詳細はそちらを読んでみてください。 データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い…

MacOSアップデート後、gccが壊れたので直した

結論 MacOS をメジャーアップデートしてたら、CommandLineTools をアップデートしましょう CommandLineTools がアップデートできない場合、以下の手順でインストールし直しましょう >> rm -rf /Library/Developer/CommandLineTools >> xcode-select --instal…

『Java言語で学ぶデザインパターン入門』を読んだ

『Java言語で学ぶデザインパターン入門』を読んだ感想です。

【Scala】リスコフの置換原則と共変反変

リスコフの置換原則と、それに関係の深いScalaにおける共変反変について理解が浅かったのでまとめてみました。まとめてみたものの、未だに分かりづらいので、またアップデートします。

『レガシーコードからの脱却』を読んだ

ITエンジニア本大賞を受賞していて、気になっていた本です。学びが多かったので印象に残ったところを残しておきます。

『エンジニアリング組織論への招待』を読んだ

エンジニアの先輩におすすめされたので、自分も気になっていたしこのタイミングで読んでみました。印象に残ったところと感想を簡単にまとめます。