2025年9月4日 / 最終更新日時 : 2025年9月6日 masaakiota JavaScript/TypeScript 【TypeScript】タイムゾーンを吸収するbranded type こんにちは、フリーランスエンジニアの太田雅昭です。 タイムゾーン問題 DBによってはタイムゾーンを保存することがデフォルトではできません。例えば、PostgreSQLではタイムゾーンを一緒にフィールドに含めることができま […]
2025年8月31日 / 最終更新日時 : 2025年9月2日 masaakiota Vite 【Vite】開発サーバーをDocker経由でhttpsにする こんにちは、フリーランスエンジニアの太田雅昭です。 Dockerでのhttps Dockerでのhttpsは、https-portalが便利です。今回はこちらを使って、ローカルサーバーをhttpsにします。 普段の開発サ […]
2025年8月24日 / 最終更新日時 : 2025年9月17日 masaakiota Drizzle 【Drizzle】queryに__typeを埋め込んで型強力にする こんにちは、フリーランスエンジニアの太田雅昭です 以前、DrizzleのViewで__typeを埋め込んで、型を強化する話を書きました。 今回は、Viewを使わずqueryでやってしまおうというお話です。 実行環境 ta […]
2025年8月23日 / 最終更新日時 : 2025年9月9日 masaakiota Drizzle 【Drizzle】画期的?Viewに__typeフィールドを埋め込んでセキュリティを高める こんにちは、フリーランスエンジニアの太田雅昭です。 DrizzleのView DirzzleではスキーマレベルでViewを作成することができます。 この例では、usersTableからidとhandleのみのViewを作 […]
2025年8月6日 / 最終更新日時 : 2025年8月7日 masaakiota Electron 【electron-vite】モノレポ環境で気をつけること【Module Type】 こんにちは、フリーランスエンジニアの太田雅昭です。 Electronでモノレポ 今回、2つのElectronアプリで共通の機能を使いたいがために、yarnのモノレポ構成で開発していました。electron-viteです。 […]
2025年8月4日 / 最終更新日時 : 2025年8月5日 masaakiota JavaScript/TypeScript 【TypeScript】Branded typeでセキュリティを強化する こんにちは、フリーランスエンジニアの太田雅昭です。 以前にzodでのbrandについての記事を書きました。 しかしDrizzleなどを使用していると、直接zodに変換できなかったりするため、TypeScriptプレーンで […]
2025年8月4日 / 最終更新日時 : 2025年9月12日 masaakiota Drizzle 【Drizzle】複合キーでのカーソルページネーション こんにちは、フリーランスエンジニアの太田雅昭です。 分かれば簡単なのですが、若干理解に時間のかかるかもしれない、複合キーでのカーソルページネーションについて考えます。 ページネーション ページネーションは、よくある下記の […]
2025年7月14日 / 最終更新日時 : 2025年7月15日 masaakiota Next.js 【Jotai】useHydrateAtomでもHydration failedする場合【Next.js】 こんにちは、フリーランスエンジニアの太田雅昭です。 JotaiのuseHydrateAtom Jotaiは、Reactで使える状態管理ライブラリです。サーバーデータからクライアントに渡す際に、useHydrateAtom […]
2025年7月5日 / 最終更新日時 : 2025年7月5日 masaakiota JavaScript/TypeScript 【TypeScript】有効にすべきオプションまとめ こんにちは、フリーランスエンジニアの太田雅昭です。 TypeScriptのオプション TypeScriptでは、tsconfig.jsonで様々なオプションを指定できます。中には互換性を重視して、デフォルトでは無効になっ […]
2025年7月4日 / 最終更新日時 : 2025年7月4日 masaakiota Node.js 【Turborepo】遅延起動、A待ち=>B起動を考える【persistent】 こんにちは、フリーランスエンジニアの太田雅昭です。 Turborepoでの遅延起動 Turborepoでは、dependsOnを指定することで、起動待ちを実装することが可能です。ただし、これはpersistent=fal […]