sato's note

技術メモ

2020-01-01から1年間の記事一覧

モノリシックとマイクロサービス

概要 ソフトウェアにおけるモノリシックとは、分割されていない1つのモジュールで構成されたものを指す。 マイクロサービスとは、複数の小さいサービスの集合体から一つのアプリケーションを構成するアーキテクチャの一種。 モノリシックとマイクロサービス…

DRYの原則

概要 Don't repeat yourself 直訳:同じコードを重複させるな。 本来の意図:ソフトウェア開発全体において情報を重複させない DBスキーマ、テスト計画、ビルドシステムや、ドキュメンテーション等、幅広く適用できる。 この原則がうまく適用されたとき、い…

YAGNIの原則

概要 You ain't gonna need it 機能は実際に必要となるまでは追加しないのがよい 後で使うだろうという予測の元に作ったものの90%は無駄になる。 予期しない変更に対しては、設計を単純にすることが備えとなる。 コードをすばやく実装するために最も良い方法…

KISSの原則

概要 Keep It Simple Stupid.(シンプルで愚鈍にする) 以下の様な解釈もある Keep it short and simple Keep it simple, stupid どちらにしてもシンプルに設計・開発する様にという事。 技術力を見せつける為の様な複雑な設計は要らない。

SOLIDの原則

概要 Single Responsibility Principle:単一責任の原則 Open/closed principle:オープン/クロースドの原則 Liskov substitution principle:リスコフの置換原則 Interface segregation principle:インターフェース分離の原則 Dependency inversion princi…

N+1問題

概要 DBアクセスが合計 N+1 回実行される問題 SELECT を 1 回実行し、N レコードを取得 Nレコードに関連するデータを取得するSELECT を N 回実行 抽象化コード list_all = select_all() // Nレコード取得 for( row in list_all){ detail = select_detail(row…

ACID特性とは

Atomicity(原子性) トランザクション内の処理がすべて実行されるか、または全く実行されないことを保証する性質。 Consistency(一貫性) トランザクションによりデータの矛盾が生じず、整合性を満たすことを保証する性質。 Isolation(独立性) 複数のトランザ…

バックエンドエンジニアのロードマップ(文字起こし)

インターネット インターネットの仕組み DNSとは・DNSの仕組み ドメイン名とは ホスティングとは 基本的なフロントエンドの知識 OSの基本的な知識 OSの仕組み プロセス管理 スレッドと同時並行性 メモリ管理 プロセス間通信 入出力管理 POSIXの基礎 基本的な…

ホスティングとは

ブラウザとは・ブラウザの仕組み

バックエンドエンジニアのロードマップ