<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[nitakingさんのフィード]]></title><description><![CDATA[Zennのnitakingさん（@nitaking）のRSSフィードです]]></description><link>https://zenn.dev/nitaking</link><image><url>https://lh3.googleusercontent.com/a-/AOh14GjCMd6Wrm4Aq99nClAMt54uIe0OvuX_NEwPY4IKRw=s250-c</url><title>nitakingさんのフィード</title><link>https://zenn.dev/nitaking</link></image><generator>zenn.dev</generator><lastBuildDate>Wed, 20 May 2026 05:15:56 GMT</lastBuildDate><atom:link href="https://zenn.dev/nitaking/feed" rel="self" type="application/rss+xml"/><language><![CDATA[ja]]></language><item><title><![CDATA[複数リポジトリの ⁠.env を一括で書き換える Shell スクリプト]]></title><description><![CDATA[!
このスクリプトは AI に生成させたものです。動作確認はしていますが、コードの理解・改善を目的としたアーカイブとして残しています。
また、大部分の文章をAI（Claude Sonnet）にて作成しています。ご了承ください。


 なぜ作ったか（作らせたか）
.env管理しているイメージパスの一括置換が必要になりました。
複数リポジトリで一気に変えたい、特にgit管理できていない.envファイル群だったので、確認しながら置換したいというニーズで生成しました。
割とよかったのと生成物をリバースエンジニアリングしながら理解するという学習スタイルで消化させます。




ツール
インストール...]]></description><link>https://zenn.dev/nitaking/articles/d33363243f53c3</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/d33363243f53c3</guid><pubDate>Mon, 27 Apr 2026 06:14:04 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--1qeQuEAK--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E8%25A4%2587%25E6%2595%25B0%25E3%2583%25AA%25E3%2583%259D%25E3%2582%25B8%25E3%2583%2588%25E3%2583%25AA%25E3%2581%25AE%2520%25E2%2581%25A0.env%2520%25E3%2582%2592%25E4%25B8%2580%25E6%258B%25AC%25E3%2581%25A7%25E6%259B%25B8%25E3%2581%258D%25E6%258F%259B%25E3%2581%2588%25E3%2582%258B%2520Shell%2520%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%2597%25E3%2583%2588%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[Docker / Hostの環境差を吸収するスクリプト]]></title><description><![CDATA[Dokcer内外でスクリプトを生やすのが億劫になったので、作成しました。
具体的には、以下で判定しています。


/.dockerenv — Dockerがコンテナ作成時に自動生成するファイル。

$REMOTE_CONTAINERS — VS Code Remote Containers拡張が設定する環境変数

$DEVCONTAINER — DevContainer環境が設定する環境変数


 .mise/scripts/exec.sh
#!/usr/bin/env bash
# Detect execution environment and run command accordi...]]></description><link>https://zenn.dev/flierinc/articles/55281c324d5bf3</link><guid isPermaLink="true">https://zenn.dev/flierinc/articles/55281c324d5bf3</guid><pubDate>Wed, 25 Mar 2026 03:02:14 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--CfVBi6pR--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Docker%2520%252F%2520Host%25E3%2581%25AE%25E7%2592%25B0%25E5%25A2%2583%25E5%25B7%25AE%25E3%2582%2592%25E5%2590%25B8%25E5%258F%258E%25E3%2581%2599%25E3%2582%258B%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%2597%25E3%2583%2588%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:nitaking%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzY1NzlmMWQxMjcuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:%25E6%25A0%25AA%25E5%25BC%258F%25E4%25BC%259A%25E7%25A4%25BE%25E3%2583%2595%25E3%2583%25A9%25E3%2582%25A4%25E3%2583%25A4%25E3%2583%25BC%2520Tech%2520Blog%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[特定Branchの特定ファイルのみを現在のBranchに取得する方法]]></title><description><![CDATA[git diffとgit checkoutでBranchとfile-pathを指定できる。

 git diff

# 1つのファイルの差分確認
git diff &lt;target-branch&gt; -- &lt;file-path&gt;

# 複数ファイルの差分確認  
git diff &lt;target-branch&gt; -- &lt;directory-path&gt;/

# パターンマッチでの差分確認
git diff &lt;target-branch&gt; -- 'src/**/*.tsx'

 git checkout

