2023-01-01から1年間の記事一覧
要件 アイコンの文字は名前の1文字目を表示する 色は5色からランダムで設定する 色はユーザーに固有のもので、再読み込みなどで変更されない。 やり方 登録日時を文字コードにし、ランダムのhsl( 色相(Hue)、彩度(Saturation)、輝度(Lightness))で色を割…
デコレータ メタプログラミングに役にたつ 他の開発者が使いやすい道具を提供することに向いている 使うための準備 tsconfig.jsonの設定 "target": "es6" "experimentalDecorators": true 上記の二つを設定する必要がある クラスデコレータ function Logger(…
どのタイミングで発生したか 普段dockerで開発しており、dockerを使用せずに、npm run devで立ち上げて動作確認したいものがあったため、久しぶりにnpm run dev をしたところ、PostgreSQLに接続できないエラーで立ち上げられなかった なぜ発生したか Postgre…
なぜやるか Azure Functionsでは、JavaScriptやTypeScriptで書かれた関数をエクスポートするとき、その関数が実行されるべきものであることを明示的に示す必要があります。これは、Azure Functions ホストが関数アプリ内のファイルからどの関数を実行するか…
Googleアナリティクスでは、多くの意表があるが、中でも、「ユーザー>概要」に表示される指標が重量指標である。 重要指標は多くのレポートで使われる 重要指標は設定によって多少変化する ユーザー分析のオンオフで変化する 切り替えはいつでもできるので…
ある条件に該当したユーザーに、リマインドメールを自動配信する実装したのですが、このタスクを実施した上での効果測定をする必要がありました。 誰に送ったか いつ送ったか メール内のURLのクリック率 メール内のURLのクリック率に関しては、GA4のクエリパ…
log4jsとは log4jsは、Node.js用のロギングライブラリで、Javaでよく使われるlog4jをJavaScript向けに再設計したものです。このライブラリを使用することで、ログの出力レベル(エラー、警告、情報、デバッグなど)を柔軟に制御したり、ログの出力先(コンソ…
なぜやるか 人生を重く捉えすぎたり、真面目に生きすぎる事で、自身を追い詰めてしまった 休職をすることにまでなってしまった そうなったのなら、それを学びにして、今後を改善したい 休職になったことをきっかけに哲学・生き方・思考法を学んだものをアウ…
新しいネットワークの形 1-6-2 CDNとは Content Delivery Networkの略称で、画像・動画・HTML・CSSなど、webコンテンツで使用される、色々なファイルを大量配信するために最適化されたインターネット上のサーバーネットワークのこと。 オリジナルのwebコンテ…
集約とは ドメイン駆動設計において、一つ以上のエンティティを束ね、単一のトランザクションの枠内で整合性を保つための仕組みです。 例えば、銀行口座とそれに紐づく取引履歴エンティティがある場合、これらを銀行口座集約として束ね、取引が行われた場合…
MSW (Mock Service Worker) MSW はブラウザのネットワークリクエストをインターセプトし、モックのレスポンスを返すことができるツールです。これにより、実際のサーバーと通信することなく、API のレスポンスをシミュレートすることができます。 コンポーネ…
DockerとDocker Composeのインストール DockerとDocker Composeを使用するために、まずはこれらのツールをあなたのマシンにインストールします。これらのツールはDockerの公式ウェブサイトからダウンロードできます。 Dockerfileの作成 ルートディレクトリに…
使うライブラリ・パッケージと概要 React, TypeScript, Storybook: ReactはJavaScriptライブラリであり、ユーザーインターフェイスの構築を容易にします。TypeScriptはJavaScriptのスーパーセットで、型安全性を提供し、バグを早期に発見し、コードのリーダ…
前提として成長の定義は できなかったことを、できるようになること Growth(成長)マインドセットとは 会社の成功に必要なスキルを自分から積極的に学び、習得しようとするマインドセット ある人とない人の違い 新しい挑戦に対して、チャンスと捉えるか、それ…
PDU 各階層で細かく分割されて、データは処理される その一つの塊をPDU(Protcol Data Unit)と呼ばれる ヘッダーとペイロードで構成されている PDUは処理される階層により名称が異なります。 アプリケーション層のPDUは「メッセージ」 トランスポート層のPD…
例えばこちらですと、test1 test2 が表示されている(見える)ことを確認しています。 describe('TopPage', () => { test('デフォルト(テストケース)', async () => { render(<Default />); await waitFor(() => { expect(screen.getByText('test1')).toBeVisible(); </default>…
見るたびに何となく理解しては、時間が経つと忘れてしまっているのでまとめます。 インストール npm i lodash @types/lodash コード import { values } from "lodash"; const obj = { a: 1, b: 2, c: 3, }; const valArray = values(obj); デベロッパーツー…
storeの中にreducerがある なので実際の実装では、configureStore内にreducerを設定する sliceにはstate reducer actioncreatorがある sliceの中にreducerがあるので、sliceからreducerを取り出して、storeに入れる なので実際の実装では、exportの際にreduc…
const Template = (args) => <Button {...args} />; がよくわからなかったので調べました まずそれぞれの関係性の把握から StorybookとTemplate関数、そしてButtonコンポーネントの関係を示す図 Storybookは、異なる状態を表現するためのargsをTemplate関数に提供します。 Templa</button>…
Chapter0 コンピューターは電気ものを考える 電気のオンオフでものを考えるので、電気が必要である 電気を使ってコンピューターはどのように考えるのかを知ることが大切 Chapter0-1 ち”びっと”だけど広がる世界 コンピューターはオン=1 オフ=2としか理解…
1-2-2 プロトコルは階層で整理する プロトコルで定義されている通信機能は、その処理に応じて階層構造になっている 送信元では、階層構造の上から順にデータを処理する パケットを受け取ったコンピューターは、その逆に下から上の順に、送信元のコンピュータ…
1-2-1 プロトコルで決まっていること 物理的な仕様 LANケーブルの素材 コネクタの形状 ピンアサイン(ピン配列) ネットワーク etc 目に見えるものは全てプロトコルで定義されている 送信相手の特定 ネットワークの世界でも住所を割り当てて、送信相手を区別…
1-1-2 回線交換方式とパケット交換方式 回線交換方式 イメージは固定電話 回線を占有してしまうため無駄が多い パケット交換方式 パケットは小包という意味で、データを小さい単位に分割してネットワークに流す ヘッダーという情報をくっつけて流す ヘッダー…
15-1 軽量DDDに陥らないために 軽量DDDとは ドメイン駆動設計に登場するパターンのみを取り入れること コードの書き方というパターンを主題としていることで、開発者だけ完結してしまい、実践しやすく、短期的にプロダクトのコードにある程度の秩序をもたら…
14-2 アーキテクチャの解説 ドメイン駆動設計と同時に語られることの多いアーキテクチャ レイヤードアーキテクチャ ヘキサゴナルアーキテクチャ クリーンアーキテクチャ ドメイン駆動設計においては、ドメインが隔離されることが重要である アーキテクチャに…
14-1 アーキテクチャの役目 ドメイン駆動設計において、アーキテクチャは主役ではない 14-1-1 利用なUI ドメインオブジェクトに記載されるべきルールやメソッドがユーザーインフェースに記載されている状態を指す 14-1-2 ドメイン駆動設計がアーキテクチャに…
13-2 仕様とリポジトリを組み合わせる リポジトリの検索のメソッド、検索の処理の中には重要なルールを含むものがある 重要なルールを仕様オブジェクトに記述し、リポジトリに引き渡すようにする プレミアムユーザであることを表す仕様オブジェクト export c…
13-1 仕様 オブジェクトの評価は単純なものならメソッドで定義されるが、すべてが単純なものではなく、メソッドとして定義するべきものでないものもある アプリケーションサービスに記述されがちだが、オブジェクトの評価はドメインの重要なルールなので、サ…
集約とは オブジェクト指向プログラミングでは複数のオブジェクトがまとめられ、一つの意味を持ったオブジェクトが構築される オブジェクトのグループには維持されべき不変条件が存在する オブジェクトのデータ変更の操作を無制限に受け入れてしまうと不変条…
10-4-2 トランザクションスコープを利用したパターン トランザクション処理はデータベースに限ったことではない トランザクションスコープとは、一連の操作が全て成功するか、全て失敗する(ロールバックされる)ことを保証する範囲のことを指します。これは…