kokh log

yumikokhの開発日記

シェルスクリプトの文字列と変数の扱い

下記のように、jsonの中で変数展開するスクリプトが通らなくてハマったのでメモ > curl --location "https://example/api" \ --header "Authorization: Bearer ${SECRET_KEY}" \ --header "Content-Type: application/json" \ --data '{ "page": { "page_id"…

Zodを使った複雑な型検証

複雑な型をもつ値に対する整形関数を作成した際、zodが便利だったので、注意点とともに紹介します。 やりたいこと ユーザー情報を表すオブジェクトから、田中 太郎, 山田 花子 のような形に整形するための関数 formatFullNames を作成します。 [{ lastName: …

asdfでNodejsのVersionをあげてpnpmを有効にする

去年anyenvからasdfに乗り換えて以降、プロジェクトのNode.jsのバージョンが変わるたびに呪文的に下記のコマンドを実行していたため、改めて調べました。 asdf install nodejs {version} corepack enable asdf reshim nodejs 最後にreshimをしないとpnpm呼び…

LightroomとLightroom Classicの同期設定

LightroomからLightroom Classicへ移行するにあたり、同期まわりの仕組みを理解するのに大変苦しんだので、記録を残しておきます。 ようやくこれだという情報をシェアしてくださっているYouTubeを見つけ(ただし英語)、なんとか理想の形で移行ができました…

オーバーロード関数で引数の型によって返り値を変える

はじめに 突然ですが、下記のような関数があったとします。(できるだけシンプルな形にするために実際にはありえなさそうな関数になっています) function fn(value: string, opt?: string ) { if (typeof opt === "string") { return [opt] } return value …

Toggl Track のタイマーをAPI経由で開始する

Toggl Trackは、タイマーを使って作業時間を計測することができるサービスです。 マルチデバイスで使用でき、使い心地もとても良く、自分だけで使うには十分な機能が無料で利用できます。 iOSショートカットとしてもタイマーの起動や停止が用意されているの…

テスト用のStorybook Buildを高速化する

Storybookをテスト目的でbuildする際、--test フラグをつけることで、テストに必要のない機能を生成物から取り除くことができ、テストの実行速度をあげることができます。 $ storybook build --test .storybook/main.ts で個別に生成物の設定ができるオプシ…

Vercel CLIから環境変数を設定する

Vercel のdashboardを経由せずに、Vercel CLIから環境変数を設定することができます。 使い方 Vercel CLIはインストールされている前提で進めます。 クラウドへ環境変数を設定 $ vercel env add ${KEY} ここから対話形式で値とセットする環境を選択すること…

Notion日報の更新を簡単にする

背景 2024年1月にNotionCalendarが登場したことがきっかけで、すべてのタスク管理をNotionに一元化しました。 ただ、Notionはかなり高性能であるがゆえ、シンプルなテキストエディタに比べとっさのメモをとるときに腰の重さを課題に感じていました。 ページ…

VSCodeのZenModeでマークダウンを書く環境設定

記事をNotionで書いてはてなに貼り付けてましたが、VSCodeで書いたほうが速く書けそうだなと思い準備しました。 やったこと mdの構文チェックを有効化 こちらは割愛しますが、とりあえずmarkdownlintをいれました。 もともと下記の設定をしていたので、保存…