# 特定ファイルを他ブランチか...]]></description><link>https://zenn.dev/nitaking/articles/2a7898d56213dd</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/2a7898d56213dd</guid><pubDate>Wed, 03 Sep 2025 06:38:42 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--L8Ai1iJN--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E7%2589%25B9%25E5%25AE%259ABranch%25E3%2581%25AE%25E7%2589%25B9%25E5%25AE%259A%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%25E3%2583%25AB%25E3%2581%25AE%25E3%2581%25BF%25E3%2582%2592%25E7%258F%25BE%25E5%259C%25A8%25E3%2581%25AEBranch%25E3%2581%25AB%25E5%258F%2596%25E5%25BE%2597%25E3%2581%2599%25E3%2582%258B%25E6%2596%25B9%25E6%25B3%2595%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【UX】タッチエリアイベントの拡大【CSS】]]></title><description><![CDATA[.touch-target {
    position: relative;
}

.touch-target::before {
    content: '';
    position: absolute;
    top: -8px;
    left: -16px;
    right: -16px;
    bottom: -8px;
}


擬似要素::beforeでタッチ領域のみを拡張
タッチエリア対象に合わせて範囲はご調整を

]]></description><link>https://zenn.dev/nitaking/articles/ca9e2e5effa4fc</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/ca9e2e5effa4fc</guid><pubDate>Tue, 22 Jul 2025 07:26:31 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--BhN8QV6c--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590UX%25E3%2580%2591%25E3%2582%25BF%25E3%2583%2583%25E3%2583%2581%25E3%2582%25A8%25E3%2583%25AA%25E3%2582%25A2%25E3%2582%25A4%25E3%2583%2599%25E3%2583%25B3%25E3%2583%2588%25E3%2581%25AE%25E6%258B%25A1%25E5%25A4%25A7%25E3%2580%2590CSS%25E3%2580%2591%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【Tips】Claude CodeにAzure MCPを追加する]]></title><description><![CDATA[claude mcp add azure-mcp npx @azure/mcp@latest server start
この状態では認証できていないので、 /mcpで状態確認しても Connecting...のままです。

azure mcp の login statusを確認

などで状況を確認してもらえると、ブラウザの認証経由で疎通に成功します。



 Ref
https://docs.anthropic.com/ja/docs/claude-code/mcp
https://learn.microsoft.com/ja-jp/azure/developer/azure-mcp-s...]]></description><link>https://zenn.dev/nitaking/articles/950a8bc002c353</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/950a8bc002c353</guid><pubDate>Wed, 09 Jul 2025 05:52:48 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--IEY1yvRK--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590Tips%25E3%2580%2591Claude%2520Code%25E3%2581%25ABAzure%2520MCP%25E3%2582%2592%25E8%25BF%25BD%25E5%258A%25A0%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[Claude CodeとCopilot Custom Instructions併用するためのCustom Commands]]></title><description><![CDATA[Claude CodeとCopilot Custom Instructionsの併用をするため、Custom Commandsを作成した備忘録Quick Tipsです。

 .claude/
参考ですが、以下の構成にしています。

.claude/README.md
/.claude/
├── CLAUDE.md                        # Claude Codeのmeta data
├── commands/                        # Custom commands: 後述
├── knowledge/                   ...]]></description><link>https://zenn.dev/flierinc/articles/41875e7e495218</link><guid isPermaLink="true">https://zenn.dev/flierinc/articles/41875e7e495218</guid><pubDate>Sun, 22 Jun 2025 08:31:39 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--GS5En3GR--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Claude%2520Code%25E3%2581%25A8Copilot%2520Custom%2520Instructions%25E4%25BD%25B5%25E7%2594%25A8%25E3%2581%2599%25E3%2582%258B%25E3%2581%259F%25E3%2582%2581%25E3%2581%25AECustom%2520Comm...%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:nitaking%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzY1NzlmMWQxMjcuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:%25E6%25A0%25AA%25E5%25BC%258F%25E4%25BC%259A%25E7%25A4%25BE%25E3%2583%2595%25E3%2583%25A9%25E3%2582%25A4%25E3%2583%25A4%25E3%2583%25BC%2520Tech%2520Blog%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【macOS】USキーボードなのにUKキーボードになってしまう件]]></title><description><![CDATA[
 現象
