<?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[miemagon]]></title><description><![CDATA[miemagon]]></description><link>https://miemagon.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 16:30:06 GMT</lastBuildDate><atom:link href="https://miemagon.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Modernizing My Tech Blog: Migrating to Astro and Cloudflare Pages]]></title><description><![CDATA[https://miemagon.pages.dev/ に移転します。以下の文章はAI検閲のために生成したもので、特に読まなくていいです。

In the ever-evolving landscape of web development, choosing the right stack for a technical blog is a balance between convenience]]></description><link>https://miemagon.hashnode.dev/astro_cloudflare</link><guid isPermaLink="true">https://miemagon.hashnode.dev/astro_cloudflare</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Mon, 23 Feb 2026 08:51:43 GMT</pubDate><content:encoded><![CDATA[<p><a href="https://miemagon.pages.dev/%E3%81%AB%E7%A7%BB%E8%BB%A2%E3%81%97%E3%81%BE%E3%81%99%E3%80%82">https://miemagon.pages.dev/</a> に移転します。<br />以下の文章はAI検閲のために生成したもので、特に読まなくていいです。</p>
<hr />
<p>In the ever-evolving landscape of web development, choosing the right stack for a technical blog is a balance between convenience and control. Recently, I decided to transition my content workflow from a managed platform to a self-hosted architecture using <strong>Astro</strong> and <strong>Cloudflare Pages</strong>.</p>
<p>This migration wasn't just about changing where my posts live; it was about embracing <strong>Content Federation</strong>, <strong>Ownership</strong>, and <strong>Performance</strong>. Here is a deep dive into why I chose this stack and how I executed the transition.</p>
<h3>The Vision: Why Astro + Cloudflare Pages?</h3>
<p>The primary driver for this move was the pursuit of an uncompromised developer experience (DX). While managed platforms offer a quick start, they often introduce abstractions that limit fine-grained control over the frontend and the editing workflow.</p>
<ol>
<li><p><strong>Zero-Runtime Overhead:</strong> Astro’s "Islands Architecture" allows me to ship zero JavaScript by default. For a text-heavy technical blog, this translates to near-instantaneous PageSpeed scores and a superior user experience (UX) without the latency of third-party scripts or intrusive bot-verification challenges.</p>
</li>
<li><p><strong>Infrastructure as Code:</strong> By hosting on Cloudflare Pages, my entire blog—from routing logic to UI components—is version-controlled in GitHub. This ensures high availability and security, leveraging Cloudflare’s global edge network without the overhead of complex server management.</p>
</li>
<li><p><strong>The Obsidian Workflow:</strong> I wanted a writing environment that exists offline. By moving to a Git-based workflow, I can now use <strong>Obsidian</strong> to draft my posts in Markdown, use local graph views for brainstorming, and simply <code>git push</code> to deploy.</p>
</li>
</ol>
<h3>Execution: The Migration Path</h3>
<p>The migration process was focused on "decoupling" my content from platform-specific features to ensure long-term portability.</p>
<h4>1. Content Extraction via Git Integration</h4>
<p>I leveraged the existing GitHub synchronization feature of my previous provider to pull all posts as Markdown files. This served as the "Source of Truth" for the new Astro project. Using Astro’s <strong>Content Collections</strong>, I defined a strict schema for frontmatter (titles, dates, tags), ensuring type-safety across the site.</p>
<h4>2. Normalizing Markdown and Callouts</h4>
<p>Every platform has its own flavor of Markdown. I encountered specific challenges with custom <strong>Callout (admonition) syntax</strong>. To resolve this, I implemented a custom Remark plugin within Astro to transform these snippets into accessible HTML containers. This move ensures that my content remains standard-compliant and easy to migrate again if necessary.</p>
<h4>3. Asset Sovereignty (Localizing Images)</h4>
<p>Relying on external Image CDNs is a risk for long-term content preservation. I automated the process of downloading all embedded images from the previous host's servers to my local <code>/public/assets</code> folder. By updating the internal links to relative paths, I guaranteed that my visual assets are as permanent as my text.</p>
<h3>Results and Reflections</h3>
<p>The results exceeded my expectations. The most noticeable difference is the <strong>elimination of friction</strong>. There are no heavy web editors to load, no third-party dashboards to navigate, and no "black-box" moderation algorithms affecting the visibility of my technical notes.</p>
<p>The site now feels like a true extension of my local development environment. It is fast, secure, and—most importantly—completely under my control. For any developer feeling the constraints of a managed ecosystem, I highly recommend exploring the freedom that a static, Git-based architecture provides.</p>
]]></content:encoded></item><item><title><![CDATA[[メモ] OneDriveのコンテキストメニューを復元する]]></title><description><![CDATA[気づいたらエクスプローラーにおけるコンテキストメニュー（右クリックメニュー）からOneDriveが表示されなくなっていた。 普段使っているFreeCommanderだと表示されるのに…旧コンテキストメニューを使っているので、Microsoftから新コンテキストメニューに移行しろとの圧力かと思っていたが、環境固有の問題だった模様。
調べて出てきたredditの投稿に従い、OneDrive をリセットする - Microsoft サポートに記載の手順で、OneDriveをリセットすると、私の環境（W...]]></description><link>https://miemagon.hashnode.dev/repair-onedrive-contextmenu</link><guid isPermaLink="true">https://miemagon.hashnode.dev/repair-onedrive-contextmenu</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Fri, 28 Nov 2025 00:36:05 GMT</pubDate><content:encoded><![CDATA[<p>気づいたらエクスプローラーにおけるコンテキストメニュー（右クリックメニュー）からOneDriveが表示されなくなっていた。 普段使っているFreeCommanderだと表示されるのに…<br />旧コンテキストメニューを使っているので、Microsoftから新コンテキストメニューに移行しろとの圧力かと思っていたが、環境固有の問題だった模様。</p>
<p>調べて出てきたredditの投稿に従い、<a target="_blank" href="https://support.microsoft.com/ja-jp/office/onedrive-%E3%82%92%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%99%E3%82%8B-34701e00-bf7b-42db-b960-84905399050c">OneDrive をリセットする - Microsoft サポート</a>に記載の手順で、OneDriveをリセットすると、私の環境（Windows 11）では表示されるようになった。</p>
<p>具体的には、ファイル名を指定して実行 (<code>Win + R</code>)で、以下の2つのコマンドを実行することで解消された。</p>
<pre><code class="lang-powershell">wsreset.exe
C:\Program Files\Microsoft OneDrive\onedrive.exe /reset
</code></pre>
<hr />
<p><strong>情報元</strong>: <a target="_blank" href="https://www.reddit.com/r/Office365/comments/1ni90su/onedrive_context_menu_missing_in_windows_11/">OneDrive context menu missing in Windows 11 Explorer, but sync works fine : r/Office365</a></p>
]]></content:encoded></item><item><title><![CDATA[[メモ] EdgeでSharePoint上のファイルを表示するときに、アカウント選択画面が表示される]]></title><description><![CDATA[Windows 11でEdgeを使ってSharePoint上にアクセスしたとき、ここ最近、上の画像のようにアカウント選択画面が表示されることがあり、これが結構頻繁だから地味に不便に感じていた。（ちなみに、上の画像は加工しているので、実際には山田太郎ではない）
勝手な推測で原因は以下だと思っているが、特に問い合わせをした訳では無いので実際は分からない。

あるMicrosoftアカウント一つで、複数のSharePointに接続しており、あるSharePointのファイルを閲覧した後、他のShare...]]></description><link>https://miemagon.hashnode.dev/edge-m365-sharepoint-choose-account</link><guid isPermaLink="true">https://miemagon.hashnode.dev/edge-m365-sharepoint-choose-account</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Fri, 21 Nov 2025 14:10:29 GMT</pubDate><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763695113272/bf70b588-865e-427f-bdb6-527ffabb5b14.png" alt class="image--center mx-auto" /></p>
<p>Windows 11でEdgeを使ってSharePoint上にアクセスしたとき、ここ最近、上の画像のようにアカウント選択画面が表示されることがあり、これが結構頻繁だから地味に不便に感じていた。<br />（ちなみに、上の画像は加工しているので、実際には山田太郎ではない）</p>
<p>勝手な推測で原因は以下だと思っているが、特に問い合わせをした訳では無いので実際は分からない。</p>
<ul>
<li><p>あるMicrosoftアカウント一つで、複数のSharePointに接続しており、あるSharePointのファイルを閲覧した後、他のSharePointのファイルを開くと、セッションの関係でアカウントの判定がされる。</p>
</li>
<li><p>Windows PCのサインインに使っているアカウント（Windows接続済みアカウント）と、Edgeでサインインしているアカウント（サインイン済みアカウント）が異なっているため、選択画面が表示される。</p>
</li>
</ul>
<p>ただ、上の推測を元に、Edgeで使っていないWindows接続済みアカウントを認識できなくすれば良いのではないかと思い、次の通り設定変更したところ、今のところ発生しなくなった。</p>
<ul>
<li><p><a target="_blank">プロファイルの基本設定</a></p>
<ul>
<li><p>「Edgeでの自動サインイン」のチェックを外す。</p>
</li>
<li><p>「このプロファイルを使用して職場または学校サイトのシングルサインオンを許可する」のチェックを外す。</p>
</li>
</ul>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1763695173544/cec31479-d4d4-4fdc-9e11-172d8f977027.png" alt class="image--center mx-auto" /></p>
<p>もし同じ症状で困っている人がいれば試してほしい。</p>
<hr />
<p>ちなみにEdgeのポリシー設定にそれらしいものがあったので、本当はそちらの無効化を先に試したのだが、これは上手くいかなかった。<br /><a target="_blank">ポリシー設定画面</a>で読込されていることは確認したので、設定自体は上手くいったと思うのだけど。</p>
<ul>
<li><p><a target="_blank" href="https://learn.microsoft.com/ja-jp/deployedge/microsoft-edge-browser-policies/implicitsigninenabled">暗黙的なサインインの有効化（ImplicitSignInEnabled）</a></p>
</li>
<li><p><a target="_blank" href="https://learn.microsoft.com/ja-jp/deployedge/microsoft-edge-browser-policies/guidedswitchenabled">ガイド付きスイッチが有効（GuidedSwitchEnabled）</a></p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[[メモ] Windowsにおける右クリック(コンテキスト)メニューのカスタマイズについて]]></title><description><![CDATA[Windows11で新しい右クリック(コンテキスト)メニューが導入されたものの、いまだに従来のコンテキストメニューを使っている。
個人的には新しいコンテキストメニューも嫌いではないのだが、カスタマイズの余地があまり無く、Shiftキー押下で表示する従来のコンテキストメニューが不安定で（少なくとも以前は）使い物にならなかったので、従来のものを使用している。
この従来のコンテキストメニューのカスタマイズの話。
従来のコンテキストメニューは長年使われてきたことがあり、カスタマイズのためのソフトウェアは...]]></description><link>https://miemagon.hashnode.dev/customize-windows-context-menu</link><guid isPermaLink="true">https://miemagon.hashnode.dev/customize-windows-context-menu</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Mon, 10 Nov 2025 00:47:04 GMT</pubDate><content:encoded><![CDATA[<p>Windows11で新しい右クリック(コンテキスト)メニューが導入されたものの、いまだに従来のコンテキストメニューを使っている。
個人的には新しいコンテキストメニューも嫌いではないのだが、カスタマイズの余地があまり無く、Shiftキー押下で表示する従来のコンテキストメニューが不安定で（少なくとも以前は）使い物にならなかったので、従来のものを使用している。</p>
<p>この従来のコンテキストメニューのカスタマイズの話。</p>
<p>従来のコンテキストメニューは長年使われてきたことがあり、カスタマイズのためのソフトウェアはいくつも存在する。
だから、基本的にはググって一番自分に向いているのを使えばいいと思うが、個人的には、<a target="_blank" href="https://www.nirsoft.net/">Nirsoft</a> 様の各種ユーティリティを使うのが、いいのかなと思う。(初心者向けではないので、その点は注意が要る)</p>
<ul>
<li><a target="_blank" href="https://www.nirsoft.net/utils/shexview.html">ShellExView - Shell Extension Manager For Windows</a></li>
<li><a target="_blank" href="https://www.nirsoft.net/utils/shell_menu_view.html">ShellMenuView: Disable / enable context menu items of Explorer</a></li>
<li><a target="_blank" href="https://www.nirsoft.net/utils/shell_menu_new.html">ShellMenuNew - Disable/enable 'New' menu items in Windows Explorer</a></li>
</ul>
<p>ただ上のソフトでもダメなやつがある。その場合は、レジストリ <code>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked</code>以下に値を設定する。詳細は以下を参照。</p>
<ul>
<li><a target="_blank" href="https://kirmav.blogspot.com/2023/04/remove-annoying-terminal-preview-context-menu.html.html">邪魔な「ターミナル プレビューで開く(P)」を消す方法</a></li>
</ul>
<p>値の名称として使うGUID(UUID)は個別に探す必要があるが、どのように探すのがいいのかはよく分からない...<br />今のところ、個別にググって設定している。</p>
<p>それにしてもMicrosoft様には、新しいコンテキストメニューを導入する際に、画面でカスタマイズ出来るように対応してほしかった。</p>
]]></content:encoded></item><item><title><![CDATA[[メモ] エクスプローラでWSLのディレクトリを開いたときに、Zone.Identifier拡張子のファイルを作成しないようにする]]></title><description><![CDATA[以下の手順を試すと解消された。ついでに、この対応をするとWSLのディレクトリ上にあるExcelファイルを開いたときに「インターネットから入手したファイルは、ウイルスが含まれている可能性があります。」と表示されて、保護ビューで表示される問題も解消される。

Win + R キーを押下して、「ファイル名を指定して実行」を起動
「名前」にcontrol inetcpl.cplと入力して、「OK」ボタンをクリックして、「インターネットのプロパティ」を起動
「セキュティ」タブを選択後、「信頼済みサイト」を...]]></description><link>https://miemagon.hashnode.dev/wsl-zoneidentifier</link><guid isPermaLink="true">https://miemagon.hashnode.dev/wsl-zoneidentifier</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Wed, 05 Nov 2025 04:18:06 GMT</pubDate><content:encoded><![CDATA[<p>以下の手順を試すと解消された。ついでに、この対応をするとWSLのディレクトリ上にあるExcelファイルを開いたときに「インターネットから入手したファイルは、ウイルスが含まれている可能性があります。」と表示されて、保護ビューで表示される問題も解消される。</p>
<ol>
<li><code>Win</code> + <code>R</code> キーを押下して、「ファイル名を指定して実行」を起動</li>
<li>「名前」に<code>control inetcpl.cpl</code>と入力して、「OK」ボタンをクリックして、「インターネットのプロパティ」を起動</li>
<li>「セキュティ」タブを選択後、「信頼済みサイト」を選択し、「サイト」ボタンをクリックして、「信頼済みサイト」を起動</li>
<li>「このゾーンのサイトにはすべてサーバーの確認(https:)を必要とする」にチェックが入っていれば外す</li>
<li>「このWebサイトをゾーンに追加する」に、<code>wsl.localhost</code>と入力し、「追加」ボタンをクリック</li>
<li>「閉じる」ボタンをクリックして、「信頼済みサイト」を閉じる</li>
<li>「OK」ボタンをクリックして、「インターネットのプロパティ」の内容を反映して閉じる</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[[メモ] OneDrive上の特定ファイルをExcelで開くと、クラッシュするようになった場合の対処案]]></title><description><![CDATA[皆が皆これで解決するとは思えないが、私の環境では以下の手順で解決したのでメモ。

ブラウザ版のExcelで該当するファイルが開けるのであれば、それから開き、直前の修正内容を元に戻す。

開けない場合は、OneDriveの履歴機能から、古いバージョンに戻す。

OneDriveの同期がされるのを待って、アプリ版のExcelで該当するファイルを開く。

同期されない場合はOfficeのキャッシュを削除する

Excelアプリの設定から削除する。

Officeのキャッシュを削除する方法 | SuiS...]]></description><link>https://miemagon.hashnode.dev/onedrive-excel-crash</link><guid isPermaLink="true">https://miemagon.hashnode.dev/onedrive-excel-crash</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Fri, 25 Jul 2025 00:27:48 GMT</pubDate><content:encoded><![CDATA[<p>皆が皆これで解決するとは思えないが、私の環境では以下の手順で解決したのでメモ。</p>
<ol>
<li><p>ブラウザ版のExcelで該当するファイルが開けるのであれば、それから開き、直前の修正内容を元に戻す。</p>
</li>
<li><p>開けない場合は、OneDriveの履歴機能から、古いバージョンに戻す。</p>
</li>
<li><p>OneDriveの同期がされるのを待って、アプリ版のExcelで該当するファイルを開く。</p>
</li>
<li><p>同期されない場合はOfficeのキャッシュを削除する</p>
<ol>
<li><p>Excelアプリの設定から削除する。</p>
<ul>
<li><a target="_blank" href="https://suisui-office.com/office-clear-cache/">Officeのキャッシュを削除する方法 | SuiSui Office @ Fri Jul 25 2025 09:25:48</a></li>
</ul>
</li>
<li><p>それでもだめなら、直接削除する。以下のサイトに記載の通り、<code>%LOCALAPPDATA%\Microsoft\Office\16.0\OfficeFileCache</code>等を削除する</p>
<ul>
<li><a target="_blank" href="https://support.ntt.com/office365/faq/detail/pid2300001pzo/">SharePoint にデータをアップロードすると「このファイルの新しいバージョンは、サーバー上にあります。」と表示される。 | ドコモビジネス お客さまサポート @ Fri Jul 25 2025 09:23:08</a></li>
</ul>
</li>
</ol>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[ExcelやWordに勝手に追加された 'Acrobat' タブを無効化する]]></title><description><![CDATA[最近Adobe Acrobat Readerをインストールすると、Officeアプリケーション（Word, Excel, PowerPoint）に ‘Acrobat‘ タブが追加される。 Acrobat Proを契約していれば便利に使えるのだろうが、特に契約していない身であれば、ただ邪魔なだけなので、このタブを無効化した。その方法を共有する。
やり方がいくつかあるので簡単なものから順に紹介する。アプリ毎に設定が必要。なお、これらのやり方は ’Acrobat’ タブ以外でも使えると思う。
a. ‘...]]></description><link>https://miemagon.hashnode.dev/disable-acrobat-tab-of-office</link><guid isPermaLink="true">https://miemagon.hashnode.dev/disable-acrobat-tab-of-office</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Wed, 07 May 2025 22:44:08 GMT</pubDate><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1746624411304/c1699819-f5f2-4f25-804b-03e6b26aa99f.png" alt class="image--center mx-auto" /></p>
<p>最近Adobe Acrobat Readerをインストールすると、Officeアプリケーション（Word, Excel, PowerPoint）に ‘Acrobat‘ タブが追加される。 Acrobat Proを契約していれば便利に使えるのだろうが、特に契約していない身であれば、ただ邪魔なだけなので、このタブを無効化した。その方法を共有する。</p>
<p>やり方がいくつかあるので簡単なものから順に紹介する。アプリ毎に設定が必要。<br />なお、これらのやり方は ’Acrobat’ タブ以外でも使えると思う。</p>
<h2 id="heading-a-acrobat">a. ‘Acrobat‘ タブを非表示に設定</h2>
<p>単にリボンに表示したくない場合</p>
<ol>
<li><p>リボンメニューの「ファイル」をクリック</p>
</li>
<li><p>「オプション」をクリック</p>
</li>
<li><p>「リボンのユーザー設定」をクリック</p>
</li>
<li><p>「リボンのユーザー設定」の「Acrobat」のチェックを外す</p>
</li>
<li><p>「OK」を押下</p>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1746625064518/5b079e66-ec78-4161-ae7a-52e20fe6d61e.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-b-acrobat">b. ‘Acrobat‘タブを追加するアドインをアプリから無効化する</h2>
<p>手順aだとアプリにはロードされるので、多少なりともパフォーマンスに影響が出る（かもしれない）。これを無効化する方法。<br />なお、この方法だとAcrobat Readerをアップデートすると復活したので、都度対応が必要になる。</p>
<ol>
<li><p>リボンメニューの「ファイル」をクリック</p>
</li>
<li><p>「オプション」をクリック</p>
</li>
<li><p>「アドイン」をクリック</p>
</li>
<li><p>管理を「COM アドイン」に変更して「設定」をクリック</p>
</li>
<li><p>「PDFMaker.OfficeAddin」のチェックを外し「OK」をクリック</p>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1746625414684/64a9da5c-ce4e-4890-bf38-2c1189402873.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1746625526348/411bfaf4-c227-4287-af18-a6611b10bcef.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-c-acrobat">c. ‘Acrobat‘タブを追加するアドインをレジストリで無効化する</h2>
<p>手順bだとAcrobat Readerをアップデートすると復活するので、レジストリを使って無効化する。<br />長期的に確認は出来ていないが、この方法ならアドインの名称を変更されない限りは、大丈夫なはず。</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">🚨</div>
<div data-node-type="callout-text">レジストリは注意して編集してください。誤って編集するとPCが起動しなくなる可能性があります。</div>
</div>

