2025年9月15日 / 最終更新日時 : 2025年9月15日 masaakiota JavaScript/TypeScript 【canopy-i18n】型安全に使えるi18nライブラリ【TypeScript】 こんにちは、フリーランスエンジニアの太田雅昭です。 Node.js/TypeScriptでのi18n、型ズレや初期設定の重さに悩まされがちです。この記事では、最小限のAPIで型安全に使える「canopy-i18n」を紹介 […]
2025年9月14日 / 最終更新日時 : 2025年9月14日 masaakiota Node.js 【dotenv】gitのルートから環境ファイルパスを指定する こんにちは、フリーランスエンジニアの太田雅昭です。 dotenv cli dotenv cliでは、環境変数ファイルを指定して任意のスクリプトを実行できます。 親を遡ることも可能です。 しかし階層が深くなると、どこに目的 […]
2025年9月14日 / 最終更新日時 : 2025年9月14日 masaakiota React 【Jotai】useHydrateAtomsを毎回発火させる こんにちは、フリーランスエンジニアの太田雅昭です。 useHydrateAtoms useHydrateAtomsはServerからClientに簡単にデータを渡せる関数です。useEffectや待機処理を別途書く必要が […]
2025年9月13日 / 最終更新日時 : 2025年9月13日 masaakiota JavaScript/TypeScript 【pnpm】モノレポで任意パッケージのバージョンを揃える こんにちは、フリーランスエンジニアの太田雅昭です。 PNPM Workspace pnpm workspaceは、pnpmのモノレポ管理の仕組みです。pnpm-workspace.yamlファイルで設定します。 バージョ […]
2025年9月13日 / 最終更新日時 : 2025年9月13日 masaakiota React 【nuqs】server, clientで共通の設定を作る こんにちは、フリーランスエンジニアの太田雅昭です。 nuqs nuqsは、URLのクエリパラメータを簡単に扱えるようにするライブラリです。2025年9月13日現在多くのスポンサーとコントリビューターが参加しています。 h […]
2025年9月11日 / 最終更新日時 : 2025年9月12日 masaakiota React 【React】データ更新時にスクロールを固定する こんにちは、フリーランスエンジニアの太田雅昭です。 更新の前後でスクロール位置の固定 スクロール位置を固定するには、単純に考えれば以下のような流れとなります。 しかし実際はReactだとレンダリングのタイミングなども考慮 […]
2025年9月10日 / 最終更新日時 : 2025年9月10日 masaakiota Node.js 【Node.js】v24.2で追加されたimport.meta.main こんにちは、フリーランスエンジニアの太田雅昭です。 import.meta.main import.meta.mainは、もともとDenoなどで使用できる独自使用だったのですが、Node.js v24.2.0で正式対応さ […]
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月10日 masaakiota Drizzle 【Drizzle】queryに__typeを埋め込んで型強力にする こんにちは、フリーランスエンジニアの太田雅昭です 以前、DrizzleのViewで__typeを埋め込んで、型を強化する話を書きました。 今回は、Viewを使わずqueryでやってしまおうというお話です。 tableを用 […]