Madogiwa Blog

主に技術系の学習メモに使っていきます。

2025-01-01から1年間の記事一覧

eslint-plugin-unicornの導入してみたので設定方法とかメモ📝

eslint-plugin-unicornを個人のプロジェクトに導入してみたので導入方法とかについてメモ eslint-plugin-unicornとは? eslint-plugin-unicornはモダンなJavaScript/TypeScriptの書き方を促進するためのESLintプラグインで、ESLintには無いモダンな記法やフ…

`js-tiktoken`を使ってJavaScriptでOpenAIのトークン数を計算する方法メモ📝

OpenAIのAPIリクエストを行う際には、トークン数の制限やコスト計算のために正確なトークン数を把握することが重要です。今回はフロントエンド(JavaScript/TypeScript)でトークン数を計算するためにjs-tiktokenライブラリを導入したのでその方法をメモして…

UnoCSS resetパッケージでTailwind CSS Preflightを導入して未来のTailwind採用の余白を持たせるメモ📝

プロジェクトの初期段階でTailwind CSSを導入するかどうか迷うことがあると思いますが、Tailwindのリセットスタイル(Preflight)だけを取り入れておくと今後Tailwindを導入したくなった際にもスムーズに導入できて良いかなと思い、個人的に最近UnoCSS reset…

Nuxt UI + pnpm環境で`tailwindcss`が解決できない問題の解決方法メモ📝

Nuxt UIをpnpm環境で導入した際、tailwindcssが解決できずにエラーとなる事象に遭遇したので、その解決方法をメモ 発生したエラー 原因 解決方法 発生したエラー Nuxt UIの公式ドキュメント通りにセットアップしたものの、下記のようなエラーが発生。 ERROR …

個人開発のvite pluginのバンドラーをrollupからrolldownへ移行してみたので手順をメモ📝

これまでTypeScript製のライブラリ開発でRollupを使っていたが、最近話題のrolldownへビルドツールを移行したので、その手順やハマりどころをメモしておく。 変更内容の概要 移行にあたって主に以下のようなことを実施した。 Rollup関連の依存パッケージ(@r…

`@property`を利用したモダンなCSS変数管理メモ📝

CSSカスタムプロパティ(CSS変数)はすでに多くの開発者に利用されていますが、個人のサービスは@propertyという、より高度な変数管理を行えるCSS at-ruleを使ってみたので使い方をメモ @propertyとは @propertyはCSS Properties and Values API Level 1の一…

Nuxt Content で外部プロジェクトのファイルを取得する方法メモ📝

Nuxt Content は Nuxt.js アプリケーションでコンテンツを管理するための優れたモジュールですが、デフォルトでは現在のプロジェクト内のファイルしか参照できません。しかし、プロジェクト外のファイルを取得したいケースもあります。 今回はそんなときに c…

Nuxt ContentでコンテンツのMarkdown文字列を取得するメモ📝

Nuxt Contentを使って開発していると、パース済みのMarkdown構造ではなく、元の生テキストを取得したいケースがあり、ちょっとハマったのでメモ 結論 公式ドキュメントのRaw Contentに記載の通り、content.config.tsのschemaでrawbodyを指定してあげれば良い…

Ruby on Rails: GoodJobからSolidQueueへの移行したのでメモ📝

個人のRailsアプリケーションで使用しているジョブキューイングライブラリをGoodJobからSolidQueueに移行したので必要だった差分等をメモ SolidQueueとは? Solid Queueのインストール 設定ファイルの更新 マイグレーションの実行 ルーティングの更新 その他…

GitHub Modelsを触ってみたのでメモ📝

以下で公式から公開されているGitHub Modelsを触ってみたのでメモ github.blog GitHub Modelsとは GitHub Modelsの利用方法 Playground APIでの利用 サンプルコード 所感 参考 GitHub Modelsとは 「AI モデルを無料で検索して実験します。」の通り、各種AIモ…

VSCode Devcontainerから「ターミナル: 新しい統合ターミナルを作成 (ローカル)」を実行すると「"/usr/bin/zsh" へのパスが存在しません。」が発生する事象の解決方法メモ📝

VSCode Devcontainerで起動した開発環境から「ターミナル: 新しい統合ターミナルを作成 (ローカル)」を実行して、 ターミナルを開こうとすると「"/usr/bin/zsh" へのパスが存在しません。」が発生してエラーになる事象でハマったので解決方法をメモ 結論 以…

GitHub Copilotのエージェントモードを使ってみた所感メモ📝

最近Cline、CursorといったAIエージェント系の開発支援が盛り上がっているように感じますが、 github.com www.cursor.com 以下のブログの通りGitHub Copilotにもエージェントモードがプレビューで公開されているので触ってみた所感メモ github.blog GitHub C…

vue-tsc v2.2.0からv2.2.2にアップデートした際にuseSlotを使ったコードがエラーになった📝

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…

JavaScript: 大量の非同期リクエストを任意のサイズに分割して並列処理するメモ📝

フロントエンドでAPIリクエストを扱う際、大量のデータを一度に取得するとパフォーマンスに影響を与えることがあります。 単純な非同期リクエストを適切なサイズに分割し、Promise.allを使って効率的に処理するような実装をしたところパフォーマンス改善がで…

Ruby on Rails: annotateからannotaterbに移行するメモ📝

Ruby on Railsを使っていたモデル等のファイルにTableのカラム情報等を載せるgemとしてannotateを使うことが多かったのですが、annotaterbというものがあり、よりメンテもアクティブそうで乗り換えたのでメモ github.com annotaterbとは annotaterbとは以下…

Ruby on Rails: `allow_browser`を使ってサポート外のブラウザからの利用を拒否する

以下の通りRails v7.2からブラウザのバージョン指定で利用をブロックできるallow_browserが追加されました。今回は個人のサービスで設定してみたのでメモ 2.2 Add browser version guard by default Rails now adds the ability to specify the browser vers…

PrimaryのDatabaseでSolidCacheを使うメモ📝

Herokuでホストしている個人サービスのcache storeをSolidCacheに移行したときに軽くハマったのでメモ github.com 基本、既存のRailsアプリケーションをSolidCacheに乗り換えるときには普通にインストールしてbin/rails solid_cache:installを実行して設定フ…

GitHub Actionでheroku-cliを利用したスクリプトで`spawn heroku ENOENT`が発生して失敗するようになった📝

タイトル通り、GitHub Actionへheroku-cliを利用したスクリプトでspawn heroku ENOENTが発生して失敗するようになった 原因としてはGitHub Actionでubuntu-latestを指定した場合にUbuntu v24系のRunner Imageが使われるようになっており、デフォルトでheroku…

Ruby on Rails: strict CSPを採用して管理するようにするメモ📝

CSPの設定を以下のStrict CSPを参考に基本的にはstrict-dynamicを利用して全てのscriptにnonceを付与し、信頼されたscriptから読み込まれたscriptのみを実行するように変更してみたのでメモ web.dev CSPの概要的な話は以下の記事を参考にして下さい。 madogi…

iconifyがいい感じだったので使用方法とか仕組みをメモ📝

個人サービスのアイコン管理として、今まではvue-fontawesomeを使っていたのですが、 github.com iconifyがいい感じだったので乗り換えたメモ github.com iconifyとは? iconifyとは以下の通り、Font Awesome等のオープンソースのiconセットを透過的に利用で…