TypeScriptの基本を学び直す
2024年7月20日概要 TypeScriptの基本について学び直す。 JavaScriptの復習 変数のスコープ(scope) グローバルスコープ windowオブジェクトのプロパティとして定義されるスコープ。 const a = "Hello"; console.log(window.a); // Hello ローカルスコープ 関数スコープ 関数内で定義された変数はその関数内でのみ有効。 f...
概要 TypeScriptの基本について学び直す。 JavaScriptの復習 変数のスコープ(scope) グローバルスコープ windowオブジェクトのプロパティとして定義されるスコープ。 const a = "Hello"; console.log(window.a); // Hello ローカルスコープ 関数スコープ 関数内で定義された変数はその関数内でのみ有効。 f...
SLO サービスレベル目標 ―SLI、SLO、エラーバジェット導入の実践ガイドを読んだ。 サービスやユーザーの定義について語られている SLOを考える時は特にユーザーについての解像度を高めておく必要があると思った 解像度が低いとサービスの信頼性を過剰に高めようとしたり、無意味な指標になってしまいがちになると感じた サービスが信頼できるか?というのはサービスはユーザーが必要とする動作を実行して...
Jestのスナップショットテストを避けたほうが良いかもしれないデメリットについて雑メモ。 デメリット テストが脆くなってしまう スナップショットテストはUIの変更を簡単に検知することができる反面、テストの関心事ではないような変更(ex. class名のリネームだけで見た目は変わらない変更)であってもテストがFailしてしまう。 アサーションの期待が不明確 スナップショットテストではtoMatchS...
Web APIテスト技法を読んだ。 API設計のテストで5w1hを使って問いを考える話があったが、具体例が分かりやすく、示唆に富んでいた 現場のテスタビリティについて理解するフレームワークとして挙げられていた10個のPモデルが良かった。テスト戦略や計画を考える前提の整理に役立ちそう テスト計画の整備と文書化について書かれているテスト計画のフォーマット例も考えやすいシンプルなもので良かった。戦略と...
自分が健康のために行っている習慣について書き留めておく。半分くらいはポエム。そのうち将来振り返ることがあるかもしれないので、いつかの改善のために。 自分が健康のために行っている習慣について書き留めておく。半分くらいはポエム。そのうち将来振り返ることがあるかもしれないので、いつかの改善のために。 免責 この記事で書いていることの正しさ(≒エビデンスがある)については保証できません。自分が調べたこと、...
大規模データ管理 ―エンタープライズアーキテクチャのベストプラクティスを読んだ。 データ管理そのものというよりもアーキテクチャの話に興味があって手にとってみた。 データ管理を中央集権的に行うとデータ管理のトレンドの変化について行くことが難しくなるので、そのためにスケーラブルなアーキテクチャにしていきましょうという話。 データウェアハウスはサイロ化しがちなので避けたほうが良いというのは学びがあった。...
マイクロサービスアーキテクチャ 第2版 を読んだ。 マイクロサービスに取り組んでいる、マイクロサービスを検討しているなら読んでおきたい一冊。 分散システムに求められるアーキテクチャの特性(非機能要件)についてもよく触れられており、マイクロサービスオンリーな観点に囚われず読んでも良さそう。 マイクロサービスの概念についてサッと確認したい場合には第一章がよくまとまっているので参照したい。 一部モノリス...
以前、GoReleaserを使ってのGoのアプリケーションを配布するというタイトルの記事でGoReleaserを使ったバイナリ配布の方法について書いたが、Dockerhubへのイメージプッシュもやってみたのでまとめておく。 ソースコードの全体像はbmf-san/gondolaを参照。 .goreleaser.yamlを設定 ockers: - image_templates: - ...
モノリスからマイクロサービスへ ―モノリスを進化させる実践移行ガイドを読んだ。 モノリスからマイクロサービスへの移行アプローチについて書かれている。 最もページが割かれている第4章はマイクロサービス化への1番の砦と思われるデータベースの分割について書かれている。時間がない、振り返りだけしたいならこの章だけは目を通しておきたい。 この本はタイトル通りアプローチに特化している内容であるので、マイクロサ...