<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>たむたむの日記</title>
    <link>https://blog.orz.at/</link>
    
    <atom:link href="https://blog.orz.at/rss2.xml" rel="self" type="application/rss+xml"/>
    
    <description>インフラエンジニアやSREと勘違いされる事が多いですが、本業はバリバリとサービス開発をするソフトウェアエンジニアです。
本業のサービスやビジネスに直結する話は書けないため、ミドルウェアの話が多めです。&lt;br/&gt;
インターネットにゴミ(駄文)をまき散らすマン。
</description>
    <pubDate>Sun, 12 Oct 2025 10:17:39 GMT</pubDate>
    <generator>http://hexo.io/</generator>
    
    <item>
      <title>wasmのesbuildを使う その2</title>
      <link>https://blog.orz.at/2025/10/12/esbuild-wasm2/</link>
      <guid>https://blog.orz.at/2025/10/12/esbuild-wasm2/</guid>
      <pubDate>Sun, 12 Oct 2025 10:12:38 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;前回の方法: &lt;a href=&quot;../../../2023/12/20/esbuild-wasm.md&quot;&gt;esbuildのwasmを使う&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;他の方法として、devDependencyを設定する。これでもesbuildを実行するとwasm版が使われるように</description>
        
      
      
      
      <content:encoded><![CDATA[<p>前回の方法: <a href="../../../2023/12/20/esbuild-wasm.md">esbuildのwasmを使う</a></p><p>他の方法として、devDependencyを設定する。これでもesbuildを実行するとwasm版が使われるようになります。</p><figure class="highlight ts"><table><tr><td class="code"><pre><span class="line"><span class="string">&quot;devDependencies&quot;</span>: &#123;</span><br><span class="line">  <span class="string">&quot;esbuild&quot;</span>: <span class="string">&quot;npm:esbuild-wasm@*&quot;</span>,</span><br><span class="line">  <span class="string">&quot;esbuild-wasm&quot;</span>: <span class="string">&quot;^0.25.4&quot;</span>,</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="参考"><a href="#参考" class="headerlink" title="参考"></a>参考</h2><p><a href="https://github.com/yarnpkg/berry/pull/2362/files">Switches the build to ESBuild by arcanis · Pull Request #2362 · yarnpkg/berry</a></p>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Tech/">Tech</category>
      
      <category domain="https://blog.orz.at/categories/Tech/JavaScript/">JavaScript</category>
      
      
      <category domain="https://blog.orz.at/tags/JavaScript/">JavaScript</category>
      
      
      <comments>https://blog.orz.at/2025/10/12/esbuild-wasm2/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>Amazonで「配達不能」になった荷物</title>
      <link>https://blog.orz.at/2025/10/11/amazon-cancel/</link>
      <guid>https://blog.orz.at/2025/10/11/amazon-cancel/</guid>
      <pubDate>Sat, 11 Oct 2025 12:01:06 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;先日Amazonで購入した商品のうち、一部だけが届かないという事態が発生しました。&lt;br&gt;複数の荷物が同じ時間に配送開始されたはずなのに、なぜか一部だけが配達されて、残りの荷物は音沙汰なし。配達を忘れられたのか、それとも紛失してしまったのかはわかりませんが、翌日になっても届</description>
        
      
      
      
      <content:encoded><![CDATA[<p>先日Amazonで購入した商品のうち、一部だけが届かないという事態が発生しました。<br>複数の荷物が同じ時間に配送開始されたはずなのに、なぜか一部だけが配達されて、残りの荷物は音沙汰なし。配達を忘れられたのか、それとも紛失してしまったのかはわかりませんが、翌日になっても届く気配がなく、3個の注文がそのまま放置されてしまいました。</p><p>その後、ステータスが「配達予定でした」に変わり、しばらくそのまま。さらに時間が経つと「配達不能」となって、自動的に返品処理が始まりました。ところが、返品中のステータスのまま全く動かず、返金もされないという困った状態に。</p><p>このままでは埒が明かないと思い、Amazonのカスタマーセンターにチャットで問い合わせることにしました。<br>トラッキングID、注文ID、状況、そして対応してほしい内容を端的にまとめてお伝えしました。最近のカスタマーサポートは翻訳ツールを使っていることも多いので、だらだらと長文を書くよりも、簡潔に要点を伝えた方が効果的だと思います。<br>対応してほしいことは箇条書きにして、荷物の状況調査と返金のお願いを明記しました。</p><p>返金方法は、ギフト券か決済元（クレジットカード）への返金かを選べるのですが、クレジットカードだと反映や確認に時間がかかるため、今回はギフト券で返金していただくことにしました。</p><p>15分ほどで対応が完了し、数時間後には返金対応完了のメールが届いて、ギフト券の残高にチャージされていることを確認できました。</p><p>正直なところ、よくわからない配達業者よりも、送料を払ってでもヤマト運輸や佐川急便、日本郵便といった信頼できる業者で配送してほしいというのが本音です。<br>Amazonは配達面で不安を感じることが多いので、最近は購入できるものはなるべくヨドバシで買うようにしています。</p>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Life/">Life</category>
      
      
      
      <comments>https://blog.orz.at/2025/10/11/amazon-cancel/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>ExcelJSのテーマを変更する</title>
      <link>https://blog.orz.at/2024/09/17/excel-js-theme/</link>
      <guid>https://blog.orz.at/2024/09/17/excel-js-theme/</guid>
      <pubDate>Tue, 17 Sep 2024 09:21:56 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;&lt;a href=&quot;https://github.com/exceljs/exceljs&quot;&gt;ExcelJS&lt;/a&gt;でXLSXファイルを出力すると、古いOfficeのテーマが適用されます。&lt;br&gt;それは同梱されているテーマファイルが古いOfficeのテーマだからです。&lt;/p&gt;
</description>
        
      
      
      
      <content:encoded><![CDATA[<p><a href="https://github.com/exceljs/exceljs">ExcelJS</a>でXLSXファイルを出力すると、古いOfficeのテーマが適用されます。<br>それは同梱されているテーマファイルが古いOfficeのテーマだからです。</p><figure class="highlight text"><figcaption><span>exceljs/lib/xlsx/xml/</span><a href="https://github.com/exceljs/exceljs/tree/v4.4.0/lib/xlsx/xml">link</a></figcaption><table><tr><td class="code"><pre><span class="line">exceljs/lib/xlsx//xml/</span><br><span class="line">  theme1.js</span><br><span class="line">  theme1.xml</span><br></pre></td></tr></table></figure><p>例えばフォントが<code>ＭＳ Ｐゴシック</code>だったりします。新しいテーマは<code>游ゴシック</code>。</p><h2 id="新しいテーマを利用する方法"><a href="#新しいテーマを利用する方法" class="headerlink" title="新しいテーマを利用する方法"></a>新しいテーマを利用する方法</h2><p>まずテーマファイルを用意します。<br>Microsoft 365のEXCELでファイルを作成しXLSXファイルとして保存します。XLSXはZIPファイルなので拡張子をZIPにして中身を取り出します。中身は以下の構造になっており、<code>xl/theme/theme1.xml</code>が該当するテーマファイルです。</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">./[Content_Types].xml</span><br><span class="line">./_rels</span><br><span class="line">./_rels/.rels</span><br><span class="line">./docProps</span><br><span class="line">./docProps/app.xml</span><br><span class="line">./docProps/core.xml</span><br><span class="line">./xl</span><br><span class="line">./xl/_rels</span><br><span class="line">./xl/_rels/workbook.xml.rels</span><br><span class="line">./xl/styles.xml</span><br><span class="line">./xl/theme</span><br><span class="line">./xl/theme/theme1.xml</span><br><span class="line">./xl/workbook.xml</span><br><span class="line">./xl/worksheets</span><br><span class="line">./xl/worksheets/sheet1.xml</span><br></pre></td></tr></table></figure><p>ExcelJSではテーマファイルを扱う正規のInterfaceがありません。そのため少し回りくどい方法で設定する必要があります。ライブラリのバージョンが変わるとこの方法では適用できなるかもしれません。</p><figure class="highlight js"><figcaption><span>my-theme1.js</span></figcaption><table><tr><td class="code"><pre><span class="line"><span class="variable language_">module</span>.<span class="property">exports</span> =</span><br><span class="line">  <span class="string">&#x27;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;</span></span><br><span class="line"><span class="string">&lt;a:theme xmlns:a=&quot;http://schemas.openxmlformats.org/drawingml/2006/main&quot; name=&quot;Office テーマ&quot;&gt;&lt;a:themeElements&gt;&lt;a:clrScheme name=&quot;Office&quot;&gt;&lt;a:dk1&gt;&lt;a:sysClr val=&quot;windowText&quot; lastClr=&quot;000000&quot;/&gt;&lt;/a:dk1&gt;&lt;a:lt1&gt;&lt;a:sysClr val=&quot;window&quot; lastClr=&quot;FFFFFF&quot;/&gt;&lt;/a:lt1&gt;&lt;a:dk2&gt;&lt;a:srgbClr val=&quot;0E2841&quot;/&gt;&lt;/a:dk2&gt;&lt;a:lt2&gt;&lt;a:srgbClr val=&quot;E8E8E8&quot;/&gt;&lt;/a:lt2&gt;&lt;a:accent1&gt;&lt;a:srgbClr val=&quot;156082&quot;/&gt;&lt;/a:accent1&gt;&lt;a:accent2&gt;&lt;a:srgbClr val=&quot;E97132&quot;/&gt;&lt;/a:accent2&gt;&lt;a:accent3&gt;&lt;a:srgbClr val=&quot;196B24&quot;/&gt;&lt;/a:accent3&gt;&lt;a:accent4&gt;&lt;a:srgbClr val=&quot;0F9ED5&quot;/&gt;&lt;/a:accent4&gt;&lt;a:accent5&gt;&lt;a:srgbClr val=&quot;A02B93&quot;/&gt;&lt;/a:accent5&gt;&lt;a:accent6&gt;&lt;a:srgbClr val=&quot;4EA72E&quot;/&gt;&lt;/a:accent6&gt;&lt;a:hlink&gt;&lt;a:srgbClr val=&quot;467886&quot;/&gt;&lt;/a:hlink&gt;&lt;a:folHlink&gt;&lt;a:srgbClr val=&quot;96607D&quot;/&gt;&lt;/a:folHlink&gt;&lt;/a:clrScheme&gt;&lt;a:fontScheme name=&quot;Office&quot;&gt;&lt;a:majorFont&gt;&lt;a:latin typeface=&quot;Aptos Display&quot; panose=&quot;02110004020202020204&quot;/&gt;&lt;a:ea typeface=&quot;&quot;/&gt;&lt;a:cs typeface=&quot;&quot;/&gt;&lt;a:font script=&quot;Jpan&quot; typeface=&quot;游ゴシック Light&quot;/&gt;&lt;a:font script=&quot;Hang&quot; typeface=&quot;맑은 고딕&quot;/&gt;&lt;a:font script=&quot;Hans&quot; typeface=&quot;等线 Light&quot;/&gt;&lt;a:font script=&quot;Hant&quot; typeface=&quot;新細明體&quot;/&gt;&lt;a:font script=&quot;Arab&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Hebr&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Thai&quot; typeface=&quot;Tahoma&quot;/&gt;&lt;a:font script=&quot;Ethi&quot; typeface=&quot;Nyala&quot;/&gt;&lt;a:font script=&quot;Beng&quot; typeface=&quot;Vrinda&quot;/&gt;&lt;a:font script=&quot;Gujr&quot; typeface=&quot;Shruti&quot;/&gt;&lt;a:font script=&quot;Khmr&quot; typeface=&quot;MoolBoran&quot;/&gt;&lt;a:font script=&quot;Knda&quot; typeface=&quot;Tunga&quot;/&gt;&lt;a:font script=&quot;Guru&quot; typeface=&quot;Raavi&quot;/&gt;&lt;a:font script=&quot;Cans&quot; typeface=&quot;Euphemia&quot;/&gt;&lt;a:font script=&quot;Cher&quot; typeface=&quot;Plantagenet Cherokee&quot;/&gt;&lt;a:font script=&quot;Yiii&quot; typeface=&quot;Microsoft Yi Baiti&quot;/&gt;&lt;a:font script=&quot;Tibt&quot; typeface=&quot;Microsoft Himalaya&quot;/&gt;&lt;a:font script=&quot;Thaa&quot; typeface=&quot;MV Boli&quot;/&gt;&lt;a:font script=&quot;Deva&quot; typeface=&quot;Mangal&quot;/&gt;&lt;a:font script=&quot;Telu&quot; typeface=&quot;Gautami&quot;/&gt;&lt;a:font script=&quot;Taml&quot; typeface=&quot;Latha&quot;/&gt;&lt;a:font script=&quot;Syrc&quot; typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Orya&quot; typeface=&quot;Kalinga&quot;/&gt;&lt;a:font script=&quot;Mlym&quot; typeface=&quot;Kartika&quot;/&gt;&lt;a:font script=&quot;Laoo&quot; typeface=&quot;DokChampa&quot;/&gt;&lt;a:font script=&quot;Sinh&quot; typeface=&quot;Iskoola Pota&quot;/&gt;&lt;a:font script=&quot;Mong&quot; typeface=&quot;Mongolian Baiti&quot;/&gt;&lt;a:font script=&quot;Viet&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Uigh&quot; typeface=&quot;Microsoft Uighur&quot;/&gt;&lt;a:font script=&quot;Geor&quot; typeface=&quot;Sylfaen&quot;/&gt;&lt;a:font script=&quot;Armn&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Bugi&quot; typeface=&quot;Leelawadee UI&quot;/&gt;&lt;a:font script=&quot;Bopo&quot; typeface=&quot;Microsoft JhengHei&quot;/&gt;&lt;a:font script=&quot;Java&quot; typeface=&quot;Javanese Text&quot;/&gt;&lt;a:font script=&quot;Lisu&quot; typeface=&quot;Segoe UI&quot;/&gt;&lt;a:font script=&quot;Mymr&quot; typeface=&quot;Myanmar Text&quot;/&gt;&lt;a:font script=&quot;Nkoo&quot; typeface=&quot;Ebrima&quot;/&gt;&lt;a:font script=&quot;Olck&quot; typeface=&quot;Nirmala UI&quot;/&gt;&lt;a:font script=&quot;Osma&quot; typeface=&quot;Ebrima&quot;/&gt;&lt;a:font script=&quot;Phag&quot; typeface=&quot;Phagspa&quot;/&gt;&lt;a:font script=&quot;Syrn&quot; typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Syrj&quot; typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Syre&quot; typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Sora&quot; typeface=&quot;Nirmala UI&quot;/&gt;&lt;a:font script=&quot;Tale&quot; typeface=&quot;Microsoft Tai Le&quot;/&gt;&lt;a:font script=&quot;Talu&quot; typeface=&quot;Microsoft New Tai Lue&quot;/&gt;&lt;a:font script=&quot;Tfng&quot; typeface=&quot;Ebrima&quot;/&gt;&lt;/a:majorFont&gt;&lt;a:minorFont&gt;&lt;a:latin typeface=&quot;Aptos Narrow&quot; panose=&quot;02110004020202020204&quot;/&gt;&lt;a:ea typeface=&quot;&quot;/&gt;&lt;a:cs typeface=&quot;&quot;/&gt;&lt;a:font script=&quot;Jpan&quot; typeface=&quot;游ゴシック&quot;/&gt;&lt;a:font script=&quot;Hang&quot; typeface=&quot;맑은 고딕&quot;/&gt;&lt;a:font script=&quot;Hans&quot; typeface=&quot;等线&quot;/&gt;&lt;a:font script=&quot;Hant&quot; typeface=&quot;新細明體&quot;/&gt;&lt;a:font script=&quot;Arab&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Hebr&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Thai&quot; typeface=&quot;Tahoma&quot;/&gt;&lt;a:font script=&quot;Ethi&quot; typeface=&quot;Nyala&quot;/&gt;&lt;a:font script=&quot;Beng&quot; typeface=&quot;Vrinda&quot;/&gt;&lt;a:font script=&quot;Gujr&quot; typeface=&quot;Shruti&quot;/&gt;&lt;a:font script=&quot;Khmr&quot; typeface=&quot;DaunPenh&quot;/&gt;&lt;a:font script=&quot;Knda&quot; typeface=&quot;Tunga&quot;/&gt;&lt;a:font script=&quot;Guru&quot; typeface=&quot;Raavi&quot;/&gt;&lt;a:font script=&quot;Cans&quot; typeface=&quot;Euphemia&quot;/&gt;&lt;a:font script=&quot;Cher&quot; typeface=&quot;Plantagenet Cherokee&quot;/&gt;&lt;a:font script=&quot;Yiii&quot; typeface=&quot;Microsoft Yi Baiti&quot;/&gt;&lt;a:font script=&quot;Tibt&quot; typeface=&quot;Microsoft Himalaya&quot;/&gt;&lt;a:font script=&quot;Thaa&quot; typeface=&quot;MV Boli&quot;/&gt;&lt;a:font script=&quot;Deva&quot; typeface=&quot;Mangal&quot;/&gt;&lt;a:font script=&quot;Telu&quot; typeface=&quot;Gautami&quot;/&gt;&lt;a:font script=&quot;Taml&quot; typeface=&quot;Latha&quot;/&gt;&lt;a:font script=&quot;Syrc&quot; typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Orya&quot; typeface=&quot;Kalinga&quot;/&gt;&lt;a:font script=&quot;Mlym&quot; typeface=&quot;Kartika&quot;/&gt;&lt;a:font script=&quot;Laoo&quot; typeface=&quot;DokChampa&quot;/&gt;&lt;a:font script=&quot;Sinh&quot; typeface=&quot;Iskoola Pota&quot;/&gt;&lt;a:font script=&quot;Mong&quot; typeface=&quot;Mongolian Baiti&quot;/&gt;&lt;a:font script=&quot;Viet&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Uigh&quot; typeface=&quot;Microsoft Uighur&quot;/&gt;&lt;a:font script=&quot;Geor&quot; typeface=&quot;Sylfaen&quot;/&gt;&lt;a:font script=&quot;Armn&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Bugi&quot; typeface=&quot;Leelawadee UI&quot;/&gt;&lt;a:font script=&quot;Bopo&quot; typeface=&quot;Microsoft JhengHei&quot;/&gt;&lt;a:font script=&quot;Java&quot; typeface=&quot;Javanese Text&quot;/&gt;&lt;a:font script=&quot;Lisu&quot; typeface=&quot;Segoe UI&quot;/&gt;&lt;a:font script=&quot;Mymr&quot; typeface=&quot;Myanmar Text&quot;/&gt;&lt;a:font script=&quot;Nkoo&quot; typeface=&quot;Ebrima&quot;/&gt;&lt;a:font script=&quot;Olck&quot; typeface=&quot;Nirmala UI&quot;/&gt;&lt;a:font script=&quot;Osma&quot; typeface=&quot;Ebrima&quot;/&gt;&lt;a:font script=&quot;Phag&quot; typeface=&quot;Phagspa&quot;/&gt;&lt;a:font script=&quot;Syrn&quot; typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Syrj&quot; typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Syre&quot; typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Sora&quot; typeface=&quot;Nirmala UI&quot;/&gt;&lt;a:font script=&quot;Tale&quot; typeface=&quot;Microsoft Tai Le&quot;/&gt;&lt;a:font script=&quot;Talu&quot; typeface=&quot;Microsoft New Tai Lue&quot;/&gt;&lt;a:font script=&quot;Tfng&quot; typeface=&quot;Ebrima&quot;/&gt;&lt;/a:minorFont&gt;&lt;/a:fontScheme&gt;&lt;a:fmtScheme name=&quot;Office&quot;&gt;&lt;a:fillStyleLst&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:lumMod val=&quot;110000&quot;/&gt;&lt;a:satMod val=&quot;105000&quot;/&gt;&lt;a:tint val=&quot;67000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;50000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:lumMod val=&quot;105000&quot;/&gt;&lt;a:satMod val=&quot;103000&quot;/&gt;&lt;a:tint val=&quot;73000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:lumMod val=&quot;105000&quot;/&gt;&lt;a:satMod val=&quot;109000&quot;/&gt;&lt;a:tint val=&quot;81000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;5400000&quot; scaled=&quot;0&quot;/&gt;&lt;/a:gradFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:satMod val=&quot;103000&quot;/&gt;&lt;a:lumMod val=&quot;102000&quot;/&gt;&lt;a:tint val=&quot;94000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;50000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:satMod val=&quot;110000&quot;/&gt;&lt;a:lumMod val=&quot;100000&quot;/&gt;&lt;a:shade val=&quot;100000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:lumMod val=&quot;99000&quot;/&gt;&lt;a:satMod val=&quot;120000&quot;/&gt;&lt;a:shade val=&quot;78000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;5400000&quot; scaled=&quot;0&quot;/&gt;&lt;/a:gradFill&gt;&lt;/a:fillStyleLst&gt;&lt;a:lnStyleLst&gt;&lt;a:ln w=&quot;12700&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;a:miter lim=&quot;800000&quot;/&gt;&lt;/a:ln&gt;&lt;a:ln w=&quot;19050&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;a:miter lim=&quot;800000&quot;/&gt;&lt;/a:ln&gt;&lt;a:ln w=&quot;25400&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;a:miter lim=&quot;800000&quot;/&gt;&lt;/a:ln&gt;&lt;/a:lnStyleLst&gt;&lt;a:effectStyleLst&gt;&lt;a:effectStyle&gt;&lt;a:effectLst/&gt;&lt;/a:effectStyle&gt;&lt;a:effectStyle&gt;&lt;a:effectLst/&gt;&lt;/a:effectStyle&gt;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&lt;a:outerShdw blurRad=&quot;57150&quot; dist=&quot;19050&quot; dir=&quot;5400000&quot; algn=&quot;ctr&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;63000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;/a:effectStyle&gt;&lt;/a:effectStyleLst&gt;&lt;a:bgFillStyleLst&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;95000&quot;/&gt;&lt;a:satMod val=&quot;170000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:solidFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;93000&quot;/&gt;&lt;a:satMod val=&quot;150000&quot;/&gt;&lt;a:shade val=&quot;98000&quot;/&gt;&lt;a:lumMod val=&quot;102000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;50000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;98000&quot;/&gt;&lt;a:satMod val=&quot;130000&quot;/&gt;&lt;a:shade val=&quot;90000&quot;/&gt;&lt;a:lumMod val=&quot;103000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;63000&quot;/&gt;&lt;a:satMod val=&quot;120000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;5400000&quot; scaled=&quot;0&quot;/&gt;&lt;/a:gradFill&gt;&lt;/a:bgFillStyleLst&gt;&lt;/a:fmtScheme&gt;&lt;/a:themeElements&gt;&lt;a:objectDefaults&gt;&lt;a:lnDef&gt;&lt;a:spPr/&gt;&lt;a:bodyPr/&gt;&lt;a:lstStyle/&gt;&lt;a:style&gt;&lt;a:lnRef idx=&quot;2&quot;&gt;&lt;a:schemeClr val=&quot;accent1&quot;/&gt;&lt;/a:lnRef&gt;&lt;a:fillRef idx=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;accent1&quot;/&gt;&lt;/a:fillRef&gt;&lt;a:effectRef idx=&quot;1&quot;&gt;&lt;a:schemeClr val=&quot;accent1&quot;/&gt;&lt;/a:effectRef&gt;&lt;a:fontRef idx=&quot;minor&quot;&gt;&lt;a:schemeClr val=&quot;tx1&quot;/&gt;&lt;/a:fontRef&gt;&lt;/a:style&gt;&lt;/a:lnDef&gt;&lt;/a:objectDefaults&gt;&lt;a:extraClrSchemeLst/&gt;&lt;a:extLst&gt;&lt;a:ext uri=&quot;&#123;05A4C25C-085E-4340-85A3-A5531E510DB2&#125;&quot;&gt;&lt;thm15:themeFamily xmlns:thm15=&quot;http://schemas.microsoft.com/office/thememl/2012/main&quot; name=&quot;Office Theme&quot; id=&quot;&#123;2E142A2C-CD16-42D6-873A-C26D2A0506FA&#125;&quot; vid=&quot;&#123;1BDDFF52-6CD6-40A5-AB3C-68EB2F1E4D0A&#125;&quot;/&gt;&lt;/a:ext&gt;&lt;/a:extLst&gt;&lt;/a:theme&gt;&#x27;</span>;</span><br></pre></td></tr></table></figure><figure class="highlight js"><table><tr><td class="code"><pre><span class="line"><span class="keyword">const</span> workbook = <span class="keyword">new</span> <span class="title class_">ExcelJS</span>.<span class="title class_">Workbook</span>();</span><br><span class="line">workbook.<span class="property">model</span> = <span class="title class_">Object</span>.<span class="title function_">assign</span>(&#123;&#125;, workbook.<span class="property">model</span>, &#123; <span class="attr">themes</span>: &#123; <span class="attr">theme1</span>: <span class="built_in">require</span>(<span class="string">&#x27;./my-theme1&#x27;</span>) &#125; &#125;);</span><br></pre></td></tr></table></figure><h3 id="解説"><a href="#解説" class="headerlink" title="解説"></a>解説</h3><ul><li>ExcelJSのworkbookのmodelはGetterで毎回Objectを生成しています。(1)<ul><li><a href="https://github.com/exceljs/exceljs/blob/v4.4.0/lib/doc/workbook.js#L153-L179">https://github.com/exceljs/exceljs/blob/v4.4.0/lib/doc/workbook.js#L153-L179</a></li></ul></li><li>themesはthis._themesを返すようになっているが、this._themesがundefinedなので、更新対象のobjectは取ることはできない。<ul><li><a href="https://github.com/exceljs/exceljs/blob/v4.4.0/lib/doc/workbook.js#L175">https://github.com/exceljs/exceljs/blob/v4.4.0/lib/doc/workbook.js#L175</a></li><li><code>workbook.model.themes = &#123; .... &#125;</code> と更新をしても(1)で新規作成される返却用のobjectが更新されるだけなので、内部状態を更新することはできない。</li><li><code>clearThemes()</code>は存在するのに、設定するInterfaceは存在しない。</li></ul></li><li>modelのsetterを経由すれば_themeを設定可能。<ul><li><a href="https://github.com/exceljs/exceljs/blob/v4.4.0/lib/doc/workbook.js#L181">https://github.com/exceljs/exceljs/blob/v4.4.0/lib/doc/workbook.js#L181</a></li></ul></li><li>もしくは <code>workbook._themes</code>を直接設定する。</li></ul>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Tech/">Tech</category>
      
      <category domain="https://blog.orz.at/categories/Tech/JavaScript/">JavaScript</category>
      
      
      <category domain="https://blog.orz.at/tags/JavaScript/">JavaScript</category>
      
      
      <comments>https://blog.orz.at/2024/09/17/excel-js-theme/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>JSDocでObjectの属性名補完</title>
      <link>https://blog.orz.at/2024/03/15/jsdoc-complement/</link>
      <guid>https://blog.orz.at/2024/03/15/jsdoc-complement/</guid>
      <pubDate>Fri, 15 Mar 2024 14:00:00 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;TypeScriptで任意の文字列を受け取るが、ある程度の定数を補完したい場合、&lt;code&gt;|&amp;#39;aaa&amp;#39;|&amp;#39;bbb&amp;#39;|(string&amp;amp;&amp;#123;&amp;#125;)&lt;/code&gt;で定義できる。&lt;br&gt;これの objectの属性版では&lt;co</description>
        
      
      
      
      <content:encoded><![CDATA[<p>TypeScriptで任意の文字列を受け取るが、ある程度の定数を補完したい場合、<code>|&#39;aaa&#39;|&#39;bbb&#39;|(string&amp;&#123;&#125;)</code>で定義できる。<br>これの objectの属性版では<code>&#123; aaa?: number, bbb?: number, [key: string]: unknown &#125;</code>と定義する。</p><p>JSDocでは以下のように定義する。</p><figure class="highlight typescript"><table><tr><td class="code"><pre><span class="line"><span class="title class_">Record</span>&lt;<span class="built_in">string</span>, <span class="built_in">unknown</span>&gt; &amp; &#123; aaa?: <span class="built_in">number</span>, bbb?: <span class="built_in">number</span> &#125;</span><br></pre></td></tr></table></figure><p><code>&#123;&#125;</code>で定義するとLinterに怒られる。なので<code>Record</code>を使う。</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="title class_">Don</span><span class="string">&#x27;t use `&#123;&#125;` as a type. `&#123;&#125;` actually means &quot;any non-nullish value&quot;.</span></span><br><span class="line"><span class="string">- If you want a type meaning &quot;any object&quot;, you probably want `object` instead.</span></span><br><span class="line"><span class="string">- If you want a type meaning &quot;any value&quot;, you probably want `unknown` instead.</span></span><br><span class="line"><span class="string">- If you want a type meaning &quot;empty object&quot;, you probably want `Record&lt;string, never&gt;` instead.</span></span><br><span class="line"><span class="string">- If you really want a type meaning &quot;any non-nullish value&quot;, you probably want `NonNullable&lt;unknown&gt;` instead.eslint@typescript-eslint/ban-types</span></span><br></pre></td></tr></table></figure><p>なお警告では <code>Record&lt;string, never&gt;</code> を使えと書いてありますが、この記事では <code>Record&lt;never, never&gt;</code> を使えと書いてある。</p><h2 id="参考"><a href="#参考" class="headerlink" title="参考"></a>参考</h2><ul><li><a href="https://qiita.com/sugoroku_y/items/09aace6a17a6b36dfee6">[TypeScript] <code>any non-nullish value</code>としての<code>&#123;&#125;</code>型 #TypeScript - Qiita</a></li></ul>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Tech/">Tech</category>
      
      <category domain="https://blog.orz.at/categories/Tech/JavaScript/">JavaScript</category>
      
      
      <category domain="https://blog.orz.at/tags/JavaScript/">JavaScript</category>
      
      
      <comments>https://blog.orz.at/2024/03/15/jsdoc-complement/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>GitHub CLIの通信ログを見る</title>
      <link>https://blog.orz.at/2024/03/14/github-cli-debug/</link>
      <guid>https://blog.orz.at/2024/03/14/github-cli-debug/</guid>
      <pubDate>Thu, 14 Mar 2024 14:00:00 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;忘れがちなので。&lt;code&gt;GH_DEBUG=1&lt;/code&gt;だけだと通信のログが見れないので、通信のログを見たい場合は&lt;code&gt;GH_DEBUG=api&lt;/code&gt;を設定する。&lt;/p&gt;
&lt;figure class=&quot;highlight plaintext&quot;&gt;&lt;tabl</description>
        
      
      
      
      <content:encoded><![CDATA[<p>忘れがちなので。<code>GH_DEBUG=1</code>だけだと通信のログが見れないので、通信のログを見たい場合は<code>GH_DEBUG=api</code>を設定する。</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">GH_DEBUG=1</span><br><span class="line">GH_DEBUG=api</span><br></pre></td></tr></table></figure><h2 id="参考"><a href="#参考" class="headerlink" title="参考"></a>参考</h2><ul><li><a href="https://cli.github.com/manual/gh_help_environment">https://cli.github.com/manual/gh_help_environment</a></li></ul>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Tech/">Tech</category>
      
      
      <category domain="https://blog.orz.at/tags/GitHub/">GitHub</category>
      
      
      <comments>https://blog.orz.at/2024/03/14/github-cli-debug/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>CoodespacesのTokenのパーミッション</title>
      <link>https://blog.orz.at/2024/03/14/codespaces-permission/</link>
      <guid>https://blog.orz.at/2024/03/14/codespaces-permission/</guid>
      <pubDate>Thu, 14 Mar 2024 13:00:00 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;GitHub Codespacesのデフォルトの権限設定は弱い。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;トークンのスコープは、codespace が作成されたリポジトリへのアクセス権によって異なります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;基本的にはそのReposi</description>
        
      
      
      
      <content:encoded><![CDATA[<p>GitHub Codespacesのデフォルトの権限設定は弱い。</p><blockquote><p>トークンのスコープは、codespace が作成されたリポジトリへのアクセス権によって異なります。</p></blockquote><p>基本的にはそのRepositoryに対する権限のみがGRANTされている。<br>他のレポジトリや組織範囲に対しての権限が必要な場合は<code>devcontainer.json</code>に記述してrebuildする必要がある。</p><p>なお、devcontainer.jsonに指定できるRepositoryは1種類のみである。<br>1種類のみなので以下の設定はできない。仮に指定しても1番目の指定のみが有効になる。<br>複数指定したい場合は、ワイルドカードを利用するしかない。</p><figure class="highlight json"><table><tr><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;customizations&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;codespaces&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;repositories&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;example-org/repo1&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;permissions&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">            <span class="attr">&quot;actions&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;checks&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;contents&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;deployments&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;discussions&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;issues&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;packages&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;pages&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;pull_requests&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;repository_projects&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;statuses&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;workflows&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span></span><br><span class="line">          <span class="punctuation">&#125;</span></span><br><span class="line">        <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">        <span class="attr">&quot;example-org/repo2&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;actions&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;checks&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;contents&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;deployments&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;discussions&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;issues&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;packages&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;pages&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;pull_requests&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;repository_projects&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;statuses&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">          <span class="attr">&quot;workflows&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span></span><br><span class="line">        <span class="punctuation">&#125;</span></span><br><span class="line">      <span class="punctuation">&#125;</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>ワイルドカードを利用する場合は、以下のようになる。(<code>example-org/*</code>)<br>また、種別毎に指定しない場合は <code>&quot;permissions&quot;: &quot;read-all&quot;</code>, <code>&quot;permissions&quot;: &quot;write-all&quot;</code> の記述が可能。</p><figure class="highlight json"><table><tr><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;customizations&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;codespaces&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;repositories&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">        <span class="attr">&quot;example-org/*&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">          <span class="attr">&quot;permissions&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">            <span class="attr">&quot;actions&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;checks&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;contents&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;deployments&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;discussions&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;issues&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;packages&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;pages&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;pull_requests&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;repository_projects&quot;</span><span class="punctuation">:</span> <span class="string">&quot;read&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;statuses&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span><span class="punctuation">,</span></span><br><span class="line">            <span class="attr">&quot;workflows&quot;</span><span class="punctuation">:</span> <span class="string">&quot;write&quot;</span></span><br><span class="line">          <span class="punctuation">&#125;</span></span><br><span class="line">        <span class="punctuation">&#125;</span></span><br><span class="line">      <span class="punctuation">&#125;</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>なお、VSCode内でrebuildをしても権限は反映されなかったので、UIから作り直す必要があった。</p><h2 id="参考"><a href="#参考" class="headerlink" title="参考"></a>参考</h2><ul><li><a href="https://docs.github.com/ja/enterprise-cloud@latest/codespaces/reference/security-in-github-codespaces#authentication">GitHub Codespaces のセキュリティ - GitHub Enterprise Cloud Docs</a></li></ul>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Tech/">Tech</category>
      
      
      <category domain="https://blog.orz.at/tags/GitHub/">GitHub</category>
      
      
      <comments>https://blog.orz.at/2024/03/14/codespaces-permission/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>esbuildのwasmを使う</title>
      <link>https://blog.orz.at/2023/12/20/esbuild-wasm/</link>
      <guid>https://blog.orz.at/2023/12/20/esbuild-wasm/</guid>
      <pubDate>Wed, 20 Dec 2023 14:00:00 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;Windowsではコード署名が付いていないEXEを実行できない環境があります。&lt;br&gt;esbuildのexeファイルはコード署名がありません。そしてコード署名には対応しないことがIssueでやりとりされています。(参考情報を参照)&lt;/p&gt;
&lt;p&gt;&lt;code&gt;package.</description>
        
      
      
      
      <content:encoded><![CDATA[<p>Windowsではコード署名が付いていないEXEを実行できない環境があります。<br>esbuildのexeファイルはコード署名がありません。そしてコード署名には対応しないことがIssueでやりとりされています。(参考情報を参照)</p><p><code>package.json</code>の<code>overrides</code>機能を使って以下の定義を追加します。</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="string">&quot;overrides&quot;</span>: &#123;</span><br><span class="line">  <span class="string">&quot;esbuild&quot;</span>: <span class="string">&quot;npm:esbuild-wasm@latest&quot;</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="確認した環境"><a href="#確認した環境" class="headerlink" title="確認した環境"></a>確認した環境</h2><p>vuepressを使っているところで、1.8系から1.9系の変更でesbuildを使うようになり、特定の環境でこけるようになりました。<br>以下がこけた時のログです。</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">npm install --save vuepress</span><br></pre></td></tr></table></figure><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line">npm <span class="variable constant_">WARN</span> cleanup <span class="title class_">Failed</span> to remove some directories [</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup   [</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup     <span class="string">&#x27;C:\\Users\\User1\\AppData\\Local\\Temp\\work1\\node_modules&#x27;</span>,</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup     [<span class="title class_">Error</span>: <span class="attr">EPERM</span>: operation not permitted, rmdir <span class="string">&#x27;C:\Users\User1\AppData\Local\Temp\work1\node_modules\browserify-sign\node_modules&#x27;</span>] &#123;</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup       <span class="attr">errno</span>: -<span class="number">4048</span>,</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup       <span class="attr">code</span>: <span class="string">&#x27;EPERM&#x27;</span>,</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup       <span class="attr">syscall</span>: <span class="string">&#x27;rmdir&#x27;</span>,</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup       <span class="attr">path</span>: <span class="string">&#x27;C:\\Users\\User1\\AppData\\Local\\Temp\\work1\\node_modules\\browserify-sign\\node_modules&#x27;</span></span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup     &#125;</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup   ],</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup   [</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup     <span class="string">&#x27;C:\\Users\\User1\\AppData\\Local\\Temp\\work1\\node_modules\\@vuepress\\core&#x27;</span>,</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup     [<span class="title class_">Error</span>: <span class="attr">EPERM</span>: operation not permitted, rmdir <span class="string">&#x27;C:\Users\User1\AppData\Local\Temp\work1\node_modules\@vuepress\core&#x27;</span>] &#123;</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup       <span class="attr">errno</span>: -<span class="number">4048</span>,</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup       <span class="attr">code</span>: <span class="string">&#x27;EPERM&#x27;</span>,</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup       <span class="attr">syscall</span>: <span class="string">&#x27;rmdir&#x27;</span>,</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup       <span class="attr">path</span>: <span class="string">&#x27;C:\\Users\\User1\\AppData\\Local\\Temp\\work1\\node_modules\\@vuepress\\core&#x27;</span></span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup     &#125;</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup   ]</span><br><span class="line">npm <span class="variable constant_">WARN</span> cleanup ]</span><br><span class="line">npm <span class="variable constant_">ERR</span>! code <span class="number">1</span></span><br><span class="line">npm <span class="variable constant_">ERR</span>! path <span class="attr">C</span>:\<span class="title class_">Users</span>\<span class="title class_">User1</span>\<span class="title class_">AppData</span>\<span class="title class_">Local</span>\<span class="title class_">Temp</span>\work1\node_modules\esbuild</span><br><span class="line">npm <span class="variable constant_">ERR</span>! command failed</span><br><span class="line">npm <span class="variable constant_">ERR</span>! command <span class="attr">C</span>:\<span class="title class_">Windows</span>\system32\cmd.<span class="property">exe</span> /d /s /c node install.<span class="property">js</span></span><br><span class="line">npm <span class="variable constant_">ERR</span>! <span class="attr">node</span>:<span class="attr">child_process</span>:<span class="number">924</span></span><br><span class="line">npm <span class="variable constant_">ERR</span>!     <span class="keyword">throw</span> err;</span><br><span class="line">npm <span class="variable constant_">ERR</span>!     ^</span><br><span class="line">npm <span class="variable constant_">ERR</span>!</span><br><span class="line">npm <span class="variable constant_">ERR</span>! &lt;ref *1&gt; Error: spawnSync C:\Users\User1\AppData\Local\Temp\work1\node_modules\esbuild-windows-64\esbuild.exe UNKNOWN</span><br><span class="line">npm ERR!     at Object.spawnSync (node:internal/child_process:1110:20)</span><br><span class="line">npm ERR!     at spawnSync (node:child_process:871:24)</span><br><span class="line">npm ERR!     at Object.execFileSync (node:child_process:914:15)</span><br><span class="line">npm ERR!     at Object.&lt;anonymous&gt; (C:\Users\User1\AppData\Local\Temp\work1\node_modules\esbuild\bin\esbuild:108:26)</span><br><span class="line">npm ERR!     at Module._compile (node:internal/modules/cjs/loader:1256:14)</span><br><span class="line">npm ERR!     at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)</span><br><span class="line">npm ERR!     at Module.load (node:internal/modules/cjs/loader:1119:32)</span><br><span class="line">npm ERR!     at Module._load (node:internal/modules/cjs/loader:960:12)</span><br><span class="line">npm ERR!     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)</span><br><span class="line">npm ERR!     at node:internal/main/run_main_module:23:47 &#123;</span><br><span class="line">npm ERR!   errno: -4094,</span><br><span class="line">npm ERR!   code: &#x27;UNKNOWN&#x27;,</span><br><span class="line">npm ERR!   syscall: &#x27;spawnSync C:\\Users\\User1\\AppData\\Local\\Temp\\work1\\node_modules\\esbuild-windows-64\\esbuild.exe&#x27;,</span><br><span class="line">npm ERR!   path: &#x27;C:\\Users\\User1\\AppData\\Local\\Temp\\work1\\node_modules\\esbuild-windows-64\\esbuild.exe&#x27;,</span><br><span class="line">npm ERR!   spawnargs: [ &#x27;--version&#x27; ],</span><br><span class="line">npm ERR!   error: [Circular *1],</span><br><span class="line">npm ERR!   status: null,</span><br><span class="line">npm ERR!   signal: null,</span><br><span class="line">npm ERR!   output: null,</span><br><span class="line">npm ERR!   pid: 0,</span><br><span class="line">npm ERR!   stdout: null,</span><br><span class="line">npm ERR!   stderr: null</span><br><span class="line">npm ERR! &#125;</span><br><span class="line">npm ERR!</span><br><span class="line">npm ERR! Node.js v18.17.1</span><br><span class="line">npm ERR! node:internal/errors:865</span><br><span class="line">npm ERR!   const err = new Error(message);</span><br><span class="line">npm ERR!               ^</span><br><span class="line">npm ERR!</span><br><span class="line">npm ERR! Error: Command failed: node C:\Users\User1\AppData\Local\Temp\work1\node_modules\esbuild\bin\esbuild --version</span><br><span class="line">npm ERR! node:child_process:924</span><br><span class="line">npm ERR!     throw err;</span><br><span class="line">npm ERR!     ^</span><br><span class="line">npm ERR!</span><br><span class="line">npm ERR! &lt;ref *1&gt; Error: spawnSync C:\Users\User1\AppData\Local\Temp\work1\node_modules\esbuild-windows-64\esbuild.exe UNKNOWN</span><br><span class="line">npm ERR!     at Object.spawnSync (node:internal/child_process:1110:20)</span><br><span class="line">npm ERR!     at spawnSync (node:child_process:871:24)</span><br><span class="line">npm ERR!     at Object.execFileSync (node:child_process:914:15)</span><br><span class="line">npm ERR!     at Object.&lt;anonymous&gt; (C:\Users\User1\AppData\Local\Temp\work1\node_modules\esbuild\bin\esbuild:108:26)</span><br><span class="line">npm ERR!     at Module._compile (node:internal/modules/cjs/loader:1256:14)</span><br><span class="line">npm ERR!     at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)</span><br><span class="line">npm ERR!     at Module.load (node:internal/modules/cjs/loader:1119:32)</span><br><span class="line">npm ERR!     at Module._load (node:internal/modules/cjs/loader:960:12)</span><br><span class="line">npm ERR!     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)</span><br><span class="line">npm ERR!     at node:internal/main/run_main_module:23:47 &#123;</span><br><span class="line">npm ERR!   errno: -4094,</span><br><span class="line">npm ERR!   code: &#x27;UNKNOWN&#x27;,</span><br><span class="line">npm ERR!   syscall: &#x27;spawnSync C:\\Users\\User1\\AppData\\Local\\Temp\\work1\\node_modules\\esbuild-windows-64\\esbuild.exe&#x27;,</span><br><span class="line">npm ERR!   path: &#x27;C:\\Users\\User1\\AppData\\Local\\Temp\\work1\\node_modules\\esbuild-windows-64\\esbuild.exe&#x27;,</span><br><span class="line">npm ERR!   spawnargs: [ &#x27;--version&#x27; ],</span><br><span class="line">npm ERR!   error: [Circular *1],</span><br><span class="line">npm ERR!   status: null,</span><br><span class="line">npm ERR!   signal: null,</span><br><span class="line">npm ERR!   output: null,</span><br><span class="line">npm ERR!   pid: 0,</span><br><span class="line">npm ERR!   stdout: null,</span><br><span class="line">npm ERR!   stderr: null</span><br><span class="line">npm ERR! &#125;</span><br><span class="line">npm ERR!</span><br><span class="line">npm ERR! Node.js v18.17.1</span><br><span class="line">npm ERR!</span><br><span class="line">npm ERR!     at checkExecSyncError (node:child_process:885:11)</span><br><span class="line">npm ERR!     at Object.execFileSync (node:child_process:921:15)</span><br><span class="line">npm ERR!     at validateBinaryVersion (C:\Users\User1\AppData\Local\Temp\work1\node_modules\esbuild\install.js:94:32)</span><br><span class="line">npm ERR!     at C:\Users\User1\AppData\Local\Temp\work1\node_modules\esbuild\install.js:240:5 &#123;</span><br><span class="line">npm ERR!   status: 1,</span><br><span class="line">npm ERR!   signal: null,</span><br><span class="line">npm ERR!   output: [</span><br><span class="line">npm ERR!     null,</span><br><span class="line">npm ERR!     Buffer(0) [Uint8Array] [],</span><br><span class="line">npm ERR!     Buffer(1309) [Uint8Array] [</span><br><span class="line">npm ERR!       ... 1209 more items</span><br><span class="line">npm ERR!     ]</span><br><span class="line">npm ERR!   ],</span><br><span class="line">npm ERR!   pid: 38656,</span><br><span class="line">npm ERR!   stdout: Buffer(0) [Uint8Array] [],</span><br><span class="line">npm ERR!   stderr: Buffer(1309) [Uint8Array] [</span><br><span class="line">npm ERR!     ... 1209 more items</span><br><span class="line">npm ERR!   ]</span><br><span class="line">npm ERR! &#125;</span><br><span class="line">npm ERR!</span><br><span class="line">npm ERR! Node.js v18.17.1</span><br></pre></td></tr></table></figure><p>この環境で<code>overrides</code>設定を入れればwasm版で動くようになりました。</p><h2 id="参考"><a href="#参考" class="headerlink" title="参考"></a>参考</h2><ul><li><a href="https://github.com/evanw/esbuild/issues/1561">Feature: Sign esbuild.exe #3675</a></li><li><a href="https://github.com/evanw/esbuild/issues/3675">Missing code signing for esbuild.exe binary #1561</a></li><li><a href="https://github.com/vitejs/vite/issues/13208">Explicit esbuild dependency blocks fallback to esbuild-wasm #13208</a></li></ul>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Tech/">Tech</category>
      
      <category domain="https://blog.orz.at/categories/Tech/JavaScript/">JavaScript</category>
      
      
      <category domain="https://blog.orz.at/tags/JavaScript/">JavaScript</category>
      
      
      <comments>https://blog.orz.at/2023/12/20/esbuild-wasm/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>JSのoverloadはfunctionでないと認識しない</title>
      <link>https://blog.orz.at/2023/12/05/js-overload-function/</link>
      <guid>https://blog.orz.at/2023/12/05/js-overload-function/</guid>
      <pubDate>Tue, 05 Dec 2023 14:00:00 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;関数定義をconstで行っていると認識しなかった。&lt;/p&gt;
&lt;figure class=&quot;highlight javascript&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;comme</description>
        
      
      
      
      <content:encoded><![CDATA[<p>関数定義をconstで行っていると認識しなかった。</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment">* <span class="doctag">@overload</span></span></span><br><span class="line"><span class="comment">* <span class="doctag">@param</span> &#123;<span class="type">true</span>&#125; <span class="variable">flag</span></span></span><br><span class="line"><span class="comment">* <span class="doctag">@param</span> &#123;<span class="type">Ref&lt;MyClass|undefined&gt;</span>&#125;</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment">* <span class="doctag">@overload</span></span></span><br><span class="line"><span class="comment">* <span class="doctag">@param</span> &#123;<span class="type">false</span>&#125; <span class="variable">flag</span></span></span><br><span class="line"><span class="comment">* <span class="doctag">@param</span> &#123;<span class="type">Ref&lt;MyClass&gt;</span>&#125;</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="keyword">const</span> <span class="title function_">myFunction</span> = (<span class="params">flag</span>) =&gt; &#123;</span><br><span class="line">&#125;;</span><br></pre></td></tr></table></figure><p>functionで定義するとoverloadを認識します。<br>また、コメントは分割しないとLinterに怒られました。</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment">* <span class="doctag">@overload</span></span></span><br><span class="line"><span class="comment">* <span class="doctag">@param</span> &#123;<span class="type">true</span>&#125; <span class="variable">flag</span></span></span><br><span class="line"><span class="comment">* <span class="doctag">@param</span> &#123;<span class="type">Ref&lt;MyClass|undefined&gt;</span>&#125;</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment">* <span class="doctag">@overload</span></span></span><br><span class="line"><span class="comment">* <span class="doctag">@param</span> &#123;<span class="type">false</span>&#125; <span class="variable">flag</span></span></span><br><span class="line"><span class="comment">* <span class="doctag">@param</span> &#123;<span class="type">Ref&lt;MyClass&gt;</span>&#125;</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">myFunction</span>(<span class="params">flag</span>) &#123;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Tech/">Tech</category>
      
      
      <category domain="https://blog.orz.at/tags/JavaScript/">JavaScript</category>
      
      
      <comments>https://blog.orz.at/2023/12/05/js-overload-function/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>HP OMEN45Lの電源交換</title>
      <link>https://blog.orz.at/2023/11/12/upgrade-omen-45l/</link>
      <guid>https://blog.orz.at/2023/11/12/upgrade-omen-45l/</guid>
      <pubDate>Sun, 12 Nov 2023 14:00:00 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;去年ゲーミングPCを購入していたのですが、最近ゲームをやっていると電源が落ちる。&lt;br&gt;そして電源が落ちた後は放電をしないと暫く電源が付かない事象が頻繁に発生していました。&lt;/p&gt;
&lt;p&gt;最初は温度かなと思っていたのですが、最近のグラボは瞬間的に電力が必要になることがあるら</description>
        
      
      
      
      <content:encoded><![CDATA[<p>去年ゲーミングPCを購入していたのですが、最近ゲームをやっていると電源が落ちる。<br>そして電源が落ちた後は放電をしないと暫く電源が付かない事象が頻繁に発生していました。</p><p>最初は温度かなと思っていたのですが、最近のグラボは瞬間的に電力が必要になることがあるらしく、電源が怪しいと思い電源を買い換えました。</p><h2 id="HP-OMEN-45Lの性能"><a href="#HP-OMEN-45Lの性能" class="headerlink" title="HP OMEN 45Lの性能"></a>HP OMEN 45Lの性能</h2><ul><li>CPU: Core i7 12700K</li><li>メモリ: DDR4-3733 16GB x2</li><li>グラボ: RTX 3080 Ti 12GB</li><li>SSD: WD_Black SN850 (2TB)</li><li>電源800W GOLD(クーラーマスター製)</li></ul><p>この機種と同じです。</p><ul><li><a href="https://okiniiripasokon.com/blog-entry-1635.html">https://okiniiripasokon.com/blog-entry-1635.html</a></li><li><a href="https://chimolog.co/bto-hp-omen-45l/">https://chimolog.co/bto-hp-omen-45l/</a></li></ul><p>ここにSSDを1つ追加とメモリを32GB*2を追加しています。<br>また、周辺機器としてSound Blaster GC7とDEPSTECHのWebカメラを接続しています。</p><h2 id="購入した電源"><a href="#購入した電源" class="headerlink" title="購入した電源"></a>購入した電源</h2><p>同じくクーラーマスター製のATX3.0に対応した1250Wの電源です。同じメーカーでATX3.0に対応した電源がこれしかありませんでした。ATX3.0にした理由は瞬間的な消費電力にも耐えられる規格に沿っているからです。<br><a href="https://kakaku.com/item/K0001511126/">MWE Gold V2 FM 1250W ATX3.0 MPE-C501-AFCAG-3JP</a></p><h2 id="電源が接続できない"><a href="#電源が接続できない" class="headerlink" title="電源が接続できない"></a>電源が接続できない</h2><p>HP OMENのマザーボードが特殊で付属品だけでは取り付け不可能です。<br>この電源にはCPU用の補助電源ケーブルとして8ピンが1つ、4ピン+４ピンが1つ付いています。<br>OMENのマザーボード側は4ピンが2つです。</p><p>4PIN+4PINの形状は通常以下の形式です。（●は台形の形です）<br>黒い■●はオスピンで、自分側を向いている状態です。（刺す時は反転します）</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">爪  爪</span><br><span class="line">●■　●●</span><br><span class="line">■●　●●</span><br></pre></td></tr></table></figure><p>8PINの形状は以下の形式です。</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">●■■●</span><br><span class="line">■●●■</span><br></pre></td></tr></table></figure><p>この向きを無視して接続するとショートしてしまいます。</p><p>OMENのマザーボードは</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">　　　爪</span><br><span class="line">　　　◻︎⚪︎</span><br><span class="line">　　　⚪︎◻︎</span><br><span class="line"></span><br><span class="line">⚪︎◻︎</span><br><span class="line">◻︎⚪︎爪</span><br></pre></td></tr></table></figure><p>向きを揃えると</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">爪　　爪</span><br><span class="line">◻︎⚪︎　◻︎⚪︎</span><br><span class="line">⚪︎◻︎　⚪︎◻︎</span><br></pre></td></tr></table></figure><p>さらに電源付属の4+4ケーブルは通常の4+4の形状ではなく、4+4のくせに8ピンの以下の形式でした。通常4+4の場合であれば片側が全部●なので入るのですが、この形式では片方は入るけど片方は入らないということに。</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">●■■●</span><br><span class="line">■●●■</span><br></pre></td></tr></table></figure><h2 id="解決策"><a href="#解決策" class="headerlink" title="解決策"></a>解決策</h2><p>4ピンの延長ケーブルを買っても形状の変換ができないのでダメです。<br>8ピンを12ピンに増やすケーブルを使います。<br><a href="https://www.amazon.co.jp/gp/product/B087B8JKSS/">これ</a>を購入しました。</p><p>これを使う事で、以下の4+4+4の形式になります。</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">●■■● ●■</span><br><span class="line">■●●■ ■●</span><br></pre></td></tr></table></figure><p>つまり、以下の形状が２つできます。</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">●■</span><br><span class="line">■●</span><br></pre></td></tr></table></figure><p>このオスピンであればマザーボード側のメスピンに刺すことができます。（刺すときは向きがくるりと反転するので以下のようになり刺すことができます）</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">■● ⇒ ◻︎⚪︎</span><br><span class="line">●■ ⇒ ⚪︎◻︎</span><br></pre></td></tr></table></figure><p>罠が多すぎる…<br>電源を交換してからは落ちなくなりました。</p>]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Life/">Life</category>
      
      
      
      <comments>https://blog.orz.at/2023/11/12/upgrade-omen-45l/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>有機ELのゲーミングモニター(ASUS PG27AQDM)を購入</title>
      <link>https://blog.orz.at/2023/05/07/pg27aqdm/</link>
      <guid>https://blog.orz.at/2023/05/07/pg27aqdm/</guid>
      <pubDate>Sun, 07 May 2023 09:26:58 GMT</pubDate>
      
        
        
      <description>&lt;p&gt;買ったやつは&lt;a href=&quot;https://rog.asus.com/us/monitors/27-to-31-5-inches/rog-swift-oled-pg27aqdm/&quot;&gt;これ&lt;/a&gt;です。&lt;br&gt;現時点で有機ELのゲーミングモニタはこれの他に&lt;a href=&quot;</description>
        
      
      
      
      <content:encoded><![CDATA[<p>買ったやつは<a href="https://rog.asus.com/us/monitors/27-to-31-5-inches/rog-swift-oled-pg27aqdm/">これ</a>です。<br>現時点で有機ELのゲーミングモニタはこれの他に<a href="https://www.lg.com/jp/monitor/lg-27gr95qe-b">LGのがもう1つ</a>、2種類しか販売していません。<br>どちらも240Hz1対応の有機ELパネルです。</p><p>パソコン工房で買いました。<br>店舗に行ったときは売り切れだったのですが別店舗に在庫があるとのことで、10秒ほど悩みましたがその場で買いました。ゴールデンウィーク中に使いたかったむねを伝えると、どうにかこうにか早く到達するように手配をしてくれて、その日はもうお店が閉まるくらいの時間だったのに、結果として翌々日には届きました。感謝しかない！</p><img src="/2023/05/07/pg27aqdm/rs_2023-05-05_17.02.38-1.jpg" class=""><img src="/2023/05/07/pg27aqdm/rs_2023-05-05_17.02.38-2.jpg" class=""><p><a href="https://rog.asus.com/jp/monitors/27-to-31-5-inches/rog-swift-oled-pg27aqdm/helpdesk_download/">ドライバ</a>のインストールもしましょう。</p><p>ついでにメモリとSSDも買いました。</p><img src="/2023/05/07/pg27aqdm/rs_2023-05-05_17.02.38.jpg" class="">]]></content:encoded>
      
      
      <category domain="https://blog.orz.at/categories/Life/">Life</category>
      
      
      
      <comments>https://blog.orz.at/2023/05/07/pg27aqdm/#disqus_thread</comments>
      
    </item>
    
  </channel>
</rss>