<ol>
<li><p>スタートメニュー等からレジストリエディタ (regedit.exe) を起動する。</p>
</li>
<li><p>アプリ毎にのキーにアクセスする。もし、キーが存在しない場合は手動で作成する。</p>
<ul>
<li><p>Excel</p>
<ul>
<li><code>HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Excel\Resiliency\AddinList</code></li>
</ul>
</li>
<li><p>Word</p>
<ul>
<li><code>HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Word\Resiliency\AddinList</code></li>
</ul>
</li>
<li><p>PowerPoint</p>
<ul>
<li><code>HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\PowerPoint\Resiliency\AddinList</code></li>
</ul>
</li>
</ul>
</li>
<li><p>当該キーに新規文字列値を追加し、以下の通り設定する。</p>
<ul>
<li><p>名前：<code>PDFMaker.OfficeAddin</code></p>
</li>
<li><p>データ：0</p>
</li>
</ul>
</li>
<li><p>今開いているアプリを終了し、再度起動する。</p>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1746657611795/1c3816ee-c16b-41eb-99ff-1597a9aee0e1.png" alt class="image--center mx-auto" /></p>
<p>コマンドでやるなら以下の通り。管理者権限が必要。</p>
<pre><code class="lang-powershell">reg add <span class="hljs-string">"HKCU\Software\Policies\Microsoft\Office\16.0\Excel\Resiliency\AddinList"</span> /v <span class="hljs-string">"PDFMaker.OfficeAddin"</span> /d <span class="hljs-string">"0"</span> /t <span class="hljs-string">"REG_SZ"</span>
reg add <span class="hljs-string">"HKCU\Software\Policies\Microsoft\Office\16.0\Word\Resiliency\AddinList"</span> /v <span class="hljs-string">"PDFMaker.OfficeAddin"</span> /d <span class="hljs-string">"0"</span> /t <span class="hljs-string">"REG_SZ"</span> 
reg add <span class="hljs-string">"HKCU\Software\Policies\Microsoft\Office\16.0\PowerPoint\Resiliency\AddinList"</span> /v <span class="hljs-string">"PDFMaker.OfficeAddin"</span> /d <span class="hljs-string">"0"</span> /t <span class="hljs-string">"REG_SZ"</span>
</code></pre>
<h2 id="heading-44k944o844k5">ソース</h2>
<ul>
<li><p><a target="_blank" href="https://www.reddit.com/r/Adobe/comments/1b1hfav/disable_office_com_addins_forever/">Disable Office COM Add-ins forever. : r/Adobe</a></p>
</li>
<li><p><a target="_blank" href="https://www.kapilarya.com/enable-or-disable-microsoft-office-add-ins-via-group-policy">Enable Or Disable Microsoft Office Add-ins Via Group Policy</a></p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[[メモ] vscodeでmsedgeを使ったデバッグで「ブラウザーにアタッチできません」と表示されるとき]]></title><description><![CDATA[Windows 11 + Visual Studio CodeでMicrosoft Edgeを使ったデバッグをおこなう際に、「ブラウザーにアタッチできません」と表示されて、突然Edgeが起動しなくなり、困ったことがあった。
私の環境ではVisual Studio Codeを完全再起動することで解消した。（拡張機能のリロードやウィンドウのリロードでは駄目）
この原因には、色々とあると思うので一概には言えないと思うが、私の環境では恐らく、Visual Studio Code起動中にMicrosoft...]]></description><link>https://miemagon.hashnode.dev/vscode-msedge-cannot-attach</link><guid isPermaLink="true">https://miemagon.hashnode.dev/vscode-msedge-cannot-attach</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Mon, 07 Apr 2025 07:42:05 GMT</pubDate><content:encoded><![CDATA[<ul>
<li>Windows 11 + Visual Studio CodeでMicrosoft Edgeを使ったデバッグをおこなう際に、「ブラウザーにアタッチできません」と表示されて、突然Edgeが起動しなくなり、困ったことがあった。</li>
<li>私の環境ではVisual Studio Codeを完全再起動することで解消した。（拡張機能のリロードやウィンドウのリロードでは駄目）</li>
<li>この原因には、色々とあると思うので一概には言えないと思うが、私の環境では恐らく、Visual Studio Code起動中にMicrosoft Edgeの更新をしたのが原因（多分Visual Studio Code起動時からブラウザの起動パスが変わったため）ではないかと推測している。それくらいしか心当たりがないので。</li>
<li>エラーメッセージから推測しづらいので一応共有しておく。</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Backlog向けのUserScript]]></title><description><![CDATA[backlog.com向けにUserScriptを作成したので共有する。UserScriptをインストールおよび使用するには事前にUserScriptマネージャーをブラウザの拡張機能として導入しておく必要がある。（例：Tampermonkey）




名前説明インストール



テキストエリアのフォントを等幅フォントに変更テキストエリア部分のフォントを等幅フォントに変更する。install

SharePointリンクからExcelを直接起動SharePointのExcelファイルへのリンクに...]]></description><link>https://miemagon.hashnode.dev/backlog-userscripts</link><guid isPermaLink="true">https://miemagon.hashnode.dev/backlog-userscripts</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Wed, 19 Mar 2025 03:59:16 GMT</pubDate><content:encoded><![CDATA[<p><a target="_blank" href="https://backlog.com/">backlog.com</a>向けにUserScriptを作成したので共有する。UserScriptをインストールおよび使用するには事前にUserScriptマネージャーをブラウザの拡張機能として導入しておく必要がある。（例：<a target="_blank" href="https://www.tampermonkey.net/">Tampermonkey</a>）</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>名前</strong></td><td><strong>説明</strong></td><td><strong>インストール</strong></td></tr>
</thead>
<tbody>
<tr>
<td>テキストエリアのフォントを等幅フォントに変更</td><td>テキストエリア部分のフォントを等幅フォントに変更する。</td><td><a target="_blank" href="https://gitlab.com/miemagon-dev/userscripts/-/raw/main/backlog.com/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%AA%E3%82%A2%E3%81%AE%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%82%92%E7%AD%89%E5%B9%85%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%81%AB%E5%A4%89%E6%9B%B4.user.js">install</a></td></tr>
<tr>
<td>SharePointリンクからExcelを直接起動</td><td>SharePointのExcelファイルへのリンクにマウスカーソルをホバーすると、🖥️が表示されるようになる。🖥️をクリックすると、デスクトップアプリのExcelで開くことが出来る。※リンクの形式によっては動作しません。</td><td><a target="_blank" href="https://gitlab.com/miemagon-dev/userscripts/-/raw/main/backlog.com/SharePoint%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%8B%E3%82%89Excel%E3%82%92%E7%9B%B4%E6%8E%A5%E8%B5%B7%E5%8B%95.user.js">install</a></td></tr>
<tr>
<td>SharePointリンクからデスクトップアプリを直接起動</td><td>「SharePointリンクからExcelを直接起動」を拡張し、他デスクトップアプリ（ワード、パワポ）に対応したもの。それ以外のSharePointのリンクは、ブラウザのポップアップで表示する。アイコンは各アプリのものになる。また、SharePointリンクではないが、Teamsの起動にも対応。</td><td><a target="_blank" href="https://gitlab.com/miemagon-dev/userscripts/-/raw/main/backlog.com/SharePoint%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%8B%E3%82%89%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E7%9B%B4%E6%8E%A5%E8%B5%B7%E5%8B%95.user.js">install</a></td></tr>
<tr>
<td>特殊貼り付けメニューを追加</td><td>テキストエリア内でShift + 右クリックをすると、「特殊貼り付け」メニューが表示されるようになる。これをクリックすると、Markdown形式で貼り付けされる。なお、クリップボードがURLの場合は、Markdownのリンク形式に変換されて貼り付けされる。</td><td><a target="_blank" href="https://gitlab.com/miemagon-dev/userscripts/-/raw/main/backlog.com/%E7%89%B9%E6%AE%8A%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%92%E8%BF%BD%E5%8A%A0.user.js">install</a></td></tr>
</tbody>
</table>
</div><p>なお、UserScriptファイルの実体は<a target="_blank" href="https://gitlab.com/miemagon-dev/userscripts/-/tree/main/backlog.com">GitLab</a>でホスティングしている。必要あれば参照してほしい。</p>
]]></content:encoded></item><item><title><![CDATA[[メモ] Windows 11の開発者向け仮想マシンの入手]]></title><description><![CDATA[結論だけ先に書くと、Hyper-V クイック作成の「Windows 11 開発環境」を使おう。技術的な問題というのがやや疑わしく思えるほど、サクッと仮想環境を用意できるぞ。

以下、周知の内容かもしれないが、私のように困っている人が居るかもしれないと思い、日記レベルだが共有しておく。
Microsoftは以前より、開発者向けにWindowsの仮想マシン向け開発環境を無償で提供している。有効期限等の制約はあるが、テスト用途では大変便利なものだった。ただ、ここ最近は、Microsoftの該当するペー...]]></description><link>https://miemagon.hashnode.dev/win11-dev-vm</link><guid isPermaLink="true">https://miemagon.hashnode.dev/win11-dev-vm</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Sun, 09 Mar 2025 14:11:29 GMT</pubDate><content:encoded><![CDATA[<p>結論だけ先に書くと、Hyper-V クイック作成の「Windows 11 開発環境」を使おう。技術的な問題というのがやや疑わしく思えるほど、サクッと仮想環境を用意できるぞ。</p>
<hr />
<p>以下、周知の内容かもしれないが、私のように困っている人が居るかもしれないと思い、日記レベルだが共有しておく。</p>
<p>Microsoftは以前より、開発者向けにWindowsの仮想マシン向け開発環境を無償で提供している。有効期限等の制約はあるが、テスト用途では大変便利なものだった。ただ、ここ最近は、<a target="_blank" href="https://developer.microsoft.com/ja-jp/windows/downloads/virtual-machines/">Microsoftの該当するページ</a>に記載の通り、「技術的な問題が進行中のため、(中略) ダウンロードは一時的に利用できません。」となっており、仮想マシンが入手できない状況が続いている。</p>
<p>今だと<a target="_blank" href="https://learn.microsoft.com/ja-jp/windows/security/application-security/application-isolation/windows-sandbox/">Windows Sandbox</a>という代替手段もあるので、そこまで困ることは無かったのだが、つい数か月前にどうしても仮想マシンが欲しい場面が発生。代替手段は無いのかと調べてみたところ、Hyper-Vで使用できる「Hyper-V クイック作成」を発見。このダイアログで選択できるOSの中に「Windows 11 開発環境」があり、これを選択してセットアップすることで、同等の環境が用意できた。</p>
<p>（備考）なお、この記事を作成するために改めて作成してみようとしたが、エラーが発生して上手く出来なかった。多分、<a target="_blank" href="https://yamapan.tokyo/?p=2913">この記事</a>のエラーと同じであるため、解決できそうなエラーではあるが…</p>
]]></content:encoded></item><item><title><![CDATA[[メモ] git replaceを使用した疑似的なマージ]]></title><description><![CDATA[管理者が突然、Gitの過去のコミット履歴を削除し、新しいコミット履歴を開始することに決めたとしよう。つまり、以下の図のように、コード内容の繋がりはあるが、Gitのツリー上では繋がりのない旧ブランチoldと新ブランチmainが作成されることになる。この場合、共通の親は無いので新ブランチmainからはファイルの履歴を辿るのが難しくなる。
gitGraph
  branch "old"
  commit id: "1"
  commit id: "2"
  checkout "main"
  comm...]]></description><link>https://miemagon.hashnode.dev/git-replace</link><guid isPermaLink="true">https://miemagon.hashnode.dev/git-replace</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Thu, 06 Feb 2025 14:43:10 GMT</pubDate><content:encoded><![CDATA[<p>管理者が突然、Gitの過去のコミット履歴を削除し、新しいコミット履歴を開始することに決めたとしよう。<br />つまり、以下の図のように、コード内容の繋がりはあるが、Gitのツリー上では繋がりのない旧ブランチoldと新ブランチmainが作成されることになる。この場合、共通の親は無いので新ブランチmainからはファイルの履歴を辿るのが難しくなる。</p>
