Kenji

Kenji

Engineer / 合同会社irori

合同会社iroriのエンジニア。Rails / Next.js / AWS を中心とした受託開発と、生成AIを使った開発フローの整備を担当しています。このブログでは、実際に自分の環境で試した手順や、詰まったポイントと解決までの記録を書いています。

Kenjiの記事(98件)

irori Blog に投稿した記事の一覧です。

[個人開発] Plaud脳内Wikiを実運用に乗せてみた — Web UIを足して、名寄せと格闘中

[個人開発] Plaud脳内Wikiを実運用に乗せてみた — Web UIを足して、名寄せと格闘中

[レビュー] PLAUD Note Pro を3週間使ってみた — 「録音、自動で始まる」が想像以上に効く

[レビュー] PLAUD Note Pro を3週間使ってみた — 「録音、自動で始まる」が想像以上に効く

[AGENTS.md] 並列AI開発に耐えるリポジトリの作り方

[AGENTS.md] 並列AI開発に耐えるリポジトリの作り方

[Claude Code] 検索から消えたサイトの再発防止に、記事のリリース判定をClaudeのCIに任せた(ハマり2つ付き)

[Claude Code] 検索から消えたサイトの再発防止に、記事のリリース判定をClaudeのCIに任せた(ハマり2つ付き)

[Orca] worktreeを増やしすぎて破綻した私を救ったツール

[Orca] worktreeを増やしすぎて破綻した私を救ったツール

[個人開発] Plaudの議事録から「自分の脳内Wiki」を作って、MCPでClaudeに繋いだ話

[個人開発] Plaudの議事録から「自分の脳内Wiki」を作って、MCPでClaudeに繋いだ話

[SEO] サーチコンソールの流入が突然ゼロに。技術要因を全部潰したら「サイトは無実」だった話

[SEO] サーチコンソールの流入が突然ゼロに。技術要因を全部潰したら「サイトは無実」だった話

[Git] AI駆動開発で必須の git worktree、使えてますか?

[Git] AI駆動開発で必須の git worktree、使えてますか?

【Next.js】LINE LIFFとNextAuthを活用したシームレスな認証基盤の構築とローカル開発環境

【Next.js】LINE LIFFとNextAuthを活用したシームレスな認証基盤の構築とローカル開発環境

【Rails】重いページが劇的に改善!運用中RailsアプリにおけるN+1問題との戦いと解決のベストプラクティス

【Rails】重いページが劇的に改善!運用中RailsアプリにおけるN+1問題との戦いと解決のベストプラクティス

【Antigravity】エージェントがターミナル操作に失敗する?v1.22.2の不具合と「最速の回避策」

【Antigravity】エージェントがターミナル操作に失敗する?v1.22.2の不具合と「最速の回避策」

Ruby (x gem) を使ったTwitter(X) APIへの画像付き投稿:知られざる落とし穴と完全解決ガイド

Ruby (x gem) を使ったTwitter(X) APIへの画像付き投稿:知られざる落とし穴と完全解決ガイド

【完全版】Googleマイマップを使いこなす!自分だけの「オリジナル地図」作成術とKMLを使った裏ワザ

【完全版】Googleマイマップを使いこなす!自分だけの「オリジナル地図」作成術とKMLを使った裏ワザ

[GitHub Actions] mainブランチプッシュでiOSアプリをTestFlightに自動デプロイする

[GitHub Actions] mainブランチプッシュでiOSアプリをTestFlightに自動デプロイする

新アプリ「MeetingMate」をリリースしました

新アプリ「MeetingMate」をリリースしました

[Claude Code] Agent Teams 機能を使ってみたぞ!

[Claude Code] Agent Teams 機能を使ってみたぞ!

[Google Maps] Google Mapsで日本の公共交通機関での所要時間を取得する方法(非推奨)

[Google Maps] Google Mapsで日本の公共交通機関での所要時間を取得する方法(非推奨)

[レビュー] 2年くらい待ってようやくNaya Createが届いたのでしばらく使ってのレビューをしてみます

[レビュー] 2年くらい待ってようやくNaya Createが届いたのでしばらく使ってのレビューをしてみます

[react] CVE-2025-55182に対応しようねという警告と複数リポジトリから当てはまるものを洗い出すスクリプトを共有します

