ひらめの日常

日常のメモをつらつらと

エンジアリング

『プロダクトマネージャーのしごと』を読んだ

動機 印象に残ったところ 第1章 プロダクトマネジメントの実践 第2章 プロダクトマネジメントのCOREモデル 第3章 好奇心をあらわにする 第4章 過剰コミュニケーションの技術 第5章 シニアステークホルダーと働く 第7章 「ベストプラクティス」のワーストなと…

Mercari Dataflow Template を使って、BigQueryからPubSub Topicへデータを転送する

はじめに Dataflow Templateとは 前準備 関連リソースのセットアップ Service Account の設定 設定ファイル等の作成 Protoファイルの用意 Jsonの設定ファイルの作成 実行 まとめ はじめに Cloud Dataflow に興味があったため、休日を使って少し遊んでみまし…

『入門 監視』を読んだ

『入門 監視』を読み終わったので、感想を簡単に書きます 入門 監視 ―モダンなモニタリングのためのデザインパターン作者:Mike JulianオライリージャパンAmazon 動機 新しいシステムをリリースするにあたって、モニタリングやアラート周りの設定が必要となっ…

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

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

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