<pre><code class="lang-mermaid">gitGraph
  branch "old"
  commit id: "1"
  commit id: "2"
  checkout "main"
  commit id: "3"
  checkout "old"
  commit id: "4" type: HIGHLIGHT
  checkout "main"
  commit id: "5" type: HIGHLIGHT
  commit id: "6"
</code></pre>
<p>このとき、<code>git replace</code> コマンドを使うことで、ローカル上では疑似的にマージされた状態に出来る。<br />例えば、コミット4と5が同じであれば、</p>
<pre><code class="lang-bash">git replace 5 4
</code></pre>
<p>と実行すると、</p>
<pre><code class="lang-mermaid">gitGraph
  checkout "main"
  commit id: "1"
  commit id: "2"
  commit id: "5" type: HIGHLIGHT
  commit id: "6"
</code></pre>
<p>のようにローカル環境では疑似的に表示される。</p>
<p>また、同じコミットが存在しない場合でも</p>
<pre><code class="lang-bash">git replace --graft 3 4
</code></pre>
<pre><code class="lang-mermaid">gitGraph
  checkout "main"
  commit id: "1"
  commit id: "2"
  commit id: "4" type: HIGHLIGHT
  commit id: "3"
  commit id: "5" type: HIGHLIGHT
  commit id: "6"
