【メモ】【Firebase】自分宛のFirebaseについてのメモ

はじめに Firebaseを触っているが、Firebaseとアプリケーション、Google Cloudとの関係がいまいち理解できていなかったので、公式のドキュメントを読みながらメモを残していく。 firebase.google.com Firebase プロジェクト、アプリ、プロダクトの関係 以下…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅳ部 第14章(続き)

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅳ部 第14章 コンポーネントの結合 安定依存の原則(SDP) →安定度の高い方向に依存すること →変更を想定したコンポーネントは、変更しづらいコンポーネントから依存されてはいけない 眠いのでここまで。 以…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅳ部 第14章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅳ部 第14章 コンポーネントの結合 非循環依存関係の原則(ADP) →コンポーネントの依存グラフに循環依存があってはいけない →循環依存は依存関係逆転の原則(DIP)をコンポーネントに適用すれば解消できる →…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅳ部 第13章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅳ部 第13章 コンポーネントの凝集性 コンポーネント凝集性には以下の原則がある。 再利用・リリース等価の原則(REP) →再利用の単位とリリースの単位は等価になる →一つのコンポーネントを形成するクラスや…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅳ部 第12章

はじめに 前回の続き 【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅲ部 第11章 - ふじもりの忘備録 第Ⅳ部 第12章 コンポーネント コンポーネント →デプロイの単位を指す 12章はコンポーネント登場の歴史についての解説だった。…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅲ部 第11章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅲ部 第11章 DIP:依存関係逆転の原則(DIP:Dependency Inversion Principle) 依存関係逆転の原則 →ソースコードは具象ではなく抽象だけに依存すべき →ソースコードから具象を完全に排除するのは現実的では…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅲ部 第10章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅲ部 第10章 ISP:インターフェース分離の原則(ISP:Interface Segregation Principle) インターフェース分離の原則 →ソフトウェアを設計する際には、使っていないものへの依存を回避すべきだという原則 →…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅲ部 第9章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅲ部 第9章 LSP:リスコフの置き換え原則(LSP:Liskov Substitution Principle) リスコフの置き換え原則 →交換可能なパーツを使ってソフトウェアシステムを構築するなら、個々のパーツが交換可能となるよう…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅲ部 第8章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅲ部 第8章 OCP:オープン・クローズドの原則(OCP:Open-Closed Principle) オープン・クローズドの原則 →ソフトウェアの振る舞いは、既存の成果物を変更せず拡張できるようにすべき →アクターの異なるコー…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅲ部 第7章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅲ部 第7章 SRP:単一責任の原則(SRP:Single Responsibility Principle) 単一責任の原則 →モジュールを変更する理由はたったひとつであるべき →アクターの異なるコードは分割するべき →ここで言う「アクタ…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅱ部 第6章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅱ部 第6章 関数型プログラミング アーキテクチャと可変変数 アーキテクチャが可変変数に配慮すべき理由は下記の原因が可変変数によるものだから。 競合状態 →簡単に言うとプロセスやスレッドが同じ変数、フ…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅱ部 第5章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅱ部 第5章 オブジェクト指向プログラミング 依存関係逆転 「依存関係逆転」という言い回しが以前から腑に落ちていなかったが、下記の記事の説明で納得。 zenn.dev オブジェクト指向(OO:Object Oriented)…

【メモ】【WSL2】【Ubuntu】【yarn】yarn serve を実行して「00h00m00s 0/0: : ERROR: [Errno 2] No such file or directory: 'serve'」となった時の解決方法

前提 $ uname -a Linux DESKTOP-CDBO27E 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux 何が起きた? yarn serve 実行したい cmdtest を apt install でインストールする yarn serve 実行 「00h00m…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅱ部 第3~4章

