<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ToolNote</title><description>現役エンジニアが実務で使ったAIツール・開発ツールを忖度なしでレビュー。Claude Code・Cursor などの比較、つまずきポイントの解決Tipsを毎日更新。</description><link>https://toolnote.shigure.studio/</link><language>ja</language><item><title>個人開発SaaSを月額ほぼ0円で動かす Cloudflare Pages＋D1構成ガイド</title><link>https://toolnote.shigure.studio/posts/individual-saas-cloudflare-pages-d1-low-cost/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/individual-saas-cloudflare-pages-d1-low-cost/</guid><description>個人開発SaaSの初期コスト問題をCloudflare Pages・D1・Workers・R2だけで解決する構成図と実装パターンを紹介。無料枠の範囲内で本番運用できる低コストインフラの全体像を具体的に解説します。</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate><category>Cloudflare</category><category>CloudflarePages</category><category>D1</category><category>個人開発</category><category>SaaS</category></item><item><title>Expo Router v3 で認証ルーティングを実装する方法【実例あり】</title><link>https://toolnote.shigure.studio/posts/expo-router-v3-auth-routing/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/expo-router-v3-auth-routing/</guid><description>Expo Router v3のファイルベースルーティングで認証フローを実装する方法を解説。未認証リダイレクト・ログイン後遷移・タブ内スタックを組み合わせた実践的なコード例と手順をエンジニア目線で紹介します。</description><pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate><category>Expo</category><category>ExpoRouter</category><category>ReactNative</category><category>認証</category><category>ルーティング</category></item><item><title>TypeScript any撲滅リファクタリング：strictモード移行から CI強制化まで</title><link>https://toolnote.shigure.studio/posts/typescript-any-eradication-refactoring/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/typescript-any-eradication-refactoring/</guid><description>既存TypeScriptコードベースに蔓延する`any`を段階的に除去する具体的な手順を解説。tsconfig strictモード移行、eslint-plugin-@typescript-eslint活用、CIでの型チェック強制化まで実践的にカバーします。</description><pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate><category>TypeScript</category><category>リファクタリング</category><category>型安全</category><category>CI-CD</category><category>ESLint</category></item><item><title>Cursorエディタ おすすめ設定で生産性を最大化する完全ガイド</title><link>https://toolnote.shigure.studio/posts/cursor-editor-settings-productivity/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/cursor-editor-settings-productivity/</guid><description>AIエディタCursorの初期設定・ルールファイル・プロンプト設計を徹底解説。VSCodeからの乗り換え判断材料も紹介。実務で効果のある設定を厳選し、すぐ使えるサンプルコード付きで解説します。</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate><category>Cursor</category><category>AIエディタ</category><category>VSCode</category><category>生産性向上</category><category>開発環境</category><category>Claude</category></item><item><title>Cloudflare Workers AI 無料枠でLLM推論をゼロコスト運用する実装手順</title><link>https://toolnote.shigure.studio/posts/cloudflare-workers-ai-free-tier-guide/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/cloudflare-workers-ai-free-tier-guide/</guid><description>Cloudflare Workers AIの無料枠（1日10,000リクエスト）を活用してLLM推論をゼロコストで動かす方法を、実際のコードと手順でステップバイステップ解説。個人開発者が最初に試すべきモデル選定や料金の注意点も紹介。</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate><category>Cloudflare</category><category>Workers AI</category><category>LLM</category><category>個人開発</category><category>AI</category></item><item><title>GitHub Copilot vs Claude コーディング精度を3軸で実測比較【副業エンジニア向け】</title><link>https://toolnote.shigure.studio/posts/github-copilot-vs-claude-coding-comparison/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/github-copilot-vs-claude-coding-comparison/</guid><description>GitHub CopilotとClaude（AI）をコード補完・コードレビュー・リファクタリングの3軸で実測比較。副業エンジニアがどちらに課金すべきか、具体的なコード例と結論を先に示して解説します。</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>GitHub Copilot</category><category>Claude</category><category>AIコーディング</category><category>コード補完</category><category>開発ツール比較</category></item><item><title>プログラミング独学におすすめの本｜挫折しない学習順と選び方</title><link>https://toolnote.shigure.studio/posts/programming-dokugaku-hon-osusume/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/programming-dokugaku-hon-osusume/</guid><description>プログラミングを独学する人におすすめの本と学習順を現役エンジニアが解説。最初の1冊の選び方、写経のコツ、名著を積ん読にしないための読み方まで、挫折を防ぐ指針をまとめる。</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>プログラミング</category><category>独学</category><category>技術書</category></item><item><title>TypeScript入門書のおすすめ｜現場で本当に役立つ学習順と選び方</title><link>https://toolnote.shigure.studio/posts/typescript-nyumonsho-osusume/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/typescript-nyumonsho-osusume/</guid><description>現役エンジニアが選ぶTypeScript入門書のおすすめと学習順を解説。型の基礎から実務で効く設計まで、挫折しない読み方と本の選び方をまとめる。独学者向けの指針も。</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>TypeScript</category><category>技術書</category><category>学習</category></item><item><title>Expo EASローカルビルドが遅い原因と高速化の実践Tips</title><link>https://toolnote.shigure.studio/posts/expo-eas-build-local-speedup/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/expo-eas-build-local-speedup/</guid><description>Expo EAS Buildのローカルビルドが遅い原因を構造から解説し、キャッシュ活用・Gradle設定・依存関係の最適化など実践的な高速化Tipsを具体的なコード例とともに紹介します。</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><category>Expo</category><category>EAS Build</category><category>React Native</category><category>Android</category><category>iOS</category></item><item><title>個人開発でアフィリエイト収益を作る現実的な始め方【エンジニア向け】</title><link>https://toolnote.shigure.studio/posts/indie-dev-affiliate-monetize-guide/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/indie-dev-affiliate-monetize-guide/</guid><description>個人開発のマネタイズにアフィリエイトを選ぶ理由と、エンジニアが実際に収益を出すまでの現実的な道筋を解説。ASPの選び方・記事設計・サイト構成のコツまで具体的にまとめました。</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><category>個人開発</category><category>マネタイズ</category><category>アフィリエイト</category><category>副業</category><category>Webサービス</category></item><item><title>React Native副業案件の始め方｜学習ロードマップと現実を解説</title><link>https://toolnote.shigure.studio/posts/react-native-freelance-roadmap/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/react-native-freelance-roadmap/</guid><description>React Nativeで副業案件を取るまでの学習ロードマップを実体験をもとに解説。必要なスキルセット、案件の相場、Expo/EASの使い方、クラウドソーシングでの獲得方法まで現実的な視点で紹介します。</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><category>React Native</category><category>Expo</category><category>副業</category><category>フリーランス</category><category>モバイル開発</category></item><item><title>Bashで全角文字の直後に「unbound variable」が出る謎エラーの正体</title><link>https://toolnote.shigure.studio/posts/bash-unbound-variable-multibyte/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/bash-unbound-variable-multibyte/</guid><description>set -u のBashスクリプトで $VAR の直後に全角括弧を置くと unbound variable になる。マルチバイト先頭バイトが変数名に巻き込まれるのが原因。${VAR} で囲む解決策と検出方法を解説。</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate><category>Bash</category><category>シェルスクリプト</category><category>Linux</category></item><item><title>EAS Buildでプロファイルごとに証明書を切り替える唯一の実用的な方法</title><link>https://toolnote.shigure.studio/posts/eas-build-local-credentials/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/eas-build-local-credentials/</guid><description>eas.jsonのcredentialsSource: localは常にプロジェクトルートのcredentials.jsonを固定参照する。dev/本番でProvisioning Profileを使い分ける実践的な手順を、実際にハマった経験から解説する。</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate><category>EAS</category><category>Expo</category><category>React Native</category><category>iOS</category></item><item><title>macOSの.appが起動直後にクラッシュする — SwiftPMのrpath問題と直し方</title><link>https://toolnote.shigure.studio/posts/macos-app-rpath-crash/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/macos-app-rpath-crash/</guid><description>SwiftPMでビルドした.appにframeworkを同梱すると@rpathを解決できず起動即クラッシュする。install_name_toolでrpathを追加する正しい手順と、診断方法を実体験から解説。</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>macOS</category><category>Swift</category><category>SwiftPM</category><category>コード署名</category></item><item><title>Cloudflare Workersでprocess.envが使えない理由と環境変数の正しい扱い方</title><link>https://toolnote.shigure.studio/posts/cloudflare-workers-process-env/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/cloudflare-workers-process-env/</guid><description>Cloudflare Workersでprocess.envがundefinedになるのは仕様。バインディング(env)経由で渡す正しい設計と、グローバル定数でハマる典型パターンの回避策を実例で解説する。</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate><category>Cloudflare</category><category>Workers</category><category>TypeScript</category><category>環境変数</category></item><item><title>Auth.js (NextAuth v5) をCloudflare Workersで動かすときのtrustHost設定</title><link>https://toolnote.shigure.studio/posts/authjs-cloudflare-workers-trusthost/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/authjs-cloudflare-workers-trusthost/</guid><description>Auth.jsをCloudflare Workersで動かすとAUTH_URLが読めずホスト判定に失敗する。trustHost: trueの必要性と、@auth/d1-adapterがテーブルを自動作成しない落とし穴を実例で解説する。</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate><category>Cloudflare</category><category>Workers</category><category>Auth.js</category><category>NextAuth</category></item><item><title>Cloudflare R2のカスタムドメインで上書きしてもファイルが更新されない</title><link>https://toolnote.shigure.studio/posts/cloudflare-r2-immutable-cache-purge/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/cloudflare-r2-immutable-cache-purge/</guid><description>R2のカスタムドメイン配信でimmutableキャッシュを付けると、同名ファイルを上書きしてもCDNが古い実体を配り続ける。原因の切り分けとパージ手順、そもそも踏まないための設計を解説する。</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><category>Cloudflare</category><category>R2</category><category>CDN</category><category>キャッシュ</category></item><item><title>eas build --localで設定ファイルが反映されない原因はgit untracked</title><link>https://toolnote.shigure.studio/posts/eas-build-local-untracked-files/</link><guid isPermaLink="true">https://toolnote.shigure.studio/posts/eas-build-local-untracked-files/</guid><description>eas build --localはgit archiveベースでコピーするため、コミットしていないapp.config.tsなどのuntrackedファイルはビルドに含まれない。原因と確実な回避策を実体験から解説する。</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate><category>EAS</category><category>Expo</category><category>React Native</category><category>Git</category></item></channel></rss>