</code></pre>
<p>のように実行することで、ローカル環境では以下のように疑似的にマージしたかのように表示させることが出来る。</p>
<hr />
<h3 id="heading-5yc54wn">参照</h3>
<ul>
<li><p>マージから失われた2番目の親を復元する #Git - Qiita<br />  <a target="_blank" href="https://qiita.com/tetsurom/items/ee89b80e64b8840857a4">https://qiita.com/tetsurom/items/ee89b80e64b8840857a4</a></p>
</li>
<li><p>Git - Git オブジェクトの置き換え</p>
<p>  <a target="_blank" href="https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-Git-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88">https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-Git-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88</a></p>
</li>
<li><p>Git - git-replace Documentation<br />  <a target="_blank" href="https://git-scm.com/docs/git-replace">https://git-scm.com/docs/git-replace</a></p>
</li>
</ul>
<h3 id="heading-5ykz6icd">備考</h3>
<ul>
<li>初出時は「git update」と記載していましたが間違いです。申し訳ございません。(2025/3/9)</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[[メモ] wingetに関する忘備録]]></title><description><![CDATA[個人的な好みでインストーラを表示している。不要であれば、-iの指定を消せばよい。

❗
ポータブルアプリケーションのインストール／アップデートをする際は、現時点ではシンボリックリンクの作成が可能な環境でおこなうべき。その場合、%LOCALAPPDATA%\Microsoft\WinGet\Links\に実行ファイルがリンクされる。（すべてではないらしいが）


更新可能なパッケージの一覧を取得する
winget list --upgrade-available

パッケージを更新する
winge...]]></description><link>https://miemagon.hashnode.dev/winget</link><guid isPermaLink="true">https://miemagon.hashnode.dev/winget</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Fri, 24 May 2024 00:36:33 GMT</pubDate><content:encoded><![CDATA[<p>個人的な好みでインストーラを表示している。不要であれば、<code>-i</code>の指定を消せばよい。</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">❗</div>
<div data-node-type="callout-text">ポータブルアプリケーションのインストール／アップデートをする際は、現時点ではシンボリックリンクの作成が可能な環境でおこなうべき。その場合、<code>%LOCALAPPDATA%\Microsoft\WinGet\Links\</code>に実行ファイルがリンクされる。（すべてではないらしいが）</div>
</div>

<h1 id="heading-5pu05paw5yv6io944gq44or44od44kx44o844k444gu5lia6kan44ks5yw5b6x44gz44kl">更新可能なパッケージの一覧を取得する</h1>
<pre><code class="lang-powershell">winget list -<span class="hljs-literal">-upgrade</span><span class="hljs-literal">-available</span>
</code></pre>
<h1 id="heading-44or44od44kx44o844k444ks5pu05paw44gz44kl">パッケージを更新する</h1>
<pre><code class="lang-powershell">winget update <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> &lt;パッケージID&gt;
</code></pre>
<h1 id="heading-5pu05paw5yv6io944gq44or44od44kx44o844k444ks5ywo44gm44ki44od44ox44oh44o844oi44gz44kl">更新可能なパッケージを全てアップデートする</h1>
<pre><code class="lang-powershell">winget update -<span class="hljs-literal">-all</span> <span class="hljs-literal">-i</span>
</code></pre>
<h1 id="heading-winget-update-all"><code>winget update --all</code>の対象外とする</h1>
<pre><code class="lang-powershell">winget pin add -<span class="hljs-literal">-id</span> &lt;パッケージID&gt;
</code></pre>
<h1 id="heading-5yip55so5yv6io944gq44oq44o844k444on44oz44gu5lia6kan44ks56k66kqn44gz44kl44cc">利用可能なバージョンの一覧を確認する。</h1>
<pre><code class="lang-powershell">winget show -<span class="hljs-literal">-id</span> &lt;パッケージID&gt; -<span class="hljs-literal">-versions</span>
</code></pre>
<h1 id="heading-44oq44o844k444on44oz44ks5oyh5a6a44gx44gm44ki44od44ox44kw44os44o844oj44gz44kl">バージョンを指定してアップグレードする</h1>
<pre><code class="lang-powershell">winget update <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> &lt;パッケージID&gt; -<span class="hljs-literal">-version</span> &lt;バージョン&gt;
</code></pre>
<h1 id="heading-44oa44km44oz44ot44o844oj44gg44gr44ks44gk44gt44gq44gg">ダウンロードだけをおこなう</h1>
<pre><code class="lang-powershell">winget download -<span class="hljs-literal">-id</span> &lt;パッケージID&gt;
</code></pre>
]]></content:encoded></item><item><title><![CDATA[[メモ] NetBeansで作成したプログラムについて、クラスやリソースが存在しないとエラーが表示されるとき]]></title><description><![CDATA[NetBeans のキャッシュの問題の可能性がある。そのため、NetBeansを停止したうえで、Windowsの場合は以下のフォルダを削除、NetBeans再起動で治ることがある。
%LOCALAPPDATA%\NetBeans\Cache

※参照：NetBeans のキャッシュをクリアする - Kameya Blog]]></description><link>https://miemagon.hashnode.dev/error-resource-and-class-in-netbeans</link><guid isPermaLink="true">https://miemagon.hashnode.dev/error-resource-and-class-in-netbeans</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Mon, 22 Apr 2024 02:51:08 GMT</pubDate><content:encoded><![CDATA[<p>NetBeans のキャッシュの問題の可能性がある。<br />そのため、NetBeansを停止したうえで、Windowsの場合は以下のフォルダを削除、NetBeans再起動で治ることがある。</p>
<pre><code class="lang-powershell">%LOCALAPPDATA%\NetBeans\Cache
</code></pre>
<p>※参照：<a target="_blank" href="https://kameyatakefumi.hatenablog.com/entry/2017/03/03/143532">NetBeans のキャッシュをクリアする - Kameya Blog</a></p>
]]></content:encoded></item><item><title><![CDATA[Windows 11 ProでWindows Container を動かす]]></title><description><![CDATA[今の業務で開発しているアプリが、ファイルパスの関係で正常に動かすにはWindows上でアプリを動かす必要があった。これまでは直接ホスト上でアプリを動かしていたのだが、融通が利かないアプリなので、何かと開発環境に設定が必要で面倒に感じてきた。 仮想マシンで動かすことも考えたが、開発用VMだと定期的に環境の作り直しが発生するし、新しくWindowsのライセンスを用意するのも微妙な気がする。
そこで思い出したのはWindows Container。いわゆるDockerで動かすContainerのOSは...]]></description><link>https://miemagon.hashnode.dev/windows-container-on-windows-11-pro</link><guid isPermaLink="true">https://miemagon.hashnode.dev/windows-container-on-windows-11-pro</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Sat, 20 Apr 2024 13:26:48 GMT</pubDate><content:encoded><![CDATA[<p>今の業務で開発しているアプリが、ファイルパスの関係で正常に動かすにはWindows上でアプリを動かす必要があった。これまでは直接ホスト上でアプリを動かしていたのだが、融通が利かないアプリなので、何かと開発環境に設定が必要で面倒に感じてきた。 仮想マシンで動かすことも考えたが、開発用VMだと定期的に環境の作り直しが発生するし、新しくWindowsのライセンスを用意するのも微妙な気がする。</p>
<p>そこで思い出したのはWindows Container。いわゆるDockerで動かすContainerのOSはLinuxになるが、WindowsをOSとしたContainerも存在する。あんまり流行ってなさそうだが。</p>
<p>自分が今使っているのはWindows 11 Proを使っている かつ 開発目的にしか使う想定が無いので、Windows Container環境的には問題なし。（運用で使うにはWindows Serverを使用しないとNGとのこと）<br />これまで一度も動かしたことが無かったので、これを機会に動かしてみた。</p>
<h2 id="heading-44k744od44oi44ki44od44ox">セットアップ</h2>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=dockerce">Prepare Windows operating system containers | Microsoft Learn</a>や、<a target="_blank" href="https://qiita.com/hatasaki/items/1b945f940c23e0ee36f3">Windows PCでDocker Desktopを利用せずにLinuxコンテナーとWindowsコンテナー環境を構築する方法 #Docker - Qiita</a> を参考にセットアップをする。<br />Windows 11 Proの場合は、dockerを使う以外の方法は無いようだ。 Docker Desktopが推奨の方法だが有償化してしまったので、<a target="_blank" href="https://docs.docker.com/engine/install/binaries/">Install Docker Engine from binaries | Docker Docs</a>で言及されているDockerエンジンのみのインストールをおこなう。</p>
<p>管理者権限でPowerShellを起動</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Enable-WindowsOptionalFeature</span> <span class="hljs-literal">-Online</span> <span class="hljs-literal">-FeatureName</span> <span class="hljs-variable">$</span>(<span class="hljs-string">"Microsoft-Hyper-V"</span>, <span class="hljs-string">"Containers"</span>) <span class="hljs-literal">-All</span>
</code></pre>
<p>一度再起動して、管理者権限で再度PowerShellを起動</p>
<pre><code class="lang-ps1">winget install -<span class="hljs-literal">-scope</span> machine <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Docker.DockerCLI
dockerd -<span class="hljs-literal">-register</span><span class="hljs-literal">-service</span>
</code></pre>
<p>なお、上述の手順でwingetでscopeをmachineに設定したり、サービスとして登録している都合、<code>winget update --all</code>でエラーが発生するため、その対象から除外しておく。 (アップデート手順は後述)</p>
<pre><code class="lang-ps1">winget pin add -<span class="hljs-literal">-id</span> Docker.DockerCLI
</code></pre>
<h3 id="heading-windows-container">Windows Containerの起動</h3>
<p>現在のユーザからdockerコマンドを使用できるようにするため、管理者権限のPowerShellで以下を実行</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">New-LocalGroup</span> <span class="hljs-literal">-Name</span> <span class="hljs-string">'docker-users'</span> <span class="hljs-literal">-Description</span> <span class="hljs-string">'Users of Docker for Windows'</span>
<span class="hljs-built_in">Add-LocalGroupMember</span> <span class="hljs-literal">-Group</span> <span class="hljs-string">'docker-users'</span> <span class="hljs-literal">-Member</span> <span class="hljs-string">"<span class="hljs-variable">$</span>([System.Security.Principal.WindowsIdentity]::GetCurrent().Name)"</span>
</code></pre>
<p><code>C:\ProgramData\docker\config\daemon.json</code>に以下のファイルを作成する。<br />※他の設定を変更するときは、<a target="_blank" href="https://learn.microsoft.com/ja-jp/virtualization/windowscontainers/manage-docker/configure-docker-daemon#configure-docker-with-a-configuration-file">このサイト</a>を参照すること。</p>
<pre><code class="lang-json">{
        <span class="hljs-attr">"group"</span> : <span class="hljs-string">"docker-users"</span>
}
</code></pre>
<p>管理者権限のPowerShellで以下を実行し、dockerデーモンを起動する。</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Start-Service</span> docker
</code></pre>
<p>Windows Containerはプロセス分離、Hyper-Vの2つのモードがあり、プロセス分離はLinuxコンテナと同じようにカーネルを共有して動かすもの、Hyper-Vは仮想化により動かすものみたい。 Linuxとは異なり、カーネルとOSイメージが密接に結びついているようで、プロセス分離の場合はホストOSと合致するOSイメージしか使用できないそう。ホストOSと異なるOSを使いたい場合はHyper-Vを使うべし、ということらしい。</p>
<p>Windows 11 ProではデフォルトはHyper-V。プロセス分離で動かす場合は、コンテナ起動時に引数で明示する必要がある。</p>
<p>プロセス分離で起動する場合は、以下のようなコマンドになる。</p>
<pre><code class="lang-java">docker run --isolation=process -d -t --name container-<span class="hljs-number">01</span> mcr.microsoft.com/windows/servercore:ltsc2022 cmd.exe
</code></pre>
<p>後は通常のdockerと同じような感じで使える（みたい）</p>
<pre><code class="lang-java">docker exec -it container-<span class="hljs-number">01</span> powershell
</code></pre>
<p>GUIが使えないので、リモートのファイルサーバのマウントは<code>net use</code>等、コマンドでどうにかする必要はあるが、それなりに使えそう。</p>
<h3 id="heading-eset">ESETを使用している場合</h3>
<p>ESETのSSL/TLSプロトコルフィルタリングの機能により、証明書の問題が発生する可能性がある。その場合は、ESETの証明書をホストでエクスポートし、それをコンテナでインポートする必要がある。</p>
<p>ESETの詳細設定画面を開き、下図の赤線部分（証明書の表示）をクリックする。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713620920955/e015702a-8496-4187-b936-d8f1591e8c68.png" alt class="image--center mx-auto" /></p>
<p>ファイルにコピーをクリック</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713621103296/e878a7cc-0fe3-4019-9d46-4116eb4095df.png" alt class="image--center mx-auto" /></p>
<p>証明書にエクスポートウィザードを進めて、証明書をファイルにエクスポートする。 エクスポートした証明書は、<code>docker cp</code>コマンドでコンテナにコピーする。</p>
<pre><code class="lang-powershell">docker <span class="hljs-built_in">cp</span> .\eset.cer container<span class="hljs-literal">-01</span>:C:/
</code></pre>
<p>コピーした証明書をコンテナでインポートする。</p>
<pre><code class="lang-ps1">docker exec <span class="hljs-literal">-it</span> container<span class="hljs-literal">-01</span> powershell <span class="hljs-literal">-c</span> <span class="hljs-string">"Import-Certificate -CertStoreLocation cert:\localMachine\Root C:/eset.cer"</span>
</code></pre>
<h3 id="heading-docker-compose">Docker Composeを使用する場合</h3>
<p>管理者権限でPowerShellを起動</p>
<pre><code class="lang-ps1">winget install -<span class="hljs-literal">-scope</span> machine <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Docker.DockerCompose
winget pin add -<span class="hljs-literal">-id</span> Docker.DockerCompose
</code></pre>
<p>docker-composeコマンドが使用できるようになる。(docker composeではない）</p>
<h3 id="heading-docker">Dockerをアップデートする場合</h3>
<p>上述の手順でDockerをインストールした場合、以下の手順でアップデートする。</p>
<p><strong>管理者権限でPowerShellを起動</strong></p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Stop-Service</span> docker
winget update -<span class="hljs-literal">-scope</span> machine <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Docker.DockerCLI
winget update -<span class="hljs-literal">-scope</span> machine <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Docker.DockerCompose
<span class="hljs-built_in">Start-Service</span> docker
</code></pre>
]]></content:encoded></item><item><title><![CDATA[[メモ] Excel設計書に関するツール]]></title><description><![CDATA[Excel設計書と戦うためにはツール必要不可欠なので、忘れないように箇条書きで残す。（要するにただのメモ書き）

RelaxTools Addin for Excel 2013/2016/2019/Office365(Desktop)

便利だがやや重い。でも必要。


[Custom UI Editor Tool インストール方法と使い方 - Office](https://www.saka-en.com/office/custom-ui-editor-tool-install/)

自作のマ...]]></description><link>https://miemagon.hashnode.dev/excel-tools</link><guid isPermaLink="true">https://miemagon.hashnode.dev/excel-tools</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Mon, 15 Apr 2024 09:31:43 GMT</pubDate><content:encoded><![CDATA[<p>Excel設計書と戦うためにはツール必要不可欠なので、忘れないように箇条書きで残す。<br />（要するにただのメモ書き）</p>
<ul>
<li><p><a target="_blank" href="https://software.opensquare.net/relaxtools/">RelaxTools Addin for Excel 2013/2016/2019/Office365(Desktop)</a></p>
<ul>
<li>便利だがやや重い。でも必要。</li>
</ul>
</li>
<li><p>[Custom UI Editor Tool インストール方法と使い方 - Office](<a target="_blank" href="https://www.saka-en.com/office/custom-ui-editor-tool-install/">https://www.saka-en.com/office/custom-ui-editor-tool-install/</a>)</p>
<ul>
<li><p>自作のマクロにUIを追加するために使用</p>
</li>
<li><p><a target="_blank" href="https://github.com/OfficeDev/office-custom-ui-editor">OfficeDev/office-custom-ui-editor: Standalone tool to edit custom UI part of Office open document file format</a></p>
</li>
</ul>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Windows11でタスクバーに表示される「このウィンドウを共有する」(Share this window)を非表示にする]]></title><description><![CDATA[情報元を日本語に焼き直しただけですが...
Teams使っていると出てくる「このウィンドウを共有する」(Share this window)を非表示にするには、設定アプリの「個人用設定」→「タスクバー」→「タスクバーの動作」における「タスクバーからウィンドウを共有する」のチェックを外す。]]></description><link>https://miemagon.hashnode.dev/windows11share-this-window</link><guid isPermaLink="true">https://miemagon.hashnode.dev/windows11share-this-window</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Mon, 15 Apr 2024 08:14:53 GMT</pubDate><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713168838421/dfffeb69-4f4b-4fbf-a3af-6fb14c5d57e9.png" alt class="image--center mx-auto" /></p>
<p><a target="_blank" href="https://answers.microsoft.com/en-us/msteams/forum/all/how-to-remove-the-share-this-window-option-in/60882793-d32e-49e5-bf78-50386c1e2ef3">情報元</a>を日本語に焼き直しただけですが...</p>
<p>Teams使っていると出てくる「このウィンドウを共有する」(Share this window)を非表示にするには、設定アプリの「個人用設定」→「タスクバー」→「タスクバーの動作」における「タスクバーからウィンドウを共有する」のチェックを外す。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713168979662/1a501f0b-3bff-47fe-a5a0-d3e3694c8a76.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[[メモ] WSL1で動くDebian 10(buster)を12(bookworm)までアップグレードしてみる]]></title><description><![CDATA[新PCをセットアップしているので、よい機会だと思い、WSL上のディストリビューションを最新verまでアップグレードすることにした。
既存の環境とは別にアップグレード版の環境を作ることにする。旧OSから移行したので、OSイメージは残っている。これを流用する。
mkdir $env:LOCALAPPDATA\wsl\debian12
wsl --import Debian12 $env:LOCALAPPDATA\wsl\debian12 .\Debian.tar.gz --version 1
wsl...]]></description><link>https://miemagon.hashnode.dev/wsl1debian-10buster-to-12bookworm</link><guid isPermaLink="true">https://miemagon.hashnode.dev/wsl1debian-10buster-to-12bookworm</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Sun, 31 Mar 2024 01:17:17 GMT</pubDate><content:encoded><![CDATA[<p>新PCをセットアップしているので、よい機会だと思い、WSL上のディストリビューションを最新verまでアップグレードすることにした。</p>
<p>既存の環境とは別にアップグレード版の環境を作ることにする。<br />旧OSから移行したので、OSイメージは残っている。これを流用する。</p>
<pre><code class="lang-ps1">mkdir <span class="hljs-variable">$env:LOCALAPPDATA</span>\wsl\debian12
wsl -<span class="hljs-literal">-import</span> Debian12 <span class="hljs-variable">$env:LOCALAPPDATA</span>\wsl\debian12 .\Debian.tar.gz -<span class="hljs-literal">-version</span> <span class="hljs-number">1</span>
wsl <span class="hljs-literal">-d</span> Debian12
</code></pre>
<p>ここからは<a target="_blank" href="https://linuxize.com/post/how-to-upgrade-debian-10-to-debian-11/">このサイト</a>に記載の手順に従い、まずは10→11にアップグレード。</p>
<pre><code class="lang-sh">apt update &amp;&amp; apt upgrade &amp;&amp; apt full-upgrade &amp;&amp; apt autoremove
sed -i <span class="hljs-string">'s#/debian-security/ buster/updates#/ bullseye-security#g'</span> /etc/apt/sources.list
sed -i <span class="hljs-string">'s/buster/bullseye/g'</span> /etc/apt/sources.list
<span class="hljs-built_in">export</span> LC_ALL=C 
apt update &amp;&amp; apt upgrade
apt full-upgrade
</code></pre>
<p>debian 11にアップグレードが完了したので、一旦再起動。Powershellに移動して、以下のコマンドを実行。</p>
<pre><code class="lang-ps1">wsl <span class="hljs-literal">-t</span> Debian12
wsl <span class="hljs-literal">-d</span> Debian12
</code></pre>
<p>問題なく起動したので、次に11→12にアップグレード。今度は<a target="_blank" href="https://www.cyberciti.biz/faq/update-upgrade-debian-11-to-debian-12-bookworm/">このサイト</a>を参考に進める。</p>
<pre><code class="lang-sh">apt update &amp;&amp; apt upgrade &amp;&amp; apt full-upgrade &amp;&amp; apt autoremove
sed -i <span class="hljs-string">'s/bullseye/bookworm/g'</span> /etc/apt/sources.list
<span class="hljs-built_in">export</span> LC_ALL=C
apt update &amp;&amp; apt upgrade
</code></pre>
<p>ここで私の環境では以下のエラーが発生した。</p>
<pre><code class="lang-powershell">Selecting previously unselected package usrmerge.
(Reading database ... <span class="hljs-number">36002</span> files and directories currently installed.)
Preparing to unpack .../usrmerge_37~deb12u1_all.deb ...
Unpacking usrmerge (<span class="hljs-number">37</span>~deb12u1) ...
Setting up usrmerge (<span class="hljs-number">37</span>~deb12u1) ...

