miyabisan2の記事一覧
-
09.19
【DDD】「リポジトリ」について
リポジトリとは? データを永続化(保存)して、再構築(復元)するといった処理を抽象的に扱うためのオブジェクト。(メモリ上に展開したデータはプログラム終了したら消えてしまうので永続化が必要) オブジェクトのインスタンスをDBに保存、読…
-
09.18
【DDD】「ドメインサービス」とは?
ドメイン駆動設計では「アプリケーションサービス」と「ドメインサービス」の二つのサービスがあります。ここでは「ドメインサービス」について解説します。 ドメインサービスとは? 「値オブジェクト」や「ドメインオブジェクト」には振る舞い(文字数…
-
ファイルにまつわるオブジェクトやエンコード形式など Blob(バイナリ・ラージ・オブジェクト) HTML5のFile APIで定義されたインターフェイス ブラウザのメモリ上にあるバイナリを表現する。 生のバイナリ…
-
Data URL Schema 「data:」で始まるURL imgタグのsrcに埋め込める。 仕組み Blob URL Schemaと異なり直接バイナリデータをURLに埋め込める。 メリット …
-
対応端末 スマホ iPhone ブラウザ Chrome 対応しています。 Safari まだ対応してくれないです。 ユースケース LINEでメッセージが届いた時 メルカリで出品が売れた時 yahoo天気…
-
09.12
【DDD】「CQRS」の活用
リポジトリにドメイン側の処理を埋め込んでしまうのも問題です。(例えば、商品を発売日順に並び替えるというのは仕様になります。) 対策としては、レポジトリ側に仕様オブジェクトを渡して、レポジトリではfindAllで単純に情報を取得して仕様…
-
09.11
【Redux】「正規化」について
例えば、以下のようなデータがあるとしましょう。 [crayon-6aa305dc28532737670330/] 以下のデータが複数回繰り返し出てきているので正規化されていないデータと言えます。 [crayon-6aa305dc285…
-
JavaScriptのオブジェクトのメモリの仕組み JavaScriptはオブジェクトの変数をメモリに格納する場合は番地のみ格納する仕様になっています。なので、オブジェクトの中身をコピーしたい場合はシャローコピーやディープコピーなどの概念…
-
09.03
【関数型言語】「参照透過性」を破壊するものと対策
基本的に関数型言語では参照透過性を保つことが求められます。 参照透過性とは? プログラムの構成要素が同じもの同士は等しいという性質のこと。(例えば、3 ===3であれば常にtrueになるので参照透過性が保たれていると言えるでしょう。) …
-
08.29
【関数型言語】「計算モデル」の種類、カリー化
機械が保持している計算モデルは3つのモデルがあります。 命令型モデル アランチューリングが考案した。JavaやCなどで採用される一般的なモデル、「計算」とは「命令を実行する」こと。 命令 計算機の状態を変更する処理のこと。例をあげれ…
