ホーム

ヘルシープログラマ ―プログラミングを楽しく続けるための健康Hack

ヘルスケア

ヘルシープログラマ ―プログラミングを楽しく続けるための健康Hackを読んだ。 全体的にエクササイズの紹介が多めにある。 本書で紹介される研究は科学的なエビデンスに基づいているものが多い。とはいえ10年近く前の書籍であるため、エビデンスにアップデートはありそう。 ただ、10年前から変わっていないなぁと思うことも多く、一見の価値があると思った。特に健康は習慣から育むという考え方はずっとある考えなのだ...

健康

Web APIの設計

アプリケーション

Web APIの設計を読んだ。 API設計の視点を与えてくれる本。 API設計のインターフェースだけでなく、もっと手前の入り口から書かれている。 API設計は、仕組みではなくユーザーが何をできるかに焦点を当てて設計すると良い。仕組みに焦点を当てると複雑化する APIのゴールを洗いだすアプローチとしてゴールキャンパスというフレームワークの解説があったが、良い方法だと思った APIバージョニングのパ...

API OpenAPI 設計

SLOを始めるためのスタートガイド

ソフトウェア工学

概要 SLOについて理解し、SLOの運用を始めることができるようになるためのガイドとなるような内容をまとめる。 SLOの導入から運用までのステップ 組織やチームにSLOの導入を行い、運用を開始していくためには幾つかの段階を踏む必要がある。 SLOの知識について共有する SLOの導入目的について合意する SLOの運用方針について合意する SLOの設計を行う SLOの運用を開始する SLOを組織に...

信頼性 SLO

契約テストとPactについて

アプリケーション

概要 契約テストとPactについて調べたことをまとめる。 契約テスト(Contract Testing)とは コンシューマ(サービスを呼び出す側)とプロバイダー(サービスを提供する側)の間の動作をテストするテスト手法のことである。 コンシューマーとプロバイダー間での合意を契約として記述し、その契約に基づいてテストを行う。 コンシューマーが契約を発行し、プロバイダーはその契約に従ってテストを行う形式...

契約テスト Pact プロデューサー駆動契約テスト コンシューマー駆動契約テスト

TypeScriptの基本を学び直す

アプリケーション

概要 TypeScriptの基本について学び直す。 JavaScriptの復習 変数のスコープ(scope) グローバルスコープ windowオブジェクトのプロパティとして定義されるスコープ。 const a = "Hello"; console.log(window.a); // Hello ローカルスコープ 関数スコープ 関数内で定義された変数はその関数内でのみ有効。 f...

TypeScript

SLO サービスレベル目標 ―SLI、SLO、エラーバジェット導入の実践ガイド

ソフトウェア工学

SLO サービスレベル目標 ―SLI、SLO、エラーバジェット導入の実践ガイドを読んだ。 サービスやユーザーの定義について語られている SLOを考える時は特にユーザーについての解像度を高めておく必要があると思った 解像度が低いとサービスの信頼性を過剰に高めようとしたり、無意味な指標になってしまいがちになると感じた サービスが信頼できるか?というのはサービスはユーザーが必要とする動作を実行して...

SLO

Jestのスナップショットテストのデメリット

アプリケーション

Jestのスナップショットテストを避けたほうが良いかもしれないデメリットについて雑メモ。 デメリット テストが脆くなってしまう スナップショットテストはUIの変更を簡単に検知することができる反面、テストの関心事ではないような変更(ex. class名のリネームだけで見た目は変わらない変更)であってもテストがFailしてしまう。 アサーションの期待が不明確 スナップショットテストではtoMatchS...

JavaScript jest

Web APIテスト技法

アプリケーション

Web APIテスト技法を読んだ。 API設計のテストで5w1hを使って問いを考える話があったが、具体例が分かりやすく、示唆に富んでいた 現場のテスタビリティについて理解するフレームワークとして挙げられていた10個のPモデルが良かった。テスト戦略や計画を考える前提の整理に役立ちそう テスト計画の整備と文書化について書かれているテスト計画のフォーマット例も考えやすいシンプルなもので良かった。戦略と...

API

集合について

数学

概要 集合の基本についてまとめる。 集合とは 集合論における集合とは、特定条件を満たす要素の集まりのこと。 集合に含まれる要素のことを元という。(当記事内では要素と表記する。) ソフトウェアエンジニアと集合 ソフトウェアエンジニアにとって集合は、データ構造やアルゴリズムの基礎概念である。配列やマップ、グラフ理論や組み合わせ理論など集合の概念が関係している。 RDBにおいては、集合論が非常に重要な概...

離散数学 集合

健康のために行っている習慣について

ヘルスケア

自分が健康のために行っている習慣について書き留めておく。半分くらいはポエム。そのうち将来振り返ることがあるかもしれないので、いつかの改善のために。 自分が健康のために行っている習慣について書き留めておく。半分くらいはポエム。そのうち将来振り返ることがあるかもしれないので、いつかの改善のために。 免責 この記事で書いていることの正しさ(≒エビデンスがある)については保証できません。自分が調べたこと、...

健康