[react] CVE-2025-55182に対応しようねという警告と複数リポジトリから当てはまるものを洗い出すスクリプトを共有します

[生成AI] Difyのセルフホストを立ち上げた時に詰まったポイント

[生成AI] Difyのセルフホストを立ち上げた時に詰まったポイント

[生成AI] Antigravityが出たので早速触ってみたよ

[生成AI] Antigravityが出たので早速触ってみたよ

[AWS] RDSがなんかやたら遅い時に確認すること

[AWS] RDSがなんかやたら遅い時に確認すること

[Codex IDE] VS Code ユーザーが Claude Code から Codex に乗り換えてみる時の手順書

[Codex IDE] VS Code ユーザーが Claude Code から Codex に乗り換えてみる時の手順書

[生成AI] 2025/10 中旬時点での Spec Driven バイブコーディングフローを整理してみた

[生成AI] 2025/10 中旬時点での Spec Driven バイブコーディングフローを整理してみた

[生成AI] Web開発に有効なMCP5選

[生成AI] Web開発に有効なMCP5選

[Claude Code] コミットメッセージを考えるのがめんどくさいのでAIに書かせてみた

[Claude Code] コミットメッセージを考えるのがめんどくさいのでAIに書かせてみた

[ポエム] Vibeコーディングに慣れてきて動的型付け言語を書くのがしんどくなってきた話

[ポエム] Vibeコーディングに慣れてきて動的型付け言語を書くのがしんどくなってきた話

[生成AI] RAGアプリを作った時の「システムプロンプト設計」4つの勘所

[生成AI] RAGアプリを作った時の「システムプロンプト設計」4つの勘所

[Python] Rust 製パッケージマネージャ uv と Python 公式 pip を徹底比較!

[Python] Rust 製パッケージマネージャ uv と Python 公式 pip を徹底比較!

[Claude] Claude Codeが良すぎてCursorからVSCodeに戻ります

[Claude] Claude Codeが良すぎてCursorからVSCodeに戻ります

[Claude] Claude CodeをGitHub Actions内で使いこなす

[Claude] Claude CodeをGitHub Actions内で使いこなす

[ChatGPT] codex 環境を指定の Ruby バージョンで使い倒す

[ChatGPT] codex 環境を指定の Ruby バージョンで使い倒す

[TypeScript] npm packageを自作してみた

[TypeScript] npm packageを自作してみた

[MCP] CursorでMCPサーバーを試してみた(GitHub API・Notion API 編)

[MCP] CursorでMCPサーバーを試してみた(GitHub API・Notion API 編)

[生成AI] GitHub CopilotからCursorに乗り換えました

[生成AI] GitHub CopilotからCursorに乗り換えました

[生成AI] デザイナー版Cursorと言われるOnlookをエンジニアが触ってみた

[生成AI] デザイナー版Cursorと言われるOnlookをエンジニアが触ってみた

[AWS] AWS CDKでNext.jsのSSGでCloudFrontとS3にデプロイする

[AWS] AWS CDKでNext.jsのSSGでCloudFrontとS3にデプロイする

[AWS] API GatewayでS3にファイルをアップロードする

[AWS] API GatewayでS3にファイルをアップロードする

[Rails] Rails8の新機能、Solid Queueを試してみる

[Rails] Rails8の新機能、Solid Queueを試してみる

[Rails] Rails8で導入されたAuthenticationを試してみたが導入を見送った話

[Rails] Rails8で導入されたAuthenticationを試してみたが導入を見送った話

[AWS] GenU(Generative AI Use Cases JP)でAWS × 生成AI入門してみた

[AWS] GenU(Generative AI Use Cases JP)でAWS × 生成AI入門してみた

[Moodle] Moodleを活用するためのTips

[Moodle] Moodleを活用するためのTips

[Stripe] 確定後の見積書が不可避な理由で変更になってしまった場合

[Stripe] 確定後の見積書が不可避な理由で変更になってしまった場合

[AWS] AWSのrootアカウントを引き継ぐ時の作業

[AWS] AWSのrootアカウントを引き継ぐ時の作業

スライド作成もAIで?Gammaが便利かもしれない

スライド作成もAIで?Gammaが便利かもしれない