FATAL ERROR:
Can<span class="hljs-string">'t rename /lib: Permission denied at /usr/lib/usrmerge/convert-usrmerge line 290.

You can try correcting the errors reported and running again
/usr/lib/usrmerge/convert-usrmerge until it will complete without errors.
Do not install or update other Debian packages until the program
has been run successfully.

E: usrmerge failed.
dpkg: error processing package usrmerge (--configure):
 installed usrmerge package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 usrmerge
E: Sub-process /usr/bin/dpkg returned an error code (1)</span>
</code></pre>
<p><a target="_blank" href="https://bugs.launchpad.net/ubuntu/+source/usrmerge/+bug/1993886">このサイト</a>を参考に、一度再起動を実施。</p>
<pre><code class="lang-ps1">wsl <span class="hljs-literal">-t</span> Debian12
wsl <span class="hljs-literal">-d</span> Debian12
</code></pre>
<p>そのうえで、以下のコマンドを実行して、エラーが出なくなることを確認。</p>
<pre><code class="lang-sh">/usr/lib/usrmerge/convert-usrmerge
</code></pre>
<p>再度アップデートをおこなう。</p>
<pre><code class="lang-sh"><span class="hljs-built_in">export</span> LC_ALL=C
apt update &amp;&amp; apt upgrade
</code></pre>
<p>今度は以下のエラーが発生する。</p>
<pre><code class="lang-powershell">You might want to run <span class="hljs-string">'apt --fix-broken install'</span> to correct these.
The following packages have unmet dependencies:
 dirmngr : Depends: libldap<span class="hljs-literal">-2</span>.<span class="hljs-number">5</span><span class="hljs-literal">-0</span> (&gt;= <span class="hljs-number">2.5</span>.<span class="hljs-number">4</span>) but it is not installed
 gnupg : Depends: gpgv (&gt;= <span class="hljs-number">2.2</span>.<span class="hljs-number">40</span><span class="hljs-literal">-1</span>.<span class="hljs-number">1</span>) but <span class="hljs-number">2.2</span>.<span class="hljs-number">27</span><span class="hljs-literal">-2</span>+deb11u2 is installed
E: Unmet dependencies. <span class="hljs-keyword">Try</span> <span class="hljs-string">'apt --fix-broken install'</span> with no packages (or specify a solution).
</code></pre>
<p>書いてある指示に従い修正する。</p>
<pre><code class="lang-powershell">apt -<span class="hljs-literal">-fix</span><span class="hljs-literal">-broken</span> install
</code></pre>
<p>再度アップデートをおこなう。</p>
<pre><code class="lang-sh">apt update &amp;&amp; apt upgrade
apt full-upgrade
</code></pre>
<p>debian 12にアップグレードが完了したので、一旦再起動。Powershellに移動して、以下のコマンドを実行。</p>
<pre><code class="lang-ps1">wsl <span class="hljs-literal">-t</span> Debian12
wsl <span class="hljs-literal">-d</span> Debian12
</code></pre>
<p>debian12にアップグレードされたことを確認する。</p>
<pre><code class="lang-sh">cat /etc/os-release
</code></pre>
<p>WSLのディストリビューションの名前を変更する。</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Get-ItemProperty</span> Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\* | ? { <span class="hljs-variable">$_</span>.DistributionName <span class="hljs-operator">-eq</span> <span class="hljs-string">"Debian"</span> } | <span class="hljs-built_in">Set-ItemProperty</span> <span class="hljs-literal">-Name</span> DistributionName <span class="hljs-literal">-Value</span> DebianOld

