Happy Developing

楽しい開発ライフ 🦀

RabbitMQ Essentials 2nd Editionを読んだ感想

読んだ本 RabbitMQ Essentials - Second Edition 2020出版でRabbitMQ関連の本で比較的新しめだったのと、Taxi ApplicationにRabbitMQを組み込んでいくという形がおもしろそうだったので読んでみました。 1 A Rabbit Springs to Life 概要やインストールにつ…

RabbitMQ TutorialsをRustでやってみる

本記事ではRabbitMQ TutorialsをRustでやっていきます。 RabbitMQはAMQP 0-9-1というプロトコルの実装という位置づけなので、登場するコンセプトについてはAMQPに基づいて理解していきます。(以降AMQPはAMQP 0-9-1を前提にします) Tutorialsは以下の7つから…

deadpoolでConnectionPoolを作る

本記事では、deadpoolを利用したConnectionPoolの作り方とその仕組みについてみていきます。 外部リソースを抽象化した形でPoolが提供されているので同時利用数に制限のある外部リソースを複数作成して、必要に応じて使いまわしたい場面においてdeadpoolが利…

RustのAPI Guidelinesを読んでみる

Rustのブログ記事でよく言及されることが多いので、API Guidelinesを読んでみました。 本GuidelinesはRustのlibrary teamによってメンテされているみたいです。 Guidelinesの位置付け 本Guidelinesの位置付けはAboutで述べられています。 These guidelines s…

error-stackを試してみる

この記事では最近(2022-06-10)0.1.0がリリースされたerror-stackを試してみます。 READMEには error-stack is a context-aware error-handling library that supports arbitrary attached user data. とあり、crate/moduleで利用する、Result型を提供してお…

tower::Service traitを理解する

tower::Service traitについての公式のGuideがとてもがとてもわかりやすかったです。 そこで本記事ではこれを辿りながらtower::Serviceがなにを抽象化しようとしているかの理解を試みます。(libraryのAPIがどうして今のsignatureに至ったのかをここまで丁寧…

入門WebAssemblyを読んでWASMをはじめた

読んだ本 入門WebAssembly The Art Of WebAssemblyの翻訳書です。 本書を読みながらサンプルコードを写経したので感想を書いていきます。 著者のWebサイトには他にもWebAssemblyについてのトピックがあります。 サンプルコードはGitHubから見れます。 canvas…

Rustのexponential retry実装 againのソースを読んでみる

本記事では、Rustでexponential retryの機能を提供するagainのソースを読んでいきます。 (lib.rs 1ファイルだけの小さなcrateなのですぐ読めます) 基本的にproductionでnetwork callを行う際はretryが必要になってくると思います。sidecar等の透過的なinfra …

ソフトウェアアーキテクチャの基礎を読んだ感想

読んだ本 ソフトウェアアーキテクチャの基礎 Fundamentals of Software Architecture 日本語版は紙、英語版はKindleで読みました。Kindle版は図がカラーで見れます。 本書を読んだ感想を書いていきます。 Chapter 1. Introduction Software Architectureとは…

AWS CDK Conference Japan 2022の感想

2022/4/9に行われたAWS CDK Conference Japan 2022の動画を見たので感想を書きます。 Keynote: What is CDK v2? CDK v1とv2の主な違い Deployまでの流れ パラメータに関するCloudformationとの差異 Construct Levels 3年目のCDKを振り返って 初学者にCDKをオ…