USキーボードで内部的にUKキーボード判定になってしまっていました。
これにより、` が入力できない状態になっていました。

 環境
macOS Sequoia 15.2（24C101）

 解消方法
Settings &gt; キーボード &gt; 入力ソース &gt; 日本語 - ローマ字を選択 &gt; 英字のレイアウト &gt; イギリス or U.S. インターナショナル
を選択
2. そのキーボードに存在されていないキー \を押す
3. 何故か解消される・・・。

]]></description><link>https://zenn.dev/nitaking/articles/c8eb76d852a576</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/c8eb76d852a576</guid><pubDate>Tue, 07 Jan 2025 08:16:03 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--NClIW9f_--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590macOS%25E3%2580%2591US%25E3%2582%25AD%25E3%2583%25BC%25E3%2583%259C%25E3%2583%25BC%25E3%2583%2589%25E3%2581%25AA%25E3%2581%25AE%25E3%2581%25ABUK%25E3%2582%25AD%25E3%2583%25BC%25E3%2583%259C%25E3%2583%25BC%25E3%2583%2589%25E3%2581%25AB%25E3%2581%25AA%25E3%2581%25A3%25E3%2581%25A6%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2586%25E4%25BB%25B6%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【Flutter】Centering of Multiple TextSpan]]></title><description><![CDATA[Flutterでは、TextSpanの文字を中央揃えするためにWidgetSpanが使用できます。
WidgetSpanのalignmentでPlaceholderAlignment.middleを適用します。
 RichText(
  text: TextSpan(
    children: [
      WidgetSpan(
        child: Text(
          '+',
          style: TextStyle(
            fontSize: 48,
            fontWeight: FontWeight.bol...]]></description><link>https://zenn.dev/awarefy/articles/f5026c4a3f6088</link><guid isPermaLink="true">https://zenn.dev/awarefy/articles/f5026c4a3f6088</guid><pubDate>Thu, 18 Apr 2024 13:07:07 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--s6X5BQfO--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590Flutter%25E3%2580%2591Centering%2520of%2520Multiple%2520TextSpan%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:nitaking%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzI4ZGVmODEwOTAuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:%25E3%2582%25A2%25E3%2582%25A6%25E3%2582%25A7%25E3%2582%25A2%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%2520%25E6%258A%2580%25E8%25A1%2593%25E3%2583%2596%25E3%2583%25AD%25E3%2582%25B0%2520Zenn%2520%25E6%2594%25AF%25E7%25A4%25BE%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【Dart】async functionでthrowされないことをassertする]]></title><description><![CDATA[
expectLater
completes

Future&lt;String&gt; fetchData() async {
  // do something
  return 'finish';
}

test('fetchData completes without errors', () {
  await expectLater(
    fetchData(),
    completes,
  );
});

https://api.flutter.dev/flutter/flutter_test/expectLater.html
]]></description><link>https://zenn.dev/awarefy/articles/84d98665fd3ce5</link><guid isPermaLink="true">https://zenn.dev/awarefy/articles/84d98665fd3ce5</guid><pubDate>Thu, 11 Apr 2024 10:17:22 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s---swiom5d--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590Dart%25E3%2580%2591async%2520function%25E3%2581%25A7throw%25E3%2581%2595%25E3%2582%258C%25E3%2581%25AA%25E3%2581%2584%25E3%2581%2593%25E3%2581%25A8%25E3%2582%2592assert%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:nitaking%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzI4ZGVmODEwOTAuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:%25E3%2582%25A2%25E3%2582%25A6%25E3%2582%25A7%25E3%2582%25A2%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%2520%25E6%258A%2580%25E8%25A1%2593%25E3%2583%2596%25E3%2583%25AD%25E3%2582%25B0%2520Zenn%2520%25E6%2594%25AF%25E7%25A4%25BE%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[AppStore 超特急レビューリクエスト方法 2024年版]]></title><description><![CDATA[
 概要
超特急レビューに関しては以下の記事を参照いただきたい！
https://qiita.com/Raugh/items/a9d971bcf0005719aa22
2024年現在は公式にも「90%のレビューが24時間以内に対応されています」と記載があるが、重大なバグもしくは急ぎのリクエストが必要なシーンがあるためにリクエスト方法を記事にしておく！

Note: On average, 90% of submissions are reviewed in less than 24 hours. However, if you’re facing extenuating circumst...]]></description><link>https://zenn.dev/awarefy/articles/58c75ae2cb7a5e</link><guid isPermaLink="true">https://zenn.dev/awarefy/articles/58c75ae2cb7a5e</guid><pubDate>Wed, 10 Apr 2024 05:48:45 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--idjcCvMb--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:AppStore%2520%25E8%25B6%2585%25E7%2589%25B9%25E6%2580%25A5%25E3%2583%25AC%25E3%2583%2593%25E3%2583%25A5%25E3%2583%25BC%25E3%2583%25AA%25E3%2582%25AF%25E3%2582%25A8%25E3%2582%25B9%25E3%2583%2588%25E6%2596%25B9%25E6%25B3%2595%25202024%25E5%25B9%25B4%25E7%2589%2588%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:nitaking%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzI4ZGVmODEwOTAuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:%25E3%2582%25A2%25E3%2582%25A6%25E3%2582%25A7%25E3%2582%25A2%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%2520%25E6%258A%2580%25E8%25A1%2593%25E3%2583%2596%25E3%2583%25AD%25E3%2582%25B0%2520Zenn%2520%25E6%2594%25AF%25E7%25A4%25BE%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【Flutter】TextInput onChange with editting controller listener]]></title><description><![CDATA[Widget build(BuildContext context) {
    final controller = useTextEditingController();

    void onControllerChange() {
      print('OnControllerChange - ${controller.value.text}');
    }

    useEffect(() {
      controller.addListener(onControllerChange);

      return () =&gt; controller.remo...]]></description><link>https://zenn.dev/nitaking/articles/09ab97d34dcbdc</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/09ab97d34dcbdc</guid><pubDate>Thu, 04 Apr 2024 03:36:10 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--hNZ-3q0J--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590Flutter%25E3%2580%2591TextInput%2520onChange%2520with%2520editting%2520controller%2520list...%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[Unable to Boot the Simulator]]></title><description><![CDATA[今回は、 Settings &gt; ストレージ &gt; デベロッパ &gt; XCode キャッシュ の削除で起動できるようになった

検索すると幾つかの対処方法があるが、今回はApple Developer Forumsのコメントが優勝。
https://developer.apple.com/forums/thread/702608
その他の参考リンク。
https://zenn.dev/blendthink/articles/111dfa86265a34
https://qiita.com/kokogento/items/465984cad8624f483782https://...]]></description><link>https://zenn.dev/nitaking/articles/3592a3fc69ebce</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/3592a3fc69ebce</guid><pubDate>Wed, 20 Mar 2024 02:56:05 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--vQjNSrlR--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_72:Unable%2520to%2520Boot%2520the%2520Simulator%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【Flutter】List に対して grid gap 的にspaceを指定するExtension]]></title><description><![CDATA[cssのgrid gapのようにspaceを指定したくなることは多々あるとおもいます。
以下のextensionを使うとそのように指定できるので便利です。
import 'package:flutter/material.dart';

extension ListSpaceBetweenExtension on List&lt;Widget&gt; {
  List&lt;Widget&gt; withSpaceBetween({double? width, double? height}) =&gt; [
        for (int i = 0; i &lt; length; ...]]></description><link>https://zenn.dev/nitaking/articles/b696f60797f322</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/b696f60797f322</guid><pubDate>Sun, 28 Jan 2024 06:23:55 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--CNFjww0A--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590Flutter%25E3%2580%2591List%2520%25E3%2581%25AB%25E5%25AF%25BE%25E3%2581%2597%25E3%2581%25A6%2520grid%2520gap%2520%25E7%259A%2584%25E3%2581%25ABspace%25E3%2582%2592%25E6%258C%2587%25E5%25AE%259A%25E3%2581%2599%25E3%2582%258BExtension%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【Flutter】CustomScrollView/SliverListで空きスペースの表示領域を確保したい]]></title><description><![CDATA[FlutterのCustomScrollView内でSliverListを使用していて、リストが空の場合に画面いっぱいに表示領域を確保したい場合。
今回は、Emptyもしくは、リストが画面を埋めきらないときにも画面いっぱいに領域を確保したいシーンになりました。具体的にはCTAボタンを画面下部にFloating配置したいときですね。

 SliverFillRemainingの使用
リストが空の場合、SliverFillRemainingを使用して残りのスペースを埋めることができます。このウィジェットは、利用可能なスペースを埋めるために拡大します。
CustomScrollView(
  ...]]></description><link>https://zenn.dev/nitaking/articles/d7d001c89cc34f</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/d7d001c89cc34f</guid><pubDate>Tue, 16 Jan 2024 09:48:55 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--Rjfa-6AY--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590Flutter%25E3%2580%2591CustomScrollView%252FSliverList%25E3%2581%25A7%25E7%25A9%25BA%25E3%2581%258D%25E3%2582%25B9%25E3%2583%259A%25E3%2583%25BC%25E3%2582%25B9%25E3%2581%25AE%25E8%25A1%25A8%25E7%25A4%25BA%25E9%25A0%2598%25E5%259F%259F%25E3%2582%2592%25E7%25A2%25BA%25E4%25BF%259D%25E3%2581%2597%25E3%2581%259F%25E3%2581%2584%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【SentryFlutterPlugin】シンボルを見つけられません]]></title><description><![CDATA[
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
Running Gradle task 'assembleStagingDebug'...
/Users/user/project/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java:184: エラー: シンボルを見つけられません
flutterEngine.getPlugins().add(new io.sentry.flutter.SentryFlutterP...]]></description><link>https://zenn.dev/nitaking/articles/f7e9b992d5ca50</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/f7e9b992d5ca50</guid><pubDate>Fri, 05 Jan 2024 02:54:01 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--tXaQ0nTO--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590SentryFlutterPlugin%25E3%2580%2591%25E3%2582%25B7%25E3%2583%25B3%25E3%2583%259C%25E3%2583%25AB%25E3%2582%2592%25E8%25A6%258B%25E3%2581%25A4%25E3%2581%2591%25E3%2582%2589%25E3%2582%258C%25E3%2581%25BE%25E3%2581%259B%25E3%2582%2593%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[Android emulatorをadbコマンドでダークモード切り替え]]></title><description><![CDATA[
 Dark mode
adb shell "cmd uimode night yes"

 Light mode
adb shell "cmd uimode night no"

ref: https://stackoverflow.com/questions/68673335/is-there-a-quick-way-to-toggle-dark-mode-in-the-android-emulator
]]></description><link>https://zenn.dev/nitaking/articles/ac6c0b7a49ab63</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/ac6c0b7a49ab63</guid><pubDate>Wed, 06 Dec 2023 23:44:51 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--TKIa8S1m--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Android%2520emulator%25E3%2582%2592adb%25E3%2582%25B3%25E3%2583%259E%25E3%2583%25B3%25E3%2583%2589%25E3%2581%25A7%25E3%2583%2580%25E3%2583%25BC%25E3%2582%25AF%25E3%2583%25A2%25E3%2583%25BC%25E3%2583%2589%25E5%2588%2587%25E3%2582%258A%25E6%259B%25BF%25E3%2581%2588%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【Next.js】AppRouter beta時代の技術構成・選定・トラブルシューティングログ]]></title><description><![CDATA[
 はじめに

株式会社Awarefyというメンタルヘルス領域のスタートアップでフロントエンドを中心に担当している @nitaking です
2023年4月頃に構築したWEBサイトの構築した際の構成の経緯、技術選定、トラブルシューティングを備忘録として記録しておきます。
すぐ陳腐化する技術の世界なので（もう半年経って状況変わっているし）スナップショットとして活用ください。
また社内ドキュメントにもしてしまおうの趣旨なので、その点をご留意ください


 時期

2023年4月頃、Next.js AppRouter(appDir)がbetaだった時期


 背景

メインプロダクトはモバイル...]]></description><link>https://zenn.dev/awarefy/articles/623b41d5b560e3</link><guid isPermaLink="true">https://zenn.dev/awarefy/articles/623b41d5b560e3</guid><pubDate>Sat, 21 Oct 2023 15:28:13 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--xYKysA2i--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590Next.js%25E3%2580%2591AppRouter%2520beta%25E6%2599%2582%25E4%25BB%25A3%25E3%2581%25AE%25E6%258A%2580%25E8%25A1%2593%25E6%25A7%258B%25E6%2588%2590%25E3%2583%25BB%25E9%2581%25B8%25E5%25AE%259A%25E3%2583%25BB%25E3%2583%2588%25E3%2583%25A9%25E3%2583%2596%25E3%2583%25AB%25E3%2582%25B7%25E3%2583%25A5%25E3%2583%25BC%25E3%2583%2586%25E3%2582%25A3%25E3%2583%25B3%25E3%2582%25B0%25E3%2583%25AD%25E3%2582%25B0%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:nitaking%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzI4ZGVmODEwOTAuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:%25E3%2582%25A2%25E3%2582%25A6%25E3%2582%25A7%25E3%2582%25A2%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%2520%25E6%258A%2580%25E8%25A1%2593%25E3%2583%2596%25E3%2583%25AD%25E3%2582%25B0%2520Zenn%2520%25E6%2594%25AF%25E7%25A4%25BE%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[Dartのflow analysisについて理解する]]></title><description><![CDATA[
 TL;DR


params.valueでnullable判定できなくなったらローカル変数に定義し直したらエラー回避できるよ


Dartにてnullableなプロパティを扱うことはままあるでしょう。
そのなかで以下のコードではnullチェックしているのに、nullableな判定が外れず、null assertionが必要になることがあります。
if (params.value != null)
Hoge(value: params.value) // error! need `value!`
しかし、これはローカル変数に再定義することで型エラーは解消されます。
final valu...]]></description><link>https://zenn.dev/awarefy/articles/570b6a4a53b58d</link><guid isPermaLink="true">https://zenn.dev/awarefy/articles/570b6a4a53b58d</guid><pubDate>Sun, 17 Sep 2023 13:24:11 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--zR5vcubJ--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Dart%25E3%2581%25AEflow%2520analysis%25E3%2581%25AB%25E3%2581%25A4%25E3%2581%2584%25E3%2581%25A6%25E7%2590%2586%25E8%25A7%25A3%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:nitaking%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdGF0aWMuemVubi5zdHVkaW8vdXNlci11cGxvYWQvYXZhdGFyLzI4ZGVmODEwOTAuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:%25E3%2582%25A2%25E3%2582%25A6%25E3%2582%25A7%25E3%2582%25A2%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%2520%25E6%258A%2580%25E8%25A1%2593%25E3%2583%2596%25E3%2583%25AD%25E3%2582%25B0%2520Zenn%2520%25E6%2594%25AF%25E7%25A4%25BE%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[【Flutter】キャッシュ付きFutureProvider]]></title><description><![CDATA[!
本記事で記載している内容は、

FutureProviderの場合：ref.refresh

FutureProviderFamilyの場合：ref.invalidate


を利用することでキャッシュキーを用意しなくともFutureの再試行ができるため、そちらを利用してください。
下記コードは動作しません。

familyFutureProviderを運用している場合など、特定のキーだけキャッシュをクリアしたい（e.g. この日のデータだけクリアしたい）などの用途が発生したので、備忘録として記載します。
clearCacheForKey,clearCacheも生やして外部からキャッ...]]></description><link>https://zenn.dev/nitaking/articles/6ac47befb7b5d6</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/6ac47befb7b5d6</guid><pubDate>Wed, 30 Aug 2023 06:37:00 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--3SPc-Bec--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:%25E3%2580%2590Flutter%25E3%2580%2591%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2583%25E3%2582%25B7%25E3%2583%25A5%25E4%25BB%2598%25E3%2581%258DFutureProvider%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item><item><title><![CDATA[git-flow release で 最新化前にfinishしちゃった後作業]]></title><description><![CDATA[develop, mainを最新化せずに作業した場合に、リリースコミットがリリースブランチに乗らないため、元に戻す場合。
# sync(reset) origin main
git switch main
git reset --hard origin/main

# sync(reset) origin develop
git switch develop
git reset --hard origin/develop

# remove git tag
# 1) check remove tag name
git tag
# 2) remove
git tag -d xxx
]]></description><link>https://zenn.dev/nitaking/articles/b70a9c5c58595d</link><guid isPermaLink="true">https://zenn.dev/nitaking/articles/b70a9c5c58595d</guid><pubDate>Mon, 28 Aug 2023 04:51:26 GMT</pubDate><enclosure url="https://res.cloudinary.com/zenn/image/upload/s--4XSYqFix--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:git-flow%2520release%2520%25E3%2581%25A7%2520%25E6%259C%2580%25E6%2596%25B0%25E5%258C%2596%25E5%2589%258D%25E3%2581%25ABfinish%25E3%2581%2597%25E3%2581%25A1%25E3%2582%2583%25E3%2581%25A3%25E3%2581%259F%25E5%25BE%258C%25E4%25BD%259C%25E6%25A5%25AD%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:nitaking%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pDTWQ2V3JtNEFxOTluQ2xBTXQ1NHVJZTBPdnVYX05Fd1BZNElLUnc9czI1MC1j%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png?_a=BACAGSGT" length="0" type="false"/><dc:creator>nitaking</dc:creator></item></channel></rss>