algonote

There's More Than One Way To Do It

アーキテクチャ

[Qiita投稿] CohesionでPythonの凝集度を計測する

Pythonでの凝集度の測り方 Qiitaに投稿しました Qiitaに「CohesionでPythonの凝集度を計測する」を投稿しました。Python Advent Calendar 2023 Day 18の記事です。 qiita.com 所感 LCOM4の関心はクラス設計ですが、一つずらしてモジュールにしてみても面白そ…

[Qiita投稿] Misskeyで学ぶdependency-cruiser

フロントエンドの依存の可視化、バリデーション Qiitaに投稿しました Qiitaに「Misskeyで学ぶdependency-cruiser」を投稿しました。TypeScript Advent Calendar 2023 Day 13の記事です。 qiita.com 所感 Rails+Packwerkとできることが近い気もします。なんで…

[Qiita投稿] spm-goでGoの結合度を計測する

よいパッケージ性の測り方 Qiitaに投稿しました Qiitaに「spm-goでGoの結合度を計測する」を投稿しました。Go 言語Advent Calendar 2023 Day 5の記事です。 qiita.com 所感 結合度関連だとConnascenceも面白そうですが、GitHub漁った感じ実装なさそうですね。…

バックエンドとフロントエンドで人を分けるべきか

要はバランス バックエンドとフロントエンドで人を分けるべきかは業態による Web開発がCGIでデザイン性のあまりない匿名掲示板を作る位の時代だと、そもそもフロントエンドができることがブラウザの仕様やパフォーマンス上の理由により制限されていたので、…

[Zenn投稿] デメテルの法則を根拠にdelegateを乱用するのは間違い

ではないか デメテルの法則を根拠にdelegateを乱用するのは間違い Zennに「デメテルの法則を根拠にdelegateを乱用するのは間違い」を投稿しました。 zenn.dev 所感 法則にのっとているかでその後のバグを防げたかだったり、何かしらの指標が改善するのか比較…

[Zenn投稿] アーキテクトがチェックすべきオープンソースのWebサービス一覧

実装の参考の当たり Zennに投稿しました Zennに「アーキテクトがチェックすべきオープンソースのWebサービス一覧」を投稿しました。 zenn.dev 企業によってはバックエンドと切り離して独立のアーキテクトを置いていることもあります。自分はDevOpsと同じで極…

バックエンド開発に必要な能力の半分以上は言語力以外の部分

ChatGPT時代の戦い方 言語経験年数だけ見るのは間違い ソフトウェアエンジニアの能力を測る指標としてしばしばプログラミング言語の経験年数が使われることがあります。Perl〇〇年、Go〇〇年というやつですね。 一方で例えばWebフロントエンド開発にHTMLやCS…

[Qiita投稿] Twitterはタイムラインをどうやってキャッシュしているか

Twitterの内部構造を読解してみる TLDR Qiitaに「Twitterはタイムラインをどうやってキャッシュしているか」を投稿しました。 qiita.com 所感 結構頑張ってリソース探したのですが、最近のものは少ないですね。 TwitterのメインDBのManhattanが気になってい…

[Qiita投稿] Twitterを支えるインフラ: スケール

Twitterの技術ブログを訳してみる TLDR Qiitaに「Twitterを支えるインフラ: スケール」を投稿しました。Twitterの技術ブログの非公式訳です。 qiita.com 所感 イーロンマスクがTwitterの構成図をTwitter上にあげたのが先日話題になりました。 Twitterの公式…

GraphQL採用アンチパターン

GraphQLは銀の弾丸か 前口上 Webやアプリ開発において、サーバー間やサーバークライアント間でデータを受け渡す方式には色々なものがあります。 古くはSOAPやXML、最近のWEB APIはほとんどの場合JSONのREST API、マイクロサービスならProtocol BuffersでgRPC…

0→1のWeb開発においてRDBMSを使った方がその先につながりやすく、Railsが復権したのがSaaS時代のトレンド

プロダクトの変遷でアーキテクチャーがどう変わったか 前口上 Web開発においてとりうるアーキテクチャーにはいくつかパターンがあります。 サーバー構成をモノリスかマイクロサービスかで分ける場合もありますし、データベースを内製で持つか外部のmBaaSに任…