プログラミング初心者がアーキテクトっぽく語る

見苦しい記事も多数あるとは思いますが訂正しつつブログと共に成長していければと思います

2020-03-26から1日間の記事一覧

POST、PUT、PATCHの違い

API

REST APIなどを使っているとPOST、PUT、PATCHの使い方に悩むことがある。特にPUTとPATCHの違いはわかりずらい上に実際の挙動を見て戸惑うこともある。 REST APIで各HTTPメソッドがどのように振る舞うかは実装依存なのでケースバイケースで調査する必要がある…

URLの構造

API

WebAPIを取り扱う上で欠かせないURLの構造と各要素の呼び方についてまとめる。 ①スキーム 通信手段 ②ホスト名 主にFQDN IPアドレスのこともある ③ポート番号 TCPポート番号 デフォルトは80番 ④リソースパス ディレクトリとファイル名で構成される ⑤クエリ文…

コードの構造化 - システムに組み上げる

アーキテクチャ で結局なにを検討するの? アーキテクチャパターン これまで3回に渡ってコードの分割、分割したコードの結合、そしてグループ化について見てきた。 グループ化してリリースされたコードは他のパッケージやライブラリ、外部システムと組み合…

コードの構造化 - コードのグループ化

凝集度 原則 分類 これまでコードの分割の仕方と、分割したコードの組み合わせ方を見てきた。今回はグループ化について見てみよう。 クラス同士を組み合わせたらそのまま単一のパッケージとしてリリースしてよいのだろうか? 1つのパッケージでリリースした…

コードの構造化 - コードの結合

依存関係 1. 非循環式依存関係の原則 2. 安定依存の原則 3. 安定度・抽象度等価の原則 結合度 指標 分類 前回はコードをコンポーネントに分割することについて学んだ。 分割されたコンポーネントは単体では意味をなさない。コードをコンポーネントに分割した…

コードの構造化 - コードの分割

分割の単位 関数 メソッド クラス モジュール パッケージ ライブラリ マジックメソッド 分割の指針 コードを短時間で書き終えることが目的なら細かく分割せずに1つのコンポーネントにまとめて書いた方が楽だ。 すると後で困る。満足な試験できなくてバグに…