<span class="hljs-built_in">Get-ItemProperty</span> Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\* | ? { <span class="hljs-variable">$_</span>.DistributionName <span class="hljs-operator">-eq</span> <span class="hljs-string">"Debian12"</span> } | <span class="hljs-built_in">Set-ItemProperty</span> <span class="hljs-literal">-Name</span> DistributionName <span class="hljs-literal">-Value</span> Debian
</code></pre>
<p>デフォルトのユーザを変更する。</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Get-ItemProperty</span> Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\* | ? { <span class="hljs-variable">$_</span>.DistributionName <span class="hljs-operator">-eq</span> <span class="hljs-string">"Debian"</span> } | <span class="hljs-built_in">Set-ItemProperty</span> <span class="hljs-literal">-Name</span> DefaultUid <span class="hljs-literal">-Value</span> <span class="hljs-number">1000</span>
</code></pre>
<p>最後にデフォルトのディストリビューションを切り替える。</p>
<pre><code class="lang-ps1">wsl -<span class="hljs-literal">-set</span><span class="hljs-literal">-default</span> Debian
</code></pre>
<p>細かい動作は確認していないが、これで切り替えは完了。</p>
]]></content:encoded></item><item><title><![CDATA[[メモ] 会社pc構築手順]]></title><description><![CDATA[新しくPCを構築することになったので手順をメモしておく。なお、手順は今使っているPCからの移行手順となっているので、本当に私以外にはあまり有用ではないような気がする。。
なお、OSはWindows 11 Pro（intel core i5）を使っている。順次分かりやすさ優先で追記しているので、実際に実行した順番とは異なる。そのため、この通り試しても動かないかも。
ユーザプロファイルの名称を変更する
会社のPCは職場アカウント（AzureAD; 個人用アカウントであるMicrosoftアカウントと...]]></description><link>https://miemagon.hashnode.dev/setup-new-pc-2024</link><guid isPermaLink="true">https://miemagon.hashnode.dev/setup-new-pc-2024</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Sat, 30 Mar 2024 08:57:50 GMT</pubDate><content:encoded><![CDATA[<p>新しくPCを構築することになったので手順をメモしておく。<br />なお、手順は今使っているPCからの移行手順となっているので、本当に私以外にはあまり有用ではないような気がする。。</p>
<p>なお、OSはWindows 11 Pro（intel core i5）を使っている。順次分かりやすさ優先で追記しているので、実際に実行した順番とは異なる。そのため、この通り試しても動かないかも。</p>
<h2 id="heading-44om44o844k244ox44ot44ov44kh44kk44or44gu5zcn56ew44ks5asj5pu044gz44kl">ユーザプロファイルの名称を変更する</h2>
<p>会社のPCは職場アカウント（AzureAD; 個人用アカウントであるMicrosoftアカウントとは異なる）でセットアップ済みで、ユーザプロファイルの名前が日本語名になっていた。ユーザプロファイル名がASCIIでない場合、開発者としてはトラブルが発生しそうなので、英語名に変更する。</p>
<p>よく紹介されているローカルアカウントを作成してから切り替える方法は、個人用アカウントの場合しか利用できないようだ。なので、レジストリ変更で対応した。 （ただし、これはこれでトラブル発生しやすいらしいので注意）</p>
<ol>
<li><p>管理者権限を持つローカルアカウントを作成する。</p>
</li>
<li><p>作成したローカルアカウントでログイン</p>
</li>
<li><p>レジストリの以下のキーを編集して変更</p>
<pre><code class="lang-ps1"> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\&lt;userSID&gt;\ProfileImagePath
</code></pre>
</li>
<li><p>ログアウトし、元のアカウントでログイン</p>
</li>
<li><p>1で作成したローカルアカウントを削除</p>
</li>
</ol>
<div data-node-type="callout">
<div data-node-type="callout-emoji">❗</div>
<div data-node-type="callout-text">この設定変更が関係あるのか分からないが、設定後に再起動をした後に「ユーザープロファイルを読み込めません。」と表示され、サインインができなくなった。その際は、<a target="_blank" href="https://jp.ext.hp.com/v-ivr/common/os-howto/faq/51/">このサイト</a>を参考に高速スタートアップをBIOSで無効化して一度ログインし、再起動をおこなうことで復旧できた。再起動してサインインできることを確認した後は、高速スタートアップをBIOSで有効化しても問題なくサインインできた。 調べてみると、<a target="_blank" href="https://nanige.blog/blog/23379239">HP 社製のストアアプリ「myHP」が原因で発生するとの話が出てきた</a>ので、念のため「myHP」のアンインストールをしている。</div>
</div>

<p>なお、<a target="_blank" href="https://jp.ext.hp.com/techdevice/windows10sc/26/#SI_cRWs3ZXrfLlMM97">このサイト</a>に記載があるとおり、レジストリに古いユーザプロファイルのパスが残るため、置き換えをした方が良い（と思われる）。置き換えはregeditを使えば良いのだが、いろいろ面倒なので、私は<a target="_blank" href="https://registry-finder.com/">Registry Finder</a>というツールを使用して対応した。</p>
<h2 id="heading-windows">Windowsの開発者向けオプション変更</h2>
<ul>
<li><p>ファイル拡張子を表示する</p>
</li>
<li><p>タイトルバーに完全なパスを表示する</p>
</li>
<li><p>スタート画面で別のユーザとして実行するオプションを表示する</p>
</li>
</ul>
<h2 id="heading-windows-1">Windowsのパス長制限解除</h2>
<p>管理者権限のPowerShellで以下を実行</p>
<pre><code class="lang-ps"><span class="hljs-built_in">Set-ItemProperty</span> <span class="hljs-string">"Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem"</span> <span class="hljs-literal">-Name</span> LongPathsEnabled <span class="hljs-literal">-value</span> <span class="hljs-number">1</span>
</code></pre>
<h2 id="heading-win10">右クリックメニューをWin10以前のものに戻す</h2>
<p>プライベートのPCであれば許容の範囲だが、仕事用だと新しいコンテクストメニューは使いづらいように見えるので変更する。というかいい加減カスタマイズできるようにしてほしい &gt; Microsoftさん<br /><strong>管理者権限ではない</strong>PowerShellで以下を実行</p>
<pre><code class="lang-ps"><span class="hljs-built_in">New-Item</span> <span class="hljs-string">"Registry::HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}"</span>
<span class="hljs-built_in">New-Item</span> <span class="hljs-string">"Registry::HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32"</span>
<span class="hljs-built_in">New-ItemProperty</span> <span class="hljs-literal">-Path</span> <span class="hljs-string">"Registry::HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32"</span> <span class="hljs-literal">-Name</span> <span class="hljs-string">'(Default)'</span> <span class="hljs-literal">-Value</span> <span class="hljs-string">""</span>
</code></pre>
<p>なんとなくPowershellでエントリを追加したが、思っていたより面倒だった...<br />素直に<code>reg.exe</code>を使ったほうがよさそう。</p>
<p>その後は、エクスプローラーを再起動する。</p>
<h2 id="heading-6zu75rqq44oh44ol44ol44o844gr5lyr5q2i54q25owl44gu6l95yqg">電源メニューに休止状態の追加</h2>
<p>管理者権限のコマンドプロンプトで以下を実行</p>
<pre><code class="lang-java">powercfg.exe /hibernate on
</code></pre>
<p>再起動すると表示されるようになる...はずだが、上手くいかなかったので<a target="_blank" href="https://atmarkit.itmedia.co.jp/ait/articles/2204/11/news020.html">このサイト</a>を参考にGUIで設定した。</p>
<h2 id="heading-web">スタートメニューのWeb検索機能を無効化する</h2>
<p><a target="_blank" href="https://ascii.jp/elem/000/004/080/4080258/">ASCII.jp：Windows 11、スタートメニュー検索でウェブの検索結果を表示させない方法</a>を参考に設定する。</p>
<h2 id="heading-scoop">Scoopのインストール</h2>
<p><a target="_blank" href="https://scoop.sh/#/">Scoop</a>とはWindows向けのパッケージマネージャ。<br />Microsoftのパッケージマネージャであるwingetでインストールできないアプリケーション用に用意。</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Invoke-WebRequest</span> <span class="hljs-literal">-UseBasicParsing</span> get.scoop.sh <span class="hljs-literal">-Outfile</span> installer.ps1
<span class="hljs-built_in">Set-ExecutionPolicy</span> <span class="hljs-literal">-ExecutionPolicy</span> RemoteSigned <span class="hljs-literal">-Scope</span> <span class="hljs-keyword">Process</span>
./installer.ps1
</code></pre>
<h2 id="heading-44ki44ox44oq44kx44o844k344on44oz44gu44kk44oz44k544oi44o844or">アプリケーションのインストール</h2>
<div data-node-type="callout">
<div data-node-type="callout-emoji">❗</div>
<div data-node-type="callout-text">wingetでインストール／アップデートをする際、ポータブルアプリケーション（インストーラの無いアプリ）の場合は、現時点ではシンボリックリンクの作成が可能な環境（管理者権限 もしくは 開発モード有効）でおこなった方がいい。シンボリックリンクが使える環境なら、<code>%LOCALAPPDATA%\Microsoft\WinGet\Links\</code>に実行ファイルがリンクされる場合が多く、別アプリから参照する際に扱いやすい。</div>
</div>

