myzkey

ソフトウェア開発、設計、読書、個人開発について、考えたことを静かに残すための場所です。

28 notes

AI個人開発者は、10年後に何をしているのだろうか。

限定公開

Trunk-Based Developmentとは何か。GitFlowとの違いやCI/CDとの関係を考える

Gitで開発していると、ブランチをどう切るかという話には必ず行き当たる。GitFlow、GitHub Flow、Feature Branch。流派はいくつもあるが、その中に「TrunkBase...

CSSフレームワークを実装詳細にする。特定技術に依存しないUIコンポーネント設計

僕はアプリケーションのコードから、特定のCSSフレームワークを直接使わないようにしている。FeatureやPageにTailwind CSSのclassNameは書かない。間に自前の型付きUI...

ReactTypeScript

React + i18nextで型安全に多言語対応を進めた話

Reactで作っているWebアプリケーションに、多言語対応を入れることになった。

ReactTypeScript

LatencyとThroughputの違い

システムの性能を話題にすると、LatencyとThroughputという二つの言葉がまず出てくる。どちらも「速さ」にまつわる言葉なので、最初のうちは混同しがちだ。かくいう僕も、長らく同じ意味だ...

CI/CDとは何か。なぜこの仕組みが生まれたのかから整理する

開発をしていると、「CI/CD」という言葉には毎日のように出くわす。GitHub Actionsでテストを回す。mainにマージしたら、本番環境へ自動でデプロイする。そういう仕組みをひっくるめ...

なぜ MySQL は 3306 で、PostgreSQL は 5432 なのか調べてみた

MySQL を立ち上げると 3306、PostgreSQL を立ち上げると 5432。普段はなんとなく受け入れている数字だが、ふと、誰がどう決めたのだろうと気になった。80 や 443 のよう...

RLSは悪用されているのか

Supabaseを使っていると、Row Level Security、いわゆるRLSを避けて通れない。テーブルを作ってクライアントから読もうとすると、ほぼ例外なく「RLS policyを書こう...

TypeScriptの import type と実行時依存について整理する

TypeScriptの import type を、僕は長らく「型だけimportするやつ」と雑に理解していた。ところが、これは単なる書き方の違いではない。コンパイル後のJavaScriptに...

TypeScript

アンチコラプションレイヤー is 何

外部APIやレガシーシステムと連携していると、最初はただのAPI呼び出しだったはずのコードが、いつの間にか妙に込み入ってくる。たとえば次のようなコードだ。