年金の追納制度について調べてみたので備忘録

年金の追納制度について調べてみたので備忘録

[Nodejs]Next.jsとPrismaでモノリポ構成を試してみる

[Nodejs]Next.jsとPrismaでモノリポ構成を試してみる

君たちはNotebookLMを知っているか

君たちはNotebookLMを知っているか

[Figma]ついに出た!Figma Slides触ってみた所感

[Figma]ついに出た!Figma Slides触ってみた所感

[Rails]insert_allの返り値に注意しないといけないよって話

[Rails]insert_allの返り値に注意しないといけないよって話

[AWS] DockerとPythonを利用してAWS CodeCommitからコードをPullする方法

[AWS] DockerとPythonを利用してAWS CodeCommitからコードをPullする方法

[Rails] ActionCableを活用してSocket通信する

[Rails] ActionCableを活用してSocket通信する

[Rails] 特定の条件でデータを取得する時のサブクエリの書き方

[Rails] 特定の条件でデータを取得する時のサブクエリの書き方

[Bookレビュー] 面倒なことはChatGPTにやらせよう

[Bookレビュー] 面倒なことはChatGPTにやらせよう

[Moodle] bitnamiのimageベースのMoodleをEC2上に立てたときにupload制限を修正する方法

[Moodle] bitnamiのimageベースのMoodleをEC2上に立てたときにupload制限を修正する方法

[Rails]爆速開発を支える秘伝のタレを公開します

[Rails]爆速開発を支える秘伝のタレを公開します

[Rails] RBSを導入してみるぞ

[Rails] RBSを導入してみるぞ

(たぶん)猿でもわかるSKAdNetworkの概要

(たぶん)猿でもわかるSKAdNetworkの概要

[Bookレビュー] 現場のプロから学ぶSEO技術バイブル

[Bookレビュー] 現場のプロから学ぶSEO技術バイブル

[Bookレビュー] 数理モデル思考で紐解くRULE DESIGN

[Bookレビュー] 数理モデル思考で紐解くRULE DESIGN

[Rails] StimulusJSとTOAST UIでカレンダーを表示してみる

[Rails] StimulusJSとTOAST UIでカレンダーを表示してみる

[HTML, CSS] コンポーネント時代のHTML, CSSの設計思想をまとめてみる

[HTML, CSS] コンポーネント時代のHTML, CSSの設計思想をまとめてみる

[Rails] 中間テーブルで並び順を制御したい時におすすめのTips

[Rails] 中間テーブルで並び順を制御したい時におすすめのTips

[Rails] Stripeから発行できる見積書をActiveStorageに保存する

[Rails] Stripeから発行できる見積書をActiveStorageに保存する

jqコマンドでとりあえずこのパラメータよこせ!って思った時にやること

jqコマンドでとりあえずこのパラメータよこせ!って思った時にやること

複数アプリで共通ユーザーデータを保持する設計パターン3選

複数アプリで共通ユーザーデータを保持する設計パターン3選

[Rails] multi DBでridgepoleのタスクを実行する

[Rails] multi DBでridgepoleのタスクを実行する

[レビュー] OpenRun(Shokz)を半年使用して継続利用を諦めました

[レビュー] OpenRun(Shokz)を半年使用して継続利用を諦めました

[Bookレビュー]童話でわかるプロジェクトマネジメントを読んだので感想をまとめる

[Bookレビュー]童話でわかるプロジェクトマネジメントを読んだので感想をまとめる

[Rails]mySQL8.0のデフォルトのcollationとActiveRecordの差分に困った話

[Rails]mySQL8.0のデフォルトのcollationとActiveRecordの差分に困った話

[Moodle]MoodleのREST APIを叩いてMoodleのアカウントを作成する

[Moodle]MoodleのREST APIを叩いてMoodleのアカウントを作成する

[Rails]development環境でPumaのsocketをbindしたらforemanのせいでできなかった話

[Rails]development環境でPumaのsocketをbindしたらforemanのせいでできなかった話

[Rails7.0] GoogleMapの地図上のピンをクリックすると発火するイベントをHotwireで拾う

[Rails7.0] GoogleMapの地図上のピンをクリックすると発火するイベントをHotwireで拾う

[Rails 7.0] Stimulusのコントローラーとりあえず作っとけ5選を公開します