はじめに 前回の続き [https://huji-mori.hatenablog.com/:embed:cite] 第Ⅱ部 第3章 パラダイムの概要 プログラムのパラダイムの変遷 プログラムのパラダイムは「構造化プログラミング」→「オブジェクト指向プログラミング」→「関数型プログラミング」と変遷…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅰ部 第2章

はじめに 前回の続き huji-mori.hatenablog.com 第Ⅰ部 第2章 設計とアーキテクチャ 「振る舞い」と「構造」 まずは用語の確認。 振る舞い→システムの動作、機能を指す。フリーマーケットのサービスを例にあげると、「出品する」、「入金する」、「商品を表示…

【メモ】【読書】Clean Architecture 達人に学ぶソフトウェアの構造と設計 第Ⅰ部 第1章

はじめに 「Clean Architecture 達人に学ぶソフトウェアの構造と設計」は少し前にエンジニアたちの中で話題になった書籍です。 そろそろクリーンアーキテクチャの勉強を始めようと思い、その足掛かりとして本書を読み始めました 以下は読書メモになります。 …

【メモ】他人が書いたソースコードを読むときのアレコレ

はじめに 業務中にソースコードを読んでいると、以下の問題が発生する。 一つの機能を追いすぎる そもそも自分が何を目的に読んでいたのか途中で分からなくなる/忘れる オブジェクト間のデータの受け渡しの流れが分からなくなる これらの問題をどうにか解消…

【メモ】asdf 経由でインストールした Go のパスを Visual Studio Code が読み込んでくれない現象

原因を調べていくうちに、以下の記事が見つかった。 blog.framinal.life www.web-dev-qa-db-ja.com bash 関連の諸々の設定をVisual Studio Code が読み込んでいないのが原因らしい。 自分の場合、Visual Studio Code に GOROOT の設定について怒られたていた…

チーム「DREAM TEAM TRIANGLE」で ISUCON12 予選に参加しました

はじめに チーム「DREAM TEAM TRIANGLE」で ISUCON 12 予選に参加しました(通算3回)。 まずは、このような素敵な大会を開催していただいた運営様に心より感謝申し上げます。 今年は例年より個人的な勉強に加えて一か月半ほど前からチーム内勉強会(週末に6~8…

【メモ】【勉強】nginxでロードバランス先を出力する

nginxでロードバランスを行った際、 デフォルトの設定ではアクセスログにロードバランス先が出力されない。ロードバランス先の出力方法を調べてみると、以下の記事が参考になったのでメモとして残しておく。 yapud.hatenablog.com修正内容は以下の通りになり…

【メモ】【勉強】EC2にnginxをインストール

下記コマンドでnginxをインストールする。 $ amazon-linux-extras | grep "nginx" 38 nginx1 available [ =stable ] $ sudo amazon-linux-extras install nginx1 Installing nginx Loaded plugins: extras_suggestions, langpacks, priorities, update-motd …

【メモ】WslRegisterDistribution failed with error: 0x800701bc

WSLインストール時に発生したエラーについてメモ。新しく組んだデスクトップPCにWSLをインストールしようとしたら、以下のようなエラーが発生した。 stalling, this may take a few minutes... WslRegisterDistribution failed with error: 0x800701bc Error…

go1.16で「no required module provides package~」が出たときの対処方法

Go

go1.16でコードを書いてビルドすると以下のメッセージが出た no required module provides package~ go1.16からgo.modやgo.sumが自動でビルド時に更新されないので、以下のコマンドを対象のファイルがある場所で実行すれば解消される。 $ go mod tidy

ここ約半年間で読んだ本を紹介してみる

はじめに 気が向いたので、2021年に入ってから自分が読んだ本を紹介してみようかと思います。 読んだ時期が古いものから順に紹介していきます。 (古いものほど、記憶の解像度が怪しいので内容も朧気です。) 2021年1月~4月 まずは1月~4月に読んだ本を紹介して…

ISUCON11 参加記録

ISUCON11にチーム「DREAM TEAM TRIANGLE」で参加してきました ISCUON11に参加してきました。私達のチームは今回で2回目の参加となります。 結果を先に述べると、予選敗退でした。ですが去年よりは良い成績を残せました(一緒に参加した友人たちが頑張ってくれ…

WSL2 + Docker + VS Code + Go 環境構築

はじめに 前提 WSL2 設定手順 Linux 用 Windows サブシステムを有効にする WSL2の実行に関する要件を確認する 仮想マシンの機能を有効にする Linux カーネル更新プログラムパッケージをダウンロードする WSL2 を既定のバージョンとして設定する Linuxディス…

AWS Certified Solutions Architect - Associateに合格した話

AWS

はじめに 記事タイトルの通りAWS Certified Solutions Architect - Associateに合格したのでその時のことを書いていきます。 試験結果は以下のとおりです。 スコア:768 受験回数:1 図.スコア 勉強期間、勉強方法の参考にしていただければ幸いです。 前提 ま…

はじめまして

自分がやっていたことを忘れないためにブログを開設しました。 プロフィール HN:ふじもり(twitter @huji_mori) 性別:男 職業:高専4年生 興味:セキュリティ、Exploit、ネットワーク、オーディオ 言語:Python、C Security Camp2015参加 とりあえず、長く…