2025-01-01から1年間の記事一覧
eslint-plugin-unicornを個人のプロジェクトに導入してみたので導入方法とかについてメモ eslint-plugin-unicornとは? eslint-plugin-unicornはモダンなJavaScript/TypeScriptの書き方を促進するためのESLintプラグインで、ESLintには無いモダンな記法やフ…
OpenAIのAPIリクエストを行う際には、トークン数の制限やコスト計算のために正確なトークン数を把握することが重要です。今回はフロントエンド(JavaScript/TypeScript)でトークン数を計算するためにjs-tiktokenライブラリを導入したのでその方法をメモして…
プロジェクトの初期段階でTailwind CSSを導入するかどうか迷うことがあると思いますが、Tailwindのリセットスタイル(Preflight)だけを取り入れておくと今後Tailwindを導入したくなった際にもスムーズに導入できて良いかなと思い、個人的に最近UnoCSS reset…
Nuxt UIをpnpm環境で導入した際、tailwindcssが解決できずにエラーとなる事象に遭遇したので、その解決方法をメモ 発生したエラー 原因 解決方法 発生したエラー Nuxt UIの公式ドキュメント通りにセットアップしたものの、下記のようなエラーが発生。 ERROR …
これまでTypeScript製のライブラリ開発でRollupを使っていたが、最近話題のrolldownへビルドツールを移行したので、その手順やハマりどころをメモしておく。 変更内容の概要 移行にあたって主に以下のようなことを実施した。 Rollup関連の依存パッケージ(@r…
CSSカスタムプロパティ(CSS変数)はすでに多くの開発者に利用されていますが、個人のサービスは@propertyという、より高度な変数管理を行えるCSS at-ruleを使ってみたので使い方をメモ @propertyとは @propertyはCSS Properties and Values API Level 1の一…
Nuxt Content は Nuxt.js アプリケーションでコンテンツを管理するための優れたモジュールですが、デフォルトでは現在のプロジェクト内のファイルしか参照できません。しかし、プロジェクト外のファイルを取得したいケースもあります。 今回はそんなときに c…
Nuxt Contentを使って開発していると、パース済みのMarkdown構造ではなく、元の生テキストを取得したいケースがあり、ちょっとハマったのでメモ 結論 公式ドキュメントのRaw Contentに記載の通り、content.config.tsのschemaでrawbodyを指定してあげれば良い…
個人のRailsアプリケーションで使用しているジョブキューイングライブラリをGoodJobからSolidQueueに移行したので必要だった差分等をメモ SolidQueueとは? Solid Queueのインストール 設定ファイルの更新 マイグレーションの実行 ルーティングの更新 その他…
以下で公式から公開されているGitHub Modelsを触ってみたのでメモ github.blog GitHub Modelsとは GitHub Modelsの利用方法 Playground APIでの利用 サンプルコード 所感 参考 GitHub Modelsとは 「AI モデルを無料で検索して実験します。」の通り、各種AIモ…
VSCode Devcontainerから「ターミナル: 新しい統合ターミナルを作成 (ローカル)」を実行すると「"/usr/bin/zsh" へのパスが存在しません。」が発生する事象の解決方法メモ📝
VSCode Devcontainerで起動した開発環境から「ターミナル: 新しい統合ターミナルを作成 (ローカル)」を実行して、 ターミナルを開こうとすると「"/usr/bin/zsh" へのパスが存在しません。」が発生してエラーになる事象でハマったので解決方法をメモ 結論 以…
最近Cline、CursorといったAIエージェント系の開発支援が盛り上がっているように感じますが、 github.com www.cursor.com 以下のブログの通りGitHub Copilotにもエージェントモードがプレビューで公開されているので触ってみた所感メモ github.blog GitHub C…
vue-tsc v2.2.0からv2.2.2にアップデートした際にuseSlotを使ったコードで以下のようなエラーが発生した。 github.com app/frontend/components/ui/Card.vue:27:7 - error TS7022: 'slots' implicitly has type 'any' because it does not have a type annot…
フロントエンドでAPIリクエストを扱う際、大量のデータを一度に取得するとパフォーマンスに影響を与えることがあります。 単純な非同期リクエストを適切なサイズに分割し、Promise.allを使って効率的に処理するような実装をしたところパフォーマンス改善がで…
Ruby on Railsを使っていたモデル等のファイルにTableのカラム情報等を載せるgemとしてannotateを使うことが多かったのですが、annotaterbというものがあり、よりメンテもアクティブそうで乗り換えたのでメモ github.com annotaterbとは annotaterbとは以下…
以下の通りRails v7.2からブラウザのバージョン指定で利用をブロックできるallow_browserが追加されました。今回は個人のサービスで設定してみたのでメモ 2.2 Add browser version guard by default Rails now adds the ability to specify the browser vers…
Herokuでホストしている個人サービスのcache storeをSolidCacheに移行したときに軽くハマったのでメモ github.com 基本、既存のRailsアプリケーションをSolidCacheに乗り換えるときには普通にインストールしてbin/rails solid_cache:installを実行して設定フ…
タイトル通り、GitHub Actionへheroku-cliを利用したスクリプトでspawn heroku ENOENTが発生して失敗するようになった 原因としてはGitHub Actionでubuntu-latestを指定した場合にUbuntu v24系のRunner Imageが使われるようになっており、デフォルトでheroku…
CSPの設定を以下のStrict CSPを参考に基本的にはstrict-dynamicを利用して全てのscriptにnonceを付与し、信頼されたscriptから読み込まれたscriptのみを実行するように変更してみたのでメモ web.dev CSPの概要的な話は以下の記事を参考にして下さい。 madogi…
個人サービスのアイコン管理として、今まではvue-fontawesomeを使っていたのですが、 github.com iconifyがいい感じだったので乗り換えたメモ github.com iconifyとは? iconifyとは以下の通り、Font Awesome等のオープンソースのiconセットを透過的に利用で…