[Rails 7.0] Stimulusのコントローラーとりあえず作っとけ5選を公開します

[Rails] ransackを4.0.0にupdateしたときにハマったこと

[Rails] ransackを4.0.0にupdateしたときにハマったこと

[Rails] OGP画像の作成をrmagickからimage_processing内のlibvipsに乗り換える

[Rails] OGP画像の作成をrmagickからimage_processing内のlibvipsに乗り換える

[Rails] omniauthしかログイン手段がなかったアプリにメールアドレスログインを実装する

[Rails] omniauthしかログイン手段がなかったアプリにメールアドレスログインを実装する

RailsでGoogle mapから住所データを作成する

RailsでGoogle mapから住所データを作成する

RailsでLIFFアプリを作る

RailsでLIFFアプリを作る

RailsでGoogle mapの位置情報を扱うモデルを作成する

RailsでGoogle mapの位置情報を扱うモデルを作成する

ContentfulとmicroCMSをRailsに導入してみた所感

ContentfulとmicroCMSをRailsに導入してみた所感

microCMSをrailsで使う

microCMSをrailsで使う

[React] Next.jsでブログ(会社HP)をつくるぞ!④postに付随するyaml情報を好きな形式に変更しよう

[React] Next.jsでブログ(会社HP)をつくるぞ!④postに付随するyaml情報を好きな形式に変更しよう

[React] Next.jsでブログ(会社HP)をつくるぞ!③markdownパーサーをzennに移行しよう

[React] Next.jsでブログ(会社HP)をつくるぞ!③markdownパーサーをzennに移行しよう

[React] Next.jsでブログ(会社HP)をつくるぞ!②blog-starterサンプル内の構成を理解しよう

[React] Next.jsでブログ(会社HP)をつくるぞ!②blog-starterサンプル内の構成を理解しよう

[Bookレビュー] 『これからはじめるFigma Web・UIデザイン入門』をエンジニアが読んで実践してみた

[Bookレビュー] 『これからはじめるFigma Web・UIデザイン入門』をエンジニアが読んで実践してみた

PostgresのGUI使うならpgwebが便利だよって話

PostgresのGUI使うならpgwebが便利だよって話

devContainerでDockerかつforemanなrailsプロジェクトをdebugする

devContainerでDockerかつforemanなrailsプロジェクトをdebugする

[React] Next.jsでブログ(会社HP)をつくるぞ!①テンプレートを選んで、ローカルで起動しよう

[React] Next.jsでブログ(会社HP)をつくるぞ!①テンプレートを選んで、ローカルで起動しよう

[Rails] view_componentというgemがすごく便利なので紹介します

[Rails] view_componentというgemがすごく便利なので紹介します

[Hotwire] turbo_frame_tagで非同期いいねボタンを実装する

[Hotwire] turbo_frame_tagで非同期いいねボタンを実装する

[TypeScript] BoltでSlack Appを作成する ⑥slackの投稿にスタンプで返信するとTwitterに投稿する

[TypeScript] BoltでSlack Appを作成する ⑥slackの投稿にスタンプで返信するとTwitterに投稿する

[TypeScript] BoltでSlack Appを作成する ⑤Slack上でスタンプを押すとNotionに保存する

[TypeScript] BoltでSlack Appを作成する ⑤Slack上でスタンプを押すとNotionに保存する

[TypeScript] BoltでSlack Appを作成する ④Notion APIを叩いてタスク一覧を取得する

[TypeScript] BoltでSlack Appを作成する ④Notion APIを叩いてタスク一覧を取得する

[TypeScript] BoltでSlack Appを作成する ③GitHub APIを叩いてGAEにデプロイする

[TypeScript] BoltでSlack Appを作成する ③GitHub APIを叩いてGAEにデプロイする

[TypeScript] BoltでSlack Appを作成する ②GAEにGitHub Actionsでデプロイする

[TypeScript] BoltでSlack Appを作成する ②GAEにGitHub Actionsでデプロイする

[TypeScript] BoltでSlack Appを作成する ①ローカルで動かそう

[TypeScript] BoltでSlack Appを作成する ①ローカルで動かそう

StoryBook触ってみるぞ

StoryBook触ってみるぞ