<h3 id="heading-teams">Teams</h3>
<p>ブラウザでダウンロードしたインストーラからおこなう、のだがエラーが出てうまくいかない。 以下のコマンドでインストールする。</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Add-AppxPackage</span> .\MSTeams<span class="hljs-literal">-x64</span>.msix
</code></pre>
<h3 id="heading-firefox">Firefox</h3>
<ul>
<li><p>ブラウザでダウンロードしたインストーラを使ってインストール</p>
</li>
<li><p>プロファイル(<code>%APPDATA%\Mozilla\Firefox\Profiles\hogehoge</code>)は旧PCから移動</p>
</li>
<li><p>プロファイル変更のため、<code>-p</code>付でFirefoxを起動。新しいプロファイルを作成したら、その中身を旧PCからコピーしたプロファイルの中身で差し替える。</p>
</li>
<li><p>旧プロファイルに設定していた多段タブ（<a target="_blank" href="https://pc-plaza.com/firefox-108-multirow-tabs/">参考</a>）に対応させるため、以下の操作を実施</p>
<ul>
<li><p><code>toolkit.legacyUserProfileCustomizations.stylesheets</code> を <code>true</code> に変更</p>
</li>
<li><p><code>%PROGRAMFILES%/Mozilla Firefox</code> の <code>config.js</code> を移動</p>
</li>
<li><p><code>%PROGRAMFILES%/Mozilla Firefox/defaults/pref</code> に <code>config-prefs.js</code> を入れる</p>
</li>
</ul>
</li>
</ul>
<h3 id="heading-thunderbird">Thunderbird</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> Mozilla.Thunderbird
</code></pre>
<ul>
<li><p>プロファイル(<code>%APPDATA%\Thunderbird\Profiles\hogehoge</code>)は旧PCから移動</p>
</li>
<li><p>プロファイルの移行手順はFirefoxと同じ。</p>
</li>
</ul>
<h3 id="heading-link-shell-extension">Link Shell Extension</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> HermannSchinagl.LinkShellExtension
</code></pre>
<h3 id="heading-sysinternals-suite">Sysinternals Suite</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> <span class="hljs-number">9</span>P7KNL5RWT25
</code></pre>
<p>ポータブル版であれば個別インストール（<code>winget install -ei --id Microsoft.Sysinternals.ProcessExplorer</code>）もできるようだったが、スタートメニューに追加されないようなので、ストア版をインストールした。</p>
<h3 id="heading-powertoys">PowerToys</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Microsoft.PowerToys
</code></pre>
<p>設定は以前のPCのものを復元。</p>
<h3 id="heading-wsl">WSL</h3>
<p>事前に旧PCからメインで使用しているOSイメージをバックアップする。</p>
<pre><code class="lang-java">wsl --export Debian Debian.tar.gz
</code></pre>
<p><a target="_blank" href="https://learn.microsoft.com/ja-jp/windows/wsl/install">WSL環境をセットアップ</a><br />管理者権限のPowershellを使って以下のコマンドを実行。</p>
<pre><code class="lang-ps1">wsl -<span class="hljs-literal">-install</span> -<span class="hljs-literal">-no</span><span class="hljs-literal">-distribution</span>
</code></pre>
<p>これだけだとWSL1は使用できないので、以下のコマンドを実行。</p>
<pre><code class="lang-ps1">dism.exe /online /<span class="hljs-built_in">enable-feature</span> /featurename:Microsoft<span class="hljs-literal">-Windows</span><span class="hljs-literal">-Subsystem</span><span class="hljs-literal">-Linux</span> /all /norestart
</code></pre>
<p>一度PCを再起動<br />バックアップしたイメージを新PCに復元する。</p>
<pre><code class="lang-ps1">mkdir <span class="hljs-variable">$env:LOCALAPPDATA</span>\wsl\debian
wsl -<span class="hljs-literal">-import</span> Debian <span class="hljs-variable">$env:LOCALAPPDATA</span>\wsl\debian .\Debian.tar.gz -<span class="hljs-literal">-version</span> <span class="hljs-number">1</span>
</code></pre>
<p>インポートした場合、デフォルトユーザが適切に設定されないため、レジストリを変更する。<br />（<code>wsl.cof</code>を使う方法もありますが、あえてレジストリで設定しています）</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Get-ItemProperty</span> Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\* | ? { <span class="hljs-variable">$_</span>.DistributionName <span class="hljs-operator">-eq</span> <span class="hljs-string">"Debian"</span> } | <span class="hljs-built_in">Set-ItemProperty</span> <span class="hljs-literal">-Name</span> DefaultUid <span class="hljs-literal">-Value</span> <span class="hljs-number">1000</span>
</code></pre>
<p>セキュリティソフトとしてESETを使っているため、DNS解決ができない問題がある。<br />したがって、<a target="_blank" href="https://blog.succi0303.com/entry/2023/11/19/221536">このサイト</a>を参考に、以下の通りファイアウォールルールを追加する。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713175507392/a2d9e687-ccbf-4870-996f-659b80344011.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-peazip">PeaZip</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Giorgiotani.Peazip
</code></pre>
<h3 id="heading-edge">Edge</h3>
<ul>
<li><p>プロファイル(<code>%LOCALAPPDATA%\Microsoft\Edge\User Data</code>)を旧PCからコピーする。</p>
</li>
<li><p><a target="_blank" href="https://ikt-s.com/new-edge-import-data/#:~:text=%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B-,%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97,%E3%81%99%E3%81%B9%E3%81%A6%E3%82%92%E3%82%B3%E3%83%94%E3%83%BC%E3%81%97%E3%81%BE%E3%81%99%E3%80%82">このサイト</a>を参考にパスワードを移行する。</p>
</li>
</ul>
<h4 id="heading-edgemicrosoft-edge">Edgeで度々表示される「Microsoft Edgeを既定のブラウザーとして設定する」を表示されないようにしたい</h4>
<p>以前は「edge://flags」を使って設定できたようだが、現在はできないようだ。<br /><a target="_blank" href="https://learn.microsoft.com/ja-jp/deployedge/microsoft-edge-policies#defaultbrowsersettingscampaignenabled">レジストリで設定できる項目にそれらしいものがあった</a>ので、これを設定して様子を見ることに。<br />管理者権限で起動したコマンドプロンプトで以下を実行する。</p>
<pre><code class="lang-java">reg add <span class="hljs-string">"HKLM\Software\Policies\Microsoft\Edge"</span> /v <span class="hljs-string">"DefaultBrowserSettingsCampaignEnabled"</span> /t REG_DWORD /d <span class="hljs-string">"0"</span>
</code></pre>
<h3 id="heading-google-chat">Google Chat</h3>
<ul>
<li>PWAなので、ブラウザから<a target="_blank" href="https://mail.google.com/chat/u/0/#chat/home">このリンク</a>にアクセスして、インストールする。</li>
</ul>
<h3 id="heading-google-chrome">Google Chrome</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Google.Chrome
</code></pre>
<ul>
<li>プロファイル(<code>%LOCALAPPDATA%\Google\Chrome\User Data</code>)を旧PCからコピーする。</li>
</ul>
<h3 id="heading-git">git</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Git.Git
</code></pre>
<p>Git Bash を管理者権限で開き、以下のコマンドを実行</p>
<pre><code class="lang-bash">git config --system core.longpaths <span class="hljs-literal">true</span>
</code></pre>
<h3 id="heading-cmder">cmder</h3>
<pre><code class="lang-java">scoop install main/cmder
</code></pre>
<h3 id="heading-visual-studio-code">Visual Studio Code</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Microsoft.VisualStudioCode
</code></pre>
<p><a target="_blank" href="https://www.naporitansushi.com/migrate-vscode-settings/#">このサイト</a>を参考に設定ファイルを旧PCから移行する。</p>
<ul>
<li><p><code>%HOMEPATH%\.vscode</code></p>
</li>
<li><p><code>%APPDATA%\Code\User</code></p>
</li>
<li><p><code>%AppData%\Code\Workspaces</code></p>
</li>
</ul>
<h3 id="heading-google-drive">Google Drive</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Google.GoogleDrive
</code></pre>
<p>Googleアカウントでログインして有効化。</p>
<h3 id="heading-onedrive">Onedrive</h3>
<p>アプリはインストール済みなので、Microsoftアカウントでログイン。</p>
<h3 id="heading-rclone">rclone</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Rclone.Rclone
</code></pre>
<p>設定ファイルは <code>rclone config file</code> で表示されるパスのものを旧PCから新PCに移動。</p>
<h3 id="heading-brokenurl">BrokenURL</h3>
<p>ブラウザの選択ツール。以下のURLからインストール。<br />https://brokenevent.com/projects/brokenurl</p>
<p>設定は旧PCの<code>%APPDATA%\BrokenEvent.BrokenUrl</code>以下のファイルを参考にして移行。</p>
<h3 id="heading-keepass">KeePass</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> DominikReichl.KeePass
</code></pre>
<h3 id="heading-devtoys">DevToys</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> <span class="hljs-number">9</span>PGCV4V3BK4W
</code></pre>
<h3 id="heading-dbeaver">DBeaver</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> <span class="hljs-string">"dbeaver.dbeaver"</span>
</code></pre>
<p>設定ファイルは、<code>%APPDATA%\DBeaverData</code>から移動。</p>
<h3 id="heading-a5sql-mk-2-a5m2">A5:SQL Mk-2 (A5M2)</h3>
<p><a target="_blank" href="https://www.vector.co.jp/soft/dl/winnt/business/se422726.html">このサイト</a>からダウンロード。ポータブル版としてセットアップ。設定は旧PCから移行。</p>
<h3 id="heading-jdk8">JDK8</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> BellSoft.LibericaJDK.<span class="hljs-number">8</span>.Full
</code></pre>
<h3 id="heading-jdk21-lts">JDK21 (LTS)</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> <span class="hljs-string">"Microsoft.OpenJDK.21"</span>
</code></pre>
<h3 id="heading-python">Python</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> <span class="hljs-string">"Python.Python.3.12"</span>
</code></pre>
<h3 id="heading-miniforge3">Miniforge3</h3>
<p>mambaを使ったPython環境マネージャー。 スクリプト的な用途はこっちを使ってる。</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> CondaForge.Miniforge3
</code></pre>
<div data-node-type="callout">
<div data-node-type="callout-emoji">📢</div>
<div data-node-type="callout-text">なお、Miniforgeはインストーラでのアップデートができない。(=wingetでのアップデートができない)ので注意。私はうっかりアップデートした結果、（インストール先を変更していたため）複数のMiniforgeをインストールすることになり、環境がおかしくなった。</div>
</div>

<p>旧環境は以下のコマンドでエクスポート</p>
<pre><code class="lang-java">mamba env export -n hoge -f hoge.yaml
</code></pre>
<p>そして以下のコマンドでインポート。</p>
<pre><code class="lang-java">mamba env create -f hoge.yaml
</code></pre>
<h3 id="heading-robosync">RoboSync</h3>
<p>robocopyのGUIラッパー。以下のURLからダウンロード。 https://www.vector.co.jp/soft/dl/winnt/util/se519824.html</p>
<h3 id="heading-winmerge">WinMerge</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> WinMerge.WinMerge
</code></pre>
<h3 id="heading-windows-terminal">Windows Terminal</h3>
<ul>
<li><p><code>%LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState</code>にある設定ファイルを旧PCのもので置き換え。</p>
</li>
<li><p>設定/規定値/開始ディレクトリを「親プロセスディレクトリの使用」に変更</p>
</li>
</ul>
<h3 id="heading-obs-studio">OBS Studio</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ie</span> -<span class="hljs-literal">-id</span> OBSProject.OBSStudio
</code></pre>
<ul>
<li>仮想カメラのプレースホルダ画像を変更したい場合は、<code>C:\Program Files\obs-studio\data\obs-plugins\win-dshow\placeholder.png</code> (PNG形式/1920x1080) を差し替える。</li>
</ul>
<h3 id="heading-nodejslts">node.js(LTS)</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> OpenJS.NodeJS.LTS
</code></pre>
<h3 id="heading-visual-studio-build-tools-2022">Visual Studio Build Tools 2022</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Microsoft.VisualStudio.<span class="hljs-number">2022</span>.BuildTools
</code></pre>
<h3 id="heading-wireshark">WireShark</h3>
<pre><code class="lang-ps1"> winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> WiresharkFoundation.Wireshark
</code></pre>
<h3 id="heading-smtp4dev">smtp4dev</h3>
<p>ダミーのメールサーバ<br />https://github.com/rnwood/smtp4dev からダウンロード。</p>
<h3 id="heading-libreoffice">LibreOffice</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> TheDocumentFoundation.LibreOffice.LTS
</code></pre>
<h3 id="heading-podman-desktop">Podman Desktop</h3>
<p>Dockerの代替。</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> RedHat.Podman<span class="hljs-literal">-Desktop</span>
</code></pre>
<h3 id="heading-adobe-reader">Adobe Reader</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Adobe.Acrobat.Reader.<span class="hljs-number">64</span><span class="hljs-literal">-bit</span>
</code></pre>
<h3 id="heading-eartrumpet">EarTrumpet</h3>
<p>音量調整。あんまり使ってない。</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> <span class="hljs-string">"9NBLGGH516XP"</span>
</code></pre>
<h3 id="heading-cubepdf">CubePDF</h3>
<p><code>winget</code>でインストールされるバージョンが古いため、<a target="_blank" href="https://www.cube-soft.jp/cubepdf/">このページ</a>から直接ダウンロードしてインストール。</p>
<h3 id="heading-cubepdf-utility">CubePDF Utility</h3>
<p><a target="_blank" href="https://www.cube-soft.jp/cubepdfutility/">このページ</a>から直接ダウンロードしてインストール。</p>
<h3 id="heading-cubepdf-imagepicker">CubePDF ImagePicker</h3>
<p><a target="_blank" href="https://forest.watch.impress.co.jp/library/software/cubepdf_ip/">窓の杜</a>からダウンロード・インストール</p>
<h3 id="heading-powershell">PowerShell (最新版)</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Microsoft.PowerShell -<span class="hljs-literal">-source</span> winget
</code></pre>
<h3 id="heading-hyper-v">Hyper-V</h3>
<p>管理者権限のPowerShellで以下を実行</p>
<pre><code class="lang-ps1"><span class="hljs-built_in">Enable-WindowsOptionalFeature</span> <span class="hljs-literal">-Online</span> <span class="hljs-literal">-FeatureName</span> Microsoft<span class="hljs-literal">-Hyper</span><span class="hljs-literal">-V</span> <span class="hljs-literal">-All</span>
</code></pre>
<h3 id="heading-winscp">WinSCP</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> WinSCP.WinSCP
</code></pre>
<h3 id="heading-virtualbox">VirtualBox</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Oracle.VirtualBox
</code></pre>
<h3 id="heading-imhex">ImHex</h3>
<p>バイナリエディタ</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> WerWolv.ImHex
</code></pre>
<h3 id="heading-favbinedit">FavBinEdit</h3>
<p><a target="_blank" href="https://www.vector.co.jp/soft/cmt/winnt/util/se504539.html">ここ</a>からダウンロード</p>
<h3 id="heading-diskinfo3">DiskInfo3</h3>
<p><a target="_blank" href="https://forest.watch.impress.co.jp/library/software/diskinfo/">ここ</a>からダウンロード</p>
<h3 id="heading-inkscape">Inkscape</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Inkscape.Inkscape
</code></pre>
<h3 id="heading-gimp">GIMP</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> GIMP.GIMP
</code></pre>
<h3 id="heading-gsudo">gsudo</h3>
<p><a target="_blank" href="https://devblogs.microsoft.com/commandline/introducing-sudo-for-windows/">sudo for windows</a>も出る予定らしいが、まだ降ってこないのと、こちらの方が便利そうなのでインストール。</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> gerardog.gsudo
</code></pre>
<h3 id="heading-sqlcmd">sqlcmd</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Microsoft.Sqlcmd
</code></pre>
<h3 id="heading-sql-server-odbc-driver">SQL Server ODBC Driver</h3>
<p>pyodbcから使用するには、ODBCドライバが必要であるため、以下からインストールする。<br />(Microsoft ODBC Driver 18 for SQL Server)</p>
<p>https://learn.microsoft.com/ja-jp/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16#download-for-windows</p>
<h3 id="heading-mery">Mery</h3>
<p>Wingetでインストールできるのだが、ポータブル版を使用したい かつ 無断登録で<a target="_blank" href="https://www.haijin-boys.com/discussions/6072">作者の方が「あまり気持ちの良いものではない」旨を記載している</a>ので、手動で<a target="_blank" href="https://www.haijin-boys.com/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8">このページ</a>からZIP版をダウンロード・展開をおこなってセットアップをした。<br />ZIP版をポータブル版に変更するために、<a target="_blank" href="https://www.haijin-boys.com/software/mery/mery-tips#13">このページ</a>に記載の内容を実施。</p>
<p>Mery ver.2とver.3(ベータ版)との差異がかなり大きいことに気づく。 使いたい機能がver.3にしかないので、そちらに乗り換える。ベータ版については、特に配布ページが決まっていない？ようなので、<a target="_blank" href="https://www.haijin-boys.com/software/mery">開発者の方のブログの「Mery」タグへのリンク</a>を貼る。ここから、ポータブル版のファイルをダウンロード。</p>
<h3 id="heading-pandoc">pandoc</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> JohnMacFarlane.Pandoc
</code></pre>
<h3 id="heading-notepad">Notepad++</h3>
<p>ポータブル版を使用したいので、手動で<a target="_blank" href="https://notepad-plus-plus.org/downloads/">このページ</a>からポータブル版をダウンロード・展開をおこなってセットアップをした。</p>
<h3 id="heading-docker-docker-compose">Docker / Docker Compose</h3>
<p><a target="_blank" href="/windows-container-on-windows-11-pro">このページ</a>を参照</p>
<h3 id="heading-duckdb">duckdb</h3>
<p>CSV等のクエリを実行</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> DuckDB.cli
</code></pre>
<h3 id="heading-pipx">pipx</h3>
<pre><code class="lang-java">scoop install pipx
pipx ensurepath
</code></pre>
<h3 id="heading-jbang">jbang</h3>
<pre><code class="lang-java">scoop bucket add jbangdev https:<span class="hljs-comment">//github.com/jbangdev/scoop-bucket</span>
scoop install jbang
</code></pre>
<h3 id="heading-harlequin">harlequin</h3>
<p>CLIで実行可能なSQLエディタ<br />デフォルトでduckdbが使用できる。</p>
<pre><code class="lang-java">pipx install harlequin
pipx inject harlequin harlequin-odbc
</code></pre>
<h3 id="heading-twinkle-tray">Twinkle Tray</h3>
<p>輝度調整のアプリ</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> <span class="hljs-string">"9PLJWWSV01LK"</span>
</code></pre>
<h3 id="heading-nushell">Nushell</h3>
<p>いい感じのデータ検索用シェル。DBにも接続できればサイコーなのだが。</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Nushell.Nushell
</code></pre>
<h3 id="heading-net-8">.NET 8</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Microsoft.DotNet.SDK.<span class="hljs-number">8</span>
</code></pre>
<h3 id="heading-loqseq">Loqseq</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Logseq.Logseq
</code></pre>
<h3 id="heading-pdftk">pdftk</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> PDFLabs.PDFtk.Server
</code></pre>
<h3 id="heading-paintnet">Paint.net</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> dotPDN.PaintDotNet
</code></pre>
<h3 id="heading-cassava-editor">Cassava Editor</h3>
<p>CSV編集ソフト。<a target="_blank" href="https://forest.watch.impress.co.jp/library/software/cassavaedit/">窓の杜</a>からダウンロード。</p>
<h3 id="heading-winfsp">WinFsp</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> WinFsp.WinFsp
</code></pre>
<h3 id="heading-obsidian">Obsidian</h3>
<p>LogSeqから移行。wingetでもインストールできそうだけど、普通に<a target="_blank" href="https://obsidian.md/download">公式サイト</a>からインストールした。</p>
<h3 id="heading-44kt44o844oc44o844oj44k344of44ol44os44o844k">キーボードシミュレータ</h3>
<p><a target="_blank" href="https://www.vector.co.jp/soft/winnt/util/se391764.html">Vector</a>からダウンロード。 パスワードマネージャーが使えない場面で重宝。</p>
<h3 id="heading-treesizefree">TreeSizeFree</h3>
<p>DiskInfo3の動作が重くなってしまったのでその代替として。 <a target="_blank" href="https://www.jam-software.com/treesize">ここ</a>からダウンロード</p>
<h3 id="heading-ksnip">KSnip</h3>
<p>スクリーンショットを撮影するアプリ。Windows標準のアプリと並行して使用。 範囲指定してキャプチャできるのが便利。<br /><a target="_blank" href="https://github.com/ksnip/ksnip">ここ</a>からダウンロード。PowerToysを使って、以下のように設定することで、グローバルショートカットで呼び出せるようにしている。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756906335358/0ddace7a-1bdb-4afb-becc-c774eaa40e25.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-klogg">Klogg</h3>
<p><a target="_blank" href="https://klogg.filimonov.dev/">ここ</a>からダウンロード。ログファイルのビュワー。</p>
<h3 id="heading-go">Go</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> GoLang.Go
</code></pre>
<h3 id="heading-uv">uv</h3>
<p>Pythonにおけるnpmのようなもの。管理者権限での実行を推奨。</p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> astral<span class="hljs-literal">-sh</span>.uv
</code></pre>
<h3 id="heading-pixi">pixi</h3>
<p>uvのconda版のようなもの。<br />conda-forgeをリポジトリとして使ったマルチプラットフォーム対応のパッケージマネージャのように使うことも出来る。   </p>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> prefix<span class="hljs-literal">-dev</span>.pixi
</code></pre>
<h3 id="heading-rust">Rust</h3>
<pre><code class="lang-ps1">winget install <span class="hljs-literal">-ei</span> -<span class="hljs-literal">-id</span> Rustlang.Rustup
</code></pre>
]]></content:encoded></item><item><title><![CDATA[[メモ] NetbeansでJavaを編集しているときに出てくるIDEの警告を抑制する]]></title><description><![CDATA[@SuppressWarnings("UseSpecificCatch")

例えば、Exceptionでcatchすると出る警告を抑制したい場合は↑のように書く。この「SuppressWarningsアノテーション」自体はJavaの仕様上に存在するものだが、その引数で渡す値、この例では"UseSpecificCatch"の部分はIDEによって異なる。
Netbeansで抑制できる警告の種類は特にまとまった資料が見つからない。Netbeansのソースコードにおけるリソースファイルを参照に設定する...]]></description><link>https://miemagon.hashnode.dev/netbeans-suppress-warning</link><guid isPermaLink="true">https://miemagon.hashnode.dev/netbeans-suppress-warning</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Wed, 20 Dec 2023 03:34:29 GMT</pubDate><content:encoded><![CDATA[<pre><code class="lang-java"><span class="hljs-meta">@SuppressWarnings("UseSpecificCatch")</span>
</code></pre>
<p>例えば、Exceptionでcatchすると出る警告を抑制したい場合は↑のように書く。<br />この「SuppressWarningsアノテーション」自体はJavaの仕様上に存在するものだが、その引数で渡す値、この例では"UseSpecificCatch"の部分はIDEによって異なる。</p>
<p>Netbeansで抑制できる警告の種類は特にまとまった資料が見つからない。<br />Netbeansのソースコードにおけるリソースファイルを参照に設定するしか無いようだ。</p>
<ul>
<li><a target="_blank" href="https://github.com/apache/netbeans/blob/ac3936a4bdc7828721f45bba2feece190bc99a43/java/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties#L45">java/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[NetBeansとTomEEの組み合わせで、突然デプロイに失敗するようになる件]]></title><description><![CDATA[タイトルの通り、NetBeans15 + TomEEの組み合わせで開発をおこなっていた際、ビルドは問題ないのに突然デプロイに失敗するようになりました。
このとき、TomEEのログには 「java.lang.RuntimeException: java.lang.ClassNotFoundException: <クラス名>」と出ますが、このクラスはエラーなくビルドできており、classファイルも存在するので、大変困りました。
全てのケースで解決するとは限りませんが、私の環境の場合はNetBeans...]]></description><link>https://miemagon.hashnode.dev/netbeanstomeedeployerror</link><guid isPermaLink="true">https://miemagon.hashnode.dev/netbeanstomeedeployerror</guid><dc:creator><![CDATA[miemagon]]></dc:creator><pubDate>Thu, 10 Aug 2023 02:01:34 GMT</pubDate><content:encoded><![CDATA[<p>タイトルの通り、NetBeans15 + TomEEの組み合わせで開発をおこなっていた際、ビルドは問題ないのに突然デプロイに失敗するようになりました。</p>
<p>このとき、TomEEのログには 「java.lang.RuntimeException: java.lang.ClassNotFoundException: &lt;クラス名&gt;」と出ますが、このクラスはエラーなくビルドできており、classファイルも存在するので、大変困りました。</p>
<p>全てのケースで解決するとは限りませんが、私の環境の場合はNetBeansのキャッシュをクリアすることで直りました。NetBeansのキャッシュは、Windowsの場合は「%LOCALAPPDATA%\NetBeans\Cach」にありますので、NetBeansを停止した状況でフォルダ毎削除をします。</p>
<p>誰かの参考になれば幸いです。</p>
]]></content:encoded></item></channel></rss>