<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aulvem Blog (日本語)</title><description>Aulvem の制作記録・技術メモ・開発環境レビュー</description><link>https://aulvem.com/</link><language>ja</language><lastBuildDate>Sat, 27 Jun 2026 04:18:32 GMT</lastBuildDate><atom:link href="https://aulvem.com/ja/rss.xml" rel="self" type="application/rss+xml"/><item><title>楽天APIがJANを返さない問題と、横断マッチングの3段階</title><link>https://aulvem.com/ja/blog/2026-06-27-rakuten-jan-cross-matching/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2026-06-27-rakuten-jan-cross-matching/</guid><description>楽天商品検索APIはレスポンスにJANを返さず、Yahoo!はjan_codeで正引きできる。この非対称を前提に、同一商品を複数モール横断で比較するための『JAN突合 → 名前ファジー一致 → マッチ不能』の3段階を、確証スコアの配点と閾値、誤名寄せを避ける通知設計まで含めて共有する。</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;楽天とYahoo!の商品APIを横断して同じ商品を比べようとすると、最初の壁が「そもそも同じ商品をどう同定するか」だった。価格をどう計算するかの前に、AモールのこれとBモールのこれが同一商品だ、と機械が判断できないと比較表が作れない。&lt;/p&gt;
&lt;p&gt;ここで詰まったのが JAN（商品に付く 13 桁/8 桁のバーコード番号）の扱いだ。Yahoo! ショッピングは &lt;code&gt;jan_code&lt;/code&gt; で正引きできるのに、楽天の商品検索APIはレスポンスにJANを返さない。同じJANで両モールを引けば一発で結べる、という前提が片側で崩れる。&lt;/p&gt;
&lt;p&gt;個人で&lt;a href=&quot;https://aulvem.com/ja/products/yasugoro/&quot;&gt;ヤスゴロ&lt;/a&gt;という価格ウォッチャーを作って公開した。複数モールの実質価格を横断で比べ、ウォッチした消耗品が安くなったら通知する、というものだ。その横断比較を成立させるために、JANが揃わない前提でマッチングを確実性で3段階に倒した。その設計を共有します。&lt;/p&gt;
&lt;h2 id=&quot;楽天とyahooでjanの扱いは非対称&quot;&gt;楽天とYahoo!でJANの扱いは非対称&lt;/h2&gt;
&lt;p&gt;楽天とYahoo!は、JANの取得しやすさがそもそも違う。ここを揃っているものとして設計すると、楽天側で必ず破綻する。&lt;/p&gt;
&lt;p&gt;Yahoo! ショッピングの商品検索は &lt;code&gt;jan_code&lt;/code&gt; という専用パラメータを持ち、JANで直接引ける。レスポンスにも &lt;code&gt;janCode&lt;/code&gt; が乗ることがある。つまりJANが分かっていれば、その商品ページを正引きできる。&lt;/p&gt;
&lt;p&gt;楽天の商品検索APIにはJAN専用パラメータが無い。実装では JAN 文字列を &lt;code&gt;keyword&lt;/code&gt; に投げる間接的なやり方になる。しかもJANはレスポンスの構造化フィールドではなく、商品説明文（&lt;code&gt;itemCaption&lt;/code&gt;）の中に紛れていることが多い（Anker のような型番商品で実際にそうだった）。だから楽天側は「keyword=JANで出たヒットが、本当にそのJANの商品か」を後から確かめる工程が要る。&lt;/p&gt;
&lt;p&gt;この非対称が出発点になる。Yahoo!は信頼してJAN確定に使え、楽天は確証を挟まないと使えない。&lt;/p&gt;
&lt;h2 id=&quot;確実性で3段階に倒す&quot;&gt;確実性で3段階に倒す&lt;/h2&gt;
&lt;p&gt;同一商品の同定を、確実性の高い順に3段階へ落とした。全件をJANで突合しようとせず、確実に結べるものだけを最上段に置く。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;段&lt;/th&gt;&lt;th&gt;方法&lt;/th&gt;&lt;th&gt;横断比較に使う&lt;/th&gt;&lt;th&gt;通知を出す&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;① JAN突合&lt;/td&gt;&lt;td&gt;Yahoo! 正引き＋楽天 keyword=JAN を確証スコアで判定&lt;/td&gt;&lt;td&gt;使う（確定したものだけ）&lt;/td&gt;&lt;td&gt;出す&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;② 名前ファジー一致&lt;/td&gt;&lt;td&gt;型番・容量・ブランドでスコア化し候補提示→ユーザー確認&lt;/td&gt;&lt;td&gt;ユーザー確認後に使う&lt;/td&gt;&lt;td&gt;確認済みのみ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;③ マッチ不能&lt;/td&gt;&lt;td&gt;単一モール（URL貼り付け等）として扱う&lt;/td&gt;&lt;td&gt;使わない&lt;/td&gt;&lt;td&gt;単一モールの値下げのみ&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;下段ほど確証が弱いので、横断比較と通知の権利を絞る。①で結べたものだけが「誰が見ても同じ商品」として比較表に並び、②③は確証の度合いに応じて扱いを下げる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;mermaid&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;flowchart TD&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  In[入力: JAN / 商品名 / URL]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Kind{種別判定}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Jan[① JAN突合]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Score{確証スコア}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Fuzzy[② 名前ファジー一致]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Cand{候補あり?}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Single[③ 単一モール]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Cross[横断比較に採用・通知可]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Pending[候補提示→ユーザー確認待ち]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Watch[単一モールの値下げのみ追う]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  In --&amp;gt; Kind&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Kind --&amp;gt;|JAN| Jan&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Kind --&amp;gt;|商品名| Fuzzy&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Kind --&amp;gt;|URL| Single&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Jan --&amp;gt; Score&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Score --&amp;gt;|high ≥0.8| Cross&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Score --&amp;gt;|mid ≥0.5| Pending&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Score --&amp;gt;|low &amp;lt;0.5| Single&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Fuzzy --&amp;gt; Cand&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Cand --&amp;gt;|あり| Pending&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Cand --&amp;gt;|なし| Single&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Pending --&amp;gt;|確認| Cross&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Single --&amp;gt; Watch&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;入力がJANなら①、商品名なら②、URLなら③へ振り分ける。①の中でも確証が弱ければ②③へ落ちる、という二段構えにした。&lt;/p&gt;
&lt;h2 id=&quot;jan突合-楽天はjanらしさを加点で確かめる&quot;&gt;①JAN突合: 楽天は「JANらしさ」を加点で確かめる&lt;/h2&gt;
&lt;p&gt;JAN突合といっても、楽天は「keyword=JANで出たヒットが本当に同じ商品か」を確証する必要がある。ここを確証スコアの加点方式にした。&lt;/p&gt;
&lt;p&gt;Yahoo!は &lt;code&gt;jan_code&lt;/code&gt; 正引きなのでそのまま確定（通知も発火可）に置ける。問題は楽天で、1ヒットごとに次を足し引きしてスコアを出す。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;商品名か説明文にJAN文字列を含む … &lt;strong&gt;+0.5&lt;/strong&gt;（最も直接的な証拠）&lt;/li&gt;
&lt;li&gt;製品検索API由来の価格レンジ内 … &lt;strong&gt;+0.3&lt;/strong&gt; / レンジ外 … &lt;strong&gt;−0.4&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;型番か容量が読み取れる … &lt;strong&gt;+0.2&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;スコアの閾値で3つに割る。&lt;strong&gt;0.8 以上なら確定（&lt;code&gt;jan&lt;/code&gt;・通知発火可）、0.5 以上は要確認（&lt;code&gt;fuzzy&lt;/code&gt; に落として通知不可）、0.5 未満は破棄&lt;/strong&gt;（横断に出さない）。確証の弱いヒットを確定扱いしないことが、誤名寄せを防ぐ一番効く制御だった。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 楽天1ヒットのJAN確証スコア（抜粋）&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;let&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (hit.itemCaption.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;includes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(jan) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; hit.itemName.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;includes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(jan)) s &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (range) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; lo&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; range.minPrice &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.7&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;   &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 下振れ30%許容（型落ち・並行品）&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; hi&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; range.maxPrice &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 1.5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;   &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 上振れ50%許容（送料込・セット品）&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (hit.itemPrice &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; lo &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; hit.itemPrice &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; hi) s &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.3&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  else&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.4&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;                      &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// レンジ外＝異常マッチ強疑い&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;modelOrCapacityConsistent&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(hit)) s &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;価格レンジは楽天の製品検索API（&lt;code&gt;productCode=JAN&lt;/code&gt;）が返す最小〜最大価格から作る。型落ちや並行輸入で下に外れるぶんは 0.7 倍まで、送料込みやセット品で上に外れるぶんは 1.5 倍まで許容する。レンジから大きく外れた価格は、容量違い・色違い・別商品の混入を疑って減点する。&lt;/p&gt;
&lt;p&gt;ただ、この製品検索APIが実測でかなり404を返した。価格レンジが取れないヒットが多く、レンジ加点に頼り切れない。そこで横断相手（Yahoo!の同JANヒット）の代表価格を基準にした確証を足した。楽天ヒットの名前に、Yahoo!側から抜いた型番トークン（英数混在5字以上＝ほぼ一意）が含まれ、かつ価格が相手価格の &lt;strong&gt;±40% 以内&lt;/strong&gt;なら確定へ昇格させる。型番が一致しても価格バンドで偶然一致を弾く、という二重条件にしている。&lt;/p&gt;
&lt;p&gt;実際に動く比較画面は&lt;a href=&quot;https://aulvem.com/yasugoro/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;ヤスゴロのライブアプリ&lt;/a&gt;で見られる（ログイン不要・無料）。同一商品が複数モールで並ぶのは、この①で確定したものだ。&lt;/p&gt;
&lt;h2 id=&quot;名前ファジー一致-候補提示までで自動確定しない&quot;&gt;②名前ファジー一致: 候補提示までで自動確定しない&lt;/h2&gt;
&lt;p&gt;商品名しか手がかりが無い入力は、型番・容量・ブランドでスコア化し、候補を出すところまでで止める。自動で同一商品と断定はしない。&lt;/p&gt;
&lt;p&gt;ファジースコアの配点はこうした。型番が最も強いシグナルになる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;型番一致 … &lt;strong&gt;+0.5&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;ブランド一致 … &lt;strong&gt;+0.2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;容量一致 … &lt;strong&gt;+0.2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;残りトークンの重なり（Jaccard係数）… &lt;strong&gt;+0.1 × 係数&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;EH-NA0J&lt;/code&gt; のような型番は商品名から正規表現で抜き、容量は &lt;code&gt;54枚×3&lt;/code&gt; を「1パック54枚 × 3パック = 合計162枚」のように分解して比べる。スコアが 0.6 以上の候補だけを提示し、一つも超えなければ最良の1件を③の単一モールへ落とす。&lt;/p&gt;
&lt;p&gt;候補を確定するのはユーザーだ。提示された候補から「これは同じ商品」と確認したものだけをマスタ化する。逆に、誤って結ばれた組み合わせはワンタップで除外でき、その組は突合候補から永久に外れる（再び候補に上がってこない）。自動マッチの精度を上げ続けるより、確認導線と取り消し導線を素直に置くほうが、消耗品の横断比較では現実的だと思う。&lt;/p&gt;
&lt;h2 id=&quot;マッチ不能-単一モールの値下げ通知に倒す&quot;&gt;③マッチ不能: 単一モールの値下げ通知に倒す&lt;/h2&gt;
&lt;p&gt;どの段でも結べなかった商品は、単一モール扱いにする。横断の最安比較には混ぜず、そのページ自身の値下がりだけを追う。&lt;/p&gt;
&lt;p&gt;URL貼り付けで登録した単品も最初からここに入る。横断比較の土俵に乗らないので「他モールより安い」とは言わないが、「前より安くなった」は言える。比較できないものを無理に比較群へ入れて誤った最安を出すより、できることだけを正直にやる方針にした。&lt;/p&gt;
&lt;h2 id=&quot;誤名寄せを防ぐのは確定だけ通知する設計&quot;&gt;誤名寄せを防ぐのは「確定だけ通知する」設計&lt;/h2&gt;
&lt;p&gt;3段階に分けた一番の理由は、間違った同定のまま通知を飛ばさないためだった。通知が発火できるのは、JAN確定（&lt;code&gt;jan&lt;/code&gt;）とユーザー確認済み（&lt;code&gt;user_confirmed&lt;/code&gt;）だけ。ファジー段の要確認も、単一モールも、通知の発火条件からは外している。&lt;/p&gt;
&lt;p&gt;価格を計算する前に、同定の確実性で通知の権利を握っておく。ここを握らないと、別商品の値下がりを「ウォッチ中の商品が安くなった」と誤報してしまう。横断比較の信頼は、結局この同定の足場が決めていた。&lt;/p&gt;
&lt;p&gt;ポイント還元込みの実質価格をどう計算したか（確実性で価格を3層に分けた話）は、&lt;a href=&quot;https://aulvem.com/ja/blog/2026-06-15-point-inclusive-effective-price/&quot;&gt;実質価格の計算メモ&lt;/a&gt;に書いた。あちらが「価格をどう計算したか」、この記事が「同じ商品をどう同定したか」で、2つ揃って横断比較が成立する。動くものは&lt;a href=&quot;https://aulvem.com/ja/products/yasugoro/&quot;&gt;ヤスゴロ&lt;/a&gt;で確かめてほしい。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;h3 id=&quot;楽天-api-は-jan-をまったく取得できないの&quot;&gt;楽天 API は JAN をまったく取得できないの？&lt;/h3&gt;
&lt;p&gt;商品検索APIのレスポンスにJAN専用フィールドはなく、JAN専用の検索パラメータもありません。実装上は keyword に JAN 文字列を投げる間接突合になり、JAN自体は商品説明文（itemCaption）に含まれていることが多い、という形です。一方 Yahoo! ショッピングは jan_code パラメータで正引きでき、レスポンスにも janCode が乗るので、この非対称が横断比較の出発点になります。&lt;/p&gt;
&lt;h3 id=&quot;なぜ全部を-jan-で突合しないの&quot;&gt;なぜ全部を JAN で突合しないの？&lt;/h3&gt;
&lt;p&gt;JANが揃わない商品で無理に突合すると、別商品を同一商品として束ねる誤名寄せが起きるからです。楽天はJANを直接返さないので、keyword=JANで出たヒットが本当に同じ商品かは別途確証が要ります。確実にJANで結べるものだけを①の確定層に置き、確証が弱いものは②の候補提示、結べないものは③の単一モール通知へ落とす、と確実性で段階を分けています。&lt;/p&gt;
&lt;h3 id=&quot;名前ファジー一致を自動で確定しないのはなぜ&quot;&gt;名前ファジー一致を自動で確定しないのはなぜ？&lt;/h3&gt;
&lt;p&gt;型番・容量・ブランドが一致してもスコアは確率でしかなく、自動で同一商品と断定すると誤マッチのまま通知が飛ぶからです。ファジー段は候補を提示してユーザーが確認したものだけをマスタ化し、誤って結ばれた組み合わせはワンタップで除外（その組を突合候補から永久に外す）できるようにしました。通知が発火するのはJAN確定とユーザー確認済みだけに限っています。&lt;/p&gt;
&lt;h3 id=&quot;マッチできなかった商品はどうなる&quot;&gt;マッチできなかった商品はどうなる？&lt;/h3&gt;
&lt;p&gt;③のマッチ不能として単一モール扱いになり、横断比較からは外して、そのページ自身の値下がりだけを追います。URL貼り付けで登録した単品もここに入ります。横断の最安比較には混ぜず、単独の価格ウォッチとして通知する形です。&lt;/p&gt;</content:encoded><category>build</category><category>typescript</category><category>rakuten</category><category>yahoo</category><category>ec</category><category>api</category></item><item><title>ポイント還元込みの「実質価格」をどう計算したか — 3層に分けた設計メモ</title><link>https://aulvem.com/ja/blog/2026-06-15-point-inclusive-effective-price/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2026-06-15-point-inclusive-effective-price/</guid><description>個人で価格ウォッチャーを作るとき、表示価格からポイント還元を引いた実質価格の計算でいちばん詰まった。確定・条件付き・仮定の3層に分け、層ごとに floor してから合算し、ランキングには確定層だけを使う。還元率の単位差・上限・送料の扱いまで、実装で決めた設計ポイントを共有する。</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;個人で価格ウォッチャーを作って公開した。表示価格からポイント還元を引いた実質価格で複数モールを比べ、ウォッチした消耗品が安くなったら通知する、というものだ。作る前は「表示価格 − もらえるポイント」を出すだけ、と軽く見ていた。実際に手を動かすと、その一行がいちばん詰まった。&lt;/p&gt;
&lt;p&gt;理由は3つあった。全部のポイントを引くと数字を盛れてしまう。確実にもらえるポイントと「たぶんもらえる」ポイントを同列に足すと、一番安いはずの店が実は条件付きだった、という事故が起きる。還元率の単位はモールでバラバラだし、端数の扱いを間違えると実額と数円ずれる。&lt;/p&gt;
&lt;p&gt;この記事は、その実質価格をどう計算したか、設計で決めたポイントを共有するものです。結論から言うと、ポイントを確実性で3層に分け、層ごとに端数処理してから合算し、ランキングには確実な層だけを使う、という形に落ち着いた。同じように「ポイント込みでどっちが得か」を計算したい人の手がかりになればと思う。&lt;/p&gt;
&lt;h2 id=&quot;まず実質価格を定義する&quot;&gt;まず「実質価格」を定義する&lt;/h2&gt;
&lt;p&gt;実質価格は、表示価格から「その買い物でもらえるポイント」を引いた金額だ。1,000 円の商品に 100 ポイント付くなら実質 900 円、と考える。表示価格そのものより、財布から最終的に減る額に近い。&lt;/p&gt;
&lt;p&gt;ただしポイントは現金と完全には同じでない。使途が限られ、期限もある。今回は「次の買い物で 1 ポイント = 1 円として使える」という前提を置いて円換算した。この前提を最初に固定しないと、店をまたいだ比較がそもそも成立しない。定義に前提を含めておくところからが設計だった。&lt;/p&gt;
&lt;h2 id=&quot;素朴な実装はどこで壊れたか&quot;&gt;素朴な実装はどこで壊れたか&lt;/h2&gt;
&lt;p&gt;最初に書いたのはこれだ。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; effectivePrice&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; displayPrice &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; totalPoints; &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// これだと盛れる&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;短いが、3 つの穴があった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;もらえるか確実でないポイントまで引いてしまう&lt;/strong&gt;。要エントリーのキャンペーンや、自分の SPU 倍率を当て込んだ分まで引くと、表示上いちばん安く見える店が「条件を全部満たして初めて届く価格」になる。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;還元率の単位がモールで違う&lt;/strong&gt;。楽天の倍率、Yahoo! のキャンペーン加算、期間限定ポイント。これを一括で掛けると桁がずれる。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;端数&lt;/strong&gt;。ポイントは多くの場合 floor（切り捨て）で付く。複数の還元をまとめて足してから floor すると、実際の付与額と数円ずれる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;数円のズレでも、1 位と 2 位が入れ替われば「どこで買うのが得か」の答えが変わる。盛らないことと、ズレないこと。実質価格はこの 2 つを同時に満たさないと、ただの参考値に落ちる。ここで一度作り直すことにした。&lt;/p&gt;
&lt;h2 id=&quot;設計の軸-ポイントを確実性で3層に分ける&quot;&gt;設計の軸: ポイントを確実性で3層に分ける&lt;/h2&gt;
&lt;p&gt;作り直しで据えた軸が、ポイントを「どれだけ確実にもらえるか」で3層に分けることだった。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;層&lt;/th&gt;&lt;th&gt;中身&lt;/th&gt;&lt;th&gt;確実性&lt;/th&gt;&lt;th&gt;ランキングに使う&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;① 確定&lt;/td&gt;&lt;td&gt;API が返す実付与ポイント&lt;/td&gt;&lt;td&gt;確実&lt;/td&gt;&lt;td&gt;使う&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;② 条件付き&lt;/td&gt;&lt;td&gt;公知のキャンペーン（5 と 0 のつく日など）&lt;/td&gt;&lt;td&gt;要エントリー等で変わる&lt;/td&gt;&lt;td&gt;使わない&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;③ 仮定&lt;/td&gt;&lt;td&gt;ユーザー自身の SPU 倍率・買い回り&lt;/td&gt;&lt;td&gt;自己申告&lt;/td&gt;&lt;td&gt;使わない&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;確定層だけで順位を決め、②③は「最大でここまで下がる」という幅として見せる。並び順は誰にとっても同じ（確実な情報だけで決まる）で、上振れは各自の条件で変わる、という住み分けにした。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;mermaid&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;flowchart TD&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Price[税込表示価格]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  L1[① 確定: API実値ポイント]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  L2[② 条件付き: 公知キャンペーン]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  L3[③ 仮定: ユーザー設定]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Rank[ランキング rankKey = 価格 − ①]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Eff[表示する実質価格 = 価格 − ①②③]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Price --&amp;gt; L1 --&amp;gt; Rank&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Price --&amp;gt; L2 --&amp;gt; Eff&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Price --&amp;gt; L3 --&amp;gt; Eff&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  L1 --&amp;gt; Eff&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;計算結果には、含まれた最も弱い層を確実性ティアとして持たせた。型で言うとこれだけだ。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; CertaintyTier&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;#39;confirmed&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;#39;conditional&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;#39;assumed&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;③（仮定）を含む価格は通知を発火させない、というルールもここに紐づく。自己申告のポイントを根拠に「買い時です」とは断定できない。発火するのは確定だけ、もしくは要エントリーを開示した条件付きまで、と決めた。&lt;/p&gt;
&lt;h2 id=&quot;端数は層ごとに-floor-してから合算する&quot;&gt;端数は層ごとに floor してから合算する&lt;/h2&gt;
&lt;p&gt;ポイントの floor は、層をまたいで最後に一度だけ、ではいけない。各層で floor してから足す。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;let&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; pts &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Math.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;floor&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(base &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; rate); &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 層ごとに切り捨て&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (cap &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; null&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; pts &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; cap) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  pts &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Math.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;min&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(pts, cap); &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 上限は floor 後のポイント円に適用&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;実際の付与も「キャンペーンごとに切り捨てて付く」ことが多く、合算してから floor すると実額と 1〜数円ずれる。上限（cap）の当て方も同じで、floor したあとのポイント円に対して &lt;code&gt;Math.min&lt;/code&gt; を取る。先に cap してから floor すると、やはり 1 円ずれる。地味な順序だが、ここが表示の信頼に効いた。&lt;/p&gt;
&lt;p&gt;倍率の持ち方にも癖がある。キャンペーンの「+4 倍」は、税込価格への追加付与分（増分）として持つ。等倍（1 倍）は増分 0 だ。倍率をそのまま価格に掛けると、標準でもらえるポイントを二重に数えてしまう。だから「増分だけ」を率として保持した。&lt;/p&gt;
&lt;h2 id=&quot;ランキングのキーと表示価格を分ける&quot;&gt;ランキングのキーと表示価格を分ける&lt;/h2&gt;
&lt;p&gt;並び順を決めるキーと、画面に出す実質価格は、引く層を変えた。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; rankKey&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; base &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; confirmedPoints;                 &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// ① だけ&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; total&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; confirmedPoints &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; conditionalPoints &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; assumedPoints;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; effectivePrice&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Math.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, base &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; total);       &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 負ガード&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;rankKey&lt;/code&gt; は確定層だけを引いた値。誰が見ても同じ順位になる。&lt;code&gt;effectivePrice&lt;/code&gt; は全層を引いた値で、各自の条件込みで「最大どこまで下がるか」を表す。高還元の商品で総ポイントが価格を超えると負になるので、&lt;code&gt;Math.max(0, …)&lt;/code&gt; でガードした。&lt;/p&gt;
&lt;p&gt;順位と表示額をあえてずらしたのは、読み手によって変わる数字（条件付き・仮定）を順位に混ぜたくなかったからだ。混ぜると、自分の SPU 設定を盛った人ほど上位が動く、という気持ち悪い挙動になる。&lt;/p&gt;
&lt;h2 id=&quot;送料はあえて実質価格に入れない&quot;&gt;送料はあえて実質価格に入れない&lt;/h2&gt;
&lt;p&gt;送料額は、どのモールの検索 API からも取れない。だから実質価格には足さないと決めた。推測で足すと、取れないものを埋めるための誤差を自分で持ち込むことになる。&lt;/p&gt;
&lt;p&gt;代わりに、送料込み / 送料別 / 不明のフラグを持たせ、送料込みのものだけを同じ土俵で比較する。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 送料込みのものだけを主比較群に入れる&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; isComparableForRank&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;listing&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Listing&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; boolean&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; listing.postageFlag &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 0=送料込, 1=送料別, null=不明&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;送料別と送料込みを混ぜて最安を出すと、送料で逆転するのに気づけない。送料別・不明のものは主比較群から外し、注記として開示する。入れられない情報を「入れない」と決めて、その判断を表に出すほうが、半端に推測するより誠実だと思う。&lt;/p&gt;
&lt;h2 id=&quot;振り返り&quot;&gt;振り返り&lt;/h2&gt;
&lt;p&gt;実質価格は「表示価格 − ポイント」と一行で書けるのに、信用できる数字にしようとすると、確実性の層分け・層ごとの floor・ランキングキーの分離・送料の除外、と地味な判断が積み重なった。派手な処理はどこにもない。ただ、ここを雑にやると「一番安いはずが条件付きだった」で読み手の信頼を失う。時間を使ったのは、結局この計算の足場を固めるところだった。&lt;/p&gt;
&lt;p&gt;この3層計算は、ウォッチした消耗品について毎日自動で回し、確定層ベースで本当に安くなったときだけ通知する、という形で動いている。公開したのは &lt;a href=&quot;https://aulvem.com/ja/products/yasugoro/&quot;&gt;ヤスゴロ&lt;/a&gt; という価格ウォッチャーで、ログイン不要・無料で使える。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;h3 id=&quot;ポイントを全部引いた金額で比較してはだめ&quot;&gt;ポイントを全部引いた金額で比較してはだめ？&lt;/h3&gt;
&lt;p&gt;全部引くと数字を盛れてしまいます。要エントリーのキャンペーンや自分の SPU 倍率まで引いた価格は「条件を全部満たせば届く価格」で、誰にとっても確実な最安ではありません。確実にもらえる API 実値ポイントだけを引いた値でランキングし、条件付き・仮定のポイントは別枠のレンジとして見せています。&lt;/p&gt;
&lt;h3 id=&quot;期間限定ポイントや要エントリーのキャンペーンはどう扱う&quot;&gt;期間限定ポイントや要エントリーのキャンペーンはどう扱う？&lt;/h3&gt;
&lt;p&gt;実質価格の本体には乗せず、条件付きの層（②層）として分けて計算し、要エントリーや上限到達のフラグを付けて開示します。金額として断定するのは API が実値を返す確定ポイントだけ。期間限定や要エントリーは「最大でここまで下がる」という幅で見せ、通知の発火条件からも外しました。&lt;/p&gt;
&lt;h3 id=&quot;送料を実質価格に入れないと最安が逆転しない&quot;&gt;送料を実質価格に入れないと最安が逆転しない？&lt;/h3&gt;
&lt;p&gt;逆転し得ます。ただし送料額はどのモールの検索 API からも取れないので、推測で足すとかえって誤差を持ち込みます。今回は送料を実質価格に算入せず、送料込み/送料別/不明のフラグを持たせ、送料込みのものだけを同じ土俵で比較しました。送料別のものは主比較群から外し、注記で開示する形です。&lt;/p&gt;
&lt;h3 id=&quot;なぜランキングと表示する実質価格で使う層を変えるの&quot;&gt;なぜランキングと表示する実質価格で使う層を変えるの？&lt;/h3&gt;
&lt;p&gt;並び順は誰が見ても同じであってほしいからです。ランキングのキーには確定層だけを使い、表示する実質価格は確定＋条件付き＋仮定を引いた値にしています。こうすると「一番安い順」は確実な情報だけで決まり、各自の条件で変わる上振れは表示価格側のレンジで伝わります。&lt;/p&gt;</content:encoded><category>build</category><category>typescript</category><category>pricing</category><category>ec</category><category>rakuten</category></item><item><title>llms.txt / llms-full.txt を Astro で多言語生成する — Aulvem の GEO 実装</title><link>https://aulvem.com/ja/blog/2026-06-14-aulvem-llms-txt-multilingual/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2026-06-14-aulvem-llms-txt-multilingual/</guid><description>llms.txt と llms-full.txt を Astro の API ルートで動的生成し、Content Collections を単一情報源にして英日 2 言語に分けて出す実装記録。filterLang と docLang の 2 軸で 3 エンドポイントを 1 つのレンダラから出す構成と、robots.txt との役割分担まで扱う。</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;AI 検索や LLM にサイトを読ませる入口として、llms.txt という提案がある。robots.txt や sitemap.xml と似た位置の、サイトルートに置くプレーンテキストの目次だ。仕様はまだ固まりきっておらず、主要な LLM ベンダーが公式に消費を保証しているわけでもない。それでも生成コストが小さいので、Aulvem では出すだけ出しておく方針にした。&lt;/p&gt;
&lt;p&gt;この記事は、その llms.txt / llms-full.txt を Astro で動的生成し、英日 2 言語に分けて出すまでの実装記録です。効果があったかどうかの話はしない。現時点で計測できる流入は無く、断定できる材料が無いからだ。あくまで「何を、どう生成しているか」だけを書く。&lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-23-aulvem-zod-schema-enforcement/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Zod schema で運用ルールを強制する&lt;/a&gt; や &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-30-aulvem-i18n-hreflang-reciprocal/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;hreflang をリシプロカルに出す&lt;/a&gt; と同じ、「frontmatter と Content Collections を単一情報源にする」系列の続きにあたる。&lt;/p&gt;
&lt;h2 id=&quot;llmstxt-とは何か&quot;&gt;llms.txt とは何か&lt;/h2&gt;
&lt;p&gt;llms.txt は、サイトルートに置く LLM 向けの Markdown 形式の目次だ。&lt;code&gt;sitemap.xml&lt;/code&gt; が機械可読な URL 一覧なのに対し、llms.txt は「このサイトは何で、どこを読めばいいか」を自然言語の要約付きで並べる点が違う。&lt;/p&gt;
&lt;p&gt;提案元（&lt;a href=&quot;https://llmstxt.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;llmstxt.org&lt;/a&gt;）のスペックでは、ファイル先頭に H1 のサイト名と引用ブロックの概要を置き、その下に H2 でセクション分けしたリンク一覧を並べる、というゆるい構造が決まっている。各リンクには &lt;code&gt;- [タイトル](URL): 一文の説明&lt;/code&gt; の形で注釈を添える。&lt;/p&gt;
&lt;p&gt;スペックはもう 1 つ &lt;code&gt;/llms-full.txt&lt;/code&gt; という慣習を示している。こちらは目次ではなく、各ページの本文を展開した全文寄りのインデックスだ。LLM がリンクを辿らずに 1 ファイルで内容を把握できるようにするためのもの。Aulvem では両方を出している。&lt;/p&gt;






























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;llms.txt&lt;/th&gt;&lt;th&gt;llms-full.txt&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;役割&lt;/td&gt;&lt;td&gt;軽い目次（リンク + 要約）&lt;/td&gt;&lt;td&gt;全文寄りインデックス（抜粋 + 見出し + タグ）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;載せる記事&lt;/td&gt;&lt;td&gt;代表記事を 7 本に絞る&lt;/td&gt;&lt;td&gt;全記事&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;言語&lt;/td&gt;&lt;td&gt;言語ごとに分ける（EN / JA）&lt;/td&gt;&lt;td&gt;1 本に英日を混ぜ、各エントリに言語タグ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サイズ&lt;/td&gt;&lt;td&gt;小さい&lt;/td&gt;&lt;td&gt;大きい&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;astro-で生成する基本形&quot;&gt;Astro で生成する基本形&lt;/h2&gt;
&lt;p&gt;Astro の file-based API ルートを使えば、&lt;code&gt;src/pages/&lt;/code&gt; 配下に &lt;code&gt;.txt.ts&lt;/code&gt; を置くだけで動的にテキストを返せる。&lt;code&gt;GET&lt;/code&gt; ハンドラから &lt;code&gt;Response&lt;/code&gt; を返し、&lt;code&gt;Content-Type&lt;/code&gt; を &lt;code&gt;text/plain&lt;/code&gt; にするのが基本形だ。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// src/pages/llms.txt.ts&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { APIContext } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;astro&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { renderLlmsTxt } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;../lib/llmsTxt&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; async&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; function&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; GET&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;_context&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; APIContext&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; body&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; renderLlmsTxt&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({ docLang: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; });&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Response&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(body, {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    status: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;200&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    headers: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &amp;quot;Content-Type&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;text/plain; charset=utf-8&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &amp;quot;Cache-Control&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;public, max-age=3600&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  });&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;.txt.ts&lt;/code&gt; という拡張子の付け方がポイントで、ビルド時に &lt;code&gt;/llms.txt&lt;/code&gt; という URL に静的出力される。中身の生成ロジックは別ファイル（&lt;code&gt;src/lib/llmsTxt.ts&lt;/code&gt;）に切り出して、ルート側は薄い入口だけにしている。こうすると言語別エンドポイントを足すときにロジックを再利用できる。&lt;/p&gt;
&lt;p&gt;スタックはこれだけで足りる。&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;パッケージ&lt;/th&gt;&lt;th&gt;用途&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;https://cdn.simpleicons.org/astro/af5d38&quot; width=&quot;16&quot; height=&quot;16&quot; alt style=&quot;vertical-align:middle;margin-right:6px;display:inline-block&quot;/&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;astro&lt;/code&gt; (API routes + &lt;code&gt;astro:content&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;ルート定義と Content Collections の取得&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;https://cdn.simpleicons.org/typescript/af5d38&quot; width=&quot;16&quot; height=&quot;16&quot; alt style=&quot;vertical-align:middle;margin-right:6px;display:inline-block&quot;/&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;typescript&lt;/code&gt;&lt;/td&gt;&lt;td&gt;レンダラの型付け&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;content-collections-を単一情報源にする&quot;&gt;Content Collections を単一情報源にする&lt;/h2&gt;
&lt;p&gt;llms.txt の中身は、記事一覧を手で書かない。Content Collections（&lt;code&gt;astro:content&lt;/code&gt; の &lt;code&gt;getCollection&lt;/code&gt;）から記事とプロダクトを取得して、その場で組み立てる。手書きのリストにすると記事を足すたびに更新を忘れて、本文と llms.txt がずれる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// src/lib/llmsTxt.ts（抜粋）&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; async&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; function&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; renderLlmsTxt&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;opts&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; LlmsTxtOptions&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Promise&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; services&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; getCollection&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;services&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; blog&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; getCollection&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;blog&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, ({ &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; }) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; !&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;data.draft);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;  // 新しい順に並べる。プロダクトは status（active→preparing→archived）優先&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  blog.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;sort&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; b.data.pubDate.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;getTime&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; a.data.pubDate.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;getTime&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;());&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;  // ...セクションを組み立てて join(&amp;quot;\n&amp;quot;) で返す&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;getCollection(&amp;quot;blog&amp;quot;, ({ data }) =&amp;gt; !data.draft)&lt;/code&gt; のフィルタで &lt;code&gt;draft: true&lt;/code&gt; を落としているのが要点だ。これを忘れると、書きかけの下書きが llms.txt に載って、まだ公開していない URL を LLM に案内してしまう。sitemap や RSS と同じ除外条件をここでも揃えておく。&lt;/p&gt;
&lt;p&gt;記事の説明文には、frontmatter の &lt;code&gt;summary&lt;/code&gt;（無ければ &lt;code&gt;description&lt;/code&gt;）をそのまま使う。&lt;code&gt;summary&lt;/code&gt; は「AI 引用される短い答え」として全記事に必須で書いているので、llms.txt の注釈と本文側の TLDR が同じ情報源から出る。ここでも frontmatter が単一情報源になっている。&lt;/p&gt;
&lt;h2 id=&quot;多言語をどう分けるか&quot;&gt;多言語をどう分けるか&lt;/h2&gt;
&lt;p&gt;ここが多言語サイトの肝で、Aulvem は &lt;strong&gt;filterLang&lt;/strong&gt; と &lt;strong&gt;docLang&lt;/strong&gt; の 2 軸でレンダラを動かしている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;filterLang&lt;/strong&gt;: どの言語の記事・プロダクトを載せるか（&lt;code&gt;ja&lt;/code&gt; なら日本語エントリだけ）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;docLang&lt;/strong&gt;: 見出し・概要・利用条件など、ドキュメント自体の文言をどの言語で書くか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この 2 軸を分けたことで、同じレンダラから 3 本のエンドポイントを出せる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// src/pages/llms.txt.ts        → 英語見出し・全言語の記事&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;renderLlmsTxt&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({ docLang: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; });&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// src/pages/ja/llms.txt.ts     → 日本語見出し・日本語の記事だけ&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;renderLlmsTxt&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({ filterLang: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, docLang: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; });&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;英語ルートの &lt;code&gt;/llms.txt&lt;/code&gt; は &lt;code&gt;filterLang&lt;/code&gt; を指定していない。これは英語版を「サイト全体の入口」と位置づけて、両言語の記事を拾える状態にしているためだ。日本語版 &lt;code&gt;/ja/llms.txt&lt;/code&gt; は &lt;code&gt;filterLang: &amp;quot;ja&amp;quot;&lt;/code&gt; で日本語面に閉じる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;mermaid&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;flowchart LR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  CC[Content Collections&amp;lt;br/&amp;gt;blog + services]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  R[renderLlmsTxt&amp;lt;br/&amp;gt;filterLang / docLang]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  EN[&amp;quot;/llms.txt&amp;lt;br/&amp;gt;docLang=en&amp;quot;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  JA[&amp;quot;/ja/llms.txt&amp;lt;br/&amp;gt;filterLang=ja, docLang=ja&amp;quot;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  CC --&amp;gt;|getCollection| R&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  R --&amp;gt; EN&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  R --&amp;gt; JA&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;代表記事は-doclang-の言語で絞る&quot;&gt;代表記事は docLang の言語で絞る&lt;/h3&gt;
&lt;p&gt;1 つ設計判断がある。英語版 &lt;code&gt;/llms.txt&lt;/code&gt; は記事自体は両言語を拾えるが、「代表記事（Featured posts）」のセクションだけは &lt;code&gt;docLang&lt;/code&gt; の言語に絞っている。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 代表記事は docLang の言語のものだけを出す&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; featuredSource&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; filteredBlog.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;filter&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  (&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; entryLangLocal&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(p.id) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; opts.docLang,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;翻訳ペアの両方を代表枠に並べると、同じ内容が 2 言語で 2 枠を占めて、限られた枠の中のユニークなシグナルが半分になる。だから代表枠はドキュメント言語のものに揃えて、英日をまたいだ全集合は llms-full.txt 側に任せる。枠が有限なリスト（代表記事 7 本）では言語を絞り、容量の制約がゆるい全文ダンプでは両言語を載せる、という住み分けにしている。&lt;/p&gt;
&lt;h2 id=&quot;llms-fulltxt--全文インデックスと言語の相互参照&quot;&gt;llms-full.txt — 全文インデックスと言語の相互参照&lt;/h2&gt;
&lt;p&gt;llms-full.txt は別ルート（&lt;code&gt;src/pages/llms-full.txt.ts&lt;/code&gt;）として、全記事の本文抜粋・見出し・タグを 1 ファイルに展開する。MDX 本文は &lt;code&gt;stripMdx&lt;/code&gt; で記法を剥がし、&lt;code&gt;clip&lt;/code&gt; で 500 字に切ってから載せる。&lt;/p&gt;
&lt;p&gt;各エントリには言語タグ（&lt;code&gt;(ja)&lt;/code&gt; / &lt;code&gt;(en)&lt;/code&gt;）を付け、さらに対になる言語版があれば &lt;code&gt;Lang-Alt&lt;/code&gt; でその URL を相互参照させている。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 対になる言語版の URL を Lang-Alt として添える&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; alt&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; altByBase.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(slug);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (alt) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; otherLang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; lang &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; ?&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; :&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; otherPath&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; alt[otherLang];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (otherPath) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    lines.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;push&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;`Lang-Alt (${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;otherLang&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}): ${&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;SITE&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;otherPath&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}`&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;これは hreflang と同じ発想だ。HTML 側で両言語にある記事だけ alternate を相互に出す実装を &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-30-aulvem-i18n-hreflang-reciprocal/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;hreflang の記事&lt;/a&gt; で書いたが、llms-full.txt でも「この記事には対になる言語版がここにある」を LLM 向けに明示しておく。同じ記事の英日が別物として扱われて重複カウントされるのを避けたい意図がある。&lt;/p&gt;
&lt;h2 id=&quot;robotstxt-との役割分担&quot;&gt;robots.txt との役割分担&lt;/h2&gt;
&lt;p&gt;llms.txt は robots.txt の代わりではない。クロールの可否を伝えるのは robots.txt で、llms.txt が伝えるのはサイトの内容と読みどころだ。学習や引用を許す/許さないの最終的な許諾は robots.txt 側が握っている。&lt;/p&gt;
&lt;p&gt;Aulvem は llms.txt の中に利用条件（Usage &amp;amp; citation）セクションを置いて、引用は歓迎・引用時は元 URL へリンクしてほしい、学習も現時点では許可、という方針を自然言語で書いている。ただしその末尾に「最終的なボット方針は robots.txt を参照」と添えて、機械可読な権威は robots.txt にあると明示する。llms.txt はあくまで案内文で、規範を上書きするものではない、という立て付けにしてほしいところだ。&lt;/p&gt;
&lt;p&gt;ここを曖昧にすると、llms.txt に「学習禁止」と書いたのに robots.txt は全許可、のような食い違いが起きる。2 つのファイルの方針は手で揃える必要がある。&lt;/p&gt;
&lt;h2 id=&quot;落とし穴と運用ルール&quot;&gt;落とし穴と運用ルール&lt;/h2&gt;
&lt;p&gt;実装で踏みかけた点を整理しておく。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;draft&lt;/code&gt; 除外を 3 本すべてで揃える&lt;/strong&gt;: &lt;code&gt;getCollection&lt;/code&gt; のフィルタを共通レンダラに置いて、llms.txt・ja/llms.txt・llms-full.txt が同じ除外条件を通るようにする。1 本だけ素通しにすると下書きが漏れる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;filterLang&lt;/code&gt; と &lt;code&gt;docLang&lt;/code&gt; を混同しない&lt;/strong&gt;: 「載せる記事の言語」と「文言の言語」は別軸。英語版で日本語記事も拾うために &lt;code&gt;filterLang&lt;/code&gt; を未指定にしている設計を、後から読んでバグと勘違いして filter を足さないこと&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代表記事の言語絞り込み&lt;/strong&gt;: Featured だけは docLang で絞る。ここを外すと翻訳ペアで枠が埋まる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Cache-Control&lt;/code&gt; を付ける&lt;/strong&gt;: 3 本とも &lt;code&gt;max-age=3600&lt;/code&gt; にしている。生成は軽いが、毎リクエスト再生成する必要は無い&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;利用条件と robots.txt の整合&lt;/strong&gt;: 方針を変えるときは両方を直す。llms.txt 単体で完結させない&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;llms.txt は、Content Collections を単一情報源にして Astro の API ルートから動的生成すれば、記事を足すたびの手動メンテが要らなくなる。多言語は filterLang（載せる記事）と docLang（文言）の 2 軸に分けると、1 つのレンダラから英語版・日本語版・全文版の 3 本を出せる。&lt;/p&gt;
&lt;p&gt;効果があるかどうかは別の話で、ここでは触れない。llms.txt が AI 検索の流入にどう効くかは、まだ慣習も計測も固まっていない段階だと思う。Aulvem としては「コストが小さいので出しておく、権威は robots.txt に置く」という構えで運用している。&lt;/p&gt;
&lt;p&gt;frontmatter を単一情報源にする設計は &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-17-aulvem-blog-architecture/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Aulvem ブログの作り&lt;/a&gt; から続く系列なので、合わせて読むと位置づけが分かりやすいかもしれない。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;h3 id=&quot;llmstxt-と-llms-fulltxt-は何が違う&quot;&gt;llms.txt と llms-full.txt は何が違う？&lt;/h3&gt;
&lt;p&gt;llms.txt は「このサイトは何で、どこを読めばいいか」を要約付きリンクで並べた軽い目次。llms-full.txt は各記事の抜粋・見出し・タグまで含めた全文寄りのインデックスです。Aulvem では前者を代表記事 7 本に絞ったキュレーション、後者を全記事の本文抜粋ダンプとして役割を分けています。&lt;/p&gt;
&lt;h3 id=&quot;llmstxt-を出せば-ai-に読まれて流入が増える&quot;&gt;llms.txt を出せば AI に読まれて流入が増える？&lt;/h3&gt;
&lt;p&gt;現時点でそれは断定できません。llms.txt は提案段階の慣習で、主要な LLM ベンダーが公式に消費を保証しているわけではない。robots.txt と sitemap.xml が依然として権威的なボット向けシグナルです。Aulvem は生成コストが小さいので「出しておく」程度のスタンスで置いていて、流入効果を主張する材料は持っていません。&lt;/p&gt;
&lt;h3 id=&quot;多言語サイトで-llmstxt-は言語ごとに分けるべき&quot;&gt;多言語サイトで llms.txt は言語ごとに分けるべき？&lt;/h3&gt;
&lt;p&gt;Aulvem は英語ルート（/llms.txt）とは別に日本語版（/ja/llms.txt）を出しています。見出しや利用条件の文言を読み手の言語に合わせたいのと、代表記事をその言語のものに絞りたいため。全文を 1 本に混ぜる llms-full.txt とは別系統として両方を持たせています。&lt;/p&gt;
&lt;h3 id=&quot;robotstxt-があるのに-llmstxt-も要る&quot;&gt;robots.txt があるのに llms.txt も要る？&lt;/h3&gt;
&lt;p&gt;役割が違います。robots.txt はクロールの可否を伝えるルールで、llms.txt はサイトの内容と読みどころを伝える目次。学習・引用の最終的な許諾は robots.txt が authoritative で、llms.txt はあくまで補助的な案内です。Aulvem は llms.txt の利用条件セクションにも「最終方針は robots.txt を参照」と明記しています。&lt;/p&gt;</content:encoded><category>build</category><category>astro</category><category>llms-txt</category><category>geo</category><category>site-architecture</category></item><item><title>hreflang を両言語にある記事だけリシプロカルに出す — Aulvem の i18n カスタマイズ</title><link>https://aulvem.com/ja/blog/2026-05-30-aulvem-i18n-hreflang-reciprocal/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2026-05-30-aulvem-i18n-hreflang-reciprocal/</guid><description>Astro 標準 i18n では hreflang が無条件に全 locale 分出てしまう問題を、Content Collections の実体存在判定ヘルパで両言語にある記事だけ alternate を出す形に直した記録。リシプロカル要件と x-default の扱いまでセットで扱う。</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Astro 標準の i18n はルーティングを生成してくれるが、hreflang は自分で出す必要がある。&lt;/p&gt;
&lt;p&gt;素朴に「サイトの全 locale 分の alternate を出す」実装にすると、片方の言語にしか実体がない記事でも alternate が出てしまい、結果として 404 を指すリンクが hreflang として広告される。これは Google のリシプロカル hreflang ルール違反で、検索エンジンに壊れた多言語シグナルを送ることになる。&lt;/p&gt;
&lt;p&gt;Aulvem では Content Collections を見て両言語に実体がある時だけ &lt;code&gt;&amp;lt;link rel=&amp;quot;alternate&amp;quot; hreflang&amp;gt;&lt;/code&gt; を出すヘルパを書き、Seo.astro が条件付き出力する構成にした。&lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-17-aulvem-blog-architecture/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Aulvem ブログの作り&lt;/a&gt; の FAQ で予告した「hreflang は MDX frontmatter から独自実装した」の派生記事 3 本目です。&lt;/p&gt;
&lt;h2 id=&quot;全-locale-に-alternate-を出すと何が壊れるか&quot;&gt;全 locale に alternate を出すと何が壊れるか&lt;/h2&gt;
&lt;p&gt;雑な実装でよく見るのが、「サイトがサポートする全 locale 分の &lt;code&gt;&amp;lt;link rel=&amp;quot;alternate&amp;quot; hreflang&amp;gt;&lt;/code&gt; を無条件で出す」パターンだ。EN / JA の 2 言語サイトなら、どの記事でも常に 2 本の alternate を吐く。&lt;/p&gt;
&lt;p&gt;問題はここで、特定の記事が片言にしか存在しない場合に起きる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JA だけ書いた記事に EN の alternate が出る → 指す URL は 404 になる&lt;/li&gt;
&lt;li&gt;Google は「指された URL が alternate を返さない」と判断する（リシプロカル要件不成立）&lt;/li&gt;
&lt;li&gt;結果としてその hreflang は無視される。最悪、サイト全体の多言語シグナルが薄まる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://developers.google.com/search/docs/specialty/international/localized-versions&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Google の hreflang ガイドライン&lt;/a&gt; は明示的に「相互参照が必要」「存在しない URL を指さない」を要件として挙げています。雑な実装は要件不成立で実質ノーカウントなので、出さない方がマシな状況も起きる。&lt;/p&gt;
&lt;h2 id=&quot;google-が要求する-2-つの条件&quot;&gt;Google が要求する 2 つの条件&lt;/h2&gt;
&lt;p&gt;hreflang を機能させるための必須条件は次の 2 つだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;リシプロカル&lt;/strong&gt;: &lt;code&gt;A → B&lt;/code&gt; の hreflang を出すなら、&lt;code&gt;B → A&lt;/code&gt; も同じ alternate を持つ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;存在する URL を指す&lt;/strong&gt;: 404 / noindex の URL を alternate に書かない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;両方を満たすには「両言語に実体があるときだけ alternate を出す」が一番素直で safe な実装になる。サイトのビルド時に Content Collections を走査して、各記事がどの言語に存在するかを判定する仕組みが必要です。&lt;/p&gt;
&lt;h2 id=&quot;実体存在判定ヘルパ-3-つ&quot;&gt;実体存在判定ヘルパ 3 つ&lt;/h2&gt;
&lt;p&gt;Aulvem では 3 種類のページ系（個別記事 / プロダクト / カテゴリ paginated）に対応するヘルパを &lt;code&gt;src/lib/posts.ts&lt;/code&gt; に置いている。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { getCollection } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;astro:content&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { Lang } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;../i18n&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; LANGS&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// 個別ブログ記事 → どの言語に存在するか&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; async&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; function&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; blogAvailableLangs&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;slugWithoutLang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Promise&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;Lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[]&amp;gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; all&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; getCollection&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;blog&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, ({ &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; }) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; !&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;data.draft);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; LANGS&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;filter&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    all.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;some&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; e.id &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; `${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}/${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;slugWithoutLang&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}`&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  );&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// プロダクトページ → どの言語に存在するか&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; async&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; function&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; serviceAvailableLangs&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;slugWithoutLang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Promise&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;Lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[]&amp;gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; all&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; getCollection&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;services&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; LANGS&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;filter&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    all.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;some&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; e.id &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; `${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}/${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;slugWithoutLang&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}`&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  );&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// カテゴリ paginated ページ → N ページ目が言語ごとに存在するか&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; async&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; function&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; categoryPageAvailableLangs&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;  category&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;  pageNum&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; number&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;  pageSize&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; number&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Promise&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;Lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[]&amp;gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; results&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  for&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; lang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; of&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; LANGS&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; posts&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; getPublishedBlog&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(lang);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; inCat&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; posts.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;filter&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; p.data.category &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; category);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; lastPage&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Math.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, Math.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;ceil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(inCat.&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; /&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; pageSize));&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (pageNum &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; lastPage) results.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;push&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(lang);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; results;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;draft: true&lt;/code&gt; を除外しているのがポイントで、下書きしかない言語を「実体あり」と判定すると、本ビルドの sitemap や本文側と不整合になる。&lt;code&gt;getCollection&lt;/code&gt; のフィルタ段階で落とす。&lt;/p&gt;
&lt;p&gt;Seo.astro はビルド時にレンダリングされるので、ここでは Content Collections API が使える。&lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-25-aulvem-sitemap-lastmod/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;astro.config.mjs&lt;/code&gt; での sitemap lastmod 実装&lt;/a&gt; では loader より早く評価される制約があって API が使えなかったが、layout から呼ぶ場合はその制約は無いです。&lt;/p&gt;
&lt;h2 id=&quot;seoastro-で条件付き出力&quot;&gt;Seo.astro で条件付き出力&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Seo.astro&lt;/code&gt; は &lt;code&gt;availableLangs&lt;/code&gt; prop を受け取り、&lt;code&gt;includes(&amp;quot;en&amp;quot;)&lt;/code&gt; / &lt;code&gt;includes(&amp;quot;ja&amp;quot;)&lt;/code&gt; で &lt;code&gt;&amp;lt;link rel=&amp;quot;alternate&amp;quot;&amp;gt;&lt;/code&gt; を条件付き出力する。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;astro&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;---&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;interface&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Props&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;  // ... 他の props&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;  availableLangs&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;?:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;availableLangs&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;langProp&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Astro.props;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; lang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Lang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; langProp &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;??&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; getLangFromUrl&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(Astro.url);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; currentPath&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Astro.url.pathname;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; otherLangPath&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; altPathForOtherLang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(currentPath, lang);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; enPath&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; lang &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; ?&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; currentPath &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; otherLangPath;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; jaPath&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; lang &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; ?&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; currentPath &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; otherLangPath;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; enHref&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; URL&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(enPath, Astro.site).&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;toString&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; jaHref&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; URL&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(jaPath, Astro.site).&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;toString&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; hasEnVersion&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; availableLangs.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;includes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; hasJaVersion&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; availableLangs.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;includes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// x-default points to EN when available; otherwise the only available lang.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; xDefaultHref&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; hasEnVersion &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;?&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; enHref &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; jaHref;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;---&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{hasEnVersion &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;link&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; rel&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;alternate&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; hreflang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; href&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{enHref} /&amp;gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{hasJaVersion &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;link&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; rel&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;alternate&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; hreflang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; href&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{jaHref} /&amp;gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;link&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; rel&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;alternate&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; hreflang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;x-default&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; href&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;={xDefaultHref} /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;デフォルト値を &lt;code&gt;[&amp;quot;en&amp;quot;, &amp;quot;ja&amp;quot;]&lt;/code&gt; にしているのは、top-level ページ（&lt;code&gt;/&lt;/code&gt;、&lt;code&gt;/about/&lt;/code&gt; など）は両言語に必ず存在する前提だからだ。&lt;strong&gt;個別記事のレイアウトでは必ず &lt;code&gt;availableLangs&lt;/code&gt; を上書きする&lt;/strong&gt; ルールにして、上書きを忘れるとビルド時に 404 URL が hreflang に乗ってしまう失敗モードを潰しておく。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;x-default&lt;/code&gt; は両言語にあれば EN にフォールバックする。Google は「サポート言語の 1 つを必ず明示する」を推奨しているので、片言にしかない記事でもその唯一の言語を &lt;code&gt;x-default&lt;/code&gt; にしています。&lt;/p&gt;
&lt;h2 id=&quot;使用側レイアウト&quot;&gt;使用側レイアウト&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;BlogPostLayout.astro&lt;/code&gt; から呼び出すときはこう書く。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;astro&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;---&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { entrySlug, blogAvailableLangs } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;../lib/posts&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; slug&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; entrySlug&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(entry); &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;// &amp;quot;ja/2026-05-30-foo&amp;quot; → &amp;quot;2026-05-30-foo&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; availableLangs&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; blogAvailableLangs&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(slug);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;---&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;Seo&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;={data.title}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  description&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;={data.description}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;={lang}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  availableLangs&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;={availableLangs}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  // ...&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;entrySlug&lt;/code&gt; で言語プレフィクスを剥がしてから、ヘルパに渡す。プレフィクス込みで渡すと判定が空になるので、ここを間違うとサイレントに hreflang が出なくなる。&lt;/p&gt;
&lt;p&gt;カテゴリ paginated 系（&lt;code&gt;/blog/build/[...page].astro&lt;/code&gt;）は &lt;code&gt;categoryPageAvailableLangs(category, page.currentPage, 12)&lt;/code&gt; を渡す。&lt;/p&gt;
&lt;h2 id=&quot;全体図&quot;&gt;全体図&lt;/h2&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;mermaid&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;flowchart LR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  MDX[blog MDX en+ja]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Helper[blogAvailableLangs&amp;lt;br/&amp;gt;serviceAvailableLangs&amp;lt;br/&amp;gt;categoryPageAvailableLangs]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Layout[BlogPostLayout&amp;lt;br/&amp;gt;ServiceLayout&amp;lt;br/&amp;gt;category route]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Seo[Seo.astro&amp;lt;br/&amp;gt;availableLangs prop]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  HTML[hreflang 0~2 + x-default]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  MDX --&amp;gt;|getCollection| Helper&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Helper --&amp;gt; Layout&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Layout --&amp;gt; Seo&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Seo --&amp;gt; HTML&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ヘルパは Content Collections を 1 回走査し、レイアウトに &lt;code&gt;Lang[]&lt;/code&gt; を返す。レイアウトがその配列を Seo.astro に渡し、Seo.astro が条件付きで &lt;code&gt;&amp;lt;link rel=&amp;quot;alternate&amp;quot;&amp;gt;&lt;/code&gt; を 0〜2 本＋ &lt;code&gt;x-default&lt;/code&gt; 1 本出力します。&lt;/p&gt;
&lt;h2 id=&quot;ルーティングは-astro-標準のまま&quot;&gt;ルーティングは Astro 標準のまま&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;@astrojs/i18n&lt;/code&gt; 系のルーティング（&lt;code&gt;/ja/...&lt;/code&gt; プレフィクスの自動付与、locale 判定）は触っていない。Astro 5 標準で十分に成熟していて、書き換える理由がない。&lt;/p&gt;
&lt;p&gt;Aulvem のスタンスは「公式統合で足りる部分は触らず、足りない部分だけ独自実装で薄く埋める」。hreflang は SEO 層の話なので Seo.astro 内に閉じる形にして、ルーティング層には手を入れない。これで Astro が将来 hreflang 自動生成を実装したときに、Seo.astro 側を剥がすだけで済む構造になる、と思う。&lt;/p&gt;
&lt;h2 id=&quot;落とし穴と運用ルール&quot;&gt;落とし穴と運用ルール&lt;/h2&gt;
&lt;p&gt;実装で踏みかけた、または踏んだ話を整理しておく。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;availableLangs&lt;/code&gt; のデフォルトは &lt;code&gt;[&amp;quot;en&amp;quot;, &amp;quot;ja&amp;quot;]&lt;/code&gt;&lt;/strong&gt;: top-level ページ前提。個別記事のレイアウトで上書きし忘れると、片言記事でも 2 本 alternate が出てしまう&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;entrySlug&lt;/code&gt; のタイミング&lt;/strong&gt;: Content Collections の &lt;code&gt;entry.id&lt;/code&gt; は &lt;code&gt;ja/2026-05-30-foo&lt;/code&gt; の形なので、ヘルパに渡す前に必ず &lt;code&gt;entrySlug&lt;/code&gt; で言語プレフィクスを剥がす&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;draft: true&lt;/code&gt; 除外&lt;/strong&gt;: ヘルパ内の &lt;code&gt;getCollection&lt;/code&gt; フィルタで落としている。これを忘れると、下書きしかない言語版を「実体あり」と判定する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;paginated の片言ケース&lt;/strong&gt;: &lt;code&gt;/blog/build/3/&lt;/code&gt; のような 3 ページ目以降は、EN と JA で投稿数が違うと片方しか存在しないことがある。&lt;code&gt;categoryPageAvailableLangs&lt;/code&gt; で対応&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;x-default&lt;/code&gt; を片言にも出す&lt;/strong&gt;: Google が「サポート言語を 1 つは明示する」を推奨しているため。片言の記事でも &lt;code&gt;x-default&lt;/code&gt; だけは出して、サポート言語を明示する&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;リシプロカル要件と存在チェックの 2 つを揃えないと、hreflang シグナルは検索エンジンに無視されます。Aulvem では Content Collections の実体を見て出すかどうかを判定し、Seo.astro が条件付きで HTML に流す構成にしました。ルーティングは Astro 標準のまま、SEO 層だけ 30 行ほどの追加で済んでいます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;frontmatter&lt;/code&gt; を単一情報源として扱う設計は &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-23-aulvem-zod-schema-enforcement/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Zod schema で運用ルールを強制する&lt;/a&gt; と &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-25-aulvem-sitemap-lastmod/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;sitemap の lastmod を MDX frontmatter から自分で差し込む&lt;/a&gt; でも同じ系列の話を書いたので、合わせて読むと位置づけが分かりやすいかもしれない。リシプロカルに参照を張る発想は LLM 向けインデックスにも持ち込めて、&lt;a href=&quot;https://aulvem.com/ja/blog/2026-06-14-aulvem-llms-txt-multilingual/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;llms.txt を多言語生成する&lt;/a&gt; でも同じ考え方を使った。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;h3 id=&quot;astro-標準が-hreflang-を自動で出さないのはなぜ&quot;&gt;Astro 標準が hreflang を自動で出さないのはなぜ？&lt;/h3&gt;
&lt;p&gt;Astro 5 の i18n はルーティング（URL の生成と locale 判定）に責任を絞っていて、SEO メタタグ生成までは持ちません。&lt;code&gt;@astrojs/sitemap&lt;/code&gt; の i18n オプションで sitemap 内の hreflang は出ますが、HTML の &lt;code&gt;&amp;lt;link rel=&amp;quot;alternate&amp;quot;&amp;gt;&lt;/code&gt; は自分で書く必要があります。Aulvem ではここを Seo.astro に集約しています。&lt;/p&gt;
&lt;h3 id=&quot;astrojssitemap-の-i18n-オプションで出る-hreflang-ではダメ&quot;&gt;&lt;code&gt;@astrojs/sitemap&lt;/code&gt; の i18n オプションで出る hreflang ではダメ？&lt;/h3&gt;
&lt;p&gt;sitemap.xml 内の &lt;code&gt;xhtml:link&lt;/code&gt; は出ますが、HTML の &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; に入る &lt;code&gt;&amp;lt;link rel=&amp;quot;alternate&amp;quot; hreflang&amp;gt;&lt;/code&gt; は別系統です。Google は両方を併用して読みますが、&lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; 側が無いと検索結果のスニペット段階で多言語認識が弱くなる、というのが運用上の判断です。&lt;/p&gt;
&lt;h3 id=&quot;x-default-は何を指すべき&quot;&gt;&lt;code&gt;x-default&lt;/code&gt; は何を指すべき？&lt;/h3&gt;
&lt;p&gt;Google のドキュメントは「ユーザーがどの言語ページに着地すべきか不明なときの fallback」と説明しています。Aulvem は EN をデフォルトロケールに置いているので EN があれば EN、EN が無ければ唯一存在する言語版を指す実装にしました。両言語にある記事は迷わず EN にフォールバックでよいと思います。&lt;/p&gt;
&lt;h3 id=&quot;1-言語にしか実体がない記事の-seo-評価は損なわれない&quot;&gt;1 言語にしか実体がない記事の SEO 評価は損なわれない？&lt;/h3&gt;
&lt;p&gt;hreflang を出さないこと自体が罰になるわけではありません。むしろ存在しない URL を alternate として出して Google に無視される方が、サイト全体の多言語シグナルを濁します。実体がある言語版だけ canonical を立て、ない言語の alternate は出さない、で評価上は問題ないという理解です。&lt;/p&gt;</content:encoded><category>build</category><category>astro</category><category>i18n</category><category>seo</category><category>site-architecture</category></item><item><title>sitemap の lastmod を MDX frontmatter から自分で差し込む — Aulvem の Astro 公式統合カスタマイズ</title><link>https://aulvem.com/ja/blog/2026-05-25-aulvem-sitemap-lastmod/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2026-05-25-aulvem-sitemap-lastmod/</guid><description>Astro 公式 @astrojs/sitemap が MDX の updatedDate を読まない問題を、astro.config.mjs で fs.readdir + frontmatter regex でマップを作り serialize で差し込む実装で解決した記録。paginated noindex の filter 除外もセットで扱う。</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;@astrojs/sitemap は MDX frontmatter の &lt;code&gt;updatedDate&lt;/code&gt; を読まない。&lt;/p&gt;
&lt;p&gt;何もしないと、Aulvem の sitemap.xml は各記事の &lt;code&gt;lastmod&lt;/code&gt; をビルド時刻にしてしまう。「全記事が毎ビルド更新されている」というノイズシグナルを検索エンジンに送ることになって、鮮度判定で逆効果になる。&lt;/p&gt;
&lt;p&gt;Aulvem では &lt;code&gt;astro.config.mjs&lt;/code&gt; の中で MDX を直接走査して、&lt;code&gt;updatedDate ?? pubDate&lt;/code&gt; をパスごとに引ける Map を作り、&lt;code&gt;@astrojs/sitemap&lt;/code&gt; の &lt;code&gt;serialize&lt;/code&gt; で差し込む構成にした。ついでに paginated &lt;code&gt;noindex&lt;/code&gt; ページの除外も &lt;code&gt;filter&lt;/code&gt; でやっている。これは &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-17-aulvem-blog-architecture/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Aulvem ブログの作り&lt;/a&gt; で予告した派生記事の 2 本目です。&lt;/p&gt;
&lt;h2 id=&quot;lastmod-がなぜ効くのか&quot;&gt;lastmod がなぜ効くのか&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;lastmod&lt;/code&gt; は Google / Bing の sitemap プロトコルで「最終更新日」として渡る値で、検索エンジンが再クロールの優先度を決めるヒントとして読む。AI 検索（ChatGPT search / Perplexity / Claude search）も引用元の最新性根拠としてこの値を見にくる挙動が報告されている。&lt;/p&gt;
&lt;p&gt;つまり &lt;code&gt;lastmod&lt;/code&gt; は次の 2 つの局面で効いている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;クロール優先度&lt;/strong&gt;: 直近で更新された URL を優先的に再取得させたい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI 検索の引用判定&lt;/strong&gt;: 「数日前に書かれた最新情報」として引用されやすくする&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;逆に、ここを嘘で塗ると逆効果になる。Google 公式の &lt;a href=&quot;https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Sitemap docs&lt;/a&gt; も「&lt;code&gt;lastmod&lt;/code&gt; の値が信用できないとサイト全体の信頼度を下げる」と書いている。実態と乖離した更新日を流せば、検索エンジンに「このサイトの lastmod は信用ならない」と学習させるだけなので、運用ルール（&lt;a href=&quot;https://github.com/aulvem/aulvem-hp/blob/main/docs/content-rules.md&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;content-rules.md A-2-1&lt;/a&gt;）と一緒に締めておく必要がある。&lt;/p&gt;
&lt;h2 id=&quot;ビルド時に-mdx-を走査して-lastmod-マップを作る&quot;&gt;ビルド時に MDX を走査して lastmod マップを作る&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;astro.config.mjs&lt;/code&gt; の中で async 関数を走らせて、&lt;code&gt;src/content/blog/{en,ja}/&lt;/code&gt; 配下の MDX を全部読む。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { readdir, readFile } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;node:fs/promises&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { join } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;node:path&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;async&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; function&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; buildBlogLastmodMap&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; map&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Map&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  for&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; lang&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; of&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; dir&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; join&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(process.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;cwd&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(), &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;src&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;content&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;blog&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, lang);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    let&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; files &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    try&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      files &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; readdir&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(dir);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;catch&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      continue&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    for&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; file&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; of&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; files) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;file.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;endsWith&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;.mdx&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; !&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;file.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;endsWith&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;.md&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; slug&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; file.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;replace&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D;font-weight:bold&quot;&gt;\.&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;(mdx&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;md)&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; raw&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; readFile&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(dir, file), &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;utf8&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; fm&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;---&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;[\s\S]&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;*?&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;---&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;exec&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(raw);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;fm) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; front&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; fm[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;];&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;draft:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;\s&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;test&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(front)) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; updated&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;updatedDate:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;\s&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;\S&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;exec&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(front);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; pub&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; /&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;pubDate:&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;\s&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;\S&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;exec&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(front);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; dateStr&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (updated &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; updated[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (pub &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; pub[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;dateStr) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; d&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; Date&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(dateStr);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (Number.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;isNaN&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(d.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;getTime&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;())) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; path&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; lang &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; ?&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; `/ja/blog/${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;slug&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}/`&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; :&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; `/blog/${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;slug&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}/`&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      map.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(path, d.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;toISOString&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;());&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; map;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; blogLastmod&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; await&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; buildBlogLastmodMap&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ここで &lt;code&gt;getCollection(&amp;quot;blog&amp;quot;)&lt;/code&gt; のような Content Collections API を使わないのは、&lt;code&gt;astro.config.mjs&lt;/code&gt; が &lt;strong&gt;content loader より早く評価される&lt;/strong&gt; からだ。config が走っている時点では Content Collections 側はまだ初期化されておらず、API が存在しない。&lt;/p&gt;
&lt;p&gt;frontmatter は軽量 regex で読んでいる。MDX の構造を fully parse する必要はなく、欲しいのは &lt;code&gt;updatedDate&lt;/code&gt; と &lt;code&gt;pubDate&lt;/code&gt; の 2 行だけなので、依存を増やすメリットがない。型安全ではないが、型検証は本ビルド時に Zod schema が走るので、二重に網が張られている形になる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;draft: true&lt;/code&gt; の MDX はここで除外する。これを忘れると下書きの URL がサイトマップに乗ってしまうので、フィルタの位置が大事だと思う。&lt;/p&gt;
&lt;h2 id=&quot;serialize-でマップから-lastmod-を流す&quot;&gt;&lt;code&gt;serialize&lt;/code&gt; でマップから lastmod を流す&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;@astrojs/sitemap&lt;/code&gt; の &lt;code&gt;serialize&lt;/code&gt; オプションは、生成された各 URL エントリを書き換えるフック。マップから lookup して &lt;code&gt;item.lastmod&lt;/code&gt; に詰める。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;sitemap&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  i18n: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    defaultLocale: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    locales: { en: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, ja: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;ja&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  serialize&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; url&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; URL&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(item.url);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;    // /ja/blog/foo/ も /blog/foo/ も同じ slug なので、&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;    // /ja/ プレフィクスを剥がして path 種別だけで分岐する&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; pathname&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; url.pathname.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;replace&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color:#85E89D;font-weight:bold&quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;ja&lt;/span&gt;&lt;span style=&quot;color:#85E89D;font-weight:bold&quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;replace&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color:#85E89D;font-weight:bold&quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;ja&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (pathname &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.changefreq &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;daily&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.priority &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 1.0&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (pathname &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;/blog/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.changefreq &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;daily&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.priority &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.9&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (pathname.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;startsWith&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;/blog/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.changefreq &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;monthly&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.priority &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.7&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;      // ja URL も en URL も blogLastmod の key は元の url.pathname のまま&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; lastmod&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; blogLastmod.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(url.pathname);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (lastmod) item.lastmod &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; lastmod;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (pathname.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;startsWith&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;/products/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.changefreq &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;monthly&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.priority &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.8&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.changefreq &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;monthly&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      item.priority &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 0.5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; item;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;changefreq&lt;/code&gt; と &lt;code&gt;priority&lt;/code&gt; もパス種別ごとに分けて与えている。実は &lt;code&gt;priority&lt;/code&gt; は Google が「無視している」と公言しているフィールドだが、Bing と他検索エンジン・AI クローラーは依然読みに来るので、整合の取れた値を出しておく方針にした。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/ja/&lt;/code&gt; プレフィクスを剥がして path 種別だけで分岐するのは、JA と EN で同じカテゴリの記事に同じ &lt;code&gt;changefreq&lt;/code&gt; / &lt;code&gt;priority&lt;/code&gt; を当てるためだ。lastmod の lookup には元の &lt;code&gt;url.pathname&lt;/code&gt;（&lt;code&gt;/ja/blog/foo/&lt;/code&gt; を含む）を使うので、Map のキーと整合する。&lt;/p&gt;
&lt;h2 id=&quot;paginated-noindex-ページを-filter-で外す&quot;&gt;paginated noindex ページを &lt;code&gt;filter&lt;/code&gt; で外す&lt;/h2&gt;
&lt;p&gt;ページ送りの 2 ページ目以降（&lt;code&gt;/blog/build/2/&lt;/code&gt; &lt;code&gt;/blog/reviews/3/&lt;/code&gt; など）には &lt;code&gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;noindex, follow&amp;quot;&amp;gt;&lt;/code&gt; を入れている。1 ページ目だけがインデックス対象で、2 ページ目以降は「クロールはしてほしいがインデックスはいらない」状態にしておきたいからだ。&lt;/p&gt;
&lt;p&gt;このとき、sitemap で 2 ページ目以降の URL も送ってしまうと &lt;strong&gt;mixed signal&lt;/strong&gt; になる。「sitemap に載せた = インデックスしてほしい」と「meta robots = noindex」が同時に立つので、Google も Bing もこの矛盾を SEO 品質スコアに反映してくる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;filter&lt;/code&gt; で除外する。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;sitemap&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  filter&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: (&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;page&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (page.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;endsWith&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;/404/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; page.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;endsWith&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;/404&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; false&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;    // Paginated category pages (/blog/build/2/, /blog/reviews/3/ ...)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;    // are noindex, follow — drop them from the sitemap to avoid&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;    // contradicting the meta robots tag.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D;font-weight:bold&quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;blog&lt;/span&gt;&lt;span style=&quot;color:#85E89D;font-weight:bold&quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;(build&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#DBEDFF&quot;&gt;reviews)&lt;/span&gt;&lt;span style=&quot;color:#85E89D;font-weight:bold&quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;\d&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#85E89D;font-weight:bold&quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;?$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;test&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; URL&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(page).pathname)) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; false&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; true&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;  // ...&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;paginated 系を &lt;code&gt;noindex&lt;/code&gt; にする運用と sitemap 除外はセットで考えないといけない。片方だけ直すと信号がねじれます。&lt;/p&gt;
&lt;h2 id=&quot;全体の流れ&quot;&gt;全体の流れ&lt;/h2&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;mermaid&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;flowchart LR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  MDX[src/content/blog/&amp;amp;lt;lang&amp;amp;gt;/&amp;amp;lt;slug&amp;amp;gt;.mdx]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Map[blogLastmod Map&amp;lt;br/&amp;gt;path → ISO date]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Pages[@astrojs/sitemap&amp;lt;br/&amp;gt;URL リスト]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Filter[filter:&amp;lt;br/&amp;gt;noindex 除外]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Serialize[serialize:&amp;lt;br/&amp;gt;lastmod / changefreq / priority]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  SM[sitemap.xml]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  MDX --&amp;gt;|fs.readdir + regex| Map&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Map --&amp;gt;|lookup| Serialize&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Pages --&amp;gt; Filter&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Filter --&amp;gt; Serialize&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Serialize --&amp;gt; SM&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;astro.config.mjs&lt;/code&gt; の中で 2 つの経路が走る。MDX 走査経路でビルド前に Map を作り切り、Astro 本体のルーティングが生成する URL リストを &lt;code&gt;filter&lt;/code&gt; で間引いて、&lt;code&gt;serialize&lt;/code&gt; で Map と突き合わせて lastmod を当てる。最終的に sitemap.xml が出力される。&lt;/p&gt;
&lt;h2 id=&quot;落とし穴と運用ルール&quot;&gt;落とし穴と運用ルール&lt;/h2&gt;
&lt;p&gt;実装で踏んだ・踏みかけた話を整理しておく。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;top-level await&lt;/strong&gt;: &lt;code&gt;astro.config.mjs&lt;/code&gt; で &lt;code&gt;await buildBlogLastmodMap()&lt;/code&gt; を呼ぶには、config が ESM で評価される前提が要る。Astro 5 系はこれが効く前提なのでそのまま動くが、古い構成だと &lt;code&gt;.mjs&lt;/code&gt; に揃えるか &lt;code&gt;defineConfig&lt;/code&gt; を return する async function に包む必要がある&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;draft: true&lt;/code&gt; 除外&lt;/strong&gt;: lastmod Map を作る段階で draft を抜かないと、下書き URL もサイトマップに混入する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;regex の緩さ&lt;/strong&gt;: &lt;code&gt;/^updatedDate:\s*(\S+)/m&lt;/code&gt; は &lt;code&gt;updatedDate: 2026-05-25&lt;/code&gt; のような単純行を想定している。YAML 引用符 &lt;code&gt;&amp;quot;...&amp;quot;&lt;/code&gt; を使っても &lt;code&gt;(\S+)&lt;/code&gt; が &lt;code&gt;&amp;quot;2026-05-25&amp;quot;&lt;/code&gt; を引用符ごと取り込み、&lt;code&gt;new Date()&lt;/code&gt; はこれをそのままパースできる。ただし複数行やリスト形式の日付値を使う場合は注意&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;言語別フォルダの統合&lt;/strong&gt;: &lt;code&gt;en&lt;/code&gt; と &lt;code&gt;ja&lt;/code&gt; を別ループで走らせて 1 つの Map に統合する。キーは &lt;code&gt;/blog/&amp;lt;slug&amp;gt;/&lt;/code&gt; と &lt;code&gt;/ja/blog/&amp;lt;slug&amp;gt;/&lt;/code&gt; を別物として持つ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;updatedDate の運用基準&lt;/strong&gt;: lastmod の実装を整えても、&lt;code&gt;updatedDate&lt;/code&gt; を雑に打ち替えれば信頼度は崩れる。Aulvem は「実質改稿のときだけ更新、注記追加だけ・誤字修正だけでは打たない」のルールを &lt;a href=&quot;https://github.com/aulvem/aulvem-hp/blob/main/docs/content-rules.md&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;content-rules.md A-2-1&lt;/a&gt; で固めている&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;何を諦めたか--公式統合に戻すべき境界&quot;&gt;何を諦めたか / 公式統合に戻すべき境界&lt;/h2&gt;
&lt;p&gt;この実装は &lt;code&gt;@astrojs/sitemap&lt;/code&gt; に PR を出すべき話だとも思う。Content Collections と sitemap を連動させる機能は他の Astro ユーザーにも需要があるはずで、汎用化する余地はある。&lt;/p&gt;
&lt;p&gt;今は Aulvem 内に閉じて 30 行に収まる実装で済んでいるので、当面は config 内完結のままにしている。@astrojs/sitemap が将来 Content Collections 連携を入れた時点でこの実装は剥がせるはずなので、剥がしやすい形に保っておくのが当面のスタンスです。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;lastmod&lt;/code&gt; は SEO + AI 検索の両方で効く鮮度シグナルなので、ビルド時刻で塗らずに &lt;code&gt;updatedDate&lt;/code&gt; の実日付を流す。paginated &lt;code&gt;noindex&lt;/code&gt; ページは sitemap から除外して信号矛盾を作らない。この 2 つはセットで運用すると、サイトマップが「信頼できる更新情報の集合」になります。&lt;/p&gt;
&lt;p&gt;実装の経路は別記事に書いた &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-23-aulvem-zod-schema-enforcement/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Zod schema で運用ルールを強制する&lt;/a&gt; と地続きで、frontmatter を単一情報源として扱う設計の派生です。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;h3 id=&quot;astro-公式の-sitemap-が-updateddate-を読まないのはなぜ&quot;&gt;Astro 公式の sitemap が &lt;code&gt;updatedDate&lt;/code&gt; を読まないのはなぜ？&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;@astrojs/sitemap&lt;/code&gt; はビルド済みの URL リストを受け取って sitemap.xml を出力するだけで、Content Collections の frontmatter まで触りに行きません。MDX の構造に踏み込むと collection 名・型・loader 種別への依存が増えるので、汎用統合の責務として持たない設計に見えます。&lt;/p&gt;
&lt;h3 id=&quot;content-collections-の-api-を使わずに-fsreaddir-で読むのは型安全ではないのでは&quot;&gt;Content Collections の API を使わずに fs.readdir で読むのは型安全ではないのでは？&lt;/h3&gt;
&lt;p&gt;型安全ではありません。ただし &lt;code&gt;astro.config.mjs&lt;/code&gt; は Content Collections の loader より先に評価されるので、ここでは API が未初期化です。frontmatter の中で必要なのは &lt;code&gt;updatedDate&lt;/code&gt; と &lt;code&gt;pubDate&lt;/code&gt; だけなので、軽量 regex で読む実装に倒しました。型検証は Zod schema 側で本ビルドのときに走るので、二重に網は張られています。&lt;/p&gt;
&lt;h3 id=&quot;noindex-のページを-sitemap-に送ってはダメなのか&quot;&gt;&lt;code&gt;noindex&lt;/code&gt; のページを sitemap に送ってはダメなのか？&lt;/h3&gt;
&lt;p&gt;信号としてダメです。sitemap は「インデックスしてほしい URL のリスト」なので、&lt;code&gt;noindex&lt;/code&gt; の URL を載せると mixed signal になります。Google も Bing も「sitemap で送ったのに noindex」という矛盾を見ると、サイト全体の品質シグナルとして減点する余地が出ます。&lt;/p&gt;
&lt;h3 id=&quot;lastmod-を実日付にすると-ai-検索の引用率は本当に変わるのか&quot;&gt;lastmod を実日付にすると AI 検索の引用率は本当に変わるのか？&lt;/h3&gt;
&lt;p&gt;数値での検証はしていません。ただ Google・Bing・各 AI 検索ベンダーのドキュメントはどれも &lt;code&gt;lastmod&lt;/code&gt; を鮮度判定のヒントとして挙げており、嘘の lastmod は信頼を下げると明記されています。引用率の上振れより、雑な運用で評価を下げないための保険として考えるのが現実的だと思います。&lt;/p&gt;</content:encoded><category>build</category><category>astro</category><category>sitemap</category><category>seo</category><category>site-architecture</category></item><item><title>Zod schema で運用ルールを強制する — Aulvem の Content Collections 設計</title><link>https://aulvem.com/ja/blog/2026-05-23-aulvem-zod-schema-enforcement/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2026-05-23-aulvem-zod-schema-enforcement/</guid><description>Aulvem サイトの運用ルールを Zod schema でビルドに落としている設計。reviews ⇔ affiliate の連動、howto/faq の構造化データ、本文との文字列一致まで含めて、何を schema で縛り何を諦めたかを書いた。</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;書いたルールは、忘れる。&lt;/p&gt;
&lt;p&gt;Aulvem を 1 人で回していて最初に潰したかったのは、書き手（=自分）が書いた運用ルールを書き手（=自分）が破るパターンだ。&lt;code&gt;category: reviews&lt;/code&gt; の記事に &lt;code&gt;affiliate: true&lt;/code&gt; を入れ忘れて広告ディスクロージャーが表示されないまま公開、みたいな事故は、README に書くだけでは止まらなかった。&lt;/p&gt;
&lt;p&gt;なので Aulvem では、ルールのうち機械で判定できるものは &lt;a href=&quot;https://docs.astro.build/en/guides/content-collections/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Astro Content Collections&lt;/a&gt; の &lt;a href=&quot;https://zod.dev/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Zod&lt;/a&gt; schema に寄せ、違反したらビルドが落ちる構造にした。ここで書くのは「何を schema で縛り、何を諦めたか」の境界線です。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-17-aulvem-blog-architecture/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Aulvem ブログの作り&lt;/a&gt; で予告した派生記事の 1 本目にあたる。&lt;/p&gt;
&lt;h2 id=&quot;なぜ-readme-だけでは守れないのか&quot;&gt;なぜ README だけでは守れないのか&lt;/h2&gt;
&lt;p&gt;README にチェックリストを書いただけでは、書き手が守らないことが起きた。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;編集者が 1 人なので、書き手と読み手と pull request レビュアーが同じ人になる&lt;/li&gt;
&lt;li&gt;数週間後に同じ手順を踏むとき、当時の README を律儀に読み返さない&lt;/li&gt;
&lt;li&gt;過去の自分は信用していい一方で、未来の自分は素で忘れる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最初は記事追加チェックリストを &lt;code&gt;docs/&lt;/code&gt; 配下に置けば十分だと考えていたけれど、3 本目の記事を書いたあたりで「またあれをやり忘れた」が起きた。レビュアーが居ない状態でルールを守らせるには、運用フローの外側（= ビルド）にチェック装置を置くしかない、というのが Aulvem が schema 強制を選んでいる理由です。&lt;/p&gt;
&lt;h2 id=&quot;aulvem-の-schema-全体像&quot;&gt;Aulvem の schema 全体像&lt;/h2&gt;
&lt;p&gt;Content Collections の schema は &lt;code&gt;src/content.config.ts&lt;/code&gt; に集約していて、&lt;code&gt;blog&lt;/code&gt; と &lt;code&gt;services&lt;/code&gt; の 2 コレクションを 1 ファイルで宣言している。collection ごとに別ファイルに割らないのは、コレクション間で共有したい型（&lt;code&gt;pubDate&lt;/code&gt;, &lt;code&gt;updatedDate&lt;/code&gt;, &lt;code&gt;heroImage&lt;/code&gt; あたり）が出てきたときに 1 ファイルだと書き換えが完結するからだ。&lt;/p&gt;
&lt;p&gt;骨格はこういう形になっている（記事用の &lt;code&gt;blog&lt;/code&gt; 抜粋、一部省略）。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { defineCollection, z } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;astro:content&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; { glob } &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;astro/loaders&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; blog&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; defineCollection&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  loader: &lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;glob&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({ pattern: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;**/[^_]*.{md,mdx}&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, base: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;./src/content/blog&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  schema: z&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    .&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      title: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      description: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      summary: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      pubDate: z.coerce.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;date&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      updatedDate: z.coerce.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;date&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      category: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;build&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;reviews&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      tags: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;()).&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;([]),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      draft: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;boolean&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      affiliate: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;boolean&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      heroImage: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      heroAlt: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      howto: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({ &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;/* ... */&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; }).&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      faq: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        question: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        answer: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      })).&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    })&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    .&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;refine&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (data.category &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;reviews&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; data.affiliate, {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      message: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;affiliate must be true iff category is &amp;#39;reviews&amp;#39;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      path: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;affiliate&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;});&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;z.enum&lt;/code&gt; でカテゴリを 2 値に固定し、&lt;code&gt;z.coerce.date&lt;/code&gt; で日付の文字列表記揺れを吸収し、&lt;code&gt;.optional()&lt;/code&gt; と &lt;code&gt;.default()&lt;/code&gt; で必須/任意の境界を明示する。素朴な道具で 9 割の運用は閉じる。残りの 1 割が &lt;code&gt;.refine()&lt;/code&gt; の出番で、これが次節の主役になります。&lt;/p&gt;
&lt;h2 id=&quot;reviews--affiliate-を-refine-で同期させる&quot;&gt;reviews ⇔ affiliate を &lt;code&gt;.refine()&lt;/code&gt; で同期させる&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;category: reviews&lt;/code&gt; の記事は ASP 規約上「広告であること」を本文冒頭に明示する必要がある。Aulvem では &lt;code&gt;affiliate: true&lt;/code&gt; の記事に対して、ディスクロージャーバナーを冒頭に自動挿入する rehype プラグインを走らせている。&lt;code&gt;rel=&amp;quot;sponsored noopener noreferrer&amp;quot;&lt;/code&gt; の自動付与も同じく &lt;code&gt;affiliate: true&lt;/code&gt; をフラグにしている。&lt;/p&gt;
&lt;p&gt;つまり「カテゴリは reviews だけど affiliate を false にし忘れた」記事が公開されると、ディスクロージャーも &lt;code&gt;rel=&amp;quot;sponsored&amp;quot;&lt;/code&gt; も付かないまま広告リンクを掲載することになる。これは ASP 規約違反であり、Google からは広告とユーザーコンテンツの区別がつかない記事として扱われる。&lt;/p&gt;
&lt;p&gt;この事故を機械的に止める一行が次のコード：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;refine&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (data.category &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;reviews&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;===&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; data.affiliate, {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  message: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;affiliate must be true iff category is &amp;#39;reviews&amp;#39;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  path: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;affiliate&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;})&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;両辺を &lt;code&gt;===&lt;/code&gt; で比較しているので、どちらか一方だけが書き換わるとビルドが落ちる。XOR 条件を書く代わりに「等しいことを強制する」と書くと意図が読める形になる、と思って今の書き方に落ち着いた。&lt;/p&gt;
&lt;p&gt;README に「reviews 記事には affiliate: true を必ず付ける」とだけ書いていた頃は、&lt;code&gt;scripts/new-blog.mjs&lt;/code&gt; の雛形が affiliate を入れ忘れる → 書き手が気づかず公開 → 数日後に検索結果のサムネで違和感に気づく、というルートで事故が起きていた。今は雛形側にも自動挿入を入れているけれど、雛形を経由せず手で .mdx を新規作成された場合に効くのは schema 側の縛りのほうです。&lt;/p&gt;
&lt;h2 id=&quot;howto--faq-を-frontmatter-で型付けする&quot;&gt;howto / faq を frontmatter で型付けする&lt;/h2&gt;
&lt;p&gt;構造化データ（JSON-LD）の &lt;code&gt;HowTo&lt;/code&gt; と &lt;code&gt;FAQPage&lt;/code&gt; は、Google の検索結果でステップや質問が直接展開される枠を取れる。Aulvem ではこの 2 つを frontmatter から自動生成する経路を選んだ。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;howto&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  name: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  description: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  totalTime: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  steps: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    name: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    text: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    image: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  })),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}).&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;faq&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;array&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  question: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  answer: z.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;})).&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;optional&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(),&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;代案として「本文 MDX をパースして見出しから抽出する」もあった。最初の数記事はこれで進めようとしたけれど、見出しの構造を変えると JSON-LD が壊れるリスクがあったので捨てた。frontmatter に明示するほうが、構造化データを意識した書き方を強制できる効果もある。&lt;/p&gt;
&lt;p&gt;frontmatter で型付けされている限り、ステップ数 0 の howto やキーの違うオブジェクトは Zod が弾く。JSON-LD 側のジェネレータは frontmatter を信用して読めるので、後工程が薄くなる。&lt;/p&gt;
&lt;h2 id=&quot;schema-では検出できない--frontmatter-と本文の文字列一致&quot;&gt;schema では検出できない — frontmatter と本文の文字列一致&lt;/h2&gt;
&lt;p&gt;ここから先は Zod の守備範囲を超える。&lt;/p&gt;
&lt;p&gt;Google の検索品質ガイドラインは、「JSON-LD だけ豪華で本文に書かれていない」構造化データを mismatch とみなして、リッチリザルトの表示資格を剥奪する。frontmatter に書いた FAQ の question と answer が本文に存在しない記事は、たとえスキーマ検証を通っても SEO 上は地雷になる。&lt;/p&gt;
&lt;p&gt;Zod は本文を見ない。なので別レイヤーで検出する必要がある。Aulvem は &lt;code&gt;validate-schema-match.mjs&lt;/code&gt; という grep ベースのバリデータを書いた。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (Array.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;isArray&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(data?.faq)) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  for&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;of&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; data.faq.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;entries&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;()) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;item?.question) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;bodyNorm.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;includes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;normalise&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(item.question))) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      mismatches.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;push&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;        `faq[${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}].question not found in body: &amp;quot;${&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;question&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;}&amp;quot;`&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      );&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;frontmatter の &lt;code&gt;faq[].question&lt;/code&gt; と &lt;code&gt;howto.steps[].name&lt;/code&gt; の文字列が本文の中に出現するかを正規化して比較する。出現しなければ exit code 1 を返してビルド前に止まる構造にしています。&lt;/p&gt;
&lt;p&gt;ただしこの検出は文字列の存在だけで、意味の一致は見ない。同じ質問文の下で答えが入れ替わっていてもこのレイヤーでは通る。&lt;/p&gt;
&lt;h2 id=&quot;schema-化しないと決めたもの&quot;&gt;schema 化しないと決めたもの&lt;/h2&gt;
&lt;p&gt;schema にも grep にも乗らないものは、自動化を諦めて別経路に逃がした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FAQ の回答が事実として正しいか&lt;/li&gt;
&lt;li&gt;ディスクロージャー文の強度（ASP ごとに微妙に違う）&lt;/li&gt;
&lt;li&gt;文末が AI 臭くないか&lt;/li&gt;
&lt;li&gt;結論部の主張が記事全体と整合しているか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここは書き手が読み直さないと判断できないし、schema 化のコストが運用コストを上回る。代わりに公開前チェックリストに残し、&lt;code&gt;lint-banned-phrases.mjs&lt;/code&gt; で機械的に拾える AI 臭フレーズだけは別途縛っている。&lt;/p&gt;
&lt;p&gt;「全部を強制で縛れたら理想」ではなくて、ビルドが落ちる体験で何を守りたいかの優先順位を決めるほうが運用は安定すると思う。1 人で回している以上、自動化に投じられる時間にも上限があるので、効果と工数のバランスを取る箇所はある。&lt;/p&gt;
&lt;h2 id=&quot;schema--lint--レビューの-3-層分担&quot;&gt;schema / lint / レビューの 3 層分担&lt;/h2&gt;
&lt;p&gt;ルールを 3 つのレイヤーに分けて、それぞれが何を担保するかを表にすると整理しやすい。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;レイヤー&lt;/th&gt;&lt;th&gt;落とせるタイミング&lt;/th&gt;&lt;th&gt;守れること&lt;/th&gt;&lt;th&gt;守れないこと&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Zod schema&lt;/td&gt;&lt;td&gt;&lt;code&gt;astro build&lt;/code&gt; 時&lt;/td&gt;&lt;td&gt;型 / 列挙 / 必須・任意 / 値同士の関係&lt;/td&gt;&lt;td&gt;文章の意味 / 本文と frontmatter の文字列一致&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lint スクリプト&lt;/td&gt;&lt;td&gt;pre-commit, CI&lt;/td&gt;&lt;td&gt;禁止フレーズ / frontmatter と本文の語彙一致&lt;/td&gt;&lt;td&gt;意味の妥当性&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;書き手レビュー&lt;/td&gt;&lt;td&gt;公開前チェックリスト&lt;/td&gt;&lt;td&gt;意味の妥当性 / disclosure の強度 / AI 臭の総合判定&lt;/td&gt;&lt;td&gt;自動化できない&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;上のレイヤーで落とせるものは下に降ろさない、というのを判断基準にしている。schema で書ける関係を lint に置くと、ビルド時に落ちず lint を走らせ忘れる経路が増える。grep で十分なものを schema に積むと型定義が読みにくくなる。それぞれの層でできることに留めるのが、運用上は最短ルートだと思います。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;機械が判定できる構造制約は schema に寄せる。文字列の存在は lint に寄せる。意味の妥当性はレビューに残す。この 3 層分担を一度決めてしまえば、新しい運用ルールが出てきたときに「これはどの層で守らせるか」だけ考えればよくて、毎回 README を更新する運用にはなりません。&lt;/p&gt;
&lt;p&gt;Aulvem サイトのスタック全体像は別記事に書いたので、合わせて読むと位置づけが分かりやすいかもしれない → &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-17-aulvem-blog-architecture/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;このブログの作り — Astro 5 と Content Collections で組む Aulvem の構成&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;frontmatter を「単一情報源」として扱う設計は sitemap の &lt;code&gt;lastmod&lt;/code&gt; にも展開していて、こちらは別記事にまとめました → &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-25-aulvem-sitemap-lastmod/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;sitemap の lastmod を MDX frontmatter から自分で差し込む&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;h3 id=&quot;zod-の-refine-と-superrefine-はどう使い分ければいいか&quot;&gt;Zod の &lt;code&gt;.refine&lt;/code&gt; と &lt;code&gt;.superRefine&lt;/code&gt; はどう使い分ければいいか？&lt;/h3&gt;
&lt;p&gt;値同士の関係を 1 つだけ縛るなら &lt;code&gt;.refine()&lt;/code&gt; で十分です。1 つのオブジェクトに対して複数の独立した制約をかけたり、エラーメッセージを場所ごとに変えたい場合は &lt;code&gt;.superRefine()&lt;/code&gt; を使います。Aulvem は今のところ category と affiliate の連動だけなので &lt;code&gt;.refine()&lt;/code&gt; 1 段で済んでいます。&lt;/p&gt;
&lt;h3 id=&quot;howto--faq-を別ファイルに分けない理由は&quot;&gt;howto / faq を別ファイルに分けない理由は？&lt;/h3&gt;
&lt;p&gt;frontmatter にまとめて型付けできるからです。別ファイルにすると、本文・JSON-LD・frontmatter の三者で出典が分かれ、同期コストが上がります。frontmatter が単一情報源で、JSON-LD は自動生成、本文には同じ文字列を埋める運用が一番事故が少ないと判断しています。&lt;/p&gt;
&lt;h3 id=&quot;schema-を後から変更したら既存記事のビルドは落ちるか&quot;&gt;schema を後から変更したら既存記事のビルドは落ちるか？&lt;/h3&gt;
&lt;p&gt;落ちます。たとえば必須フィールドを追加すると、既存記事の全 frontmatter にそれを足さないとビルドが通りません。これは意図された挙動で、ルール変更の波及範囲を全件で確認させる仕組みになります。&lt;/p&gt;
&lt;h3 id=&quot;本文と-json-ld-の整合チェックを-astro-の-build-に組み込まないのはなぜか&quot;&gt;本文と JSON-LD の整合チェックを Astro の build に組み込まないのはなぜか？&lt;/h3&gt;
&lt;p&gt;build 時間を伸ばさないためです。整合チェックは grep ベースのスクリプトに切り出し、pre-commit と CI で別途走らせています。ビルド本体に組み込むと、毎回の &lt;code&gt;astro dev&lt;/code&gt; 起動が遅くなって執筆体験を損ねます。&lt;/p&gt;</content:encoded><category>build</category><category>astro</category><category>content-collections</category><category>zod</category><category>site-architecture</category></item><item><title>このブログの作り — Astro 5 と Content Collections で組む Aulvem の構成</title><link>https://aulvem.com/ja/blog/2026-05-17-aulvem-blog-architecture/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2026-05-17-aulvem-blog-architecture/</guid><description>Aulvem サイトは Astro 5 + MDX + Content Collections で組み、運用ルールを Zod schema と rehype プラグインで強制している。全体スタックと中心の仕組みを地図にまとめた起点記事。</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Aulvem サイトの構成について、技術スタックの紹介ではなく「何を schema で強制し、何を捨てたか」に絞ってまとめる起点記事です。スタック自体は Astro + MDX + Content Collections の組み合わせで、特別なことはしていません。書きたいのは典型構成の上で、書き手がうっかり忘れる類の運用ルールをどうビルド時に落とすか、です。&lt;/p&gt;
&lt;p&gt;全体像のハブとしてここに集約しました。個別判断（schema 強制 / 構造化データ一致 / sitemap lastmod の独自実装）は派生記事に分けます。&lt;/p&gt;
&lt;h2 id=&quot;スタックの全体像--astro-5--mdx--content-collections--r2&quot;&gt;スタックの全体像 — Astro 5 + MDX + Content Collections + R2&lt;/h2&gt;
&lt;p&gt;Aulvem は Astro 5（静的出力）+ MDX + Content Collections + Tailwind 3 + Pagefind + Cloudflare R2 で動いています。動的サーバーは使わず、生成済み HTML を Cloudflare Pages から配信するだけのシンプルな構成です。&lt;/p&gt;
&lt;p&gt;選択の軸は次の 3 つに絞りました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ビルド成果物が完全に静的であること&lt;/li&gt;
&lt;li&gt;記事のメタデータを schema で縛れること&lt;/li&gt;
&lt;li&gt;コアの依存数が少ないこと&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Astro 5 はこの 3 つすべてに当てはまりました。部分ハイドレーションや UI フレームワーク連携などの機能は今のところ使っていません。&lt;/p&gt;
&lt;p&gt;「Astro が良いか」は要件次第です。動的な認証・コメント・購読系を載せたいなら、Next.js のような選択肢のほうが向いているはず。&lt;/p&gt;
&lt;h2 id=&quot;用語-content-collections-とは&quot;&gt;用語: Content Collections とは&lt;/h2&gt;
&lt;aside class=&quot;term-callout&quot;&gt;&lt;p&gt;&lt;strong&gt;Content Collections&lt;/strong&gt;: Astro の標準機能で、Markdown / MDX を「型付きコンテンツ」として扱う仕組みです。コレクションごとに &lt;a href=&quot;https://zod.dev/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Zod&lt;/a&gt; schema を定義しておくと、ビルド時に全 frontmatter を検証し、不整合があればビルドが落ちます。型付き配列としてコレクション全体を取得することもできます。&lt;/p&gt;&lt;/aside&gt;
&lt;p&gt;Aulvem では &lt;code&gt;blog&lt;/code&gt;（記事）と &lt;code&gt;services&lt;/code&gt;（プロダクトページ）の 2 コレクションを定義していて、schema は 1 ファイルに集約し、ビルド時に両方を検証しています。&lt;/p&gt;
&lt;h2 id=&quot;全体スタック--主要パッケージ&quot;&gt;全体スタック — 主要パッケージ&lt;/h2&gt;
&lt;p&gt;本番依存は 8 個に絞っています。&lt;/p&gt;


















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;パッケージ&lt;/th&gt;&lt;th&gt;用途&lt;/th&gt;&lt;th&gt;備考&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;astro&lt;/code&gt; ^5&lt;/td&gt;&lt;td&gt;SSG コア&lt;/td&gt;&lt;td&gt;静的出力のみ使用&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;@astrojs/mdx&lt;/code&gt; ^4&lt;/td&gt;&lt;td&gt;MDX サポート&lt;/td&gt;&lt;td&gt;記事は全て &lt;code&gt;.mdx&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;@astrojs/sitemap&lt;/code&gt; ^3&lt;/td&gt;&lt;td&gt;sitemap 生成&lt;/td&gt;&lt;td&gt;&lt;code&gt;lastmod&lt;/code&gt; は自前で差し込む&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;@astrojs/rss&lt;/code&gt; ^4&lt;/td&gt;&lt;td&gt;RSS 生成&lt;/td&gt;&lt;td&gt;全文 &lt;code&gt;content:encoded&lt;/code&gt; 配信&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;@astrojs/tailwind&lt;/code&gt; ^6&lt;/td&gt;&lt;td&gt;Tailwind 統合&lt;/td&gt;&lt;td&gt;&lt;code&gt;applyBaseStyles: false&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;rehype-external-links&lt;/code&gt; ^3&lt;/td&gt;&lt;td&gt;外部リンクに rel 付与&lt;/td&gt;&lt;td&gt;&lt;code&gt;noopener noreferrer&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;rehype-mermaid&lt;/code&gt; ^3&lt;/td&gt;&lt;td&gt;mermaid 図の build 時 SVG 化&lt;/td&gt;&lt;td&gt;&lt;code&gt;inline-svg&lt;/code&gt; strategy&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;tailwindcss&lt;/code&gt; ^3.4&lt;/td&gt;&lt;td&gt;スタイリング&lt;/td&gt;&lt;td&gt;v4 は様子見&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;dev 依存は &lt;code&gt;pagefind&lt;/code&gt;（全文検索）、&lt;code&gt;sharp&lt;/code&gt;（ローカル画像処理）、&lt;code&gt;playwright&lt;/code&gt;（mermaid 図の build 時 SVG 化に必要）、&lt;code&gt;typescript&lt;/code&gt;、&lt;code&gt;@types/node&lt;/code&gt; のみ。React も Vue も Vite プラグインも入れていません。&lt;/p&gt;
&lt;p&gt;「とりあえず後から要るかもしれない」を前提に依存を足さない、を入口の方針にしました。未使用の依存はビルド時間とセキュリティアラート対応のノイズに効いてくるので、入れる前に使うシーンを言語化できるかを確認しています。&lt;/p&gt;
&lt;h2 id=&quot;譲れなかった-3-つの仕組み&quot;&gt;譲れなかった 3 つの仕組み&lt;/h2&gt;
&lt;h3 id=&quot;1-ルールはスキーマで強制する&quot;&gt;1. ルールはスキーマで強制する&lt;/h3&gt;
&lt;p&gt;運用ルールを README に書かず、frontmatter schema で強制しています。書き手が忘れてもビルド時に落ちる構造にしておきたかった、というのが理由です。&lt;/p&gt;
&lt;p&gt;たとえば &lt;code&gt;category: reviews&lt;/code&gt; の記事は ASP 規約上「広告であること」を明示する必要があるので、&lt;code&gt;affiliate: true&lt;/code&gt; を必須にしました。これを README に書くだけの取り決めにせず、Zod の &lt;code&gt;.refine()&lt;/code&gt; で &lt;code&gt;category === &amp;quot;reviews&amp;quot;&lt;/code&gt; と &lt;code&gt;affiliate === true&lt;/code&gt; が常に等しいことを強制しています。片方だけ書き換えるとビルドが落ちる形にしておけば、書き手の記憶に頼らずに済みます。&lt;/p&gt;
&lt;p&gt;同じ発想を &lt;code&gt;howto&lt;/code&gt; / &lt;code&gt;faq&lt;/code&gt; の構造化データにも適用していますが、これは派生記事で扱う予定です。&lt;/p&gt;
&lt;h3 id=&quot;2-構造化データと本文を一致させる&quot;&gt;2. 構造化データと本文を一致させる&lt;/h3&gt;
&lt;p&gt;JSON-LD（howto / faq）の中身は frontmatter から自動生成しつつ、本文にも同じ内容を必ず書きます。理由は Google の structured data mismatch ペナルティを避けるためで、「JSON-LD だけ豪華にして本文に書かない」のは検索品質ガイドライン違反です。検出されると構造化データの表示資格を失います。&lt;/p&gt;
&lt;p&gt;Aulvem では「frontmatter と本文の両側に同じ内容を書く」をルールにして、片側だけ更新する事故を最初から起こさない形にしています。&lt;/p&gt;
&lt;h3 id=&quot;3-sitemap-の-lastmod-は-frontmatter-から自分で読む&quot;&gt;3. sitemap の lastmod は frontmatter から自分で読む&lt;/h3&gt;
&lt;p&gt;Astro 公式の sitemap integration は MDX frontmatter の &lt;code&gt;updatedDate&lt;/code&gt; を読みません。そこで Aulvem では自前のロジックで全 MDX を走査し、&lt;code&gt;updatedDate ?? pubDate&lt;/code&gt; を &lt;code&gt;lastmod&lt;/code&gt; として sitemap に流しています。&lt;/p&gt;
&lt;p&gt;これをやらないと sitemap の &lt;code&gt;lastmod&lt;/code&gt; がビルド時刻に固定され、「全記事が毎ビルド更新されている」というノイズシグナルを検索エンジンに送ることになります。AI 検索の鮮度判定にも &lt;code&gt;lastmod&lt;/code&gt; は使われるので、ここは雑にやらないようにしています。&lt;/p&gt;
&lt;p&gt;同時に、&lt;code&gt;noindex, follow&lt;/code&gt; を返している分割ページは sitemap から除外しています。「noindex なものを sitemap で送る」のは矛盾シグナルなので、両方を一緒に正しく扱う必要があります。&lt;/p&gt;
&lt;p&gt;実装の中身（&lt;code&gt;astro.config.mjs&lt;/code&gt; の中で MDX を走査する書き方、&lt;code&gt;@astrojs/sitemap&lt;/code&gt; の &lt;code&gt;serialize&lt;/code&gt; と &lt;code&gt;filter&lt;/code&gt; の連動、運用上の落とし穴）は派生記事 &lt;a href=&quot;https://aulvem.com/ja/blog/2026-05-25-aulvem-sitemap-lastmod/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;sitemap の lastmod を MDX frontmatter から自分で差し込む&lt;/a&gt; にまとめました。&lt;/p&gt;
&lt;h3 id=&quot;3-つはどうつながっているか&quot;&gt;3 つはどうつながっているか&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;mermaid&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;flowchart LR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  FM[frontmatter] --&amp;gt; Zod&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  FM --&amp;gt; Sitemap&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  FM --&amp;gt; Sync&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Body[本文 MDX] --&amp;gt; Sync&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Zod[&amp;quot;Zod schema 検証&amp;lt;br/&amp;gt;category ⇔ affiliate&amp;quot;] --&amp;gt; Build&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Sitemap[&amp;quot;sitemap lastmod 差し込み&amp;lt;br/&amp;gt;updatedDate を読む&amp;quot;] --&amp;gt; Build&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Sync[&amp;quot;frontmatter ↔ 本文&amp;lt;br/&amp;gt;の整合&amp;quot;] --&amp;gt; Build&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Build[Astro build]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Build --&amp;gt; HTML[HTML + JSON-LD + SVG]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Build --&amp;gt; SM[sitemap.xml]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;frontmatter と本文という 2 つの入力から別経路で 3 つの仕組みが走ります。frontmatter は Zod schema 検証と sitemap lastmod 差し込みを通り、frontmatter と本文の両方が「同じ内容が両側に書かれているか」の整合チェックに渡ります。&lt;/p&gt;
&lt;p&gt;すべての結果が Astro build で束ねられ、HTML + JSON-LD + sitemap.xml として公開されます。どれか 1 つが落ちるとビルドが失敗するので、片方だけ整えても公開できません。&lt;/p&gt;
&lt;h2 id=&quot;運用フローは単一情報源に集約する&quot;&gt;運用フローは単一情報源に集約する&lt;/h2&gt;
&lt;p&gt;記事追加・プロダクト追加・retire（記事削除）といった運用フローは、1 つの doc を単一情報源にしています。そこから雛形生成と整合性チェックのスクリプトを連動させる構成にして、毎回同じ手順を踏む前提にしました。これで「やり方が毎回バラつく」揺らぎは、執筆時の温度感以外の部分でほぼ吸収できると思います。&lt;/p&gt;
&lt;p&gt;なお &lt;code&gt;updatedDate&lt;/code&gt; を「冒頭注記の追加だけでは更新しない」「実質改稿時のみ更新する」というルールも明文化しました。検索エンジンと AI が &lt;code&gt;dateModified&lt;/code&gt; を鮮度シグナルとして引くので、ここを甘く運用するとサイト全体の権威性が下がります。基準はあらかじめ決めておきます。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;h3 id=&quot;なぜ-astro-5-を選んだのか&quot;&gt;なぜ Astro 5 を選んだのか？&lt;/h3&gt;
&lt;p&gt;「Markdown 中心 / 完全静的出力 / frontmatter を型で縛れる / コア依存が少ない」の 4 条件で絞ったとき、Astro 5 が一番うまく当てはまりました。Content Collections と MDX が標準で入っており、追加プラグインを積まずに型付きコンテンツを扱える点で選んでいます。&lt;/p&gt;
&lt;h3 id=&quot;ヘッドレス-cmssanity-contentful-等を入れないのはなぜ&quot;&gt;ヘッドレス CMS（Sanity, Contentful 等）を入れないのはなぜ？&lt;/h3&gt;
&lt;p&gt;投稿頻度が週 1〜数本で、編集者が 1 名のため CMS の管理画面より MDX + git で書くほうが速いです。CMS を入れた瞬間に下書きの所在・スキーマ変更・API 認証など運用コストが乗ります。読者 1 万人規模を超えるか、複数編集者が入った時点で再評価する想定です。&lt;/p&gt;
&lt;h3 id=&quot;全文検索はどう実装している&quot;&gt;全文検索はどう実装している？&lt;/h3&gt;
&lt;p&gt;Pagefind を astro build の後に走らせて、ビルド時に静的な検索インデックス（バイナリ化された辞書）を生成しています。フロントでは数十 KB の WASM ローダーから引いていて、サーバーレス関数も外部 API も使いません。&lt;/p&gt;
&lt;h3 id=&quot;i18n-は-astro-標準の機能をそのまま使っている&quot;&gt;i18n は Astro 標準の機能をそのまま使っている？&lt;/h3&gt;
&lt;p&gt;ルーティングは Astro 5 の i18n（defaultLocale: en / prefixDefaultLocale: false）をそのまま使っています。一方で hreflang と sitemap の lastmod は MDX frontmatter から独自に取得する実装にしました。詳細は派生記事で扱います。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;全体像はここまでです。実際に作って回してみると、スタックを何で組むかより、frontmatter を schema でどこまで縛るかを決めるほうが、後の運用には効きました。&lt;/p&gt;</content:encoded><category>build</category><category>astro</category><category>content-collections</category><category>site-architecture</category></item><item><title>Figmaの使い方〜基礎編３〜 スタイル登録とバリアンツでデザインを管理する</title><link>https://aulvem.com/ja/blog/2022-04-05-figma-base-3/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2022-04-05-figma-base-3/</guid><description>Figma の基礎操作編 3。カラースタイル・フォントスタイル・エフェクト（影）スタイルの登録と適用、コンポーネントとバリアンツ機能の組み合わせまで、デザインを管理しやすくする一歩進んだ機能を実例 GIF で解説します。</description><pubDate>Tue, 05 Apr 2022 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出から数年経過した記事です。骨子は今も参考になりますが、ツールの UI やバージョンは執筆当時のままで、最新版とは差異があります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;今回はFigma内でより管理しやすく、調整しやすくする機能を解説します。&lt;/p&gt;
&lt;p&gt;デザインファイルまでの作成は前回紹介しましたので参考にしてください。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;: &lt;a href=&quot;https://aulvem.com/blog/2022-03-30-figma-base-1/&quot;&gt;Figmaの使い方〜基礎編１〜&lt;/a&gt; / &lt;a href=&quot;https://aulvem.com/blog/2022-04-01-figma-base-2/&quot;&gt;Figmaの使い方〜基礎編２〜&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;本記事の完成デザインは下画像になります。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;完成デザインのプレビュー&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05_Completion_drawing.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;h2 id=&quot;カラースタイルの作成&quot;&gt;カラースタイルの作成&lt;/h2&gt;
&lt;p&gt;前回までで画面内のパーツは揃ったので、色の登録を行って再利用しやすくしていきます。&lt;/p&gt;
&lt;p&gt;まずはヘッダーの背景色を登録します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;カラースタイルの作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05-Figma-base-3_Creating_colour_styles.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;色の登録をしたい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のFillという項目を見つける&lt;/li&gt;
&lt;li&gt;Fill項目の右に・が4つあるアイコンがあるのでクリック&lt;/li&gt;
&lt;li&gt;出てくるColor Stylesの右にある+アイコンをクリック&lt;/li&gt;
&lt;li&gt;モーダル内の入力欄に登録したい名前を入力&lt;/li&gt;
&lt;li&gt;Create styleをクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これで色の登録ができました。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;色の登録は他の要素で同色を利用している箇所で使用すると嬉しいことがあります。&lt;/p&gt;
&lt;p&gt;ヘッダーの背景色はフッターの背景色でも利用しているので、フッターに先程登録した色を適用します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;カラースタイルの適用&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05-Figma-base-3_Colour_style_adaptation.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;登録色を適応したい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のFillという項目を見つける&lt;/li&gt;
&lt;li&gt;Fill項目の右に・が4つあるアイコンをクリック&lt;/li&gt;
&lt;li&gt;出てくるColor Styles下の適応したい色をクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでフッターに登録した色を適用できました。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;このように各色をColor Stylesに登録し、各箇所に登録すると色を変えたい時に便利です。&lt;/p&gt;
&lt;p&gt;下gifは他の色、要素全てColor Stylesで適応した状態でmain色を編集しています。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;カラースタイルの編集&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05-Figma-base-3_Editing_colour_styles.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;何も要素が無いところをクリック&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のColor Stylesという項目を見つける&lt;/li&gt;
&lt;li&gt;Color Styles項目の編集したい色までカーソルを持っていく&lt;/li&gt;
&lt;li&gt;右に調整アイコンが表示されるのでクリック&lt;/li&gt;
&lt;li&gt;カラーコードが下に表示されるのでクリック&lt;/li&gt;
&lt;li&gt;カラーピッカーで任意の色を選択&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;デザインが煮詰まっていくにつれ、色を微調整する機会も増えていくので先行して色登録するのがオススメです。&lt;/p&gt;
&lt;p&gt;またどの色をどんな役割で何個使用しているかもColor Stylesで把握できるので、変な色を使う可能性が減るメリットもあります。&lt;/p&gt;
&lt;h2 id=&quot;フォントスタイルの作成&quot;&gt;フォントスタイルの作成&lt;/h2&gt;
&lt;p&gt;色登録のような機能はフォント設定も同様に存在します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;フォントスタイルの作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05-Figma-base-3_Creating_font_styles.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;フォントの登録をしたい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のTextという項目を見つける&lt;/li&gt;
&lt;li&gt;Text項目の右に・が4つあるアイコンがあるのでクリック&lt;/li&gt;
&lt;li&gt;出てくるText Stylesの右にある+アイコンをクリック&lt;/li&gt;
&lt;li&gt;モーダル内の入力欄に登録したい名前を入力&lt;/li&gt;
&lt;li&gt;Create styleをクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでフォントスタイルも登録できました。&lt;/p&gt;
&lt;p&gt;フォントスタイルの適応、編集はColor Stylesと同様です。&lt;/p&gt;
&lt;h2 id=&quot;影の設定&quot;&gt;影の設定&lt;/h2&gt;
&lt;p&gt;ここまでは管理性の向上でしたが、今度は要素に影を付けていこうと思います。&lt;/p&gt;
&lt;p&gt;試しにカードの枠に影を付けます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;影の設定&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05-Figma-base-3_Shadow_settings.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;影を付けたい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のEffectsという項目を見つける&lt;/li&gt;
&lt;li&gt;Effects項目の右に＋アイコンがあるのでクリック&lt;/li&gt;
&lt;li&gt;Effects項目の右に太陽のアイコンがあるのでクリック&lt;/li&gt;
&lt;li&gt;Drop shadow項目下の数値の変更をして指定したい値まで変更&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;方向キー↑↓で1ピクセル変更可&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでカードの枠に影を付けられました。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;この影も他と同様にスタイルを登録できます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;エフェクトスタイルの作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05-Figma-base-3_Creating_effect_styles.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;フォントの登録をしたい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のEffectsという項目を見つける&lt;/li&gt;
&lt;li&gt;Effects項目の右に・が4つあるアイコンがあるのでクリック&lt;/li&gt;
&lt;li&gt;出てくるEffect Stylesの右にある+アイコンをクリック&lt;/li&gt;
&lt;li&gt;モーダル内の入力欄に登録したい名前を入力&lt;/li&gt;
&lt;li&gt;Create styleをクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これで影のスタイルも登録できました。&lt;/p&gt;
&lt;p&gt;影のスタイルの適応、編集はColor Stylesと同様です。&lt;/p&gt;
&lt;h2 id=&quot;コンポーネントとオートレイアウトの組み合わせ&quot;&gt;コンポーネントとオートレイアウトの組み合わせ&lt;/h2&gt;
&lt;p&gt;Web上に表示してあるボタンはクリックした瞬間色が変わったり、表示が変わったりします。&lt;/p&gt;
&lt;p&gt;その状態変化をFigmaで表現したい時はバリアンツ機能が便利です。&lt;/p&gt;
&lt;p&gt;今の状態だとバリアンツ機能が使いにくいので、バリアンツ機能の下準備としてオートレイアウト化してあるボタンをオートレイアウト機能を保持したまま別コンポーネント化していこうと思います。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;このセクションには元素材としてコンポーネントとオートレイアウトを組み合わせる操作の GIF アニメーション (約 32 MiB) がありましたが、ホスティング (Cloudflare Pages) のファイルサイズ制限のため省略しています。実際の挙動は &lt;a href=&quot;https://help.figma.com/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Figma 公式ドキュメント&lt;/a&gt; を参照してください。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;コンポーネント化したい要素を選択&lt;/li&gt;
&lt;li&gt;フレーム外まで移動&lt;/li&gt;
&lt;li&gt;［コンポーネント / オートレイアウト / 要素］ の順に加工
&lt;ul&gt;
&lt;li&gt;要素のトップがフレームの場合はオートレイアウト化&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;子コンポーネントを1の元の場所まで移動&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;操作が複雑ですがこれでオートレイアウト機能を保持したままコンポーネント化できました。&lt;/p&gt;
&lt;h2 id=&quot;バリアンツの作成&quot;&gt;バリアンツの作成&lt;/h2&gt;
&lt;p&gt;フレーム外にコンポーネントとしてボタンを用意できました。&lt;/p&gt;
&lt;p&gt;ここからはボタンの状態変化をバリアンツ機能を用いて表現していきます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;バリアンツの作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05-Figma-base-3_Creating_variants.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: バリアンツの適応&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;オートレイアウト化したい&lt;strong&gt;コンポーネント化された要素&lt;/strong&gt;を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のVariantsという項目を見つける&lt;/li&gt;
&lt;li&gt;Variants項目の右にある+アイコンをクリック&lt;/li&gt;
&lt;li&gt;Variant2など表示されている入力欄に、サブ状態で登録したい状態名を入力&lt;/li&gt;
&lt;li&gt;登録したい状態名の中の要素を選択&lt;/li&gt;
&lt;li&gt;色などを変更&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: バリアンツ状態の変化&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;状態を変化せたい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のコンポーネント名が書かれた項目をみつける&lt;/li&gt;
&lt;li&gt;Property1などと書かれた右のドロップダウンをクリック&lt;/li&gt;
&lt;li&gt;変化させたい状態名を選択&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;バリアンツ機能は適応するとコンポーネントの周りに点線が表示され、要素が複製されます。&lt;/p&gt;
&lt;p&gt;そしてその複製された要素を編集することによってサブ状態が表現できる機能です。&lt;/p&gt;
&lt;p&gt;ただしバリアンツ機能はコンポーネント化された要素のみ適応できるので注意です。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;現状バリアンツに登録できるのはデフォルトの他１種類しか登録できないので、状態を追加します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;バリアンツの追加&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05-Figma-base-3_Additions_within_the_Variants.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 始点の変更&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;追加したいバリアンツ要素を選択&lt;/li&gt;
&lt;li&gt;近くに＋アイコンが表示されるのでクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;追加される場所は選択した要素の直下なので、なるべく一番下のバリアンツ要素から選択するのがオススメです。&lt;/p&gt;
&lt;h2 id=&quot;完成&quot;&gt;完成&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;完成デザイン&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-05-figma-base-3/2022-04-05_Completion_drawing.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;以上今回はFigmaの基礎編３を解説しました。&lt;/p&gt;
&lt;p&gt;今後もスキル関係についての記事を投稿するのでお楽しみに！&lt;/p&gt;</content:encoded><category>build</category><category>UI</category><category>Figma</category></item><item><title>Figmaの使い方〜基礎編２〜 枠線・グループ化・コンポーネント・オートレイアウト</title><link>https://aulvem.com/ja/blog/2022-04-01-figma-base-2/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2022-04-01-figma-base-2/</guid><description>Figma の基礎操作編 2。枠線（Stroke）の設定、グループ化、コンポーネント化、オートレイアウト機能まで、再利用性の高い UI 設計に欠かせない機能を実例 GIF 付きで解説します。デザインシステムの土台作りに。</description><pubDate>Fri, 01 Apr 2022 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出から数年経過した記事です。骨子は今も参考になりますが、ツールの UI やバージョンは執筆当時のままで、最新版とは差異があります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;今回はFigmaの基礎編を解説します。&lt;/p&gt;
&lt;p&gt;デザインファイルまでの作成は前回紹介しましたので参考にしてください。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;: &lt;a href=&quot;https://aulvem.com/blog/2022-03-29-figma-preparation/&quot;&gt;Figmaの使い方〜準備編〜&lt;/a&gt; / &lt;a href=&quot;https://aulvem.com/blog/2022-03-30-figma-base-1/&quot;&gt;Figmaの使い方〜基礎編１〜&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;本記事の完成デザインは下画像になります。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;完成デザインのプレビュー&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Completion_drawing.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;h2 id=&quot;枠線の設定&quot;&gt;枠線の設定&lt;/h2&gt;
&lt;p&gt;前回はヘッダーとフッターを作成しました。&lt;/p&gt;
&lt;p&gt;今回は最初にコンテンツ内のカードを作っていきます。&lt;/p&gt;
&lt;p&gt;以下のgifは、フレームを作成後から始まっています。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;枠線の設定操作&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Setting_the_border.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;枠線を設定したい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のStrokeという項目を見つける&lt;/li&gt;
&lt;li&gt;Stroke項目の右に＋アイコンがあるのでクリック&lt;/li&gt;
&lt;li&gt;カラーコードが下に表示されるのでクリック&lt;/li&gt;
&lt;li&gt;カラーピッカー or カラーピッカー下の色履歴で任意の色を選択&lt;/li&gt;
&lt;li&gt;カラーコード下に表示されるので、三本線横の数字で線の太さを設定&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これで枠線の設定ができました。&lt;/p&gt;
&lt;h2 id=&quot;様々な要素の作成&quot;&gt;様々な要素の作成&lt;/h2&gt;
&lt;p&gt;カードの枠ができましたので中身を作成します。&lt;/p&gt;
&lt;p&gt;下gifのようにタイトルテキストとコンテンツテキストを作っておきます。&lt;/p&gt;
&lt;p&gt;次にコンテンツ下部に枠線とアバターアイコンを要素パーツを使用して設定します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;様々な要素の作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Creating_elements.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 直線の作成&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ヘッダーの四角アイコン横の∨をクリック&lt;/li&gt;
&lt;li&gt;下にいくつか項目が出てくるのでLineをクリック&lt;/li&gt;
&lt;li&gt;作成したい場所までマウスを持っていく&lt;/li&gt;
&lt;li&gt;ドラッグアンドドロップで範囲指定&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 円の作成&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ヘッダーの四角アイコン横の∨をクリック&lt;/li&gt;
&lt;li&gt;下にいくつか項目が出てくるのでEllipseをクリック&lt;/li&gt;
&lt;li&gt;作成したい場所までマウスを持っていく&lt;/li&gt;
&lt;li&gt;ドラッグアンドドロップで範囲指定&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;中央や端まで移動すると補正が効きます&lt;/li&gt;
&lt;li&gt;Shift + 移動でx軸とy軸を固定できます&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これでコンテンツ下部に枠線とアバターアイコンができました。&lt;/p&gt;
&lt;h2 id=&quot;グループ化&quot;&gt;グループ化&lt;/h2&gt;
&lt;p&gt;カードフレームの要素が多くなってきたので一つにまとめていきます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;要素のグループ化&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Grouping.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;グループ化したい要素を選択（複数）&lt;/li&gt;
&lt;li&gt;右クリックでメニューを表示&lt;/li&gt;
&lt;li&gt;メニュー内のGroup selectionを選択&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;左ナビゲーション内でShift + 選択したい範囲をクリックすると範囲選択&lt;/li&gt;
&lt;li&gt;要素を選択した状態で Ctrl + Gでグループ化&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;これで要素を一つにまとめられました。&lt;/p&gt;
&lt;h2 id=&quot;丸みの変更&quot;&gt;丸みの変更&lt;/h2&gt;
&lt;p&gt;カード内の要素として最後にアバターアイコン横にボタンを作成します。&lt;/p&gt;
&lt;p&gt;アバターアイコン横にフレームを作成して背景色を付けました。&lt;/p&gt;
&lt;p&gt;ボタンフレームに丸みを付けたいのでボタンを丸くします。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;角丸の変更&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Rounding_change.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;丸みを付けたい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のFrameという項目を見つける&lt;/li&gt;
&lt;li&gt;Frame項目の赤枠内の数字をクリック&lt;/li&gt;
&lt;li&gt;数値の変更をして指定したい値まで変更&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;方向キー↑↓で1ピクセル変更可&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでカード内の要素を全て作成し終わりました。&lt;/p&gt;
&lt;h2 id=&quot;コンポーネントの作成&quot;&gt;コンポーネントの作成&lt;/h2&gt;
&lt;p&gt;カードは通常、複数存在するので複製していきます。&lt;/p&gt;
&lt;p&gt;しかし前回行ったコピペによる複製ではなく、より強化された複製コンポーネント機能を使用します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;コンポーネントの作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Creating_components.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;コンポーネント化したい要素を選択&lt;/li&gt;
&lt;li&gt;右クリックでメニューを表示&lt;/li&gt;
&lt;li&gt;メニュー内のCreate componentを選択&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;要素を選択した状態でCtrl + Alt + Kでコンポーネント化&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;コンポーネント化はgifの通り色々な機能があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;マスターコンポーネントを調整すると子コンポーネントに反映&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;子コンポーネント内要素の調整（マスターコンポーネントには反映されない）
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;要素の表示、非表示切り替え機能&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;要素のテキスト変更機能&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;再利用しそうなフレームは積極的にコンポーネント化して、以後のデザイン調整を楽にするのがFigmaの最大メリットのひとつです。&lt;/p&gt;
&lt;h2 id=&quot;オートレイアウトの作成&quot;&gt;オートレイアウトの作成&lt;/h2&gt;
&lt;p&gt;ボタン内のテキストを後から長い文言に差し替えたい場面が出てきました。&lt;/p&gt;
&lt;p&gt;そこでオートレイアウト機能を使ってボタン内のテキストを変更していきます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;オートレイアウトの作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Creating_an_auto_layout.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: オートレイアウト化&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;オートレイアウト化したい要素を選択&lt;/li&gt;
&lt;li&gt;右クリックでメニューを表示&lt;/li&gt;
&lt;li&gt;メニュー内のAdd auto layoutを選択&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;要素を選択した状態でShift + Aでオートレイアウト化&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;通常変更テキストが長くなると要素外に飛び出してしまうのですが
&lt;strong&gt;オートレイアウト機能を使用するとgifの通り、上下左右の余白を保ってくれます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;フレーム内の要素の幅、高さが可変する時はオートレイアウト機能を使用します。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;先程のオートレイアウトだとボタンが右に長くなっていき、右側の余白が小さくなってしまいます。&lt;/p&gt;
&lt;p&gt;もうひと手間いれて右側の余白を維持したまま可変対応します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;始点の変更&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Changing_the_starting_point.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 始点の変更&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;始点の変更したい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のConstraintsという項目を見つける&lt;/li&gt;
&lt;li&gt;四角図内になる青線を選択して、始点の変更&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでボタンオートレイアウトの始点を右下に変更し、右側の余白を維持したまま可変対応できました。&lt;/p&gt;
&lt;p&gt;四角図の右にleftなど書かれている文字からも始点変更できます。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;オートレイアウト機能にはもう一つ有効な機能があります。&lt;/p&gt;
&lt;p&gt;その機能を利用して今度はカード周りの余白の大きさ、カード間の余白の大きさを調整します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;オートレイアウトの調整&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Adjusting_the_auto_layout.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: オートレイアウトの調整&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;オートレイアウト化したい複数要素を選択&lt;/li&gt;
&lt;li&gt;オートレイアウト化&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のAuto layoutという項目を見つける&lt;/li&gt;
&lt;li&gt;Auto layout項目内の一番右の四角をクリック&lt;/li&gt;
&lt;li&gt;要素の上下左右の余白ピクセルがでるので調整&lt;/li&gt;
&lt;li&gt;三本線のアイコンをクリック&lt;/li&gt;
&lt;li&gt;オートレイアウト化した要素間の広さを調整&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;右ナビゲーション内のAuto layoutは余白の調整ができます。&lt;/p&gt;
&lt;p&gt;同一の要素が複数表示される時は&lt;strong&gt;オートレイアウト機能を使い、要素外の余白＆要素間の余白が楽に調整できる&lt;/strong&gt;ので積極的に使用します。&lt;/p&gt;
&lt;h2 id=&quot;完成&quot;&gt;完成&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;完成デザイン&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-04-01-figma-base-2/2022-04-01_Completion_drawing.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;以上今回はFigmaの基礎編２を解説しました。&lt;/p&gt;
&lt;p&gt;次回はFigmaをもっと管理しやすくする機能を解説します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;: &lt;a href=&quot;https://aulvem.com/blog/2022-04-05-figma-base-3/&quot;&gt;Figmaの使い方〜基礎編３〜&lt;/a&gt;&lt;/p&gt;</content:encoded><category>build</category><category>UI</category><category>Figma</category></item><item><title>Figmaの使い方〜基礎編１〜 フレーム・テキスト・整列など最初の基本操作</title><link>https://aulvem.com/ja/blog/2022-03-30-figma-base-1/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2022-03-30-figma-base-1/</guid><description>Figma の基礎操作編 1。フレーム作成、背景色・サイズ変更、テキスト入力、要素の整列、シェイプ追加、レイヤー操作など UI 制作で最初に押さえたい基本機能を実例 GIF 付きで解説します。Figma 入門者向け。</description><pubDate>Wed, 30 Mar 2022 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出から数年経過した記事です。骨子は今も参考になりますが、ツールの UI やバージョンは執筆当時のままで、最新版とは差異があります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Figma の基礎編、その一回目。前回でデザインファイルまで作ったので、ここからは画面の中身を組んでいきます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;: &lt;a href=&quot;https://aulvem.com/blog/2022-03-29-figma-preparation/&quot;&gt;Figmaの使い方〜準備編〜&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;完成形は下の画像のとおり。シンプルな画面ですが、フレーム・色・テキスト・整列という Figma の基本がひととおり詰まっています。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;完成デザインのプレビュー&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_completion%20drawing.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;h2 id=&quot;基本操作&quot;&gt;基本操作&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;Figmaのデフォルト画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Default_screen.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;画面のおおよその見方は以下の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ヘッダーは&lt;strong&gt;操作系統&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;左サイドバーは&lt;strong&gt;作成したオブジェクト&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;右サイドバーは&lt;strong&gt;選択したオブジェクト&lt;/strong&gt;の調整&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;flame&quot;&gt;Flame&lt;/h2&gt;
&lt;p&gt;まずは大元になる画面範囲を作成します。&lt;/p&gt;
&lt;p&gt;フレームというパーツを使用して画面を表現していきます。&lt;/p&gt;
&lt;p&gt;フレームは画面の範囲、要素の外枠などで多様するパーツで
テンプレートがいくつか用意されているので、最初はそれを使うと簡単に作成できます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;テンプレートからフレームを作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Creating_template_frames.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ヘッダーのフレームアイコンをクリック&lt;/li&gt;
&lt;li&gt;右ナビゲーションにフレームテンプレートが表示されるので、任意のフレームを選択&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;クリックすると中央にiPhone 13 Pro Maxに対応したフレームが作成できました。&lt;/p&gt;
&lt;p&gt;右ナビゲーションには &lt;strong&gt;# iPhone 13 Pro Max&lt;/strong&gt; と書かれたフレームが作成されてます。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;大元になる画面範囲を作成できたので、ここからは画面内の要素作成に入ります。&lt;/p&gt;
&lt;p&gt;まずはヘッダーを作成します。&lt;/p&gt;
&lt;p&gt;先程はフレームのテンプレート機能を使いましたが、今回は自由作成でフレームを作成していきます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;フレームを自由作成&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Creating_frames.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ヘッダーのフレームアイコンをクリック&lt;/li&gt;
&lt;li&gt;作成したい場所までマウスを持っていく&lt;/li&gt;
&lt;li&gt;ドラッグアンドドロップで範囲指定&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;自由作成では数ピクセル単位で作成するのは難しいので、大体の大きさで作成しましょう。&lt;/p&gt;
&lt;p&gt;自由作成はヘッダーなどの大きな塊や、ボタンなどの小さな要素のベースを作成する時に使用します。&lt;/p&gt;
&lt;h2 id=&quot;背景色の変更&quot;&gt;背景色の変更&lt;/h2&gt;
&lt;p&gt;自由作成で作成したフレームは真っ白の状態なので
認識しやすいようにヘッダー用のフレームに背景色をつけようと思います。&lt;/p&gt;
&lt;p&gt;背景色などの細かな調整は、右ナビゲーション内で行います。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;背景色の変更操作&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Changing_the_background_colour.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;調整したい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のFillという項目を見つける&lt;/li&gt;
&lt;li&gt;Fill項目の右に＋アイコンがあるのでクリック&lt;/li&gt;
&lt;li&gt;カラーコードが下に表示されるのでクリック&lt;/li&gt;
&lt;li&gt;カラーピッカーで任意の色を選択&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これで背景色を黒く変更できました。&lt;/p&gt;
&lt;h2 id=&quot;要素の移動大きさの変更&quot;&gt;要素の移動、大きさの変更&lt;/h2&gt;
&lt;p&gt;ヘッダーの色は付けられましたが、位置も大きさもおかしいです。&lt;/p&gt;
&lt;p&gt;持っていきたい位置と大きさに修正してきます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;要素の移動と大きさ変更&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Moving_and_resizing_elements.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 位置の修正&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;調整したい要素を選択&lt;/li&gt;
&lt;li&gt;ドラッグアンドドロップで持っていきたい場所まで移動&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;中央や端まで移動すると補正が効きます&lt;/li&gt;
&lt;li&gt;Shit + 移動でx軸とy軸を固定できます&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 大きさの変更&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;調整したい要素を選択&lt;/li&gt;
&lt;li&gt;大きさを変更したい要素の枠までカーソル移動&lt;/li&gt;
&lt;li&gt;ドラッグアンドドロップで大きさを調整&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでヘッダーがある正しい位置と大まかな大きさにできました。&lt;/p&gt;
&lt;p&gt;しかしヘッダーの高さが数ピクセルずれてしまったので、微調整します。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;要素の高さを微調整&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Resizing_elements.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 要素の高さ微調整&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;調整したい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーションのFrame内にあるHのテキストを選択&lt;/li&gt;
&lt;li&gt;数値の変更をして指定したい値まで変更&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;方向キー↑↓で1ピクセル変更可&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Frame内のX, Yは位置、W, Hは横と高さの値が表示され修正できます。&lt;/p&gt;
&lt;h2 id=&quot;テキスト入力&quot;&gt;テキスト入力&lt;/h2&gt;
&lt;p&gt;ヘッダーの枠を作成したので、ヘッダー内の要素を作っていこうと思います。&lt;/p&gt;
&lt;p&gt;今回は解説用にヘッダー内にテキストを表示させます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;テキスト入力の操作&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Text_input.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ヘッダーのTアイコンをクリック&lt;/li&gt;
&lt;li&gt;テキストを表示したい箇所でクリック&lt;/li&gt;
&lt;li&gt;入力状態になるので、任意の文字を入力&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでヘッダー内に「ヘッダー」という文字を表示できました。&lt;/p&gt;
&lt;h3 id=&quot;フォントサイズ変更&quot;&gt;フォントサイズ変更&lt;/h3&gt;
&lt;p&gt;今の状態では文字が小さすぎるので
見やすいようにフォントサイズを大きくします。&lt;/p&gt;
&lt;p&gt;細かな調整なので他と同様、右ナビゲーション内で行います。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;フォントサイズの変更&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Change_in_size.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;調整したいテキストを選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内のTextという項目を見つける&lt;/li&gt;
&lt;li&gt;Text項目右下に数字が書いてある項目を見つける&lt;/li&gt;
&lt;li&gt;数字をクリック&lt;/li&gt;
&lt;li&gt;数値の変更をして指定したい値まで変更&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;方向キー↑↓で1フォントサイズ変更可&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;これで見やすいフォントサイズまで変更できました。&lt;/p&gt;
&lt;h2 id=&quot;要素の揃え方&quot;&gt;要素の揃え方&lt;/h2&gt;
&lt;p&gt;フォントサイズは見やすい大きさまで調整できました。次にテキストの表示位置を修正しようと思います。&lt;/p&gt;
&lt;p&gt;細かな調整なので他と同様、右ナビゲーション内で行います。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;要素の中央揃え&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Centred_elements.gif&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 要素の横中央揃え&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;調整したい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内の中央に縦線が引いてあるアイコンをクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 要素の縦中央揃え&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;調整したい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内の中央に横線が引いてあるアイコンをクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;中央揃えした時と同行の他アイコンは整列系のアイコンです。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;ヘッダーは完成したので、フッターを作成していきます。&lt;/p&gt;
&lt;p&gt;フッターのデザインはヘッダーと同じデザインを使用するので、ヘッダーをコピーします。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;要素を複製してフッター用に流用&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Reproduction.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 要素の複製&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;複製したい要素を選択&lt;/li&gt;
&lt;li&gt;Ctrl + Cを入力&lt;/li&gt;
&lt;li&gt;Ctrl + Vを入力&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでフッター用にコピーできました。&lt;/p&gt;
&lt;p&gt;しかしヘッダーと同じ位置にあるので、一番下に持っていきます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;フッターを画面下部に配置&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-30-figma-base-1/2022-03-30_Undercover.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Point: 要素の縦下揃え&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;調整したい要素を選択&lt;/li&gt;
&lt;li&gt;右ナビゲーション内の下部に横線が引いてあるアイコンをクリック&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;これでフッターも完成です。&lt;/p&gt;
&lt;p&gt;ここまでで Figma の最初の操作はひととおり触れたはず。次回は、Figma を使うなら早めに押さえておきたい中核機能を扱います。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;: &lt;a href=&quot;https://aulvem.com/blog/2022-04-01-figma-base-2/&quot;&gt;Figmaの使い方〜基礎編２〜&lt;/a&gt;&lt;/p&gt;</content:encoded><category>build</category><category>UI</category><category>Figma</category></item><item><title>Figmaの使い方〜準備編〜 アカウント作成・チーム作成・デザインファイル作成まで</title><link>https://aulvem.com/ja/blog/2022-03-29-figma-preparation/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2022-03-29-figma-preparation/</guid><description>デザインツール Figma を使い始めるための準備編。Figma の概要・特徴、アカウント登録、チーム作成、デザインファイル新規作成、画面の基本構成までを画像付きでステップ解説します。UI デザイン初学者の最初の一歩に。</description><pubDate>Tue, 29 Mar 2022 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出から数年経過した記事です。アカウント作成・チーム作成・ファイル作成という骨子は今も同じですが、UI の細部や用語は当時のまま残しています。現在の Figma には Dev Mode、Variables、Auto layout の強化など、当時には無かった機能が追加されています。最新の画面と読み比べる前提でお読みください。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;今回はFigmaの概要と、最初のデザインファイルが開くまでの準備を整理します。アカウント作成・チーム作成・ファイル作成の3つを順番に進めるだけで、UI デザインのキャンバスにたどり着けます。&lt;/p&gt;
&lt;h2 id=&quot;figma-の概要を理解する&quot;&gt;Figma の概要を理解する&lt;/h2&gt;
&lt;p&gt;Figma はブラウザ上で動く UI デザインツールです。インストール不要で、URL を開けばすぐに編集画面に入れます。&lt;/p&gt;
&lt;p&gt;他にもプロトタイピング用のツールはありますが、Figma の輪郭をつかむうえで押さえておきたい特徴は次の2つです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;クラウド上で作業する&lt;/li&gt;
&lt;li&gt;複数人で同時編集できる&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;クラウドで作業する&quot;&gt;クラウドで作業する&lt;/h3&gt;
&lt;p&gt;Figma はファイルがクラウドに置かれ、編集も基本的にブラウザの中で完結します。&lt;/p&gt;
&lt;p&gt;アカウントさえ作っておけば、&lt;strong&gt;ブラウザが動く PC からログインするだけで、編集中のデータを閲覧・編集できます&lt;/strong&gt;。手元の環境にツールをインストールする必要はありません。&lt;/p&gt;
&lt;h3 id=&quot;複数人で同時編集できる&quot;&gt;複数人で同時編集できる&lt;/h3&gt;
&lt;p&gt;Figma の最も特徴的な点は、複数人が同じファイルを同時に編集できることです。&lt;/p&gt;
&lt;p&gt;個人で使う分には恩恵は薄いですが、仕事でプロトタイプを進める場合、ファイルを zip で渡す・最新版を取り違える、といった面倒がほぼなくなります。&lt;/p&gt;
&lt;p&gt;※&lt;strong&gt;リモートワークの会議では特に効きます&lt;/strong&gt;。画面共有しながらその場で直す、ができるためです。&lt;/p&gt;
&lt;h2 id=&quot;アカウントを作成する&quot;&gt;アカウントを作成する&lt;/h2&gt;
&lt;p&gt;実際に使い始めるには、まず Figma のアカウントを作ります。&lt;/p&gt;
&lt;p&gt;公式サイトを開いて、サインアップに進みます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.figma.com/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;https://www.figma.com/&lt;/a&gt;&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Figma TOP画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-29-figma-preparation/2022-03-29-Figma-Top.jpg&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;アクセスすると上の画面が表示されるので、&lt;strong&gt;赤枠の Sign up ボタン&lt;/strong&gt;をクリックします。&lt;/p&gt;
&lt;p&gt;クリックすると、アカウント新規作成モーダルが表示されます。&lt;/p&gt;
&lt;p&gt;Google アカウントで新規作成するのが手間が少なく、おすすめです。メールアドレスでも問題ありません。&lt;/p&gt;
&lt;h2 id=&quot;チームを作成する&quot;&gt;チームを作成する&lt;/h2&gt;
&lt;p&gt;アカウントを作成してログインできたら、最初にチームを作成します。&lt;/p&gt;
&lt;p&gt;チームは PC のフォルダに近い概念です。先にチームというフォルダを作り、その中にデザインファイルを置く、という階層になります。&lt;/p&gt;
&lt;p&gt;以下の赤枠箇所をクリックします。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;チーム作成画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-29-figma-preparation/2022-03-29_Team_creation.jpg&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;クリックすると、チーム名入力画面が表示されます。&lt;/p&gt;
&lt;p&gt;任意のチーム名を入力して、&lt;strong&gt;Create team&lt;/strong&gt; ボタンをクリック。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;チーム名入力画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-29-figma-preparation/2022-03-29_Enter_team_name.jpg&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;次にチームに追加したいユーザーを入力する画面に進みます。&lt;/p&gt;
&lt;p&gt;今回は一人で無料枠で作るので、画面下にある &lt;strong&gt;Skip for now&lt;/strong&gt; をクリックして進めます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ユーザー招待をスキップ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-29-figma-preparation/2022-03-29_Skip.jpg&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;最後に Figma のプランを選択します。&lt;/p&gt;
&lt;p&gt;無料プランで進めるので、赤枠の &lt;strong&gt;Choose Starter&lt;/strong&gt; を選択。これでチーム作成は完了です。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;無料プラン選択画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-29-figma-preparation/2022-03-29_Free_version.jpg&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h2 id=&quot;デザインファイルを作成する&quot;&gt;デザインファイルを作成する&lt;/h2&gt;
&lt;p&gt;チームができたので、実際に編集する場所、デザインファイルを作成します。&lt;/p&gt;
&lt;p&gt;無料版では、デザインファイルは3つまでしか作成できない点に注意してください（執筆当時の制限。最新の上限は公式の料金ページを確認してください）。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;デザインファイルの作成自体は簡単です。&lt;/p&gt;
&lt;p&gt;左側に作成したチーム名が表示されているので、選択すると下の画面が表示されます。&lt;/p&gt;
&lt;p&gt;赤枠をクリックすると、新規のデザインファイルが作成されます。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;デザインファイル作成画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-29-figma-preparation/2022-03-29_Design_creation.jpg&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;作成すると以下の画面が開き、これで準備は完了です。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;デザインファイルのデフォルト画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-29-figma-preparation/2022-03-29_Default_screen.jpg&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;ここまでで、Figma の概要を押さえ、空のキャンバスにたどり着くところまで進みました。&lt;/p&gt;
&lt;p&gt;実際にこのキャンバス内で何をどう操作するかは、続編の基礎編で扱っています。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;: &lt;a href=&quot;https://aulvem.com/blog/2022-03-30-figma-base-1/&quot;&gt;Figmaの使い方〜基礎編１〜&lt;/a&gt;&lt;/p&gt;</content:encoded><category>build</category><category>UI</category><category>Figma</category></item><item><title>デザイン思考とは？共感から真の問題を探すプロセスと仕事への活かし方</title><link>https://aulvem.com/ja/blog/2022-03-19-design-thinking/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2022-03-19-design-thinking/</guid><description>デザイン思考はデザイナーの創造プロセスを他分野に応用した問題解決アプローチです。共感・問題定義・アイデア発想・プロトタイプ・検証の流れ、ダブルダイヤモンドモデルの考え方、業務で実践する際のコツを実体験ベースで解説します。</description><pubDate>Sat, 19 Mar 2022 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出から数年経過した記事です。骨子は今も参考になりますが、ツールの UI やバージョンは執筆当時のままで、最新版とは差異があります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;デザイン思考とは&quot;&gt;デザイン思考とは？&lt;/h2&gt;
&lt;p&gt;仕事で「デザイン思考」を使う場面が増えたので、自分なりの解釈も交えて整理しておきます。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;デザイン思考はもともとデザイナーが創造の場面で使っていた考え方を、他分野の問題解決にも応用しようとしたアプローチです。&lt;/p&gt;
&lt;p&gt;理論や数字を重視し「&lt;strong&gt;問題を解決する考え方&lt;/strong&gt;」をする論理的思考に対し、&lt;/p&gt;
&lt;p&gt;デザイン思考は共感や感情を起点に「&lt;strong&gt;真の問題を探索する考え方&lt;/strong&gt;」と整理できます。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;フォードの逸話&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-19-design-thinking/2022-03-19-Design-Thinking-Ford.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;よく引かれる例が、自動車を世に出したフォードの逸話です。「&lt;strong&gt;速い馬が欲しい&lt;/strong&gt;」というユーザーの要求を、馬という具体物ではなく「&lt;strong&gt;移動したい&lt;/strong&gt;」という抽象的な欲求として読み替え、車という解を選んだとされています。&lt;/p&gt;
&lt;p&gt;このように、提示された問題そのものを疑い、その奥にある真の問題を取りに行くのがデザイン思考の特徴です。&lt;/p&gt;
&lt;h2 id=&quot;デザイン思考のプロセス&quot;&gt;デザイン思考のプロセス&lt;/h2&gt;
&lt;p&gt;この考え方では、問題解決を「発散」と「収束」のパターンで進めます。これをダブルダイヤモンドモデルと呼びます。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;ダブルダイヤモンドモデル&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-03-19-design-thinking/2022-03-19-Double-Diamond.jpg&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;プロセスは大きく四つの段階に分かれます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;正しい問題を見つけるための発散と収束 — 「探索」と「定義」&lt;/li&gt;
&lt;li&gt;正しい解決策を見つけるための発散と収束 — 「展開」と「提供」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この 4 段階を素早く回しながら、製品の精度を上げていきます。&lt;/p&gt;
&lt;h3 id=&quot;正しい問題を見つける発散&quot;&gt;正しい問題を見つける発散&lt;/h3&gt;
&lt;h4 id=&quot;探索&quot;&gt;探索&lt;/h4&gt;
&lt;p&gt;探索フェーズはデザイン思考の核「&lt;strong&gt;真の問題を探索する考え方&lt;/strong&gt;」を最も意識する場面です。&lt;/p&gt;
&lt;p&gt;実際に使用するユーザーを観察したり、インタビューしたりして「&lt;strong&gt;ニーズを探索する&lt;/strong&gt;」のがここでの仕事です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;なぜその操作（行動）を行ったのか&lt;/li&gt;
&lt;li&gt;サービスを触る前後の心理状態（感情）はどうだったか&lt;/li&gt;
&lt;li&gt;など&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こうした問いかけで問題を発散させます。&lt;/p&gt;
&lt;p&gt;当たり前で言わなくてよさそうなことから、奇抜で突飛なことまで、薄く広く出していきます。&lt;/p&gt;
&lt;h4 id=&quot;定義&quot;&gt;定義&lt;/h4&gt;
&lt;p&gt;探索で仮説が出そろったら、今度は問題を絞り込みます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ユーザーが最も強く感じている問題はどれか&lt;/li&gt;
&lt;li&gt;根本的な原因・要因はどう抽象化できるか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ユーザー視点だけでなく、マーケティングや営業の視点も入れて、多面的に収束させます。&lt;/p&gt;
&lt;h3 id=&quot;正しい解決策を見つける発散&quot;&gt;正しい解決策を見つける発散&lt;/h3&gt;
&lt;p&gt;ここから先は、ふだんの論理的思考に近い領域です。&lt;/p&gt;
&lt;p&gt;アイデア出しでは、次の点に気をつけています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;アイデアは多ければ多いほどよい&lt;/li&gt;
&lt;li&gt;当たり前のことほど質問する&lt;/li&gt;
&lt;li&gt;早すぎる決定（固執）は危険&lt;/li&gt;
&lt;li&gt;アイデアを否定しない&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;デザイン思考のデメリット&quot;&gt;デザイン思考のデメリット&lt;/h3&gt;
&lt;h4 id=&quot;時間とコストがかかる&quot;&gt;時間とコストがかかる&lt;/h4&gt;
&lt;p&gt;プロセスの特性上、どうしても時間とコストがかかります。&lt;/p&gt;
&lt;p&gt;ビジネスとしての製品開発には締切がある以上、あらかじめタイムリミットを切ったうえで回すのが現実的です。&lt;/p&gt;
&lt;h4 id=&quot;実践のハードルが高い&quot;&gt;実践のハードルが高い&lt;/h4&gt;
&lt;p&gt;ユーザー視点と共感が肝心で、これは一朝一夕には身につきません。観察とインタビューを地道に重ねる訓練が要ります。&lt;/p&gt;
&lt;p&gt;そのうえでアイデアを広げる発想力も求められるので、初学者がいきなりフルに回すのは難しい部類です。&lt;/p&gt;
&lt;h4 id=&quot;ちょっとした改善には不向き&quot;&gt;ちょっとした改善には不向き&lt;/h4&gt;
&lt;p&gt;真の問題から探り直すデザイン思考は、新しいソリューションを生み出すのは得意な反面、既存機能の細かい改善にはコスト過剰になりがちです。改善寄りのタスクなら、論理的思考で淡々と詰めるほうが速い場面も多いと思います。&lt;/p&gt;
&lt;h2 id=&quot;実際に用いるためには&quot;&gt;実際に用いるためには&lt;/h2&gt;
&lt;p&gt;ユーザー視点・共感・アイデア創出のいずれも訓練が要るため、明日からフルセットで回すのは現実的ではありません。&lt;/p&gt;
&lt;p&gt;そこで、エッセンスだけ抜き出して普段の働き方に少しずつ混ぜる方法を考えました。&lt;/p&gt;
&lt;h3 id=&quot;結局この考え方が言いたいこと&quot;&gt;結局この考え方が言いたいこと&lt;/h3&gt;
&lt;p&gt;核は「真の問題を探索する」こと、言い換えると &lt;u&gt;提示された問題から一歩引いて考えてみる&lt;/u&gt; ことだと受け取っています。&lt;/p&gt;
&lt;p&gt;ユーザー視点が最も効きますが、そこに囚われず、対象の背景を想像するだけでも別の角度が見えてきます。デザイン思考はそういう「視点をずらす道具」として捉えると、肩肘張らずに使えると思います。&lt;/p&gt;
&lt;h3 id=&quot;ユーザー視点を鍛える&quot;&gt;ユーザー視点を鍛える&lt;/h3&gt;
&lt;p&gt;ユーザー視点を鍛えるには、自分がふだん使っている類似商品を実際に触ってみるのが手早い方法です。&lt;/p&gt;
&lt;p&gt;使い慣れた製品との違いに気づき、比較できるようになる。それがユーザー視点の第一歩になります。&lt;/p&gt;
&lt;h3 id=&quot;ミクロデザイン思考&quot;&gt;ミクロデザイン思考&lt;/h3&gt;
&lt;p&gt;デザイン思考を看板に掲げて推進しなくても、考え方の一部分だけを日常の業務に差し込むことはできます。&lt;/p&gt;
&lt;p&gt;たとえばミーティングのある議題について、そもそもこの議題設定は正しいのか、視点が局所的になっていないか、と疑ってみる。小さい単位で練習を重ねると、議論の解像度も少しずつ変わってくるはずです。&lt;/p&gt;</content:encoded><category>build</category><category>UI</category></item><item><title>microSD カードの選び方 — 規格表記の読み方と用途別に必要な性能</title><link>https://aulvem.com/ja/blog/2022-02-26-micro-sd-base/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2022-02-26-micro-sd-base/</guid><description>microSD カードの表面にある SDHC / SDXC / Class10 / V30 / A1 などの記号の意味と、カメラ・スマホ・GoPro それぞれに必要な最低性能を整理します。</description><pubDate>Sat, 26 Feb 2022 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。SD アソシエーション側の表記体系自体は当時から変わっていないが、容量帯の相場と SDUC（4TB 超）対応カードの市場投入状況を 2026 時点で見直した。具体的な機種リンクは確認のうえ最新モデルへ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;microSD カードを買おうとすると、棚に並ぶカードの表面にやたら記号が書いてある。「SDXC」「U3」「V30」「A2」「I」。同じ容量でも値段が倍違う。どれを買えばいいのか。&lt;/p&gt;
&lt;p&gt;この記事では microSD カード表記の読み方を整理し、用途別（スマホ / ミラーレスカメラ / GoPro / Switch）に必要な最低ラインを示す。読み終える頃には、棚の前で迷う時間がなくなるはず。&lt;/p&gt;
&lt;h2 id=&quot;結論--容量と速度を別々に読み用途で必要ラインを決める&quot;&gt;結論 — 容量と速度を別々に読み、用途で必要ラインを決める&lt;/h2&gt;
&lt;p&gt;短い答え: microSD の性能は「&lt;strong&gt;容量規格（SDHC/SDXC/SDUC）&lt;/strong&gt;」「&lt;strong&gt;速度クラス（Class/UHS/Video Speed Class）&lt;/strong&gt;」「&lt;strong&gt;バス（UHS-I/II/III）&lt;/strong&gt;」の3層で決まる。どれか1つだけ見ても判断できない。&lt;/p&gt;
&lt;p&gt;用途別の最低ラインは以下:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;スマホ（Android）&lt;/strong&gt;: 128GB / A1 / UHS-I&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ミラーレス静止画 + 連写&lt;/strong&gt;: 64GB 以上 / UHS-II 対応カードと本体&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GoPro / アクションカム 4K&lt;/strong&gt;: 128GB / V30 / UHS-I U3&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Switch / 携帯ゲーム機&lt;/strong&gt;: 128〜256GB / UHS-I（速度より容量優先）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ドライブレコーダー&lt;/strong&gt;: 64〜128GB / 高耐久（“High Endurance”）モデル&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;逆に言うと、用途を決めれば見るべき記号は2つか3つに絞れる。&lt;/p&gt;
&lt;h2 id=&quot;sd-カードの容量規格--sdhc--sdxc--sduc&quot;&gt;SD カードの容量規格 — SDHC / SDXC / SDUC&lt;/h2&gt;
&lt;p&gt;短い答え: 容量規格は「カードが扱える上限容量」を示し、対応機器側との互換性に関わる。新しい機器なら基本気にしなくていい。&lt;/p&gt;
&lt;p&gt;容量規格は3世代ある:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SDHC&lt;/strong&gt;: 2GB 超〜32GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SDXC&lt;/strong&gt;: 32GB 超〜2TB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SDUC&lt;/strong&gt;: 2TB 超〜128TB&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;規格用語の整理&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SDHC / SDXC / SDUC は「カード自体の容量上限」と「採用しているファイルシステム」の組み合わせを規定する。SDHC は FAT32、SDXC は exFAT、SDUC も exFAT。古い機器に新世代カードを挿しても、ファイルシステム未対応で読めない場合がある。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;互換性-古い機器ほど狭くなる&quot;&gt;互換性: 古い機器ほど狭くなる&lt;/h3&gt;
&lt;p&gt;機器側の対応は「下位互換あり、上位互換なし」が原則。2015年以降の機器であれば SDXC 対応がほぼ標準で、ここで詰まることは少ない。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;機器が対応する規格&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;32GB 以下（SDHC）&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;64GB〜2TB（SDXC）&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;2TB 超（SDUC）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;SDHC のみ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;OK&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;NG&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;NG&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SDXC まで&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;OK&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;OK&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;NG&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SDUC 対応&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;OK&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;OK&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;OK&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;2026 時点で SDUC 対応カードは市場に出始めたばかりで、4TB 超のカードを使う場面は限られる。一般用途は SDXC 範囲（64GB〜1TB）で十分。&lt;/p&gt;
&lt;h2 id=&quot;速度クラス--class--uhs-speed-class--video-speed-class&quot;&gt;速度クラス — Class / UHS Speed Class / Video Speed Class&lt;/h2&gt;
&lt;p&gt;短い答え: 速度クラスは「&lt;strong&gt;最低書き込み速度&lt;/strong&gt;」の保証値。Class（旧）、UHS Speed Class（U）、Video Speed Class（V）の3系統あり、新しいほど厳密。&lt;/p&gt;
&lt;p&gt;混乱しやすいが、3系統とも「これ以下には落ちません」という下限の話で、最高速度の話ではない。動画録画のように途切れたら困る用途で効く。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;速度クラスとは（定義）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SD Association が定める、連続書き込み時の最低速度の保証規格。「Class10」「U1」「V10」はいずれも最低 10MB/s を保証する別表記。同じ性能を違う記号で示しているだけのケースがある。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;3系統の対応関係&quot;&gt;3系統の対応関係&lt;/h3&gt;





















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;最低書き込み&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;Class&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;UHS Speed&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;Video Speed&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;2 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;C2&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;C4&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;C6&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;V6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;C10&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;U1&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;V10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;30 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;U3&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;V30&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;60 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;V60&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;90 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;V90&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;2026 時点で店頭に並ぶカードはほぼ U1 / U3 / V30 / V60 / V90 の表記が中心。古い Class2〜6 のカードはほぼ消えた。&lt;/p&gt;
&lt;h3 id=&quot;バスインターフェースuhs-i--ii--iiiは別の話&quot;&gt;バスインターフェース（UHS-I / II / III）は別の話&lt;/h3&gt;
&lt;p&gt;速度クラスが「下限の保証」なのに対し、バスインターフェース（カード裏の端子形状）は「上限の規格」。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;UHS-I&lt;/strong&gt;: 理論上限 104 MB/s&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UHS-II&lt;/strong&gt;: 理論上限 312 MB/s&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UHS-III&lt;/strong&gt;: 理論上限 624 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;UHS-II 以上はカード裏に2列目のピンがある。本体側のスロットも UHS-II 対応でなければ、速度は UHS-I 相当に落ちる。スマホ・GoPro・エントリーミラーレスは UHS-I 止まりが多い。&lt;/p&gt;
&lt;h2 id=&quot;アプリケーションパフォーマンスクラスa1--a2&quot;&gt;アプリケーションパフォーマンスクラス（A1 / A2）&lt;/h2&gt;
&lt;p&gt;短い答え: スマホでアプリを SD に置く前提の規格。最低の連続書き込み速度に加え、ランダム I/O（IOPS）の下限が定義されている。&lt;/p&gt;























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;規格&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;最低書き込み（連続）&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;最低ランダム読み&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;最低ランダム書き&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;A1&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;10 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;1,500 IOPS&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;500 IOPS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;A2&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;10 MB/s&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;4,000 IOPS&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;2,000 IOPS&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;連続速度は同じだが、A2 は細かいファイル操作が速い。アプリを SD に移すなら A2 のメリットが出やすい。ただし A2 の真価は機器側のキャッシュ機構に依存するため、対応していない Android では A1 と差が出ないケースがある。&lt;/p&gt;
&lt;h2 id=&quot;容量の選び方--用途別の現実的なライン&quot;&gt;容量の選び方 — 用途別の現実的なライン&lt;/h2&gt;
&lt;p&gt;短い答え: 容量は「&lt;strong&gt;使い切れる最大&lt;/strong&gt;」ではなく「&lt;strong&gt;容量単価が一番安い帯&lt;/strong&gt;」で選ぶ。&lt;/p&gt;
&lt;p&gt;容量単価は中容量（128〜256GB）が底になることが多い。32GB と 128GB の価格差は数百円〜千円程度のことが多いので、迷ったら大きい方を選んで損は少ない。&lt;/p&gt;
&lt;h3 id=&quot;用途別の目安&quot;&gt;用途別の目安&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;スマホ（写真・動画・音楽）&lt;/strong&gt;: 128GB が下限、256GB が安心&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4K 動画録画（GoPro / カムコーダー）&lt;/strong&gt;: 128GB で約2時間（4K60p、ビットレート 100Mbps 換算）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ミラーレス RAW 連写&lt;/strong&gt;: 64GB で約 1,500〜2,000 枚（24MP RAW 換算、カメラ機種による）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Switch / 携帯機&lt;/strong&gt;: 256GB あればダウンロード版ソフトを 20 本前後保持できる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ドライブレコーダー&lt;/strong&gt;: 64〜128GB の High Endurance 推奨。標準カードは書き換え回数で壊れる&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;比較-用途別の最低スペック早見表&quot;&gt;比較: 用途別の最低スペック早見表&lt;/h2&gt;





























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;用途&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;容量規格&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;容量目安&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;速度クラス&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;バス&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;スマホ（Android）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;SDXC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;128GB&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;A1 / U1&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;UHS-I&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;アプリを SD に移す Android&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;SDXC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;128GB&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;A2 / U1&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;UHS-I&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GoPro / 4K アクション&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;SDXC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;128GB&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;V30 / U3&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;UHS-I&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8K カムコーダー&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;SDXC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;256GB+&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;V60 / V90&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;UHS-II&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ミラーレス静止画 + 連写&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;SDXC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;64GB+&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;V60 / V90&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;UHS-II&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Switch&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;SDXC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;128〜256GB&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;U1 / U3&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;UHS-I&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ドラレコ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;SDXC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;64〜128GB&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;U1（High Endurance）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;UHS-I&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;おすすめの-microsd-カード&quot;&gt;おすすめの microSD カード&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時に選定した方向性。2026 時点では同価格帯の最新モデルを必ず確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;スマホswitch-向け--128gb--a1--u1&quot;&gt;スマホ・Switch 向け — 128GB / A1 / U1&lt;/h3&gt;
&lt;p&gt;汎用的に使える基準モデル。A1 と U1 を満たし、128GB 以上であれば日常用途で困らない。SanDisk Ultra / Samsung EVO Select / Kingston Canvas Select Plus あたりが定番。&lt;/p&gt;
&lt;h3 id=&quot;gopro4k-動画向け--128gb--v30--u3&quot;&gt;GoPro・4K 動画向け — 128GB / V30 / U3&lt;/h3&gt;
&lt;p&gt;V30 を満たすカードを選ぶ。GoPro 公式の動作確認リストにあるモデルを選ぶと相性問題を避けやすい。SanDisk Extreme / Lexar Professional 1066x など。&lt;/p&gt;
&lt;h3 id=&quot;ミラーレス連写向け--uhs-ii-対応--v60v90&quot;&gt;ミラーレス連写向け — UHS-II 対応 / V60〜V90&lt;/h3&gt;
&lt;p&gt;カメラ本体側が UHS-II 対応である前提。連写バッファのクリア時間に直結する。価格は UHS-I の2〜3倍。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. 32GB と 128GB、迷ったらどちらを買うべき？&lt;/strong&gt;
A. 迷ったら 128GB。容量単価（円/GB）は中容量帯が最も安く、32GB との価格差は数百円〜千円程度。動画やアプリ用途で容量不足になるリスクの方が大きい。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Class10 と UHS-I U1 と V10 はどう違う？&lt;/strong&gt;
A. 3つとも「最低書き込み速度10MB/s」を意味する別記号。Class は旧規格、U は UHS バス向け、V はビデオ向けに策定された。新しいカードは V 表記または U 表記が中心。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Nintendo Switch には何が必要？&lt;/strong&gt;
A. Switch 公式は UHS-I 対応の microSDXC を推奨。速度クラスより容量が体感に効くため、128GB〜256GB の UHS-I U1 / U3 を選べば十分。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 高い UHS-II カードを買えば速くなる？&lt;/strong&gt;
A. 対応機器側が UHS-II スロットを持たない限り速くならない。スマホ・GoPro・エントリーミラーレスはほぼ UHS-I 止まり。UHS-II が活きるのは高速連写の中〜上位ミラーレスや 8K カムコーダー。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;microSD カードの表記は「容量規格 / 速度クラス / バス」の3層で読むと迷わない。&lt;/p&gt;
&lt;p&gt;用途を決めれば必要なラインは絞れる。スマホは 128GB + A1、4K 動画は 128GB + V30、ミラーレス連写は UHS-II 対応カード、Switch は容量優先。逆に、用途を決めずに「一番速いやつ」を買うと、本体側が対応していなくて速度が出ない、という典型的な無駄遣いになる。&lt;/p&gt;
&lt;p&gt;棚の前で迷ったら、まず自分の用途を1つに絞ること。記号の読み方はその後でいい。&lt;/p&gt;
</content:encoded><category>reviews</category><category>PCPeripherals</category></item><item><title>Manfrotto PIXI EVO レビュー — フルサイズも載る、バッグに入る自由雲台ミニ三脚</title><link>https://aulvem.com/ja/blog/2022-02-16-manfrotto-pixi-evo/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2022-02-16-manfrotto-pixi-evo/</guid><description>Manfrotto PIXI EVO を 2 年以上使ったレビュー。最大耐荷重 2.5kg（公称）でフルサイズ機まで載り、ロー〜ハイの高さ調節も効く実用派ミニ三脚。270g とやや重く、自由雲台ロックの硬さが微調整時の弱点。</description><pubDate>Wed, 16 Feb 2022 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。PIXI EVO は 2026 現在も Manfrotto の現行ラインアップに残っている定番モデル。レビュー観点（耐荷重・2 段開脚 + 4 段伸縮・自由雲台ロックの硬さ）は今も実用上の判断材料になる。スペック表記は執筆当時の公称値で、最新の公式表記とは差分があり得る。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ミラーレスを買ったタイミングで、机の上 / カフェ / 屋外スナップを 1 本で賄えるミニ三脚を探していた。条件は、フルサイズ機を載せても破綻しないこと、バッグに入ること、ロー / ハイの両方を一定範囲でカバーできること。&lt;/p&gt;
&lt;p&gt;選んだのは &lt;strong&gt;Manfrotto PIXI EVO&lt;/strong&gt;。同じ Manfrotto の PIXI 無印より一段重く、その代わり 4 段伸縮 + 2 段開脚を持つモデル。2 年以上、室内のブツ撮りから旅行先のスナップまで持ち歩いた範囲でレビューを残しておく。&lt;/p&gt;
&lt;h2 id=&quot;結論--フルサイズも載るミニ三脚を-1-本だけ持つなら有力&quot;&gt;結論 — フルサイズも載るミニ三脚を 1 本だけ持つなら有力&lt;/h2&gt;
&lt;p&gt;短い答え: 公称耐荷重 2.5kgでフルサイズ機まで載り、2 段開脚 + 4 段伸縮で机上ローから目線下のハイまで一台で賄える、実用派の自由雲台ミニ三脚。&lt;/p&gt;
&lt;p&gt;理由は単純で、「載せられる重量」と「届く高さの幅」を同時に確保できるミニ三脚は意外と少ないから。多くのミニ三脚は耐荷重 1kg 前後・脚は固定長で、フルサイズ機が載らないか、載っても高さがほぼ動かせない。PIXI EVO は両方の弱点を片側ずつクリアしている。&lt;/p&gt;
&lt;p&gt;ただし以下に該当する人は別候補を勧める:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;柱や手すりに巻きつけたい人&lt;/strong&gt;: フレキシブル脚の &lt;a href=&quot;https://aulvem.com/blog/2021-03-03-jobygorillapod-jb01542-pkk/&quot;&gt;JOBY ゴリラポッド&lt;/a&gt; のほうが用途に合う&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;重量が 1g でも惜しい人&lt;/strong&gt;: 270g（公称）は同クラスのミニ三脚の中では重め&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;動画の水平を 1° 単位で出したい人&lt;/strong&gt;: 自由雲台ロックが硬く、微調整は苦手&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観--赤いロゴが目印雲台一体型のずんぐりフォルム&quot;&gt;外観 — 赤いロゴが目印、雲台一体型のずんぐりフォルム&lt;/h2&gt;
&lt;p&gt;短い答え: マットブラックの脚 + 赤い Manfrotto ロゴの自由雲台、という見覚えのある配色。雲台と脚は一体構造で、雲台のロックは天面のロゴ部を回す独特の方式。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Manfrotto PIXI EVO を正面から見た外観&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo-front.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;分類としては &lt;strong&gt;1/4 インチネジの自由雲台付きミニ三脚&lt;/strong&gt;。脚の根元に開脚モード切替スイッチ、各脚に伸縮ロックボタンを備える。記憶に残りやすい独特のフォルムをしている。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;値&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;自重&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;約 270g（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;最大耐荷重&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;約 2.5kg（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;雲台&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;自由雲台（1/4 インチネジ天面）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;脚伸縮&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;4 段&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;開脚モード&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;2 段（通常 / ロー）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;img width=&quot;800&quot; alt=&quot;Manfrotto PIXI EVO の自由雲台部アップ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo-heads.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;雲台のロックは正面の赤い Manfrotto ロゴを回す方式。ロゴはそこそこ固く、勝手に緩むことはない。1/4 インチネジは雲台中央のダイヤルで締める。アルカスイス互換クランプも載るが、クランプ幅が雲台の倍近くあるので頭でっかちになりやすい。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;PIXI EVO の脚根元にある開脚モード切替スイッチ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo-switch.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;脚の根元にあるスライド式スイッチで、通常開脚 / ロー開脚を切り替える。スイッチ下にモードの図がプリントされているので、初見でも迷わない。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;PIXI EVO をロー開脚にしてベタ置きした状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo-open.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;ロー開脚にすると、脚が床にベタっと張り付くように開く。机の上で物撮りをするとき、被写体の正面に低く構えたいときに効く配置。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;PIXI EVO を畳んで細長く収納した状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo-foldable.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;畳むと細長い棒状。脚の裏側が斜めにカットされているので、3 本がきれいに密着する。バッグの隙間や上着のポケットにも収まるサイズ感になる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;PIXI EVO の各脚にある伸縮ロックボタン&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo-button.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;各脚にプッシュボタン式の伸縮ロックがあり、押しながら引き出して長さを変える。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;PIXI EVO の脚を最大まで伸ばした状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo-stretch.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;伸縮は 4 段。途中で止めても固定できるが、実運用では「全伸ばし」か「全縮め」のどちらかで使う場面がほとんどで、中間段は微調整用と捉えると素直。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;PIXI EVO に GoPro を装着したサイズ感&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo-gopro.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;カメラ本体はレビュー時に撮影で使っているため、代わりに GoPro を載せた状態。GoPro クラスだと PIXI EVO は完全にオーバースペックだが、それでも安定感は気持ちいい。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: フルサイズ機を載せても剛性が破綻しない / 2 段開脚 + 4 段伸縮で「届く高さの幅」が広い / 畳むと棒状になりバッグに入る。&lt;/p&gt;
&lt;h3 id=&quot;耐荷重-25kg公称--フルサイズ機までは現実的に載る&quot;&gt;耐荷重 2.5kg（公称） — フルサイズ機までは現実的に載る&lt;/h3&gt;
&lt;p&gt;ミニ三脚として珍しく、フルサイズ機 + 標準ズームでも雲台が負けない剛性を持つ。さすがに大三元の望遠ズームは重心が高すぎて推奨できないが、標準域までなら机上ブツ撮り・テーブルフォト・低ポジションスナップで実用範囲に収まる。&lt;/p&gt;
&lt;p&gt;脚先はゴム接地で、フローリングや机の天板でも滑りにくい。屋外の砂利・コンクリ段差では脚の接地角を調整しないと滑るが、これは PIXI EVO というよりミニ三脚全般の制約。&lt;/p&gt;
&lt;h3 id=&quot;2-段開脚--4-段伸縮--届く高さの幅が広い&quot;&gt;2 段開脚 + 4 段伸縮 — 「届く高さの幅」が広い&lt;/h3&gt;
&lt;p&gt;一般的なミニ三脚は脚が固定長で、結果として「机に置く高さ」一択になる。PIXI EVO はロー開脚で床ベタ置き、通常開脚 + 全伸ばしで目線下くらいまで稼げる。&lt;/p&gt;
&lt;p&gt;机上のブツ撮りでは「ロー開脚で被写体目線」、屋外のスナップでは「通常開脚 + 全伸ばしで腰位置」と、シーン別に高さを切り替えやすい。1 本のミニ三脚で 2 〜 3 シーンを賄うなら、この自由度が効く。&lt;/p&gt;
&lt;h3 id=&quot;畳むと棒状--バッグの隙間に収まる&quot;&gt;畳むと棒状 — バッグの隙間に収まる&lt;/h3&gt;
&lt;p&gt;脚の裏側が斜めカットで、3 本が密着して棒状にまとまる。カメラバッグの中仕切りの隙間や、デイパックのサイドポケットに刺せるサイズ感。フルサイズ機向けの可搬性としては優秀で、「重いけれど持ち運べる」のラインに収まっている。&lt;/p&gt;
&lt;h3 id=&quot;自撮り棒の代用にもなる&quot;&gt;自撮り棒の代用にもなる&lt;/h3&gt;
&lt;p&gt;脚を畳んだまま柄として握れば、簡易自撮り棒として成立する。脚を全伸ばしすれば、畳んだ状態でもさらに数十センチ稼げる。専用自撮り棒の長さ・軽さには負けるが、三脚と自撮り棒の両方を持ち歩く必要がなくなるのは旅行用途で効いた。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: 270g（公称）はミニ三脚としては重め / 自由雲台のロックが硬く 1° 単位の微調整が苦手 / 雲台の 1/4 ネジは天面むき出しで、外したクランプ類が直接擦れる。&lt;/p&gt;
&lt;h3 id=&quot;自重-270g公称--ポーチ運用ではあるなと感じる重さ&quot;&gt;自重 270g（公称） — ポーチ運用では「あるな」と感じる重さ&lt;/h3&gt;
&lt;p&gt;「フルサイズ機まで載る剛性」と表裏一体だが、ミニ三脚としては重い部類。サコッシュや小型ポーチに入れると、出かける前に「これ持って行くか？」と一瞬迷う重さ感がある。&lt;/p&gt;
&lt;p&gt;携行性を最優先するなら、フレキシブル脚で 50g 台の &lt;a href=&quot;https://aulvem.com/blog/2021-03-03-jobygorillapod-jb01542-pkk/&quot;&gt;JOBY ゴリラポッド JB01542-PKK&lt;/a&gt; のような選択肢のほうが軽い。ただし耐荷重と剛性は別物なので、「軽さを取るか、載せられる重量を取るか」のトレードオフ。&lt;/p&gt;
&lt;h3 id=&quot;自由雲台のロックが硬く微調整が苦手&quot;&gt;自由雲台のロックが硬く、微調整が苦手&lt;/h3&gt;
&lt;p&gt;雲台ロックを担う赤いロゴ部はそこそこ固い。落下防止の意味では正しい設計だが、構図を 1° ずつ追い込みたいときに、ロックを緩めた瞬間に意図より大きく動いてしまうことがある。&lt;/p&gt;
&lt;p&gt;動画で水平を厳密に出したい / パン操作で微妙な速度コントロールをしたい用途では、3way 雲台か、ロック圧を独立で持つ専用ボール雲台のほうが向く。スチル中心ならほぼ気にならない範囲。&lt;/p&gt;
&lt;h3 id=&quot;雲台天面の-14-ネジがむき出し&quot;&gt;雲台天面の 1/4 ネジがむき出し&lt;/h3&gt;
&lt;p&gt;クイックリリースは非搭載で、雲台天面に 1/4 インチネジがそのまま立っている。カメラを外して放置すると、ネジ天面とバッグ内壁が擦れる。布製インナーケースに入れるなど、ひと手間で回避できるが、設計上のクセではある。&lt;/p&gt;
&lt;h2 id=&quot;比較&quot;&gt;比較&lt;/h2&gt;
&lt;p&gt;短い答え: 「フレキシブル脚」と比べると重いが剛性で勝つ。「PIXI 無印」と比べると重く高いが耐荷重と高さの幅で勝つ。「一般的な伸縮式ミニ三脚」と比べると脚は短いが、自由雲台込みのコンパクトさで勝つ。&lt;/p&gt;
&lt;h3 id=&quot;vs-joby-gorillapod-jb01542-pkk--軽さ変則設置-vs-剛性耐荷重&quot;&gt;vs JOBY GorillaPod JB01542-PKK — 「軽さ・変則設置」 vs 「剛性・耐荷重」&lt;/h3&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;Manfrotto PIXI EVO&lt;/th&gt;&lt;th&gt;JOBY GorillaPod JB01542-PKK&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;想定機材&lt;/td&gt;&lt;td&gt;スマホ〜フルサイズ標準ズーム&lt;/td&gt;&lt;td&gt;スマホ・Web カメラ・GoPro&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;自重&lt;/td&gt;&lt;td&gt;約 270g（公称）&lt;/td&gt;&lt;td&gt;約 52g（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;最大耐荷重&lt;/td&gt;&lt;td&gt;約 2.5kg（公称）&lt;/td&gt;&lt;td&gt;約 325g（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;設置場所&lt;/td&gt;&lt;td&gt;平らな床・机&lt;/td&gt;&lt;td&gt;床・柱・手すり・棚縁&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;高さ調整&lt;/td&gt;&lt;td&gt;2 段開脚 + 4 段伸縮&lt;/td&gt;&lt;td&gt;脚の曲げ方で都度調整&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;自由雲台ロック&lt;/td&gt;&lt;td&gt;あり（硬め）&lt;/td&gt;&lt;td&gt;あり（硬め・無段階）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;PIXI EVO は &lt;strong&gt;平らな場所で重い機材を据える&lt;/strong&gt;、GorillaPod は &lt;strong&gt;平らでない場所に軽い機材を引っかける&lt;/strong&gt;。用途が真逆なので、選択は「重さを載せたいか / 変な場所に置きたいか」で決まる。詳しい比較は &lt;a href=&quot;https://aulvem.com/blog/2021-03-03-jobygorillapod-jb01542-pkk/&quot;&gt;JOBY ゴリラポッド JB01542-PKK のレビュー&lt;/a&gt; を参照。&lt;/p&gt;
&lt;h3 id=&quot;vs-pixi-無印--軽さ安さ-vs-耐荷重高さの幅&quot;&gt;vs PIXI 無印 — 「軽さ・安さ」 vs 「耐荷重・高さの幅」&lt;/h3&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;PIXI EVO&lt;/th&gt;&lt;th&gt;PIXI 無印&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;想定機材&lt;/td&gt;&lt;td&gt;フルサイズ標準ズームまで&lt;/td&gt;&lt;td&gt;ミラーレス標準ズームまで&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;最大耐荷重&lt;/td&gt;&lt;td&gt;約 2.5kg（公称）&lt;/td&gt;&lt;td&gt;約 1kg（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;脚伸縮&lt;/td&gt;&lt;td&gt;4 段&lt;/td&gt;&lt;td&gt;なし（固定長）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;開脚モード&lt;/td&gt;&lt;td&gt;2 段&lt;/td&gt;&lt;td&gt;1 段&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯&lt;/td&gt;&lt;td&gt;中位&lt;/td&gt;&lt;td&gt;入門&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;スマホ・コンデジ・ミラーレス（標準ズーム）までで完結する用途なら PIXI 無印で十分。「いつかフルサイズ機を載せるかも」「ロー〜ハイで高さを切り替えたい」と感じるなら EVO の差額は意味がある。&lt;/p&gt;
&lt;h3 id=&quot;vs-一般的な伸縮式ミニ三脚&quot;&gt;vs 一般的な伸縮式ミニ三脚&lt;/h3&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;PIXI EVO&lt;/th&gt;&lt;th&gt;一般的な伸縮式ミニ三脚&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;高さ最大&lt;/td&gt;&lt;td&gt;脚 4 段伸縮 + 通常開脚&lt;/td&gt;&lt;td&gt;エレベーター式で高めまで&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;雲台&lt;/td&gt;&lt;td&gt;自由雲台一体型&lt;/td&gt;&lt;td&gt;3way 雲台モデルもあり&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;微調整&lt;/td&gt;&lt;td&gt;苦手（ロックが硬め）&lt;/td&gt;&lt;td&gt;3way なら得意&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;収納時&lt;/td&gt;&lt;td&gt;脚密着で棒状&lt;/td&gt;&lt;td&gt;雲台が出っ張りがち&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;携行性&lt;/td&gt;&lt;td&gt;バッグの隙間に入る&lt;/td&gt;&lt;td&gt;サイズ次第&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;「収納時の細さ」と「机上〜目線下の使い分け」を取るなら PIXI EVO、「高さ最大値」と「動画の微調整」を取るなら別ジャンル。同じ「ミニ三脚」でも狙う場面が違う。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for Manfrotto PIXI EVO（MTPIXIEVO-BK）&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2022-02-16-manfrotto-pixi-evo/2022-02-16-Manfrotto-Pixi-Evo.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;Manfrotto PIXI EVO（MTPIXIEVO-BK）&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0152X16XO/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View Manfrotto PIXI EVO（MTPIXIEVO-BK） on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. PIXI（無印）と PIXI EVO はどちらを選ぶべきですか？&lt;/strong&gt;
A. 載せる機材で決めるのが素直。スマホ・コンデジ・ミラーレス（標準ズーム）までなら PIXI 無印で十分。フルサイズ + 標準〜中望遠まで視野に入れるなら、耐荷重 2.5kg（公称）と 4 段伸縮を持つ PIXI EVO のほうが安心。逆に「机に置いてスマホで Vlog を撮るだけ」なら EVO の重さと厚みはオーバースペック。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. GoPro やスマホ用の自撮り棒として使えますか？&lt;/strong&gt;
A. 脚を閉じた状態で柄として握れば、簡易自撮り棒として成立する。最大伸長まで脚を伸ばせば、閉じたままでもさらに数十センチ稼げる。ただし専用自撮り棒のような長さ・軽さは出ないので、あくまで「三脚兼用」と割り切る用途向け。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. アルカスイス互換クランプを載せられますか？&lt;/strong&gt;
A. 雲台天面は 1/4 インチネジ。市販のアルカスイス互換クランプを直接ネジ留めできるが、クランプ幅が雲台の倍ほどあるので頭でっかちになりやすい。アルカ運用が前提なら、雲台ごと交換せず最小サイズのクランプを選ぶのが無難。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. フルサイズ一眼を載せて屋外で使えますか？&lt;/strong&gt;
A. 公称耐荷重 2.5kgの範囲なら載るが、地面の状態と風の影響を強く受ける。砂利の上やコンクリの段差では脚先ゴムが滑りにくくなるよう接地角を調整し、長秒露光時は重心を下げる（センターポールを伸ばさない・ストラップを巻きつけない）。風が強い日はバッグを下に置いて重しにするのが安全。&lt;/p&gt;
&lt;h2 id=&quot;総評--1-本だけミニ三脚を持つなら有力候補&quot;&gt;総評 — 「1 本だけミニ三脚を持つ」なら有力候補&lt;/h2&gt;
&lt;p&gt;PIXI EVO は、ミニ三脚に「耐荷重・剛性・高さの幅・畳んだときの細さ」を同時に求めたときに残る数少ない選択肢。スマホ専用の最軽量機よりは重く、フレキシブル脚の変則設置はできないが、その代わり「フルサイズ機を載せて室内・屋外を一台で賄う」という現実的な使い方が成立する。&lt;/p&gt;
&lt;p&gt;2 年以上の常用で、雲台のロックが緩む / 脚伸縮ロックが滑る、といった経年劣化は出ていない。多少重くても、長く使える方をひとつ持っておきたい人向きの三脚。&lt;/p&gt;
&lt;p&gt;逆に「とにかく軽く」「柱に巻きつけたい」用途なら、別ジャンルを当てたほうが満足度が高い。用途が「平らな場所に少し重めの機材を据える」と決まっているなら、後悔の少ない 1 本。&lt;/p&gt;
</content:encoded><category>reviews</category><category>cameraEquipment</category></item><item><title>Minecraft 用 PC の推奨スペック — Bedrock は中堅 GPU、MOD/Java は中級 GPU + 16GB が現実解</title><link>https://aulvem.com/ja/blog/2021-04-27-minecraft-pc/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-27-minecraft-pc/</guid><description>Minecraft を PC で快適に遊ぶための推奨スペック。Bedrock（統合版）と Java 版で要求が異なり、MOD/影 MOD を入れるなら中級 GPU と 16GB RAM が現実的なライン。</description><pubDate>Tue, 27 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。執筆当時（2021年）は GTX 1650 / Core i5 世代を前提に書いていた。Bedrock Edition が主流になり、Java はむしろ MOD 用に残る位置づけになった現状を踏まえて全面改稿。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Minecraft を PC で遊びたい。けれどゲーミング PC は種類が多くて、どこまでスペックを盛ればいいのか分かりにくい。&lt;/p&gt;
&lt;p&gt;この記事は、Minecraft 用 PC を「Bedrock のバニラを軽く遊ぶ」「Java で MOD を大量に入れる」「配信もする」の 3 つの用途に分けて、必要なスペックの目安をまとめる。2026 年時点での現実的なラインで見ていく。&lt;/p&gt;
&lt;h2 id=&quot;結論--bedrock-なら-810-万円java--mod-なら-15-万円が現実ライン&quot;&gt;結論 — Bedrock なら 8〜10 万円、Java + MOD なら 15 万円〜が現実ライン&lt;/h2&gt;
&lt;p&gt;短い答え: Minecraft はゲームとしては軽い部類だが、Java 版に MOD を積み始めた瞬間に要求スペックが跳ね上がる。&lt;/p&gt;
&lt;p&gt;2026 年時点での現実的な目安はこの 3 段階。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Bedrock のバニラ中心&lt;/strong&gt;: GTX 1650 / RTX 3050 クラス + 16GB RAM + Ryzen 5 / Core i5。完成品で 8〜10 万円台&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Java + MOD / 影 MOD&lt;/strong&gt;: RTX 4060 クラス + 32GB RAM + Ryzen 5 / Core i5（6 コア以上）。15〜20 万円台&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;配信もする&lt;/strong&gt;: RTX 4060 Ti 以上 + 32GB RAM + Ryzen 7 / Core i7（8 コア以上）。20 万円〜&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に、激安ノート（CPU 内蔵 GPU のみ）はバニラでも描画距離を切り詰める前提になる。長く遊ぶなら最初から独立 GPU 搭載機を選んだほうが結果的に安い。&lt;/p&gt;
&lt;h2 id=&quot;推奨スペックの読み方--公式値は動く最低ライン&quot;&gt;推奨スペックの読み方 — 公式値は「動く最低ライン」&lt;/h2&gt;
&lt;p&gt;短い答え: &lt;a href=&quot;https://help.minecraft.net/hc/en-us/articles/360035131371-Minecraft-Java-Edition-system-requirements-&quot; rel=&quot;noopener noreferrer sponsored nofollow&quot; target=&quot;_blank&quot;&gt;Mojang 公式の推奨スペック&lt;/a&gt;は「ストレスなく動く下限」であって、快適に遊べる線ではない。&lt;/p&gt;
&lt;p&gt;公式の Java 版推奨スペック（2026 年時点）はおおむね以下のとおり。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;CPU: Intel Core i5-4690 3.5GHz / AMD A10-7800 APU 3.5GHz 相当&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;RAM: 8GB&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;GPU: GeForce 700 シリーズ / Radeon Rx 200 シリーズ（OpenGL 4.5 対応）&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;ストレージ: SSD 4GB&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;OS: Windows 10 以降 / macOS 10.12 以降 / 主要 Linux&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ここで読み取るべきは「Java 版は CPU と RAM を見ている」という点。GPU は控えめでも動く一方、レッドストーン回路や大規模建築の処理は CPU 単一スレッド性能に依存する設計のため、CPU を削るとワールド読み込みやチャンク生成で詰まりやすい。&lt;/p&gt;
&lt;h3 id=&quot;bedrock-版は要求が下がるただし-rtx-on-は別&quot;&gt;Bedrock 版は要求が下がる、ただし RTX ON は別&lt;/h3&gt;
&lt;p&gt;Bedrock Edition は DirectX 12 ベースで最適化されており、同じグラフィック設定なら Java より軽い。一方で公式の RTX レイトレーシング機能は GPU 側にレイトレ対応コアが必要で、実質 RTX 20 シリーズ以降が前提になる。&lt;/p&gt;
&lt;h3 id=&quot;java-版はmod-を入れた瞬間が本番&quot;&gt;Java 版は「MOD を入れた瞬間」が本番&lt;/h3&gt;
&lt;p&gt;Java 版は MOD 前提で見たほうがいい。MOD/影 MOD を入れると、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;影 MOD（OptiFine, Iris + Sodium 系）&lt;/strong&gt;: GPU 負荷が一気に増える&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;大型 MOD パック（200〜400 MOD）&lt;/strong&gt;: RAM 使用量が 8GB → 12〜16GB に増加&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;大規模工業 MOD / 自動化&lt;/strong&gt;: CPU シングル性能と RAM 帯域が効く&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;公式の推奨スペック表は「バニラ Java」の値なので、MOD を入れる前提なら 1〜2 ランク上を見ておく。&lt;/p&gt;
&lt;h2 id=&quot;modjava-vs-統合版--2026-年の選び方&quot;&gt;MOD/Java vs 統合版 — 2026 年の選び方&lt;/h2&gt;
&lt;p&gt;短い答え: 2026 年時点では Bedrock がデフォルト、Java は MOD と影 MOD のために残す位置づけ。&lt;/p&gt;
&lt;p&gt;PC ストアで Minecraft を買うと Java &amp;amp; Bedrock Edition がセットで付いてくるのが主流なので、「どちらを買うか」ではなく「主にどちらで遊ぶか」で考える。&lt;/p&gt;
&lt;h3 id=&quot;bedrock-を選ぶ理由&quot;&gt;Bedrock を選ぶ理由&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;クロスプレイ&lt;/strong&gt;: Switch / PS / Xbox / スマホとマルチプレイできる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;公式 RTX 対応&lt;/strong&gt;: レイトレーシング標準&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;マーケットプレイス&lt;/strong&gt;: 公式ストアからスキン・ワールド購入&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;java-を選ぶ理由&quot;&gt;Java を選ぶ理由&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MOD エコシステム&lt;/strong&gt;: Forge / Fabric を中心に MOD 文化が成熟&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;影 MOD（シェーダー）&lt;/strong&gt;: Iris + Sodium で軽量化しつつ見栄えを上げられる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;過去ワールドの互換性&lt;/strong&gt;: 2010 年代の Java ワールドはそのまま読める&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bedrock の RTX とは別物として、Java の影 MOD は表現力が高い反面 GPU を強く要求する。同じ「Minecraft をきれいに遊びたい」でも、Bedrock RTX と Java + 影 MOD で必要なスペックの方向が違うのは押さえておきたい。&lt;/p&gt;
&lt;h2 id=&quot;比較表--用途別の推奨スペック&quot;&gt;比較表 — 用途別の推奨スペック&lt;/h2&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;軽量プレイ（Bedrock バニラ）&lt;/th&gt;&lt;th&gt;MOD 多用（Java + 影 MOD）&lt;/th&gt;&lt;th&gt;配信もする&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;CPU&lt;/td&gt;&lt;td&gt;Ryzen 5 / Core i5（6 コア）&lt;/td&gt;&lt;td&gt;Ryzen 5 / Core i5（6 コア以上）&lt;/td&gt;&lt;td&gt;Ryzen 7 / Core i7（8 コア以上）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GPU&lt;/td&gt;&lt;td&gt;GTX 1650 / RTX 3050&lt;/td&gt;&lt;td&gt;RTX 4060&lt;/td&gt;&lt;td&gt;RTX 4060 Ti 以上&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;RAM&lt;/td&gt;&lt;td&gt;16GB&lt;/td&gt;&lt;td&gt;32GB&lt;/td&gt;&lt;td&gt;32GB&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ストレージ&lt;/td&gt;&lt;td&gt;SSD 500GB&lt;/td&gt;&lt;td&gt;SSD 1TB（MOD パック・ワールド領域）&lt;/td&gt;&lt;td&gt;SSD 1TB + 録画用に追加 SSD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;描画距離の目安&lt;/td&gt;&lt;td&gt;16〜24 チャンク / 60fps&lt;/td&gt;&lt;td&gt;24〜32 チャンク / 60fps&lt;/td&gt;&lt;td&gt;16〜24 チャンク + 配信 60fps&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯（完成品）&lt;/td&gt;&lt;td&gt;8〜10 万円&lt;/td&gt;&lt;td&gt;15〜20 万円&lt;/td&gt;&lt;td&gt;20〜30 万円&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;数値は 2026 年時点のミドルレンジ構成を基準にした目安。&lt;/p&gt;
&lt;h3 id=&quot;cpu-はコア数より単一スレッド性能&quot;&gt;CPU は「コア数より単一スレッド性能」&lt;/h3&gt;
&lt;p&gt;Java 版のチャンク生成・レッドストーン演算は単一スレッドに寄る性質があるため、コア数を増やすより 1 コアあたりの性能（クロック × IPC）を見たほうが体感に効く。配信を載せる場合だけ、エンコード用にコア数が効いてくる。&lt;/p&gt;
&lt;h3 id=&quot;gpu-はbedrock-rtx-か--java-影-mod-かで分かれる&quot;&gt;GPU は「Bedrock RTX か / Java 影 MOD か」で分かれる&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bedrock RTX&lt;/strong&gt;: RTX 20 系以降が前提、4060 で十分快適&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Java + Sodium + 影 MOD&lt;/strong&gt;: 中設定なら RTX 3060、高設定なら RTX 4060 以上が目安&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「とりあえず RTX 4060」を選んでおけば、Bedrock RTX も Java の重めの影 MOD も両方こなせる。&lt;/p&gt;
&lt;h3 id=&quot;ram-は-mod-パックの規模で決める&quot;&gt;RAM は MOD パックの規模で決める&lt;/h3&gt;
&lt;p&gt;バニラのみなら 16GB で足りる。MOD パックを入れるなら 32GB を選ぶ。Java の起動引数（&lt;code&gt;-Xmx&lt;/code&gt;）でゲームに割り当てる RAM を指定するため、システム側に残す分も含めて余裕を持たせる設計になる。&lt;/p&gt;
&lt;h3 id=&quot;ストレージは-ssd-一択容量はワールドと-mod-で決まる&quot;&gt;ストレージは SSD 一択、容量はワールドと MOD で決まる&lt;/h3&gt;
&lt;p&gt;OS と Minecraft 本体だけなら 100GB もあれば足りるが、MOD パックと大規模ワールド（数 GB / ワールド）を残していくとあっという間に埋まる。SSD 1TB を最初から積むほうが後悔が少ない。&lt;/p&gt;
&lt;h2 id=&quot;おすすめ構成&quot;&gt;おすすめ構成&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は 2026 年時点の目安。BTO 各社のラインナップは月単位で更新されるため、購入前に最新世代の同等構成を確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;bedrock-中心ならゲーミングノートでも十分&quot;&gt;Bedrock 中心ならゲーミングノートでも十分&lt;/h3&gt;
&lt;p&gt;軽量プレイ用途なら、RTX 3050 Ti / 4050 を積んだ 15.6 インチクラスのゲーミングノートで十分。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;画面&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;15.6 インチ FHD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;CPU&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;Core i5 / Ryzen 5（最新世代）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;RAM&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;16GB&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;GPU&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;GeForce RTX 3050 Ti / 4050&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;ストレージ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;SSD 512GB&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;mod配信を見据えるならデスクトップ&quot;&gt;MOD/配信を見据えるならデスクトップ&lt;/h3&gt;
&lt;p&gt;熱・拡張性・コスパのどれを取ってもデスクトップに分がある。&lt;/p&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;CPU&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;Ryzen 5 / Core i5（最新世代、6 コア以上）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;RAM&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;32GB&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;GPU&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;GeForce RTX 4060&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;ストレージ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;SSD 1TB&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. Bedrock 版と Java 版、どちらを買えばいいですか？&lt;/strong&gt;
A. クロスプレイや RTX 公式対応を取るなら Bedrock 版、MOD や影 MOD を入れたいなら Java 版を選ぶ。2026 年時点ではどちらか片方を買えば Minecraft: Java &amp;amp; Bedrock Edition として両方が付いてくる構成が主流。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ノート PC でも MOD は動きますか？&lt;/strong&gt;
A. GeForce RTX 3050 Ti / 4050 以上を積んだゲーミングノートなら動く。ただし影 MOD + 描画距離 32 チャンクのような重い構成では発熱とサーマルスロットリングで動作が不安定になりやすいので、本気で MOD を回すならデスクトップを勧める。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. RAM は 16GB と 32GB どちらが適切？&lt;/strong&gt;
A. Bedrock + バニラ Java なら 16GB で足りる。MOD パック（200 個超）や大規模レッドストーン回路、配信ソフトを同時に動かすなら 32GB を選ぶ。後から増設できる機種かどうかも判断材料になる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 統合 GPU（CPU 内蔵グラフィックス）でも遊べますか？&lt;/strong&gt;
A. 最新の Ryzen AI 系や Intel Arc 内蔵 GPU なら Bedrock のバニラは 1080p / 中設定で動くレベルにはなった。ただし Java 版や影 MOD はフレームレートが落ちるので、長く遊ぶつもりなら最初から独立 GPU 搭載モデルを選んだほうが安い。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Minecraft 用 PC は「何で遊ぶか」で必要スペックが大きく変わる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bedrock バニラ中心 → GTX 1650 / RTX 3050 + 16GB、8〜10 万円&lt;/li&gt;
&lt;li&gt;Java + MOD / 影 MOD → RTX 4060 + 32GB、15〜20 万円&lt;/li&gt;
&lt;li&gt;配信もする → RTX 4060 Ti + 32GB + 8 コア CPU、20 万円〜&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;2026 年時点では Bedrock が主流だが、MOD と影 MOD のために Java も残っている。両方を視野に入れるなら RTX 4060 + 32GB の構成が一番つぶしが効く。&lt;/p&gt;
&lt;p&gt;モニター側の選び方は別の記事でまとめている。&lt;/p&gt;
</content:encoded><category>reviews</category><category>pc</category><category>minecraft</category></item><item><title>SONY ウォークマン NW-A105 レビュー — Type-C と Android で乗り換えた DAP の、2026 年からの再評価</title><link>https://aulvem.com/ja/blog/2021-04-24-sony-nw-a105/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-24-sony-nw-a105/</guid><description>通勤で 5 年以上使った SONY NW-A105 のレビュー。USB Type-C・microSD・Android の利点と、バッテリー持ちと動作のもっさり感という欠点を、現行 NW-A300 シリーズ・スマホ単体運用と比較する。</description><pubDate>Sat, 24 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事（初出 2021 年、購入から半年程度の使用感を書いていた）。2026 年現在、A シリーズの現行は NW-A300 シリーズ（NW-A306 国内 / A307 海外、2023 年発売）。NW-A105 自体は生産完了で、新品流通は在庫限り。骨子は今も参考になるが、購入を検討するなら現行モデルとの比較で読むこと。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;通勤と外出時の音楽再生用に、5 年以上 SONY のウォークマン &lt;strong&gt;NW-A105&lt;/strong&gt; を使ってきた。USB Type-C と microSD と Android が揃った最初期のウォークマンで、当時としては「ようやくまともな端子になった」モデル。&lt;/p&gt;
&lt;p&gt;ただし 2026 年の視点で振り返ると、長所と短所がはっきり分かれる端末でもある。この記事は、長期使用での実感と、現行の NW-A300 シリーズ・スマホ単体運用との比較を整理する。&lt;/p&gt;
&lt;h2 id=&quot;結論--type-c--microsd--android-が揃った最初期-dap新規購入なら現行-a300-を勧める&quot;&gt;結論 — Type-C / microSD / Android が揃った最初期 DAP、新規購入なら現行 A300 を勧める&lt;/h2&gt;
&lt;p&gt;短い答え: NW-A105 は「ウォークマンに Type-C と Android が載った最初の世代」として価値があったモデル。音質設定の細かさは今も通用する。ただし CPU とバッテリー周りが弱く、新品で買うなら 2026 年現行の NW-A300 シリーズを勧める。&lt;/p&gt;
&lt;p&gt;理由は、NW-A105 の弱点（もっさり動作・待機消費の大きいバッテリー）が、いずれも内部パーツに依存する性質のもので、ソフトウェアアップデートで根本解決できる類ではないから。バッテリーセーバーで運用面はマシになったが、根の問題は残る。&lt;/p&gt;
&lt;p&gt;買って良い人 / 避けたほうがいい人を整理する:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;買って良い&lt;/strong&gt;: 中古で安く手に入り、有線イヤホン + microSD + 細かい音質設定を使い倒したい人&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;避けたほうがいい&lt;/strong&gt;: 新品で買おうとしている人、スマホ単体で音楽が完結している人、バッテリー持ちを最優先する人&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観&quot;&gt;外観&lt;/h2&gt;
&lt;p&gt;短い答え: 3.6 インチタッチパネルの小さな Android 端末。右側面に物理ボタンが集中し、下部に 3.5mm イヤホンジャック・USB Type-C・microSD スロットが並ぶ。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;NW-A105 正面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;ハイレゾ対応、Android OS のウォークマン。操作はほぼタッチパネル。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;液晶&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;3.6 インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;サイズ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;55.9 × 98.9 × 11 mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;重量&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;103 g&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;OS&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;Android 9（発売時）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;端子&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;USB Type-C / 3.5mm イヤホンジャック / microSD&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;（公称）&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;NW-A105 後ろ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105-back.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;背面はマット仕上げで Walkman のロゴ。指紋は目立ちにくい。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;NW-A105 左側面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105-left.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;左側面はボタン類なし。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;NW-A105 右側面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105-right.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;右側面に操作ボタンが集中。左から「ロック / 戻る / 再生・停止 / 進む / 音量− / 音量+ / 電源」の順。鞄やポケットに入れたまま、ブラインドで再生制御できる物理ボタンの並びは DAP として正解の設計。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;NW-A105 下部の端子類&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105-rear.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;下部に 3.5mm イヤホンジャック・ストラップホール・USB Type-C・microSD スロット。3.5mm が残っているのは、有線派にとっては大きい。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;NW-A105 ライブラリー画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105-library.webp&quot; class=&quot;page-sp-img&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;ホーム画面は Android 標準に近い構成。アプリも自由に追加できる（Google Play 対応）。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: USB Type-C・microSD・Android の3拍子と、ソニー独自の音質処理機能の細かさ。&lt;/p&gt;
&lt;h3 id=&quot;usb-type-c--これだけで乗り換えた&quot;&gt;USB Type-C — これだけで乗り換えた&lt;/h3&gt;
&lt;p&gt;NW-A105 を選んだ最大の理由がここ。旧モデルまでのウォークマンは WM-PORT という独自端子で、専用ケーブルを持ち歩く必要があった。&lt;/p&gt;
&lt;p&gt;Type-C 化で、スマホ・タブレットと同じケーブルで充電できるようになる。出張先や旅行先で「ウォークマン用のケーブルを忘れた」事故が消える効果は大きい。&lt;/p&gt;
&lt;h3 id=&quot;microsd-で容量を後付けできる&quot;&gt;microSD で容量を後付けできる&lt;/h3&gt;
&lt;p&gt;本体ストレージは 16GB と控えめ。ハイレゾ音源を本体だけで管理するのは無理がある。&lt;/p&gt;
&lt;p&gt;逆に言えば、microSD 前提の設計。本体は OS とアプリだけに使い、音源は microSD に逃がす運用が現実解。最大 1TB の microSDXC まで使える（公称）ので、ライブラリ拡張に余裕がある。&lt;/p&gt;
&lt;h3 id=&quot;音質設定の引き出しが多い&quot;&gt;音質設定の引き出しが多い&lt;/h3&gt;
&lt;p&gt;ソニー製 DAP の本領が出る部分。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;NW-A105 イコライザー画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105-eq.webp&quot; class=&quot;page-sp-img&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;イコライザーは 10 バンド近くで細かく調整できる。ジャンル別プリセットも用意されている。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;NW-A105 ノイズキャンセリング設定&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105-nc.webp&quot; class=&quot;page-sp-img&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;ノイズキャンセリングは対応イヤホン（IER-NW500N など）と組み合わせる前提。通勤電車での騒音はかなり抑えられる。&lt;/p&gt;
&lt;p&gt;音質処理機能の主要なものは以下:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DSEE HX&lt;/strong&gt;: 圧縮音源をハイレゾ相当にアップサンプリング&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DC フェーズリニアライザー&lt;/strong&gt;: 位相特性を補正してアナログアンプ風の音にする&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ダイナミックノーマライザー&lt;/strong&gt;: 楽曲間の音量差を均す&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;バイナルプロセッサー&lt;/strong&gt;: アナログレコード風の音に加工&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ClearAudio+&lt;/strong&gt;: ソニー推奨の自動最適化プリセット&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「全部 ON」が必ずしも良くない、というのは使い込んでわかる。曲ジャンルごとに DSEE HX のオン・オフを切り替える、といった調整がハマると音は化ける。&lt;/p&gt;
&lt;h3 id=&quot;android-なので拡張が効く&quot;&gt;Android なので拡張が効く&lt;/h3&gt;
&lt;p&gt;Android 9 ベース。Google Play 経由で Spotify / Apple Music / YouTube Music が入る。ローカル音源と並行して、ストリーミングも 1 台で完結できる。&lt;/p&gt;
&lt;p&gt;Bluetooth でスマホからプレイリストや音源を流すような連携もそのまま使える。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: バッテリー持ちと CPU 性能。どちらもパーツ依存でソフトでは解決しない。&lt;/p&gt;
&lt;h3 id=&quot;バッテリー消費が大きい&quot;&gt;バッテリー消費が大きい&lt;/h3&gt;
&lt;p&gt;最大の不満点。&lt;/p&gt;
&lt;p&gt;電源を入れているだけで目に見えてバッテリーが減る。再生していない待機状態でも、1 日放置で残量が大きく削れる。&lt;/p&gt;
&lt;p&gt;公称ではハイレゾ再生で約 26 時間あるが、実使用では「使っていない時間の消費」が体感を下げる。後日のアップデートでバッテリーセーバー（一定時間後の自動電源オフ）が追加され、運用面はかなり改善した。それでも根本解決ではない。&lt;/p&gt;
&lt;p&gt;通勤・通学用途で「家か職場で毎日充電できる」前提なら問題ないが、丸 2 日持ち歩く出張にはやや厳しい。&lt;/p&gt;
&lt;h3 id=&quot;全体的にもっさり&quot;&gt;全体的にもっさり&lt;/h3&gt;
&lt;p&gt;CPU 性能が控えめで、アプリ起動・画面遷移・大きなライブラリのスクロールが引っかかる場面がある。&lt;/p&gt;
&lt;p&gt;スマホと違って常時いじる端末ではないので致命的ではないが、Spotify アプリを開いて検索バーで日本語入力、のような操作はストレスを感じる。&lt;/p&gt;
&lt;h3 id=&quot;ソフトウェアサポートが終わっている&quot;&gt;ソフトウェアサポートが終わっている&lt;/h3&gt;
&lt;p&gt;2026 年現在、NW-A105 の Android 9 はメジャーアップデートが止まっており、セキュリティ的にもメインのスマホ用途には向かない。&lt;/p&gt;
&lt;p&gt;音楽プレーヤー専用機として割り切る前提なら問題ないが、ストリーミングアプリの将来的な互換性は保証されない。&lt;/p&gt;
&lt;h2 id=&quot;比較--nw-a105-vs-nw-a300-シリーズ-vs-スマホ単体&quot;&gt;比較 — NW-A105 vs NW-A300 シリーズ vs スマホ単体&lt;/h2&gt;
&lt;p&gt;短い答え: 新品で買うなら NW-A300、コストと割り切りで選ぶなら NW-A105 中古、すべて完結したいならスマホ単体。&lt;/p&gt;

































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;観点&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;NW-A105（2019）&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;NW-A300 シリーズ（2023〜）&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スマホ単体運用&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;OS&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;Android 9&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;Android 12 ベース&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;各機種最新&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;CPU 体感&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;もっさり&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;改善&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;機種次第で快適&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;バッテリー（公称ハイレゾ）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;約 26 時間&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;約 36 時間（公称）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;音楽再生に占有される&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;本体ストレージ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;16GB&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;32GB（公称）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;機種次第&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;microSD&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;あり（最大 1TB）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;あり&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;なし（多くの機種）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;端子&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;USB Type-C / 3.5mm&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;USB Type-C / 3.5mm&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;Type-C のみが主流&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;ノイキャン（独自イヤホン）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;対応&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;対応&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;非対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;DSEE HX 等の音質処理&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;あり&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;あり（DSEE Ultimate に進化）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;なし&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;価格（2026 想定）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;中古中心&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;新品 4 万円台後半〜&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;スマホ代に含まれる&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;判断軸はシンプル:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;音質処理と有線環境にこだわる + スマホのバッテリーを音楽で消費したくない&lt;/strong&gt; → NW-A300 を勧める&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;同じ要件を最小コストで満たしたい&lt;/strong&gt; → NW-A105 中古&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ストリーミング中心 / 完全ワイヤレスイヤホン / 1 台で完結したい&lt;/strong&gt; → スマホ単体で十分。DAP は要らない&lt;/li&gt;
&lt;/ul&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for ソニー ウォークマン NW-A105（ブラック）&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-24-sony-nw-a105/2021-04-24-sony-nw-a105.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;ソニー ウォークマン NW-A105（ブラック）&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07YYFN8HH/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View ソニー ウォークマン NW-A105（ブラック） on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. NW-A105 を 2026 年に新品で買う価値はありますか？&lt;/strong&gt;
A. 新規購入なら現行の NW-A300 シリーズ（NW-A306 / A307）を勧める。NW-A105 は 2019 年発売で、CPU 性能とバッテリー持ちが弱い。中古で安く手に入り、microSD と Type-C と Android が揃った DAP が欲しいだけなら選択肢にはなる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. スマホで音楽を聴くのと比べて、NW-A105 を持つ意味はありますか？&lt;/strong&gt;
A. ノイズキャンセリングや DSEE HX などソニー独自の音質処理を使いたい人、スマホのバッテリーを音楽再生で消費したくない人にはまだ意味がある。プレイリストはストリーミングで完結し、有線イヤホンも使わないなら、スマホ単体で十分。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. バッテリーはどのくらい持ちますか？&lt;/strong&gt;
A. 公称はハイレゾ再生で約 26 時間。実測では電源を入れた状態の待機消費が大きく、再生しなくても 1 日放置すると目に見えて減る。後日アップデートで自動電源オフのバッテリーセーバーが追加されている。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. microSD は何 GB まで対応しますか？&lt;/strong&gt;
A. 最大 1TB の microSDXC まで対応（公称）。本体ストレージは 16GB と少ないので、ハイレゾ音源を入れるなら microSD 前提で運用する設計。&lt;/p&gt;
&lt;h2 id=&quot;総評--dap-に-android-が乗った最初の世代を体験する端末&quot;&gt;総評 — 「DAP に Android が乗った最初の世代」を体験する端末&lt;/h2&gt;
&lt;p&gt;NW-A105 は「ようやくウォークマンが Type-C になった」と「ウォークマンが Android で動く」が同時に来た世代の端末。当時の購入動機としては十分で、5 年以上使ってもライブラリの母艦として困らなかった。&lt;/p&gt;
&lt;p&gt;ただし新規購入を勧めるかと言うと、勧めない。CPU とバッテリーは内部パーツの設計に依存していて、後継世代で素直に改善している。中古で安く済ませる、もしくは現行の NW-A300 を選ぶ、のどちらかが現実解。&lt;/p&gt;
&lt;p&gt;ストリーミングと完全ワイヤレスイヤホンでスマホ単体で完結できているなら、そもそも DAP を増やす必要はない。「有線イヤホン + 細かい音質処理 + microSD」のどれかを譲れない人だけが、DAP を持つ価値がある。&lt;/p&gt;</content:encoded><category>reviews</category><category>gadget</category><category>sony</category><category>walkman</category><category>dap</category></item><item><title>HDD と SSD の違い — 2026 年は SSD が基本、HDD は大容量アーカイブ用に</title><link>https://aulvem.com/ja/blog/2021-04-21-hdd-ssd-difference/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-21-hdd-ssd-difference/</guid><description>HDD と SSD の違いを速度・容量単価・寿命・静音性・衝撃耐性の観点で比較。2026 年は OS / アプリ / ゲームは SSD が標準、HDD は数 TB 級のアーカイブ用途に役割が絞られた。</description><pubDate>Wed, 21 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。執筆当時（2021年）は「OS は SSD、データは HDD」のハイブリッドが現実解だったが、2026 年は SSD 価格が下がり、ノート PC・自作 PC ともに &lt;strong&gt;SSD がデフォルト&lt;/strong&gt;になった。HDD はバックアップや動画素材など、数 TB 級のアーカイブ用途に役割が絞られている。骨子（仕組みの違い）は今も有効。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;PC の動作が重い、買い替え時に SSD と HDD どちらを選べばいいか分からない — このあたりで足が止まる人は多い。仕組みの違いを一度押さえると、判断が早くなる。&lt;/p&gt;
&lt;p&gt;この記事は、HDD と SSD の違いを速度・容量単価・寿命・静音性・衝撃耐性の観点で並べ、2026 年時点での選び方をまとめる。&lt;/p&gt;
&lt;h2 id=&quot;結論--システム用は-ssd大容量保管は-hdd&quot;&gt;結論 — システム用は SSD、大容量保管は HDD&lt;/h2&gt;
&lt;p&gt;短い答え: 2026 年に新しく買う・組むなら、OS とアプリを置くシステムドライブは &lt;strong&gt;SSD（できれば NVMe）一択&lt;/strong&gt;。HDD は1台あたり数 TB を安く確保したいときの補助ストレージとして使う。&lt;/p&gt;
&lt;p&gt;理由は、SSD 価格がこの5年で大きく下がり、1TB クラスが普及帯に収まったため。一方で HDD は1TB あたりの単価では今も SSD より安く、4TB / 8TB といった大容量帯ではコスト優位が残っている。&lt;/p&gt;
&lt;p&gt;例: ノート PC を1台買い替えるなら SSD 単体構成で十分。自作 PC で動画素材や写真の RAW を貯めるなら、システム = SSD 1TB + データ = HDD 4TB の2台構成が現実的。&lt;/p&gt;
&lt;p&gt;注意点: 古い HDD だけの PC を使い続けるより、SSD への換装が体感的に一番効く投資。買い替えより安く済むことも多い。&lt;/p&gt;
&lt;h2 id=&quot;hdd-と-ssd-の主な違い&quot;&gt;HDD と SSD の主な違い&lt;/h2&gt;
&lt;p&gt;短い答え: 6つの観点で並べると、SSD は「速い・静か・衝撃に強い」、HDD は「安く大容量・実績が長い」と整理できる。&lt;/p&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;HDD&lt;/th&gt;&lt;th&gt;SSD&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;読み書き速度&lt;/td&gt;&lt;td&gt;遅い（順次100〜200MB/s 程度）&lt;/td&gt;&lt;td&gt;速い（SATA で〜550MB/s、NVMe で数千 MB/s）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;容量単価（GB あたり）&lt;/td&gt;&lt;td&gt;安い（4TB 以上で優位）&lt;/td&gt;&lt;td&gt;高め（ただし1TB 帯は普及価格に低下）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;寿命&lt;/td&gt;&lt;td&gt;機械部品の摩耗で故障&lt;/td&gt;&lt;td&gt;書き込み回数の上限あり、衝撃には強い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;静音性&lt;/td&gt;&lt;td&gt;回転音・シーク音あり&lt;/td&gt;&lt;td&gt;無音&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;衝撃耐性&lt;/td&gt;&lt;td&gt;弱い（動作中の落下で故障しやすい）&lt;/td&gt;&lt;td&gt;強い（可動部なし）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格目安（1TB）&lt;/td&gt;&lt;td&gt;数千円〜&lt;/td&gt;&lt;td&gt;1万円前後〜（NVMe は上振れ）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;理由は、両者は内部構造そのものが違うから。HDD は物理的に回転する円盤に磁気で記録するのに対し、SSD は半導体メモリに電気的に記録する。この差が全観点の優劣を決めている。&lt;/p&gt;
&lt;p&gt;注意点: 表は一般傾向。NVMe SSD と SATA SSD では速度がさらに数倍開く。詳しくは FAQ の項を参照。&lt;/p&gt;
&lt;h2 id=&quot;hdd-とは--回転する円盤に磁気で記録する装置&quot;&gt;HDD とは — 回転する円盤に磁気で記録する装置&lt;/h2&gt;
&lt;p&gt;短い答え: HDD（Hard Disk Drive）は、回転する金属円盤にデータを磁気で書き込む / 読み出す記憶装置。可動部を持つ機械装置で、CD プレイヤーに近い構造。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;HDD の内部構造（円盤と磁気ヘッド）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-21-hdd-ssd-difference/2021-04-21-hdd.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;理由は、円盤を高速回転させ、その上で磁気ヘッドを移動させて該当位置にアクセスするため、物理的な動きが介在する。これが「読み書きが遅い」「動作音が出る」「衝撃に弱い」の根本原因になっている。&lt;/p&gt;
&lt;p&gt;例: 一般的な 3.5 インチ HDD は 5400rpm または 7200rpm で回転する。シーク音（ヘッドが動く音）と回転音が常に出ているため、静音 PC を組むなら扱いが難しい。&lt;/p&gt;
&lt;p&gt;注意点: HDD のメリットは大容量の安さ。4TB / 8TB / 16TB といった帯では2026 年でも SSD より単価が低い。バックアップ・動画素材保管・NAS 用途では現役。&lt;/p&gt;
&lt;h2 id=&quot;ssd-とは--半導体メモリに電気で記録する装置&quot;&gt;SSD とは — 半導体メモリに電気で記録する装置&lt;/h2&gt;
&lt;p&gt;短い答え: SSD（Solid State Drive）は、フラッシュメモリ（半導体）にデータを電気的に書き込む / 読み出す記憶装置。可動部が一切なく、USB メモリの大型版に近い。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;SSD の内部基板（半導体チップが並ぶ）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-21-hdd-ssd-difference/2021-04-21-memory.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;理由は、半導体に電子の有無で 0 / 1 を記録する仕組みのため、物理的な移動が発生しない。これが「高速」「無音」「衝撃に強い」「軽い」の根本理由になっている。&lt;/p&gt;
&lt;p&gt;例: 同じ OS の起動でも、HDD 機が30〜60秒かかるところ、SSD 機は10秒前後で立ち上がる。古い PC を SSD 化したときの体感差が大きいのはこのため。&lt;/p&gt;
&lt;p&gt;注意点: SSD は書き込み回数に上限がある（TBW = Total Bytes Written で表記）。ただし普通のオフィス / ゲーム / 開発用途で寿命を使い切ることは稀。日常用途では機械的に壊れる HDD のほうが先に故障する事例が多い。&lt;/p&gt;
&lt;h2 id=&quot;ssd-と-hdd-の使い分け--2026-年版&quot;&gt;SSD と HDD の使い分け — 2026 年版&lt;/h2&gt;
&lt;p&gt;短い答え: システムドライブ（OS / アプリ）は SSD、データ倉庫（写真・動画・バックアップ）は HDD。これが2026 年の標準解。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;SSD と HDD の使い分けのイメージ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-21-hdd-ssd-difference/2021-04-21-ssd.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;理由は、起動とアプリ立ち上げの速さは SSD が明確に効き、データ保管はアクセス頻度が低いので速度差が体感されにくいから。容量単価で勝る HDD を「冷たいデータ」用に回すのが合理的。&lt;/p&gt;
&lt;h3 id=&quot;ノート-pc--一般用途--ssd-単体でよい&quot;&gt;ノート PC / 一般用途 — SSD 単体でよい&lt;/h3&gt;
&lt;p&gt;ノート PC や一般的なデスクトップなら、SSD 1台（512GB〜1TB）で完結する構成が主流。HDD を併用しない分、軽量・静音・低消費電力のメリットが取れる。&lt;/p&gt;
&lt;p&gt;ゲームや動画編集をするなら 1TB か 2TB を目安にする。&lt;/p&gt;
&lt;h3 id=&quot;自作-pc--クリエイター--ssd--hdd-の2台構成&quot;&gt;自作 PC / クリエイター — SSD + HDD の2台構成&lt;/h3&gt;
&lt;p&gt;写真の RAW、動画素材、ゲームの大量ライブラリを抱える人は SSD（システム）+ HDD（データ）の2台構成が今でも合理的。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;システム = NVMe SSD 1TB&lt;/li&gt;
&lt;li&gt;データ = HDD 4TB 以上&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;古い-hdd-機の延命--ssd-換装が最も効く&quot;&gt;古い HDD 機の延命 — SSD 換装が最も効く&lt;/h3&gt;
&lt;p&gt;「PC が重い」と感じる原因の多くは HDD の遅さ。メモリ増設より、HDD → SSD の換装のほうが体感差は大きい。買い替え予算が出せない場合の現実的な選択肢。&lt;/p&gt;
&lt;p&gt;換装には SATA SSD と、データ移行用の USB 接続ケースを使うのが定番。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. SSD と HDD を併用するハイブリッド構成は今でも有効ですか？&lt;/strong&gt;
A. 自作 PC やデスクトップで大容量を必要とするなら有効。システムは SSD、データ・バックアップは HDD という分担は合理的なまま。一方でノート PC は物理的に SSD 1台のスロットしかないモデルが多く、ハイブリッド構成は組みづらい。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. NVMe SSD と SATA SSD はどちらを選ぶべきですか？&lt;/strong&gt;
A. マザーボード / ノート PC が M.2 スロット（NVMe 対応）に対応していれば NVMe が第一候補。順次読み書きで SATA SSD の数倍速い。ただし OS の起動やオフィス用途では体感差は小さく、大量のファイルコピーや動画編集で効いてくる。コストを抑えるなら SATA SSD でも実用上困らない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. SSD の寿命はどのくらいですか？&lt;/strong&gt;
A. メーカー公称の TBW（総書き込み量）は1TB クラスで 300〜600TBW 程度。日常用途（1日 50GB 書き込みでも年間 18TB）なら10年以上の計算になり、寿命より先に容量不足や規格陳腐化で買い替えるのが普通。HDD のように突然壊れるリスクは低めだが、ゼロではない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. HDD から SSD へのデータ移行はどうやりますか？&lt;/strong&gt;
A. 主に2通り。(1) クローンソフト（メーカー提供のものが多い）で OS ごと丸ごとコピー、(2) OS を新規インストールし、データは外付けケース経由でコピー。クローンが手軽だが、Windows のライセンス / ドライブレターまわりでつまずくこともある。OS を入れ直す手間が惜しくないなら (2) のほうが結果的にきれい。バックアップを取ったうえで作業すること。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;2026 年の標準は「システムは SSD、大容量データは HDD」。ノート PC や一般用途なら SSD 単体で完結する。&lt;/p&gt;
&lt;p&gt;HDD の役割は、5年前と比べて明確に縮んだ。バックアップ・動画素材・写真 RAW など、容量を安く確保したい用途に絞られている。&lt;/p&gt;
&lt;p&gt;古い HDD 機の体感を上げたいなら、メモリ増設より SSD 換装のほうが先。買い替えに踏み切る前に検討する価値がある。&lt;/p&gt;
</content:encoded><category>reviews</category><category>PCPeripherals</category></item><item><title>映像端子の違いまとめ — 迷ったら HDMI、4K 高リフレッシュなら DisplayPort</title><link>https://aulvem.com/ja/blog/2021-04-17-video-terminal/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-17-video-terminal/</guid><description>PC とモニターをつなぐ映像端子は HDMI / DisplayPort / USB-C / DVI / VGA の5種類。普及度と性能のバランスで HDMI が無難、ゲーミング用途は DisplayPort、ノート PC はケーブル1本にまとめられる USB-C Alt Mode が便利。</description><pubDate>Sat, 17 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（端子ごとの位置づけ）は今も有効だが、HDMI 2.1 / DisplayPort 2.1 / USB4 など最新世代のスペックは最新の公式表記を確認してほしい。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;PC とモニターを買ったはいいけど、ケーブルの端子が合わない。HDMI、DisplayPort、USB-C、DVI、VGA — どれを挿せばいいのか。&lt;/p&gt;
&lt;p&gt;この記事は、映像端子5種類の違いと選び方を、用途別に整理する。読み終える頃には、自分の環境で買うべきケーブルが1本に絞れているはず。&lt;/p&gt;
&lt;h2 id=&quot;結論--迷ったら-hdmi4k-高リフレッシュなら-displayport&quot;&gt;結論 — 迷ったら HDMI、4K 高リフレッシュなら DisplayPort&lt;/h2&gt;
&lt;p&gt;短い答え: 普及度と性能のバランスで HDMI が無難。テレビ・ゲーム機・大半のモニターに付いているので、ケーブル1本で大体つながる。&lt;/p&gt;
&lt;p&gt;ただし用途次第で最適解が変わる:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;4K / 高リフレッシュレート / 複数モニター&lt;/strong&gt;: DisplayPort&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ノート PC を1本のケーブルで映像 + 給電したい&lt;/strong&gt;: USB-C（DisplayPort Alt Mode）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;オフィス用途で映ればいい&lt;/strong&gt;: 余っているケーブルでよい（HDMI でも DVI でも可）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に &lt;strong&gt;DVI と VGA を新規購入で選ぶ理由はほぼない&lt;/strong&gt;。古い機器を延命する場面だけ検討する。&lt;/p&gt;
&lt;h2 id=&quot;映像端子は実用上5種類に絞られる&quot;&gt;映像端子は実用上5種類に絞られる&lt;/h2&gt;
&lt;p&gt;短い答え: PC 周辺で今も使われる映像端子は HDMI / DisplayPort / USB-C（Alt Mode） / DVI / VGA の5種類。Thunderbolt は物理的に USB-C と同じコネクタなので、ここでは USB-C 側に含める。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;端子別の立ち位置&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HDMI&lt;/strong&gt; — 家電・PC ともに最普及。迷ったらこれ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DisplayPort&lt;/strong&gt; — PC とグラボ寄り。高解像度 / 高リフレッシュに強い&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;USB-C Alt Mode&lt;/strong&gt; — ノート PC で映像 + 給電 + データを1本にまとめる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DVI&lt;/strong&gt; — デジタル映像の先駆け。新規購入はほぼ不要&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VGA&lt;/strong&gt; — アナログ。古い機器の延命用&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;hdmi--テレビゲーム機pc-で共通の標準端子&quot;&gt;HDMI — テレビ・ゲーム機・PC で共通の標準端子&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;HDMI 端子の形状（台形に近いシルエット）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-17-video-terminal/2021-04-17-hdmi.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;HDMI とは&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;映像と音声を1本で伝送するデジタル端子。2002 年に策定されて以降、テレビ・モニター・ゲーム機・PC まで横断的に採用されている、いま最も普及度の高い映像端子。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;短い答え: 普及度が高く、対応機器が幅広い（家電・PC・ゲーム機を横断）ので、迷ったときの第一候補。&lt;/p&gt;
&lt;p&gt;理由は2つある。1つは音声を同じケーブルで送れること（最大8ch、Dolby / DTS 対応）。S/PDIF など音声専用端子と違ってサラウンド規格をそのまま通せる。もう1つは家電側（テレビ・レコーダー・ゲーム機）が HDMI 前提で設計されていること。&lt;/p&gt;
&lt;h3 id=&quot;バージョン差は4k-で何-hz-出るかが分かれ目&quot;&gt;バージョン差は「4K で何 Hz 出るか」が分かれ目&lt;/h3&gt;
&lt;p&gt;HDMI はバージョンによって最大解像度・リフレッシュレートが変わる。&lt;/p&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;Ver&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;1.2&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;1.4&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;2.0a&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;2.1&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;最大解像度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;FHD&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;4K&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;4K&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;10K&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;HDR&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;×&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;×&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;○&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;○&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;FHD 時の最大 Hz&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;60 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;120 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;240 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;240 Hz&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;4K 時の最大 Hz&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;30 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;60 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;120 Hz 以上&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;FHD で使う分にはバージョンを気にしなくていい。4K で 60Hz 以上を狙うなら &lt;strong&gt;Ver.2.0a 以上&lt;/strong&gt;、ゲーミング用途で 4K 120Hz / 8K を視野に入れるなら &lt;strong&gt;Ver.2.1&lt;/strong&gt; を選ぶ。&lt;/p&gt;
&lt;p&gt;ケーブル単体の選び方は別記事にまとめている。&lt;/p&gt;
&lt;p&gt;→ &lt;a href=&quot;https://aulvem.com/blog/2021-03-23-hdmi/&quot;&gt;HDMI ケーブルの選び方 3点（長さ・端子・規格）&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;displayport--pcグラボ高リフレッシュ用途の標準&quot;&gt;DisplayPort — PC・グラボ・高リフレッシュ用途の標準&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;DisplayPort 端子の形状（片側だけ切り欠きのある長方形）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-17-video-terminal/2021-04-17-displayport.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;DisplayPort とは&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;PC 業界の標準化団体 VESA が策定した映像端子。グラフィックボードや一部の Mac、ゲーミングモニターに搭載される。高解像度・高リフレッシュレートで HDMI より先行することが多い。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;短い答え: 4K 以上の高解像度、120Hz / 240Hz の高リフレッシュレート、複数モニターを1本でつなぐ MST (Multi-Stream Transport) — このどれかを狙うなら DisplayPort。&lt;/p&gt;
&lt;p&gt;理由は規格設計の出発点が PC 用ディスプレイだから。HDMI が家電寄りなのに対し、DisplayPort は最初から高解像度 / 高フレームレート / 帯域効率を優先している。同世代で比べると DisplayPort のほうが先行している場面が多い。&lt;/p&gt;
&lt;h3 id=&quot;バージョン差は-hdmi-より緩やか&quot;&gt;バージョン差は HDMI より緩やか&lt;/h3&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;Ver&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;1.2&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;1.4&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;2.0&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;最大解像度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;4K / 5K&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;8K&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;16K&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;HDR&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;×&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;○&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;○&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;FHD 時の最大 Hz&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;240 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;240 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;240 Hz 以上&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;4K 時の最大 Hz&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;60 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;120 Hz&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;240 Hz 以上&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;旧バージョンでも 4K 60Hz には対応するので、HDMI ほどバージョンで迷わなくていい。&lt;/p&gt;
&lt;h3 id=&quot;注意点-電源オフでウィンドウ配置がリセットされる&quot;&gt;注意点: 電源オフでウィンドウ配置がリセットされる&lt;/h3&gt;
&lt;p&gt;DisplayPort には PC ユーザー側に1つクセがある。&lt;strong&gt;モニター側の電源を切ると、PC が「モニターが外れた」と判定する&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;結果として、デュアルモニター環境ではウィンドウやアイコンの配置がプライマリ側に寄せられる。電源を入れ直しても元には戻らない。&lt;/p&gt;
&lt;p&gt;対策は「モニターの電源を切らずスリープに任せる」「DisplayPort の代わりに HDMI を使う」「DDC/CI を無効化する設定を探す」など。気にする人は購入前に把握しておく価値がある。&lt;/p&gt;
&lt;h2 id=&quot;usb-cdisplayport-alt-mode-ノート-pc-を1本にまとめる&quot;&gt;USB-C（DisplayPort Alt Mode）— ノート PC を1本にまとめる&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;USB Type-C 端子の形状（角丸の長方形、上下リバーシブル）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-17-video-terminal/2021-04-17-usb-typec.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;USB-C Alt Mode とは&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;USB Type-C コネクタの一部ピンを使って DisplayPort 信号を流す仕組み（DisplayPort Alternate Mode）。映像 + データ + 給電（USB Power Delivery）を1本のケーブルでまとめられる。Thunderbolt も物理的にこの形。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;短い答え: ノート PC をモニター1台で完結させたい人に向く。映像・周辺機器・給電（最大100W 程度）を1ケーブルでまかなえる。&lt;/p&gt;
&lt;p&gt;理由はケーブル本数の削減効果が大きいから。デスクに戻って USB-C を1本挿せば、外部モニター・キーボード・マウス・充電が同時に復活する構成が組める。&lt;/p&gt;
&lt;h3 id=&quot;注意点-端末側の対応次第で出せる性能が変わる&quot;&gt;注意点: 端末側の対応次第で出せる性能が変わる&lt;/h3&gt;
&lt;p&gt;USB-C は物理コネクタの名前であって、映像を流せるかは「DisplayPort Alt Mode」または「Thunderbolt」に端末が対応しているかで決まる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ノート PC 側の USB-C ポートが映像出力対応か（仕様表で「映像出力」「DisplayPort Alt Mode」「Thunderbolt 3/4」を確認）&lt;/li&gt;
&lt;li&gt;ケーブルが映像対応か（充電専用ケーブルでは映らない）&lt;/li&gt;
&lt;li&gt;モニター側に USB-C 入力があるか（無ければ USB-C → HDMI / DisplayPort のアダプタが必要）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この3点が揃わないと映像は出ない。スペック表を読む手間は HDMI より多い。&lt;/p&gt;
&lt;h2 id=&quot;dvi--デジタル映像の先駆け新規購入は不要&quot;&gt;DVI — デジタル映像の先駆け、新規購入は不要&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;DVI 端子の形状（複数ピンが並ぶ長方形）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-17-video-terminal/2021-04-17-dvi.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;DVI とは&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1999 年に登場したデジタル映像端子。VGA の後継として PC 業界に普及した。Windows 系デスクトップ PC やビジネスモニターでは今も搭載例があるが、ノート PC やテレビではほぼ採用されない。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;短い答え: DVI は FHD（1920×1080）程度なら問題なく映る。すでに DVI 機器が手元にある場合の延命用と割り切る。&lt;/p&gt;
&lt;p&gt;理由は端子サイズが大きく、最新世代の機器では HDMI / DisplayPort に置き換わったから。4K には基本対応せず（DVI Dual-Link で一部対応）、新規の選択肢としては積み残しになる。&lt;/p&gt;
&lt;p&gt;会社のデスクトップ PC をモニターにつなぐ、古いグラボから映像を出す、といった場面では現役で使える。新しく機器をそろえるなら、HDMI か DisplayPort を選んで DVI は避ける。&lt;/p&gt;
&lt;h2 id=&quot;vgad-sub-アナログ古い機器の延命用&quot;&gt;VGA（D-Sub）— アナログ、古い機器の延命用&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;VGA / D-Sub 端子の形状（青いコネクタとピン）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-17-video-terminal/2021-04-17-dsub.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;VGA（D-Sub 15ピン）とは&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1987 年に IBM が策定したアナログ映像端子。2000 年代までは PC とモニターの標準だったが、デジタル化（DVI → HDMI / DisplayPort）の流れで採用は減った。プロジェクターや古い会議室設備で今も見かける。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;短い答え: アナログ伝送なので解像度・画質ともに現代水準に届かない。新規の選択肢から外していい。&lt;/p&gt;
&lt;p&gt;理由は信号がアナログのため、ケーブル長や品質で画質が劣化すること。解像度も実用上 FHD が上限（公称はもっと出るが、滲みが目立つ）。&lt;/p&gt;
&lt;p&gt;それでも会議室のプロジェクターが VGA のみ、というケースは現役で残っている。ノート PC 側が USB-C しかない場合は、&lt;strong&gt;USB-C → VGA のアダプタ&lt;/strong&gt;を1つ持っておくと出張時に困らない。&lt;/p&gt;
&lt;h2 id=&quot;比較表--5種類を解像度--用途別ベスト--普及度で並べる&quot;&gt;比較表 — 5種類を解像度 / 用途別ベスト / 普及度で並べる&lt;/h2&gt;









































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;端子&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;最大解像度（最新世代）&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;用途別ベスト&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;普及度&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;HDMI&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;10K（Ver.2.1）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;テレビ・ゲーム機・一般 PC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;最高&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;DisplayPort&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;16K（Ver.2.0）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;ゲーミング・高解像度・マルチモニター&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;中（PC 中心）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;USB-C Alt Mode&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;4K〜8K（端末依存）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;ノート PC + 外部モニター1台構成&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;増加中&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;DVI&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;FHD / 一部 4K&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;既存 PC の流用&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;減少&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;VGA&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;FHD（実用上）&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;古い機器・古いプロジェクター&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;減少&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;（数値は各規格の最新版公称値。実効性能はケーブル品質と機器側実装に左右される）&lt;/p&gt;
&lt;h2 id=&quot;選び方--3つの問いに順番に答える&quot;&gt;選び方 — 3つの問いに順番に答える&lt;/h2&gt;
&lt;p&gt;短い答え: 「テレビ / ゲーム機にもつなぐか」→「ゲーミングや 4K 高リフレッシュか」→「ノート PC で1本にまとめたいか」の順に当てはめる。&lt;/p&gt;
&lt;h3 id=&quot;1-テレビゲーム機にもつなぐ--hdmi&quot;&gt;1. テレビ・ゲーム機にもつなぐ → HDMI&lt;/h3&gt;
&lt;p&gt;家電側の端子は HDMI 一択に近い。PS5 / Switch / Apple TV / レコーダー、これらと共有するなら HDMI で揃えるとケーブル類が共通化できる。&lt;/p&gt;
&lt;h3 id=&quot;2-ゲーミング4k-120hzマルチモニター--displayport&quot;&gt;2. ゲーミング・4K 120Hz・マルチモニター → DisplayPort&lt;/h3&gt;
&lt;p&gt;PC ゲーマーで 144Hz / 240Hz を狙う、4K 120Hz でゲームしたい、3枚以上のモニターを1本のケーブルで分配したい（MST） — このどれかなら DisplayPort。&lt;/p&gt;
&lt;h3 id=&quot;3-ノート-pc-を1本のケーブルでドッキングしたい--usb-c&quot;&gt;3. ノート PC を1本のケーブルでドッキングしたい → USB-C&lt;/h3&gt;
&lt;p&gt;帰宅後に USB-C を1本挿すだけで、外部モニター・キーボード・マウス・充電が復活する構成を組みたいならこれ。USB-C → HDMI / DisplayPort 変換ケーブルを使えば、モニター側が USB-C 非対応でも対応できる。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. HDMI と DisplayPort、画質に差はありますか？&lt;/strong&gt;
A. 同等のバージョン同士・同じ解像度・同じリフレッシュレートで使う限り、目で見て分かる画質差はほぼない。差が出るのは「対応する最大解像度 / 最大 Hz」が上回るかどうか。普段使いの FHD / 4K 60Hz 域では実質互角。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. USB-C で映像を出したいのに映りません。何を確認すればいいですか？&lt;/strong&gt;
A. 3点ある。（1）ノート PC 側のスペック表で「映像出力対応」「DisplayPort Alt Mode」「Thunderbolt」のいずれかが書かれているか。（2）使っているケーブルが充電専用ではなく映像対応か（USB-C のロゴと帯域表記を見る）。（3）モニター側が USB-C 入力対応か、または USB-C → HDMI / DisplayPort 変換アダプタを挟んでいるか。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. DVI ケーブルを HDMI に変換しても 4K は映りますか？&lt;/strong&gt;
A. 基本的には映らない。DVI Single-Link の帯域は FHD 60Hz 程度が上限で、4K に必要な帯域に届かない。4K を狙うなら、PC 側 / モニター側ともに HDMI か DisplayPort のネイティブ端子を使う。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ゲーミング用途で迷っています。HDMI 2.1 と DisplayPort 1.4、どちらを選べばいいですか？&lt;/strong&gt;
A. グラボとモニターの両方が HDMI 2.1 に対応していれば、4K 120Hz / 可変リフレッシュレート (VRR) で揃えやすい。古めのモニター・グラボ構成なら DisplayPort 1.4 のほうが選択肢が広い。手元のグラボ側ポートとモニター側ポートを先に確認してから決めると失敗しにくい。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;映像端子5種類の使い分けは、用途で1本に絞れる。&lt;/p&gt;
&lt;p&gt;迷ったら &lt;strong&gt;HDMI&lt;/strong&gt;。テレビ・ゲーム機を含めた家電一式と互換性があるので、ケーブル1本で大体動く。&lt;/p&gt;
&lt;p&gt;PC ゲーミングや 4K 高リフレッシュレートを本気で使うなら &lt;strong&gt;DisplayPort&lt;/strong&gt;。ノート PC をデスクで1本のケーブルにまとめたいなら &lt;strong&gt;USB-C Alt Mode&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DVI と VGA は手元の機器を活かすためだけの選択肢&lt;/strong&gt;として扱う。新規購入で積極的に選ぶ場面はほぼない。&lt;/p&gt;
&lt;p&gt;ケーブル単体の選び方（長さ・端子形状・規格バージョン）は、HDMI を例に別記事でまとめている。&lt;/p&gt;
&lt;p&gt;→ &lt;a href=&quot;https://aulvem.com/blog/2021-03-23-hdmi/&quot;&gt;HDMI ケーブルの選び方 3点（長さ・端子・規格）&lt;/a&gt;&lt;/p&gt;
</content:encoded><category>reviews</category><category>PCPeripherals</category></item><item><title>Peak Design キャプチャー V3 ＆ プロパッド レビュー — 一眼カメラを腰ベルトに固定するクリップ</title><link>https://aulvem.com/ja/blog/2021-04-16-peakdesign-capture-propad/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-16-peakdesign-capture-propad/</guid><description>Peak Design キャプチャー V3（CC-BK-3）とプロパッド（PP-2）を数年使ったレビュー。腰ベルトに一眼カメラを固定して即座に構えられるのが最大の強み。ロックは堅牢でガタつきも少ないが、プレートとの公差で金属音が出ることがある。</description><pubDate>Fri, 16 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。Peak Design キャプチャーは 2026 時点でも現行ラインで、後継世代（V3 以降のマイナーチェンジ）が継続販売されている。レビュー観点（ベルト運用の快適さ・ロックの堅牢性・プレート公差由来の金属音）は今も参考になる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;一眼カメラを持って出かけると、毎回バッグから出し入れする手間で撮影機会を逃す。リュックの中で寝かせていると、出した瞬間にはもう被写体がいなくなっている、というやつ。&lt;/p&gt;
&lt;p&gt;これを物理的に解決するために、&lt;strong&gt;Peak Design キャプチャー V3（CC-BK-3）&lt;/strong&gt; と &lt;strong&gt;プロパッド（PP-2）&lt;/strong&gt; を導入して数年使った。腰ベルトやリュックのショルダーに一眼カメラを直付けして、片手で外してそのまま構える運用に変わる。&lt;/p&gt;
&lt;h2 id=&quot;結論--一眼を頻繁に構える人なら投資価値あり&quot;&gt;結論 — 一眼を頻繁に構える人なら投資価値あり&lt;/h2&gt;
&lt;p&gt;短い答え: ストラップ運用から脱却したいなら買い。ロックは堅牢で、走っても外れないし、数年使ってもボタン破損などのトラブルがない。&lt;/p&gt;
&lt;p&gt;理由は、「カメラを構えるまでのアクション数」が劇的に減るから。バッグを下ろす → ファスナーを開ける → カメラを出す、の3アクションが、ボタンを押して持ち上げる、の1アクションになる。子連れ・動物園・運動会のように被写体が止まってくれない場面では効果が大きい。&lt;/p&gt;
&lt;p&gt;ただし以下に該当する人は注意:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;手ぶら派 + たまにしか撮らない人&lt;/strong&gt;: 数千円のストラップで足りる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;フルサイズ + 大三元レンズ常用者&lt;/strong&gt;: 腰に重量級をぶら下げると歩行で揺れる。ショルダー側で逃がす運用が現実的&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;静音性が必要な場面で撮る人&lt;/strong&gt;: プレートとクランプの公差で金属音が出ることがある（後述）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観と質感&quot;&gt;外観と質感&lt;/h2&gt;
&lt;p&gt;短い答え: アルミ削り出しの黒一色、エッジは丸めてあるが手触りは硬質。質感はカメラアクセサリの中でも上位。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャー V3 正面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-front.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;正面はシンプル。中央にロック解除ボタン、左右にクランプを締め込むネジ（六角穴）が見える。&lt;/p&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;キャプチャー V3&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;大きさ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;約 13 × 13 × 3 cm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;重量&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;約 144 g（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;素材&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;アルミ削り出し&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;対応ストラップ厚&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;〜6.4mm 程度（公称）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャー V3 裏面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-rear.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;裏面はフラット。ベルトに直接当たる側で、引っかかりがない設計。腰運用だとこの面が肌・腰骨に近づくのでクッション（プロパッド）が要る。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャー V3 側面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-left.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;側面から見ると奥行きは薄い。腰に付けてもジャケットの裾で隠れる程度には抑えてある。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャー V3 下から見たプレート受け部&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-back.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;下面は凹型のプレート受け。ここにカメラ側に付けたクイックリリースプレートを台形状にスライドさせて差し込む。&lt;/p&gt;
&lt;h3 id=&quot;プロパッド-pp-2&quot;&gt;プロパッド PP-2&lt;/h3&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design プロパッド PP-2 単体&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-ProPad.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;腰ベルトに付けるときの補助パッド。クッションで荷重を分散させる。&lt;/p&gt;





















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;プロパッド PP-2&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;大きさ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;約 17 × 9 × 3 cm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;重量&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;約 36 g（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;素材&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;クッション材 + ベルクロ&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;クッションは厚すぎず、ベルトを締めれば腰に密着する。汗をかいてもベルクロが緩むことはなかった。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: 構えるまでの動作が最短化される / ロックが本気で堅牢 / 数年使っても壊れない。&lt;/p&gt;
&lt;h3 id=&quot;カメラを構えるまでが片手1アクション&quot;&gt;カメラを構えるまでが片手1アクション&lt;/h3&gt;
&lt;p&gt;最大の利点。&lt;strong&gt;ロック解除ボタンを押しながらカメラを上に引き抜く、で完了&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;バッグから出すと違って、構えると同時にもう撮れる体勢になっている。子どもや動物が予測不能に動く場面では、この 2〜3秒の差で撮れる・撮れないが分かれる。旅行・運動会・動物園・登山あたりで一番効果が大きかった。&lt;/p&gt;
&lt;h3 id=&quot;ロック解除は意図的にしないと外れない&quot;&gt;ロック解除は意図的にしないと外れない&lt;/h3&gt;
&lt;p&gt;片手1アクションだと逆に「歩いてるうちに勝手に外れないのか」が心配になる。これは数年使った範囲で&lt;strong&gt;一度も発生しなかった&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;ロック機構は、解除ボタンを押し込まないと垂直方向にも抜けない構造。走ってもジャンプしても、ボタンに触れなければカメラは固定されたまま。意図的にボタンを押せばスッと抜ける、というオン/オフが明確で、誤解除のストレスがない。&lt;/p&gt;
&lt;h3 id=&quot;ボタンが本体に組み込まれていて紛失リスクがゼロ&quot;&gt;ボタンが本体に組み込まれていて紛失リスクがゼロ&lt;/h3&gt;
&lt;p&gt;以前使っていた別ブランドの汎用カメラクリップは、ロック解除ボタンが取り外せる構造で、半年で紛失して使えなくなった。&lt;/p&gt;
&lt;p&gt;Peak Design 側はボタンが本体に&lt;strong&gt;完全に組み込まれて&lt;/strong&gt;いて、外そうとしても外れない。修理性は犠牲になるが、フィールドでの紛失リスクがゼロなのは現場運用で効いてくる。&lt;/p&gt;
&lt;h3 id=&quot;アルカスイス互換プレートも使える&quot;&gt;アルカスイス互換プレートも使える&lt;/h3&gt;
&lt;p&gt;純正のスタンダードプレートはアルカスイス互換の溝形状をしているので、手持ちの三脚側がアルカスイス互換クランプなら、プレートを付け替えずに三脚に直載せできる。&lt;/p&gt;
&lt;p&gt;別ブランドのアルカスイス互換プレートを使い回すこともできた。新規でセットを組むなら純正で揃えるのが無難だが、既に三脚周りでアルカ系を統一している人は移行コストが低い。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: 互換プレート次第で金属音が出る / 重い機材だと腰運用は揺れる / 純正プレートはそれ単体だと底面が滑る。&lt;/p&gt;
&lt;h3 id=&quot;互換プレートとの公差でカタカタ音が鳴る&quot;&gt;互換プレートとの公差でカタカタ音が鳴る&lt;/h3&gt;
&lt;p&gt;プレートを差し込む凹部は、互換プレートを広く受けるためか公差に余裕がある設計。&lt;/p&gt;
&lt;p&gt;純正の Peak Design プレートだとほぼガタつかないが、汎用のアルカスイス互換プレートだと&lt;strong&gt;カチャカチャと金属音&lt;/strong&gt;が出ることがある。歩く速度が上がるほど顕著。野鳥撮影など静音性が要る現場では純正プレートに揃えるか、薄手のテフロンテープで遊びを埋める運用が必要になる。&lt;/p&gt;
&lt;h3 id=&quot;重量級レンズだと腰運用は揺れる&quot;&gt;重量級レンズだと腰運用は揺れる&lt;/h3&gt;
&lt;p&gt;フルサイズ + 70-200mm f/2.8 クラスを腰に付けると、歩行のたびに上下に揺れる。これはキャプチャーの問題というより、腰ベルトに重量物を吊るすこと自体の物理的な限界。&lt;/p&gt;
&lt;p&gt;実運用ではこういう重量級は&lt;strong&gt;リュックのショルダーストラップ側&lt;/strong&gt;にキャプチャーを移すか、ストラップを併用したほうが体が楽。腰運用が快適なのは、ミラーレス + 単焦点・標準ズームくらいまでの組み合わせ。&lt;/p&gt;
&lt;h3 id=&quot;純正プレートの底面は三脚で滑りやすい&quot;&gt;純正プレートの底面は三脚で滑りやすい&lt;/h3&gt;
&lt;p&gt;純正プレートは底面が平らで、滑り止めのコルク・ゴムなどが付いていない（個体差ありの可能性）。&lt;/p&gt;
&lt;p&gt;カメラを直接置いたり、滑らかな雲台に載せたりすると、わずかに滑る感触がある。三脚に固定するときはクランプを締めれば問題ないが、机にポンと置くと滑り出すことがあるので注意。&lt;/p&gt;
&lt;h2 id=&quot;装着運用方法&quot;&gt;装着・運用方法&lt;/h2&gt;
&lt;p&gt;短い答え: クランプを開いてベルトに通す → 締める、で 30秒。プレートは三脚穴に付けたら基本付けっぱなしでいい。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャー V3 のクランプを緩めて開いた状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-open.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;まずクランプの左右ネジを六角で緩める。両側どちらからでも操作できる。緩めると上側のプレートが回転するので、ベルトを通すスペースを作る。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャーとプロパッドの組み立て途中&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-ProPad-midway.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;腰運用ならプロパッドを開いて、内側の取付ガイド（イラスト印刷あり）に沿ってキャプチャーを挟む。そのままプロパッドごとベルトに通す。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャー＋プロパッドの装着完了&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-ProPad-Complete.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;プロパッドを閉じて、回転させていたキャプチャー上部を元位置に戻し、ネジを締め直す。これで完了。慣れれば 30 秒。&lt;/p&gt;
&lt;h3 id=&quot;カメラプレートの取り付け&quot;&gt;カメラプレートの取り付け&lt;/h3&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design スタンダードプレートの上面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-plate.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;カメラ側はクイックリリースプレートを 1/4 インチネジで三脚穴に固定する。一度付けたら基本そのままで、外す必要はほぼない。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design プレートを横から見た台形状の底面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-plate-side.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;横から見ると底面が台形（アルカスイス互換）になっている。この凸が、キャプチャー側の凹にスライドして噛み合う構造。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャーにプレートを差し込む途中&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-ProPad-plate-midway.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;キャプチャー側面の黒い円筒ボタンを押し込みながら、プレートを上から差し込む。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャーにプレートをロックした状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-ProPad-plate.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;奥まで差し込んでボタンを放すと、ロック完了。逆にロック解除も同じボタンで一発。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Peak Design キャプチャーに GoPro を装着した例&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-ProPad-plate-Complete.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;GoPro でも 1/4 インチネジ経由のマウントがあればキャプチャーで固定できる。実運用としてはアクションカム用途より、ミラーレス・一眼レフを腰に付ける用途が中心になる。&lt;/p&gt;
&lt;h2 id=&quot;比較-キャプチャー-vs-カメラベルト速写ハーネス&quot;&gt;比較: キャプチャー vs カメラベルト・速写ハーネス&lt;/h2&gt;
&lt;p&gt;短い答え: 「身体に密着固定」のキャプチャー、「肩から提げて素早く構える」のハーネス、「シンプルに首から」のネックストラップ — それぞれ用途が違う。&lt;/p&gt;





















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;Peak Design キャプチャー V3&lt;/th&gt;&lt;th&gt;速写ハーネス（一般）&lt;/th&gt;&lt;th&gt;ネックストラップ（一般）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;取付位置&lt;/td&gt;&lt;td&gt;腰ベルト or ショルダー&lt;/td&gt;&lt;td&gt;肩〜脇下&lt;/td&gt;&lt;td&gt;首&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;構えるまでの動作&lt;/td&gt;&lt;td&gt;ボタン押す → 引き抜く&lt;/td&gt;&lt;td&gt;提げてるカメラを持ち上げる&lt;/td&gt;&lt;td&gt;同左&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;両手を完全に空けられるか&lt;/td&gt;&lt;td&gt;可能（カチッと固定）&lt;/td&gt;&lt;td&gt;提げたまま揺れる&lt;/td&gt;&lt;td&gt;提げたまま揺れる&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;走る・ジャンプの安定性&lt;/td&gt;&lt;td&gt;高い（揺れない）&lt;/td&gt;&lt;td&gt;中（ストラップ反動あり）&lt;/td&gt;&lt;td&gt;低（カメラが暴れる）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;重量級レンズの相性&lt;/td&gt;&lt;td&gt;腰運用だと揺れる&lt;/td&gt;&lt;td&gt;良い（肩で逃がす）&lt;/td&gt;&lt;td&gt;普通&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;静音性&lt;/td&gt;&lt;td&gt;プレート公差で音が出る場合あり&lt;/td&gt;&lt;td&gt;静か&lt;/td&gt;&lt;td&gt;静か&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯（執筆当時）&lt;/td&gt;&lt;td&gt;約 1.8〜2 万円&lt;/td&gt;&lt;td&gt;約 5,000〜1.5 万円&lt;/td&gt;&lt;td&gt;約 2,000〜5,000円&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;「とにかく構えるまでを速くしたい」「両手を完全に空けたい」ならキャプチャー一択。「カメラを長時間提げっぱなしで歩く」運用がメインならハーネスのほうが疲れにくい。&lt;/p&gt;
&lt;p&gt;参考までに同じカメラ周辺機器カテゴリでは、軽量機材向けに &lt;a href=&quot;https://aulvem.com/ja/blog/2021-03-03-jobygorillapod-jb01542-pkk/&quot;&gt;JOBY ゴリラポッド JB01542-PKK&lt;/a&gt; のレビューも書いている。机や柱に巻きつける固定運用なので、キャプチャー（身体に固定）とは別レイヤーの選択肢になる。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for Peak Design キャプチャー V3 (CC-BK-3)&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-16-peakdesign-capture-propad/2021-04-16-PeakDesign-Capture-ProPad.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;Peak Design キャプチャー V3 (CC-BK-3)&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07818Z4Q5/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View Peak Design キャプチャー V3 (CC-BK-3) on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6&quot; aria-label=&quot;Buy links for Peak Design プロパッド (PP-2)&quot; data-astro-cid-qoq25xnm&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;Peak Design プロパッド (PP-2)&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0781S64XJ/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View Peak Design プロパッド (PP-2) on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. どんなカメラ・リュックに対応していますか？&lt;/strong&gt;
A. クランプは厚み 6.4mm までのストラップ・ベルトに装着できる仕様（公称）。多くのカメラリュックのショルダーストラップや、ベルト幅 5cm 程度までの腰ベルトであれば取り付け可能。カメラ側は 1/4 インチネジに対応していれば、ミラーレス・一眼レフ・コンデジ問わず使える。重量級の機材（フルサイズ + 望遠など）は肩や腰への負担が大きいので、ショルダーストラップを併用したほうが現実的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ハーネスや速写ストラップとどちらがいいですか？&lt;/strong&gt;
A. 用途が違う。ハーネス・速写ストラップは「肩から提げて素早く構える」運用で、カメラは常に身体から垂れる。キャプチャーは「身体に密着固定」運用で、両手を完全に空けたいハイキングや子ども連れ撮影に強い。重さの逃がし方も違っていて、ハーネスは肩、キャプチャーは腰（プロパッド経由）に荷重を分散する。三脚撮影が多い人や、レンズ交換が頻繁な人は、両者を併用するケースも珍しくない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. プロパッドは本当に必要ですか？&lt;/strong&gt;
A. 腰ベルトに付ける運用なら実質必須。キャプチャー単体だとクランプの裏側がベルトに直接食い込み、長時間歩くと腰骨に当たって痛い。プロパッドはクッションでベルトを挟み込み、荷重を腰回りに広く分散させる構造になっている。一方、リュックのショルダーストラップに付ける運用ならクッションは不要で、キャプチャー単体で十分。「腰運用ならプロパッド込み、ショルダー運用ならキャプチャー単体」と覚えておけばいい。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 数年使って壊れませんか？&lt;/strong&gt;
A. 数年常用してロック機構が壊れたことは一度もない。クランプ部のネジ、ロックボタン、本体アルミ — どれも目立った劣化はない。比較対象として、以前使っていた別ブランドの汎用クリップはロックボタンが取り外せる構造で、半年でボタンの紛失・破損が発生した。Peak Design 側はボタンが本体に組み込まれていて取り外せないので、構造的に紛失リスクがゼロな点は大きい。&lt;/p&gt;
&lt;h2 id=&quot;総評--一眼を頻繁に出し入れする人は世界が変わる&quot;&gt;総評 — 一眼を頻繁に出し入れする人は世界が変わる&lt;/h2&gt;
&lt;p&gt;人を選ぶアクセサリだが、ハマる用途で使うと、もうストラップだけの運用には戻れない。&lt;/p&gt;
&lt;p&gt;特に &lt;strong&gt;子ども連れ・旅行・動物園・登山&lt;/strong&gt; あたりで、両手を空けたまま一眼を即座に構えたい人には強くおすすめできる。逆に、カメラを構える機会が月に数回なら、数千円のネックストラップで十分。&lt;/p&gt;
&lt;p&gt;注意点はプレート公差由来の金属音と、重量級レンズでの腰揺れの2つ。前者は純正プレートで揃えるか、後者はショルダーストラップ運用に切り替えれば回避できる。&lt;/p&gt;</content:encoded><category>reviews</category><category>cameraEquipment</category></item><item><title>Vue.js 入門 - v-if と v-for を解説</title><link>https://aulvem.com/ja/blog/2021-04-15-vue-v-if/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-15-vue-v-if/</guid><description>Vue.js を初めて使う方に向けて、条件分岐の v-if / v-else / v-else-if、表示制御の v-show、繰り返し描画の v-for の使い方、key 属性の役割、v-if と v-show の使い分け基準まで実例コードで解説します。</description><pubDate>Thu, 15 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出は Vue 2 / Options API 時代の記事です。2026 現在は Vue 3 と Composition API（&lt;code&gt;&amp;lt;script setup&amp;gt;&lt;/code&gt;）が標準ですが、v-if / v-else / v-for といったテンプレート構文の書き方は変わっていないので、骨子はそのまま参考になります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vue.js を初めて使う方に向けて、今回は条件分岐と繰り返し描画にあたるディレクティブを整理します。&lt;/p&gt;
&lt;p&gt;mustache タグと v-bind は以下の記事で解説しています。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-04-14-vue-v-bind/&quot;&gt;Vue.js 入門 - mustache タグと v-bind&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;結論&quot;&gt;結論&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;v-if&lt;/strong&gt;: 条件が真のときだけ要素を描画する。&lt;code&gt;v-else&lt;/code&gt; / &lt;code&gt;v-else-if&lt;/code&gt; も使える&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;v-show&lt;/strong&gt;: 表示・非表示を CSS の &lt;code&gt;display&lt;/code&gt; で切り替える。頻繁に出し入れする要素向き&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;v-for&lt;/strong&gt;: 配列を繰り返し描画する。&lt;code&gt;:key&lt;/code&gt; を忘れずに指定する&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;v-if&quot;&gt;v-if&lt;/h2&gt;
&lt;p&gt;v-if は&lt;strong&gt;条件式が真のときだけ要素を描画する&lt;/strong&gt;ディレクティブです。&lt;/p&gt;
&lt;p&gt;実務でもよく使います。スマートフォンと PC で出し分けたい要素、ログイン状態で切り替えたい UI などが典型例です。&lt;/p&gt;
&lt;h3 id=&quot;v-if-の基本的な使い方&quot;&gt;v-if の基本的な使い方&lt;/h3&gt;
&lt;p&gt;v-if は対象要素の属性として書き、値に評価式を渡します。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;以下のコードは HTML 内で判定し、表示非表示を処理しています。&lt;/p&gt;
&lt;p&gt;実際に実行すると &lt;strong&gt;サンプルです。&lt;/strong&gt; と表示されます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; v-if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;sampleNum === 1&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    サンプルです。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      sampleNum: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;v-else&quot;&gt;v-else&lt;/h3&gt;
&lt;p&gt;v-if は通常の if 文と同じように else も書けます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;v-else&lt;/code&gt; を後続要素の属性に書くだけです。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;実際に実行すると &lt;strong&gt;else が表示です。&lt;/strong&gt; と表示されます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; v-if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;sampleNum === 0&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      サンプルです。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; v-else&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      elseが表示です。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      sampleNum: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意点として、&lt;code&gt;v-else&lt;/code&gt; は &lt;code&gt;v-if&lt;/code&gt; の直後の要素に置く必要があります。間に別の要素が挟まると認識されません。&lt;/p&gt;
&lt;h3 id=&quot;v-else-if&quot;&gt;v-else-if&lt;/h3&gt;
&lt;p&gt;else の他に else-if も使えます。&lt;/p&gt;
&lt;p&gt;書き方は同じで、属性に &lt;code&gt;v-else-if&lt;/code&gt; を記述します。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;実際に実行すると &lt;strong&gt;sampleNum は 1 です。&lt;/strong&gt; と表示されます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; v-if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;sampleNum === 0&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      サンプルです。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; v-else-if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;sampleNum === 1&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      sampleNumは1です。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      sampleNum: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;v-show&quot;&gt;v-show&lt;/h3&gt;
&lt;p&gt;v-show は v-if と似た見た目の出し分けを行いますが、内部の仕組みが違います。&lt;/p&gt;
&lt;p&gt;書き方は v-if と同じく属性に &lt;code&gt;v-show=&amp;quot;...&amp;quot;&lt;/code&gt; と書きます。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;v-if と v-show の違いは &lt;strong&gt;DOM ごと出し入れするか、CSS の &lt;code&gt;display&lt;/code&gt; で隠すだけか&lt;/strong&gt; です。&lt;/p&gt;
&lt;p&gt;v-if は条件が真になったタイミングで要素を生成し、偽になれば DOM ごと取り除きます。v-show は最初から DOM を作っておき、&lt;code&gt;display: none&lt;/code&gt; の付け外しだけで切り替えます。そのため切り替えコストは v-show のほうが軽く、初回描画コストは v-if のほうが軽くなります。&lt;/p&gt;
&lt;p&gt;使い分けの目安は次のとおりです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;初期表示のときに条件が偽になりやすく、めったに出さない要素 → v-if&lt;/li&gt;
&lt;li&gt;表示・非表示を頻繁に切り替えるトグル UI → v-show&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なお、v-show は &lt;code&gt;display&lt;/code&gt; プロパティに依存する都合上、&lt;code&gt;&amp;lt;template&amp;gt;&lt;/code&gt; 要素や &lt;code&gt;v-else&lt;/code&gt; との組み合わせには使えません。その場合は v-if 側で書きます。&lt;/p&gt;
&lt;h2 id=&quot;v-for&quot;&gt;v-for&lt;/h2&gt;
&lt;p&gt;v-for は&lt;strong&gt;配列やオブジェクトを繰り返し描画する&lt;/strong&gt;ためのディレクティブです。&lt;/p&gt;
&lt;p&gt;JavaScript の for 文に近い感覚で、配列の要素分だけ同じテンプレートを並べてくれます。&lt;/p&gt;
&lt;p&gt;書き方は属性に &lt;code&gt;v-for=&amp;quot;(item, index) in list&amp;quot;&lt;/code&gt; のように記述します。あわせて &lt;code&gt;:key&lt;/code&gt; に一意な値を渡しておくと、Vue が差分検知を正しく行えます。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;実際に実行すると &lt;strong&gt;中身は 1, index は 0。中身は 2, index は 1。&lt;/strong&gt; と表示されます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; v-for&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;(num, i) in numList&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; :key&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;i&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      中身は{{ num }}, indexは{{ i }}。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      numList: [&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;v-if は条件で要素を生み出すか消すか、v-show は要素を残したまま CSS で隠すか。v-for は配列を繰り返すときに &lt;code&gt;:key&lt;/code&gt; を添える。テンプレート構文は Vue 3 でも変わっていないので、ここを押さえておけば Composition API に移っても同じ書き方で済みます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-04-09-vue-component/&quot;&gt;Vue.js 入門 - component の基礎&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-04-14-vue-v-bind/&quot;&gt;Vue.js 入門 - mustache タグと v-bind&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><category>build</category><category>JavaScript</category><category>Vue.js</category><category>v-if</category><category>v-for</category></item><item><title>Vue.js 入門 - エンジニアが解説する v-bind 基礎</title><link>https://aulvem.com/ja/blog/2021-04-14-vue-v-bind/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-14-vue-v-bind/</guid><description>Vue.js を初めて使う方に向けて、独自の HTML 記法である mustache タグ（{{ }}）と v-bind ディレクティブの基本的な使い方、コロン記法（:）への省略、複数属性の同時バインディングまでを実例コード付きで段階的に解説します。</description><pubDate>Wed, 14 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出から数年経過した記事です。骨子は今も参考になりますが、ツールの UI やバージョンは執筆当時のままで、最新版とは差異があります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vue.js を初めて使う方に向けて、今回は Vue.js で追加された&lt;strong&gt;独自の HTML 記法について解説します&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot;&gt;結論&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;mustache タグ&lt;/strong&gt; (&lt;code&gt;{{ }}&lt;/code&gt;) で script 内の変数を HTML に出力できる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;v-bind&lt;/strong&gt; は属性に対して動的な処理を加えるディレクティブ&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:&lt;/code&gt; プレフィックスで &lt;code&gt;v-bind:&lt;/code&gt; を省略可能&lt;/li&gt;
&lt;li&gt;配列記法を使えば複数の class / style を同時に適用できる&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;mustache-タグ&quot;&gt;mustache タグ&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;script 内で定義した変数や関数を HTML 上で使用したい時に mustache タグが使えます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;mustache タグは &lt;code&gt;{{ }}&lt;/code&gt; を HTML 上に記述すると使用できます。&lt;/p&gt;
&lt;p&gt;以下のコードは &lt;code&gt;displayText&lt;/code&gt; を script 内で定義し、HTML で呼び出しています。&lt;/p&gt;
&lt;p&gt;実際に実行すると &lt;strong&gt;文字列です。&lt;/strong&gt; と表示されます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  {{ displayText }}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      displayText: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;文字列です。&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;これが最もシンプルな記法です。&lt;/p&gt;
&lt;p&gt;上記例は文字列の変数ですが、オブジェクト型の変数でも、もちろん使用できます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  {{ displayObj }}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      displayObj: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        text: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;文字列です。&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意したいのは、上記コードを実行すると &lt;code&gt;{ text: &amp;#39;文字列です。&amp;#39; }&lt;/code&gt; と表示される点です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;文字列です。&lt;/strong&gt; と表示したい場合は、&lt;code&gt;displayObj.text&lt;/code&gt; と記述しましょう。&lt;/p&gt;
&lt;h2 id=&quot;v-bind&quot;&gt;v-bind&lt;/h2&gt;
&lt;p&gt;今回の記事で最も大事なのが v-bind です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;v-bind は属性に対して動的な処理を簡単に加えられます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;特に class は動的に変えることでページに表現を大幅に加えられるのでよく使用します。&lt;/p&gt;
&lt;h3 id=&quot;v-bind-の基本的な使い方&quot;&gt;v-bind の基本的な使い方&lt;/h3&gt;
&lt;p&gt;以下のコードは &lt;code&gt;activeClass&lt;/code&gt; というクラスを &lt;code&gt;isActive&lt;/code&gt; の真偽値で適用するかどうか判定しています。&lt;/p&gt;
&lt;p&gt;実際に実行すると文字色が白い &lt;strong&gt;文字列です。&lt;/strong&gt; が表示されます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; v-bind:class&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;{ activeClass: isActive }&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    サンプルです。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      isActive: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;css&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  .activeClass&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    color&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;#fff&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;script 内のコードで &lt;code&gt;isActive&lt;/code&gt; を定義し、HTML の &lt;code&gt;v-bind:class&lt;/code&gt; 内で判定しています。&lt;/p&gt;
&lt;p&gt;今回のコードは &lt;code&gt;isActive&lt;/code&gt; が &lt;code&gt;true&lt;/code&gt; になっているので、&lt;code&gt;false&lt;/code&gt; にすると黒文字で表示されます。&lt;/p&gt;
&lt;h3 id=&quot;v-bind-の省略記法&quot;&gt;v-bind の省略記法&lt;/h3&gt;
&lt;p&gt;v-bind は省略記法ができます。&lt;/p&gt;
&lt;p&gt;記述方法は &lt;code&gt;:&lt;/code&gt; を属性の先頭に書くと v-bind が適用されます。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;以下のコードは &lt;code&gt;activeClass&lt;/code&gt; というクラスを &lt;code&gt;isActive&lt;/code&gt; の真偽値で適用するかどうか判定しています。&lt;/p&gt;
&lt;p&gt;実際に実行すると黒文字で &lt;strong&gt;文字列です。&lt;/strong&gt; が表示されます。&lt;/p&gt;
&lt;p&gt;なぜ黒文字なのかは、属性内の判定で &lt;code&gt;!&lt;/code&gt; の not 処理をしているからです。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; :class&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;{ activeClass: !isActive }&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    サンプルです。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      isActive: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;css&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  .activeClass&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    color&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;#fff&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;複数の-v-bind&quot;&gt;複数の v-bind&lt;/h3&gt;
&lt;p&gt;属性で 2 つ以上の v-bind をしたい場合、class 内を配列で記述すると複数設定できます。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;以下のコードは &lt;code&gt;activeClass&lt;/code&gt; と &lt;code&gt;sampleClass&lt;/code&gt; の両方のクラスが適用されます。&lt;/p&gt;
&lt;p&gt;実際に実行すると白文字で &lt;strong&gt;文字列です。&lt;/strong&gt; が表示されます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; :class&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;[{ activeClass: isActive }, { sampleClass: sampleNum === 1 }]&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    サンプルです。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      isActive: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      sampleNum: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;css&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  .activeClass&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    color&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;#fff&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  .sampleClass&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    width&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;class は他と同じく通常の判定処理ができるので、比較演算子も使用できます。&lt;/p&gt;
&lt;p&gt;基本的に v-bind は全ての属性に適用できます。
しかし使用頻度が高いのは &lt;strong&gt;class、style、src&lt;/strong&gt; です。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;今回は Vue.js の mustache タグと v-bind を紹介しました。&lt;/p&gt;
&lt;p&gt;Vue.js の基礎中の基礎なのでしっかりマスターしましょう。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-04-02-vue-base/&quot;&gt;Vue.js 入門 - Vue の基礎&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-04-09-vue-component/&quot;&gt;Vue.js 入門 - コンポーネント&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><category>build</category><category>JavaScript</category><category>Vue.js</category><category>v-bind</category></item><item><title>ゼンハイザー HD 598 SR レビュー — 開放型らしい広がりと、長時間でも疲れにくい掛け心地</title><link>https://aulvem.com/ja/blog/2021-04-13-sennheiser-hd-598-sr/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-13-sennheiser-hd-598-sr/</guid><description>仕事と私用で数年使ったゼンハイザー HD 598 SR の開放型ヘッドホンを実機レビュー。広がりのある音場と長時間の掛け心地が強み、密閉性ゼロと価格帯が弱み。密閉型・ワイヤレスとの比較も。</description><pubDate>Tue, 13 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。HD 598 SR は Amazon 限定色（黒）の派生モデルで、2026 年時点では新品流通がほぼ終了している。後継系として開放型は HD 599 / HD 560S が現行ラインに残っている。レビュー観点（開放型の音場・装着感・密閉型との使い分け）は今も参考になるはずなので、骨子はそのまま、表現と構成だけ整えた。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;仕事と私用で長く使ってきた開放型ヘッドホン、ゼンハイザー HD 598 SR を改めてレビューする。&lt;/p&gt;
&lt;p&gt;開放型を選んだことが無い人にとって最初の壁は「音が漏れる・外の音も入る」という点で、ここを許容できるかどうかで評価が真っ二つに割れる。逆にそこを許せる環境（自宅の自室・在宅作業）なら、同価格帯の密閉型より素直に音楽を楽しめる選択肢になる。&lt;/p&gt;
&lt;h2 id=&quot;結論--自宅据え置きで使うなら今でも実用&quot;&gt;結論 — 自宅据え置きで使うなら今でも実用&lt;/h2&gt;
&lt;p&gt;短い答え: 開放型らしい広がりと長時間装着の楽さが強み。代わりに遮音性ゼロ・音漏れ前提で、外や家族と同じ部屋で使うには向かない。&lt;/p&gt;
&lt;p&gt;理由は3つ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;音場が広い&lt;/strong&gt;: 開放型のため、頭の中で鳴る感じが薄い。映画・配信・ライブ音源で効く&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;掛け心地が軽い&lt;/strong&gt;: 側圧が強くなく、耳をすっぽり覆うオーバーイヤー型なので長時間でも疲れにくい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;イヤーパッドが脱着可能&lt;/strong&gt;: 掃除と交換がしやすく、長期運用に向く&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;逆に以下に当てはまる人は別機種を勧める。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;通勤や外でも使いたい人&lt;/strong&gt;: 開放型は音漏れと外音流入が大きく、公共空間では使えない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;同居人と同室で深夜も聴く人&lt;/strong&gt;: 隣に座っている人にうっすら聞こえるレベルの漏れがある&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ワイヤレスが前提の人&lt;/strong&gt;: HD 598 SR は有線のみ。Bluetooth 非対応&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観と付属品&quot;&gt;外観と付属品&lt;/h2&gt;
&lt;p&gt;短い答え: 黒基調で落ち着いた印象。Amazon 限定色なので、クリーム色の通常版 HD 598 が苦手な人向け。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Sennheiser HD 598 SR 正面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-13-sennheiser-hd-598-sr/2021-04-13-Sennheiser-HD-598-SR-point.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;HD 598 SR は Amazon 限定の派生色で、通常版 HD 598 のクリーム色が黒に置き換わったモデル。インテリアや在宅ワーク環境に合わせやすいのは SR のほうだと思う。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Sennheiser HD 598 SR 右側面、ロゴ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-13-sennheiser-hd-598-sr/2021-04-13-Sennheiser-HD-598-SR-side.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;ハウジングは縦長の楕円。一般的な丸型ヘッドホンに慣れていると最初は違和感があるが、耳の形に沿うので装着すると素直に収まる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Sennheiser HD 598 SR 下部、ケーブル接続端子&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-13-sennheiser-hd-598-sr/2021-04-13-Sennheiser-HD-598-SR-rear.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;ケーブルは着脱式で、右側のハウジング底面から生える。断線時にケーブルだけ交換できるのは長期運用上ありがたい。&lt;/p&gt;
&lt;p&gt;付属品は以下。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;付属品&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3m / 6.3mm ステレオ標準プラグケーブル（据え置きアンプ・オーディオインターフェース向け）&lt;/li&gt;
&lt;li&gt;1.2m / 3.5mm ストレートプラグケーブル（PC・スマホ向け）&lt;/li&gt;
&lt;li&gt;6.3mm → 3.5mm 変換プラグ&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;img width=&quot;800&quot; alt=&quot;Sennheiser HD 598 SR 上部、左右表示&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-13-sennheiser-hd-598-sr/2021-04-13-Sennheiser-HD-598-SR-RL.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;ヘッドバンドの内側はクッション入り。L / R 表記も内側にあり、暗い部屋でも触ればわかる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Sennheiser HD 598 SR ヘッドバンドの長さ調整&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-13-sennheiser-hd-598-sr/2021-04-13-Sennheiser-HD-598-SR-adjust.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;長さ調整は無段階に近い構造で、頭が大きめの人でも問題なく収まる（画像は最大伸長時）。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: 音場の広さ、長時間の掛け心地、メンテのしやすさの3点が特に効く。&lt;/p&gt;
&lt;h3 id=&quot;開放型らしい音場と素直なバランス&quot;&gt;開放型らしい音場と素直なバランス&lt;/h3&gt;
&lt;p&gt;HD 598 SR は開放型なので、密閉型にありがちな「頭蓋骨の内側で鳴る詰まった感じ」が少ない。スピーカーで聴いているような空気感がある。&lt;/p&gt;
&lt;p&gt;低音は開放型の構造上どうしても密閉型より弱くなる傾向だが、HD 598 SR は必要量はきちんと出ている。ベースやキックが埋もれることはなく、ジャンルを問わず破綻しない。&lt;/p&gt;
&lt;p&gt;EDM やヒップホップなど低音で押し切る音楽を主食にする人には不向き。それ以外（ボーカル系・アコースティック系・映画・ゲーム）では素直に楽しめる。&lt;/p&gt;
&lt;h3 id=&quot;オーバーイヤー型で長時間でも疲れにくい&quot;&gt;オーバーイヤー型で長時間でも疲れにくい&lt;/h3&gt;
&lt;p&gt;耳を完全に覆うオーバーイヤー型 + 開放型 + 適度な側圧、という組み合わせで、装着疲労が少ない。&lt;/p&gt;
&lt;p&gt;イヤホンや密閉型と違って耳の中・耳の周りに熱がこもらないので、夏場でも比較的快適。在宅作業で半日付けっぱなしにしてもストレスが少ない。&lt;/p&gt;
&lt;h3 id=&quot;イヤーパッドが工具なしで脱着できる&quot;&gt;イヤーパッドが工具なしで脱着できる&lt;/h3&gt;
&lt;img width=&quot;800&quot; alt=&quot;Sennheiser HD 598 SR イヤーパッドを外した状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-13-sennheiser-hd-598-sr/2021-04-13-Sennheiser-HD-598-SR-disassembly.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;イヤーパッドはロゴを下にして垂直に引き抜くと外れる（カチッと音がする）。掃除・交換が容易で、長く使うほどこの作りに助けられる。&lt;/p&gt;
&lt;p&gt;数年使った後にイヤーパッドだけ交換すれば、本体はそのまま延命できる。Sennheiser は HD 598 系の交換用パッドを長く供給してきた。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: 開放型ゆえの遮音ゼロと、有線のみ・現行では入手難という運用上の制約。&lt;/p&gt;
&lt;h3 id=&quot;遮音性ゼロ--外でも夜でも使いにくい&quot;&gt;遮音性ゼロ — 外でも夜でも使いにくい&lt;/h3&gt;
&lt;p&gt;開放型の構造上、音漏れと外音流入はほぼフルに起きる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;隣の人にうっすら音が聞こえる&lt;/li&gt;
&lt;li&gt;外の声や生活音が普通に入ってくる&lt;/li&gt;
&lt;li&gt;ノイズキャンセリングは当然非搭載&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは設計上の特性で、欠点というより「向いていない使い方」を確認しておく必要がある項目。&lt;strong&gt;自宅の自室で一人で使う&lt;/strong&gt;前提なら問題にならないが、オフィス・カフェ・寝室の隣に家族、といった環境ではそもそも選んではいけない。&lt;/p&gt;
&lt;h3 id=&quot;有線のみbluetooth-非対応&quot;&gt;有線のみ・Bluetooth 非対応&lt;/h3&gt;
&lt;p&gt;2026 年の主流はワイヤレス。HD 598 SR は有線専用で、PC・据え置きアンプ・スマホに直接刺す前提。&lt;/p&gt;
&lt;p&gt;スマホ側に 3.5mm 端子が無くなった現代では、USB-C / Lightning DAC を挟むひと手間が要る。&lt;/p&gt;
&lt;h3 id=&quot;価格帯と現行入手性&quot;&gt;価格帯と現行入手性&lt;/h3&gt;
&lt;p&gt;執筆当時の実売は約2万円前後。エントリー価格帯ではない。&lt;/p&gt;
&lt;p&gt;加えて 2026 年時点では新品流通がほぼ終了しており、新品で買いたい人には選びにくくなっている。後継系の HD 599 / HD 560S を素直に検討するのが現実的。&lt;/p&gt;
&lt;h2 id=&quot;比較-開放型-hd-598-sr-vs-同価格帯の密閉型--ワイヤレス&quot;&gt;比較: 開放型 HD 598 SR vs 同価格帯の密閉型 / ワイヤレス&lt;/h2&gt;
&lt;p&gt;短い答え: HD 598 SR は「自宅で据え置き・有線・音場優先」のときに勝つ。それ以外なら別カテゴリのほうが快適。&lt;/p&gt;



























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;HD 598 SR（開放型・有線）&lt;/th&gt;&lt;th&gt;同価格帯の密閉型&lt;/th&gt;&lt;th&gt;同価格帯のワイヤレス（NC 付き）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;音場の広がり&lt;/td&gt;&lt;td&gt;広い&lt;/td&gt;&lt;td&gt;狭め&lt;/td&gt;&lt;td&gt;モデルによる（一般に狭め）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;低音の量感&lt;/td&gt;&lt;td&gt;必要十分&lt;/td&gt;&lt;td&gt;強い&lt;/td&gt;&lt;td&gt;強い（DSP 補正前提）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;遮音性&lt;/td&gt;&lt;td&gt;なし（開放型）&lt;/td&gt;&lt;td&gt;高い&lt;/td&gt;&lt;td&gt;高い（NC 込み）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;音漏れ&lt;/td&gt;&lt;td&gt;大きい&lt;/td&gt;&lt;td&gt;小さい&lt;/td&gt;&lt;td&gt;小さい&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;装着疲労（長時間）&lt;/td&gt;&lt;td&gt;少ない&lt;/td&gt;&lt;td&gt;こもりやすい&lt;/td&gt;&lt;td&gt;バッテリ重で重め&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ケーブル&lt;/td&gt;&lt;td&gt;有線のみ&lt;/td&gt;&lt;td&gt;有線中心&lt;/td&gt;&lt;td&gt;無線中心&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;屋外・通勤利用&lt;/td&gt;&lt;td&gt;不可&lt;/td&gt;&lt;td&gt;可&lt;/td&gt;&lt;td&gt;最適&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;自宅在宅作業&lt;/td&gt;&lt;td&gt;最適&lt;/td&gt;&lt;td&gt;可&lt;/td&gt;&lt;td&gt;可（充電必要）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;HD 598 SR の勝ち筋は「自宅・自室・有線で OK・音場が広いほうがいい」という、絞り込めば狭い領域。逆にこの条件にハマる人にとっては、同価格帯の密閉型や安価なワイヤレスより明確に音楽体験が良くなる。&lt;/p&gt;
&lt;p&gt;通勤や外で使う想定が少しでもあるなら、最初から密閉型かワイヤレス NC を買ったほうが後悔が少ない。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for ゼンハイザー HD 598 SR&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-13-sennheiser-hd-598-sr/2021-04-13-Sennheiser-HD-598-SR.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;ゼンハイザー HD 598 SR&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B06WLGRYSF/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View ゼンハイザー HD 598 SR on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. スマホに直接挿して使えますか？&lt;/strong&gt;
A. スマホ側に 3.5mm 端子があれば 1.2m ケーブルで直挿し可。最近の機種は 3.5mm 端子が無いものが多いので、USB-C / Lightning の DAC アダプタを別途用意する必要がある。インピーダンス的にはスマホ直挿しでも十分鳴る部類。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 密閉型ヘッドホンと比べて何が違いますか？&lt;/strong&gt;
A. 一番違うのは「音場」と「遮音性」。HD 598 SR のような開放型は、スピーカーで鳴らしたような空気感があり、頭の中で音が詰まらない。代わりに音漏れ・外音流入が大きい。密閉型はその逆で、遮音性が高く低音もしっかり出るが、長時間装着で耳がこもりやすい。&lt;strong&gt;家の自室で一人で聴くなら開放型、外や同室の人がいる環境なら密閉型&lt;/strong&gt;、という使い分けになる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ワイヤレスヘッドホンと比べてどうですか？&lt;/strong&gt;
A. 音質傾向は別物として、運用面の差が大きい。ワイヤレスは充電・接続・遅延の管理が必要で、その代わりケーブルが無い自由がある。HD 598 SR は有線なので充電不要・遅延ゼロ・接続安定だが、ケーブルが常に付きまとう。在宅作業で席に固定して使うなら有線のほうがむしろ楽、というケースは多い。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 長時間つけても疲れにくいですか？&lt;/strong&gt;
A. オーバーイヤー型 + 開放型 + 軽めの側圧という組み合わせで、装着疲労は同価格帯の中では少ない部類だと感じている。耳を中に押し込むイヤホンとは違い、耳の周囲を覆うだけなので圧迫感も少ない。とはいえ個人差があるので、可能なら店頭で 10〜15 分試着してから決めるのが安全。&lt;/p&gt;
&lt;h2 id=&quot;総評--自宅で据え置きと割り切れる人向け&quot;&gt;総評 — 「自宅で据え置き」と割り切れる人向け&lt;/h2&gt;
&lt;p&gt;HD 598 SR は、用途を絞れば今でも実用に足る開放型ヘッドホン。&lt;/p&gt;
&lt;p&gt;向いているのは、自宅の自室で在宅作業・音楽・映画・ゲームをじっくり楽しむ層。広い音場と長時間の掛け心地、メンテのしやすさが効いてくる。&lt;/p&gt;
&lt;p&gt;向いていないのは、外で使いたい人・同室の家族と時間を共有する人・ワイヤレス前提の人。これらの用途では構造上どうしても勝てない。&lt;/p&gt;
&lt;p&gt;新規購入を検討するなら、2026 年時点では新品流通が細っているので、後継ライン（HD 599 / HD 560S）も同時に見ておくと選択肢が広がる。中古や在庫品を狙うなら、HD 598 SR は「黒い HD 598」というだけで音は通常版と同等なので、色の好みで選んでよい。&lt;/p&gt;
</content:encoded><category>reviews</category><category>audio</category><category>headphones</category><category>sennheiser</category></item><item><title>エレコム EX-G Bluetooth M-XGL10BBBK レビュー — 安価帯で“握りの違い”を一番感じるマウス</title><link>https://aulvem.com/ja/blog/2021-04-12-elecom-m-xgl10bbbk/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-12-elecom-m-xgl10bbbk/</guid><description>サイズ展開ありの低価格 Bluetooth マウス、エレコム EX-G M-XGL10BBBK のレビュー。握り心地は価格帯を超え、付属マウスからの最初のステップアップに最適です。一方で無線の安定性とボタン割り当てソフト周りには、価格なりの割り切りがある点も整理します。</description><pubDate>Mon, 12 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。M-XGL10BBBK は 2026 時点でも現行ラインの低価格 Bluetooth マウスとして流通中。レビュー観点（サイズ展開・握り心地・無線安定性）は今も参考になる。スペック値は当時のメーカー公称値を引用しているため、購入前に最新の製品ページを確認してほしい。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;仕事用に1年ほど使っていたエレコム EX-G Bluetooth M-XGL10BBBK を、当時の使用感と 2026 年に見直した観点でレビューする。&lt;/p&gt;
&lt;p&gt;「マウスにそこまで出したくない、でも付属マウスからは脱したい」価格帯で、握り心地の差を一番分かりやすく感じられるモデル。サイズが S/M/L から選べるのも、この価格帯では珍しい。&lt;/p&gt;
&lt;h2 id=&quot;結論--サイズ展開ありの最初のステップアップとして最適&quot;&gt;結論 — サイズ展開ありの“最初のステップアップ”として最適&lt;/h2&gt;
&lt;p&gt;短い答え: 付属の安マウスから乗り換えるなら、この価格帯で握り心地の差をはっきり体感できる一台。S/M/L のサイズ展開があり、手が小さい人にもおすすめしやすい。&lt;/p&gt;
&lt;p&gt;理由は、エルゴ形状とサイドボタンが揃っていて、握ったときの“設計の違い”が指で分かるから。無印・付属マウスから移ると、長時間使ったときの手の張りが目に見えて減る。&lt;/p&gt;
&lt;p&gt;ただし以下の用途では別候補を検討したい:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;無線安定性を最優先する人&lt;/strong&gt;: Bluetooth 接続なので、USB レシーバー型ほど安定はしない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ボタンを細かくカスタムしたい人&lt;/strong&gt;: 専用ソフトの自由度は Logicool Options 系より控えめ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ゲーミング用途&lt;/strong&gt;: 反応速度・センサ性能は事務用途向け&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観--平べったい中間サイズのエルゴ形状&quot;&gt;外観 — 平べったい中間サイズのエルゴ形状&lt;/h2&gt;
&lt;p&gt;短い答え: 立体型と平べったい型の中間のフォルム。右クリック側が落ち込んだ非対称デザインで、手のひら全体で乗せて握るタイプ。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ELECOM M-XGL10BBBK 上面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;上から見たフォルム。写真は L サイズ。手のサイズに合わせて S/M/L から選べる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ELECOM M-XGL10BBBK 裏面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK-back.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;裏側に電源スイッチ・ペアリングボタン・電池蓋。電源は単3電池1本で、公称電池持ちは約402日（購入前に最新の仕様を確認）。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ELECOM M-XGL10BBBK 前面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK-front.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;前から見ると右クリック側が大きく落ち込んでいる。完全な平面でも完全な立体型でもない、中間サイズのエルゴ形状。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ELECOM M-XGL10BBBK 後ろ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK-rear.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;後方から。山の高さは控えめで、手のひら全体で乗せる持ち方になる。つかみ持ち専門の人は MX MASTER 系のほうが合うはず。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ELECOM M-XGL10BBBK 右側面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK-right.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;右側面はゴム素材で覆われていて、小指と薬指が滑らず止まる。長時間握っても汗で滑りにくい。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ELECOM M-XGL10BBBK 左側面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK-left.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;左側面に親指置き場とサイドボタン2つ。親指の自然な形状に合わせて凸型にデザインされているので、意識せずに親指が乗る。&lt;/p&gt;
&lt;h2 id=&quot;良かった点--価格を超える握りとサイドボタン&quot;&gt;良かった点 — 価格を超える“握り”とサイドボタン&lt;/h2&gt;
&lt;p&gt;短い答え: 設計された握り心地、サイドボタン搭載、S/M/L サイズ展開、軽い重量。低価格帯マウスに必要な要素が一通り揃っている。&lt;/p&gt;
&lt;h3 id=&quot;握りを意識したエルゴ形状&quot;&gt;握りを意識したエルゴ形状&lt;/h3&gt;
&lt;img width=&quot;800&quot; alt=&quot;ELECOM M-XGL10BBBK ホイール&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK-wheel.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;このマウスの最大の特徴は、価格に対して握り心地に振っていること。&lt;/p&gt;
&lt;p&gt;付属マウスや千円台のシンプルなマウスから乗り換えると、最初に握った瞬間に差が分かる。右側のゴムパーツ、親指置き場の凸、右クリック側の落ち込み — 単体では地味だが、合わさると長時間作業の手の張り方が変わる。&lt;/p&gt;
&lt;h3 id=&quot;サイドボタン搭載で戻るが指1本&quot;&gt;サイドボタン搭載で「戻る」が指1本&lt;/h3&gt;
&lt;p&gt;サイドボタンは作業効率に直結する装備。&lt;/p&gt;
&lt;p&gt;主用途はブラウザの「戻る・進む」。Web 閲覧・ファイラー・IDE どれでも使う頻度が高いので、ある／なしの差は大きい。付属マウスから乗り換える理由としても十分。&lt;/p&gt;
&lt;h3 id=&quot;s--m--l-のサイズ展開&quot;&gt;S / M / L のサイズ展開&lt;/h3&gt;
&lt;p&gt;低価格帯では珍しく、3 サイズから選べる。&lt;/p&gt;
&lt;p&gt;L は手のひらが大きめの男性向け、S は子供や手が小さい人向け、M はその中間。手のサイズが合わないマウスはどれだけ高くても疲れるので、サイズ展開があるのは実用上ありがたい。&lt;/p&gt;
&lt;h3 id=&quot;電池抜きで約87g-の軽量設計&quot;&gt;電池抜きで約87g の軽量設計&lt;/h3&gt;
&lt;p&gt;公称重量は電池抜きで約87g。&lt;/p&gt;
&lt;p&gt;100g 超のマウスを長時間使うと腕の疲労が違うので、軽さは事務用途では正義。単3電池を入れても感覚的には“軽め”の部類に収まる。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点--bluetooth-ゆえの不安定さ&quot;&gt;微妙だった点 — Bluetooth ゆえの不安定さ&lt;/h2&gt;
&lt;p&gt;短い答え: 接続方式が Bluetooth のみなので、USB レシーバー型より無線が不安定。スリープ復帰直後の認識遅延が出やすい。&lt;/p&gt;
&lt;h3 id=&quot;スリープ復帰時の接続遅延&quot;&gt;スリープ復帰時の接続遅延&lt;/h3&gt;
&lt;p&gt;最大の不満点。&lt;/p&gt;
&lt;p&gt;PC スリープ復帰直後の数秒、マウスが反応しないことがある。Bluetooth 全般の挙動なのでこのマウス固有の欠点ではないが、USB レシーバー型から移ると気になる。&lt;/p&gt;
&lt;p&gt;頻繁にスリープ復帰を繰り返す使い方（ノート + ドック構成など）の人は、USB レシーバー併用モデル（ロジクール Unifying 対応機など）も検討すると安全。&lt;/p&gt;
&lt;h3 id=&quot;ボタン割り当てソフトの自由度は控えめ&quot;&gt;ボタン割り当てソフトの自由度は控えめ&lt;/h3&gt;
&lt;p&gt;Logicool Options 系のような細かいジェスチャー設定はできない。サイドボタンを単純に「進む／戻る」以外に割り当てたい場合は、Windows 側のサードパーティ製ツールに頼ることになる。&lt;/p&gt;
&lt;p&gt;ただしマウスの基本動作（DPI、ボタン）は安定して動くので、凝った割り当てをしない事務用途なら不便はない。&lt;/p&gt;
&lt;h2 id=&quot;比較--同価格帯上位帯のどこに位置するか&quot;&gt;比較 — 同価格帯・上位帯のどこに位置するか&lt;/h2&gt;
&lt;p&gt;短い答え: 安価帯では“握り”重視で抜けている。上位帯（Logicool MX 系）と比べるとサイドホイール・カスタム性で差が大きい。&lt;/p&gt;



























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;M-XGL10BBBK&lt;/th&gt;&lt;th&gt;Logicool 中価格帯（M650 など）&lt;/th&gt;&lt;th&gt;千円台の安価マウス&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;価格帯&lt;/td&gt;&lt;td&gt;約2,000円前後&lt;/td&gt;&lt;td&gt;約4,000〜6,000円&lt;/td&gt;&lt;td&gt;約1,000円前後&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;接続&lt;/td&gt;&lt;td&gt;Bluetooth のみ&lt;/td&gt;&lt;td&gt;Bluetooth + USB レシーバー&lt;/td&gt;&lt;td&gt;Bluetooth または有線&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サイズ展開&lt;/td&gt;&lt;td&gt;S / M / L&lt;/td&gt;&lt;td&gt;M / L（モデルにより）&lt;/td&gt;&lt;td&gt;なしが多い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;握り心地&lt;/td&gt;&lt;td&gt;エルゴ形状、ゴムグリップ&lt;/td&gt;&lt;td&gt;エルゴ寄り、より滑らか&lt;/td&gt;&lt;td&gt;フラットが多い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サイドボタン&lt;/td&gt;&lt;td&gt;2 ボタン&lt;/td&gt;&lt;td&gt;2 ボタン + カスタム&lt;/td&gt;&lt;td&gt;なし〜2 ボタン&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サイドホイール&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;td&gt;モデルにより搭載&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;電池&lt;/td&gt;&lt;td&gt;単3 × 1（公称約402日）&lt;/td&gt;&lt;td&gt;単3 × 1 / 充電式&lt;/td&gt;&lt;td&gt;単3 / USB 給電&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ボタン割り当てソフト&lt;/td&gt;&lt;td&gt;あり（控えめ）&lt;/td&gt;&lt;td&gt;Logi Options+（高機能）&lt;/td&gt;&lt;td&gt;なしが多い&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;要するに、「安マウスから一段だけ上に行きたい」用途で M-XGL10BBBK、「もう一段上で Excel / 横スクロールも視野」なら Logicool MX 系という棲み分け。Logicool MX MASTER 系の上位帯との比較は &lt;a href=&quot;https://aulvem.com/ja/blog/2021-03-09-logicool-mx-master-2s/&quot;&gt;ロジクール MX MASTER 2S レビュー&lt;/a&gt; を参照。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for エレコム EX-G Bluetooth M-XGL10BBBK&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;エレコム EX-G Bluetooth M-XGL10BBBK&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0161YPB6G/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View エレコム EX-G Bluetooth M-XGL10BBBK on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. PC だけでなくスマホやタブレットでも使えますか？&lt;/strong&gt;
A. Bluetooth 接続なので、Bluetooth マウスに対応した OS（Windows / macOS / iPadOS 13.4 以降 / 一部 Android）で使える。USB レシーバーがない分、対応の幅は接続側 OS の Bluetooth 対応次第。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 専用ソフトでボタン割り当てはどこまでカスタムできますか？&lt;/strong&gt;
A. メーカー提供の「エレコム マウスアシスタント」でサイドボタン等の割り当て変更ができる（Windows のみ、対応 OS は最新仕様を要確認）。Logicool Options 系ほどの細かさはなく、ジェスチャー方向別に複数アクション、のような設定は不可。シンプルな「戻る／進む／コピー／貼り付け」程度の用途なら十分。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 手が小さくても疲れにくいですか？&lt;/strong&gt;
A. S サイズを選べば疲れにくい。L サイズはむしろ手が小さい人だと指が届かず疲れやすいので、サイズ選びは要注意。可能なら店頭で握って決めるのが一番後悔がない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ゲーミング用途で使えますか？&lt;/strong&gt;
A. 反応速度・センサ性能は事務用途想定のため、FPS や精密操作が必要なゲームには向かない。ブラウザゲームや MMO のような操作量が穏やかなゲームなら問題ない。&lt;/p&gt;
&lt;h2 id=&quot;総評--最初の一台目の格上げにちょうど良い&quot;&gt;総評 — 「最初の一台目の格上げ」にちょうど良い&lt;/h2&gt;
&lt;p&gt;価格 × 握り心地の比率で見ると、低価格帯のなかでは抜けている一台。&lt;/p&gt;
&lt;p&gt;特に「付属マウスや千円台のフラットマウスから乗り換えたい」「サイズが合うマウスを安く試したい」用途では、迷ったときの第一候補に置いていい。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ELECOM M-XGL10BBBK 全体まとめ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-12-elecom-m-xgl10bbbk/2021-04-12-ELECOM-M-XGL10BBBK-point.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;注意点は Bluetooth ゆえの接続安定性とソフト周りの控えめさの2つ。Excel の横スクロールやカスタムジェスチャーを多用するなら、Logicool MX 系のほうが結果的に満足度が高い。&lt;/p&gt;</content:encoded><category>reviews</category><category>mouse</category><category>elecom</category><category>pc-peripherals</category></item><item><title>イラスト用 iPad の選び方 — 本気で描くなら iPad Pro、入門なら iPad Air が現実解</title><link>https://aulvem.com/ja/blog/2021-04-11-illustration-ipad/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-11-illustration-ipad/</guid><description>iPad でイラストを描きたい人向けに、無印 iPad / iPad Air / iPad Pro の3モデルを画面サイズ・性能・Apple Pencil 対応で比較し、用途別の選び方をまとめる。</description><pubDate>Sun, 11 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（モデル選びの観点）は今も有効だが、各モデルのスペック・価格・世代名は執筆当時のもの。Heavy リライト中 — 公開前に最新世代へ確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;イラスト用にタブレットを買うとき、最初に詰まるのが「無印 iPad / iPad Air / iPad Pro のどれを選べばいいか」。値段は2倍以上、画面サイズも違う、Apple Pencil の世代も違う。&lt;/p&gt;
&lt;p&gt;この記事は、iPad でイラストを描く前提に絞ってモデル選びをまとめる。読み終える頃には、自分が買うべき1台と、必要な周辺機器の輪郭が見えているはず。&lt;/p&gt;
&lt;h2 id=&quot;結論--本気で描くなら-129-インチ-ipad-pro入門なら-ipad-air&quot;&gt;結論 — 本気で描くなら 12.9 インチ iPad Pro、入門なら iPad Air&lt;/h2&gt;
&lt;p&gt;短い答え: 「液タブの代わりに長時間描く」なら 12.9 インチ iPad Pro。「趣味で描き始める」なら iPad Air が現実解。無印 iPad は安いが、Apple Pencil 第1世代しか対応していないモデルがあり、イラスト用途では一段落ちる。&lt;/p&gt;
&lt;p&gt;ただし、どのモデルを選ぶ場合でも以下の3点は共通の判断軸になる:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;画面サイズ&lt;/strong&gt;: 11 インチ以上が目安。10 インチ前後は線を引くストロークが窮屈&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apple Pencil 対応世代&lt;/strong&gt;: 第2世代対応モデルを選ぶ（マグネット充電・ダブルタップ）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;容量&lt;/strong&gt;: 256GB 以上。イラストの psd / clip ファイルは1枚で数百 MB に達することがある&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に言うと、この3点を満たしていれば&lt;strong&gt;価格帯はそれほど神経質に選ばなくていい&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;モデル選び--3モデルの立ち位置を理解する&quot;&gt;モデル選び — 3モデルの立ち位置を理解する&lt;/h2&gt;
&lt;p&gt;短い答え: 無印 iPad は「タブレットとして安い」、iPad Air は「描けて軽い」、iPad Pro は「液タブ代替」。価格ではなく用途で選ぶ。&lt;/p&gt;
&lt;p&gt;理由は、iPad シリーズは同じ「iPad」でも処理性能・画面品質・Apple Pencil 対応が大きく違うから。イラスト用途では特に画面サイズと Pencil 対応が体験を分ける。&lt;/p&gt;
&lt;h3 id=&quot;無印-ipad--入門には十分長時間の本気描きには物足りない&quot;&gt;無印 iPad — 入門には十分、長時間の本気描きには物足りない&lt;/h3&gt;
&lt;p&gt;無印 iPad はもっとも安価なライン。電子書籍や動画視聴をメインに、ときどき落書きする程度なら十分。&lt;/p&gt;
&lt;p&gt;ただし世代によっては Apple Pencil 第1世代にしか対応しておらず、Pencil 側の充電方法（Lightning 直挿し）が古い。「イラスト専用機」として買うなら次の Air 以上を勧める。&lt;/p&gt;
&lt;h3 id=&quot;ipad-air--描き始めるなら現実解&quot;&gt;iPad Air — 描き始めるなら現実解&lt;/h3&gt;
&lt;p&gt;iPad Air は「描ける iPad の入り口」。Apple Pencil 第2世代対応、画面サイズも 10.9 インチ前後で実用範囲に入る。&lt;/p&gt;
&lt;p&gt;無印 iPad より2〜3万円高いが、Pencil 込みでの体験差は大きい。趣味〜セミプロ用途まではここで足りる。&lt;/p&gt;
&lt;h3 id=&quot;ipad-pro--液タブ代わりに長時間描く人向け&quot;&gt;iPad Pro — 液タブ代わりに長時間描く人向け&lt;/h3&gt;
&lt;p&gt;iPad Pro は液タブ代わりに長時間描く人向けのライン。120Hz の高リフレッシュレート（ProMotion）に対応していて、ストロークの追従性が他モデルと体感で違う。&lt;/p&gt;
&lt;p&gt;11 インチと 12.9 インチの2サイズがあり、本気で描くなら 12.9 インチを勧める。価格は無印 iPad の2倍以上になるが、画面の広さは「キャンバスを切り替えずに描ける」という点で生産性に直結する。&lt;/p&gt;
&lt;h2 id=&quot;apple-pencil-は第2世代対応モデルを選ぶ&quot;&gt;Apple Pencil は「第2世代対応モデル」を選ぶ&lt;/h2&gt;
&lt;p&gt;短い答え: イラスト用途では Apple Pencil 第2世代が必須要件に近い。第1世代対応モデルは避ける。&lt;/p&gt;
&lt;p&gt;理由は、第2世代がマグネット式の側面充電・ダブルタップでのツール切り替え・遅延の少なさで体験が一段違うから。第1世代は本体下部の Lightning 端子に直接挿して充電する形で、運用がかなり煩雑。&lt;/p&gt;
&lt;p&gt;確認ポイント:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;候補のモデルが「Apple Pencil（第2世代）対応」と明記されているか&lt;/li&gt;
&lt;li&gt;iPad 本体側面にマグネット吸着部があるか（商品写真で確認できる）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;容量は-256gb-からwi-fi-モデルで十分&quot;&gt;容量は 256GB から、Wi-Fi モデルで十分&lt;/h2&gt;
&lt;p&gt;短い答え: イラスト用なら 256GB 以上。Wi-Fi モデルで足りる人がほとんど。&lt;/p&gt;
&lt;p&gt;理由は、psd / clip / procreate ファイルは1枚で数百 MB、シリーズ作品をまとめると数十 GB に到達するから。64GB / 128GB は OS とアプリで埋まる。&lt;/p&gt;
&lt;p&gt;Cellular モデルは「外で常時ネット接続して描く」前提の人だけ。家とカフェの Wi-Fi で十分という人は、約 1〜2 万円の差額を Pencil やケースに回したほうが満足度が高い。&lt;/p&gt;
&lt;h2 id=&quot;周辺機器--最低限そろえるもの&quot;&gt;周辺機器 — 最低限そろえるもの&lt;/h2&gt;
&lt;p&gt;短い答え: Apple Pencil（第2世代）、保護フィルム、スタンド or キーボードカバーの3点。これだけで描く環境はだいたい揃う。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Apple Pencil（第2世代）&lt;/strong&gt;: 必須。本体と別売り&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ペーパーライク保護フィルム&lt;/strong&gt;: 紙のような描き心地に近づける。ペン先の減りは早くなる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;スタンド or キーボードカバー&lt;/strong&gt;: 机に置いて描く角度を作る。長時間の作画姿勢が楽になる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;液タブと違って外部モニターやドライバの設定はいらない。買ったその日から描き始められるのが iPad の強み。&lt;/p&gt;
&lt;h2 id=&quot;比較-無印-ipad--ipad-air--ipad-proイラスト用途&quot;&gt;比較: 無印 iPad / iPad Air / iPad Pro（イラスト用途）&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時（2021年）のラインナップ基準。2026 時点では後継モデルの最新スペックを必ず確認すること。&lt;/p&gt;
&lt;/blockquote&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;無印 iPad&lt;/th&gt;&lt;th&gt;iPad Air&lt;/th&gt;&lt;th&gt;iPad Pro 12.9”&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;画面サイズ&lt;/td&gt;&lt;td&gt;約 10.2 インチ&lt;/td&gt;&lt;td&gt;約 10.9 インチ&lt;/td&gt;&lt;td&gt;12.9 インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Apple Pencil&lt;/td&gt;&lt;td&gt;第1世代&lt;/td&gt;&lt;td&gt;第2世代&lt;/td&gt;&lt;td&gt;第2世代&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;リフレッシュレート&lt;/td&gt;&lt;td&gt;60Hz&lt;/td&gt;&lt;td&gt;60Hz&lt;/td&gt;&lt;td&gt;120Hz（ProMotion）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;メモリ目安&lt;/td&gt;&lt;td&gt;3〜4GB&lt;/td&gt;&lt;td&gt;4GB&lt;/td&gt;&lt;td&gt;6〜8GB&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格目安&lt;/td&gt;&lt;td&gt;約 4 万円〜&lt;/td&gt;&lt;td&gt;約 7 万円〜&lt;/td&gt;&lt;td&gt;約 12 万円〜&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;向いている用途&lt;/td&gt;&lt;td&gt;入門・落書き&lt;/td&gt;&lt;td&gt;趣味〜セミプロ&lt;/td&gt;&lt;td&gt;液タブ代替・本気描き&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. iPad mini でもイラストは描けますか？&lt;/strong&gt;
A. 描けないことはないが、画面が 7.9〜8.3 インチと小さく、長時間の作画には窮屈。電子書籍やゲーム用途と兼ねたいなら iPad mini、イラストを主目的にするなら Air 以上を勧める。詳しくは &lt;a href=&quot;https://aulvem.com/blog/2021-04-05-ipad-mini/&quot;&gt;iPad mini の選び方&lt;/a&gt; を参照。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 11 インチ iPad Pro と 12.9 インチ、どちらがいい？&lt;/strong&gt;
A. 本気で描くなら 12.9 インチ。価格差は約 2 万円だが、画面の広さは「拡大縮小せずに描ける範囲」に直結する。携帯性を重視する人だけ 11 インチを検討する。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPad だけでイラストの仕事は完結しますか？&lt;/strong&gt;
A. Procreate や Clip Studio Paint があれば、ラフ〜仕上げまで iPad で完結できる。ただし入稿用の細かい調整や複数モニターでの作業を考えると、長期的には PC との併用が現実的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. メモリは何 GB あれば足りますか？&lt;/strong&gt;
A. レイヤー数が増えるとメモリが効いてくる。Air の 4GB でも趣味用途なら回るが、商業レベルの大きいキャンバスを扱うなら iPad Pro の 6〜8GB を勧める。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;イラスト用 iPad は、本気で描くなら 12.9 インチ iPad Pro、入門〜趣味なら iPad Air。無印 iPad は安いが、イラスト専用機としては Pencil 対応の世代差で一段落ちる。&lt;/p&gt;
&lt;p&gt;判断軸は「画面サイズ 11 インチ以上か」「Apple Pencil 第2世代対応か」「容量 256GB 以上か」の3点。価格より、この3点を優先したほうが買ったあとの後悔が少ない。&lt;/p&gt;
&lt;p&gt;買ったその日から描き始められるのが iPad の強み。液タブと PC の組み合わせより導入がずっと軽い、というのは長く描き続ける上で地味に効いてくる。&lt;/p&gt;</content:encoded><category>reviews</category><category>apple</category><category>illustration</category><category>ipad</category></item><item><title>Windows 用テンキーの選び方 — ノート PC 内蔵 / USB / Bluetooth、どれを選ぶか</title><link>https://aulvem.com/ja/blog/2021-04-10-numeric-keypad-windows/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-10-numeric-keypad-windows/</guid><description>Windows で Excel や経理作業の数字入力を速くしたい人向けに、ノート PC 内蔵テンキー・USB 2.4GHz・Bluetooth の3つを比較。失敗しない選び方とよくある質問を整理した。</description><pubDate>Sat, 10 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。テンキーの基本構造は2021年から大きく変わっていないため骨子は今も使えるが、具体的な商品リンクは最新モデルへ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Excel で数字を打ち続けていると、フルキーボード上段の数字列に指を伸ばすコストが地味に効いてくる。経理・在庫管理・データ入力など、1日に何度も数字を入れる作業ならテンキー独立の方が早い。&lt;/p&gt;
&lt;p&gt;この記事は、Windows で使うテンキーの選び方を「ノート PC 内蔵で足りるか」「外付けなら USB か Bluetooth か」の順で整理する。読み終える頃には、自分が買うべき1台の形が見えているはず。&lt;/p&gt;
&lt;h2 id=&quot;結論--数字入力が多いなら-usb-24ghz-の外付けが第一候補&quot;&gt;結論 — 数字入力が多いなら USB 2.4GHz の外付けが第一候補&lt;/h2&gt;
&lt;p&gt;短い答え: ノート PC 内蔵テンキーで足りるかをまず確認する。足りないなら、Windows で使うテンキーは &lt;strong&gt;USB 2.4GHz の無線・薄型・電卓キー付き&lt;/strong&gt; が基本構成。&lt;/p&gt;
&lt;p&gt;理由は次の3点。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;USB 2.4GHz は Bluetooth より遅延が出にくい&lt;/strong&gt; — 専用レシーバー経由のため環境に左右されにくい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;薄型（シザースイッチかパンタグラフ）はノート PC のキー高さと揃う&lt;/strong&gt; — 並べて置いたときの段差が小さい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;電卓キー付きは1日に何度も電卓を呼ぶ人に効く&lt;/strong&gt; — 視線移動なしで起動できる&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に、ノート PC で完結する作業しかしない人や、デスクが Windows / iPad で兼用の人は別の判断軸が要る。以下で順に見ていく。&lt;/p&gt;
&lt;h2 id=&quot;ノート-pc-内蔵テンキーで足りるか--先にここを確認する&quot;&gt;ノート PC 内蔵テンキーで足りるか — 先にここを確認する&lt;/h2&gt;
&lt;p&gt;短い答え: 数字入力が1日に数十回までならノート PC 内蔵テンキーで足りる。毎日まとまった量を打つなら外付けに切り替えた方が手の負担が軽い。&lt;/p&gt;
&lt;p&gt;理由は、テンキー付きノート PC は本体幅が広い分、ホームポジションが本体中央より左にずれる構造になっているから。長時間打つと右肩がやや前に出る姿勢になりやすい。&lt;/p&gt;
&lt;p&gt;確認ポイント:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数字入力の頻度&lt;/strong&gt;: 1日に何百回も打つなら外付け、たまになら内蔵で十分&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;本体サイズ&lt;/strong&gt;: 15.6インチ以上の機種でないと内蔵テンキーは付かないことが多い（モデルによる）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;キー配列&lt;/strong&gt;: メーカーごとに NumLock や &lt;code&gt;00&lt;/code&gt; キーの配置が違うため、慣れているメーカーがあればそのまま使える&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;内蔵で足りないと感じたら、外付けに切り替える。次節で接続方式の話に入る。&lt;/p&gt;
&lt;h2 id=&quot;接続方式--usb-24ghzbluetooth有線&quot;&gt;接続方式 — USB 2.4GHz、Bluetooth、有線&lt;/h2&gt;
&lt;img width=&quot;800&quot; alt=&quot;テンキーの接続方式 — USB 有線・USB 2.4GHz 無線・Bluetooth 無線&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-10-numeric-keypad-windows/2021-04-10-Numeric-Keypad-Connection-type.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;短い答え: PC で固定して使うなら USB 2.4GHz、スマホ・タブレットと併用したいなら Bluetooth、絶対に遅延ゼロが欲しいなら有線。&lt;/p&gt;
&lt;p&gt;理由は、それぞれ得意な場面が違うから。&lt;/p&gt;
&lt;h3 id=&quot;usb-24ghz無線レシーバー式&quot;&gt;USB 2.4GHz（無線レシーバー式）&lt;/h3&gt;
&lt;p&gt;専用の USB レシーバーを PC に挿して使う方式。Bluetooth より遅延が出にくく、スリープ復帰直後の打鍵抜けも少ない。&lt;/p&gt;
&lt;p&gt;USB ポートを1つ占有する代わりに、ペアリングの手間がない。Windows なら挿すだけで認識される。&lt;/p&gt;
&lt;p&gt;デスクトップ・ノート PC でテンキーを固定運用するなら、まずこの方式を勧める。&lt;/p&gt;
&lt;h3 id=&quot;bluetooth&quot;&gt;Bluetooth&lt;/h3&gt;
&lt;p&gt;PC 内蔵 Bluetooth で接続する方式。レシーバーが要らないので、USB ポートを潰さない。&lt;/p&gt;
&lt;p&gt;iPad やスマホとも同じ機材を使い回したい人には便利。ただし通信が混雑する環境では打鍵が一瞬抜けることがある。スリープ復帰直後にワンテンポ待たされる挙動もある（環境依存）。&lt;/p&gt;
&lt;h3 id=&quot;usb-有線&quot;&gt;USB 有線&lt;/h3&gt;
&lt;p&gt;ケーブルで PC に繋ぐ方式。遅延ゼロを保証できる。&lt;/p&gt;
&lt;p&gt;代わりに机の取り回しが悪く、テンキーレスキーボードの右側に置くとケーブルが手の動線に絡みやすい。会計事務所のように1日中数字を打つ業務でなければ、無線で十分。&lt;/p&gt;
&lt;h2 id=&quot;比較-usb-24ghz--bluetooth--ノート-pc-内蔵&quot;&gt;比較: USB 2.4GHz / Bluetooth / ノート PC 内蔵&lt;/h2&gt;
&lt;p&gt;3つを並べて整理する。価格・遅延の体感は購入当時の参考値（モデル・環境によって変動）。&lt;/p&gt;



























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;USB 2.4GHz&lt;/th&gt;&lt;th&gt;Bluetooth&lt;/th&gt;&lt;th&gt;ノート PC 内蔵&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;接続方式&lt;/td&gt;&lt;td&gt;USB レシーバー&lt;/td&gt;&lt;td&gt;PC 内蔵 Bluetooth&lt;/td&gt;&lt;td&gt;本体一体&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;遅延の懸念&lt;/td&gt;&lt;td&gt;低い&lt;/td&gt;&lt;td&gt;やや高め（環境依存）&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;安定性&lt;/td&gt;&lt;td&gt;◯&lt;/td&gt;&lt;td&gt;△&lt;/td&gt;&lt;td&gt;◯&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;汎用性（他デバイス）&lt;/td&gt;&lt;td&gt;△（PC 向け）&lt;/td&gt;&lt;td&gt;◯（スマホ・タブレット可）&lt;/td&gt;&lt;td&gt;✕（本体専用）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;USB ポート占有&lt;/td&gt;&lt;td&gt;1ポート&lt;/td&gt;&lt;td&gt;不要&lt;/td&gt;&lt;td&gt;不要&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格目安&lt;/td&gt;&lt;td&gt;2,000〜4,000円&lt;/td&gt;&lt;td&gt;3,000〜6,000円&lt;/td&gt;&lt;td&gt;本体価格に含む&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;携帯性&lt;/td&gt;&lt;td&gt;レシーバー込みで持ち運べる&lt;/td&gt;&lt;td&gt;単体で持ち運べる&lt;/td&gt;&lt;td&gt;ノート PC と一体&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;電卓キー有無&lt;/td&gt;&lt;td&gt;モデルによる&lt;/td&gt;&lt;td&gt;モデルによる&lt;/td&gt;&lt;td&gt;ない機種が多い&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;選び方の目安:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Windows デスクトップ／固定運用のノート PC&lt;/strong&gt; → USB 2.4GHz&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iPad・スマホとも併用したい / USB ポートが足りない&lt;/strong&gt; → Bluetooth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ノート PC を買い替えるタイミング・数字入力が軽め&lt;/strong&gt; → 内蔵テンキー付きモデルを検討&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;キー配列で外せない3点--tabbackspace電卓&quot;&gt;キー配列で外せない3点 — Tab、Backspace、電卓&lt;/h2&gt;
&lt;p&gt;テンキー本体のキー配列で、Excel 中心の作業者が外したくないキーは3つ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tab&lt;/strong&gt;: Excel のセル横移動。Enter（下移動）と組み合わせると、テンキーだけで表入力が完結する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backspace&lt;/strong&gt;: 桁ミスの即時修正。数値入力では必ず使うので独立キーが欲しい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;電卓&lt;/strong&gt;: Windows の「電卓」アプリを1キーで起動。経費精算で効く&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;00&lt;/code&gt;（ゼロ2連打）キーは、金額入力が多い人にだけ刺さる。会計用途以外では優先度は下がる。&lt;/p&gt;
&lt;p&gt;これらが入っているかは商品ページのキー配列写真で確認できる。スペック表記だけでは「Tab」「Backspace」の有無が分からないことがあるため、必ず画像でレイアウトを見る。&lt;/p&gt;
&lt;h2 id=&quot;キータッチ--ノート-pc-と並べるならシザースイッチ&quot;&gt;キータッチ — ノート PC と並べるならシザースイッチ&lt;/h2&gt;
&lt;p&gt;短い答え: ノート PC の隣に置くなら、キー高さの揃うシザースイッチかパンタグラフが扱いやすい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;メンブレン&lt;/strong&gt;: 安価。キーストロークが深く、ノート PC と並べると段差で違和感が出やすい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;パンタグラフ&lt;/strong&gt;: ノート PC で広く採用されている薄型方式。コンパクトだが押し心地は製品差が大きい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;シザースイッチ&lt;/strong&gt;: パンタグラフの打鍵感を改善した方式。薄型でクリック感もある。長時間打鍵でも疲れにくい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;数字入力に特化するなら、シザースイッチを第一候補にする。&lt;/p&gt;
&lt;h2 id=&quot;具体的に何を買うか&quot;&gt;具体的に何を買うか&lt;/h2&gt;
&lt;p&gt;USB 2.4GHz・シザースイッチ・電卓キーの3点を満たすモデルとして、別記事で Belis のワイヤレステンキーをレビューしている。実機の打鍵感・LED の主張具合・電池持ちまで踏み込んで書いたので、ここで挙げた条件に合うか具体的に確認したい人は併読してほしい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;関連記事: &lt;a href=&quot;https://aulvem.com/blog/2021-03-01-belis-numerickeypad/&quot;&gt;Belis ワイヤレステンキー レビュー — 電卓キー付き・USB 2.4GHz の薄型テンキー&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. ノート PC のテンキー付きモデルを買えば外付けは要らない？&lt;/strong&gt;
A. 数字入力が1日に数十回までならテンキー付きノート PC で足りる。本体が広くなる・ホームポジションが右にずれる・キー配列がメーカーごとに違うという欠点があるため、毎日まとまった量を打つなら外付けの方が手の負担が軽い。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. USB 2.4GHz と Bluetooth、どちらが安定する？&lt;/strong&gt;
A. PC で固定して使うなら USB 2.4GHz の方が安定する。レシーバー経由の専用接続なので遅延が少なく、スリープ復帰直後でも待たされにくい。Bluetooth は環境ノイズや混雑で打鍵が一瞬抜けることがある。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. テンキーに電卓キーは付いていた方がいい？&lt;/strong&gt;
A. 経費精算や在庫数の概算など電卓を頻繁に立ち上げる人なら、専用電卓キー付きを勧める。ショートカット割り当てに比べて視線移動が少なく、押した瞬間に電卓が出る動線が作れる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Mac でも同じテンキーを使える？&lt;/strong&gt;
A. 数字キー部分は基本的に動くが、電卓キーや一部のファンクションキーは macOS で反応しないか別キーとして認識されることがある。Mac で使うなら商品ページで Mac 対応の明記を確認してから買う方が安全（製品・OS バージョンによる）。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Windows で使うテンキーは、まずノート PC 内蔵で足りるかを確認する。足りなければ、PC 固定運用なら USB 2.4GHz、他デバイス併用なら Bluetooth、という分かれ方になる。&lt;/p&gt;
&lt;p&gt;キー方式はシザースイッチかパンタグラフ。Tab・Backspace・電卓の3キーが入っているかは商品画像で確認しておく。&lt;/p&gt;
&lt;p&gt;条件を絞れば、テンキー選びで大きく外すことは少ない。具体的なモデルで打鍵感まで知りたい場合は &lt;a href=&quot;https://aulvem.com/blog/2021-03-01-belis-numerickeypad/&quot;&gt;Belis ワイヤレステンキー レビュー&lt;/a&gt; を併読すると、買う前のイメージが具体的になる。&lt;/p&gt;
</content:encoded><category>reviews</category><category>PCPeripherals</category><category>numeric-keypad</category><category>windows</category></item><item><title>Vue.js 入門 - エンジニアが解説する Component 基礎</title><link>https://aulvem.com/ja/blog/2021-04-09-vue-component/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-09-vue-component/</guid><description>Vue.js を初めて使う方向けに、フレームワークのキモとなる Component の概念、親子コンポーネントの関係、単方向データバインディング・双方向バインディング（v-model）の使い分けまで、初心者がつまずきやすいポイントを実例コード付きで丁寧に解説します。</description><pubDate>Fri, 09 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出から数年経過した記事です。骨子は今も参考になりますが、ツールの UI やバージョンは執筆当時のままで、最新版とは差異があります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vue.js、JavaScript フレームワークを初めて使う方に向けて、今回はキモとなる &lt;strong&gt;Component について解説します&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Component の概念から説明していますので、初心者の方にも読みやすい内容です。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot;&gt;結論&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Component&lt;/strong&gt; は使いまわし可能なパーツで、メンテナンス性と再利用性を高める&lt;/li&gt;
&lt;li&gt;親子間のデータ受け渡しは &lt;strong&gt;Binding&lt;/strong&gt; で実現する&lt;/li&gt;
&lt;li&gt;単方向バインディング (&lt;code&gt;v-bind&lt;/code&gt; / &lt;code&gt;v-on&lt;/code&gt;) と双方向バインディング (&lt;code&gt;v-bind&lt;/code&gt; + &lt;code&gt;v-on&lt;/code&gt; / &lt;code&gt;sync&lt;/code&gt;) を使い分ける&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;component-とは&quot;&gt;Component とは？&lt;/h2&gt;
&lt;p&gt;Vue.js や Angular には Component という概念があります。&lt;/p&gt;
&lt;p&gt;Component を使用して Vue.js などはコードの共通化を高めています。共通化を行うとメンテナンス性の向上やコード量の削減ができます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;どんなプロジェクトでも必ず Component は使用するので、Vue.js を理解するのには必須です&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;使いまわし可能なパーツ&quot;&gt;使いまわし可能なパーツ&lt;/h3&gt;
&lt;p&gt;Component は簡単に説明すると&lt;strong&gt;使いまわし可能なパーツ&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;vue ファイルの中で他の vue ファイルを呼び出して使用することができます。&lt;/p&gt;
&lt;p&gt;例えばボタンを使いまわし可能な状態で実装すれば、呼び出すだけで同じデザイン、同じ処理を呼び出し側で実装できます。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;例：ボタン&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;実現したいこと&lt;/strong&gt;: 幅と高さが 20px の「ここをクリック」と表示されたボタンを使いまわしたい。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;実装方法&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A ファイルで幅と高さが 20px の「ここをクリック」と表示されたボタンを作成。&lt;/li&gt;
&lt;li&gt;B ファイルでボタン Component を呼び出す。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;結果&lt;/strong&gt;: B ファイルでボタンが表示される。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この呼ばれた側 (A ファイル)、呼び出し側 (B ファイル) は親と子で呼ぶことが多いです。&lt;/p&gt;
&lt;p&gt;以下からは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;呼び出し側 = 親&lt;/li&gt;
&lt;li&gt;呼ばれた側 = 子&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;で説明していきます。&lt;/p&gt;
&lt;h3 id=&quot;binding-とは&quot;&gt;Binding とは？&lt;/h3&gt;
&lt;p&gt;上記の説明だと、ボタンの場合は次のような不満点があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ボタンのテキストが固定&lt;/li&gt;
&lt;li&gt;クリック後の処理を子で書く必要がある&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Binding はその不満点を解消する機能です。&lt;/p&gt;
&lt;h3 id=&quot;component-間のデータ受け渡し機能&quot;&gt;Component 間のデータ受け渡し機能&lt;/h3&gt;
&lt;p&gt;Binding は簡単に説明すると &lt;strong&gt;Component 間のデータ受け渡し機能&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;Binding を行うと&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;親で子のテキストを変更可能にする&lt;/li&gt;
&lt;li&gt;子でイベントトリガーを親に引き継ぐ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などができます。結果的に上記で起きていた不満点は、Binding を行うと解決します。&lt;/p&gt;
&lt;br/&gt;
&lt;p&gt;これらの Binding は親と子の関係性が重要で、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;親から子、子から親の一方通行な Binding は一般的に&lt;strong&gt;単方向バインディング&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;親と子の双方向な Binding は一般的に&lt;strong&gt;双方向バインディング&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と呼びます。&lt;/p&gt;
&lt;p&gt;Binding の概念が理解できないと Component は上手く扱えないので頑張りましょう。&lt;/p&gt;
&lt;h2 id=&quot;実際の使用例&quot;&gt;実際の使用例&lt;/h2&gt;
&lt;p&gt;ここからは実際に Vue.js のコードを見ながら実装方法を解説します。&lt;/p&gt;
&lt;p&gt;vue ファイルの基本については以下の記事で解説していますので、わからない方は参考にしてください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-04-02-vue-base/&quot;&gt;Vue.js 入門 - Vue の基礎&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;component-の使用&quot;&gt;Component の使用&lt;/h3&gt;
&lt;p&gt;まずはベースとなる Component の呼び出しを解説します。&lt;/p&gt;
&lt;p&gt;上記の例の Binding をしていないボタンの実装方法です。&lt;/p&gt;
&lt;p&gt;子で &lt;strong&gt;string&lt;/strong&gt; 文字列を表示する vue ファイルを作成し、親で子を読みます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;子&lt;/strong&gt;: ChildComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  string&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;子では処理不要なので、文字を書いているだけです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;親&lt;/strong&gt;: ParentComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;ChildComponent&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; ChildComponent &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;xxxx/ChildComponent.vue&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  components: { ChildComponent },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;親では子の vue ファイル、ChildComponent.vue を使用するために ChildComponent.vue を import します。&lt;/p&gt;
&lt;p&gt;そのうえで、html 側で実際に使用する箇所に &lt;code&gt;&amp;lt;ChildComponent /&amp;gt;&lt;/code&gt; と記述すれば OK です。&lt;/p&gt;
&lt;h3 id=&quot;v-bind-単方向バインディング-親--子&quot;&gt;v-bind (単方向バインディング: 親 → 子)&lt;/h3&gt;
&lt;p&gt;Component の呼び出し方法がわかったので、次に親 → 子の Binding を説明します。&lt;/p&gt;
&lt;p&gt;親で子のテキストを変更可能にするイメージです。&lt;/p&gt;
&lt;p&gt;以下のコードは親で設定したテキストを子で表示します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;子&lt;/strong&gt;: ChildComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  {{bindName}}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  props: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;bindName&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;子では親からのデータを受け取るため、&lt;strong&gt;props&lt;/strong&gt; を用意します。&lt;/p&gt;
&lt;p&gt;受け取るデータの名前は親と子で連携させる必要があります。今回は &lt;strong&gt;bindName&lt;/strong&gt; と名付けます。&lt;/p&gt;
&lt;p&gt;props は配列型なので、親から受け取るデータを複数持つこともできます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;親&lt;/strong&gt;: ParentComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;ChildComponent&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; :bindName&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;dataName&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; ChildComponent &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;xxxx/ChildComponent.vue&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  components: { ChildComponent },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      dataName: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;string&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;親では html 側で呼び出します。呼び出す時に &lt;code&gt;:bindName=&amp;quot;dataName&amp;quot;&lt;/code&gt; と属性が設定されています。&lt;/p&gt;
&lt;p&gt;ここで親と子のデータをバインド、連携させています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bindName&lt;/code&gt; は子の props で設定した名前&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dataName&lt;/code&gt; は親で扱っているデータの名前&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これで、親 → 子の Binding は完了です。&lt;/p&gt;
&lt;h3 id=&quot;v-on-単方向バインディング-子--親&quot;&gt;v-on (単方向バインディング: 子 → 親)&lt;/h3&gt;
&lt;p&gt;次に、子 → 親の Binding を説明します。&lt;/p&gt;
&lt;p&gt;子で発生したイベントを親に検知、引き継ぐイメージです。&lt;/p&gt;
&lt;p&gt;以下のコードは子のテキストをクリックすると親でイベントを検知して、親で表示されているテキスト内容が &lt;strong&gt;string → モジ&lt;/strong&gt; に変更します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;子&lt;/strong&gt;: ChildComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; @click&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;clickText()&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      クリックして変更&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  methods: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;    clickText&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$emit&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;onName&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;モジ&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;子ではクリックイベントを設定します。&lt;code&gt;@click&lt;/code&gt; がクリックイベント設定です。&lt;/p&gt;
&lt;p&gt;script 側では対象の Function 内で &lt;strong&gt;emit&lt;/strong&gt; と記述しています。これが、子から親にイベントを検知させる方法です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第一引数の &lt;strong&gt;onName&lt;/strong&gt; は検知させたい名前&lt;/li&gt;
&lt;li&gt;第二引数の &lt;strong&gt;モジ&lt;/strong&gt; は実際に送るデータ (オブジェクト型でも OK)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これで「クリックして変更」をクリックすると親の &lt;code&gt;onName&lt;/code&gt; に伝播します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;親&lt;/strong&gt;: ParentComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  {{dataName}}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;ChildComponent&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; @onName&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;changeName&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; ChildComponent &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;xxxx/ChildComponent.vue&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  components: { ChildComponent },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      dataName: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;string&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  methods: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;    changeName&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.dataName &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; item&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;親では基本的に v-bind と同様のことをしています。&lt;/p&gt;
&lt;p&gt;他の追加処理はテキストの変更処理です。&lt;code&gt;methods&lt;/code&gt; 内の &lt;code&gt;changeName&lt;/code&gt; 引数に emit で設定した値が梱包されています。&lt;/p&gt;
&lt;p&gt;これで、子 → 親の Binding は完了です。&lt;/p&gt;
&lt;h2 id=&quot;応用編&quot;&gt;応用編&lt;/h2&gt;
&lt;p&gt;今までは単方向バインディングのみだったので、双方向にデータを受け渡すことができません。&lt;/p&gt;
&lt;p&gt;そこで以下からは、双方向バインディングの実装方法を解説します。&lt;/p&gt;
&lt;p&gt;双方向バインディングが最も難しいので頑張りましょう。&lt;/p&gt;
&lt;h3 id=&quot;v-bind-と-v-on-双方向バインディング&quot;&gt;v-bind と v-on (双方向バインディング)&lt;/h3&gt;
&lt;p&gt;Vue.js の双方向バインディングは大きく 2 種類の方法があります。&lt;/p&gt;
&lt;p&gt;最初に最もベーシックな方法を解説します。&lt;/p&gt;
&lt;p&gt;上記で解説した&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;v-bind (単方向バインディング: 親 → 子)&lt;/li&gt;
&lt;li&gt;v-on (単方向バインディング: 子 → 親)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を&lt;strong&gt;組み合わせる方法&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;以下のコードの概要です。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;親で子で表示する文字列を設定 (string)&lt;/li&gt;
&lt;li&gt;子でクリックすると親にクリックイベントを送る (モジと書かれたデータを送信)&lt;/li&gt;
&lt;li&gt;親で文字列が string → モジ に変更&lt;/li&gt;
&lt;li&gt;子の string がモジに変更&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;先程までは子、親の順に書きましたが、理解しやすさ優先でここからは&lt;strong&gt;親、子の順に書きます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;親&lt;/strong&gt;: ParentComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;ChildComponent&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; :bindName&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;dataName&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; @onName&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;changeName&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; ChildComponent &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;xxxx/ChildComponent.vue&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  components: { ChildComponent },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      dataName: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;string&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  methods: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;    changeName&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.dataName &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; item&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;行っていることは v-bind と v-on をやっているだけです。親はそこそこシンプルです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;子&lt;/strong&gt;: ChildComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {{bindName}}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; @click&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;clickText()&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      クリックして変更&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  props: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;bindName&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  methods: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;    clickText&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$emit&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;onName&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;モジ&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;子も同様に v-bind と v-on をやっているだけです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;分かりづらい場合は、上で書いた順序通りに処理を追うと理解しやすいです&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;sync-双方向バインディング&quot;&gt;sync (双方向バインディング)&lt;/h3&gt;
&lt;p&gt;v-bind と v-on で双方向バインディングすると処理が少し複雑になります。&lt;/p&gt;
&lt;p&gt;そこで、超応用の &lt;strong&gt;sync&lt;/strong&gt; の登場です。&lt;/p&gt;
&lt;p&gt;sync は簡単に説明すると &lt;strong&gt;v-bind を同期処理に変換&lt;/strong&gt;します。&lt;/p&gt;
&lt;p&gt;以下のコードでも先程と同じような処理を行っています。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;親で子で表示する文字列を設定 (string)&lt;/li&gt;
&lt;li&gt;子でクリックすると親にクリックイベントを送る (モジと書かれたデータを送信)&lt;/li&gt;
&lt;li&gt;親で文字列が string → モジ に変更&lt;/li&gt;
&lt;li&gt;子の string がモジに変更&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;親&lt;/strong&gt;: ParentComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;ChildComponent&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; :bindName.sync&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;dataName&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; ChildComponent &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;quot;xxxx/ChildComponent.vue&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  components: { ChildComponent },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      dataName: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;string&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    };&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;親の処理がスッキリしましたね。&lt;/p&gt;
&lt;p&gt;ポイントは &lt;strong&gt;bindName.sync&lt;/strong&gt; です。sync を書くことで v-on で行っていた代入処理を省略できます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;子&lt;/strong&gt;: ChildComponent.vue&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {{bindName}}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; @click&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;clickText()&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      クリックして変更&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  props: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;bindName&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  methods: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;    clickText&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$emit&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;update:bindName&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;モジ&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;};&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;子も少し変化しています。emit の第一引数に &lt;strong&gt;update&lt;/strong&gt; が追加されています。&lt;/p&gt;
&lt;p&gt;update を書くことで、親の sync に通知がいく仕組みです。&lt;/p&gt;
&lt;h3 id=&quot;v-on-と-sync-の違い&quot;&gt;v-on と sync の違い&lt;/h3&gt;
&lt;p&gt;紹介したとおり sync だと処理を省略して書けるので便利ですが、注意点もあります。&lt;/p&gt;
&lt;p&gt;sync は同期処理なので、フィルター処理をはさみたい時など&lt;strong&gt;データを加工したい時は使用できません&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;双方向バインディングは以下の使い分けをおすすめします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vue ファイル間でデータを加工するなら &lt;strong&gt;v-bind と v-on&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;vue ファイル間でデータを加工しないなら &lt;strong&gt;sync&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;今回は Vue.js の Component と Binding を紹介しました。&lt;/p&gt;
&lt;p&gt;とても重要な機能なので、何回も読み直してマネぶことをおすすめします。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-04-02-vue-base/&quot;&gt;Vue.js 入門 - Vue の基礎&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-03-31-vue-angular/&quot;&gt;1 年以上使用したエンジニアからみる Angular と Vue.js の違い&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><category>build</category><category>JavaScript</category><category>Vue.js</category><category>Component</category></item><item><title>ブログ用 MacBook の選び方 — Air で十分、Pro はクリエイター向け</title><link>https://aulvem.com/ja/blog/2021-04-08-blog-macbook/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-08-blog-macbook/</guid><description>ブログ執筆用に MacBook を選ぶなら、ほぼ全員 MacBook Air で足りる。Pro を検討するのは動画編集・開発・写真現像を兼用する人だけ。Air と Pro の違いと、買って後悔しない選び方をまとめる。</description><pubDate>Thu, 08 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（Air で十分 / Pro はクリエイター向け）は今も有効だが、具体的なモデル名・価格・スペックは執筆当時（2021 年）のもの。Apple Silicon 世代の刷新が続いているので、購入前に最新モデルを必ず確認すること。Heavy リライト済み — 公開前に商品リンクの差し替えを確認する。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ブログを始めようとして MacBook を見にいくと、Air・Pro・13 インチ・14 インチ・16 インチと選択肢が多くて手が止まる。値段差は10万円以上開くこともあって、いきなり Pro を選ぶのも怖い。&lt;/p&gt;
&lt;p&gt;この記事は「ブログを書く」という用途に絞って、MacBook Air と Pro のどちらを選べばいいかをまとめる。結論から言うと、ほぼ全員 Air で足りる。&lt;/p&gt;
&lt;p&gt;Windows ノートと比較したい人は併せて &lt;a href=&quot;https://aulvem.com/blog/2021-03-13-blog-pc/&quot;&gt;ブログ用のノートパソコンの選び方&lt;/a&gt; を読むと、OS をまたいだ判断軸が見える。&lt;/p&gt;
&lt;h2 id=&quot;結論--ブログ用なら-macbook-airpro-はクリエイター兼用のときだけ&quot;&gt;結論 — ブログ用なら MacBook Air、Pro はクリエイター兼用のときだけ&lt;/h2&gt;
&lt;p&gt;短い答え: ブログ執筆だけが目的なら MacBook Air の一番安いモデルで十分。Pro との差額（おおむね5〜10万円）を払うのは、動画編集・写真現像・プログラミングを兼用するときだけでいい。&lt;/p&gt;
&lt;p&gt;理由はシンプルで、WordPress 執筆はブラウザ上で完結するから。ブラウザがストレスなく動けばよく、Air の Apple Silicon は当時のエントリーノートとしては余裕がある性能だった。&lt;/p&gt;
&lt;p&gt;判断軸は2つだけ:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;MacBook で何をするか&lt;/strong&gt; — ブログ「だけ」なら Air、動画・写真・開発も兼ねるなら Pro&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;持ち運ぶか&lt;/strong&gt; — Air は軽い、Pro 16 インチは2kg を超える&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に言うと、この2点を整理すれば迷う余地はあまり残らない。&lt;/p&gt;
&lt;h2 id=&quot;macbook-選びで見るべき3つのポイント&quot;&gt;MacBook 選びで見るべき3つのポイント&lt;/h2&gt;
&lt;p&gt;短い答え: ブログ用なら「メモリ」「重量」「画面サイズ」だけ見ればいい。CPU の世代やコア数は気にしなくていい。&lt;/p&gt;
&lt;p&gt;理由は、ライティング作業の負荷が CPU よりメモリ側に効きやすいから。ブラウザのタブを何十枚も開きながら書く人は CPU よりメモリで詰まる。&lt;/p&gt;
&lt;h3 id=&quot;メモリは-8gb-が下限16gb-なら長く戦える&quot;&gt;メモリは 8GB が下限、16GB なら長く戦える&lt;/h3&gt;
&lt;p&gt;メモリは PC が「一度に作業できる量」を決める。ブラウザのタブを増やすほど消費が増えるので、ブログ執筆中に資料タブを30枚開きっぱなしにする人はここで詰まる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;8GB&lt;/strong&gt;: WordPress 編集画面 + 資料タブ10枚程度なら問題なし&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;16GB&lt;/strong&gt;: 4〜5年使うなら推奨。タブ運用がラフでも詰まらない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Apple Silicon の MacBook はメモリを後から増設できない。買うときに決め切る必要がある。&lt;/p&gt;
&lt;h3 id=&quot;重量--家中心なら無視持ち運ぶなら-13kg-以下&quot;&gt;重量 — 家中心なら無視、持ち運ぶなら 1.3kg 以下&lt;/h3&gt;
&lt;p&gt;家でしか書かないなら重量は気にしなくていい。&lt;/p&gt;
&lt;p&gt;外で書くなら、MacBook Air が現実的な選択肢になる。Pro は 14 インチでも 1.5kg、16 インチで 2kg を超える。毎日カバンに入れるとこの差は腰にくる。&lt;/p&gt;
&lt;h3 id=&quot;画面サイズ--13-インチで足りる家用なら外部モニターを足す&quot;&gt;画面サイズ — 13 インチで足りる、家用なら外部モニターを足す&lt;/h3&gt;
&lt;p&gt;ブログ執筆は文字中心なので、13 インチでも作業はできる。&lt;/p&gt;
&lt;p&gt;家で長時間書くなら、ノート本体のサイズより外部モニターを足す方が体感差が大きい。資料を片方の画面に置きっぱなしにできるので、タブの切り替え操作が消える。&lt;/p&gt;
&lt;h2 id=&quot;モデル別おすすめ&quot;&gt;モデル別おすすめ&lt;/h2&gt;
&lt;p&gt;短い答え: ブログ「だけ」なら MacBook Air 13 インチ。動画編集や開発も兼用するなら MacBook Pro 14 インチ。Pro 16 インチはブロガー向けではない。&lt;/p&gt;
&lt;h3 id=&quot;macbook-air-13-インチ--ブロガーのデフォルト&quot;&gt;MacBook Air 13 インチ — ブロガーのデフォルト&lt;/h3&gt;
&lt;p&gt;ブログ執筆だけが目的ならこれ一択。執筆当時（2021 年）の M1 MacBook Air は税込 115,280 円から、メモリ 8GB / SSD 256GB の構成で発売されていた。&lt;/p&gt;
&lt;p&gt;メモリだけ 16GB にカスタマイズすると2万円前後上乗せになるが、4〜5年使う想定ならここはケチらない方がいい。&lt;/p&gt;
&lt;h3 id=&quot;macbook-pro-14-インチ--兼用するなら&quot;&gt;MacBook Pro 14 インチ — 兼用するなら&lt;/h3&gt;
&lt;p&gt;以下のどれかに当てはまるなら Pro 14 インチを検討してもいい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;動画編集（4K 書き出しを日常的にやる）&lt;/li&gt;
&lt;li&gt;写真の RAW 現像&lt;/li&gt;
&lt;li&gt;iOS / macOS アプリ開発、機械学習&lt;/li&gt;
&lt;li&gt;外部モニター2枚以上を常時つなぐ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;逆に言えば、ブログだけならこの性能はオーバースペック。価格差は外部モニターやデスク環境に回した方がリターンが大きい。&lt;/p&gt;
&lt;h3 id=&quot;macbook-pro-16-インチ--ブロガー向けではない&quot;&gt;MacBook Pro 16 インチ — ブロガー向けではない&lt;/h3&gt;
&lt;p&gt;重量2kg 超 / 価格30万円超のラインで、ブログ用途では明確に過剰。デスクトップ代替として据え置き運用する人向けで、ブロガー1台目の選択肢には入らない。&lt;/p&gt;
&lt;h2 id=&quot;比較-macbook-air-vs-proブログ用途で見たとき&quot;&gt;比較: MacBook Air vs Pro（ブログ用途で見たとき）&lt;/h2&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;MacBook Air 13”&lt;/th&gt;&lt;th&gt;MacBook Pro 14”&lt;/th&gt;&lt;th&gt;MacBook Pro 16”&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;メモリ（標準）&lt;/td&gt;&lt;td&gt;8GB&lt;/td&gt;&lt;td&gt;16GB&lt;/td&gt;&lt;td&gt;16GB&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;重量&lt;/td&gt;&lt;td&gt;約 1.29kg&lt;/td&gt;&lt;td&gt;約 1.55kg&lt;/td&gt;&lt;td&gt;約 2.1kg&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;バッテリー駆動&lt;/td&gt;&lt;td&gt;最大 15〜18h&lt;/td&gt;&lt;td&gt;最大 17h&lt;/td&gt;&lt;td&gt;最大 21h&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格（2021 時点）&lt;/td&gt;&lt;td&gt;11.5万円〜&lt;/td&gt;&lt;td&gt;23万円〜&lt;/td&gt;&lt;td&gt;30万円〜&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ブログ用途の余裕度&lt;/td&gt;&lt;td&gt;十分&lt;/td&gt;&lt;td&gt;過剰&lt;/td&gt;&lt;td&gt;完全に過剰&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;兼用向き&lt;/td&gt;&lt;td&gt;軽作業のみ&lt;/td&gt;&lt;td&gt;動画・写真・開発&lt;/td&gt;&lt;td&gt;重い動画編集&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;ブログだけで使う前提なら、Air と Pro 14 インチの差額（10万円超）は外部モニターや椅子に回した方が執筆体験は確実に上がる。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. MacBook Air のメモリは 8GB と 16GB どちらを選ぶべき？&lt;/strong&gt;
A. 4〜5年使う予定なら 16GB。Apple Silicon は後から増設できないので、ここは将来の自分への保険と考える。2〜3年で買い替える前提なら 8GB でも問題ない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Mac か Windows か、ブログ執筆だけならどちらがいい？&lt;/strong&gt;
A. ブログ執筆の作業効率は OS で変わらない。普段使っている OS に合わせるのが摩擦が少ない。Windows 機との比較は &lt;a href=&quot;https://aulvem.com/blog/2021-03-13-blog-pc/&quot;&gt;ブログ用のノートパソコンの選び方&lt;/a&gt; にまとめてある。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPad Pro + Magic Keyboard でブログは書けますか？&lt;/strong&gt;
A. 短文ならいけるが、WordPress の管理画面・プラグイン設定・画像の一括処理はノート PC の方がはっきり速い（と言うか、iPad はブラウザ拡張が貧弱なところで詰まりやすい）。長期的にはノート PC を勧める。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 中古の MacBook を買うのはアリですか？&lt;/strong&gt;
A. アリ。ただし Apple Silicon 世代（M1 以降）に限る。Intel 世代は OS サポート期間が短くなる可能性が高いので、安くても避けたほうが無難。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;ブログ用 MacBook 選びは、Pro か Air かで悩む前に「MacBook で何をするか」を整理すれば9割決まる。&lt;/p&gt;
&lt;p&gt;執筆だけなら Air 13 インチで十分。Pro が要るのは動画編集・写真現像・開発を兼用するときだけ。価格差を外部モニターやデスク環境に回す方が、最終的な執筆体験は確実に上がる。&lt;/p&gt;
&lt;p&gt;Windows ノートと迷っているなら、姉妹記事の &lt;a href=&quot;https://aulvem.com/blog/2021-03-13-blog-pc/&quot;&gt;ブログ用のノートパソコンの選び方&lt;/a&gt; も併せて読むと判断材料が揃う。&lt;/p&gt;</content:encoded><category>reviews</category><category>pc</category><category>apple</category></item><item><title>Logicool MX Master 2S vs 3 比較レビュー — どっちを買うべきか</title><link>https://aulvem.com/ja/blog/2021-04-07-logitech-mouse-comparison/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-07-logitech-mouse-comparison/</guid><description>Logicool の MX Master 2S と MX Master 3 を比較レビュー。形状・サムホイール・サブボタン・給電タイプの違いから、用途別にどちらを選ぶべきかを整理します。迷うなら3（新規購入なら現行3S）という結論と、2Sが選択肢に残るケースまで解説します。</description><pubDate>Wed, 07 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。MX Master 2S は現行ラインからは外れ、2026 年時点の後継は MX Master 3S。とはいえ 2S と 3 の差分は、3S を選ぶ判断にもそのまま流用できる。スクリーンショットは執筆当時のまま。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;仕事用にいいマウスが欲しい。候補に Logicool が挙がる。問題は MX Master 2S と MX Master 3 のどちらを選ぶか、というところで止まる。&lt;/p&gt;
&lt;p&gt;実機を半年以上ずつ使ったうえで、両者の差分を整理する。&lt;/p&gt;
&lt;h2 id=&quot;結論--迷ったら-mx-master-3&quot;&gt;結論 — 迷ったら MX Master 3&lt;/h2&gt;
&lt;p&gt;短い答え: 新規購入なら &lt;strong&gt;MX Master 3&lt;/strong&gt;（または現行の 3S）を選ぶ。&lt;/p&gt;
&lt;p&gt;理由は次の3点に集約される。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;サムホイール（サイドホイール）が大きく、横スクロールが指1本で完結する&lt;/li&gt;
&lt;li&gt;給電が USB Type-C に変わり、他デバイスとケーブルを共用できる&lt;/li&gt;
&lt;li&gt;メインホイールがスクロール量を検知して感度を自動で切り替える&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただし「手のひらをべったり置く持ち方が好き」「手が大きい」人は MX Master 2S が合う可能性がある。詳しくは &lt;a href=&quot;https://aulvem.com/blog/2021-03-09-logicool-mx-master-2s/&quot;&gt;MX Master 2S 単体のレビュー&lt;/a&gt; と &lt;a href=&quot;https://aulvem.com/blog/2021-04-03-logicool-mx-master-3/&quot;&gt;MX Master 3 単体のレビュー&lt;/a&gt; も参考にしてほしい。&lt;/p&gt;
&lt;h2 id=&quot;比較表--スペックと操作感&quot;&gt;比較表 — スペックと操作感&lt;/h2&gt;
&lt;p&gt;短い答え: 形状・サムホイール・給電の3点が主な差分。価格差はおよそ 3,000〜4,000 円。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master 2S と MX Master 3 を上から並べた比較写真&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-top.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;


















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;MX Master 2S&lt;/th&gt;&lt;th&gt;MX Master 3&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;形状&lt;/td&gt;&lt;td&gt;平べったく曲線的&lt;/td&gt;&lt;td&gt;縦に長く直角的&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;推奨される持ち方&lt;/td&gt;&lt;td&gt;手のひらを置く&lt;/td&gt;&lt;td&gt;親指と小指で挟む&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サムホイール&lt;/td&gt;&lt;td&gt;小さい&lt;/td&gt;&lt;td&gt;大きい&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サブボタン配置&lt;/td&gt;&lt;td&gt;上下&lt;/td&gt;&lt;td&gt;左右（前後）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;メインホイール&lt;/td&gt;&lt;td&gt;機械式（手動切替）&lt;/td&gt;&lt;td&gt;MagSpeed（自動切替）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;給電&lt;/td&gt;&lt;td&gt;microUSB Type-B&lt;/td&gt;&lt;td&gt;USB Type-C&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;バッテリー公称&lt;/td&gt;&lt;td&gt;約 70 日&lt;/td&gt;&lt;td&gt;約 70 日&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯（執筆当時）&lt;/td&gt;&lt;td&gt;約 9,400 円&lt;/td&gt;&lt;td&gt;約 13,000 円〜&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;スペックだけ見ると 3 が全方位で上だが、形状の好みは別軸の問題なので、表だけで判断しない方がいい。&lt;/p&gt;
&lt;h2 id=&quot;形状と持ちやすさ&quot;&gt;形状と持ちやすさ&lt;/h2&gt;
&lt;p&gt;短い答え: 2S は平べった、3 は縦に高い。持ち方そのものが変わる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master 2S と MX Master 3 を裏返した比較写真&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-back.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;2S は左側面が丸く、手のひらを置くように使う。手の重さでマウスを押さえる感覚に近い。&lt;/p&gt;
&lt;p&gt;3 は左側面が直線的で、背が高い。親指と小指でくびれをつまみ、持ち上げるように動かす形になる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master 2S と MX Master 3 を正面から見た比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-front.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master 2S と MX Master 3 を後ろから見た比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-rear.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;後ろから見ると 3 のほうが明確に高い。これが「掴む持ち方」の根拠になる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master 2S と MX Master 3 を右側面から見た比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-right.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master 2S と MX Master 3 を左側面から見た比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-left.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;左側面の角度が違うので、サムホイールへの親指の届き方も変わる。3 のほうがホイールを「腹で押す」感覚で操作できる。&lt;/p&gt;
&lt;h2 id=&quot;サムホイール--横スクロールの主役&quot;&gt;サムホイール — 横スクロールの主役&lt;/h2&gt;
&lt;p&gt;短い答え: 3 のサムホイールは明確に使いやすい。Excel やコードを横に長く扱う人には差が出る。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master 2S と MX Master 3 のサムホイールを並べた比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-thumb-wheel.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;サムホイールは主に水平スクロールに使う。Excel の右方向の移動、コードの長い行の確認、動画編集のタイムライン送り、Figma の横方向パン。どれもキーボード補助なしで指1本で済む。&lt;/p&gt;
&lt;p&gt;2S のサムホイールは小さく、親指の腹だと「探す」動作が要る。3 は大きく、自然に親指が乗る位置にある。&lt;/p&gt;
&lt;p&gt;メインホイール（縦）とサムホイール（横）で XY 2軸を同時に動かせるのは、両者に共通する強みではある。&lt;/p&gt;
&lt;h2 id=&quot;サブボタンの位置&quot;&gt;サブボタンの位置&lt;/h2&gt;
&lt;p&gt;短い答え: 2S は上下、3 は前後（左右）。前後のほうが直感的。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master 2S と MX Master 3 のサイドボタン配置の比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-side-button.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;2S のサイドボタンは「上下」配置で、これは Logicool 内でも珍しい。慣れると押し分けが速いが、戻る・進むに割り当てると誤爆が出やすい。&lt;/p&gt;
&lt;p&gt;3 は前後（左右）配置で、一般的なマウスと同じ感覚で使える。他のマウスと併用していても混乱しない。&lt;/p&gt;
&lt;h2 id=&quot;メインホイールと給電&quot;&gt;メインホイールと給電&lt;/h2&gt;
&lt;p&gt;短い答え: 3 のメインホイールは自動切替。給電は Type-C で、ケーブル共用が楽。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX Master のメインホイール拡大&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-07-logitech-mouse-comparison/2021-04-07-Logitech-Mouse-Comparison-thumb.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;メインホイールは両者とも「ノッチあり（ギアが噛むような感触）」と「フリースピン（無段階）」の2モードを持つ。2S はホイール上のボタンで手動切替。3 は MagSpeed と呼ばれる電磁機構で、スクロール量に応じて自動で切り替わる。&lt;/p&gt;
&lt;p&gt;短い距離は丁寧に、長い距離は一気に。これがスイッチを意識せずに切り替わるのは、思った以上に効く。&lt;/p&gt;
&lt;p&gt;給電は 2S が microUSB Type-B、3 が USB Type-C。2026 年の周辺機器は Type-C が前提なので、ケーブルを1本に統一できる 3 のほうがケーブル管理上は楽。充電頻度は 2〜3 ヶ月に1回なので、致命的な差ではない。&lt;/p&gt;
&lt;h2 id=&quot;使い分け--タイプ別の選び方&quot;&gt;使い分け — タイプ別の選び方&lt;/h2&gt;
&lt;p&gt;短い答え: 用途と手のサイズで選ぶ。Excel 多用なら 3、家用の据え置きなら好み次第。&lt;/p&gt;
&lt;h3 id=&quot;家用据え置きで-excel-やコードを書く&quot;&gt;家用・据え置きで Excel やコードを書く&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;おすすめ: MX Master 3&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;サムホイールが大きいので、横スクロールが頻発する作業との相性がいい。メインホイールの自動切替も、長いシートを上下する人ほど効果が出る。Type-C も机周りの統一には地味に効く。&lt;/p&gt;
&lt;h3 id=&quot;手のひらをべったり置きたい--手が大きい&quot;&gt;手のひらをべったり置きたい / 手が大きい&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;おすすめ: MX Master 2S&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;3 は「掴む持ち方」前提なので、手のひらを置く持ち方が好みの人にはやや窮屈に感じることがある。手が大きく、平べったいマウスに慣れているなら 2S の形状が手に馴染む。&lt;/p&gt;
&lt;h3 id=&quot;持ち運び中心--鞄に入れて移動する&quot;&gt;持ち運び中心 / 鞄に入れて移動する&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;どちらも非推奨&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;MX Master シリーズは据え置き向けの大型マウス。持ち運ぶなら MX Anywhere 3 系の小型モデルのほうが鞄を選ばない。&lt;/p&gt;
&lt;h3 id=&quot;ゲーム中心&quot;&gt;ゲーム中心&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;どちらも非推奨&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;反応速度は普通のマウス相当。FPS や精密操作が必要なゲームには専用ゲーミングマウスを勧める。2S は過去にジェスチャーボタンの強度問題が出た事例もあり（&lt;a href=&quot;https://aulvem.com/blog/2021-03-09-logicool-mx-master-2s/&quot;&gt;2S 単体レビュー&lt;/a&gt;参照）、激しい操作とは相性が悪い。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. 手が小さくても MX Master 3 は使えますか？&lt;/strong&gt;
A. 3 は「掴む持ち方」が基本なので、手のひらの大きさより指の長さが効く。指でつまめれば操作はできる。気になるなら店頭で握ってから決めるのが一番確実。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Mac でも使えますか？&lt;/strong&gt;
A. 両方とも使える。Logi Options+（旧 Logicool Options）が Mac 版も提供されている。Bluetooth または専用 USB レシーバーのどちらでも接続できる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPad で使えますか？&lt;/strong&gt;
A. iPadOS 13.4 以降ならマウス対応で、Bluetooth ペアリングで動作する。サムホイールやジェスチャーは一部の機能が iPad 側でサポートされていない可能性があるので、用途次第。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 2026 年に買うなら 3S を選んだほうがいいですか？&lt;/strong&gt;
A. 新規購入なら 3S を勧める。3 の改良版で、センサー解像度とクリック音が改善されている。本記事の「3」の評価は 3S にもおおむね当てはまると考えてよい。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;MX Master 2S と MX Master 3 はシリーズ名こそ同じだが、形状から操作感まで別物に近い。&lt;/p&gt;
&lt;p&gt;新規購入なら MX Master 3（または現行の 3S）が無難。手のひらを置く持ち方が好きで、サイズに不満がなければ 2S も選択肢に残る。&lt;/p&gt;
&lt;p&gt;個別の使い込みレビューは &lt;a href=&quot;https://aulvem.com/blog/2021-03-09-logicool-mx-master-2s/&quot;&gt;MX Master 2S レビュー&lt;/a&gt; と &lt;a href=&quot;https://aulvem.com/blog/2021-04-03-logicool-mx-master-3/&quot;&gt;MX Master 3 レビュー&lt;/a&gt; にまとめてあるので、判断材料が足りないと感じたら併せて読んでほしい。&lt;/p&gt;</content:encoded><category>reviews</category><category>mouse</category><category>logicool</category><category>pc-peripherals</category></item><item><title>iPad mini の選び方 — 片手で持てる 8.3 インチが効くのは読書・ゲーム・現場メモの3用途</title><link>https://aulvem.com/ja/blog/2021-04-05-ipad-mini/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-05-ipad-mini/</guid><description>iPad mini はどんな人に向くのか。無印 iPad / iPad Air との比較、容量と Cellular の選び方、現行 mini 7 と旧 mini 6 の違いを用途ベースでまとめる。</description><pubDate>Mon, 05 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事（初出 2021 年、iPad mini 6 発売前の世代を前提に書かれていた）。2026 年現在の現行モデルは mini 7（A17 Pro、2024 年 10 月発売）。骨子は今も使えるが、価格・仕様は Apple 公式の最新値で確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;iPad mini は「小さい iPad」と片づけられがちで、無印 iPad との違いがわかりにくい。値段だけ見ると mini のほうが高く、画面は無印より小さい。それなのに mini を選ぶ理由はどこにあるのか。&lt;/p&gt;
&lt;p&gt;この記事は、iPad mini が効く用途を3つに絞り、無印 iPad / iPad Air と並べてどれを選ぶべきかを整理する。&lt;/p&gt;
&lt;h2 id=&quot;結論--片手で長時間持つ用途があるなら-miniなければ無印-ipad&quot;&gt;結論 — 片手で長時間持つ用途があるなら mini、なければ無印 iPad&lt;/h2&gt;
&lt;p&gt;短い答え: iPad mini は「片手で持ったまま使い続ける」場面で価値が出る。具体的には電子書籍・ゲーム・現場メモの3用途。それ以外なら無印 iPad のほうが画面が広く、価格も安い。&lt;/p&gt;
&lt;p&gt;理由は、mini の差別化要素が 8.3 インチという&lt;strong&gt;サイズそのもの&lt;/strong&gt;にあるから。CPU や画面品質で勝つわけではなく、片手で持てる重量とフォームファクタが本体価値。机に置いて使うなら、その価値は消える。&lt;/p&gt;
&lt;p&gt;判断基準を3点にまとめる:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;持ち方&lt;/strong&gt;: 片手で持つ時間が長いか — Yes なら mini、No なら無印 iPad&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;容量&lt;/strong&gt;: 写真・動画を端末本体に貯めるか — 貯めないなら最小構成で足りる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;接続&lt;/strong&gt;: 外で単独でネットに繋ぐ必要があるか — Wi-Fi で足りるか、テザリングで足りるか&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;用途別判断--mini-が効くのは3つだけ&quot;&gt;用途別判断 — mini が効くのは3つだけ&lt;/h2&gt;
&lt;p&gt;短い答え: 電子書籍・ゲーム・現場メモ。この3つに当てはまらないなら、mini を選ぶ理由は弱い。&lt;/p&gt;
&lt;p&gt;理由は、それ以外の用途（動画視聴、ノート、イラスト、書類確認）では画面の広さが効くから。同じ価格帯なら無印 iPad のほうが体験が良い。&lt;/p&gt;
&lt;h3 id=&quot;電子書籍を読む&quot;&gt;電子書籍を読む&lt;/h3&gt;
&lt;p&gt;8.3 インチは文庫本〜単行本の中間サイズ。マンガの完全版より一回り小さい。&lt;/p&gt;
&lt;p&gt;片手で 30 分以上持っていても腕が疲れにくいのが大きい。重量は mini 7 で 293g（Wi-Fi モデル、公称）。無印 iPad（約 477g）と比べると、長時間読書での腕の負担が体感で違う。&lt;/p&gt;
&lt;h3 id=&quot;ゲームをする&quot;&gt;ゲームをする&lt;/h3&gt;
&lt;p&gt;タップ移動距離が短くて済むのが mini の隠れた利点。&lt;/p&gt;
&lt;p&gt;大画面タブレットでアクション系ゲームをやると、両手の親指が画面端まで届かず、持ち替えが発生する。mini なら端から端まで親指圏内に収まる。&lt;/p&gt;
&lt;h3 id=&quot;現場でメモを取る資料を出す&quot;&gt;現場でメモを取る・資料を出す&lt;/h3&gt;
&lt;p&gt;立ち話で資料を相手に見せる、片手で持ったまま書き込む、ジャケットの内ポケットに入れて持ち歩く — こうした使い方は mini の独壇場。&lt;/p&gt;
&lt;p&gt;無印 iPad だと両手で持つ前提になり、ポケットに入らない。&lt;/p&gt;
&lt;h2 id=&quot;スペック--現行-mini-7-と旧-mini-6-の違い&quot;&gt;スペック — 現行 mini 7 と旧 mini 6 の違い&lt;/h2&gt;
&lt;p&gt;短い答え: mini 7（2024）は A17 Pro、Apple Intelligence 対応。mini 6（2021）は A15 Bionic。日常用途では体感差は小さいが、長く使うなら 7。&lt;/p&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;項目&lt;/th&gt;&lt;th&gt;mini 7（2024）&lt;/th&gt;&lt;th&gt;mini 6（2021）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;チップ&lt;/td&gt;&lt;td&gt;A17 Pro&lt;/td&gt;&lt;td&gt;A15 Bionic&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Apple Intelligence&lt;/td&gt;&lt;td&gt;対応&lt;/td&gt;&lt;td&gt;非対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ストレージ&lt;/td&gt;&lt;td&gt;128 / 256 / 512GB&lt;/td&gt;&lt;td&gt;64 / 256GB&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Pencil&lt;/td&gt;&lt;td&gt;Apple Pencil Pro / USB-C&lt;/td&gt;&lt;td&gt;Apple Pencil 2 / USB-C&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;重量（Wi-Fi）&lt;/td&gt;&lt;td&gt;293g&lt;/td&gt;&lt;td&gt;293g&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;発売&lt;/td&gt;&lt;td&gt;2024 年 10 月&lt;/td&gt;&lt;td&gt;2021 年 9 月&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;（数値は Apple 公式の iPad mini 仕様ページ準拠）&lt;/p&gt;
&lt;p&gt;mini 6 の中古や整備済品が安く出ていれば、読書・ブラウジング中心の用途なら十分使える。ただし最小ストレージが 64GB しかなく、現代のアプリ事情では手狭。長期運用を考えるなら mini 7 の 128GB がスタート地点。&lt;/p&gt;
&lt;h2 id=&quot;比較--ipad-mini-vs-無印-ipad-vs-ipad-air&quot;&gt;比較 — iPad mini vs 無印 iPad vs iPad Air&lt;/h2&gt;
&lt;p&gt;短い答え: 携帯性なら mini、コスパなら無印 iPad、作業用なら Air。&lt;/p&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;iPad mini 7&lt;/th&gt;&lt;th&gt;無印 iPad（A16）&lt;/th&gt;&lt;th&gt;iPad Air（M3）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;画面サイズ&lt;/td&gt;&lt;td&gt;8.3 インチ&lt;/td&gt;&lt;td&gt;11 インチ&lt;/td&gt;&lt;td&gt;11 / 13 インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;重量（Wi-Fi）&lt;/td&gt;&lt;td&gt;293g&lt;/td&gt;&lt;td&gt;477g&lt;/td&gt;&lt;td&gt;460〜617g&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;携帯性&lt;/td&gt;&lt;td&gt;抜群（片手）&lt;/td&gt;&lt;td&gt;普通（両手）&lt;/td&gt;&lt;td&gt;普通〜やや重い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;作業用途&lt;/td&gt;&lt;td&gt;厳しい&lt;/td&gt;&lt;td&gt;こなせる&lt;/td&gt;&lt;td&gt;快適&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Pencil&lt;/td&gt;&lt;td&gt;Pro / USB-C&lt;/td&gt;&lt;td&gt;USB-C&lt;/td&gt;&lt;td&gt;Pro / USB-C&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯（参考）&lt;/td&gt;&lt;td&gt;中&lt;/td&gt;&lt;td&gt;低&lt;/td&gt;&lt;td&gt;高&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;（価格・スペックは Apple 公式サイトで確認）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;携帯性・読書・ゲーム&lt;/strong&gt; → mini&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コスパ重視・家中心&lt;/strong&gt; → 無印 iPad&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;メモ取り・イラスト・サブ機として作業もする&lt;/strong&gt; → Air&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;イラスト用途で iPad を検討している場合は、画面サイズと筆圧表現の話が別軸で必要になる。詳細は&lt;a href=&quot;https://aulvem.com/blog/2021-04-11-illustration-ipad/&quot;&gt;イラスト用 iPad の選び方&lt;/a&gt;を参照。&lt;/p&gt;
&lt;h2 id=&quot;容量と-cellular-の選び方&quot;&gt;容量と Cellular の選び方&lt;/h2&gt;
&lt;p&gt;短い答え: 写真と動画を端末本体に貯めない運用なら 128GB / Wi-Fi で足りる。判断基準は単純なので、悩む時間を短くする。&lt;/p&gt;
&lt;h3 id=&quot;容量--128gb-かそれ以上か&quot;&gt;容量 — 128GB か、それ以上か&lt;/h3&gt;
&lt;p&gt;iPad mini 7 の容量は 128 / 256 / 512GB。価格差は世代やキャンペーンで変動する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;写真・動画を iCloud / クラウドに逃がす運用&lt;/strong&gt; → 128GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;動画素材や大型ゲームを複数持ち歩く&lt;/strong&gt; → 256GB 以上&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;動画を長期保存したい&lt;/strong&gt; → そもそも iPad より外付け SSD のほうが向いている&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;wi-fi-か-cellular-か&quot;&gt;Wi-Fi か Cellular か&lt;/h3&gt;
&lt;p&gt;Cellular モデルは本体価格が上がり、別途回線契約も必要。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;家・職場の Wi-Fi で完結&lt;/strong&gt; → Wi-Fi モデル&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;外で頻繁に単独利用、スマホのテザリングが面倒&lt;/strong&gt; → Cellular / eSIM&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;判断がつかない&lt;/strong&gt; → Wi-Fi モデル + テザリングで運用してみる。後から不便を感じたら次回機で Cellular にする&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. iPad mini と無印 iPad、どちらを買うべきですか？&lt;/strong&gt;
A. 片手で持ったまま長時間使うなら mini、机に置いて作業するなら無印 iPad。携帯性に明確な用途（読書・ゲーム・現場メモ）がないなら、画面が広く価格も安い無印 iPad のほうがコスパが良い。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. mini 6（2021）と mini 7（2024）、まだ売っている旧型を買っても大丈夫ですか？&lt;/strong&gt;
A. 読書とブラウジング中心なら mini 6 でも実用上の差は小さい。ただし mini 7 は Apple Intelligence 対応・A17 Pro 搭載で長く使える前提なら 7 を勧める。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 容量は 128GB と 256GB / 512GB どちらが安全ですか？&lt;/strong&gt;
A. 写真と動画を端末本体に貯めないなら 128GB で困らない。iCloud 写真や Google フォトに逃がす運用なら最小構成で十分。動画素材を持ち歩くなら 256GB 以上。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Cellular モデルは必要ですか？&lt;/strong&gt;
A. 家とオフィスの Wi-Fi だけで使うなら不要。外で地図・原稿・資料を即出せる必要があるなら Cellular か eSIM。スマホのテザリングで足りるかを先に試してから決めると無駄が少ない。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;iPad mini を選ぶ理由は、性能でも画面でもなく「片手で持てるサイズ」そのもの。&lt;/p&gt;
&lt;p&gt;電子書籍・ゲーム・現場メモの3用途のどれかに当てはまるなら mini 7 の 128GB Wi-Fi が起点。当てはまらないなら、無印 iPad のほうが画面の広さと価格で勝る。&lt;/p&gt;
&lt;p&gt;iPad シリーズ全体での選び分けは、用途を「片手で持つか」「机に置くか」「絵を描くか」の3軸に分解すると迷いが減る。イラスト前提で買うなら別記事の&lt;a href=&quot;https://aulvem.com/blog/2021-04-11-illustration-ipad/&quot;&gt;イラスト用 iPad の選び方&lt;/a&gt;も合わせて確認したい。&lt;/p&gt;
</content:encoded><category>reviews</category><category>apple</category><category>ipad</category></item><item><title>ロジクール MX MASTER 3 レビュー — 2S からの正統進化、Type-C 給電と MagSpeed ホイール</title><link>https://aulvem.com/ja/blog/2021-04-03-logicool-mx-master-3/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-03-logicool-mx-master-3/</guid><description>仕事とプライベートで使い込んだロジクール MX MASTER 3 のレビュー。2S からの差分（USB Type-C 給電、MagSpeed ホイール、サムホイール）に絞って評価する。</description><pubDate>Sat, 03 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植・改稿した記事。MX MASTER 3 自体も 2026 時点では旧モデルで、現行は MX Master 3S（センサー解像度とクリック静音性が改善）。給電端子・MagSpeed ホイール・サムホイールといった本記事の評価軸は 3S にも引き継がれているので、3 / 3S どちらを検討する人にも読める内容にしてある。本文中のスクリーンショットは執筆当時の Logicool Options のもの（現在は Logi Options+ に世代交代）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ロジクール MX MASTER 3 を仕事とプライベートで1年以上使った視点でレビューする。&lt;/p&gt;
&lt;p&gt;前モデルの &lt;a href=&quot;https://aulvem.com/ja/blog/2021-03-09-logicool-mx-master-2s/&quot;&gt;MX MASTER 2S のレビュー&lt;/a&gt; を別記事に書いた。今回はその姉妹記事として、&lt;strong&gt;2S から何が変わったか・変わらなかったか&lt;/strong&gt;を軸に書く。新規購入で 3 / 2S / 3S のどれにすべきか迷っている人にも判断材料になるはず。&lt;/p&gt;
&lt;h2 id=&quot;結論--2s-を持っていないなら-3-or-3s-でいい&quot;&gt;結論 — 2S を持っていないなら 3 (or 3S) でいい&lt;/h2&gt;
&lt;p&gt;短い答え: 給電端子が USB Type-C になっただけでも 2S からの乗り換え価値はある。さらに MagSpeed ホイールとサムホイールの形状変更が加わり、Excel / コード編集 / Figma で「縦横を同時に動かす」体験が一段滑らかになっている。&lt;/p&gt;
&lt;p&gt;2S からの主な差分は以下の3点。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;給電端子が &lt;strong&gt;microUSB → USB Type-C&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;メインホイールが &lt;strong&gt;機械式 → MagSpeed（電磁式）&lt;/strong&gt; で、回転量に応じて自動で段階/無段階が切り替わる&lt;/li&gt;
&lt;li&gt;サムホイール（横スクロール）の形状が大きくなり、親指で回しやすくなった&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;逆に&lt;strong&gt;変わらなかった&lt;/strong&gt;のは、サイズ展開（フルサイズのみ）と独特のフォルム。手の小さい人にとっては相変わらず大きく、ここは 3S になっても同じ。&lt;/p&gt;
&lt;h2 id=&quot;外観と質感&quot;&gt;外観と質感&lt;/h2&gt;
&lt;p&gt;短い答え: 2S と並べると見分けがつく程度には角が立った造形。前方に USB Type-C 端子、左側面に大型サムホイール。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 3 上面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-center.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;左クリックにロジクールのロゴ。メインホイールの直上にスクロールモード（段階 / 無段階）固定切り替えボタン、親指側にジェスチャーボタン。&lt;/p&gt;
&lt;p&gt;接続は Bluetooth と Unifying 後継の USB レシーバーの2系統。レシーバーは付属する（MX MASTER 3 の初期出荷分は同梱、3S では別売の構成もある）。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 3 裏面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-back.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;裏側に電源スイッチとデバイス切替ボタン（最大3台ペアリング）。センサーは公称 1000dpi（3S では 8000dpi に引き上げ）。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 3 前面 USB Type-C ポート&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-front.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;前方に給電用 USB Type-C。2S の microUSB Type-B からの最大の変更点で、机の上で Type-C 1本に統一できるのが地味に効く。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 3 後面のくびれ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-rear.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;後ろから見るとボディ中央にくびれがある。親指と小指でくびれを挟む持ち方になる点は 2S と同じ。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 3 左側面 サムホイール&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-left.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;左側面に進む/戻るのサイドボタン2つと、横スクロール用のサムホイール。サムホイールはメインホイールと同等サイズまで大きくなり、2S の細いホイールよりも回しやすい。電源を入れると緑のインジケーターが短く光る。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 3 右側面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-right.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;右側はボタン類なしのシンプル面。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: MagSpeed ホイールの「勝手に切り替わる」感覚と、太くなったサムホイール。Type-C 給電。&lt;/p&gt;
&lt;h3 id=&quot;magspeed-ホイール--段階と無段階が自動で切り替わる&quot;&gt;MagSpeed ホイール — 段階と無段階が自動で切り替わる&lt;/h3&gt;
&lt;p&gt;MX MASTER 3 を象徴する機能。少しずつ回せばラチェット（カチカチ）感のある段階スクロール、勢いよく回すと無段階のフリースピン状態になり、一気にページの底まで飛ぶ。&lt;/p&gt;
&lt;p&gt;切り替えは回転速度に応じて自動。固定したいときはメインホイール上のボタンで段階 / 無段階を明示的に切り替えられる。&lt;/p&gt;
&lt;p&gt;実用面で効くのは、コードや長い記事を上下に走り回る場面。2S では「Shift 押しっぱなしで上ボタン押す」「フリースピン用に別マウスを使う」みたいな迂回をしていたが、3 では1つのホイールでまかなえる。&lt;/p&gt;
&lt;h3 id=&quot;サムホイールが太くなって回しやすい&quot;&gt;サムホイールが太くなって回しやすい&lt;/h3&gt;
&lt;p&gt;機能としては 2S と同じ「横スクロール専用ホイール」だが、形状が大きくなり親指の腹で安定して回せる。&lt;/p&gt;
&lt;p&gt;Excel の横方向移動、Figma のキャンバスパン、動画タイムラインのスクロール — このあたりは 2S 時点で既に快適だったが、3 ではさらに少ない指の動きで済む。&lt;strong&gt;メインホイールとサムホイールを同時に動かせば縦横2軸同時操作&lt;/strong&gt;になるのは、慣れると戻れない。&lt;/p&gt;
&lt;h3 id=&quot;充電が-usb-type-c&quot;&gt;充電が USB Type-C&lt;/h3&gt;
&lt;p&gt;2S 最大の欠点だった microUSB Type-B から Type-C に。充電頻度は2〜3ヶ月に1回程度なので大した違いではない、と書きかけて消した。ケーブルが机の上で1本に統一できることの効用は、想像以上に大きい。&lt;/p&gt;
&lt;h3 id=&quot;バッテリー持ち&quot;&gt;バッテリー持ち&lt;/h3&gt;
&lt;p&gt;公称 70日。実使用では2〜3ヶ月に1回の充電で支障なし。フル充電後の使用感は 2S と体感差なし。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: サイズはフルサイズのみ、価格は据え置きで高め、ジェスチャーボタンの強度は 2S から「劇的に改善」ではなく「やや改善」程度。&lt;/p&gt;
&lt;h3 id=&quot;サイズ展開がない&quot;&gt;サイズ展開がない&lt;/h3&gt;
&lt;p&gt;3 もフルサイズの1サイズ展開。手の小さい人にはやはり大きい。&lt;/p&gt;
&lt;p&gt;コンパクトを優先するなら同じロジクールの &lt;strong&gt;MX Anywhere 3&lt;/strong&gt; が選択肢になる。ただし Anywhere 3 にはサムホイールがない（メインホイールは MagSpeed）ので、本記事の「横スクロール快適」の話は当てはまらない。&lt;/p&gt;
&lt;h3 id=&quot;価格は据え置きで高い&quot;&gt;価格は据え置きで高い&lt;/h3&gt;
&lt;p&gt;執筆当時で約 13,000円前後。2S からの差分（Type-C・MagSpeed・サムホイール改良）に見合うかは、横スクロールをどれだけ使うかで決まる。&lt;/p&gt;
&lt;p&gt;Excel / Figma / 動画編集を毎日触る人なら回収は早い。ブラウジング中心の用途では 2S の中古や、後述の 3S を待ったほうが満足度が高いことが多い。&lt;/p&gt;
&lt;h3 id=&quot;ジェスチャーボタンの強度&quot;&gt;ジェスチャーボタンの強度&lt;/h3&gt;
&lt;p&gt;2S の&lt;a href=&quot;https://aulvem.com/ja/blog/2021-03-09-logicool-mx-master-2s/&quot;&gt;レビュー&lt;/a&gt; で書いた「ゲーム中に強く押したら戻らなくなった」問題。3 でも構造自体は引き継がれており、激しく操作するゲーミング用途では同じリスクがある（執筆者の個体では再現せず）。&lt;/p&gt;
&lt;p&gt;ゲーミング用途には素直に専用マウスを推奨する。&lt;/p&gt;
&lt;h2 id=&quot;比較-mx-master-2s-vs-3-vs-3s&quot;&gt;比較: MX MASTER 2S vs 3 vs 3S&lt;/h2&gt;
&lt;p&gt;3兄弟を表で並べる。&lt;/p&gt;

































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;MX MASTER 2S&lt;/th&gt;&lt;th&gt;MX MASTER 3&lt;/th&gt;&lt;th&gt;MX Master 3S&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;給電&lt;/td&gt;&lt;td&gt;microUSB Type-B&lt;/td&gt;&lt;td&gt;USB Type-C&lt;/td&gt;&lt;td&gt;USB Type-C&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;メインホイール&lt;/td&gt;&lt;td&gt;機械式（段階）&lt;/td&gt;&lt;td&gt;MagSpeed（電磁式・自動切替）&lt;/td&gt;&lt;td&gt;MagSpeed（電磁式・自動切替）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サムホイール&lt;/td&gt;&lt;td&gt;あり（細い）&lt;/td&gt;&lt;td&gt;あり（大型化）&lt;/td&gt;&lt;td&gt;あり（大型化、3 と同等）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;センサー解像度&lt;/td&gt;&lt;td&gt;公称 4000dpi&lt;/td&gt;&lt;td&gt;公称 1000dpi&lt;/td&gt;&lt;td&gt;公称 8000dpi&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;クリック静音性&lt;/td&gt;&lt;td&gt;通常&lt;/td&gt;&lt;td&gt;通常&lt;/td&gt;&lt;td&gt;静音クリック&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;バッテリー公称&lt;/td&gt;&lt;td&gt;70日&lt;/td&gt;&lt;td&gt;70日&lt;/td&gt;&lt;td&gt;70日&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サイズ展開&lt;/td&gt;&lt;td&gt;フルサイズのみ&lt;/td&gt;&lt;td&gt;フルサイズのみ&lt;/td&gt;&lt;td&gt;フルサイズのみ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;設定ソフト&lt;/td&gt;&lt;td&gt;Logicool Options&lt;/td&gt;&lt;td&gt;Logicool Options / Options+&lt;/td&gt;&lt;td&gt;Logi Options+&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;発売年&lt;/td&gt;&lt;td&gt;2017&lt;/td&gt;&lt;td&gt;2019&lt;/td&gt;&lt;td&gt;2022&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;新規購入なら &lt;strong&gt;3S&lt;/strong&gt; を勧める。型落ち狙いで実勢価格に差があるなら &lt;strong&gt;3&lt;/strong&gt; も依然合理的な選択。&lt;strong&gt;2S&lt;/strong&gt; は中古以外では入手が難しく、Type-C を求めるなら避けるのが無難。&lt;/p&gt;
&lt;h2 id=&quot;ソフトlogicool-options--logi-options&quot;&gt;ソフト（Logicool Options / Logi Options+）&lt;/h2&gt;
&lt;p&gt;専用ソフトで各ボタンの挙動とホイール感度をカスタマイズできる。執筆時点では Logicool Options だったが、2026 年現在は &lt;strong&gt;Logi Options+&lt;/strong&gt; に世代交代している。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool Options のマウス設定画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-mousel.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;マウス画面で各ボタンのアクションを変更。サムホイールには水平スクロールのほか、「次へ/前へ」「音量」「タブ切替」などを割り当てられる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool Options ジェスチャー設定&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-gesture.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;ジェスチャーボタンには上下左右4方向にアクションを割り当てられる。執筆者は使用頻度が低いので Enter にしている。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool Options ポイント＆スクロール設定&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-point-scroll.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;ポインタ速度・サムホイールの感度・スクロール方向を細かく調整可能。Excel 用にスクロール量を控えめにする、といったアプリ別チューニングも効く。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for ロジクール MX MASTER 3 (MX2200sGR)&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;ロジクール MX MASTER 3 (MX2200sGR)&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07XQ6XD8J/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View ロジクール MX MASTER 3 (MX2200sGR) on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. Mac でも使えますか？&lt;/strong&gt;
A. 使える。Logi Options+ の Mac 版が提供されている。Bluetooth・USB レシーバーどちらでも接続でき、macOS のジェスチャー（Mission Control など）も割り当てられる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. MX MASTER 2S と比べて買い替える価値はありますか？&lt;/strong&gt;
A. 給電が USB Type-C になった点と、MagSpeed ホイールでフリースピンが効くようになった点が大きい。横スクロールを多用するなら買い替え推奨。逆にブラウジング中心で 2S の充電端子も気にならないなら、急ぐ理由は薄い。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. MX Master 3S が出た今、3 を買う意味はありますか？&lt;/strong&gt;
A. 実勢価格に明確な差があるなら 3 は依然合理的。3S の主な改善点はセンサー解像度（公称 1000→8000dpi）とクリック静音化で、横スクロールやサムホイールの体験は 3 と同等。静かなオフィスや夜間作業を重視するなら 3S を、価格差を重視するなら 3 を選ぶ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ジェスチャー機能はどのくらい使い物になりますか？&lt;/strong&gt;
A. 親指のジェスチャーボタンを押し込みながら上下左右にマウスを振ると、それぞれにアクションを割り当てられる。Mission Control / 仮想デスクトップ切替などには便利だが、押し込みの感触が独特で、慣れに数日かかる。執筆者は最終的に頻度が下がり、単押し（Enter）に落ち着いた。&lt;/p&gt;
&lt;h2 id=&quot;総評--横スクロールを毎日使う人なら回収できる投資&quot;&gt;総評 — 横スクロールを毎日使う人なら回収できる投資&lt;/h2&gt;
&lt;p&gt;短い答え: 2S の弱点だった Type-C 給電を埋め、メインホイールの体験を一段引き上げた正統進化モデル。新規購入なら 3S を、価格差で迷うなら 3 を選んで損はない。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 3 全体まとめ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-04-03-logicool-mx-master-3/2021-04-03-Logicool-MX-MASTER-3-summary.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;Excel・Figma・コードエディタを毎日触り、画面を縦横に動き回るタイプの人にとっては、価格分の時間は数ヶ月で回収できる。逆に、ブラウジング中心・手が小さい・静音性を最優先 — このどれかに当てはまるなら、3S や Anywhere 3 を含めて選び直したほうがいい。&lt;/p&gt;
&lt;p&gt;姉妹レビューとして &lt;a href=&quot;https://aulvem.com/ja/blog/2021-03-09-logicool-mx-master-2s/&quot;&gt;MX MASTER 2S のレビュー&lt;/a&gt; も合わせてどうぞ。&lt;/p&gt;</content:encoded><category>reviews</category><category>mouse</category><category>logicool</category><category>pc-peripherals</category></item><item><title>Vue.js 入門 - 現場で使用したエンジニアが解説する Vue の基礎</title><link>https://aulvem.com/ja/blog/2021-04-02-vue-base/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-04-02-vue-base/</guid><description>Vue.js を実務で 1 年以上使用したエンジニアが、Vue ファイルの構造・template / script / style の役割分担、コンポーネントの基本的なライフサイクル、データバインディングの考え方など Vue 入門者向けの基礎を実例コードで丁寧に解説します。</description><pubDate>Fri, 02 Apr 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出から数年経過した記事です。本文は Vue 2 / Options API（&lt;code&gt;data() { return ... }&lt;/code&gt; + &lt;code&gt;methods: {}&lt;/code&gt; を並べる書き方）を前提にしています。2026 年現在の主流は Vue 3 + Composition API（&lt;code&gt;&amp;lt;script setup&amp;gt;&lt;/code&gt; と &lt;code&gt;ref&lt;/code&gt; / &lt;code&gt;reactive&lt;/code&gt; / &lt;code&gt;computed&lt;/code&gt;）で、ライフサイクルも &lt;code&gt;onMounted&lt;/code&gt; / &lt;code&gt;onUnmounted&lt;/code&gt; といった関数で書きます。骨子としての 3 ブロック構造（template / script / style）と「created と mounted の使い分け」の考え方は今も通じますが、コードは新規プロジェクトでそのまま使うものではありません。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vue.js を使用して 1 年以上経過したので、経験も踏まえながら &lt;strong&gt;Vue.js の超基礎&lt;/strong&gt;を解説します。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot;&gt;結論&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Vue ファイルは &lt;strong&gt;HTML / JavaScript / CSS の 3 言語が 1 ファイルに同居&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;template&lt;/code&gt; / &lt;code&gt;script&lt;/code&gt; / &lt;code&gt;style&lt;/code&gt; の 3 ブロック構造を押さえれば書ける&lt;/li&gt;
&lt;li&gt;&lt;code&gt;script&lt;/code&gt; ブロックは &lt;strong&gt;&lt;code&gt;data&lt;/code&gt;・&lt;code&gt;methods&lt;/code&gt;・ライフサイクル&lt;/strong&gt;の役割を理解するのが第一歩&lt;/li&gt;
&lt;li&gt;ライフサイクルは主に &lt;strong&gt;&lt;code&gt;created&lt;/code&gt;&lt;/strong&gt; と &lt;strong&gt;&lt;code&gt;mounted&lt;/code&gt;&lt;/strong&gt; の使い分けを覚える&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;vue-ファイルの構造&quot;&gt;Vue ファイルの構造&lt;/h2&gt;
&lt;p&gt;まずは Vue ファイルの構造を理解するところから始めます。Vue ファイルは &lt;strong&gt;3 つの言語が全て入っています&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;具体的には以下の通りです。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;vue&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    html記述&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;template&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    name: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;XXX&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;    data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        xxx: yyy&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; lang&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;css&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;各言語ごとに分離可能ですが、今回は省略します。&lt;br/&gt;
&lt;code&gt;script&lt;/code&gt; と &lt;code&gt;style&lt;/code&gt; は&lt;strong&gt;他の言語に変更可能&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;筆者は主に &lt;strong&gt;&lt;code&gt;script&lt;/code&gt; は TypeScript&lt;/strong&gt;、&lt;strong&gt;&lt;code&gt;style&lt;/code&gt; は SCSS か Stylus&lt;/strong&gt; を採用しています。&lt;/p&gt;
&lt;h2 id=&quot;template&quot;&gt;template&lt;/h2&gt;
&lt;p&gt;template に HTML を記述する箇所です。&lt;/p&gt;
&lt;p&gt;基本的に普通の HTML と同じ記法ですが、&lt;strong&gt;Vue 独自の記述&lt;/strong&gt;があります。&lt;/p&gt;
&lt;p&gt;Vue 独自の記述については別途記事で解説します。&lt;/p&gt;
&lt;h2 id=&quot;script&quot;&gt;script&lt;/h2&gt;
&lt;p&gt;JavaScript 系を記述する箇所です。ここでは &lt;strong&gt;script に data と methods を書く&lt;/strong&gt;のが入口になります。&lt;/p&gt;
&lt;p&gt;今回は JavaScript を例に解説します。&lt;/p&gt;
&lt;p&gt;以下が基本の記述です。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;javascript&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      xxx: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;yyy&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  methods: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;    hogeMethod&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;    hugaMethod&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      let&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; test &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.xxx;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      test &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;hogeMethod&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(test);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;      return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; test;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;data&lt;/code&gt;&lt;/strong&gt; は Vue ファイル内で利用可能な&lt;strong&gt;変数を宣言・初期化&lt;/strong&gt;することができます。&lt;br/&gt;
HTML に加工データを表示したい時などに頻繁に使用します。&lt;/p&gt;
&lt;p&gt;※オブジェクト型で &lt;code&gt;return&lt;/code&gt; しているので注意です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;methods&lt;/code&gt;&lt;/strong&gt; は一般的な関数です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;同ファイル内の変数・関数を呼び出す際は &lt;code&gt;this.&lt;/code&gt; を先頭に付けてください&lt;/strong&gt;。&lt;br/&gt;
同関数内のローカル変数には &lt;code&gt;this.&lt;/code&gt; は不要です。&lt;/p&gt;
&lt;p&gt;以下の箇所が該当します。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;javascript&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;hugaMethod&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  let&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; test &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.xxx;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  test &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; this&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;hogeMethod&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(test);&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; test;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;ライフサイクル&quot;&gt;ライフサイクル&lt;/h3&gt;
&lt;p&gt;ライフサイクルは今回の記事で最も理解しにくい箇所です。&lt;strong&gt;ライフサイクルでタイミングを制御する&lt;/strong&gt;、という観点で読んでください。&lt;br/&gt;
公式では以下のページで確認できます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://jp.vuejs.org/v2/guide/instance.html#%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%83%80%E3%82%A4%E3%82%A2%E3%82%B0%E3%83%A9%E3%83%A0&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Vue.js 公式: ライフサイクルダイアグラム&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vue ファイルが読み込まれてから破棄されるまでのタイミングを 8 つで区切り&lt;/strong&gt;、&lt;strong&gt;JavaScript 内でタイミングごとに処理をコントロールできます&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;タイミングは以下の通りです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;beforeCreate&lt;/strong&gt; - インスタンス前&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;created&lt;/strong&gt; - インスタンス後&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;beforeMount&lt;/strong&gt; - マウント前&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mounted&lt;/strong&gt; - マウント後&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;beforeUpdate&lt;/strong&gt; - 更新前&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;updated&lt;/strong&gt; - 更新後&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;beforeDestroy&lt;/strong&gt; - 破棄前&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;destroyed&lt;/strong&gt; - 破棄後&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;対応する記述は以下の通りです。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;javascript&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  beforeCreate&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  created&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  beforeMount&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  mounted&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  beforeUpdate&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  updated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  beforeDestroy&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  destroyed&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;() {},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  methods: {}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;主に使用するのが &lt;strong&gt;&lt;code&gt;created&lt;/code&gt;&lt;/strong&gt; と &lt;strong&gt;&lt;code&gt;mounted&lt;/code&gt;&lt;/strong&gt; です。&lt;br/&gt;
&lt;code&gt;created&lt;/code&gt; と &lt;code&gt;mounted&lt;/code&gt; の違いは、&lt;strong&gt;DOM 要素の読み込みタイミング&lt;/strong&gt;です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;created&lt;/code&gt;&lt;/strong&gt; は DOM 要素が&lt;strong&gt;読み込まれる前&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;mounted&lt;/code&gt;&lt;/strong&gt; は DOM 要素が&lt;strong&gt;読み込まれた後&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;となっています。&lt;/p&gt;
&lt;p&gt;基本は &lt;strong&gt;&lt;code&gt;created&lt;/code&gt; で初期化などの script 処理&lt;/strong&gt;を行い、&lt;strong&gt;&lt;code&gt;mounted&lt;/code&gt; で HTML に関連する処理&lt;/strong&gt;を行いましょう。&lt;/p&gt;
&lt;h2 id=&quot;style&quot;&gt;style&lt;/h2&gt;
&lt;p&gt;style に CSS を記述する箇所です。&lt;br/&gt;
普通の CSS と同じ記法なので、問題なく書けると思います。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;css&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;.display-flex&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  display&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;flex&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;今回は Vue.js の超基礎を紹介しました。&lt;/p&gt;
&lt;p&gt;メイン所である &lt;strong&gt;Component&lt;/strong&gt; と &lt;strong&gt;Binding&lt;/strong&gt; については別記事で解説します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-03-31-vue-angular/&quot;&gt;1 年以上使用したエンジニアからみる Angular と Vue.js の違い&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-04-09-vue-component/&quot;&gt;Vue.js の Component を理解する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><category>build</category><category>JavaScript</category><category>Vue.js</category></item><item><title>1 年以上使用したエンジニアからみる Angular と Vue.js の違い</title><link>https://aulvem.com/ja/blog/2021-03-31-vue-angular/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-31-vue-angular/</guid><description>JavaScript フレームワークの代表格 Angular と Vue.js を実務で 1 年以上使用したエンジニアの視点で、ファイル構成・記法・学習コスト・運用面の向き不向きを実例とともに比較解説します。フレームワーク選定の判断材料に。</description><pubDate>Wed, 31 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-05-16 追記&lt;/strong&gt;: 初出は 2021 年で、当時は Vue 2 / Angular 11 前後が主流でした。現在は Vue 3（Composition API / &lt;code&gt;&amp;lt;script setup&amp;gt;&lt;/code&gt;）と Angular 17+（Signals・standalone components・新しい制御フロー構文）が標準で、TypeScript 周辺の事情も Vue 側でかなり改善しています。本文の骨子（Angular = 全部入り / Vue = 最小構成）は今も大筋で当てはまりますが、コード例や API は当時のままなので、最新版の挙動とは差があります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;JavaScript フレームワークで有名なのは 3 つありますが、筆者は内 2 つを業務で使用した経験があります。&lt;/p&gt;
&lt;p&gt;使用経験が無い React を除いた &lt;strong&gt;Angular、Vue.js の違い&lt;/strong&gt;について紹介します。&lt;/p&gt;
&lt;h2 id=&quot;結論&quot;&gt;結論&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Angular&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;全部のせ&lt;/li&gt;
&lt;li&gt;記法ルールがしっかりしている&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vue.js&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;最小限の構成&lt;/li&gt;
&lt;li&gt;記法ルールは自由度高め&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;angular&quot;&gt;Angular&lt;/h2&gt;
&lt;h3 id=&quot;概要&quot;&gt;概要&lt;/h3&gt;
&lt;p&gt;Angular は &lt;strong&gt;Google が開発しているフレームワーク&lt;/strong&gt;です。Ver 1 系は AngularJS と名称が違い、Ver 1 以降から Angular と呼ばれています。&lt;/p&gt;
&lt;p&gt;Angular は&lt;strong&gt;半年ごとにメジャーアップデート&lt;/strong&gt;がされるとアナウンスされています。メジャーアップデートは&lt;strong&gt;互換性が無い&lt;/strong&gt;と宣言されているので注意です。&lt;/p&gt;
&lt;p&gt;※筆者の経験では心配に反し、大きな影響はありませんでした。&lt;/p&gt;
&lt;p&gt;筆者が感じた特徴としては:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;フルスタックフレームワーク&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;です。&lt;/p&gt;
&lt;h3 id=&quot;フルスタックフレームワーク&quot;&gt;フルスタックフレームワーク&lt;/h3&gt;
&lt;p&gt;Angular は&lt;strong&gt;元からルーティング機能などがデフォルトで入っています&lt;/strong&gt;。インストールしてしまえば、環境構築ができてしまうのは便利でした。また調べる時も公式を見れば解決する可能性が高いのも良かったです。&lt;/p&gt;
&lt;p&gt;component のフォルダ構成は以下です。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;component&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  ├── component.ts&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  ├── component.html&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  ├── component.css&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  └── component.spec.ts&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;1 ファイル内に言語が混在しないようになっているのは管理しやすいです。&lt;/p&gt;
&lt;p&gt;フルスタックのデメリットとしては不要なコードが含まれる可能性が高い点です。パフォーマンスの影響は避けられません。&lt;/p&gt;
&lt;h3 id=&quot;typescript&quot;&gt;TypeScript&lt;/h3&gt;
&lt;p&gt;Angular の推奨言語は TypeScript です。TypeScript は &lt;strong&gt;Microsoft が開発している言語&lt;/strong&gt;なので、Google と Microsoft の組み合わせは強そうに感じます。&lt;/p&gt;
&lt;p&gt;静的型言語なので記述方法がガッチリしています。&lt;/p&gt;
&lt;p&gt;TypeScript を書いたことが無い人にとっては、&lt;strong&gt;Angular と同時に学習することになるので学習コストが高いです&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;おすすめ使用ケース&quot;&gt;おすすめ使用ケース&lt;/h3&gt;
&lt;p&gt;Angular は&lt;strong&gt;大規模開発に向いている&lt;/strong&gt;と一般的に言われていますが、筆者も同様の感想です。&lt;/p&gt;
&lt;p&gt;良くも悪くも記述方法・環境構築などがしっかりしているので、引き継ぎ・作業分担が円滑に行えました。&lt;/p&gt;
&lt;p&gt;トレードオフとして学習コストも高く、&lt;strong&gt;立ち上がりは時間がかかるので余裕を見て引き継ぎ等のスケジュールを立てましょう&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;vuejs&quot;&gt;Vue.js&lt;/h2&gt;
&lt;h3 id=&quot;概要-1&quot;&gt;概要&lt;/h3&gt;
&lt;p&gt;Vue.js は有志の方が開発しているフレームワークです。近年採用率が高く注目されています。&lt;/p&gt;
&lt;p&gt;筆者が感じた特徴としては:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最小限の構成&lt;/li&gt;
&lt;li&gt;自由度の高さ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;です。&lt;/p&gt;
&lt;h3 id=&quot;最小限の構成&quot;&gt;最小限の構成&lt;/h3&gt;
&lt;p&gt;Vue.js は Angular と違い、デフォルトでルーティング機能などは入っていません。ライブラリは個別で入れる必要がありますが、Vue Cli を使用すると簡単に導入できます。&lt;/p&gt;
&lt;p&gt;component のフォルダ構成は以下です。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;component&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  └── component.vue&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;すごくシンプルです。vue ファイルの中に HTML・JS・CSS が記入されています。&lt;/p&gt;
&lt;p&gt;JS と CSS は別ファイルに分離できます。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;component&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  ├── component.vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  ├── component.js&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  └── component.css&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ただし、分離は手動で行う必要があります。&lt;/p&gt;
&lt;p&gt;最小限の構成のデメリットはフルスタックの逆でライブラリは&lt;strong&gt;自分で探して導入する必要があります&lt;/strong&gt;。ただし、最小限の構成なのでパフォーマンスが高いです。&lt;/p&gt;
&lt;h3 id=&quot;自由度の高さ&quot;&gt;自由度の高さ&lt;/h3&gt;
&lt;p&gt;Vue.js は JavaScript をデフォルト言語にしています。TypeScript も勿論導入できますが、しっかり導入するには少し手間がかかります（※現状補足: Vue 3 と &lt;code&gt;&amp;lt;script setup&amp;gt;&lt;/code&gt; 以降は TypeScript サポートが改善され、2026 年時点では当時ほどの手間はかかりません）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Angular との決定的な違いは自由度の違いです&lt;/strong&gt;。プロジェクトは使用者の難易度・用途によって構成を変えられるのが Good です。&lt;/p&gt;
&lt;p&gt;自分で調べる必要がありますが、&lt;strong&gt;敷居が低いのは明らか&lt;/strong&gt;でした。&lt;/p&gt;
&lt;h3 id=&quot;おすすめ使用ケース-1&quot;&gt;おすすめ使用ケース&lt;/h3&gt;
&lt;p&gt;おすすめは&lt;strong&gt;プログラマーやデザイナーの作業分担が発生する以外&lt;/strong&gt;のプロジェクトです。&lt;/p&gt;
&lt;p&gt;Vue.js の注意点は &lt;strong&gt;使用ライブラリ・構成・構築のドキュメントを残す&lt;/strong&gt;点です。自由度が高い分、引き継ぎ等管理コストがかかるケースがあるので、会社で行うプロジェクトはフォーマッタの導入などを強く推奨します。&lt;/p&gt;
&lt;p&gt;※個人プログラムの作成は Vue.js がかなりおすすめです。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;今回は自分の経験も入れつつ Angular と Vue.js の違いについて紹介しました。&lt;/p&gt;
&lt;p&gt;筆者としては Vue.js + TypeScript をおすすめします。設定は手間ですが可読性も高いですし、良いコードが書けます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;関連記事&lt;/strong&gt;: &lt;a href=&quot;https://aulvem.com/blog/2021-04-02-vue-base/&quot;&gt;Vue.js 入門 - Vue の基礎&lt;/a&gt;&lt;/p&gt;</content:encoded><category>build</category><category>JavaScript</category><category>Vue.js</category><category>Angular</category><category>TypeScript</category></item><item><title>YAMAHA TW-E3A レビュー — 通勤で1年使った完全ワイヤレスの“素直な”音と操作の癖</title><link>https://aulvem.com/ja/blog/2021-03-30-yamaha-tw-e3a/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-30-yamaha-tw-e3a/</guid><description>YAMAHA 初代の完全ワイヤレスイヤホン TW-E3A を通勤で1年使った視点でレビュー。クセのない素直な音とフィット感が強み、物理ボタンの押し込みづらさと左右で分かれる操作が弱み。価格帯と想定用途に噛み合うかを軸に、強み・弱みを整理します。</description><pubDate>Tue, 30 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。TW-E3A は 2026 時点では旧モデルで、後継として TW-E3B / TW-E3C などが出ている。レビュー観点（音の素直さ、フィット感、物理ボタンの癖）は今も参考になる。スペック数値は執筆当時のメーカー公称値ベース。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;通勤で1年ほど使ってきた YAMAHA の完全ワイヤレスイヤホン &lt;strong&gt;TW-E3A&lt;/strong&gt; を、生活導線の中で見えた強み・弱みからレビューする。&lt;/p&gt;
&lt;p&gt;YAMAHA が「初めて世に出した完全ワイヤレスイヤホン」という前提込みで評価する記事なので、最新の競合モデルとの絶対比較ではなく、価格帯・想定用途と噛み合うかどうかを軸にまとめた。&lt;/p&gt;
&lt;h2 id=&quot;結論--癖のない音を最優先する人に向く&quot;&gt;結論 — “癖のない音”を最優先する人に向く&lt;/h2&gt;
&lt;p&gt;短い答え: 音はメーカーのチューニング通りでクセが少なく、通勤での装着安定性も問題ない。一方で、物理ボタンの押し込みと、左右で割り当てが分かれる操作仕様は人を選ぶ。&lt;/p&gt;
&lt;p&gt;理由はシンプルで、TW-E3A は「派手な低音」「強いノイズキャンセル」のような“振り切った特徴”を持たない代わりに、長時間聴いても疲れにくいバランスにまとめてあるから。音楽鑑賞というより、通勤・作業中の BGM 用途で安定して使える設計に寄っている。&lt;/p&gt;
&lt;p&gt;ただし以下に該当する人は別モデルを検討した方がよい:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;タッチ操作 / 多ボタンに慣れている人&lt;/strong&gt;: TW-E3A は片側1つの物理ボタンで全機能を兼ねる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;アクティブノイズキャンセリング前提の人&lt;/strong&gt;: TW-E3A は ANC 非搭載（メーカー仕様ベース）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ランニングなどの激しい運動で使いたい人&lt;/strong&gt;: フィットはするが、運動向けのフィン形状ではない&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観と質感&quot;&gt;外観と質感&lt;/h2&gt;
&lt;p&gt;短い答え: ケースは“ミニチュア弁当箱”のような小ぶりな矩形で、胸ポケットに収まる。本体はやや横長で耳に深く差し込む形状。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;YAMAHA TW-E3A 充電ケースの正面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-30-yamaha-tw-e3a/2021-03-30-YAMAHA-TW-E3A-front.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;蓋にはマットな YAMAHA ロゴ。指紋が目立ちにくい仕上げ。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;YAMAHA TW-E3A 充電ケースのサイズ感（手のひらに乗せた状態）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-30-yamaha-tw-e3a/2021-03-30-YAMAHA-TW-E3A-size.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;ケース外寸はおおよそ 70 × 35 × 35mm（メーカー公称値）。同価格帯の競合と比べてもコンパクトな部類で、ジャケットの胸ポケットにすっぽり入る。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;YAMAHA TW-E3A 充電ケースを開けた状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-30-yamaha-tw-e3a/2021-03-30-YAMAHA-TW-E3A-in.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;蓋は軽く押すだけでパカッと開き、閉じると自重で戻ってロックがかかる。鞄の中で勝手に開く心配はなかった。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;YAMAHA TW-E3A 本体とケースを並べた状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-30-yamaha-tw-e3a/2021-03-30-YAMAHA-TW-E3A-Earphones-and-case.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;本体はノズル（イヤーピース側）が深い。装着すると人差し指の第一関節分くらいまで入る感覚で、これが後述のフィット感に効いている。R / L 表記が筐体内側に刻印されているので暗所でも判別しやすい。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;YAMAHA TW-E3A イヤホン本体の外側&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-30-yamaha-tw-e3a/2021-03-30-YAMAHA-TW-E3A-Earphones.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;イヤホン単体だと横にやや長い印象。重量は片側 6.3g（メーカー公称値）。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;YAMAHA TW-E3A 充電ケース背面の USB Type-C ポート&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-30-yamaha-tw-e3a/2021-03-30-YAMAHA-TW-E3A-back.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;ケース背面に USB Type-C ポートと充電ステータス LED。2021 年初頭発売の機種で Type-C を採用していたのはありがたく、2026 年現在も他デバイスとケーブルを統一しやすい。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: 音の素直さ、通勤レベルのフィット感、Bluetooth 5.0 ベースの接続安定性の3つ。&lt;/p&gt;
&lt;h3 id=&quot;yamaha-らしいフラットで疲れにくい音&quot;&gt;YAMAHA らしいフラットで疲れにくい音&lt;/h3&gt;
&lt;p&gt;低音を盛らず、中高域もシャープに切り立たせない方向のチューニング。ボーカルとアコースティック楽器の質感が自然に出る一方で、EDM など低域の押し出しを期待するジャンルでは物足りないと感じる人もいる。&lt;/p&gt;
&lt;p&gt;長時間（2〜3時間連続）使っていても耳が疲れにくいのは、このチューニングの恩恵が大きい。&lt;/p&gt;
&lt;h3 id=&quot;通勤徒歩通勤レベルでは外れない&quot;&gt;通勤・徒歩通勤レベルでは外れない&lt;/h3&gt;
&lt;p&gt;ノズルが深く入る設計のおかげで、満員電車での乗り降りや小走り程度では落ちなかった。1年使った範囲では片側だけ落ちた事故はゼロ。&lt;/p&gt;
&lt;p&gt;ただし運動向けのスポーツフィン等は付属しないので、ジムや本格的なランニングは別モデルを検討する余地がある。&lt;/p&gt;
&lt;h3 id=&quot;bluetooth-50-で混雑時も切れにくい&quot;&gt;Bluetooth 5.0 で混雑時も切れにくい&lt;/h3&gt;
&lt;p&gt;Bluetooth 5.0 対応（メーカー仕様ベース）で、都心の駅構内や電車内など電波が混みやすい場所でも、ぶつ切りや片側ロストの頻度は低かった。同価格帯で 4.x 世代のモデルを使っていた頃に比べて明確に安定している。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: ボタンの押し込みが固い、左右で操作が分かれている、ANC 非搭載。&lt;/p&gt;
&lt;h3 id=&quot;物理ボタンを深く押し込まないと反応しない&quot;&gt;物理ボタンを“深く押し込まないと”反応しない&lt;/h3&gt;
&lt;p&gt;タッチセンサーではなく物理ボタン式。これ自体は誤タップが減るメリットがあるが、TW-E3A は押下に必要なストロークがやや深い。耳の奥に本体をグッと押し込む形になり、装着位置がズレるたびに密閉が崩れる感覚があった。&lt;/p&gt;
&lt;p&gt;タッチセンサーか、少なくとももう少し軽い押下感だと使いやすかった。&lt;/p&gt;
&lt;h3 id=&quot;左右で操作が違って覚えづらい&quot;&gt;左右で操作が違って覚えづらい&lt;/h3&gt;
&lt;p&gt;片側にボタンが1つずつしかないため、再生・音量・曲送りを左右の押し方で割り振る仕様になっている。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;操作&lt;/th&gt;&lt;th&gt;割り当て&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;再生 / 停止&lt;/td&gt;&lt;td&gt;左右どちらか 1 クリック&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;音量 +&lt;/td&gt;&lt;td&gt;右 2 クリック&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;音量 −&lt;/td&gt;&lt;td&gt;左 2 クリック&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;次の曲&lt;/td&gt;&lt;td&gt;右 長押し&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;前の曲&lt;/td&gt;&lt;td&gt;左 長押し&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;「音量は右、曲送りも右」のように方向で統一されていれば直感的だが、現状は丸暗記する必要がある。1日数回しか触らない人には負担に感じやすい。&lt;/p&gt;
&lt;h3 id=&quot;アクティブノイズキャンセリング非搭載&quot;&gt;アクティブノイズキャンセリング非搭載&lt;/h3&gt;
&lt;p&gt;カナル型の物理的な遮音はあるが、いわゆる ANC は載っていない（メーカー仕様ベース）。電車内のレールノイズや空調音を完全に消したい用途には不向き。&lt;/p&gt;
&lt;h2 id=&quot;比較--ミドルレンジ完全ワイヤレスの中での立ち位置&quot;&gt;比較 — ミドルレンジ完全ワイヤレスの中での立ち位置&lt;/h2&gt;
&lt;p&gt;短い答え: 「音のクセのなさ × 装着安定性」を軸に据えるなら同価格帯で競争力がある。一方、ANC や多機能タッチ操作が必須なら他を見たほうがよい。&lt;/p&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;YAMAHA TW-E3A&lt;/th&gt;&lt;th&gt;同価格帯ミドル一般&lt;/th&gt;&lt;th&gt;YAMAHA 上位モデル（TW-E5B / E7B 系）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;音のチューニング&lt;/td&gt;&lt;td&gt;フラット寄り、疲れにくい&lt;/td&gt;&lt;td&gt;低音強調が多い&lt;/td&gt;&lt;td&gt;リスニング志向、低音と解像感を両立&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;アクティブノイズキャンセリング&lt;/td&gt;&lt;td&gt;非搭載&lt;/td&gt;&lt;td&gt;搭載モデルが増加&lt;/td&gt;&lt;td&gt;搭載モデルあり&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;操作系&lt;/td&gt;&lt;td&gt;物理ボタン1つ × 左右&lt;/td&gt;&lt;td&gt;タッチ操作が主流&lt;/td&gt;&lt;td&gt;タッチ操作 + アプリ連携&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;接続&lt;/td&gt;&lt;td&gt;Bluetooth 5.0&lt;/td&gt;&lt;td&gt;5.0 〜 5.3&lt;/td&gt;&lt;td&gt;5.2 以降が主流&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;充電端子&lt;/td&gt;&lt;td&gt;USB Type-C&lt;/td&gt;&lt;td&gt;Type-C が主流化&lt;/td&gt;&lt;td&gt;Type-C&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;連続再生（本体）&lt;/td&gt;&lt;td&gt;約 6 時間（公称）&lt;/td&gt;&lt;td&gt;5 〜 8 時間&lt;/td&gt;&lt;td&gt;6 〜 10 時間（公称）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;新規購入で「YAMAHA の音作りに惹かれている」のであれば、上位の TW-E5B / E7B 系を含めて比較するのが素直。逆に中古・型落ち市場で安く手に入る場面では、音と装着感の素性がしっかりしている TW-E3A は依然として実用的な選択肢になる。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for ヤマハ TW-E3A（ブラック）&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-30-yamaha-tw-e3a/2021-03-30-YAMAHA-TW-E3A.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;ヤマハ TW-E3A（ブラック）&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B0814N96JY/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View ヤマハ TW-E3A（ブラック） on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. iPhone と Android、どちらでも問題なく接続できますか？&lt;/strong&gt;
A. Bluetooth 5.0 対応機なら基本的に問題ない。マルチポイント接続には非対応（メーカー仕様ベース）なので、PC とスマホで頻繁に切り替える運用には向かない。1台で完結させるか、その都度ペアリングし直す前提で使う。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. バッテリーはどのくらい持ちますか？&lt;/strong&gt;
A. 公称で本体単体 約6時間、ケース込みで合計 約24時間（メーカー公称値）。通勤片道 1 時間 × 往復で運用しても、平日 3〜4 日に 1 回ケースを置きに戻す程度のペース。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. テレワークの Web 会議用途には使えますか？&lt;/strong&gt;
A. マイクは搭載されており通話自体は成立するが、ノイズリダクションを期待するレベルではない（メーカー仕様ベース）。静かな自宅環境での 1on1 などには使えるが、カフェやオープンオフィスからの会議用としては別途ヘッドセットを用意したほうが無難。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ランニングや軽い運動には使えますか？&lt;/strong&gt;
A. ノズルが深く入る形状で外れにくいので、通勤時の小走り程度なら問題なかった。一方、激しい上下動を伴うランニングや汗を多くかくジムワークアウトは想定外で、長期使用の耐汗性も保証されていない（防水等級はメーカー仕様で確認のこと）。本格的な運動用途には専用機を勧める。&lt;/p&gt;
&lt;h2 id=&quot;総評--yamaha-の音を日常運用したい人向け&quot;&gt;総評 — “YAMAHA の音”を日常運用したい人向け&lt;/h2&gt;
&lt;p&gt;短い答え: 派手さで売るタイプではなく、音作りと装着感の地味な良さで日常運用に効く一台。「初代だからこそ無理をしていない」モデル、という見方が近い。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;YAMAHA TW-E3A 充電ケースを閉じた状態の全体イメージ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-30-yamaha-tw-e3a/2021-03-30-YAMAHA-TW-E3A-case.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;注意点はボタンの押下感と操作仕様の覚えづらさの2つ。家電量販店で実機があれば、装着して左右の操作を一通り試してから決めると後悔が少ない。最新世代との比較も検討するなら、上位モデルや後継機の仕様（ANC・マルチポイント・タッチ操作）も併せて見ておくと判断がブレない。&lt;/p&gt;</content:encoded><category>reviews</category><category>audio</category><category>yamaha</category><category>wireless-earbuds</category></item><item><title>Anker PowerCore 10000 レビュー — スマホ2〜3回ぶんを手のひらサイズで持ち運ぶ定番モバイルバッテリー</title><link>https://aulvem.com/ja/blog/2021-03-29-anker-powercore-10000/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-29-anker-powercore-10000/</guid><description>数年間メインで使った Anker PowerCore 10000 のレビュー。10000mAh クラスでは小型・軽量で持ち運びやすい一方、入出力が USB Type-A / micro-B で 2026 年現在は周辺ケーブルとの相性が悪い。</description><pubDate>Mon, 29 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。Anker PowerCore 10000 は 2026 時点では旧モデル扱いで、現行の主力は USB Type-C 入出力対応の PowerCore シリーズに移っている。10000mAh クラスを選ぶ基準（容量・サイズ・端子）の観点は今も参考になる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;外出先でスマホの電池切れに備えるためのモバイルバッテリーとして、Anker PowerCore 10000 を数年間メインで使ってきた。10000mAh クラスは「スマホ2〜3回ぶん」と「持ち運べる大きさ」のバランスがとりやすく、最初の1台として選びやすい容量帯。&lt;/p&gt;
&lt;p&gt;ただし入出力端子はこの世代の弱点でもある。2026 年の視点で振り返ると、どこが今も通用してどこが見直し対象なのかを整理しておきたい。&lt;/p&gt;
&lt;h2 id=&quot;結論--容量とサイズのバランス重視なら定番ただし端子は古い&quot;&gt;結論 — 容量とサイズのバランス重視なら定番、ただし端子は古い&lt;/h2&gt;
&lt;p&gt;短い答え: 10000mAh をポケットに入る大きさにまとめた点は今も評価できる。Anker らしく充電挙動が安定しているので、外出時の保険として扱いやすい。ただし入力 USB Type-A / 出力 micro-B の構成は、2026 年現在の周辺機器とは噛み合いが悪い。&lt;/p&gt;
&lt;p&gt;理由は、最近のスマホ・ノート PC・ワイヤレスイヤホンが USB Type-C に統一されつつあるから。Type-C ケーブル1本で揃えたい人にとって、このモデルのためだけに micro-B ケーブルを持ち歩くのは現実的でない。&lt;/p&gt;
&lt;p&gt;以下に該当する人は注意:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;手持ちのケーブルを USB Type-C に統一したい人&lt;/strong&gt;: 同シリーズの Type-C 対応モデルを選ぶほうが整理しやすい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PD（Power Delivery）でノート PC を充電したい人&lt;/strong&gt;: 本機の出力は USB-A / 2.4A までで、ノート PC の急速充電には対応しない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新品で買い直す人&lt;/strong&gt;: 現行ラインの後継モデルのほうが、長期的に使い回しがきく&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観と大きさ&quot;&gt;外観と大きさ&lt;/h2&gt;
&lt;p&gt;短い答え: 10000mAh としてはコンパクト寄り。高さを抑えて厚みに寄せた形なので、ジーンズのポケットにも収まる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Anker PowerCore 10000 正面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-29-anker-powercore-10000/2021-03-29-Anker-PowerCore-10000-center.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;外装はマットなブラックで、指紋や擦れが目立ちにくい。Anker のモバイルバッテリーで共通して採用されている仕上げ。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Anker PowerCore 10000 とスマホを並べた大きさ比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-29-anker-powercore-10000/2021-03-29-Anker-PowerCore-10000-size.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;公称スペックは以下のとおり（パッケージ表記準拠）。&lt;/p&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;項目&lt;/th&gt;&lt;th&gt;値&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;サイズ&lt;/td&gt;&lt;td&gt;約 92 x 60 x 22mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;重量&lt;/td&gt;&lt;td&gt;約 180g&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;容量&lt;/td&gt;&lt;td&gt;10000mAh&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;出力&lt;/td&gt;&lt;td&gt;最大 2.4A（PowerIQ 対応）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;入力端子&lt;/td&gt;&lt;td&gt;USB Type-A&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;出力端子&lt;/td&gt;&lt;td&gt;micro-B&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;重量は 10000mAh クラスの平均的な値。高さが低い分、手で握ったときに収まりが良い。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Anker PowerCore 10000 の入力端子（USB Type-A と micro-B）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-29-anker-powercore-10000/2021-03-29-Anker-PowerCore-10000-input.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;端子は本体充電が USB Type-A、出力が micro-B。執筆当時（2021 年）は USB Type-A が一般的だったが、現在は古い世代の構成になる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Anker PowerCore 10000 の電源ボタンと残量インジケータ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-29-anker-powercore-10000/2021-03-29-Anker-PowerCore-10000-side.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;電源ボタンは側面。押すと青色 LED が4段階で残量を示す。スマホを接続してボタンを押せば給電が始まる、迷いどころのない仕様。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: Anker らしい充電挙動の安定感と、10000mAh としてのコンパクトさが効く。&lt;/p&gt;
&lt;h3 id=&quot;充電挙動が安定している&quot;&gt;充電挙動が安定している&lt;/h3&gt;
&lt;p&gt;Anker 製のバッテリーを数台持っているが、給電中に切れる・接続が認識されないといったトラブルに当たったことがない。日常的に何度も抜き挿しする用途で、ここが安定しているのは大きい。&lt;/p&gt;
&lt;p&gt;独自仕様の PowerIQ（接続機器に応じた電流調整）も、出力 2.4A の範囲内では素直に効く印象（体感ベース）。&lt;/p&gt;
&lt;h3 id=&quot;10000mah-クラスとしてはポケットに入るサイズ&quot;&gt;10000mAh クラスとしてはポケットに入るサイズ&lt;/h3&gt;
&lt;p&gt;10000mAh あればスマホ2〜3回分、タブレットでも1回弱は充電できる容量帯。ここを「ポケットに入る大きさ」でまとめた点は、執筆当時から今も変わらず評価点。&lt;/p&gt;
&lt;p&gt;カバンを持たずに外出する日でも、ジャケットや後ろポケットに入れて1日もつ。&lt;/p&gt;
&lt;h3 id=&quot;led-4段階のシンプルな残量表示&quot;&gt;LED 4段階のシンプルな残量表示&lt;/h3&gt;
&lt;p&gt;ボタン1回押しで残量が4段階で見える。スマホアプリ連携などはないが、その代わり挙動が読みやすい。バッテリー本体の電池切れに気付かず外出してしまう、というケースを減らせる。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: 端子が USB Type-A / micro-B、PD 非対応、本体充電が遅め。&lt;/p&gt;
&lt;h3 id=&quot;入出力が-usb-type-a--micro-b&quot;&gt;入出力が USB Type-A / micro-B&lt;/h3&gt;
&lt;p&gt;2021 年時点では一般的だったが、2026 年の視点では明確に弱点。手持ちのケーブルを USB Type-C に統一している人にとって、このモデル専用の micro-B ケーブルを持ち歩くのは負担になる。&lt;/p&gt;
&lt;p&gt;新規購入なら、同じ Anker の Type-C 対応モデル（PowerCore III 10000 など）を勧めたい。&lt;/p&gt;
&lt;h3 id=&quot;usb-pd-非対応&quot;&gt;USB PD 非対応&lt;/h3&gt;
&lt;p&gt;出力は最大 2.4A の USB-A 単発で、USB Power Delivery（PD）には対応しない。&lt;/p&gt;
&lt;p&gt;スマホの急速充電や、ノート PC・タブレットへの給電を想定する人には力不足。スマホを「念のため充電する」用途なら必要十分。&lt;/p&gt;
&lt;h3 id=&quot;本体への充電が遅い&quot;&gt;本体への充電が遅い&lt;/h3&gt;
&lt;p&gt;micro-B 入力で、付属の壁面アダプタを使っても満充電まで時間がかかる印象。&lt;/p&gt;
&lt;p&gt;寝る前に挿して翌朝には満タン、という運用なら気にならないが、出発直前に継ぎ足したい用途には向かない。&lt;/p&gt;
&lt;h2 id=&quot;比較-10000mah-クラスの選び方&quot;&gt;比較: 10000mAh クラスの選び方&lt;/h2&gt;
&lt;p&gt;10000mAh クラスは「最初の1台」として選ばれることが多い容量帯。同じ容量帯の中での観点を整理する。&lt;/p&gt;









































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;PowerCore 10000（本機）&lt;/th&gt;&lt;th&gt;Type-C 対応の後継 PowerCore&lt;/th&gt;&lt;th&gt;20000mAh クラス&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;入出力端子&lt;/td&gt;&lt;td&gt;USB-A / micro-B&lt;/td&gt;&lt;td&gt;USB-C 入出力&lt;/td&gt;&lt;td&gt;モデルによる&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;重量&lt;/td&gt;&lt;td&gt;約 180g&lt;/td&gt;&lt;td&gt;約 190g 前後（公称）&lt;/td&gt;&lt;td&gt;約 350g 前後&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;容量&lt;/td&gt;&lt;td&gt;10000mAh&lt;/td&gt;&lt;td&gt;10000mAh&lt;/td&gt;&lt;td&gt;20000mAh&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;主用途&lt;/td&gt;&lt;td&gt;スマホ 2〜3 回&lt;/td&gt;&lt;td&gt;スマホ + 軽いタブレット&lt;/td&gt;&lt;td&gt;スマホ + ノート PC&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯（執筆当時）&lt;/td&gt;&lt;td&gt;約 2,500〜3,500 円&lt;/td&gt;&lt;td&gt;約 3,500〜5,000 円&lt;/td&gt;&lt;td&gt;約 5,000〜8,000 円&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;判断軸はシンプルで、「ケーブルを Type-C に統一したいか」「ノート PC まで給電するか」の2つ。両方 No ならこのクラスで十分、片方でも Yes なら別モデルを検討。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for Anker PowerCore 10000（ブラック）&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-29-anker-powercore-10000/2021-03-29-Anker-PowerCore-10000.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;Anker PowerCore 10000（ブラック）&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B019GNUT0C/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View Anker PowerCore 10000（ブラック） on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. iPhone / Android どちらでも使えますか？&lt;/strong&gt;
A. 使える。出力は USB Type-A なので、それぞれの端末用ケーブル（Lightning / USB-C / micro-B）を用意すれば対応できる。本機側の出力ポートは USB-A 1口のみ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 飛行機に持ち込めますか？&lt;/strong&gt;
A. 機内持ち込み可。容量 10000mAh は概算 37Wh 前後で、主要航空会社の上限（100Wh）に余裕で収まる（航空会社・路線によって扱いが異なるので、利用便の最新規定を要確認）。預け入れは不可なので注意。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. スマホは何回充電できますか？&lt;/strong&gt;
A. スマホのバッテリー容量と充電ロスにもよるが、3000〜4000mAh のスマホで実用 2〜3 回ぶんが目安。本体に表示される LED 4段階のメモリで残量を把握しながら使う。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ノート PC は充電できますか？&lt;/strong&gt;
A. 基本的に向かない。出力が USB-A / 2.4A で USB PD 非対応のため、ノート PC の急速充電要件を満たさない。ノート PC まで給電したい場合は、USB PD 対応・出力 30W 以上のモデルを別途検討。&lt;/p&gt;
&lt;h2 id=&quot;総評--最初の1台としては今も実用新規購入なら後継モデル&quot;&gt;総評 — 「最初の1台」としては今も実用、新規購入なら後継モデル&lt;/h2&gt;
&lt;p&gt;10000mAh クラスの定番として、扱いやすさは今も変わらない。Anker の安定した挙動と手のひらサイズに収まる外形は、外出時の保険用として素直に使える。&lt;/p&gt;
&lt;p&gt;一方で、新品で買い直す前提なら 2026 年の主流である USB Type-C 入出力のモデルを選ぶほうが、ケーブル運用の面で後悔が少ない。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Anker PowerCore 10000 を斜めから撮影&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-29-anker-powercore-10000/2021-03-29-Anker-PowerCore-10000-slanted.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;既に PowerCore 10000 を持っているなら、micro-B ケーブルを常備してそのまま使い続けてよい。買い替えタイミングが来たら、後継の Type-C 対応モデルへ素直に移行するのが妥当な落としどころ。&lt;/p&gt;</content:encoded><category>reviews</category><category>mobile-battery</category><category>anker</category><category>pc-peripherals</category></item><item><title>プログラミング用 Windows ノート PC の選び方 — メモリ16GB・Core i5 / Ryzen 5 以上が現実的なライン</title><link>https://aulvem.com/ja/blog/2021-03-28-programming-windows/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-28-programming-windows/</guid><description>プログラミング学習・副業・転職用に Windows ノート PC を買うときのスペック基準と、MacBook / Linux ノートとの比較。メモリ16GB・Core i5 / Ryzen 5 以上を目安に、用途別に判断する。</description><pubDate>Sun, 28 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子は今も参考になるが、CPU 世代と価格は執筆当時のまま。最新の世代・在庫状況は購入前に必ず確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;プログラミングを学び始めるとき、最初に詰まるのが PC 選び。スペック表のどの数字を見ればいいか、どこまでお金をかければ無駄にならないかが分かりにくい。&lt;/p&gt;
&lt;p&gt;この記事は、Web 系の学習・副業・転職を想定して、Windows ノート PC を買うときのスペック基準を整理する。MacBook と迷っている人向けに比較表も置いた。&lt;/p&gt;
&lt;h2 id=&quot;結論--メモリ16gbcore-i5--ryzen-5-以上10万円前後が現実ライン&quot;&gt;結論 — メモリ16GB・Core i5 / Ryzen 5 以上、10万円前後が現実ライン&lt;/h2&gt;
&lt;p&gt;短い答え: 学習・副業用途なら、&lt;strong&gt;メモリ16GB・Core i5（第11世代以降）または Ryzen 5（第4世代以降）・SSD 512GB&lt;/strong&gt; を満たすモデルを選ぶ。価格帯は10万円前後。&lt;/p&gt;
&lt;p&gt;理由は2つ:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;メモリは IDE・ブラウザ・Docker / 仮想環境を同時に立ち上げる時点で8GB だと窮屈。16GB あれば数年は持つ&lt;/li&gt;
&lt;li&gt;CPU は中位グレード（i5 / Ryzen 5）で IDE のビルドやテスト実行に体感ストレスがない&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に i7 / Ryzen 7 以上や32GB メモリは、機械学習や動画編集を兼ねないなら過剰。費用対効果が落ちる。&lt;/p&gt;
&lt;p&gt;MacBook 派の人は別記事にまとめている。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://aulvem.com/blog/2021-03-27-programming-macbook/&quot;&gt;プログラミング用 MacBook の選び方&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;メモリは16gb-を基準にする&quot;&gt;メモリは16GB を基準にする&lt;/h2&gt;
&lt;p&gt;短い答え: 16GB。8GB は学習開始時点ではいけるが、半年〜1年で頭打ちになる。&lt;/p&gt;
&lt;p&gt;プログラミング中にメモリを食う要素は次のとおり:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IDE（VS Code / IntelliJ など）— 拡張機能を入れると数 GB&lt;/li&gt;
&lt;li&gt;ブラウザのタブ — 開発中は十数タブが普通&lt;/li&gt;
&lt;li&gt;Docker / 仮想環境 — コンテナ1つあたり数百 MB〜&lt;/li&gt;
&lt;li&gt;ローカル DB / 開発サーバー — 同時起動する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらを並走させた瞬間に8GB は枯れる。スワップが発生すると SSD 寿命にも効くので、最初から16GB を入れておくほうが結果的に安い。&lt;/p&gt;
&lt;h3 id=&quot;32gb-が要るケース&quot;&gt;32GB が要るケース&lt;/h3&gt;
&lt;p&gt;機械学習・大規模なデータ処理・動画編集を兼ねるなら32GB。それ以外の Web 開発・スマホアプリ開発（Android 寄り）には16GB で足りる。&lt;/p&gt;
&lt;h2 id=&quot;cpu-は-core-i5--ryzen-5-以上世代を必ず確認する&quot;&gt;CPU は Core i5 / Ryzen 5 以上、世代を必ず確認する&lt;/h2&gt;
&lt;p&gt;短い答え: 中位グレード（i5 / Ryzen 5）の &lt;strong&gt;新しめの世代&lt;/strong&gt; を選ぶ。世代の差はグレードの差より体感に効く。&lt;/p&gt;
&lt;p&gt;ノート PC 用 CPU の現実的な下限ライン（2021年当時）:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intel: &lt;strong&gt;第11世代 Core i5&lt;/strong&gt; 以上&lt;/li&gt;
&lt;li&gt;AMD: &lt;strong&gt;Ryzen 5 第4世代（5000番台）&lt;/strong&gt; 以上&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;2026 時点では当然もっと上の世代が出ているので、購入時は最新2世代以内に絞れば外さない。&lt;/p&gt;
&lt;h3 id=&quot;i5-と-ryzen-5-の使い分け&quot;&gt;i5 と Ryzen 5 の使い分け&lt;/h3&gt;
&lt;p&gt;プログラミング用途では体感差はほぼない。決め方の目安:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;同価格でコア数が多いほうがいい → Ryzen 5&lt;/li&gt;
&lt;li&gt;バッテリー駆動時間と電力効率を取りたい → Intel Core i5&lt;/li&gt;
&lt;li&gt;法人サポートや在庫の安定 → Intel Core i5&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;i7 / Ryzen 7 以上は機械学習・動画編集を兼ねる場合の選択肢。プログラミング単体の用途では恩恵が薄い。&lt;/p&gt;
&lt;h2 id=&quot;モデル別の判断--学習用--副業用--機械学習用&quot;&gt;モデル別の判断 — 学習用 / 副業用 / 機械学習用&lt;/h2&gt;
&lt;p&gt;短い答え: 用途で3パターンに分かれる。価格帯と必要スペックは大きく違う。&lt;/p&gt;
&lt;h3 id=&quot;学習用progate--udemy--ポートフォリオ制作&quot;&gt;学習用（Progate / Udemy → ポートフォリオ制作）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt;: Core i5 / Ryzen 5（中位）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;メモリ&lt;/strong&gt;: 16GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSD&lt;/strong&gt;: 512GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPU&lt;/strong&gt;: 内蔵で十分&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;価格目安&lt;/strong&gt;: 8〜10万円&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最初の一台ならここで足りる。型落ち・直販アウトレットを使うとさらに2〜3万円下がる。&lt;/p&gt;
&lt;h3 id=&quot;副業転職用実務寄りdocker--仮想環境を回す&quot;&gt;副業・転職用（実務寄り、Docker / 仮想環境を回す）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt;: Core i5 / Ryzen 5（中位の新世代）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;メモリ&lt;/strong&gt;: 16GB（できれば後から32GB に拡張可能なモデル）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSD&lt;/strong&gt;: 512GB〜1TB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPU&lt;/strong&gt;: 内蔵で十分&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;価格目安&lt;/strong&gt;: 10〜13万円&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Docker・複数の仮想環境・ローカル DB を並走させる場面が出てくる。メモリ拡張可否を必ず確認する。&lt;/p&gt;
&lt;h3 id=&quot;機械学習用ローカルで学習を回したい&quot;&gt;機械学習用（ローカルで学習を回したい）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt;: Core i7 / Ryzen 7&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;メモリ&lt;/strong&gt;: 32GB 以上&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSD&lt;/strong&gt;: 1TB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPU&lt;/strong&gt;: NVIDIA GeForce RTX 系（VRAM 8GB 以上）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;価格目安&lt;/strong&gt;: 15万円〜25万円超&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ノート PC でやり切るのは正直しんどい。学習タスクの規模が一定を超えるなら、最初からクラウド GPU を併用する前提で組むほうが現実的。&lt;/p&gt;
&lt;h2 id=&quot;比較--windows-ノート--macbook--linux-ノート&quot;&gt;比較 — Windows ノート / MacBook / Linux ノート&lt;/h2&gt;
&lt;p&gt;短い答え: Web / バックエンド用途で同スペックなら Windows が一番安い。Apple Silicon の電力効率を取りたいなら MacBook、ハードウェアごと開発環境にしたいなら Linux ノート。&lt;/p&gt;





















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;Windows ノート PC&lt;/th&gt;&lt;th&gt;MacBook（Apple Silicon）&lt;/th&gt;&lt;th&gt;Linux ノート（ThinkPad など）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;同スペック価格&lt;/td&gt;&lt;td&gt;安い（基準）&lt;/td&gt;&lt;td&gt;+2〜3万円&lt;/td&gt;&lt;td&gt;Windows と同等&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;開発環境構築&lt;/td&gt;&lt;td&gt;WSL2 で大半カバー&lt;/td&gt;&lt;td&gt;macOS（UNIX 系）で素直&lt;/td&gt;&lt;td&gt;ネイティブで素直&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;iOS / macOS 開発&lt;/td&gt;&lt;td&gt;不可（Xcode が動かない）&lt;/td&gt;&lt;td&gt;可&lt;/td&gt;&lt;td&gt;不可&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;バッテリー / 静音&lt;/td&gt;&lt;td&gt;モデルによる&lt;/td&gt;&lt;td&gt;強い&lt;/td&gt;&lt;td&gt;モデルによる&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;拡張・修理&lt;/td&gt;&lt;td&gt;しやすい（モデルによる）&lt;/td&gt;&lt;td&gt;しにくい&lt;/td&gt;&lt;td&gt;しやすい&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;機械学習（GPU）&lt;/td&gt;&lt;td&gt;NVIDIA 搭載モデルあり&lt;/td&gt;&lt;td&gt;MPS / Metal 経由（限定的）&lt;/td&gt;&lt;td&gt;NVIDIA 搭載モデルあり&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;学習リソース&lt;/td&gt;&lt;td&gt;多い（業務 PC が Windows）&lt;/td&gt;&lt;td&gt;多い&lt;/td&gt;&lt;td&gt;少なめ&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;iOS アプリ開発を視野に入れないなら、Windows は無難な選択。Linux ネイティブが好きな人は ThinkPad / Dell XPS あたりに Ubuntu を入れる構成が安定する。&lt;/p&gt;
&lt;h2 id=&quot;モニターを足すほうがコスパが良い&quot;&gt;モニターを足すほうがコスパが良い&lt;/h2&gt;
&lt;p&gt;ノート PC のスペックを1ランク上げるより、外部モニターを1枚足したほうが体感の作業効率は上がる。コードとブラウザ（プレビュー / ドキュメント）を並べられるかは生産性に直接効く。&lt;/p&gt;
&lt;p&gt;外で書きたい人向けの軽量モデル選びは別記事にまとめている。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. プログラミングにメモリ8GB では足りないですか？&lt;/strong&gt;
A. 学習目的・小規模な個人開発なら8GB でも動く。ただし IDE・ブラウザ（タブ多め）・Docker / 仮想環境を同時に立ち上げると一気に厳しくなる。買い替え前提でないなら最初から16GB を選ぶほうが結果的に安い。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. MacBook と Windows、プログラミング用ならどちらが良いですか？&lt;/strong&gt;
A. iOS アプリ開発をしないなら、どちらでもよい。同スペック比で Windows のほうが2〜3万円安く、Linux 系の開発は WSL2 で十分こなせる。Apple Silicon の電力効率を取るか、価格と拡張性を取るかの選択。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Core i5 と Ryzen 5、どちらを選ぶべきですか？&lt;/strong&gt;
A. プログラミング用途で体感差はほぼない。同価格帯ならコア数で勝る Ryzen 5 が有利だが、バッテリー駆動時間や省電力性は Intel のほうが安定する傾向。価格・在庫・バッテリー要件で決めて構わない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 機械学習をやるならどんな構成が必要ですか？&lt;/strong&gt;
A. ローカルで学習回すなら NVIDIA GPU（VRAM 8GB 以上）+ メモリ32GB が現実的な下限。本気でやるならクラウド GPU（Colab / RunPod など）に課金するほうが結局安い。ノート PC で完結させる構成はおすすめしない。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;プログラミング用 Windows ノート PC は、&lt;strong&gt;メモリ16GB・Core i5 / Ryzen 5 以上・SSD 512GB・10万円前後&lt;/strong&gt; を基準にすれば外しにくい。ここから上は機械学習・動画編集など兼用したい用途があるかで決まる。&lt;/p&gt;
&lt;p&gt;MacBook と迷っているなら、iOS 開発をやるかどうかが分岐点。やらないなら同スペックで2〜3万円安い Windows 側で十分。&lt;/p&gt;
&lt;p&gt;外部モニターを足せる予算があるなら、ノート本体のグレードを上げるより先に1枚買うほうが体感の差は大きい。&lt;/p&gt;
</content:encoded><category>reviews</category><category>pc</category></item><item><title>プログラミング用 MacBook の選び方 — Air で大半は足りる、ML や iOS 兼用なら Pro</title><link>https://aulvem.com/ja/blog/2021-03-27-programming-macbook/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-27-programming-macbook/</guid><description>プログラミング用に MacBook を選ぶなら Air が第一候補。Web / モバイル開発は Air、機械学習や Xcode 重め用途は Pro 14、外部モニター複数枚や長時間ビルドなら Pro 16。用途別の判断軸とメモリ・CPU の現実的な目安をまとめる。</description><pubDate>Sat, 27 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事を全面リライト。Intel 時代の前提を Apple Silicon（M1〜M4）世代の現状に合わせて書き直した。具体的な価格・スペックは Apple 公式や量販店で必ず最新値を確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;プログラミングを始めようとして MacBook を見にいくと、Air・Pro 14・Pro 16 と並んでいて、しかも各モデル内でも CPU / メモリ / SSD の組み合わせで数万円ずつ値段が動く。最初の1台でいきなり40万円コースを選ぶのも怖い。&lt;/p&gt;
&lt;p&gt;この記事は「プログラミング学習・実務」という用途に絞って、Apple Silicon 世代の MacBook をどう選ぶかをまとめる。結論から言うと、ほとんどの人は Air で足りる。&lt;/p&gt;
&lt;p&gt;Windows ノートと迷っている人は &lt;a href=&quot;https://aulvem.com/blog/2021-03-28-programming-windows/&quot;&gt;プログラミング用 Windows ノートの選び方&lt;/a&gt;、ブログ執筆を主目的に MacBook を見ている人は &lt;a href=&quot;https://aulvem.com/blog/2021-04-08-blog-macbook/&quot;&gt;ブログ用 MacBook の選び方&lt;/a&gt; も併読すると判断が早い。&lt;/p&gt;
&lt;h2 id=&quot;結論--web--モバイルなら-airml-や-ios-の本格用途なら-pro&quot;&gt;結論 — Web / モバイルなら Air、ML や iOS の本格用途なら Pro&lt;/h2&gt;
&lt;p&gt;短い答え: プログラミング学習および Web / モバイルアプリ開発の大半は &lt;strong&gt;MacBook Air（M シリーズ・メモリ 16GB）&lt;/strong&gt; で足りる。Pro が必要なのは、機械学習でユニファイドメモリを多く使う人、Xcode で長時間ビルドを回す iOS 開発者、外部モニターを2枚以上つなぐ人だけ。&lt;/p&gt;
&lt;p&gt;判断軸は3つだけ:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;何を作るか&lt;/strong&gt; — Web / モバイルかぎりで Air、ML や重い iOS 開発なら Pro&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;メモリ&lt;/strong&gt; — 16GB を基準。学習 + 仕事兼用や ML を見据えるなら 24GB / 32GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;画面と拡張性&lt;/strong&gt; — 外部モニター複数枚を常用するなら Pro 14 / 16&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に言えば、8GB モデルと 256GB SSD の組み合わせは現代のプログラミング用途では避けたほうがいい（SSD 容量が依存ファイルとシミュレーターですぐ埋まる）。&lt;/p&gt;
&lt;h2 id=&quot;用途別の判断--web--モバイル--ml-で要求が変わる&quot;&gt;用途別の判断 — Web / モバイル / ML で要求が変わる&lt;/h2&gt;
&lt;p&gt;短い答え: 「プログラミング」と一括りにしないで、自分が何を書くかで切り分ける。Web 系・モバイル系・機械学習系で必要なリソースは違う。&lt;/p&gt;
&lt;h3 id=&quot;web--バックエンド開発--air-で十分&quot;&gt;Web / バックエンド開発 — Air で十分&lt;/h3&gt;
&lt;p&gt;Node / Python / Go などのバックエンドや React / Vue などのフロントエンド開発は、MacBook Air で問題なくこなせる。Docker を複数コンテナで動かしても、メモリ 16GB あれば学習〜小規模実務までは余裕がある。&lt;/p&gt;
&lt;p&gt;VS Code・ブラウザ・ターミナル・1〜2個のコンテナという典型構成なら、Air の冷却性能で長時間ファンが回ることもない。&lt;/p&gt;
&lt;h3 id=&quot;モバイル開発--ios-は-pro-14-が安心android-は-air-でも可&quot;&gt;モバイル開発 — iOS は Pro 14 が安心、Android は Air でも可&lt;/h3&gt;
&lt;p&gt;Android Studio は Air でも動くが、エミュレーター起動中はメモリを大きく食う。16GB を必須と考える。&lt;/p&gt;
&lt;p&gt;iOS（Xcode）は Air でも開発可能で、業務でなく学習段階なら Air で困らない。ただし業務で1日中ビルドを回すなら、Pro 14 の冷却と SoC 性能が体感差になる。実機を複数つなぐ・長時間連続ビルドする用途は Pro 推奨。&lt;/p&gt;
&lt;h3 id=&quot;機械学習--ユニファイドメモリの大きい-pro-14--16&quot;&gt;機械学習 — ユニファイドメモリの大きい Pro 14 / 16&lt;/h3&gt;
&lt;p&gt;ローカルで推論やファインチューニングを試すなら、Apple Silicon のユニファイドメモリ（CPU/GPU 共有）が GPU メモリとして使える。これは Apple Silicon の強みで、24GB / 32GB / 64GB 構成の Pro なら、同価格帯の Windows ノート GPU では載らないモデルもオンデバイスで回せる場面がある。&lt;/p&gt;
&lt;p&gt;本格的な学習（fine-tuning など）はクラウド GPU を併用するのが現実的。MacBook はあくまで推論・プロトタイプ用。&lt;/p&gt;
&lt;h2 id=&quot;メモリと-cpu-の現実的な目安&quot;&gt;メモリと CPU の現実的な目安&lt;/h2&gt;
&lt;p&gt;短い答え: メモリは 16GB を起点、CPU（SoC）グレードは Air = 無印 M、Pro 14 = M Pro、Pro 16 = M Pro / M Max という棲み分けで考える。&lt;/p&gt;
&lt;h3 id=&quot;メモリ--8gb-は今は避ける基準は-16gb&quot;&gt;メモリ — 8GB は今は避ける、基準は 16GB&lt;/h3&gt;
&lt;p&gt;Apple Silicon の 8GB は、Intel 時代の 8GB より粘る。しかし2026 年現在、ブラウザ・エディタ・コンテナ・チャット系常駐アプリを並行で動かすと、8GB ではスワップが日常的に発生する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;学習段階のみ・軽い用途&lt;/strong&gt;: 16GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;業務 + 学習を兼用&lt;/strong&gt;: 16〜24GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ML / iOS 本格 / 動画兼用&lt;/strong&gt;: 32GB 以上&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;メモリは購入時にしか選べない（Apple Silicon は半田付けで増設不可）ので、迷ったら一段上を選ぶのが後悔が少ない。&lt;/p&gt;
&lt;h3 id=&quot;cpusoc-air-の無印-m-で大半は足りる&quot;&gt;CPU（SoC）— Air の無印 M で大半は足りる&lt;/h3&gt;
&lt;p&gt;Apple Silicon の無印 M シリーズは、世代を重ねて Intel 時代の i7 を上回る性能になっている。Web / モバイル開発の通常作業では、無印 M で性能不足を感じる場面はほぼない。&lt;/p&gt;
&lt;p&gt;M Pro / M Max は、長時間連続でフルロードをかける用途（動画書き出し・大規模ビルド・ML 学習）で差が出る。短時間のビルドや IDE 操作では Air と Pro の差は体感しづらい。&lt;/p&gt;
&lt;h2 id=&quot;比較表--air--pro-14--pro-16プログラミング用途&quot;&gt;比較表 — Air / Pro 14 / Pro 16（プログラミング用途）&lt;/h2&gt;

































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;MacBook Air&lt;/th&gt;&lt;th&gt;MacBook Pro 14&lt;/th&gt;&lt;th&gt;MacBook Pro 16&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;想定用途&lt;/td&gt;&lt;td&gt;Web / モバイル学習・業務&lt;/td&gt;&lt;td&gt;iOS / ML / 動画兼用&lt;/td&gt;&lt;td&gt;長時間ビルド・外部画面複数枚&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SoC&lt;/td&gt;&lt;td&gt;無印 M&lt;/td&gt;&lt;td&gt;M Pro / M Max&lt;/td&gt;&lt;td&gt;M Pro / M Max&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;メモリ推奨&lt;/td&gt;&lt;td&gt;16GB&lt;/td&gt;&lt;td&gt;18〜24GB&lt;/td&gt;&lt;td&gt;24〜32GB 以上&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SSD 推奨&lt;/td&gt;&lt;td&gt;512GB 以上&lt;/td&gt;&lt;td&gt;512GB 以上&lt;/td&gt;&lt;td&gt;1TB 以上&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ディスプレイ&lt;/td&gt;&lt;td&gt;13 / 15 インチ&lt;/td&gt;&lt;td&gt;14 インチ ProMotion&lt;/td&gt;&lt;td&gt;16 インチ ProMotion&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;外部モニター&lt;/td&gt;&lt;td&gt;最大1〜2枚（世代依存）&lt;/td&gt;&lt;td&gt;複数枚可&lt;/td&gt;&lt;td&gt;複数枚可&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;冷却&lt;/td&gt;&lt;td&gt;ファンレス（M3 以前）/ 静音&lt;/td&gt;&lt;td&gt;アクティブ冷却&lt;/td&gt;&lt;td&gt;アクティブ冷却&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;重量&lt;/td&gt;&lt;td&gt;約 1.2〜1.5kg&lt;/td&gt;&lt;td&gt;約 1.6kg&lt;/td&gt;&lt;td&gt;約 2.1kg&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格レンジ&lt;/td&gt;&lt;td&gt;15〜25 万円&lt;/td&gt;&lt;td&gt;25〜40 万円&lt;/td&gt;&lt;td&gt;35〜60 万円&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;※価格・スペックは世代によって変動するので、Apple 公式サイトで購入時点の最新値を確認すること。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. メモリは 8GB と 16GB のどちらを選ぶべきですか？&lt;/strong&gt;
A. 2026 年時点では 16GB を基準にする。Apple Silicon の 8GB は体感では Intel 時代より粘るが、Docker / 仮想環境 / ブラウザのタブを並行して開くとスワップが発生する。長く使うなら 16GB 以上が安心。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. MacBook Air で iOS アプリ開発はできますか？&lt;/strong&gt;
A. できる。Xcode は Air でも問題なく動く。ただしシミュレーター起動と実機ビルドを繰り返す本格的な業務開発では、Pro の冷却性能のほうが体感速度で勝る場面がある。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 機械学習をやるなら MacBook で足りますか？&lt;/strong&gt;
A. 学習用途やローカル LLM 推論を真剣にやるなら、GPU メモリ（ユニファイドメモリ）の大きい Pro 14 / 16 が現実的。学習目的の入門なら Air でも始められるが、本格運用はクラウド GPU との併用を推奨する。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Windows と MacBook、プログラミング用にはどちらがいいですか？&lt;/strong&gt;
A. 業務で macOS / iOS / Apple 系開発をするなら MacBook 一択。Web / バックエンドだけなら Windows + WSL2 で十分。同じ価格帯では Windows のほうがスペック上は得だが、開発環境の整備しやすさと中古リセールでは MacBook が勝つ。詳細は &lt;a href=&quot;https://aulvem.com/blog/2021-03-28-programming-windows/&quot;&gt;プログラミング用 Windows ノートの選び方&lt;/a&gt; を参照。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;プログラミング用 MacBook は、Web / モバイル学習が中心なら Air（メモリ 16GB）で大半が片付く。Pro 14 / 16 が要るのは、ML でユニファイドメモリを多く使う・iOS で長時間ビルドする・外部モニターを複数枚つなぐ、のいずれかに当てはまるとき。&lt;/p&gt;
&lt;p&gt;価格差をどこに振るかで言えば、最初の1台は &lt;strong&gt;Air をメモリ 16GB / SSD 512GB 構成にし、差額で外部モニターを用意する&lt;/strong&gt; ほうが日常の作業効率に効く。&lt;/p&gt;
&lt;p&gt;ブログ執筆用途で MacBook を見ている人は &lt;a href=&quot;https://aulvem.com/blog/2021-04-08-blog-macbook/&quot;&gt;ブログ用 MacBook の選び方&lt;/a&gt;、Windows ノートと比較したい人は &lt;a href=&quot;https://aulvem.com/blog/2021-03-28-programming-windows/&quot;&gt;プログラミング用 Windows ノートの選び方&lt;/a&gt; も参考になる。&lt;/p&gt;
</content:encoded><category>reviews</category><category>pc</category><category>apple</category></item><item><title>タイプ別 おすすめ iPhone 12 機種 — 5G 普及初年度モデルを今あえて選ぶ視点</title><link>https://aulvem.com/ja/blog/2021-03-26-iphone12/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-26-iphone12/</guid><description>iPhone 12 シリーズ（無印・mini・Pro・Pro Max）の選び方。5G 普及初年のモデルとして、用途別に mini / 無印 / Pro / Pro Max のどれを選ぶかを表と FAQ でまとめる。</description><pubDate>Fri, 26 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。iPhone 12 は &lt;strong&gt;日本市場で 5G が本格的に普及し始めた最初の iPhone&lt;/strong&gt;（2020年秋発表）であり、ミリ波対応モデルが米国向け、Sub-6 のみが日本向けという棲み分けが定着した世代でもある。2026 年現在、新品で買う一線級ではないが、中古・型落ち購入の判断材料としては今も骨子が有効。具体的な価格や在庫情報は購入前に必ず確認すること。スペック表記は執筆当時の公称値で、最新の公式表記とは差分があり得る。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;iPhone 12 は新品で買うフェーズを過ぎた一方で、中古・整備済みで「いま安く iPhone を持ちたい」候補としてはまだ現役。シリーズ内に mini / 無印 / Pro / Pro Max の4機種があり、サイズもカメラ構成も違う。&lt;/p&gt;
&lt;p&gt;この記事は、iPhone 12 シリーズの4機種を &lt;strong&gt;画面サイズと光学望遠の有無&lt;/strong&gt; という2軸で整理し、用途別にどれを選ぶかを示す。iPhone 11 と迷っている読者は、5G を使うかどうかで結論が変わるので最後の FAQ まで読んでほしい。&lt;/p&gt;
&lt;h2 id=&quot;結論--mini-か-pro-系か無印と-pro-max-は中間で迷いやすい&quot;&gt;結論 — mini か Pro 系か。無印と Pro Max は中間で迷いやすい&lt;/h2&gt;
&lt;p&gt;短い答え: 片手で使いたいなら mini、望遠や夜景を撮りたいなら Pro 系。それ以外の人は無印で十分。Pro Max は「大画面で望遠も要る」人だけが選ぶ機種。&lt;/p&gt;
&lt;p&gt;iPhone 12 シリーズの差は、突き詰めると以下の3点に収束する。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;画面サイズ&lt;/strong&gt;: 5.4 / 6.1 / 6.7 インチの3段階&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;光学望遠と LiDAR の有無&lt;/strong&gt;: Pro 系のみ搭載&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;5G ミリ波対応&lt;/strong&gt;: 日本向けモデルは全機種 Sub-6 のみ&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;価格やストレージで決めるよりも、まずこの3点で候補を絞るほうが速い。&lt;/p&gt;
&lt;h2 id=&quot;iphone-12-世代で何が進化したか&quot;&gt;iPhone 12 世代で何が進化したか&lt;/h2&gt;
&lt;p&gt;短い答え: 5G 対応、有機 EL 全機種化、MagSafe、A14 Bionic、ボディ設計の刷新。iPhone 11 世代から見ると「世代交代」と呼べる変化量がある。&lt;/p&gt;
&lt;h3 id=&quot;5g-対応日本では-sub-6-のみ&quot;&gt;5G 対応（日本では Sub-6 のみ）&lt;/h3&gt;
&lt;p&gt;iPhone 12 は &lt;strong&gt;日本で発売された最初の 5G 対応 iPhone&lt;/strong&gt;。日本向けは Sub-6 のみで、ミリ波（mmWave）対応モデルは北米向けに限られる。&lt;/p&gt;
&lt;p&gt;体感的には、5G エリアにいれば下り速度が伸びるが、エリア外では 4G LTE にフォールバックするので「5G だから速い」と単純化はできない。2026 年時点では 5G エリアが広がっているので、当時より恩恵は受けやすい。&lt;/p&gt;
&lt;h3 id=&quot;全機種が有機-elsuper-retina-xdrに&quot;&gt;全機種が有機 EL（Super Retina XDR）に&lt;/h3&gt;
&lt;p&gt;iPhone 11 では無印が IPS 液晶、Pro 系のみ有機 EL という分かれ方だった。iPhone 12 からは &lt;strong&gt;mini / 無印を含めて全機種が有機 EL&lt;/strong&gt; になり、黒の沈み込みと HDR 表示が共通の体験になった。&lt;/p&gt;
&lt;h3 id=&quot;magsafe-ワイヤレス充電&quot;&gt;MagSafe ワイヤレス充電&lt;/h3&gt;
&lt;p&gt;背面に磁石のリングが入り、純正・サードパーティの MagSafe 充電器やアクセサリが吸着する。iPhone 12 以降のシリーズで共通の規格になっており、長く使う前提なら資産化しやすい。&lt;/p&gt;
&lt;h3 id=&quot;ボディが直線的なデザインに戻った&quot;&gt;ボディが直線的なデザインに戻った&lt;/h3&gt;
&lt;p&gt;iPhone 4 / 5 系を想起させるフラットエッジ。iPhone 11 までの丸みのある側面とは持ち心地が大きく違う。手の小さい人は実機を触って確認したほうがいい。&lt;/p&gt;
&lt;h2 id=&quot;用途別の判断--どれを選ぶか&quot;&gt;用途別の判断 — どれを選ぶか&lt;/h2&gt;
&lt;p&gt;短い答え: 「片手か / 望遠か / 大画面か」のどれを優先するかで機種が決まる。&lt;/p&gt;
&lt;h3 id=&quot;片手で使いたい--iphone-12-mini54-インチ&quot;&gt;片手で使いたい — iPhone 12 mini（5.4 インチ）&lt;/h3&gt;
&lt;p&gt;iPhone 12 mini は &lt;strong&gt;シリーズ内で最も小さい 5.4 インチ&lt;/strong&gt;。同世代 Android のフラッグシップを含めても希少なサイズで、片手操作を最優先するならこれ一択。&lt;/p&gt;
&lt;p&gt;ただし mini はバッテリー容量が小さく、ヘビーに使うと夕方には残量が厳しい場面がある。長時間外で使う人は無印以上を推奨。&lt;/p&gt;
&lt;h3 id=&quot;望遠--夜景--lidar-が欲しい--iphone-12-pro--pro-max&quot;&gt;望遠 / 夜景 / LiDAR が欲しい — iPhone 12 Pro / Pro Max&lt;/h3&gt;
&lt;p&gt;Pro 系のみ &lt;strong&gt;光学望遠カメラと LiDAR スキャナ&lt;/strong&gt; を搭載する。望遠は静物の寄りやポートレートで効き、LiDAR は暗所のオートフォーカス速度に直接効く。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iPhone 12 Pro: 光学2倍ズーム&lt;/li&gt;
&lt;li&gt;iPhone 12 Pro Max: 光学2.5倍ズーム + センサーシフト式手ブレ補正&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「ちょっと寄りたい」程度なら無印のデジタルズームでも足りるが、暗い場所で人物を撮る頻度が高いなら Pro 系の差は大きい。&lt;/p&gt;
&lt;h3 id=&quot;大画面が欲しい--iphone-12-pro-max67-インチ&quot;&gt;大画面が欲しい — iPhone 12 Pro Max（6.7 インチ）&lt;/h3&gt;
&lt;p&gt;6.7 インチは動画視聴やゲームで効く。ただし片手では完全に握れないサイズなので、両手前提で使う割り切りが要る。&lt;/p&gt;
&lt;h3 id=&quot;それ以外--iphone-12無印-61-インチ&quot;&gt;それ以外 — iPhone 12（無印, 6.1 インチ）&lt;/h3&gt;
&lt;p&gt;「サイズも光学望遠も特に強い要望はない」人は無印で過不足ない。iPhone 11 からの買い替えで一番自然な選択肢。&lt;/p&gt;
&lt;h2 id=&quot;iphone-12-シリーズ比較表&quot;&gt;iPhone 12 シリーズ比較表&lt;/h2&gt;













































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;機種&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;画面サイズ&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;カメラ&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;光学望遠&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;LiDAR&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;重量&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;iPhone 12 mini&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;5.4 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;広角 + 超広角&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;なし&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;なし&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;約 133g&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;iPhone 12&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;6.1 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;広角 + 超広角&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;なし&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;なし&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;約 162g&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;iPhone 12 Pro&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;6.1 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;広角 + 超広角 + 望遠&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;2倍&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;あり&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;約 187g&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;iPhone 12 Pro Max&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;6.7 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;広角 + 超広角 + 望遠&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;2.5倍&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;あり&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;約 226g&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;スペックの数値は Apple 公表値。重量はケース無しの本体実測ではなく公称値。&lt;/p&gt;
&lt;h2 id=&quot;iphone-11-と-iphone-12どちらを買うか&quot;&gt;iPhone 11 と iPhone 12、どちらを買うか&lt;/h2&gt;
&lt;p&gt;短い答え: 5G を使うかどうか、有機 EL に価値を感じるかどうかで決まる。&lt;/p&gt;
&lt;p&gt;iPhone 11 シリーズの選び方は &lt;a href=&quot;https://aulvem.com/blog/2021-03-25-iphone11/&quot;&gt;タイプ別 おすすめ iPhone 11 機種&lt;/a&gt; にまとめている。両方の記事を読み比べると、12 で何が変わったかが見えやすい。&lt;/p&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;観点&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;iPhone 11&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;iPhone 12&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;5G&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非対応&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;Sub-6 対応（日本向け）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;無印の画面&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;IPS 液晶&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;有機 EL&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;MagSafe&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非対応&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;最小サイズ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;5.8 インチ（Pro）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;5.4 インチ（mini）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;中古価格（2026目安）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;より安い&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;やや高い&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;5G と有機 EL に価値を感じない、価格優先という人は iPhone 11 で十分。逆に「mini の片手サイズ」「無印で有機 EL」を欲しがる人は iPhone 12 を選ぶ意味がある。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. 2026 年から iPhone 12 を新品で買う意味はありますか？&lt;/strong&gt;
A. 新品流通はほぼ終わっており、整備済品か中古が中心。バッテリーの劣化状況を確認できる前提なら、サブ機やライト用途では選択肢に入る。メイン機で長く使うなら新世代を勧める。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPhone 12 mini はバッテリーが弱いと聞きますが本当ですか？&lt;/strong&gt;
A. 公称ビデオ再生時間で無印より短いのは事実。ヘビーユースだと夕方に残量が厳しい場面はある。片手サイズと引き換えの仕様として割り切るか、無印を選ぶかの判断になる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPhone 12 の 5G は日本で意味がありますか？&lt;/strong&gt;
A. 2020 年発売時は 5G エリアが限定的だったが、2026 年時点ではエリアが広がっているので恩恵を受けやすい。ただし日本向けは Sub-6 のみで、ミリ波の高速通信は対象外。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPhone 11 から iPhone 12 に買い替える価値はありますか？&lt;/strong&gt;
A. iPhone 11 がまだ快適に動いているなら、無理に買い替える必要はない。買い替えの動機になりやすいのは「5G を使いたい」「無印でも有機 EL が欲しい」「mini の片手サイズが欲しい」のいずれか。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;iPhone 12 シリーズは「5G 普及初年の iPhone」として歴史的な位置づけがあり、全機種有機 EL 化と MagSafe 導入で世代としてのまとまりも良い。&lt;/p&gt;
&lt;p&gt;2026 年から買うなら、新品ではなく中古・整備済品が現実的なライン。選ぶときは画面サイズ・光学望遠の有無・5G エリアの3点を確認しておけば、買ってから後悔する確率は下げられる。&lt;/p&gt;
&lt;p&gt;iPhone 11 と迷っている人は &lt;a href=&quot;https://aulvem.com/blog/2021-03-25-iphone11/&quot;&gt;タイプ別 おすすめ iPhone 11 機種&lt;/a&gt; と読み比べると、世代差の輪郭がはっきりする。&lt;/p&gt;
</content:encoded><category>reviews</category><category>smartphone</category><category>apple</category></item><item><title>iPhone 11 シリーズの選び方 — Pro / Pro Max / 無印を、用途別に絞り込む</title><link>https://aulvem.com/ja/blog/2021-03-25-iphone11/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-25-iphone11/</guid><description>iPhone 11 / 11 Pro / 11 Pro Max を、画面サイズ・カメラ・ディスプレイ品質の3軸で比較。2021年の発売当時を基準に、用途別にどれを選べばよいかを整理する。</description><pubDate>Thu, 25 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: この記事は 2021 年 3 月、iPhone 11 が「型落ち直後の狙い目モデル」だった時期に書いたもの。2026 年時点では iPhone 12 / 13 以降の機種も中古市場で十分に安く、iPhone 11 を新品で選ぶ理由はほとんどない。以下は &lt;strong&gt;2021 年当時の購入判断のスナップショット&lt;/strong&gt; として読んでほしい。骨子（Pro / Pro Max / 無印の差分の捉え方）は今も使える。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;iPhone 11 シリーズは、発売から年数が経って「型落ち枠の狙い目」になった頃に一気に売れたモデル。Pro / Pro Max / 無印の3機種があり、価格差もそこそこ大きいので「どれを選ぶか」で迷う人が多い。&lt;/p&gt;
&lt;p&gt;この記事は、3機種の差分を「画面サイズ・カメラ・ディスプレイ品質」の3軸に絞って整理する。読み終える頃には、自分が選ぶべき1台が決まっているはず。&lt;/p&gt;
&lt;h2 id=&quot;結論--pro-系か無印か判断は3点だけ&quot;&gt;結論 — Pro 系か無印か、判断は3点だけ&lt;/h2&gt;
&lt;p&gt;短い答え: iPhone 11 シリーズの選び分けは「3眼カメラ（望遠レンズ）が要るか」「有機 EL の鮮やかさが要るか」「6.5 インチの大画面が要るか」の3点で決まる。&lt;/p&gt;
&lt;p&gt;逆に言うと、この3つに当てはまらない人は &lt;strong&gt;無印 iPhone 11 で十分&lt;/strong&gt;。Pro 系との性能差は普段使いではほぼ感じない。&lt;/p&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;機種&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;画面サイズ&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;カメラ&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;ディスプレイ&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;想定価格帯（2021 年）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;iPhone 11 Pro Max&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;6.5 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;3 眼（望遠あり）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;有機 EL・HDR&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;高&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;iPhone 11 Pro&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;5.8 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;3 眼（望遠あり）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;有機 EL・HDR&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;中〜高&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;iPhone 11&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;6.1 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;2 眼（広角＋超広角）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;IPS 液晶&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;中&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;タイプ別の結論を先に書くと、こうなる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;望遠で撮りたい / 暗所と動画にこだわる → &lt;strong&gt;Pro 系&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;画面の鮮やかさ（HDR 動画・写真編集）を重視 → &lt;strong&gt;Pro 系&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;ゲームを快適にやりたい → &lt;strong&gt;Pro 系&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;とにかく大画面が欲しい → &lt;strong&gt;Pro Max&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;上のどれも当てはまらない → &lt;strong&gt;無印 iPhone 11&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;iphone-11-シリーズの基本スペックを比較&quot;&gt;iPhone 11 シリーズの基本スペックを比較&lt;/h2&gt;
&lt;p&gt;短い答え: 3機種は SoC（A13 Bionic）が共通で、CPU 性能には差がない。差が出るのはカメラ・ディスプレイ・画面サイズ・バッテリーの4点。&lt;/p&gt;
&lt;h3 id=&quot;cpu-は-a13-bionic-で共通&quot;&gt;CPU は A13 Bionic で共通&lt;/h3&gt;
&lt;p&gt;Pro / Pro Max / 無印すべてに同じ A13 Bionic が載っている。普段使いやアプリ起動の体感速度はどれを選んでもほぼ同じ。&lt;/p&gt;
&lt;p&gt;「Pro のほうがゲームで快適」と感じる場面があるとすれば、それは CPU ではなく &lt;strong&gt;ディスプレイのリフレッシュ感&lt;/strong&gt; と &lt;strong&gt;発熱時のサーマルスロットリング&lt;/strong&gt; の差から来る部分が大きい。&lt;/p&gt;
&lt;h3 id=&quot;差が出るのはカメラディスプレイサイズバッテリー&quot;&gt;差が出るのはカメラ・ディスプレイ・サイズ・バッテリー&lt;/h3&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;観点&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;iPhone 11 Pro Max&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;iPhone 11 Pro&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;iPhone 11&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;SoC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;A13 Bionic&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;A13 Bionic&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;A13 Bionic&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;画面サイズ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;6.5 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;5.8 インチ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;6.1 インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;ディスプレイ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;Super Retina XDR（有機 EL）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;Super Retina XDR（有機 EL）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;Liquid Retina（IPS 液晶）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;カメラ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;3 眼（広角・超広角・望遠）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;3 眼（広角・超広角・望遠）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;2 眼（広角・超広角）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;バッテリー駆動目安&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;最も長い&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;中間&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;中間（無印は Pro より長持ちする報告あり）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;重量&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;226 g&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;188 g&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;194 g&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;スペック表だけ見るとほぼ同じに見えるが、&lt;strong&gt;カメラの望遠レンズと有機 EL&lt;/strong&gt; の2つは日常使用で体感差が出やすい。&lt;/p&gt;
&lt;h2 id=&quot;用途別に判断する&quot;&gt;用途別に判断する&lt;/h2&gt;
&lt;p&gt;短い答え: 「写真・動画で稼ぐ／趣味にする」なら Pro 系、「画面の大きさが何より優先」なら Pro Max、それ以外は無印で困らない。&lt;/p&gt;
&lt;h3 id=&quot;写真動画にこだわるなら-pro-系&quot;&gt;写真・動画にこだわるなら Pro 系&lt;/h3&gt;
&lt;p&gt;3眼カメラの恩恵は &lt;strong&gt;望遠レンズ（2倍光学ズーム）&lt;/strong&gt; と &lt;strong&gt;ナイトモードの安定感&lt;/strong&gt;。SNS に料理写真や旅行写真を上げる頻度が高い人は Pro 系のほうが満足度が高い。&lt;/p&gt;
&lt;p&gt;ただし望遠は 2 倍程度なので、「遠くを大きく撮る」用途には足りない。あくまで「もう一歩寄れる」レベルだと思っておくと期待を外さない。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;iPhone 11 Pro Max の本体写真（背面の3眼カメラが見える）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-25-iphone11/2021-03-25-iPhone11-Pro-Max.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;動画視聴ゲームの没入感が欲しいなら-pro-系の有機-el&quot;&gt;動画視聴・ゲームの没入感が欲しいなら Pro 系の有機 EL&lt;/h3&gt;
&lt;p&gt;Pro / Pro Max の Super Retina XDR は有機 EL + HDR 対応。Netflix の HDR タイトルや Apple TV+ のドルビービジョン作品で、黒の締まりとハイライトの伸びがはっきり違う。&lt;/p&gt;
&lt;p&gt;無印 iPhone 11 の Liquid Retina（IPS 液晶）も十分キレイだが、HDR 動画を頻繁に見るなら Pro 系を選ぶ価値がある。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;iPhone 11 Pro の本体写真（5.8インチサイズ）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-25-iphone11/2021-03-25-iPhone11-Pro.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;大画面で動画を観たい電子書籍を読みたいなら-pro-max&quot;&gt;大画面で動画を観たい・電子書籍を読みたいなら Pro Max&lt;/h3&gt;
&lt;p&gt;6.5 インチは iPhone 11 シリーズで最大。電子書籍の見開きや動画視聴に向いている反面、&lt;strong&gt;重量 226 g&lt;/strong&gt; は片手操作で疲れる。ポケットに入れて持ち運ぶ前提なら覚悟が要る。&lt;/p&gt;
&lt;h3 id=&quot;上のどれにも当てはまらないなら無印-iphone-11&quot;&gt;上のどれにも当てはまらないなら無印 iPhone 11&lt;/h3&gt;
&lt;p&gt;普段使い（メッセージ・SNS・カメラ・動画視聴）が中心で、「望遠も HDR も大画面も特に要らない」なら無印で十分。価格差ぶんを別の出費に回した方が満足度が高い。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;iPhone 11 無印の本体写真（6.1インチサイズ）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-25-iphone11/2021-03-25-iPhone11.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h2 id=&quot;iphone-11-と前後の世代を比較&quot;&gt;iPhone 11 と前後の世代を比較&lt;/h2&gt;
&lt;p&gt;短い答え: 旧モデル（iPhone XR / Xs）と比べると &lt;strong&gt;A13 + 超広角カメラ&lt;/strong&gt; が乗ったぶん明確に上、iPhone 12 と比べると &lt;strong&gt;5G 非対応と MagSafe 非搭載&lt;/strong&gt; が差。&lt;/p&gt;
&lt;h3 id=&quot;iphone-xr--xs-から見ると素直に進化&quot;&gt;iPhone XR / Xs から見ると素直に進化&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CPU が A12 → A13 になり、処理速度・電力効率ともに改善&lt;/li&gt;
&lt;li&gt;カメラに &lt;strong&gt;超広角レンズ&lt;/strong&gt; が追加（XR は単眼、Xs は望遠＋広角）&lt;/li&gt;
&lt;li&gt;ナイトモードが追加され、暗所撮影が一段強くなった&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;XR からの買い替えなら体感差ははっきり出る。Xs からの買い替えはカメラ重視でなければ「急いで替えるほどではない」のが正直なところ。&lt;/p&gt;
&lt;h3 id=&quot;iphone-12-シリーズと比べると&quot;&gt;iPhone 12 シリーズと比べると&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;iPhone 12 は &lt;strong&gt;5G 対応&lt;/strong&gt;、iPhone 11 は 4G まで&lt;/li&gt;
&lt;li&gt;iPhone 12 は &lt;strong&gt;MagSafe&lt;/strong&gt;（マグネット式アクセサリー）対応、iPhone 11 は非対応&lt;/li&gt;
&lt;li&gt;ディスプレイは iPhone 12 が全機種有機 EL、iPhone 11 は無印のみ IPS 液晶&lt;/li&gt;
&lt;li&gt;価格は iPhone 11 のほうが安い（2021 年時点）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;詳しくは別記事の &lt;a href=&quot;https://aulvem.com/blog/2021-03-26-iphone12/&quot;&gt;iPhone 12 シリーズの選び方&lt;/a&gt; で整理している。価格差を取るか、5G + MagSafe を取るかが iPhone 11 と 12 の分かれ目。&lt;/p&gt;
&lt;h3 id=&quot;比較まとめ&quot;&gt;比較まとめ&lt;/h3&gt;









































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;観点&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;iPhone 11 シリーズ&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;iPhone 12 シリーズ&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;iPhone Xs / XR&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;SoC&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;A13&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;A14&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;A12&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;5G&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非対応&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;対応&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;MagSafe&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非対応&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;対応&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;超広角カメラ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;あり（全機種）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;あり（全機種）&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;XR はなし&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;有機 EL&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;Pro 系のみ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;全機種&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;Xs のみ&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. 2026 年に iPhone 11 を新品で買う意味はある？&lt;/strong&gt;
A. ほとんどない。Apple 公式の販売は終了しており、中古市場でしか手に入らない。同じ価格帯で iPhone 12 / 13 が選べるなら、5G 対応や有機 EL ディスプレイがあるそちらを優先したい。サブ端末・キッズ用途・割り切った乗り換えなら中古の選択肢として残るレベル。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPhone 11 Pro と Pro Max、どちらを選ぶべき？&lt;/strong&gt;
A. スペックは同じなので「6.5 インチが要るか」だけで決めていい。電子書籍・動画視聴メインなら Pro Max、片手操作のしやすさを取るなら Pro。重量差 38 g は持ってみるとそれなりに体感差がある。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 無印 iPhone 11 の IPS 液晶は、Pro の有機 EL に比べてどれくらい劣る？&lt;/strong&gt;
A. 横に並べて見ない限り「劣る」と感じる場面は少ない。違いがはっきり出るのは &lt;strong&gt;真っ黒な背景の表示&lt;/strong&gt;（有機 EL は完全に消灯）と &lt;strong&gt;HDR 動画の明暗差&lt;/strong&gt;。普段の Web ブラウジングや SNS では差を意識することはほぼない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ゲーム用途で Pro と無印の差は出る？&lt;/strong&gt;
A. SoC が同じ A13 なのでフレームレートの差は基本的に出ない。ただし長時間プレイで発熱した際、Pro 系のほうが筐体構造的に熱を逃がしやすいという報告がある。原神のような重量級ゲームを長時間やるなら Pro 系のほうが安定する可能性がある、くらいの差。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;iPhone 11 シリーズの選び方は、シンプルに「望遠カメラ・有機 EL・6.5 インチ大画面のどれかが要るか」で決まる。3つとも要らないなら無印 iPhone 11 で十分、写真・動画・ゲームに踏み込むなら Pro 系を取る。&lt;/p&gt;
&lt;p&gt;2021 年時点ではコストパフォーマンスの良い選択肢だったが、2026 年現在は中古市場で iPhone 12 / 13 と比較できる価格になっているので、新品にこだわらず一段上の世代も候補に入れるのが現実的。&lt;/p&gt;
&lt;p&gt;iPhone 12 を含めた比較は &lt;a href=&quot;https://aulvem.com/blog/2021-03-26-iphone12/&quot;&gt;iPhone 12 シリーズの選び方&lt;/a&gt; を参考にしてほしい。&lt;/p&gt;
</content:encoded><category>reviews</category><category>smartphone</category><category>apple</category></item><item><title>プログラミング用モニターの選び方 — 24インチ・フル HD・縦置きできる1枚から始める</title><link>https://aulvem.com/ja/blog/2021-03-24-programming-monitor/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-24-programming-monitor/</guid><description>プログラミング用モニター選びは、一般的なオフィス用途と8割同じで、残り2割が縦置き対応とコード行数の見通し。24インチ・フル HD・非光沢・ピボット対応を基準に、デュアル・縦置き・4K の判断軸をまとめる。</description><pubDate>Wed, 24 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（プログラミング向けに足すべき条件）は今も有効だが、製品リンクと相場感は執筆当時（2021年）の情報。価格・型番は最新を確認のうえ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;プログラミング学習やエンジニアとしての就職をきっかけにモニターを買い足す人は多い。ただ、検索すると「ウルトラワイドが至高」「縦置きが必須」と極端な意見が並びがちで、最初の1枚としては判断材料にしにくい。&lt;/p&gt;
&lt;p&gt;オフィス用途の基準（&lt;a href=&quot;https://aulvem.com/blog/2021-03-15-choose-monitor/&quot;&gt;PC モニターの選び方&lt;/a&gt;）に、プログラミング向けの2点を足すだけで迷いはほぼ消える。コードを読む時間を増やしたいだけなら、24インチ・フル HD・非光沢・ピボット対応の1枚で十分に戦える。&lt;/p&gt;
&lt;h2 id=&quot;結論--24インチフル-hd非光沢ピボット対応の1枚から&quot;&gt;結論 — 24インチ・フル HD・非光沢・ピボット対応の1枚から&lt;/h2&gt;
&lt;p&gt;短い答え: プログラミング用モニターは、オフィス用の選び方に「ピボット（縦置き）対応」と「文字の見通し」の2点を足したものになる。具体的には以下4点を満たす1枚から始めるのが現実的だ。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;サイズ&lt;/strong&gt;: 24インチ前後（机に置きやすく、フル HD でも文字が潰れない）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解像度&lt;/strong&gt;: フル HD（1920×1080）— 24インチならスケーリング不要で扱いやすい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;表面処理&lt;/strong&gt;: 非光沢（ノングレア）— 長時間でも目の負担が小さい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ピボット対応&lt;/strong&gt;: 縦置きできる土台、または VESA 対応（後でモニターアームに載せる前提）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;デュアルにするか、縦置きで使うか、4K に投資するかは「あとで足す」で構わない。最初の1枚をこの条件で選んでおけば、どの方向にも拡張できる。&lt;/p&gt;
&lt;h2 id=&quot;サイズと解像度--24インチフル-hd-が扱いやすい&quot;&gt;サイズと解像度 — 24インチ・フル HD が扱いやすい&lt;/h2&gt;
&lt;p&gt;短い答え: プログラミング用途で最初に揃えるなら、24インチ・フル HD。理由は、追加設定なしでコードがそのまま読めるサイズだから。&lt;/p&gt;
&lt;p&gt;24インチでフル HD（1920×1080）なら、IDE のデフォルトフォントサイズ（13〜14pt 前後）でちょうど80〜100カラムが快適に並ぶ。スケーリングを 100% のまま使えるので、Linux や古いツールでの表示崩れに巻き込まれにくいのも実務的な利点だ。&lt;/p&gt;
&lt;p&gt;27インチでフル HD にすると、ドットピッチが粗くなって文字の縁がにじむ感じが出る。逆に 27インチ以上で快適に使いたいなら 4K が前提になる（→ FAQ 参照）。&lt;/p&gt;
&lt;p&gt;机の奥行きが60cm未満なら、24インチを基準に。それ以上の奥行きがあれば27インチ 4K も選択肢に入る。&lt;/p&gt;
&lt;h2 id=&quot;縦置きピボットと横置きの使い分け&quot;&gt;縦置き（ピボット）と横置きの使い分け&lt;/h2&gt;
&lt;p&gt;短い答え: 横置きが基本、縦置きは「縦に長いものを読む時間が長い人」だけ追加で考える。&lt;/p&gt;
&lt;p&gt;理由は、プログラミングの作業時間のうち、コードを書く時間より「ログ・差分・ドキュメントを読む時間」のほうが長いから。読む対象が縦長（ログ、Markdown、Git の diff、PDF）なら、縦置きにすると1画面に収まる情報量が増えて、スクロール回数がはっきり減る。&lt;/p&gt;
&lt;h3 id=&quot;横置き--標準最初の1枚はここから&quot;&gt;横置き — 標準。最初の1枚はここから&lt;/h3&gt;
&lt;p&gt;横置きは IDE / ブラウザ / ターミナルを横並びに置く構成と相性がよい。マルチカラムの IDE（左にツリー、中央にエディタ、右にプレビュー）を素直に使うなら、横置きで困らない。&lt;/p&gt;
&lt;h3 id=&quot;縦置き--ログ長いコードpr-レビュー向け&quot;&gt;縦置き — ログ・長いコード・PR レビュー向け&lt;/h3&gt;
&lt;p&gt;縦置きが効くのはこういう人:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;サーバーログを長時間追う（SRE / バックエンド寄り）&lt;/li&gt;
&lt;li&gt;GitHub の PR レビューが日課（diff の縦スクロールが減る）&lt;/li&gt;
&lt;li&gt;長文ドキュメント・仕様書を読む時間が多い&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;縦置きには &lt;strong&gt;ピボット対応の土台&lt;/strong&gt; または &lt;strong&gt;VESA 対応 + モニターアーム&lt;/strong&gt; が必要。買う時点でどちらかを確保しておくと、あとから「やっぱり縦置きしたい」となったときの追加コストがゼロになる。&lt;/p&gt;
&lt;h3 id=&quot;デュアルにするなら同型横並び&quot;&gt;デュアルにするなら「同型・横並び」&lt;/h3&gt;
&lt;p&gt;デュアルディスプレイはコード行き来の時間を確実に削る。ただし上下に重ねるより&lt;strong&gt;左右に横並び&lt;/strong&gt;のほうが、視線移動が水平で済むぶん目の疲れが軽い。&lt;/p&gt;
&lt;p&gt;並べる2枚は同型で揃えるのが無難。型番が違うとフチの厚みや色味が揃わず、視線を移すたびに微妙な違和感が残る。&lt;/p&gt;
&lt;h2 id=&quot;比較表--一般オフィス用途-vs-プログラミング向け&quot;&gt;比較表 — 一般オフィス用途 vs プログラミング向け&lt;/h2&gt;
&lt;p&gt;オフィス用と比べて、プログラミング向けで追加・変更したいのは「ピボット対応」と「2枚目への拡張余地」の2点に絞られる。&lt;/p&gt;













































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;一般オフィス用&lt;/th&gt;&lt;th&gt;プログラミング向け推奨&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;サイズ&lt;/td&gt;&lt;td&gt;22〜24インチ&lt;/td&gt;&lt;td&gt;24インチ（行数が伸びる）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;解像度&lt;/td&gt;&lt;td&gt;フル HD&lt;/td&gt;&lt;td&gt;フル HD（24インチ）／ 4K（27インチ以上）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;表面&lt;/td&gt;&lt;td&gt;非光沢&lt;/td&gt;&lt;td&gt;非光沢（必須）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;表示方式&lt;/td&gt;&lt;td&gt;VA か IPS&lt;/td&gt;&lt;td&gt;IPS 推奨（横から見ても色が安定）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ピボット&lt;/td&gt;&lt;td&gt;お好み&lt;/td&gt;&lt;td&gt;対応（または VESA で後付け）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;枚数&lt;/td&gt;&lt;td&gt;1枚で十分&lt;/td&gt;&lt;td&gt;1枚 → 同型をもう1枚（横並び）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格目安&lt;/td&gt;&lt;td&gt;1.5〜3万円&lt;/td&gt;&lt;td&gt;2〜4万円 ×1〜2枚&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;オフィス基準の3点（表示方式・サイズ・表面処理）は &lt;a href=&quot;https://aulvem.com/blog/2021-03-15-choose-monitor/&quot;&gt;PC モニターの選び方&lt;/a&gt; と共通。プログラミング向けは「ピボット対応」と「2枚目を足せる余地」を足すだけだ。&lt;/p&gt;
&lt;h2 id=&quot;おすすめモニター参考&quot;&gt;おすすめモニター（参考）&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時（2021年）の選定。価格・型番は最新を必ず確認のうえ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;24インチipsピボット対応vesa-あり&quot;&gt;24インチ・IPS・ピボット対応（VESA あり）&lt;/h3&gt;
&lt;p&gt;24インチ・IPS・非光沢・VESA 対応。最初の1枚として、または同型をもう1枚足してデュアルに育てたい場合の標準解。&lt;/p&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;サイズ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;24インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表示方式&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;IPS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;解像度&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;フル HD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表面&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;ピボット&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;VESA マウント&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;24インチipsvesa-対応スタンドはチルトのみ&quot;&gt;24インチ・IPS・VESA 対応（スタンドはチルトのみ）&lt;/h3&gt;
&lt;p&gt;スタンド単体ではピボットしないが、VESA 対応なのでモニターアームを後付けすれば縦置きにできる。価格を抑えたい場合の候補。&lt;/p&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;サイズ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;24インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表示方式&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;IPS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;解像度&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;フル HD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表面&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;ピボット&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;スタンド非対応（アーム前提）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;VESA マウント&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;モニターアームを併用するなら、デュアル化と縦置きの両方が同じ設備でカバーできる。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. デュアルディスプレイは必須ですか？&lt;/strong&gt;
A. 必須ではない。1枚でも、IDE のタブ切り替えとウィンドウ分割で十分に書ける。ただし PR レビューや資料を見ながら書くのが日常的なら、2枚目で作業時間がはっきり短くなる。最初は1枚から始めて、机のスペースと予算に余裕が出たら同型を足すのが無理がない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 縦置き（ピボット）にすると本当に効きますか？&lt;/strong&gt;
A. 効く人は限定的。ログを長時間追う・PR レビューが多い・長文ドキュメントを読む人にははっきり効く。一方、フロントエンド開発やデザイン作業中心なら、横置き2枚のほうが体感は上。買う時点では「VESA 対応」だけ確保しておけば、あとからアームで縦置きに切り替えられる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 4K モニターは必要ですか？&lt;/strong&gt;
A. 24インチではほぼ不要。24インチ 4K はドットピッチが細かすぎてスケーリング前提になり、設定が増える割に得るものが少ない。4K が生きるのは 27インチ以上で、文字が滲まずに広い作業領域を取れる場合。最初の1枚なら 24インチ・フル HD のほうが扱いやすい。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Mac にどう接続すれば失敗しないですか？&lt;/strong&gt;
A. 最近の MacBook は USB-C / Thunderbolt 出力なので、モニター側が &lt;strong&gt;USB-C 入力（DP Alt Mode）&lt;/strong&gt; に対応していると、ケーブル1本で給電と映像を同時に処理できて配線が減る。USB-C 入力がないモニターを買うなら、HDMI または DisplayPort 入力を持つモデルを選び、USB-C → HDMI / DP のアダプタを別途用意する。M シリーズ初期の MacBook Air には外部モニター1枚までの制限があるので、デュアル運用を前提にするなら本体側の出力数も確認しておく。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;プログラミング用モニターは、オフィス用の基準（24インチ・フル HD・非光沢・IPS）に&lt;strong&gt;ピボット対応&lt;/strong&gt;と&lt;strong&gt;2枚目を足せる余地&lt;/strong&gt;を加えるだけで足りる。&lt;/p&gt;
&lt;p&gt;最初の1枚は欲張らず、24インチ・フル HD・非光沢・VESA 対応のスタンダードな機種を選ぶ。デュアル化と縦置きはあとから低コストで足せるので、買う時点で全部決め込まなくていい。&lt;/p&gt;
&lt;p&gt;オフィス用途と共通する選び方は &lt;a href=&quot;https://aulvem.com/blog/2021-03-15-choose-monitor/&quot;&gt;PC モニターの選び方&lt;/a&gt; に分けて書いている。表示方式（VA か IPS）やサイズ・表面処理の話をもう一段詳しく知りたい場合はそちらを併読すると効率がいい。&lt;/p&gt;
</content:encoded><category>reviews</category><category>monitor</category><category>programming</category></item><item><title>HDMI ケーブルの選び方 — バージョン (1.4 / 2.0 / 2.1) と用途で決める</title><link>https://aulvem.com/ja/blog/2021-03-23-hdmi/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-23-hdmi/</guid><description>HDMI ケーブルの選び方を、バージョン (1.4 / 2.0 / 2.1) と用途別に整理。4K60Hz なら 2.0、4K120Hz / 8K なら 2.1、フル HD までなら 1.4 で十分。長さ・端子形状・規格の確認ポイントもまとめた。</description><pubDate>Tue, 23 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。当初は HDMI 2.0a までを前提に書いていたが、4K120Hz / 8K / VRR を扱う HDMI 2.1 が一般化したため、本文を全面的に書き直した。商品リンクは確認のうえ最新モデルへ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;「テレビとゲーム機をつなぎたい」「PC のモニター用に追加で買いたい」「4K のはずなのに 4K に見えない」。HDMI ケーブルを買おうとして手が止まる理由は、だいたいこのどれかだ。&lt;/p&gt;
&lt;p&gt;ケーブル自体は数百円から数千円までと幅があり、見た目もほとんど変わらない。違いは外箱に小さく書かれた &lt;strong&gt;バージョン&lt;/strong&gt; と &lt;strong&gt;端子形状&lt;/strong&gt; にある。この記事は、その2点を中心に「自分が今買うべき HDMI」の輪郭を出すことが目的。&lt;/p&gt;
&lt;h2 id=&quot;結論--バージョンと長さと端子形状の3点で決まる&quot;&gt;結論 — バージョンと長さと端子形状の3点で決まる&lt;/h2&gt;
&lt;p&gt;短い答え: HDMI 選びは難しくない。&lt;strong&gt;用途に合うバージョン × 必要十分な長さ × 機器に合う端子形状&lt;/strong&gt; の3点を順に決めるだけで終わる。&lt;/p&gt;
&lt;p&gt;用途別の最短ルート:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;フル HD（1080p）まで → &lt;strong&gt;HDMI 1.4&lt;/strong&gt; で十分&lt;/li&gt;
&lt;li&gt;4K60Hz / HDR → &lt;strong&gt;HDMI 2.0&lt;/strong&gt; （プレミアムハイスピード）&lt;/li&gt;
&lt;li&gt;4K120Hz / 8K / VRR（ゲーム機・最新 GPU） → &lt;strong&gt;HDMI 2.1&lt;/strong&gt; （ウルトラハイスピード）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;長さは机回りなら 1〜3m を基準に、配線距離より少しだけ長めを選ぶ。端子は両側の機器で「タイプ A（標準）／ Mini ／ Micro」を必ず確認する。これだけで失敗はほぼなくなる。&lt;/p&gt;
&lt;h2 id=&quot;hdmi-バージョンとは--帯域幅と対応機能のセット&quot;&gt;HDMI バージョンとは — 帯域幅と対応機能のセット&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;HDMI バージョンとは&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;HDMI ケーブルおよび端子の規格世代を示す番号。世代ごとに &lt;strong&gt;最大帯域幅（Gbps）&lt;/strong&gt; が決まっており、それに応じて &lt;strong&gt;対応する最大解像度・リフレッシュレート・HDR / VRR などの機能&lt;/strong&gt; が変わる。新しい世代のケーブルは古い世代の機能を含む後方互換だが、&lt;strong&gt;逆は成り立たない&lt;/strong&gt;（古いケーブルで新しい機能は使えない）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ここを押さえないと「4K テレビなのに 4K に見えない」「ゲームで 120Hz が出ない」が起きる。ケーブルが帯域不足だと、機器側が自動的に下位の信号にフォールバックするからだ。&lt;/p&gt;
&lt;p&gt;各バージョンの代表的な仕様は次の通り。&lt;/p&gt;
&lt;h3 id=&quot;hdmi-14--フル-hd--4k30hz-まで&quot;&gt;HDMI 1.4 — フル HD / 4K30Hz まで&lt;/h3&gt;
&lt;p&gt;2009 年に策定された世代。最大帯域は約 10.2Gbps で、フル HD（1920×1080）60Hz、4K（3840×2160）30Hz までを実用範囲とする。&lt;/p&gt;
&lt;p&gt;3D 映像やイーサネット機能もこの世代から入った。今となっては &lt;strong&gt;フル HD のテレビや古めのモニター向けの最低ライン&lt;/strong&gt; という位置づけ。&lt;/p&gt;
&lt;h3 id=&quot;hdmi-20--4k60hz--hdr-の主力&quot;&gt;HDMI 2.0 — 4K60Hz / HDR の主力&lt;/h3&gt;
&lt;p&gt;2013 年策定。最大帯域は 18Gbps で、&lt;strong&gt;4K60Hz と HDR10&lt;/strong&gt; に対応する。&lt;/p&gt;
&lt;p&gt;2026 年現在、4K テレビや 4K モニターと一般的な機器を組み合わせるなら、まずこの世代を基準にすれば失敗しない。&lt;strong&gt;プレミアムハイスピード&lt;/strong&gt; と書かれているケーブルが該当する。&lt;/p&gt;
&lt;p&gt;なお、HDR を確実に使いたい場合は &lt;strong&gt;HDMI 2.0a 以降&lt;/strong&gt; を選ぶ。2.0 と 2.0a の違いは HDR メタデータ対応の有無で、外箱に「HDR 対応」と明記されているかが見分けの近道。&lt;/p&gt;
&lt;h3 id=&quot;hdmi-21--4k120hz--8k--vrr&quot;&gt;HDMI 2.1 — 4K120Hz / 8K / VRR&lt;/h3&gt;
&lt;p&gt;2017 年策定。最大帯域は 48Gbps と一気に跳ね上がり、&lt;strong&gt;4K120Hz、8K60Hz、可変リフレッシュレート（VRR）、自動低遅延モード（ALLM）&lt;/strong&gt; に対応する。&lt;/p&gt;
&lt;p&gt;PlayStation 5 や Xbox Series X / S、最新の GPU で 4K120Hz を出したい場合は、ケーブル側もこの世代でないと帯域が足りない。ケーブル名としては &lt;strong&gt;ウルトラハイスピード HDMI&lt;/strong&gt; として売られている。&lt;/p&gt;
&lt;p&gt;HDMI 2.1 を名乗っていても帯域が 48Gbps に満たない製品があるため、購入時は &lt;strong&gt;「Ultra High Speed HDMI Cable」認証ラベル&lt;/strong&gt; の有無を見るのが安全。&lt;/p&gt;
&lt;h2 id=&quot;用途別の選び方--5パターンで分解&quot;&gt;用途別の選び方 — 5パターンで分解&lt;/h2&gt;
&lt;p&gt;短い答え: 何につなぐかで答えは決まる。手元のケースに当てはめて選べばいい。&lt;/p&gt;
&lt;h3 id=&quot;テレビレコーダーフル-hdなら-hdmi-14&quot;&gt;テレビ＋レコーダー（フル HD）なら HDMI 1.4&lt;/h3&gt;
&lt;p&gt;フル HD の地デジを録画再生する用途であれば、HDMI 1.4 で必要十分。安価なベーシックモデルで問題ない。&lt;/p&gt;
&lt;h3 id=&quot;4k-テレビ-blu-ray--配信デバイスなら-hdmi-20&quot;&gt;4K テレビ＋ Blu-ray / 配信デバイスなら HDMI 2.0&lt;/h3&gt;
&lt;p&gt;4K60Hz / HDR の映像が中心になる。プレミアムハイスピード認証のケーブルを選ぶ。家電量販店で「4K 対応」と書かれているケーブルは、ほぼこのクラス。&lt;/p&gt;
&lt;h3 id=&quot;pc--4k-モニタークリエイティブ用途なら-hdmi-20&quot;&gt;PC ＋ 4K モニター（クリエイティブ用途）なら HDMI 2.0&lt;/h3&gt;
&lt;p&gt;写真・動画編集やデザイン作業なら 4K60Hz で十分。HDMI 2.0 を基準にする。&lt;/p&gt;
&lt;p&gt;なお、PC モニター側に DisplayPort 入力があるなら、DisplayPort のほうが世代的に有利なことが多い。HDMI に縛られない場合は選択肢として検討の余地あり。&lt;/p&gt;
&lt;h3 id=&quot;ゲーム機ps5--xbox-series-xなら-hdmi-21&quot;&gt;ゲーム機（PS5 / Xbox Series X）なら HDMI 2.1&lt;/h3&gt;
&lt;p&gt;4K120Hz や VRR を活かしたい場合は HDMI 2.1 が必須。PS5 には HDMI 2.1 ケーブルが同梱されているので、追加で買うときも同等品を選ぶ。&lt;/p&gt;
&lt;h3 id=&quot;ノート-pc--プロジェクター一時利用なら-hdmi-14-でも可&quot;&gt;ノート PC ＋ プロジェクター（一時利用）なら HDMI 1.4 でも可&lt;/h3&gt;
&lt;p&gt;会議室や出張先での投影は、解像度が WUXGA 程度に落ちるケースが多い。長さは 3m 以上必要になりがちなので、&lt;strong&gt;ケーブル品質（シールド・芯線）&lt;/strong&gt; のほうが世代より体感に効く。&lt;/p&gt;
&lt;h2 id=&quot;比較表--hdmi-14--20--21&quot;&gt;比較表 — HDMI 1.4 / 2.0 / 2.1&lt;/h2&gt;
&lt;p&gt;最大解像度・リフレッシュレート・代表的な用途を1枚にまとめた。&lt;/p&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;項目&lt;/th&gt;&lt;th&gt;HDMI 1.4&lt;/th&gt;&lt;th&gt;HDMI 2.0 / 2.0a&lt;/th&gt;&lt;th&gt;HDMI 2.1&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;最大帯域幅&lt;/td&gt;&lt;td&gt;10.2 Gbps&lt;/td&gt;&lt;td&gt;18 Gbps&lt;/td&gt;&lt;td&gt;48 Gbps&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;最大解像度&lt;/td&gt;&lt;td&gt;4K30Hz&lt;/td&gt;&lt;td&gt;4K60Hz&lt;/td&gt;&lt;td&gt;8K60Hz / 4K120Hz&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;HDR&lt;/td&gt;&lt;td&gt;非対応&lt;/td&gt;&lt;td&gt;対応（2.0a 以降）&lt;/td&gt;&lt;td&gt;対応（Dynamic HDR）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;VRR / ALLM&lt;/td&gt;&lt;td&gt;非対応&lt;/td&gt;&lt;td&gt;非対応&lt;/td&gt;&lt;td&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;別名&lt;/td&gt;&lt;td&gt;ハイスピード&lt;/td&gt;&lt;td&gt;プレミアムハイスピード&lt;/td&gt;&lt;td&gt;ウルトラハイスピード&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;主な用途&lt;/td&gt;&lt;td&gt;フル HD テレビ／レコーダー&lt;/td&gt;&lt;td&gt;4K テレビ／ 4K モニター&lt;/td&gt;&lt;td&gt;PS5 / Xbox Series X / 8K テレビ&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;長さは配線距離--余裕分で選ぶ&quot;&gt;長さは「配線距離 + 余裕分」で選ぶ&lt;/h2&gt;
&lt;p&gt;短い答え: ケーブルは短すぎると届かず、長すぎるとたるんで邪魔になる。&lt;strong&gt;実測距離に 0.5〜1m の余裕を足した長さ&lt;/strong&gt; が現実的な落とし所。&lt;/p&gt;
&lt;h3 id=&quot;常設なら-23m&quot;&gt;常設なら 2〜3m&lt;/h3&gt;
&lt;p&gt;机の裏や壁裏を回す常設配線は、見た目より配線距離が伸びる。デスク回りで実測 1.5m なら、ケーブルは 2〜3m を選ぶ。&lt;/p&gt;
&lt;h3 id=&quot;一時利用なら-12m&quot;&gt;一時利用なら 1〜2m&lt;/h3&gt;
&lt;p&gt;ノート PC とモニターを直接つなぐような一時利用は、機器同士が近い。1〜2m で十分。&lt;/p&gt;
&lt;h3 id=&quot;5m-を超える長距離は要注意&quot;&gt;5m を超える長距離は要注意&lt;/h3&gt;
&lt;p&gt;HDMI は規格上は長距離でも動くが、&lt;strong&gt;5m を超えるあたりから 4K60Hz / HDR の信号が落ちやすくなる&lt;/strong&gt;。長距離が必要な場合は、光ファイバー HDMI ケーブル（アクティブ光ケーブル、AOC）を検討する。&lt;/p&gt;
&lt;h2 id=&quot;端子形状--両側の機器で必ず確認する&quot;&gt;端子形状 — 両側の機器で必ず確認する&lt;/h2&gt;
&lt;p&gt;短い答え: HDMI 端子には &lt;strong&gt;タイプ A（標準）／ Mini HDMI（タイプ C）／ Micro HDMI（タイプ D）&lt;/strong&gt; の3種類がある。買う前に &lt;strong&gt;両側の機器の端子形状&lt;/strong&gt; を確認する。&lt;/p&gt;
&lt;p&gt;家庭用機器は基本的にタイプ A だが、以下のケースでは Mini / Micro が混ざる:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一眼カメラ／ビデオカメラ — Mini か Micro が多い&lt;/li&gt;
&lt;li&gt;小型ノート PC や 2-in-1 — Mini HDMI のことがある&lt;/li&gt;
&lt;li&gt;アクションカメラ — Micro HDMI が多い&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、&lt;strong&gt;HDMI ではなく DisplayPort や USB Type-C（DP Alt Mode）&lt;/strong&gt; の機器も増えている。映像出力が「USB-C のみ」のノート PC は HDMI ケーブルでは直結できないので、USB-C → HDMI 変換アダプタが必要になる。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. HDMI 2.1 のケーブルを買えば、古い機器でもアップグレードされますか？&lt;/strong&gt;
A. されない。HDMI は &lt;strong&gt;両側の機器とケーブルすべて&lt;/strong&gt; が同じバージョンに対応していて初めてその世代の機能が使える。古いテレビに 2.1 ケーブルをつないでも、テレビ側の仕様で頭打ちになる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. プレミアムハイスピードとウルトラハイスピード、見分け方は？&lt;/strong&gt;
A. パッケージの認証ラベルで判別する。「Premium High Speed HDMI Cable」が HDMI 2.0 / 2.0a 相当、「Ultra High Speed HDMI Cable」が HDMI 2.1 相当。ラベルなしの「4K 対応」表記だけでは帯域が保証されない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 1000円のケーブルと5000円のケーブル、何が違いますか？&lt;/strong&gt;
A. 大きく分けて、芯線の素材・シールドの厚み・端子の作りが違う。フル HD や 4K60Hz 用途なら認証付きの安価品で十分問題なく、5000円クラスの差が体感に出るのは &lt;strong&gt;長距離 / 4K120Hz / 8K / プロ用機材&lt;/strong&gt; の文脈が中心。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ケーブルだけで遅延は変わりますか？&lt;/strong&gt;
A. ほぼ変わらない。映像の遅延（インプットラグ）はテレビ・モニター側の処理に依存する部分が大きく、ケーブルが直接的に遅延を増やすことは通常はない。ゲーム用途は ALLM / VRR 対応の HDMI 2.1 機器を選ぶほうが効く。&lt;/p&gt;
&lt;h2 id=&quot;用途別おすすめモデル&quot;&gt;用途別おすすめモデル&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時の選定と 2026 年時点で同等帯のモデル。具体的な商品は購入時点の最新世代を確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4k60hz--hdr-用途--hdmi-20-プレミアムハイスピード&quot;&gt;4K60Hz / HDR 用途 — HDMI 2.0 プレミアムハイスピード&lt;/h3&gt;
&lt;p&gt;家庭用 4K テレビと PC / ゲーム機をつなぐ一般用途は、認証付きのプレミアムハイスピードが第一候補。2m 前後で十分。&lt;/p&gt;
&lt;h3 id=&quot;4k120hz--8k--vrr-用途--hdmi-21-ウルトラハイスピード&quot;&gt;4K120Hz / 8K / VRR 用途 — HDMI 2.1 ウルトラハイスピード&lt;/h3&gt;
&lt;p&gt;PS5 / Xbox Series X / 最新 GPU で 120Hz を出したい場合は、Ultra High Speed 認証付きを選ぶ。&lt;/p&gt;
&lt;h3 id=&quot;5m-超の長距離--光ファイバー-hdmi-aoc&quot;&gt;5m 超の長距離 — 光ファイバー HDMI (AOC)&lt;/h3&gt;
&lt;p&gt;会議室の天井プロジェクターや、テレビと AV ラックが離れた配置に向く。価格は同長の銅線品より高いが、4K60Hz / HDR の信号を安定して通せる。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;HDMI ケーブルは見た目で差がつかない分、&lt;strong&gt;バージョン × 長さ × 端子形状&lt;/strong&gt; の3点を意識するだけで選び方が一気にシンプルになる。&lt;/p&gt;
&lt;p&gt;フル HD なら 1.4、4K60Hz / HDR なら 2.0、4K120Hz や 8K / VRR を扱うなら 2.1。長さは実測 + 0.5〜1m、端子は両側で確認。これさえ守れば「買ったのに本来の画質が出ない」事故は避けられる。&lt;/p&gt;
&lt;p&gt;迷ったら、いま使っている機器の最大解像度・リフレッシュレートを先に確認するのが近道。ケーブルは機器の性能を引き出す道具で、機器以上のものは出してくれない。&lt;/p&gt;
</content:encoded><category>reviews</category><category>PCPeripherals</category></item><item><title>モニターアームの選び方 — VESA・耐荷重・クランプの3点で外さない買い方</title><link>https://aulvem.com/ja/blog/2021-03-22-monitor-arm/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-22-monitor-arm/</guid><description>デスクを広く使い、モニターの高さを自由に調整したい人向けに、モニターアームの選び方を整理する。VESA マウント・耐荷重・設置方式（クランプ）の3点を押さえれば、価格帯が違っても失敗しない。</description><pubDate>Mon, 22 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（選び方の観点）は今も有効だが、製品リンクと価格帯は執筆当時（2021年）の情報。型番・価格は最新を確認のうえ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;モニターアームを入れると、デスクの天板が一気に広くなる。書類や飲み物を置くスペースが戻り、画面の高さも姿勢に合わせて自由に動かせる。&lt;/p&gt;
&lt;p&gt;ただし安いものから高いものまで価格帯が広く、選び方を間違えるとモニターが下がってきたり、最悪設置できないこともある。この記事では、長時間 PC 作業で使う前提のモニターアームを、VESA・耐荷重・設置方式の3点に絞って整理する。&lt;/p&gt;
&lt;h2 id=&quot;結論--vesa-100100耐荷重15倍クランプ式&quot;&gt;結論 — VESA 100×100、耐荷重1.5倍、クランプ式&lt;/h2&gt;
&lt;p&gt;短い答え: モニターアーム選びは以下の3点で外さない。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;VESA マウント&lt;/strong&gt;: モニター側が VESA 100×100mm に対応していること&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;耐荷重&lt;/strong&gt;: モニター実重量の &lt;strong&gt;1.5倍&lt;/strong&gt; を目安に余裕を持たせる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;設置方式&lt;/strong&gt;: クランプ式（天板に挟むタイプ）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;予算と寿命のバランスで言うと、長く使うならエルゴトロン LX 級のガススプリング式（1万円台後半〜2万円台）、短期で割り切るなら低価格帯のガス式（5000円〜1万円）。バネ式やボルト固定の安価モデルは「動かして使う」用途には不向き。&lt;/p&gt;
&lt;h2 id=&quot;モニターアームは何のために導入するか&quot;&gt;モニターアームは何のために導入するか&lt;/h2&gt;
&lt;p&gt;短い答え: デスクの天板を広く使うため、そして画面の高さを姿勢に合わせて動かすため。&lt;/p&gt;
&lt;p&gt;理由は、モニターを台座で置くとスタンドの足が天板の手前まで張り出し、奥行きの3〜5割を占有するから。アームに替えると天板手前は完全に空く。&lt;/p&gt;
&lt;p&gt;副次効果として、地震で倒れにくくなる、ケーブルが整理しやすくなる、複数モニターの位置合わせが楽になる、といった点もある。1人で正面に座って使う前提なら、ここはおまけと考えていい。&lt;/p&gt;
&lt;h2 id=&quot;vesa-マウントとクランプ-vs-グロメット--用語を先に整える&quot;&gt;VESA マウントとクランプ vs グロメット — 用語を先に整える&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;VESA マウント（VESA mount）とは&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;モニター背面のネジ穴規格。VESA 100×100mm は、4つのネジ穴が縦横100mm 間隔で配置された規格を指す。22〜27インチクラスの一般的なモニターはほぼこの規格に対応する。
32インチ以上では VESA 200×200mm など別規格になることがあるので、購入前にモニター仕様書を確認する。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;クランプ式とグロメット式の違い&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;クランプ式&lt;/strong&gt;: 天板を上下からクリップのように挟み込む方式。天板を傷つけにくく、工具なしで設置できる。デスク奥に十分なクリアランス（5cm 前後）が必要。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;グロメット式&lt;/strong&gt;: 天板にあらかじめ開けた穴（または既存の配線穴）にボルトを通して固定する方式。デスクの端でなくても設置できる代わりに、穴を開ける加工が必要になる。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;家庭用デスクの大半はクランプ式で問題なく設置できる。グロメット式は、デスク中央や、天板の奥が壁に密着していてクランプの隙間が確保できない場合に検討する。&lt;/p&gt;
&lt;h2 id=&quot;設置方式--クランプ式が無難&quot;&gt;設置方式 — クランプ式が無難&lt;/h2&gt;
&lt;p&gt;短い答え: クランプ式を選んでおけば、家庭用デスクで困る場面はほぼない。&lt;/p&gt;
&lt;p&gt;理由は、天板に穴を開けずに済むため賃貸でも使いやすく、引っ越しや配置換えにも対応しやすいから。グロメット式は穴あけが前提なので、デスクを手放すときに加工が残る。&lt;/p&gt;
&lt;h3 id=&quot;クランプ式が向くケース&quot;&gt;クランプ式が向くケース&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;賃貸で天板を加工したくない&lt;/li&gt;
&lt;li&gt;デスクの奥行きが65cm 以上ある（クランプ部の張り出し分を確保できる）&lt;/li&gt;
&lt;li&gt;モニターをデスク奥側の端に置きたい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ほとんどの家庭用 PC デスクはこの条件を満たす。&lt;/p&gt;
&lt;h3 id=&quot;グロメット式が向くケース&quot;&gt;グロメット式が向くケース&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;デスクに配線穴がすでに開いている&lt;/li&gt;
&lt;li&gt;壁にデスクを密着させたい（クランプ部が壁と干渉するため）&lt;/li&gt;
&lt;li&gt;モニターをデスク中央寄りに置きたい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;業務用デスクや、配線穴付きのスタンディングデスクで採用が増えている。&lt;/p&gt;
&lt;h2 id=&quot;耐荷重--モニター実重量の15倍&quot;&gt;耐荷重 — モニター実重量の1.5倍&lt;/h2&gt;
&lt;p&gt;短い答え: モニターの実重量に &lt;strong&gt;1.5倍&lt;/strong&gt; の余裕を見ておけば、ガススプリングがへたっても画面が下がりにくい。&lt;/p&gt;
&lt;p&gt;理由は、ガススプリング式は内部のガス圧で重量を支えており、上限ギリギリで運用すると経年でガス圧が落ちたとき支えきれなくなるから。耐荷重の上限値ぎりぎりで使い続けると、半年〜1年で「気付くと画面が下がっている」状態になりやすい。&lt;/p&gt;
&lt;h3 id=&quot;重量の目安&quot;&gt;重量の目安&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;22〜24インチ: 3〜4kg&lt;/li&gt;
&lt;li&gt;27インチ: 5〜7kg&lt;/li&gt;
&lt;li&gt;32インチ: 7〜10kg&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;つまり24インチなら耐荷重5〜6kg 以上、27インチなら耐荷重8〜10kg 以上のアームを選ぶと、1.5倍の余裕を確保できる。&lt;/p&gt;
&lt;h3 id=&quot;サイズではなく重量で見る&quot;&gt;サイズではなく重量で見る&lt;/h3&gt;
&lt;p&gt;製品スペックに「対応サイズ27インチまで」のような表記があるが、これは目安にすぎない。同じ27インチでも重量は機種で2倍違うことがあるので、必ずモニター側の仕様書で実重量を確認してから耐荷重と突き合わせる。&lt;/p&gt;
&lt;h2 id=&quot;可動方式--ガススプリング式が標準&quot;&gt;可動方式 — ガススプリング式が標準&lt;/h2&gt;
&lt;p&gt;短い答え: 上下に頻繁に動かすならガススプリング式。固定位置で使うだけならバネ式やボルト固定でもいいが、価格差は1000〜2000円程度なのでガス式が無難。&lt;/p&gt;
&lt;p&gt;理由は、ガス式は片手で軽く高さを変えられるのに対し、バネ式は強度調整がシビアで、ボルト固定式は工具が要るから。「動かさないなら何でもいい」と思っていても、姿勢が変わると高さを変えたくなるので、結果的に動かしやすい方が長く使える。&lt;/p&gt;
&lt;h3 id=&quot;ガススプリング式--バネ式--ボルト固定式の違い&quot;&gt;ガススプリング式 / バネ式 / ボルト固定式の違い&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ガススプリング式&lt;/strong&gt;: 内部のガス圧で支える。片手で動かせる。最も一般的。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;バネ式（メカニカルスプリング）&lt;/strong&gt;: 金属バネで支える。ガス式より安価だが、調整ネジで強度を合わせる必要がある。重量がぴったりだと使えるが、重さが変わると再調整が要る。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ボルト固定式&lt;/strong&gt;: 関節を六角ネジで固定するタイプ。一度合わせたら動かさない前提。価格は最安だが、姿勢を変える運用には不向き。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;価格帯と製品の比較&quot;&gt;価格帯と製品の比較&lt;/h2&gt;
&lt;p&gt;短い答え: 5000円〜2万円台の幅がある。長く使うならエルゴトロン LX、短期割り切りなら低価格帯のガス式、固定運用ならボルト固定式、という棲み分け。&lt;/p&gt;






















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;エルゴトロン LX 級&lt;/th&gt;&lt;th&gt;低価格中華ガス式&lt;/th&gt;&lt;th&gt;バネ式&lt;/th&gt;&lt;th&gt;ボルト固定式&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;価格目安&lt;/td&gt;&lt;td&gt;1.7〜2.5万円&lt;/td&gt;&lt;td&gt;5000〜1万円&lt;/td&gt;&lt;td&gt;4000〜8000円&lt;/td&gt;&lt;td&gt;3000〜6000円&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;可動方式&lt;/td&gt;&lt;td&gt;ガススプリング&lt;/td&gt;&lt;td&gt;ガススプリング&lt;/td&gt;&lt;td&gt;メカニカルスプリング&lt;/td&gt;&lt;td&gt;ボルト固定&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;耐荷重目安&lt;/td&gt;&lt;td&gt;〜11kg&lt;/td&gt;&lt;td&gt;〜8kg&lt;/td&gt;&lt;td&gt;〜8kg&lt;/td&gt;&lt;td&gt;〜10kg&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;動かしやすさ&lt;/td&gt;&lt;td&gt;片手で軽い&lt;/td&gt;&lt;td&gt;片手で動くが個体差あり&lt;/td&gt;&lt;td&gt;強度調整が要る&lt;/td&gt;&lt;td&gt;動かさない前提&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;保証&lt;/td&gt;&lt;td&gt;10年（公称）&lt;/td&gt;&lt;td&gt;1年前後（公称）&lt;/td&gt;&lt;td&gt;1年前後&lt;/td&gt;&lt;td&gt;1年前後&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;向く人&lt;/td&gt;&lt;td&gt;5年以上使う前提&lt;/td&gt;&lt;td&gt;試してみたい / 短期&lt;/td&gt;&lt;td&gt;同上&lt;/td&gt;&lt;td&gt;固定位置のサブ用途&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;長く使うなら、保証期間と部品の入手性が効いてくる。低価格帯はガス圧が落ちたら買い替え、と割り切る運用になりやすい。&lt;/p&gt;
&lt;h2 id=&quot;おすすめのモニターアーム参考&quot;&gt;おすすめのモニターアーム（参考）&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時（2021年）の選定。価格・型番は最新を確認のうえ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;長く使うなら--エルゴトロン-lx&quot;&gt;長く使うなら — エルゴトロン LX&lt;/h3&gt;
&lt;p&gt;ガススプリング式、耐荷重11.3kg（公称）、可動範囲が広く保証も長い。価格は2万円前後だが、5年以上同じデスクで使うなら単価は下がる。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;可動方式&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;ガススプリング&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;耐荷重&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;〜11.3kg（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;VESA マウント&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;75×75 / 100×100&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;設置方式&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;クランプ / グロメット両対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;保証&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;10年（公称）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;短期で試すなら--amazon-ベーシック級のガス式&quot;&gt;短期で試すなら — Amazon ベーシック級のガス式&lt;/h3&gt;
&lt;p&gt;エルゴトロン LX の OEM 相当と言われる Amazon ベーシック モニターアームが代表格。価格は1万円前後で、耐荷重・可動性ともに必要十分。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;可動方式&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;ガススプリング&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;耐荷重&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;〜11.3kg（公称）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;VESA マウント&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;75×75 / 100×100&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;設置方式&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;クランプ / グロメット両対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;保証&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;1年（公称）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;筆者は同等品を複数導入して数年運用しているが、致命的な不具合は起きていない。割り切って買うならこの帯で十分。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. VESA マウントに対応していないモニターでも使えますか？&lt;/strong&gt;
A. 一部メーカーは VESA 変換アダプターを別売している。ただしモニター背面のスタンド取付方式は機種固有で、変換アダプターが用意されていない場合は実質使えない。購入前にモニターの仕様書で VESA 対応を確認するのが確実。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. クランプ式は天板が薄くても使えますか？&lt;/strong&gt;
A. アーム側のクランプには対応天板厚（例: 10〜60mm）が記載されている。薄すぎる天板はクランプが噛まず固定が甘くなる。逆に厚すぎると挟めない。天板厚を測ってから対応範囲を確認する。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. デュアルモニター用は1本のアームで2画面を支えるタイプを選ぶべきですか？&lt;/strong&gt;
A. 1本2画面のアームは見た目はすっきりするが、耐荷重と可動範囲がシビアになる。長く使うなら、シングルアームを2本並べて設置するほうが将来の入れ替えや単独運用に対応しやすい。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. モニターアームを使うと振動でぐらぐらしませんか？&lt;/strong&gt;
A. クランプの締め込みが十分で、天板の厚みと素材が適切（合板やスチール）なら、キー入力程度の振動でぐらつくことはほぼない。極端に薄い天板や中空のデスクでは振動が出るので、その場合は天板側を変えるか、ボルト固定式に切り替える。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;モニターアームは VESA 100×100mm 対応・耐荷重がモニター実重量の1.5倍・クランプ式の3点を満たせば、価格帯が違っても外さない。&lt;/p&gt;
&lt;p&gt;長く使う前提ならエルゴトロン LX 級、短期で試すなら Amazon ベーシック級のガス式が現実的。バネ式やボルト固定式は、固定位置で使う前提なら選択肢に入る。&lt;/p&gt;
&lt;p&gt;モニター本体を先に選んでからアームを合わせる流れがおすすめ。モニター選び自体は別記事で整理している（&lt;a href=&quot;https://aulvem.com/ja/blog/2021-03-15-choose-monitor/&quot;&gt;PC モニターの選び方 — 失敗しない3点と、お好みで1点&lt;/a&gt;）。&lt;/p&gt;
</content:encoded><category>reviews</category><category>monitor</category></item><item><title>モニターのパネル種類を用途で選ぶ — IPS / VA / TN / OLED の違いと使い分け</title><link>https://aulvem.com/ja/blog/2021-03-21-monitor-panel/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-21-monitor-panel/</guid><description>PC モニターのスペックに並ぶ IPS / VA / TN / OLED の違いを、色再現・視野角・応答速度・価格・用途別ベストの5観点で整理する。仕事も動画もこなす万能枠なら IPS、価格優先なら VA、競技系ゲームなら TN、映画と HDR なら OLED が現実解。</description><pubDate>Sun, 21 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（パネル別の使い分け）は今も有効だが、価格帯と OLED の普及状況は当時から大きく動いている。相場感の数字は最新を必ず確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;モニターのスペック表に並ぶ「IPS」「VA」「TN」「OLED」というアルファベット。違いを正確に説明できる人は意外と少ない。&lt;/p&gt;
&lt;p&gt;それでも、選び方の軸は単純だ。仕事も動画も普通にこなしたいなら IPS、とにかく安く済ませたいなら VA、競技系ゲームの反応速度を取りたいなら TN、映画や HDR の見え方を最優先するなら OLED。この記事は、その判断を5つの観点（色再現・視野角・応答速度・価格・用途）で1ページに整理する。&lt;/p&gt;
&lt;h2 id=&quot;結論--迷ったら-ips目的が決まっているなら別パネル&quot;&gt;結論 — 迷ったら IPS、目的が決まっているなら別パネル&lt;/h2&gt;
&lt;p&gt;短い答え: 何を選んでいいか分からないなら IPS を選んでおけば外しにくい。色のバランスがよく、視野角も広く、価格もこなれてきている。&lt;/p&gt;
&lt;p&gt;ただし、目的が明確なら他のパネルが正解になる場面がある。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;IPS&lt;/strong&gt; — 仕事 + 動画 + 軽いゲームの「万能枠」。迷ったらこれ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VA&lt;/strong&gt; — 価格優先、または暗いシーンの多い動画視聴&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TN&lt;/strong&gt; — FPS / 格闘ゲームなどフレームレートを最優先する競技用途&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OLED&lt;/strong&gt; — HDR 映像や映画体験を取りたい、予算に余裕がある人&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;「パネルの種類」で大枠が決まるので、ここを最初に決めると後のスペック比較が早い。&lt;/p&gt;
&lt;h2 id=&quot;パネル種類とは--液晶の駆動方式と自発光の違い&quot;&gt;パネル種類とは — 液晶の駆動方式と自発光の違い&lt;/h2&gt;
&lt;p&gt;短い答え: パネルとは画面を構成する「絵を出す層」のこと。液晶（IPS / VA / TN）は背後のバックライトを液晶分子で透過制御し、OLED はピクセル自身が発光する。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;用語まとめ&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;液晶パネル&lt;/strong&gt;: バックライト + 液晶層で構成。光をどう曲げて通すかで色を出す&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IPS（In-Plane Switching）&lt;/strong&gt;: 液晶分子を水平方向に駆動。視野角と色再現に強い&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VA（Vertical Alignment）&lt;/strong&gt;: 液晶分子を垂直方向に駆動。黒の表現に強い&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TN（Twisted Nematic）&lt;/strong&gt;: 液晶分子をねじって駆動。応答速度に強く、価格が安い&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OLED（Organic Light-Emitting Diode）&lt;/strong&gt;: 有機 EL。ピクセル自身が光るのでバックライト不要、黒は完全に消灯できる&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;液晶3種の違いは「液晶分子の動かし方」だけだが、これが色・視野角・速度のトレードオフを決める。OLED は仕組みが根本から違うので別カテゴリと考えていい。&lt;/p&gt;
&lt;h2 id=&quot;ips--万能枠迷ったらこれ&quot;&gt;IPS — 万能枠、迷ったらこれ&lt;/h2&gt;
&lt;p&gt;短い答え: 色がきれいで視野角が広く、価格もこなれてきた。仕事 + 動画 + 軽めのゲームを1台でやりたい人の第一候補。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;IPS の特徴&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;色再現: 良好。sRGB ほぼフルカバーが普通&lt;/li&gt;
&lt;li&gt;視野角: 広い（左右ともに 170° 以上、公称）&lt;/li&gt;
&lt;li&gt;応答速度: ふつう（5〜8ms クラスが標準、ゲーミング向けは 1ms 表記もある）&lt;/li&gt;
&lt;li&gt;価格: 中。23〜27インチで 2〜4万円台が量販ライン&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;弱点は、強いコントラストが必要な場面で黒が浮きやすいこと。完全な暗室で映画を観るなら OLED に分があるが、明るい部屋で日常的に使うぶんには気にならない。&lt;/p&gt;
&lt;p&gt;「最初の1台」「リモートワーク用」「写真や軽い動画編集も触る」あたりはほぼ IPS で答えが出る。&lt;/p&gt;
&lt;h2 id=&quot;va--価格優先黒が締まる動画向き&quot;&gt;VA — 価格優先、黒が締まる動画向き&lt;/h2&gt;
&lt;p&gt;短い答え: 同サイズ帯で最安クラスが多く、黒の表現が強い。1人で正面に座って動画を観る用途と相性がよい。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;VA の特徴&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;色再現: ふつう。コントラスト比は高め（3000:1 前後が多い、公称）&lt;/li&gt;
&lt;li&gt;視野角: やや狭い。斜めから見ると色が薄くなる&lt;/li&gt;
&lt;li&gt;応答速度: 中〜遅。動きの速いシーンで残像（黒挿入なし時）が出やすい&lt;/li&gt;
&lt;li&gt;価格: 安い。23インチ前後で 1〜2万円台の選択肢が豊富&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;近年は MVA / AMVA など改良版が増え、IPS との視野角差は小さくなってきている。とはいえ、複数人で覗き込む会議用途や、デスク上でモニターを斜めから見る配置では IPS のほうが扱いやすい。&lt;/p&gt;
&lt;p&gt;予算 2 万円以下で 1 台揃えたい場合、現実的な選択肢は VA に寄る。&lt;/p&gt;
&lt;h2 id=&quot;tn--競技系ゲーム特化応答速度に全振り&quot;&gt;TN — 競技系ゲーム特化、応答速度に全振り&lt;/h2&gt;
&lt;p&gt;短い答え: 応答速度と価格の安さに振り切ったパネル。FPS や格闘ゲームのフレーム単位の反応を取りたい人向けで、普段使いには色と視野角の弱さが効いてくる。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TN の特徴&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;色再現: 弱い。色域カバー率は IPS / VA より一段落ちる&lt;/li&gt;
&lt;li&gt;視野角: 狭い（特に上下方向）&lt;/li&gt;
&lt;li&gt;応答速度: 速い（1ms 表記が普通）&lt;/li&gt;
&lt;li&gt;価格: 安い。ゲーミング機能込みで 2 万円台のモデルが多い&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;「TN は古い」と言われがちだが、240Hz / 360Hz クラスのゲーミングモデルでは今も TN が現役。色を捨ててでもフレームを取りたい競技勢が選ぶパネル、と割り切るのが正しい。&lt;/p&gt;
&lt;p&gt;逆に、ライティングや表計算を長時間やる用途では、視野角の狭さで姿勢が固定されがちなのでおすすめしない。&lt;/p&gt;
&lt;h2 id=&quot;oled--hdr-と映画体験ただし価格と焼き付きに注意&quot;&gt;OLED — HDR と映画体験、ただし価格と焼き付きに注意&lt;/h2&gt;
&lt;p&gt;短い答え: ピクセル自発光で黒が完全に消える。HDR 映像の階調と、映画館的なコントラストを取りたいなら一択。ただし価格は液晶の数倍で、長時間の固定表示で焼き付きのリスクがある。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;OLED の特徴&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;色再現: 非常に良い。DCI-P3 ほぼフルカバーが普通&lt;/li&gt;
&lt;li&gt;視野角: 広い。自発光なので斜めからも色崩れが少ない&lt;/li&gt;
&lt;li&gt;応答速度: 非常に速い（液晶の応答速度とは別軸、画素応答が 0.1ms クラスとされる）&lt;/li&gt;
&lt;li&gt;価格: 高い。27〜32インチで 10〜20 万円台が中心&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;注意点は焼き付き。タスクバーやウィンドウの枠など、同じ位置に同じ画像が長時間出続けると、その輪郭が画面に残ることがある。最近のモデルはピクセルシフトやスクリーンセーバーで対策しているが、業務でずっと同じ画面を映す用途には今でも向かない。&lt;/p&gt;
&lt;p&gt;「映画と HDR のためのモニター」「予算に余裕があり、見え方に投資したい人」向けの選択肢。&lt;/p&gt;
&lt;h2 id=&quot;比較--ips--va--tn--oled-を5観点で並べる&quot;&gt;比較 — IPS / VA / TN / OLED を5観点で並べる&lt;/h2&gt;
&lt;p&gt;短い答え: 色再現・視野角・応答速度・価格・用途別ベストの5観点で並べると、自分の優先順位に合うパネルが見える。&lt;/p&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;IPS&lt;/th&gt;&lt;th&gt;VA&lt;/th&gt;&lt;th&gt;TN&lt;/th&gt;&lt;th&gt;OLED&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;色再現&lt;/td&gt;&lt;td&gt;良い&lt;/td&gt;&lt;td&gt;ふつう&lt;/td&gt;&lt;td&gt;弱い&lt;/td&gt;&lt;td&gt;非常に良い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;視野角&lt;/td&gt;&lt;td&gt;広い&lt;/td&gt;&lt;td&gt;やや狭い&lt;/td&gt;&lt;td&gt;狭い&lt;/td&gt;&lt;td&gt;広い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;応答速度&lt;/td&gt;&lt;td&gt;ふつう〜速い&lt;/td&gt;&lt;td&gt;中〜遅&lt;/td&gt;&lt;td&gt;速い&lt;/td&gt;&lt;td&gt;非常に速い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格&lt;/td&gt;&lt;td&gt;中&lt;/td&gt;&lt;td&gt;安い&lt;/td&gt;&lt;td&gt;安い&lt;/td&gt;&lt;td&gt;高い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;用途別ベスト&lt;/td&gt;&lt;td&gt;仕事 + 動画の万能枠&lt;/td&gt;&lt;td&gt;動画中心、価格優先&lt;/td&gt;&lt;td&gt;競技系ゲーム&lt;/td&gt;&lt;td&gt;HDR / 映画体験&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;価格と色再現はおおむねトレードオフ。視野角と応答速度は IPS と OLED の両取りに近い。TN は「速さと安さ」の特化、VA は「黒と安さ」の特化、と覚えておくと整理しやすい。&lt;/p&gt;
&lt;p&gt;数値の細かい差（応答速度 1ms vs 4ms など）は、競技ゲームをしないなら体感差が出にくい。まずはこの表で大枠を決め、そこから個別モデルを比較するのが効率的。&lt;/p&gt;
&lt;h2 id=&quot;用途別の判断--どれを買えばいいか&quot;&gt;用途別の判断 — どれを買えばいいか&lt;/h2&gt;
&lt;p&gt;短い答え: 用途が決まっているなら、パネル選びは下のチャートで終わる。&lt;/p&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;用途&lt;/th&gt;&lt;th&gt;選ぶパネル&lt;/th&gt;&lt;th&gt;理由&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;仕事 + 動画 + たまにゲーム&lt;/td&gt;&lt;td&gt;&lt;strong&gt;IPS&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;万能。視野角と色のバランスがよい&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;とにかく安く 1 台&lt;/td&gt;&lt;td&gt;&lt;strong&gt;VA&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;同サイズ帯で最安クラス。動画視聴とも相性がよい&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FPS / 格ゲー競技&lt;/td&gt;&lt;td&gt;&lt;strong&gt;TN&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;応答速度と価格。色は捨てる前提&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;映画 / HDR / 写真鑑賞&lt;/td&gt;&lt;td&gt;&lt;strong&gt;OLED&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;黒の表現と色域。予算が許すなら&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;写真 / 動画編集&lt;/td&gt;&lt;td&gt;&lt;strong&gt;IPS（広色域モデル）&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;sRGB / DCI-P3 のカバー率を仕様で確認&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;マルチディスプレイ追加&lt;/td&gt;&lt;td&gt;既存と&lt;strong&gt;同じパネル種&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;並べたとき色味が揃いやすい&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;「複数枚を並べる」場合、パネル種が違うと同じ画像でも色味が変わって見える。仕事で 2 枚以上使うなら、メーカーまで揃えなくても&lt;strong&gt;パネル種だけは合わせる&lt;/strong&gt;と作業ストレスが減る。&lt;/p&gt;
&lt;h2 id=&quot;faq&quot;&gt;FAQ&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. パネル種類はスペック表のどこを見れば分かりますか？&lt;/strong&gt;
A. 商品ページの「パネル種類」「表示方式」「パネル方式」あたりの欄に記載がある。記載がない場合は、メーカー公式のスペックシート（PDF）を確認するのが確実。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. IPS と書かれていても、メーカーによって品質に差はありますか？&lt;/strong&gt;
A. ある。同じ「IPS」表記でも、色域カバー率（sRGB / DCI-P3 のパーセンテージ）や輝度の数値はモデル差が大きい。仕様欄の数値で比較するのが安全。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. OLED の焼き付きはどのくらいで起きますか？&lt;/strong&gt;
A. 使用パターン次第。タスクバーやアプリの UI が同じ位置に長時間出続ける環境では、数百〜数千時間で輪郭が見え始めるとされる。映画視聴中心なら気になりにくい。気になる場合は、自動非表示タスクバーやスクリーンセーバーの設定で軽減できる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ゲーミングモニターでも IPS は選べますか？&lt;/strong&gt;
A. 選べる。最近は 144Hz / 240Hz で応答速度 1ms 表記の IPS モデルが増えている。競技勢でなければ、TN ではなく IPS のゲーミングモデルで色と速度の両取りを狙うのが現実的。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;パネル選びは「何を優先するか」で決まる。色と視野角を平均的に取りたいなら IPS、価格を取りたいなら VA、フレーム速度を取りたいなら TN、HDR と黒の表現を取りたいなら OLED。&lt;/p&gt;
&lt;p&gt;仕様表の数字を細かく比較する前に、まず4種類のどれに寄せるかを決める。ここが決まれば、あとはサイズ・表面処理・接続端子の確認だけで済む。&lt;/p&gt;
&lt;p&gt;モニターの選び方そのもの（サイズや表面処理の決め方）は別記事で扱っている。あわせて読むと、製品ページの仕様欄が一目で読めるようになるはず。&lt;/p&gt;
</content:encoded><category>reviews</category><category>monitor</category></item><item><title>ゲーミングモニターの選び方 — 144Hz・1ms・パネル種別で9割決まる（2026年版）</title><link>https://aulvem.com/ja/blog/2021-03-20-gaming-monitor/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-20-gaming-monitor/</guid><description>PS5 / PC ゲーム向けのゲーミングモニター選び。リフレッシュレート・応答速度・パネル・同期技術の4軸で整理。FPS / 格ゲーは 144Hz / 1ms が現実的なライン、2026 年は 240Hz と OLED が選択肢に入る。</description><pubDate>Sat, 20 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（リフレッシュレート / 応答速度 / パネル）は今も有効だが、2026 年時点では 240Hz が普及帯に降りてきており、OLED ゲーミングモニタも10万円前後で選択肢に入る。具体的な商品リンクは確認のうえ最新モデルへ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;PS5 や最新の PC ゲームに合わせてモニターを買い替えたい。けれど「Hz」「ms」「IPS」「G-Sync」と用語が並ぶだけで、どれを基準に選べばいいのか分かりにくい。&lt;/p&gt;
&lt;p&gt;この記事は、ゲーミングモニターを「リフレッシュレート」「応答速度」「パネル」「同期技術」の4軸で整理する。読み終える頃には、自分のジャンルと予算に合う1台の輪郭が見えているはず。&lt;/p&gt;
&lt;h2 id=&quot;結論--fps--格ゲーなら-144hz1msips-が現実的な最低ライン&quot;&gt;結論 — FPS / 格ゲーなら 144Hz・1ms・IPS が現実的な最低ライン&lt;/h2&gt;
&lt;p&gt;短い答え: 速度を競うジャンル（FPS・格ゲー・対戦アクション）を遊ぶなら、購入前にチェックすべきは以下の4点。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;リフレッシュレート&lt;/strong&gt;: 144Hz 以上（PS5 含む据置きは120Hz が上限のことが多い）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;応答速度&lt;/strong&gt;: GtG 1ms 前後&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;パネル&lt;/strong&gt;: IPS（バランス重視）/ TN（最速・安価）/ OLED（最高峰・高価）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;同期技術&lt;/strong&gt;: FreeSync（AMD）または G-Sync Compatible（NVIDIA）対応&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に RPG / シミュレーション / ターン制ゲーム中心なら、上の数値はオーバースペック。一般的な作業用 IPS モニター（60Hz）で十分にきれいに遊べる。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;この記事のポイント&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;リフレッシュレートは &lt;strong&gt;144Hz 以上&lt;/strong&gt;（2026 年は 240Hz が普及帯）&lt;/li&gt;
&lt;li&gt;応答速度は &lt;strong&gt;GtG 1ms&lt;/strong&gt; を目安に&lt;/li&gt;
&lt;li&gt;パネルは &lt;strong&gt;IPS&lt;/strong&gt; が万能、最速なら &lt;strong&gt;TN&lt;/strong&gt;、画質最優先なら &lt;strong&gt;OLED&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;PC は &lt;strong&gt;FreeSync / G-Sync&lt;/strong&gt; 対応で必ず合わせる&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;用語の整理--hz--ms--freesync-とは&quot;&gt;用語の整理 — Hz / ms / FreeSync とは&lt;/h2&gt;
&lt;p&gt;短い答え: スペック表に並ぶ3つの用語は、それぞれ「滑らかさ」「残像」「ティアリング対策」を測る別物の指標。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ゲーミングモニター用語&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hz（リフレッシュレート）&lt;/strong&gt;: 1秒間に画面が書き換わる回数。144Hz なら毎秒144回更新される。数値が高いほど動きが滑らかに見え、相手の動きにいち早く気づける。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ms（応答速度 / GtG）&lt;/strong&gt;: ピクセルが「Gray to Gray（中間色から別の中間色）」へ切り替わる時間。1ms に近いほど残像（ゴースト）が少ない。カタログ値と実測値は乖離することがある。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FreeSync / G-Sync（同期技術）&lt;/strong&gt;: GPU の描画タイミングとモニターの書き換えタイミングを合わせ、画面のズレ（ティアリング）やカクつき（スタッタリング）を抑える仕組み。FreeSync は AMD 由来、G-Sync は NVIDIA 由来だが、近年は相互互換が進んでいる。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;リフレッシュレート--144hz-が標準2026-年は-240hz-が現実圏&quot;&gt;リフレッシュレート — 144Hz が標準、2026 年は 240Hz が現実圏&lt;/h2&gt;
&lt;p&gt;短い答え: FPS / 格ゲー目的なら 144Hz が現実的な下限。2026 年は 240Hz クラスが3〜5万円台に降りてきており、コスト効率が高い。&lt;/p&gt;
&lt;p&gt;理由は、リフレッシュレートが高いほど1秒あたりの情報量が増え、敵の動きに反応するまでの遅延が短くなるから。60Hz と 144Hz の差は体感で明確に分かるが、144Hz と 240Hz の差は競技勢以外には小さい。&lt;/p&gt;
&lt;h3 id=&quot;60hz-から-144hz-への乗り換えは効果が大きい&quot;&gt;60Hz から 144Hz への乗り換えは効果が大きい&lt;/h3&gt;
&lt;p&gt;普段使いの一般モニターはほぼ 60Hz。ここから 144Hz に上げると、マウスカーソルの動きから違いを感じる。FPS の振り向きで「敵がどこにいたか」を把握できる範囲が広がる。&lt;/p&gt;
&lt;h3 id=&quot;240hz-以上はジャンルと環境を選ぶ&quot;&gt;240Hz 以上はジャンルと環境を選ぶ&lt;/h3&gt;
&lt;p&gt;240Hz / 360Hz の効果を引き出すには、GPU 側が安定してそのフレームレートを出せる必要がある。PS5 や Xbox Series X は 120Hz が上限なので、家庭用ゲーム機メインなら 144Hz で頭打ち。&lt;/p&gt;
&lt;h3 id=&quot;接続規格にも注意&quot;&gt;接続規格にも注意&lt;/h3&gt;
&lt;p&gt;高リフレッシュレートは映像ケーブルの規格に依存する。4K 144Hz を出すには DisplayPort 1.4 以上、または HDMI 2.1 が必要。古い HDMI 2.0 ケーブルだと帯域が足りずに 60Hz に落ちることがある。&lt;/p&gt;
&lt;h2 id=&quot;応答速度--gtg-1ms-前後を目安に&quot;&gt;応答速度 — GtG 1ms 前後を目安に&lt;/h2&gt;
&lt;p&gt;短い答え: 速度を競うジャンルなら応答速度は GtG 1ms 前後を選ぶ。これより遅いと、動きの速いシーンで残像が見える。&lt;/p&gt;
&lt;p&gt;理由は、応答速度が遅いとピクセルが前のフレームを引きずったまま次のフレームに重なり、敵のシルエットがブレて見えるから。FPS で残像があると、相手がどこを向いているかの判定が遅れる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;モニターの残像（ゴースト）の例 — 応答速度が遅いとピクセルが前のフレームを引きずる&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-20-gaming-monitor/2021-03-20-Afterimage.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;カタログ値と実測値はズレることがある&quot;&gt;カタログ値と実測値はズレることがある&lt;/h3&gt;
&lt;p&gt;「1ms（GtG）」と表記されていても、実測ではモードによって倍以上ばらつくケースがある。レビューサイトの実測値も合わせて確認するのが安全。&lt;/p&gt;
&lt;h3 id=&quot;オーバードライブ機能の使いどころ&quot;&gt;オーバードライブ機能の使いどころ&lt;/h3&gt;
&lt;p&gt;多くのゲーミングモニターは「オーバードライブ（OD）」設定でピクセル切替を強制的に速める機能を持つ。強くかけすぎると逆残像（オーバーシュート）が出るので、付属の中庸モードから試すのが現実的。&lt;/p&gt;
&lt;h2 id=&quot;パネル種別--ips-が標準tn-は最速oled-は新しい選択肢&quot;&gt;パネル種別 — IPS が標準、TN は最速、OLED は新しい選択肢&lt;/h2&gt;
&lt;p&gt;短い答え: 2026 年時点のおすすめは IPS（バランス）/ TN（最速・最安）/ OLED（画質最優先）。&lt;/p&gt;
&lt;p&gt;理由は、パネル方式によって応答速度・視野角・色再現・価格のバランスが大きく異なるから。同じ 144Hz・1ms でも、見え方と価格は別物。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;ゲーミングモニターのパネル種別の見え方の違い&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-17-iilustration-monitor/2021-03-17-IPS-LCD.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;ips--万能迷ったらこれ&quot;&gt;IPS — 万能、迷ったらこれ&lt;/h3&gt;
&lt;p&gt;色の鮮やかさと視野角に優れる。応答速度は以前は TN に劣ったが、ゲーミング向け IPS（Fast IPS など）は 1ms クラスまで詰まっており、FPS でも実用に耐える。価格帯は3〜7万円が中心。&lt;/p&gt;
&lt;h3 id=&quot;tn--最速最安ただし画質と視野角を諦める&quot;&gt;TN — 最速・最安、ただし画質と視野角を諦める&lt;/h3&gt;
&lt;p&gt;応答速度は依然として最速級、価格も最も安い。一方で色がくすみ、横から見ると色が変わる。デスクの正面に固定して使うソロプレイ向き。&lt;/p&gt;
&lt;h3 id=&quot;va--コントラスト重視競技用には向かない&quot;&gt;VA — コントラスト重視、競技用には向かない&lt;/h3&gt;
&lt;p&gt;黒の沈み込みが深く映画やシングルプレイ RPG に向く。ただし応答速度は IPS / TN より遅く、暗部での残像（ブラックスメア）が出やすいので競技ゲーム用途には外す。&lt;/p&gt;
&lt;h3 id=&quot;oled--2026-年の新しい選択肢&quot;&gt;OLED — 2026 年の新しい選択肢&lt;/h3&gt;
&lt;p&gt;QD-OLED / WOLED を採用したゲーミングモニターが普及してきた。応答速度 0.03ms 級、コントラスト無限の領域で、映像表現は液晶を大きく超える。価格は 10〜20 万円が中心で、焼き付きリスクは残るものの保証が手厚いモデルが増えた。&lt;/p&gt;
&lt;h2 id=&quot;freesync--g-sync--pc-ゲームでは-gpu-と必ず合わせる&quot;&gt;FreeSync / G-Sync — PC ゲームでは GPU と必ず合わせる&lt;/h2&gt;
&lt;p&gt;短い答え: PC でゲームをするなら、自分の GPU メーカーに合う同期技術が載ったモニターを選ぶ。&lt;/p&gt;
&lt;p&gt;理由は、GPU の描画速度とモニターの書き換え速度がズレるとティアリング（画面の横ズレ）やスタッタリング（カクつき）が出るから。同期技術はこれを自動で吸収する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NVIDIA GPU 中心&lt;/strong&gt;: G-Sync / G-Sync Compatible 対応モデル&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AMD GPU 中心&lt;/strong&gt;: FreeSync / FreeSync Premium 対応モデル&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;両対応モデル&lt;/strong&gt;: 近年は1台で両方に対応する機種が増えており、GPU を将来買い替える可能性があるなら両対応が安全&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PS5 / Xbox は HDMI VRR に対応しており、これは FreeSync 系統と互換がある。&lt;/p&gt;
&lt;h2 id=&quot;比較表--60hz--144hz--240hz&quot;&gt;比較表 — 60Hz / 144Hz / 240Hz+&lt;/h2&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;60Hz（一般用）&lt;/th&gt;&lt;th&gt;144Hz（ゲーミング標準）&lt;/th&gt;&lt;th&gt;240Hz+（競技 / 最新世代）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;想定ジャンル&lt;/td&gt;&lt;td&gt;RPG / 作業&lt;/td&gt;&lt;td&gt;FPS / 格ゲー全般&lt;/td&gt;&lt;td&gt;競技 FPS / e スポーツ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;滑らかさ&lt;/td&gt;&lt;td&gt;普通&lt;/td&gt;&lt;td&gt;明確に滑らか&lt;/td&gt;&lt;td&gt;144Hz との差は体感小&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;必要 GPU&lt;/td&gt;&lt;td&gt;内蔵 GPU でも可&lt;/td&gt;&lt;td&gt;ミドルレンジ以上&lt;/td&gt;&lt;td&gt;ハイエンド GPU 推奨&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PS5 / Xbox 適合&lt;/td&gt;&lt;td&gt;適合&lt;/td&gt;&lt;td&gt;120Hz 出力で恩恵あり&lt;/td&gt;&lt;td&gt;オーバースペック&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯（24インチ）&lt;/td&gt;&lt;td&gt;1〜2万円&lt;/td&gt;&lt;td&gt;3〜5万円&lt;/td&gt;&lt;td&gt;5〜8万円&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;パネルの選択肢&lt;/td&gt;&lt;td&gt;IPS / VA 中心&lt;/td&gt;&lt;td&gt;IPS / TN / VA&lt;/td&gt;&lt;td&gt;IPS / OLED&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;オススメモニター--用途別&quot;&gt;オススメモニター — 用途別&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時（2021年）に選定したモデル。2026 時点では後継 / 同等価格帯の最新モデルを必ず確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;最速重視--tn-144hz&quot;&gt;最速重視 — TN 144Hz&lt;/h3&gt;
&lt;p&gt;応答速度を最優先したい競技勢向け。色味は妥協する前提で、価格と速度を取りに行く構成。&lt;/p&gt;









































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;大きさ&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;23.6インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;パネル&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;TN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;解像度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;フル HD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;表面&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;応答速度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;GtG 1ms&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;リフレッシュレート&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;144Hz&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;同期技術&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;FreeSync&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;VESA マウント&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;◯&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;バランス重視--ips-144hz&quot;&gt;バランス重視 — IPS 144Hz&lt;/h3&gt;
&lt;p&gt;FPS も RPG も遊ぶマルチジャンル向け。視野角と色の鮮やかさを確保しつつ、応答速度も実用域に収める。&lt;/p&gt;









































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;大きさ&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;23.8インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;パネル&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;IPS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;解像度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;フル HD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;表面&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;応答速度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;GtG 1ms&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;リフレッシュレート&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;144Hz&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;同期技術&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;FreeSync / G-Sync Compatible&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;VESA マウント&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;◯&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;画質最優先--oled-240hz2026-年の選択肢&quot;&gt;画質最優先 — OLED 240Hz（2026 年の選択肢）&lt;/h3&gt;
&lt;p&gt;予算が許せば検討したい上位帯。映像表現と応答速度を両立する。WQHD 以上の解像度と組み合わせるのが現実的。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. PS5 では 144Hz / 240Hz の恩恵はありますか？&lt;/strong&gt;
A. PS5 は HDMI 2.1 で 4K 120Hz / フル HD 120Hz が上限。144Hz 以上の出力はできないが、120Hz 対応モニターであれば対応タイトルで効果がある。VRR（HDMI VRR）対応モデルだとフレーム変動時のカクつきも抑えられる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 4K 144Hz と フル HD 240Hz、どちらを選ぶべきですか？&lt;/strong&gt;
A. ジャンルで決める。フレームレートが直接勝率に効く競技 FPS なら フル HD 240Hz、ストーリー / アクション中心で映像の精細さを取りたいなら 4K 144Hz。両立したいなら WQHD 165〜240Hz が折衷案。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 応答速度 1ms と 0.5ms の違いは体感できますか？&lt;/strong&gt;
A. 大半の人は体感できない。パネル切替の差より、ケーブル規格・GPU 出力フレームレート・モニター内部処理遅延（インプットラグ）の方が体感差が大きい。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ゲーミングモニターは普段使い（仕事 / ブラウジング）にも使えますか？&lt;/strong&gt;
A. 問題なく使える。むしろ 144Hz の滑らかさはスクロール時にも体感できる。ただし色の正確さが求められる写真編集や映像制作には、別途キャリブレーション対応の専用モニターが向く。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;ゲーミングモニター選びは「リフレッシュレート」「応答速度」「パネル」「同期技術」の4軸で整理すると判断しやすい。&lt;/p&gt;
&lt;p&gt;FPS / 格ゲー中心なら &lt;strong&gt;144Hz / GtG 1ms / IPS / FreeSync または G-Sync Compatible&lt;/strong&gt; が現実的な最低ライン。2026 年は 240Hz クラスが普及帯に降りており、画質を取りに行くなら OLED ゲーミングモニタが上位の選択肢になる。&lt;/p&gt;
&lt;p&gt;ジャンルが RPG / シミュレーション中心なら、これらの数値はオーバースペック。用途に合わせて買うのが、結局いちばんコスト効率が高い。&lt;/p&gt;</content:encoded><category>reviews</category><category>monitor</category><category>gaming</category></item><item><title>4Kモニターは万人向けではない — 用途別に4K / WQHD / FHD を選ぶ判断基準</title><link>https://aulvem.com/ja/blog/2021-03-19-four-k-monitor/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-19-four-k-monitor/</guid><description>4Kモニターを買う前に確認したい判断基準を整理。画面サイズ・HDR・色再現度・パネル方式の4点を押さえ、写真や動画編集なら4K、文章中心や軽いゲームならWQHD／FHDと、用途別に選び分けるための目安をFAQ付きでまとめました。</description><pubDate>Fri, 19 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植したうえで、2026 視点で骨子をリライトした記事。2021 年当時より4Kモニターは安く・普通になったが、「全員が4Kを買うべき」かは依然として用途依存。具体的な機種リンクは公開前に最新モデルで差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;「4Kモニターが欲しいけれど、どれを選べばいいかわからない」「コスパのいい4Kを知りたい」— こうした相談を受ける機会が増えた。ただ、話を聞いていくと「そもそも4Kが必要なのか」が曖昧なまま機種比較に入ってしまっているケースが多い。&lt;/p&gt;
&lt;p&gt;この記事は、4Kを選ぶ前に立ち止まって判断するための観点をまとめる。買う・買わないの線引きと、買う場合の4つのチェックポイントを順に書いた。&lt;/p&gt;
&lt;h2 id=&quot;結論--4kは万人向けではない用途で選ぶ&quot;&gt;結論 — 4Kは万人向けではない、用途で選ぶ&lt;/h2&gt;
&lt;p&gt;短い答え: 4Kモニターは「写真・動画編集」「4K映像視聴」「28インチ以上で広い作業領域がほしい」のいずれかに当てはまる人向け。文章中心の作業や軽いゲームならWQHDのほうが費用対効果が高い。&lt;/p&gt;
&lt;p&gt;理由は3つある。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;画面が小さいと差を体感しづらい&lt;/strong&gt; — 27インチ以下ではスケーリング前提になり、4Kの解像感を活かしきれない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPU負荷が跳ね上がる&lt;/strong&gt; — ゲームやリアルタイム3Dは4Kだと描画コストが2倍以上になる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ケーブル・接続規格の要件が増える&lt;/strong&gt; — HDMI 2.0a / DisplayPort 1.4 以上が必要で、古いPCだと出力できない&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に4Kが効くのは、写真の現像で原寸プレビューしたい / 4K 動画素材を等倍で確認したい / 28インチ以上の大画面で文字を細かく置きたい、といった「精細さが直接成果物に効く」用途。&lt;/p&gt;
&lt;h3 id=&quot;4kとは&quot;&gt;4Kとは&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;4K（UHD）&lt;/strong&gt;: 解像度 3840×2160 ピクセル。FHD（1920×1080）の縦横2倍、面積で4倍の情報量。「DCI 4K」（4096×2160、映画館規格）とは別物で、市販モニターのほぼ全ては3840×2160のUHD。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;比較-4k--wqhd--fhd-はどう違うか&quot;&gt;比較: 4K / WQHD / FHD はどう違うか&lt;/h2&gt;
&lt;p&gt;短い答え: 解像度が上がるほど作業領域は広がるが、必要なGPU性能・モニター価格・スケーリングの手間も上がる。&lt;/p&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;FHD (1920×1080)&lt;/th&gt;&lt;th&gt;WQHD (2560×1440)&lt;/th&gt;&lt;th&gt;4K (3840×2160)&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;画面の使いやすさ&lt;/td&gt;&lt;td&gt;24インチでドット感なし。文字中心なら十分&lt;/td&gt;&lt;td&gt;27インチに最適。スケーリング不要で扱いやすい&lt;/td&gt;&lt;td&gt;28インチ以上が前提。27以下はスケーリング必須&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格目安（27インチ IPS）&lt;/td&gt;&lt;td&gt;2〜3万円台&lt;/td&gt;&lt;td&gt;3〜5万円台&lt;/td&gt;&lt;td&gt;5〜8万円台&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;必要 GPU 性能（ゲーム時）&lt;/td&gt;&lt;td&gt;エントリーGPUで60fps&lt;/td&gt;&lt;td&gt;ミドルレンジ必要&lt;/td&gt;&lt;td&gt;ハイエンド推奨&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;用途別ベスト&lt;/td&gt;&lt;td&gt;文章・事務・軽いゲーム&lt;/td&gt;&lt;td&gt;プログラミング・配信・eスポーツ&lt;/td&gt;&lt;td&gt;写真/動画編集・大画面・映像視聴&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;価格は2026年5月時点の量販店実勢価格の感覚値。為替と新製品サイクルで動くので、購入時に必ず再確認する。&lt;/p&gt;
&lt;h2 id=&quot;4kを選ぶときのチェックポイントは4点&quot;&gt;4Kを選ぶときのチェックポイントは4点&lt;/h2&gt;
&lt;p&gt;短い答え: 4Kを買うと決めたら、「画面サイズ」「HDR対応」「色再現度」「パネル方式」の4点を確認する。HDMIケーブルだけは買った後の落とし穴なので、加えて注意。&lt;/p&gt;
&lt;p&gt;理由は、この4点が外れていると「せっかく4Kを買ったのに体感が変わらない」という結末になりやすいから。順に見ていく。&lt;/p&gt;
&lt;h2 id=&quot;画面サイズ-28インチ以上で4kの効果が出る&quot;&gt;画面サイズ: 28インチ以上で4Kの効果が出る&lt;/h2&gt;
&lt;p&gt;短い答え: 4Kの解像感を活かすなら28インチ以上。27インチ以下だとスケーリング前提になり、メリットが薄れる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;大きい画面で4Kの情報量を活かす作例&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-19-four-k-monitor/2021-03-19-Large-monitor.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;理由は、4KはFHDの4倍の情報量だが、画面が物理的に小さいと1ドットが細かすぎて文字が読めなくなる。OS側でスケーリング（拡大表示）をかけて読めるサイズに戻すことになり、結局「広い作業領域」というメリットが消える。&lt;/p&gt;
&lt;p&gt;例として、24インチ4Kは100%スケーリングだと文字が極小で常用が難しい。150%にすると実効解像度はWQHDに近づく — それなら最初からWQHDで十分という話になる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;目安サイズ&lt;/strong&gt;: パソコン用なら28〜32インチ。35インチ以上はリビングTVの距離感に近くなり、デスクで近づいて見るには大きすぎる。&lt;/p&gt;
&lt;h3 id=&quot;注意-ノートpcの内蔵モニターは別物&quot;&gt;注意: ノートPCの内蔵モニターは別物&lt;/h3&gt;
&lt;p&gt;ノートPCの13〜15インチで4Kを選ぶ意味は「Retina的な高精細さ」が目的のときだけ。作業領域は広がらない。&lt;/p&gt;
&lt;h2 id=&quot;hdr対応-映画ゲーム用途なら必須文書用途なら不要&quot;&gt;HDR対応: 映画・ゲーム用途なら必須、文書用途なら不要&lt;/h2&gt;
&lt;p&gt;短い答え: 暗部の表現を広げる機能。映像コンテンツを楽しむなら効くが、文章作業には恩恵が薄い。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;HDR対応モニターによる暗部の表現比較イメージ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-19-four-k-monitor/2021-03-19-HDR-monitor.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;理由は、HDR（High Dynamic Range）が白から黒までの輝度レンジを通常より広く扱う規格だから。暗いシーンの夜空や、明暗が同居する逆光のシーンで違いが出る。&lt;/p&gt;
&lt;p&gt;例として、HDR非対応のモニターで暗いシーンを見ると黒が潰れて何が映っているかわかりにくい。HDR10対応なら同じシーンで物体の輪郭が見える。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;カタログ表記の見方&lt;/strong&gt;: 「HDR10」「HDR10+」「Dolby Vision」のいずれかが書かれていれば対応。記載がなければ非対応。なお「HDR Ready」や「HDR Compatible」は信号を受けられるだけで実効的なHDR表示ができない場合があるため、注意。&lt;/p&gt;
&lt;h3 id=&quot;注意-hdrはosコンテンツ側の対応も必要&quot;&gt;注意: HDRはOS・コンテンツ側の対応も必要&lt;/h3&gt;
&lt;p&gt;モニターが対応していても、Windows の HDR 設定と再生側コンテンツがHDR対応していないと効かない。&lt;/p&gt;
&lt;h2 id=&quot;色再現度-クリエイティブ用途なら-90-以上を目安に&quot;&gt;色再現度: クリエイティブ用途なら 90% 以上を目安に&lt;/h2&gt;
&lt;p&gt;短い答え: 写真・動画・イラストを扱うなら sRGB 100% または NTSC / Adobe RGB 90% 前後を目安にする。文章用途なら気にしなくていい。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;色再現度の差を比較した作例&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-17-iilustration-monitor/2021-03-17-Color-Reproducibility.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;理由は、色再現度（色域）はモニターが表現できる色の範囲を示す指標だから。低いモニターでは、本来鮮やかな赤や緑がくすんで見える。&lt;/p&gt;
&lt;p&gt;例として、sRGB 70%程度の安価なモニターで写真を編集すると、別の端末で見たときに「自分が編集したより派手な色」になっていることがある。色域が広い側で確認するほうが安全。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;カタログ表記の見方&lt;/strong&gt;: 「sRGB カバー率 100%」「Adobe RGB 90%」「NTSC 90%」のように%表記。記載がなければ広色域対応ではないことが多い。&lt;/p&gt;
&lt;h2 id=&quot;パネル方式-文章写真動画はips競技ゲームは-tn--oled&quot;&gt;パネル方式: 文章・写真・動画はIPS、競技ゲームは TN / OLED&lt;/h2&gt;
&lt;p&gt;短い答え: 一般用途はIPS一択。視野角が広く色変化が少ない。応答速度を最優先する競技ゲームだけ TN や OLED を検討する。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;IPSパネルとTNパネルの視野角比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-17-iilustration-monitor/2021-03-17-IPS-LCD.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;理由は、IPSは斜めから見ても色が変わりにくく、写真や動画の確認に向いているから。TNは応答速度が速いが視野角が狭く、色が浅い。VAは黒の表現に強いが応答が遅め。&lt;/p&gt;
&lt;p&gt;例として、デュアルモニター構成で1台を斜め向きに置いた場合、TNパネルだと色味が画面の角度で変わって違和感がある。IPSなら同じ色で揃う。&lt;/p&gt;
&lt;h3 id=&quot;oled-は選択肢に入ってきた&quot;&gt;OLED は選択肢に入ってきた&lt;/h3&gt;
&lt;p&gt;2021年時点では「ほとんど出ていない」と書いていたが、2026年現在は27インチクラスのOLEDモニターが10万円台で入手できるようになった。黒の表現と応答速度はIPSを上回るが、焼き付きリスクがあるため文字を長時間表示する用途では注意が必要。&lt;/p&gt;
&lt;h2 id=&quot;落とし穴-hdmiケーブル--displayport-の規格&quot;&gt;落とし穴: HDMIケーブル / DisplayPort の規格&lt;/h2&gt;
&lt;p&gt;短い答え: 4K HDR を 60Hz で出すなら HDMI 2.0a 以上 または DisplayPort 1.4 以上。古い規格のケーブルだと FHD にダウンスケールされる。&lt;/p&gt;
&lt;p&gt;理由は、HDMI / DisplayPort は規格バージョンで伝送できる解像度・リフレッシュレート・色深度が決まっているから。ケーブル単体は見た目で判別できない。&lt;/p&gt;





















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;信号&lt;/th&gt;&lt;th&gt;必要規格&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;4K 60Hz SDR&lt;/td&gt;&lt;td&gt;HDMI 2.0 / DisplayPort 1.2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4K 60Hz HDR&lt;/td&gt;&lt;td&gt;HDMI 2.0a / DisplayPort 1.4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4K 120Hz HDR&lt;/td&gt;&lt;td&gt;HDMI 2.1 / DisplayPort 1.4 (DSC)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;モニター付属ケーブルでも非対応のことが稀にある。買ってすぐ「色が薄い」「FHDにしかならない」場合は、まずケーブルとPC側の出力端子規格を疑う。&lt;/p&gt;
&lt;h2 id=&quot;オススメ機種用途別&quot;&gt;オススメ機種（用途別）&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆時点で選定した参考機種。2026 視点では後継モデル / 同等価格帯の最新製品を必ず確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;srgb-100--文章写真用途--i-o-data-27インチ-4k&quot;&gt;sRGB 100% / 文章・写真用途 — I-O DATA 27インチ 4K&lt;/h3&gt;
&lt;p&gt;sRGB 100% カバーで写真の色味確認にも使える27インチ4K。非光沢でデスク照明の映り込みが少ない。VESA対応でアームに付け替えられる。&lt;/p&gt;





































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;サイズ&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;27インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;パネル方式&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;ADS（IPS相当）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;解像度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;4K (3840×2160)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;表面&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;色再現度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;sRGB 100%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;HDR&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;HDR10 対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;VESA&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;ntsc-90-前後--動画映像編集向け--i-o-data-28インチ-4k&quot;&gt;NTSC 90% 前後 / 動画・映像編集向け — I-O DATA 28インチ 4K&lt;/h3&gt;
&lt;p&gt;NTSC 88%で映像系の色域に振った28インチ。サイズが大きいぶん4Kの解像感が活きる。&lt;/p&gt;





































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;サイズ&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;28インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;パネル方式&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;IPS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;解像度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;4K (3840×2160)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;表面&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;色再現度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;NTSC 88%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;HDR&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;HDR10 対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;VESA&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. 4Kモニターはどんな人に必要ですか？&lt;/strong&gt;
A. 写真・動画編集、4K映像視聴、28インチ以上の大画面で作業領域を広げたい人。逆に文章中心や競技ゲーム用途ならWQHDで足りる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 4Kモニターのスケーリングは必要ですか？&lt;/strong&gt;
A. Windows / macOS 共に 27インチ以下の4Kでは125〜150%のスケーリングがほぼ必須。スケーリングを使う前提なら、最初からWQHDのほうが素直に映ることが多い。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 21:9 ウルトラワイドと 16:9 の4K、どちらがいいですか？&lt;/strong&gt;
A. 横に広い作業領域がほしいなら21:9のWQHD相当（3440×1440）が扱いやすい。縦の情報量と高精細さを取るなら16:9の4K。用途で選ぶ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. HDMIケーブルは何を選べばいいですか？&lt;/strong&gt;
A. 4K HDR を出すなら HDMI 2.0a 以上、4K 120Hz を狙うなら HDMI 2.1。モニター付属ケーブルが対応していないことが稀にあるので、スペックを確認する。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;4Kモニターは「精細さが成果物に直結する人」のための機材。当てはまるなら、画面サイズ28インチ以上 / HDR対応 / 色再現度90%前後 / IPSパネルの4点を確認すれば外しにくい。&lt;/p&gt;
&lt;p&gt;当てはまらないなら、WQHDのほうが価格・GPU負荷・スケーリングの手間で優位。判断の起点は「4Kだから買う」ではなく「自分の用途に4Kの解像感が要るか」のほうに置きたい。&lt;/p&gt;</content:encoded><category>reviews</category><category>monitor</category></item><item><title>液晶タブレットの選び方 — 14〜16インチ・色域・応答速度・視差の4点で決める</title><link>https://aulvem.com/ja/blog/2021-03-18-choose-lcd-tablet/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-18-choose-lcd-tablet/</guid><description>液タブ・板タブ・iPad の選び方を整理する記事。画面サイズは14〜16インチ、色域は出力先次第、応答速度は20ms前後、視差はラミネーション加工有り、の4点を押さえれば失敗しにくい。Wacom 以外の選択肢が増えた今の、板タブ・iPadとの違いも含めてまとめました。</description><pubDate>Thu, 18 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（選び方の観点）は今も使えるが、具体的なスペック数値や価格帯は2021年当時の市況がベース。最新モデルでは数値が改善しているため、購入前に各メーカーの公式スペック表を確認すること。スペック表記は執筆当時の公称値で、最新の公式表記とは差分があり得る。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;液晶タブレット（以下「液タブ」）は、ペンタブ（板タブ）からの買い替え候補としてここ数年でかなり身近になった。Wacom 一強だった頃と比べると、XP-Pen や HUION といったメーカーの選択肢が増え、価格レンジも幅広い。&lt;/p&gt;
&lt;p&gt;ただ選択肢が増えた分、「結局どれを買えばいいのか」が見えにくい。この記事は、液タブを選ぶときに押さえるべき観点と、板タブ・iPad との違いを整理する。&lt;/p&gt;
&lt;h2 id=&quot;結論--サイズ色域応答速度視差の4点で決める&quot;&gt;結論 — サイズ・色域・応答速度・視差の4点で決める&lt;/h2&gt;
&lt;p&gt;短い答え: 液タブ選びは以下の4点で決まる。残りの仕様は「あれば嬉しい」レベル。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;サイズ&lt;/strong&gt;: 14〜16インチ（描きやすさと机の専有面積のバランス点）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;色域&lt;/strong&gt;: 印刷物用途なら Adobe RGB / NTSC 90%前後、Web 中心なら sRGB 100%前後&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;応答速度&lt;/strong&gt;: 14〜25ms 程度（公称）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;視差（パララックス）&lt;/strong&gt;: フルラミネーション加工有りを選ぶ&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に言うと、メーカーが Wacom かどうかや筆圧レベル（8192段階など）はこの4点ほど致命的には効かない。最新世代の液タブはどれも筆圧レベルは8192以上が標準（公称）。&lt;/p&gt;
&lt;h2 id=&quot;用途別の判断--板タブipad-と比べてから決める&quot;&gt;用途別の判断 — 板タブ・iPad と比べてから決める&lt;/h2&gt;
&lt;p&gt;短い答え: 「液タブが最善」とは限らない。板タブと iPad には液タブにない長所がある。&lt;/p&gt;
&lt;h3 id=&quot;紙のように描きたい--液タブ&quot;&gt;紙のように描きたい → 液タブ&lt;/h3&gt;
&lt;p&gt;画面に直接ペンを置いて描けるのが液タブの本質的な価値。アナログ作画からの移行や、線画の取り回しが多い人ほど恩恵が大きい。&lt;/p&gt;
&lt;p&gt;ただし接続ケーブルが多く、外への持ち出しには向かない。常時机に置きっぱなしになる前提で考える。&lt;/p&gt;
&lt;h3 id=&quot;安く始めたい腕の負担を減らしたい--板タブ&quot;&gt;安く始めたい・腕の負担を減らしたい → 板タブ&lt;/h3&gt;
&lt;p&gt;板タブ（ペンタブ）は手元と画面が分離する分、慣れが要る。ただし慣れてしまえば腕を持ち上げずに描けるので、長時間作業では疲労が少ない。&lt;/p&gt;
&lt;p&gt;価格も液タブの1/3〜1/5に収まる（同メーカー同サイズで比較した場合）。「絵を描き始めたばかり」「予算を抑えたい」なら板タブで十分。&lt;/p&gt;
&lt;h3 id=&quot;外でも描きたいipad-持ち--ipad--apple-pencil&quot;&gt;外でも描きたい・iPad 持ち → iPad + Apple Pencil&lt;/h3&gt;
&lt;p&gt;iPad + Apple Pencil は事実上「持ち運べる液タブ」。Procreate / Clip Studio Paint for iPad の完成度も上がっている。&lt;/p&gt;
&lt;p&gt;弱点はソフトウェア面で、フォトショなど一部の PC 専用ツールが使えない。PC ベースのワークフローに組み込むときは追加の手間が要る。&lt;/p&gt;
&lt;h2 id=&quot;スペックの観点--それぞれの数値が何に効くか&quot;&gt;スペックの観点 — それぞれの数値が何に効くか&lt;/h2&gt;
&lt;p&gt;短い答え: スペック表の数値はどれも独立で見ても意味が薄い。「自分の使い方で何が起きるか」と紐付けて読む。&lt;/p&gt;
&lt;h3 id=&quot;サイズは1416インチが折り合い点&quot;&gt;サイズは14〜16インチが折り合い点&lt;/h3&gt;
&lt;p&gt;サイズが大きいほど描きやすいが、机の専有面積と価格が比例で上がる。&lt;/p&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;サイズ&lt;/th&gt;&lt;th&gt;幅×高さ目安&lt;/th&gt;&lt;th&gt;向く用途&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;〜13インチ&lt;/td&gt;&lt;td&gt;約28×17cm&lt;/td&gt;&lt;td&gt;携帯前提、サブ機&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;14〜16インチ&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;約31×20cm&lt;/td&gt;&lt;td&gt;大半のイラスト・漫画作業&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;21インチ以上&lt;/td&gt;&lt;td&gt;約47×27cm&lt;/td&gt;&lt;td&gt;商業作画、机が広い人&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;13インチ未満は長時間描くと手が窮屈になりやすい。21インチ以上は腕を大きく動かす必要があり、価格も10万円超になる。&lt;/p&gt;
&lt;h3 id=&quot;色域はどこに出すかで決める&quot;&gt;色域は「どこに出すか」で決める&lt;/h3&gt;
&lt;p&gt;色域（Adobe RGB / NTSC / sRGB のカバー率）は「現実の色をどこまで再現できるか」を示す指標。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;印刷物に出す&lt;/strong&gt;: Adobe RGB または NTSC 90%前後。印刷の色域は sRGB より広いため、ここで合わせないと納品データと印刷物の色がズレる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Web / SNS 中心&lt;/strong&gt;: sRGB 100% で十分。むしろ Adobe RGB 機で sRGB 環境を見ると色が浅く見えることがある&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「迷ったら高色域」と言われがちだが、出力先が Web 中心なら過剰スペックになる。&lt;/p&gt;
&lt;h3 id=&quot;応答速度は1425ms-あれば描画には支障なし&quot;&gt;応答速度は14〜25ms あれば描画には支障なし&lt;/h3&gt;
&lt;p&gt;応答速度は「ペンを動かしてから画面に反映されるまでの時間」に効く部分。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;応答速度 14〜25ms（公称）&lt;/li&gt;
&lt;li&gt;レポートレート 200RPS 以上が現行モデルの標準（公称）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これより遅い旧モデルは、描画の遅延がそのまま線のヨレに出る。&lt;/p&gt;
&lt;h3 id=&quot;視差はフルラミネーション加工で消える&quot;&gt;視差はフルラミネーション加工で消える&lt;/h3&gt;
&lt;p&gt;視差（パララックス）は「画面のガラス面と発光面の間に隙間があることで、ペン先と線が少しズレて見える」現象。&lt;/p&gt;
&lt;p&gt;「フルラミネーション加工」または「ラミネーション」と明記されているモデルは、この隙間が極小化されている。中古や格安モデルは加工なしのものが残っているので、製品ページのスペック欄を確認する。&lt;/p&gt;
&lt;h2 id=&quot;比較-液タブ-vs-板タブ-vs-ipad&quot;&gt;比較: 液タブ vs 板タブ vs iPad&lt;/h2&gt;
&lt;p&gt;短い答え: 「机に据え置きで紙感」なら液タブ、「予算重視・長時間作業」なら板タブ、「持ち運び」なら iPad。&lt;/p&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;液タブ&lt;/th&gt;&lt;th&gt;板タブ&lt;/th&gt;&lt;th&gt;iPad + Apple Pencil&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;価格目安&lt;/td&gt;&lt;td&gt;4〜10万円&lt;/td&gt;&lt;td&gt;1〜3万円&lt;/td&gt;&lt;td&gt;10万円〜（本体+ペン）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;描き心地&lt;/td&gt;&lt;td&gt;画面に直接&lt;/td&gt;&lt;td&gt;手元と画面が分離&lt;/td&gt;&lt;td&gt;画面に直接&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;持ち運び&lt;/td&gt;&lt;td&gt;× ケーブル多数&lt;/td&gt;&lt;td&gt;△ 板単体は軽い&lt;/td&gt;&lt;td&gt;◯&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;長時間作業&lt;/td&gt;&lt;td&gt;腕を上げて描くので疲れる&lt;/td&gt;&lt;td&gt;慣れれば最も楽&lt;/td&gt;&lt;td&gt;iPad の重さ次第&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ソフト互換&lt;/td&gt;&lt;td&gt;PC アプリ全般&lt;/td&gt;&lt;td&gt;PC アプリ全般&lt;/td&gt;&lt;td&gt;iPad 版に限定&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;初期投資&lt;/td&gt;&lt;td&gt;中〜高&lt;/td&gt;&lt;td&gt;低&lt;/td&gt;&lt;td&gt;高&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;液タブの強みは「画面に直接描ける + PC のソフトをそのまま使える」点。板タブと iPad のいいとこ取りに見えるが、価格と据え置き前提というコストを払う。&lt;/p&gt;
&lt;h2 id=&quot;おすすめスペック--156インチクラスの実用機&quot;&gt;おすすめスペック — 15.6インチクラスの実用機&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時（2021年）に筆者が選定したスペック構成。2026 時点では同等以上のスペックが同価格帯で手に入るため、最新モデルで該当する仕様を確認すること。&lt;/p&gt;
&lt;/blockquote&gt;





































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;サイズ&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;15.6インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;表示形式&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;IPS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;解像度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;フル HD（1920×1080）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;色域&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;NTSC 88%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;応答速度&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;14ms&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;ラミネーション加工&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;有り&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;斜め検知&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;有り&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;このクラスは4点の要件（サイズ・色域・応答速度・視差）を満たしつつ、価格を抑えやすい。筆者も同等構成のモデルを購入して使っている。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. Wacom じゃないと駄目ですか？&lt;/strong&gt;
A. 駄目ではない。Wacom は安定性とドライバの完成度で評価が高いが、XP-Pen や HUION の現行モデルも実用域に入っている。価格差を許容できるかと、サポート体制をどこまで重視するかで決める。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 板タブから液タブに買い替える価値はありますか？&lt;/strong&gt;
A. 「画面と手元が連動しない違和感」が消えるのは大きい。一方で「腕を上げて描くので長時間だと疲れる」「ケーブルが増えて机が散らかる」というデメリットもある。板タブで作業に支障がないなら、急いで買い替える必要はない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 筆圧レベルは何段階あればいいですか？&lt;/strong&gt;
A. 現行モデルはほぼ8192段階以上で横並び（公称）。この数値で機種を選ぶ場面はほとんどない。それより色域と視差を優先する。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPad Pro があれば液タブは要らないですか？&lt;/strong&gt;
A. 用途次第。iPad の絵描きアプリで完結する人には不要。一方、Photoshop や After Effects など PC 専用ツールを併用するなら、PC ワークフローに直結する液タブの利点は残る。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;液タブ選びの軸は「サイズ14〜16インチ・色域は出力先で決める・応答速度14〜25ms・視差はラミネーション加工で消す」の4点。残りの仕様差は描画体験には大きく効かない。&lt;/p&gt;
&lt;p&gt;そのうえで、「机に据え置きで PC アプリをそのまま使う」なら液タブ、「予算と腕の負担」なら板タブ、「持ち運び」なら iPad、と用途で選ぶのが現実的。&lt;/p&gt;
&lt;p&gt;イラスト用モニターの選び方も別記事で整理しているので、ディスプレイ側の観点もあわせて検討するときに参考になる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;関連記事: &lt;a href=&quot;https://aulvem.com/blog/2021-03-17-iilustration-monitor/&quot;&gt;イラスト用モニターの選び方&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><category>reviews</category><category>monitor</category><category>illustration</category></item><item><title>イラスト用モニターの選び方 — 色域・パネル・サイズの3点だけ押さえる</title><link>https://aulvem.com/ja/blog/2021-03-17-iilustration-monitor/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-17-iilustration-monitor/</guid><description>イラスト制作用モニターの選び方を、色域（公開ならsRGB・印刷ならAdobe RGB）・パネル方式（IPS一択）・画面サイズ（22〜24インチ）・表面処理（非光沢）・VESA対応の5点に絞って整理。ゲーミング向けの高リフレッシュレートや4K HDRは不要という結論まで解説します。</description><pubDate>Wed, 17 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（選び方の観点）は今も有効だが、製品スペック・価格・ツールの UI は執筆当時（2021年）のまま。具体的な商品リンクは公開前に最新モデルへ差し替える。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ペンタブレットや液晶タブレットの価格が落ち着き、外付けモニターも合わせて整える人が増えた。とはいえ、家電量販店の棚にはゲーミングも 4K HDR も混ざっていて、どれがイラスト向けなのか分かりにくい。&lt;/p&gt;
&lt;p&gt;この記事は、イラスト制作用モニターを選ぶときに見るべき点を5つに絞ってまとめる。ゲーミングや写真現像のような尖った要件は外し、ペンタブ / 液タブと組み合わせて長時間描くための条件を中心にした。&lt;/p&gt;
&lt;h2 id=&quot;結論--見るべきは5点ゲーミングと-4k-hdr-は不要&quot;&gt;結論 — 見るべきは5点、ゲーミングと 4K HDR は不要&lt;/h2&gt;
&lt;p&gt;短い答え: イラスト用モニターは「色域 / パネル / サイズ / 表面 / VESA」の5点だけ押さえれば足りる。ゲーミング向けの高リフレッシュレートや HDR 対応は、イラスト制作では効かない。&lt;/p&gt;
&lt;p&gt;理由は、イラスト用途で効くのは「色の見え方」と「長時間見て疲れないか」の2軸だから。動きの滑らかさ（リフレッシュレート）やコントラスト（HDR）にコストを振っても、線画や塗りの品質は上がらない。&lt;/p&gt;
&lt;p&gt;確認する5点:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;色域&lt;/strong&gt;: どこに公開するかで変える（ネット中心 / 印刷込み）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;パネル方式&lt;/strong&gt;: IPS（または同等の ADS など）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;画面サイズ&lt;/strong&gt;: 22〜24インチ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;表面処理&lt;/strong&gt;: 非光沢（ノングレア）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VESA 対応&lt;/strong&gt;: モニターアームを使う / 将来使う可能性があるなら必須&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に言うと、この5点が揃っていれば「イラスト向け」をうたっていない汎用モニターでも問題なく使える。&lt;/p&gt;
&lt;h2 id=&quot;色域は誰に向けて描くかで決める&quot;&gt;色域は「誰に向けて描くか」で決める&lt;/h2&gt;
&lt;p&gt;短い答え: ネット公開中心なら &lt;strong&gt;sRGB 100%&lt;/strong&gt;、印刷を含めるなら &lt;strong&gt;Adobe RGB / NTSC 90% 前後&lt;/strong&gt; を目安にする。色域は高ければ高いほどいい、ではない。&lt;/p&gt;
&lt;p&gt;理由は、見る側のデバイス側の色域がバラバラだから。閲覧者のスマホやモニターが sRGB 相当なら、こちらが Adobe RGB で描いても伝わるのはおおむね sRGB の範囲に圧縮されたものになる。&lt;/p&gt;
&lt;h3 id=&quot;ネット公開中心なら-srgb-100&quot;&gt;ネット公開中心なら sRGB 100%&lt;/h3&gt;
&lt;p&gt;Web に出すイラスト・SNS 投稿・配信のサムネイルなどは、閲覧環境を sRGB と想定するのが現実的。製品スペックに「sRGB 100%」または記載なし（標準的な発色）と書かれていれば足りる。&lt;/p&gt;
&lt;h3 id=&quot;印刷同人誌グッズ制作を含めるなら-adobe-rgb--ntsc-90-前後&quot;&gt;印刷・同人誌・グッズ制作を含めるなら Adobe RGB / NTSC 90% 前後&lt;/h3&gt;
&lt;p&gt;印刷物は CMYK で再現されるが、入稿前のチェックで Adobe RGB に近い色域のモニターがあると差分の見当がつきやすい。スペック上「Adobe RGB カバー率 90% 前後」「NTSC 比 90% 前後」を目安にする。&lt;/p&gt;
&lt;h3 id=&quot;液タブを併用するなら役割を分ける&quot;&gt;液タブを併用するなら役割を分ける&lt;/h3&gt;
&lt;p&gt;液晶タブレットを使うなら、液タブ側に色再現の高いモデルを置き、デスクの外付けモニターは普及帯の sRGB モデルでよい、という分け方がコストと閲覧側の感覚の両方に合う。&lt;/p&gt;
&lt;h2 id=&quot;パネル方式は-ipsまたは同等の-ads&quot;&gt;パネル方式は IPS（または同等の ADS）&lt;/h2&gt;
&lt;p&gt;短い答え: イラスト用途では IPS パネルを選ぶ。視野角と色の安定性が、ペン作業の長時間視聴に向いている。&lt;/p&gt;
&lt;p&gt;理由は、TN パネル系は応答速度に振った設計で、上下方向に視点が動くと色が変わってしまうから。タブレットを膝に置く、ペンを持つ手を頬杖につく、などの姿勢で色がブレるとレタッチ判断が狂う。&lt;/p&gt;
&lt;p&gt;I-O DATA などが採用する「ADS」方式は IPS と同等の特性で、スペックシート上「ADS / IPS 系」と書かれていれば候補に入る。VA パネルはコントラスト重視で写真・動画向きで、線画のエッジ視認性では IPS のほうが扱いやすい。&lt;/p&gt;
&lt;h2 id=&quot;画面サイズは-2224インチ&quot;&gt;画面サイズは 22〜24インチ&lt;/h2&gt;
&lt;p&gt;短い答え: 22〜24インチが普及帯で、価格・設置性・作業領域のバランスがいい。&lt;/p&gt;
&lt;p&gt;理由は、27インチ以上になると視線移動が増えて目が疲れやすく、価格も一段上がる。一方で 21.5 インチ未満は作業領域が狭く、パレットやレイヤーパネルを置くと描画領域が圧迫される。&lt;/p&gt;
&lt;p&gt;サイズの実寸目安（16:9 想定）:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;23.8 インチ: 幅 約53cm / 高さ 約30cm&lt;/li&gt;
&lt;li&gt;21.5 インチ: 幅 約48cm / 高さ 約27cm&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;設置前に確認する点:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;デスク幅が &lt;strong&gt;モニター幅 + 5cm&lt;/strong&gt; 以上あるか（フチが厚い製品もあるため余裕を持つ）&lt;/li&gt;
&lt;li&gt;奥行きはスタンドのフット部分を含めて 20cm 以上あるか&lt;/li&gt;
&lt;li&gt;視距離 50〜70cm を確保できるか&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;表面処理は非光沢ノングレア&quot;&gt;表面処理は非光沢（ノングレア）&lt;/h2&gt;
&lt;p&gt;短い答え: 長時間描くなら非光沢を選ぶ。光沢は照明や自分の顔の映り込みが視界に入り、線の判別を妨げる。&lt;/p&gt;
&lt;p&gt;理由は、イラスト制作は同じ画面を数時間見続ける作業で、映り込みによる微小な視線移動が積み重なると疲労につながるため。&lt;/p&gt;
&lt;p&gt;光沢のメリットは発色の鮮やかさと黒の締まり。写真鑑賞や動画視聴には向くが、ペンタブ作業ではトレードオフが合わない。&lt;/p&gt;
&lt;h2 id=&quot;vesa-対応はモニターアームの前提条件&quot;&gt;VESA 対応はモニターアームの前提条件&lt;/h2&gt;
&lt;p&gt;短い答え: モニターアームを使う、または将来使う可能性があれば VESA マウント対応のモデルを選ぶ。VESA 非対応だと後付けのアーム化ができない。&lt;/p&gt;
&lt;p&gt;理由は、モニターアームの取り付け面は VESA という共通規格（100×100mm が一般的）に従っているため。非対応のスタンド一体型モデルだと、机の上のスペース確保や高さ調整の自由度が下がる。&lt;/p&gt;
&lt;p&gt;液タブを手前に置きたい構成では、外付けモニターをアームで浮かせるとデスクの奥行きが活きる。&lt;/p&gt;
&lt;h2 id=&quot;イラスト向け仕様-vs-一般用途モニターの違い&quot;&gt;イラスト向け仕様 vs 一般用途モニターの違い&lt;/h2&gt;
&lt;p&gt;イラスト制作で効く仕様と、汎用モニターでよくある仕様を並べておく。&lt;/p&gt;













































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;イラスト向け推奨&lt;/th&gt;&lt;th&gt;一般用途 / ゲーミングでの典型&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;色域&lt;/td&gt;&lt;td&gt;sRGB 100% 以上（印刷込みなら Adobe RGB 90%）&lt;/td&gt;&lt;td&gt;sRGB 95% 前後で十分&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;パネル方式&lt;/td&gt;&lt;td&gt;IPS / ADS&lt;/td&gt;&lt;td&gt;TN（ゲーミング）/ VA（汎用）も多い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;画面サイズ&lt;/td&gt;&lt;td&gt;22〜24インチ&lt;/td&gt;&lt;td&gt;24〜27インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;表面処理&lt;/td&gt;&lt;td&gt;非光沢&lt;/td&gt;&lt;td&gt;光沢も選択肢に入る&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;リフレッシュレート&lt;/td&gt;&lt;td&gt;60Hz で十分&lt;/td&gt;&lt;td&gt;144Hz 以上（ゲーミング）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;HDR&lt;/td&gt;&lt;td&gt;不要&lt;/td&gt;&lt;td&gt;動画・ゲームでは有効&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;VESA 対応&lt;/td&gt;&lt;td&gt;あると良い&lt;/td&gt;&lt;td&gt;モデルによる&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;候補モデル参考&quot;&gt;候補モデル（参考）&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時の参考モデル。後継機や同等価格帯の最新モデルを必ず確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;srgb-100-帯--philips-238-インチ&quot;&gt;sRGB 100% 帯 — PHILIPS 23.8 インチ&lt;/h3&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;大きさ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;23.8インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表示形式&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;IPS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;解像度&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;フル HD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表面&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;色域&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;sRGB 102%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;VESA&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;sRGB 102% / 23.8 インチ / IPS / 非光沢で、5点の条件を満たす。&lt;/p&gt;
&lt;h3 id=&quot;adobe-rgb--ntsc-90-帯--i-o-data-238-インチ&quot;&gt;Adobe RGB / NTSC 90% 帯 — I-O DATA 23.8 インチ&lt;/h3&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:center&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;大きさ&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;23.8インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表示形式&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;ADS（IPS 系）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;解像度&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;フル HD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表面&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;色域&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;Adobe RGB 90%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;VESA&lt;/td&gt;&lt;td style=&quot;text-align:center&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Adobe RGB 90% / 23.8 インチ / ADS / 非光沢。印刷を視野に入れるならこちら。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. 4K モニターはイラスト制作で必要ですか？&lt;/strong&gt;
A. 必須ではない。フル HD で描く絵を 4K で表示しても解像度は変わらず、UI が小さくなる分の拡大調整が要る。4K の恩恵が大きいのは写真現像や動画編集寄りの作業で、ペンタブ中心ならフル HD で過不足ない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. カラーキャリブレーターは買ったほうがいいですか？&lt;/strong&gt;
A. 印刷物の入稿や商業案件を継続して扱うなら導入候補に入る。趣味〜SNS 公開中心であれば、まずは sRGB 100% のモニターを工場出荷時設定で使い、必要を感じたタイミングで検討すれば足りる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ゲーミングモニターをイラストにも使えますか？&lt;/strong&gt;
A. パネルが IPS で非光沢、色域が sRGB 100% 前後であれば兼用できる。ただしリフレッシュレートや応答速度の高さは制作品質には効かないため、その分の価格上乗せをどう見るかという話になる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ノート PC の内蔵ディスプレイで描くのは無理がありますか？&lt;/strong&gt;
A. 始めるだけなら問題ない。ただしモバイル機の標準パネルは色域が狭く（sRGB 60〜70% 帯のモデルもある）、長期的には外付けの sRGB 100% モニターを足したほうが色判断のブレが減る。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;イラスト用モニターは、5点を見る:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;色域は公開先で決める（ネットなら sRGB 100% / 印刷込みなら Adobe RGB 90% 前後）&lt;/li&gt;
&lt;li&gt;パネルは IPS / ADS&lt;/li&gt;
&lt;li&gt;サイズは 22〜24 インチ&lt;/li&gt;
&lt;li&gt;表面は非光沢&lt;/li&gt;
&lt;li&gt;VESA 対応&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ゲーミング向けの 144Hz や HDR、4K の解像度は、イラスト制作の品質にはほぼ寄与しない。価格を抑えたければ、これらを外した普及帯モデルから選べば十分。&lt;/p&gt;
&lt;p&gt;液タブを使う場合は、液タブ側に色再現の高いモデルを置き、外付けモニターは閲覧側の感覚に寄せる、という分担にすると無駄が少ない。&lt;/p&gt;
</content:encoded><category>reviews</category><category>monitor</category></item><item><title>PC モニターの選び方 — 失敗しない3点と、お好みで1点</title><link>https://aulvem.com/ja/blog/2021-03-15-choose-monitor/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-15-choose-monitor/</guid><description>リモートワークで PC モニターを買い足す人が増えた。価格と性能の幅が広く迷いやすいが、長時間のオフィス用途なら判断は3点に絞れる。表示方式・サイズ・表面処理だけ押さえれば、ハズレは避けられる。</description><pubDate>Mon, 15 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。骨子（選び方の3点）は今も有効だが、製品リンクと相場感は執筆当時（2021年）の情報。価格・型番は最新を確認のうえ差し替えること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;リモートワークが定着して、自宅に PC モニターを買い足す人が増えた。家電量販店に並ぶ製品は1万円台から10万円超まで幅があり、何を基準に選べばいいか分かりにくい。&lt;/p&gt;
&lt;p&gt;オフィス用途で長時間使うだけなら、判断軸は3点に絞れる。表示方式・サイズ・表面処理。スピーカー内蔵は「お好み」枠で、基本的には不要だ。&lt;/p&gt;
&lt;h2 id=&quot;結論--押さえるのは3点お好みで1点&quot;&gt;結論 — 押さえるのは3点、お好みで+1点&lt;/h2&gt;
&lt;p&gt;短い答え: メーカーや細かいスペックを比較しなくても、以下の3点だけ満たしていれば、オフィス用途で困るモニターはほぼ買わずに済む。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;表示方式&lt;/strong&gt;: IPS（仕上がり重視）か VA（価格重視）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;サイズ&lt;/strong&gt;: 22〜24インチ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;表面処理&lt;/strong&gt;: 非光沢（ノングレア）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;お好みで足すのが &lt;strong&gt;スピーカー内蔵の有無&lt;/strong&gt;。配線をひとつでも減らしたいならアリ、音質を求めるなら別買いのほうが現実的。&lt;/p&gt;
&lt;p&gt;メーカーは特に気にしなくていい。最近は各社の品質差が縮まっており、初期不良対応さえできれば実害は少ない。&lt;/p&gt;
&lt;h2 id=&quot;表示方式は予算で決める--va-か-ips&quot;&gt;表示方式は予算で決める — VA か IPS&lt;/h2&gt;
&lt;p&gt;短い答え: 価格優先なら VA、見え方を優先するなら IPS。この2つで選んでおけば、オフィス用途の表示方式選びは終わる。&lt;/p&gt;
&lt;p&gt;理由は、見え方の差の大半が表示方式（パネル種別）で決まるから。応答速度や色域などの細かい数値は、ゲームや写真編集をしないなら体感差が出にくい。&lt;/p&gt;
&lt;p&gt;価格差はおおむね VA → IPS で1〜2万円ほど。失敗を避けたいなら IPS を選んでおくと安全寄りに倒れる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;モニターの表示形式（VA / IPS）の比較イメージ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-15-choose-monitor/2021-03-15-Monitor-display-format.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;va--安く黒が締まる&quot;&gt;VA — 安く、黒が締まる&lt;/h3&gt;
&lt;p&gt;VA は同サイズ帯で最安クラスが多い。黒の表現は強く、暗いシーンを多く扱う動画視聴と相性がよい。&lt;/p&gt;
&lt;p&gt;弱点は視野角。正面から外れると色が薄く見えるので、テレビ用途や複数人で覗き込む場面には向かない。1人で正面に座って使う想定なら気にならない。&lt;/p&gt;
&lt;h3 id=&quot;ips--色がきれい視野角が広い&quot;&gt;IPS — 色がきれい、視野角が広い&lt;/h3&gt;
&lt;p&gt;IPS は色の見え方が安定する。横から見ても色が崩れにくいので、複数人での確認や、デスクのレイアウト上モニターを斜めから見る配置でも扱いやすい。&lt;/p&gt;
&lt;p&gt;価格は VA より1〜2万円ほど上がる。仕事で長時間向き合うなら、ここに払う価値は感じやすい。&lt;/p&gt;
&lt;h3 id=&quot;va-と-ips-の比較&quot;&gt;VA と IPS の比較&lt;/h3&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;VA&lt;/th&gt;&lt;th&gt;IPS&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;価格&lt;/td&gt;&lt;td&gt;安い&lt;/td&gt;&lt;td&gt;やや高い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;黒の表現&lt;/td&gt;&lt;td&gt;締まる&lt;/td&gt;&lt;td&gt;普通&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;視野角&lt;/td&gt;&lt;td&gt;狭い（正面向け）&lt;/td&gt;&lt;td&gt;広い&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;色の安定&lt;/td&gt;&lt;td&gt;やや崩れる&lt;/td&gt;&lt;td&gt;安定&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;向く用途&lt;/td&gt;&lt;td&gt;1人で正面、価格優先&lt;/td&gt;&lt;td&gt;仕事、複数人、レイアウト自由度&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;サイズは2224インチ--オフィス用途のスイートスポット&quot;&gt;サイズは22〜24インチ — オフィス用途のスイートスポット&lt;/h2&gt;
&lt;p&gt;短い答え: 22〜24インチが、机に置きやすく文字も読みやすい範囲。これより小さいと作業がきつく、大きいと机を圧迫する。&lt;/p&gt;
&lt;p&gt;理由は、22〜24インチが幅およそ49〜53cm、高さ27〜30cmに収まり、一般的な PC デスクの奥行きと相性がよいから。オフィスや学校で広く採用されているのもこのレンジだ。&lt;/p&gt;
&lt;p&gt;机に置く前に、設置幅 +5cm 程度の余裕で寸法を確認しておくと安心。最近のモデルはフチが薄いが、古いモデルや業務用にはフチの厚いものもあるので、商品ページの実寸表記を必ず見る。&lt;/p&gt;
&lt;h3 id=&quot;もっと大きいほうがいいは別問題&quot;&gt;「もっと大きいほうがいい」は別問題&lt;/h3&gt;
&lt;p&gt;27インチ以上は表示領域が広く魅力的に見える。ただし距離が近いと視線移動が増えてかえって疲れる。机の奥行きが60cm未満なら、まずは24インチで様子を見るのが無難。&lt;/p&gt;
&lt;h2 id=&quot;表面処理は非光沢ノングレア&quot;&gt;表面処理は非光沢（ノングレア）&lt;/h2&gt;
&lt;p&gt;短い答え: オフィス用途なら非光沢一択。光沢は照明や窓の映り込みが出て、長時間使うと目が疲れやすい。&lt;/p&gt;
&lt;p&gt;理由は、光沢面が周囲の光を反射するため、輝度を上げる必要が出てくるから。輝度を上げると目への負担も増える。スマートフォンが光沢なのは、屋外で短時間使う前提だからで、デスクで長時間向き合うモニターとは前提が違う。&lt;/p&gt;
&lt;p&gt;写真や動画の最終チェックを自宅で行う、といった用途でなければ、非光沢を選んでおいて困らない。&lt;/p&gt;
&lt;h2 id=&quot;スピーカー内蔵は基本いらない&quot;&gt;スピーカー内蔵は基本いらない&lt;/h2&gt;
&lt;p&gt;短い答え: モニター内蔵スピーカーは音質が中途半端になりがち。ノート PC や外付けスピーカーで出したほうが満足度は高い。&lt;/p&gt;
&lt;p&gt;理由は、内蔵スピーカーは筐体の厚みに制約があり、価格帯を抑えた製品では音作りに余裕がないから。会議の声出しなど「聞こえればいい」用途ならアリだが、音楽や動画を腰を据えて聞く用途には弱い。&lt;/p&gt;
&lt;h3 id=&quot;内蔵が向く人--向かない人&quot;&gt;内蔵が向く人 / 向かない人&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;配線を1本でも減らしたい、会議用に音が出ればいい → 内蔵アリで OK&lt;/li&gt;
&lt;li&gt;音楽・動画を日常的に聞く、音にこだわりたい → 内蔵なしを選び、別途スピーカーを買う&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;数千円帯の USB / Bluetooth スピーカーでも内蔵を上回ることが多い。&lt;/p&gt;
&lt;h2 id=&quot;条件を満たすモデルのスペック例&quot;&gt;条件を満たすモデルのスペック例&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は具体的な製品名ではなく「この条件を満たすモデルを選ぶ」という指標。価格や型番は購入時に最新を確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;ips--23インチクラス&quot;&gt;IPS — 23インチクラス&lt;/h3&gt;
&lt;p&gt;23インチ・IPS・非光沢を満たすエントリー帯の狙いどころ。価格を抑えつつ仕上がりを取りたいなら、このスペックを基準にする。&lt;/p&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;サイズ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;23インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表示方式&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;IPS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;解像度&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;フル HD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表面&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;スピーカー&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;なし&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;VESA マウント&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;非対応&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;VESA 非対応なのでモニターアームを使う予定があるなら別モデルを検討する。&lt;/p&gt;
&lt;h3 id=&quot;va--236インチクラス&quot;&gt;VA — 23.6インチクラス&lt;/h3&gt;
&lt;p&gt;23.6インチ・VA・非光沢で、VESA 対応のスペック。価格を抑えたい、将来モニターアームを導入する余地を残したい場合の狙いどころ。&lt;/p&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align:left&quot;&gt;項目&lt;/th&gt;&lt;th style=&quot;text-align:left&quot;&gt;スペック&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;サイズ&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;23.6インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表示方式&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;VA&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;解像度&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;フル HD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;表面&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;非光沢&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;スピーカー&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;なし&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;text-align:left&quot;&gt;VESA マウント&lt;/td&gt;&lt;td style=&quot;text-align:left&quot;&gt;対応&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. フル HD と 4K、どちらを選ぶべきですか？&lt;/strong&gt;
A. オフィス用途・23〜24インチならフル HD で十分。4K はサイズが27インチ以上で生きるが、表示スケーリングや GPU 性能の制約が出る場合がある。最初の1枚はフル HD が無難。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 曲面モニターは仕事に向きますか？&lt;/strong&gt;
A. 1人で正面に座って広い表示領域を確保したい、複数ウィンドウを横並びにしたい場合は有効。文字中心のオフィス用途では恩恵が小さく、価格も上がる。最初の1枚としては平面で十分。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ノート PC につなぐとき、注意点はありますか？&lt;/strong&gt;
A. ノート PC 側の映像出力端子（HDMI / DisplayPort / USB-C のどれか）と、モニター側の入力端子を必ず一致させる。USB-C 1本で給電と映像をまかなえるモデルなら配線が減って快適。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. モニターアームは必要ですか？&lt;/strong&gt;
A. 必須ではないが、机の奥行きが浅い・高さ調整したい場合は効果が大きい。導入する可能性があるなら、購入時点で VESA 対応モデルを選んでおく。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;オフィス用途の PC モニターは、表示方式・サイズ・表面処理の3点で選べば困らない。&lt;/p&gt;
&lt;p&gt;価格優先なら VA、仕上がり優先なら IPS。サイズは22〜24インチ、表面は非光沢。スピーカー内蔵は基本不要で、必要なら別買いのほうが満足度が高い。&lt;/p&gt;
&lt;p&gt;画質に強くこだわる人や、ゲームで応答速度を詰めたい人には別の選び方がある。それ以外なら、この3点で十分にハズレは避けられる。&lt;/p&gt;
</content:encoded><category>reviews</category><category>monitor</category></item><item><title>VuePress でブログを公開するまでのロードマップ — 2021 年の手順と 2026 年に転用できる考え方</title><link>https://aulvem.com/ja/blog/2021-03-14-vuepress-blog-roadmap/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-14-vuepress-blog-roadmap/</guid><description>2021 年に VuePress 1.x + GitHub + Netlify + お名前.com でブログを公開した時の全体ロードマップ。ローカル開発 → リポジトリ → ホスティング → 独自ドメインの 4 段を、現在の Astro / Cloudflare Pages 時代にも転用できる単位で整理した。</description><pubDate>Sun, 14 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。手順 UI のスクリーンショットは 2021 年当時のもので、Netlify / お名前.com の画面は現行 UI と差分がある。VuePress 1.x 自体は新規構築に向かないため、本文は「2021 年の構築記録 + 4 段ロードマップとして転用できる骨子」という二重構成で書き直してある。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2021 年当時、Aulvem の前身ブログは VuePress 1.x で組み、GitHub にソースを置いて Netlify でビルド・配信し、お名前.com で取った独自ドメインを当てていた。よくある「無料でブログを公開する」記事を読みながら手を動かしたが、どこで何をやっているのかの全体像が見えるまでに時間がかかった。&lt;/p&gt;
&lt;p&gt;この記事は、当時の自分が最初に欲しかった「全体ロードマップ + ステップ別の責務」をまず提示する。VuePress 1.x はもう新規採用の選択肢ではないが、ロードマップ自体は Astro + Cloudflare Pages の組み合わせにそのまま転用できる。&lt;/p&gt;
&lt;p&gt;VuePress のディレクトリ構成そのものについては別記事に分けてある（&lt;a href=&quot;https://aulvem.com/blog/2021-03-01-vuepress-structure/&quot;&gt;VuePress/blog のディレクトリ構成 — 2021 年の構築メモ&lt;/a&gt;）。ここでは「個別ファイルの中身」ではなく「サイト全体を公開状態に持っていくまでの段取り」に絞る。&lt;/p&gt;
&lt;h2 id=&quot;短い答え--4-段ロードマップに分けて-1-段ずつ片付ける&quot;&gt;短い答え — 4 段ロードマップに分けて 1 段ずつ片付ける&lt;/h2&gt;
&lt;p&gt;短い答え: VuePress ブログを独自ドメインで公開するまでは、(1) ローカル開発 → (2) GitHub にソースを置く → (3) Netlify が自動ビルドして配信 → (4) お名前.com のネームサーバーを Netlify に委任、の 4 段に分けて 1 段ずつ片付けるのが一番早い。&lt;/p&gt;
&lt;p&gt;理由は責務の分離。1 つのサービスにまとめると「どこで失敗したか」が分かりづらくなる。書く・保管する・ビルドする・公開する、を別レイヤーに置くと、トラブル時の切り分けがしやすい。&lt;/p&gt;
&lt;p&gt;全体図にするとこうなる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;[ローカル PC]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │ git push&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;[GitHub] ──── ソースの正本&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │ webhook&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;[Netlify] ──── ビルド &amp;amp; 静的配信（xxx.netlify.app）&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │ DNS (ネームサーバー委任)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;[お名前.com のドメイン]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │ 独自ドメインで公開&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;[読者]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意点: この 4 段は VuePress 固有ではない。Astro でも Hugo でも、Markdown を静的 HTML に変換して配信するタイプの SSG なら同じ並びになる。VuePress 部分は (1) と (3) のビルド命令にしか出てこない。&lt;/p&gt;
&lt;h2 id=&quot;用語-ssg-と-jamstack--このロードマップが成り立つ前提&quot;&gt;用語: SSG と Jamstack — このロードマップが成り立つ前提&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;SSG（Static Site Generator）&lt;/strong&gt;: Markdown や JSON をビルド時に静的 HTML に変換するツールの総称。VuePress / Astro / Next.js (output:static) / Hugo / Jekyll などが該当する。リクエスト時にサーバーで動的に組み立てる WordPress 等の CMS と対になる概念。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Jamstack&lt;/strong&gt;: JavaScript / API / Markup（プリビルドされた静的ファイル）の頭文字。SSG で作った HTML を CDN に置き、必要な動的処理だけ外部 API で補う構成のことを指す。Netlify はこの Jamstack を前提に設計されたホスティング。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;このロードマップが成り立つのは、出力物が「単なる静的ファイル」だからこそ。GitHub にソースだけ置けば Netlify がビルドし直して CDN に撒く、というシンプルさが Jamstack 側の前提に支えられている。&lt;/p&gt;
&lt;h2 id=&quot;ステップ-1--ローカルで-vuepress-プロジェクトを開発執筆する&quot;&gt;ステップ 1 — ローカルで VuePress プロジェクトを開発・執筆する&lt;/h2&gt;
&lt;p&gt;短い答え: ローカルで VuePress プロジェクトを開発・執筆するフェーズでは、&lt;code&gt;vuepress dev src&lt;/code&gt; でホットリロードしながら Markdown と Vue コンポーネントを書く。&lt;/p&gt;
&lt;p&gt;理由は反復速度。デプロイ後に直すより、ローカルで完結する方が一桁速い。ビルド時間も短いので、書きながら整える運用が現実的だった。&lt;/p&gt;
&lt;p&gt;具体的には次の構成で開発した。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├─ _posts                   各記事 Markdown&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  └─ category&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│     └─ page.md&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ components            記事用コンポーネント vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ public                画像・robots.txt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ theme                 layouts / components / styles&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ config.js             VuePress 本体の設定&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ enhanceApp.js         Vue プラグインの差し込み口&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;_posts/&lt;/code&gt; が記事、&lt;code&gt;.vuepress/&lt;/code&gt; がフレームワーク設定とテーマ、という二分割。詳細は&lt;a href=&quot;https://aulvem.com/blog/2021-03-01-vuepress-structure/&quot;&gt;VuePress/blog のディレクトリ構成&lt;/a&gt;に書いた。&lt;/p&gt;
&lt;p&gt;注意点: 開発中は &lt;code&gt;vuepress dev src --host 0.0.0.0 --port 8080&lt;/code&gt; で LAN 内の別端末から開いてスマホ表示を確認できる。Markdown の見た目はデスクトップだけ見ていると詰めが甘くなりやすい。&lt;/p&gt;
&lt;h2 id=&quot;ステップ-2--github-にリポジトリを作りソースをプッシュする&quot;&gt;ステップ 2 — GitHub にリポジトリを作りソースをプッシュする&lt;/h2&gt;
&lt;p&gt;短い答え: GitHub にリポジトリを作りソースをプッシュするフェーズでは、空のリポジトリを作り、ローカルから &lt;code&gt;git remote add&lt;/code&gt; → &lt;code&gt;git push -u origin main&lt;/code&gt; でソースだけを上げる。&lt;/p&gt;
&lt;p&gt;理由はソースとビルド成果物の分離。&lt;code&gt;dist/&lt;/code&gt; や &lt;code&gt;node_modules/&lt;/code&gt; を Git に乗せると履歴が肥大化して、Netlify 側で再ビルドする意味も薄れる。&lt;/p&gt;
&lt;p&gt;具体的には &lt;code&gt;.gitignore&lt;/code&gt; で以下を除外していた。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;node_modules/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src/.vuepress/dist/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src/.vuepress/.cache/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src/.vuepress/.temp/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;.env&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;.env.local&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ビルド成果物は Netlify が毎回作り直すので、リポジトリには &lt;code&gt;src/&lt;/code&gt; と &lt;code&gt;package.json&lt;/code&gt; / &lt;code&gt;package-lock.json&lt;/code&gt; だけ入っていれば足りる。&lt;/p&gt;
&lt;p&gt;注意点: 公開リポジトリにする場合、API キーやアクセストークンを誤コミットしないこと。当時は GitHub Secrets と Netlify の環境変数のどちらに置くかで迷ったが、結論「ビルド時にしか使わない値は Netlify 側、ランタイムから漏れる前提なら持たない」のが安全。&lt;/p&gt;
&lt;h2 id=&quot;ステップ-3--netlify-にリポジトリを接続して自動ビルドさせる&quot;&gt;ステップ 3 — Netlify にリポジトリを接続して自動ビルドさせる&lt;/h2&gt;
&lt;p&gt;短い答え: Netlify にリポジトリを接続して自動ビルドさせるフェーズでは、Netlify の Add new site → Import an existing project で GitHub リポジトリを選び、ビルドコマンドと公開ディレクトリを指定する。&lt;/p&gt;
&lt;p&gt;理由は webhook 駆動の自動化。GitHub への &lt;code&gt;git push&lt;/code&gt; を Netlify が検知して、毎回最新ソースから &lt;code&gt;vuepress build&lt;/code&gt; を回し直してくれる。手で &lt;code&gt;npm run build&lt;/code&gt; → サーバーへ FTP、という昔ながらの流れがまるごと消える。&lt;/p&gt;
&lt;p&gt;具体的な設定は以下だった。&lt;/p&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;項目&lt;/th&gt;&lt;th&gt;値&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Branch to deploy&lt;/td&gt;&lt;td&gt;&lt;code&gt;main&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Build command&lt;/td&gt;&lt;td&gt;&lt;code&gt;vuepress build src&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Publish directory&lt;/td&gt;&lt;td&gt;&lt;code&gt;src/.vuepress/dist&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Node.js version&lt;/td&gt;&lt;td&gt;14 系（環境変数 &lt;code&gt;NODE_VERSION&lt;/code&gt; で固定）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Netlify ログイン後の流れは、ざっくり以下のとおり（UI は 2021 年当時のもの）。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify のログイン画面（2021 年当時）。GitHub アカウントでサインインするボタンが中央に並ぶ。&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-06-netlify-setup/2021-03-06-Netlify-login.webp&quot; class=&quot;page-small-img&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;リポジトリ選択後、ビルド設定で &lt;code&gt;vuepress build src&lt;/code&gt; と &lt;code&gt;src/.vuepress/dist&lt;/code&gt; を入力するとデプロイが走る。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify のビルド設定画面。Build command と Publish directory を入力する欄が表示されている。&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-06-netlify-setup/2021-03-06-Netlify-repository-setting.webp&quot; class=&quot;page-small-img&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;注意点: 初回ビルドは Node のバージョン違いで落ちることが多い。&lt;code&gt;NODE_VERSION&lt;/code&gt; 環境変数を &lt;code&gt;14&lt;/code&gt; のように固定するか、リポジトリ直下に &lt;code&gt;.nvmrc&lt;/code&gt; を置いておくと事故が減る。詳しい手順は&lt;a href=&quot;https://aulvem.com/blog/2021-03-06-netlify-setup/&quot;&gt;VuePress / 静的サイトを Netlify にデプロイする&lt;/a&gt;に分けている。&lt;/p&gt;
&lt;h2 id=&quot;ステップ-4--お名前com-で独自ドメインを取得する&quot;&gt;ステップ 4 — お名前.com で独自ドメインを取得する&lt;/h2&gt;
&lt;p&gt;短い答え: お名前.com で独自ドメインを取得するフェーズでは、希望のドメイン名を検索 → サーバー契約は「利用しない」を選択 → 決済する、までで完結する。サーバーを同時契約する必要はない。&lt;/p&gt;
&lt;p&gt;理由は責務分離。お名前.com の役割は「ドメインの所有」だけで、ホスティングは Netlify が担う。サーバー契約までセットで案内されがちだが、Jamstack 構成では不要。&lt;/p&gt;
&lt;p&gt;実画面はこうなっていた。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;お名前.com のトップで希望ドメイン名を入力する検索フォーム。&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-onamae-search.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;サーバー選択欄では「利用しない」を選んで進む。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;お名前.com のサーバー選択画面。「利用しない」を選択している状態。&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-onamae-server-selection.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;注意点: Whois 情報公開代行は無料の範囲で必ず有効化する。個人情報がそのまま Whois に載るのを避けるため。更新料はドメインによって新規登録料より高くなる場合があるので、長期運用前提なら .com / .net など標準的な TLD の方が後で読みやすい。&lt;/p&gt;
&lt;h2 id=&quot;ステップ-5--netlify-と-お名前com-をネームサーバー委任でつなぐ&quot;&gt;ステップ 5 — Netlify と お名前.com をネームサーバー委任でつなぐ&lt;/h2&gt;
&lt;p&gt;短い答え: Netlify と お名前.com をネームサーバー委任でつなぐフェーズでは、Netlify 側で Add custom domain → Set up Netlify DNS を実行し、表示された 4 つのネームサーバーを お名前.com Navi の「ネームサーバー変更」に貼り付ける。&lt;/p&gt;
&lt;p&gt;理由は DNS の管理を Netlify に寄せるため。ネームサーバーを委任すると A / CNAME レコードや SSL 証明書（Let’s Encrypt）の発行を Netlify が肩代わりしてくれる。お名前.com 側で自分でレコードを書く必要がなくなる。&lt;/p&gt;
&lt;p&gt;Netlify の overview から Domain settings を開く。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify のサイト overview 画面。中央付近に Domain settings へのリンクが表示されている。&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-Netlify-overview.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;Add custom domain を進めると、最終的に 4 つのネームサーバーが表示される。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify が割り当てたネームサーバー 4 つの一覧画面（dnsX.pXX.nsone.net 形式）。&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-Netlify-custom-domains.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;お名前.com Navi にログインし、対象ドメインの「ネームサーバーの変更」で「その他のネームサーバーを使う」を選び、控えた 4 つを貼り付ける。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;お名前.com Navi のネームサーバー変更画面。Netlify の 4 つのネームサーバーを入力欄に貼り付けた状態。&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-Onamae-name-server.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;反映は数分〜最大 48 時間。半日経って独自ドメインで開けない場合、別ネットワーク（モバイル回線など）からアクセスして DNS キャッシュの影響かどうかを切り分ける。詳しい注意点は&lt;a href=&quot;https://aulvem.com/blog/2021-03-08-netlify-onamae/&quot;&gt;Netlify に お名前.com の独自ドメインをつなぐ&lt;/a&gt;に分けて書いた。&lt;/p&gt;
&lt;p&gt;注意点: ネームサーバー委任後は、お名前.com 側の DNS レコード設定画面はもう触らない。Netlify DNS が正本になるので、サブドメインの追加やメール用 MX レコードもすべて Netlify の DNS Records UI から行う。&lt;/p&gt;
&lt;h2 id=&quot;比較表--2021-年の-vuepress-構成と-2026-年の-astro-構成&quot;&gt;比較表 — 2021 年の VuePress 構成と 2026 年の Astro 構成&lt;/h2&gt;
&lt;p&gt;ロードマップ自体は変わらないが、各レイヤーで選ぶ道具は 5 年で入れ替わった。Aulvem 自身も VuePress から Astro に移行している。&lt;/p&gt;


















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;レイヤー&lt;/th&gt;&lt;th&gt;2021 年: VuePress 構成&lt;/th&gt;&lt;th&gt;2026 年: Astro 構成（Aulvem 現行）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;ローカル開発&lt;/td&gt;&lt;td&gt;VuePress 1.x + Node 14 系&lt;/td&gt;&lt;td&gt;Astro 5 + Node 20 系&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;記事の型&lt;/td&gt;&lt;td&gt;frontmatter（型なし）&lt;/td&gt;&lt;td&gt;content collections + zod スキーマ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Git ホスティング&lt;/td&gt;&lt;td&gt;GitHub&lt;/td&gt;&lt;td&gt;GitHub&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CI / ビルド &amp;amp; 配信&lt;/td&gt;&lt;td&gt;Netlify&lt;/td&gt;&lt;td&gt;Cloudflare Pages&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ドメインレジストラ&lt;/td&gt;&lt;td&gt;お名前.com&lt;/td&gt;&lt;td&gt;お名前.com or Cloudflare Registrar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DNS 管理&lt;/td&gt;&lt;td&gt;Netlify DNS&lt;/td&gt;&lt;td&gt;Cloudflare DNS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SSL 証明書&lt;/td&gt;&lt;td&gt;Let’s Encrypt（Netlify 自動発行）&lt;/td&gt;&lt;td&gt;Cloudflare 自動発行&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;画像配信&lt;/td&gt;&lt;td&gt;Netlify からそのまま&lt;/td&gt;&lt;td&gt;Cloudflare R2 + 画像最適化&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;ここで言いたいのは新しい方が「優れている」ではなく、4 段のロードマップは変わらず、各段の実装だけ差し替えていけばよい、ということ。VuePress から Astro への移行も、レイヤーごとに区切って 1 つずつ置き換える形で進めた。&lt;/p&gt;
&lt;p&gt;注意点: Netlify は 2026 年でも有効な選択肢で、Forms / Identity / Edge Functions など独自機能を使う前提なら今も第一候補になる。Cloudflare Pages との優劣はユースケース次第。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. VuePress 1.x で今からブログを始める意味はあるか？&lt;/strong&gt;
A. 新規ブログの第一候補としては勧めない。VuePress 1.x はメンテが実質止まっており、依存パッケージの脆弱性対応も期待しづらい。Markdown 中心の静的ブログなら Astro + content collections や VitePress の方が学習コストに見合う。Vue を維持したい個人的な理由がある場合のみ、VitePress を候補に入れる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. GitHub と Netlify を分ける必要は本当にあるか？&lt;/strong&gt;
A. 原則ある。GitHub は「ソースの正本」、Netlify は「ビルド済み HTML の配信」と責務が違うため、片方が落ちてももう片方が残る。GitHub Pages や Cloudflare Pages のように両方を兼ねるサービスもあり、その場合は一元化してもよい。ただし Pages 系は CI のカスタマイズに制約があるので、ビルド工程を細かく組みたい場合は分けたほうが楽。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ドメイン取得を後回しにしても公開はできるか？&lt;/strong&gt;
A. できる。Netlify は無料で &lt;code&gt;xxx.netlify.app&lt;/code&gt; のサブドメインを発行するので、独自ドメインを買う前にビルドと内容の確認まで進められる。実装上、ドメイン接続は最後に切り替えるのが安全。先にドメインを買って待ち時間が長くなるより、サイトが動くことを確認してから DNS をいじる方が事故が少ない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 2026 年に同じ構成を組むなら何に置き換える？&lt;/strong&gt;
A. VuePress → Astro、Netlify → Cloudflare Pages、お名前.com → そのまま（または Cloudflare Registrar）が個人的な置き換え案。ロードマップの 4 段（ローカル開発 → Git ホスティング → ビルド &amp;amp; 配信 → DNS 接続）はそのまま流用できる。逆に言うと、この 4 段を意識せずにサービス名だけ覚えても、別のサービスに移るときに毎回最初からやり直すことになる。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;VuePress でブログを独自ドメインで公開するまでは、書く場所・置く場所・ビルドする場所・配信する場所を別々のレイヤーに分けて、1 つずつ片付けるのが結局いちばん早かった。&lt;/p&gt;
&lt;p&gt;2026 年現在、VuePress 1.x のままで新規構築する人は多くないと思う。それでも、ローカル → GitHub → ビルド &amp;amp; 配信 → DNS という 4 段の責務分割は、Astro + Cloudflare Pages の今でも同じ形で生きている。具体的なコマンドや UI のスクリーンショットは古くなっても、骨子は転用できるという例として残しておく。&lt;/p&gt;
&lt;p&gt;関連: &lt;a href=&quot;https://aulvem.com/blog/2021-03-01-vuepress-structure/&quot;&gt;VuePress/blog のディレクトリ構成 — 2021 年の構築メモ&lt;/a&gt; ／ &lt;a href=&quot;https://aulvem.com/blog/2021-03-08-netlify-onamae/&quot;&gt;Netlify に お名前.com の独自ドメインをつなぐ&lt;/a&gt; ／ &lt;a href=&quot;https://aulvem.com/blog/2021-03-06-netlify-setup/&quot;&gt;VuePress / 静的サイトを Netlify にデプロイする&lt;/a&gt;&lt;/p&gt;
</content:encoded><category>build</category><category>VuePress</category><category>Netlify</category><category>GitHub</category><category>domain</category></item><item><title>ブログ用のノートパソコンの選び方 — 5万円台で十分、外で書くなら重さとバッテリーで決まる</title><link>https://aulvem.com/ja/blog/2021-03-13-blog-pc/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-13-blog-pc/</guid><description>ブログを始めるためのノートパソコン選びを「家で書くか／外で書くか」を軸に整理。直近5年のモデルなら性能は十分で、外で書くなら重量1.5kg以下・バッテリー12時間以上が目安です。キーボードの日本語配列と画面サイズも含め、外せない3点を解説します。</description><pubDate>Sat, 13 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。執筆当時（2021年）の機種選びをベースにしているため、具体的な商品リンクは確認のうえ最新モデルへ差し替えること。骨子（選び方の観点）は今も有効。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ブログを始めようとすると最初に困るのが「どんなパソコンを買えばいいか」。スマホだけで書くのはしんどいし、会社支給機を私用に使うのもまずい。&lt;/p&gt;
&lt;p&gt;この記事は、ブログ専用のノートパソコン選びを「家で書くか / 外で書くか」を軸にまとめる。読み終える頃には、自分が選ぶべき1台の輪郭が見えているはず。&lt;/p&gt;
&lt;h2 id=&quot;結論--直近5年のモデルなら基本どれでもokただし3点だけ確認&quot;&gt;結論 — 直近5年のモデルなら基本どれでもOK、ただし3点だけ確認&lt;/h2&gt;
&lt;p&gt;短い答え: ブログ用途なら高性能 CPU や大容量メモリは要らない。直近5年（2021年から見て）に発売されたノートパソコンなら、ライティング用途では性能は十分。&lt;/p&gt;
&lt;p&gt;ただし以下の3点だけは購入前に確認する:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;書く場所&lt;/strong&gt;: 家中心か、外でも書くか — 重さとバッテリーの要件が変わる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;キーボード配列&lt;/strong&gt;: 日本語（JIS）配列か — 英語配列だと全角半角切り替えが面倒&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;画面サイズ&lt;/strong&gt;: 14インチ以上 — 12インチ未満は長文ライティングがつらい&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に言うと、この3点が満たされていれば&lt;strong&gt;5万円台のエントリーノート PC で十分&lt;/strong&gt;にブログは書ける。&lt;/p&gt;
&lt;h2 id=&quot;書く場所で求める性能が大きく変わる&quot;&gt;書く場所で求める性能が大きく変わる&lt;/h2&gt;
&lt;p&gt;短い答え: 家で書くか、外で書くか。これが PC 選びを9割決める。&lt;/p&gt;
&lt;p&gt;理由は、外で持ち運ぶなら重量とバッテリーの2点が制約になり、コストが跳ね上がるから。家中心なら制約が緩く、同じ予算で性能のいい機種が買える。&lt;/p&gt;
&lt;h3 id=&quot;家で書く-重さバッテリー無視で-ok&quot;&gt;家で書く: 重さ・バッテリー無視で OK&lt;/h3&gt;
&lt;p&gt;家中心なら、重量とバッテリーは気にしなくていい。&lt;/p&gt;
&lt;p&gt;その分、画面サイズと CPU 性能にコストを振れる。15インチクラス / Core i3〜i5 で5〜7万円台が現実的なラインに収まる。&lt;/p&gt;
&lt;h3 id=&quot;外で書く-重量15kg以下駆動時間12時間以上&quot;&gt;外で書く: 重量1.5kg以下、駆動時間12時間以上&lt;/h3&gt;
&lt;p&gt;外で書くなら、軽さとバッテリーが直接生産性に効く。&lt;/p&gt;
&lt;p&gt;目安:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;重量&lt;/strong&gt;: 1.5kg 以下（徒歩移動が多いならこれより軽く）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;バッテリー駆動時間&lt;/strong&gt;: スペック表記で12時間以上&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;画面サイズ&lt;/strong&gt;: 14インチ（携帯性と作業効率の折り合い点）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;軽量モデルは同等性能でも価格が1〜2万円高い傾向がある。&lt;/p&gt;
&lt;h2 id=&quot;キーボードは日本語jis配列を必ず確認する&quot;&gt;キーボードは「日本語（JIS）配列」を必ず確認する&lt;/h2&gt;
&lt;p&gt;短い答え: 安いノート PC には英字キーボード搭載モデルが混じっている。日本語配列か必ず確認する。&lt;/p&gt;
&lt;p&gt;理由は、英字配列だと「全角/半角」キーがなく、日本語入力の切り替えが面倒。ブログ執筆では致命的に効く。&lt;/p&gt;
&lt;p&gt;確認ポイント:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;スペックに「JIS」または「日本語」と書かれているか&lt;/li&gt;
&lt;li&gt;商品写真でキーボード左上に「全角/半角」キーがあるか&lt;/li&gt;
&lt;/ul&gt;
&lt;img width=&quot;800&quot; alt=&quot;英語配列の例（左上に全角/半角キーがない）&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-13-blog-pc/2021-03-13-English-keyboard.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;h2 id=&quot;画面サイズは14インチ以上可能なら外部モニターを追加&quot;&gt;画面サイズは14インチ以上、可能なら外部モニターを追加&lt;/h2&gt;
&lt;p&gt;短い答え: 12インチ未満は長文ライティングでつらい。14インチ以上を基準にする。&lt;/p&gt;
&lt;p&gt;理由は、ブログ執筆中に資料 / プレビュー / 本文を並べる場面が多いから。狭い画面では切り替え操作だけで時間を取られる。&lt;/p&gt;
&lt;p&gt;家中心の場合は、ノート PC + 外部モニターの構成が体感差が大きい。資料を片方の画面に出しっぱなしにできるので作業速度が上がる。&lt;/p&gt;
&lt;h2 id=&quot;用途別おすすめ機種&quot;&gt;用途別おすすめ機種&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;以下は執筆当時（2021年）に選定したモデル。2026 時点では後継 / 同等価格帯の最新モデルを必ず確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;家で書くなら--15インチクラスの低価格ノート&quot;&gt;家で書くなら — 15インチクラスの低価格ノート&lt;/h3&gt;
&lt;p&gt;15インチで5万円台のエントリーモデルが第一候補。CPU は Core i3 で十分、ライティング作業なら性能不足を感じない。&lt;/p&gt;
&lt;h3 id=&quot;外で書くなら--15kg14インチクラス&quot;&gt;外で書くなら — 1.5kg、14インチクラス&lt;/h3&gt;
&lt;p&gt;携帯性重視。1.5kg 程度・14インチ・バッテリー駆動時間長めのモデル。&lt;/p&gt;
&lt;h2 id=&quot;比較-家用-vs-外用-ノートパソコン&quot;&gt;比較: 家用 vs 外用 ノートパソコン&lt;/h2&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;家中心&lt;/th&gt;&lt;th&gt;外でも書く&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;重量&lt;/td&gt;&lt;td&gt;気にしなくて OK&lt;/td&gt;&lt;td&gt;1.5kg 以下&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;バッテリー&lt;/td&gt;&lt;td&gt;短くて OK&lt;/td&gt;&lt;td&gt;駆動時間12時間以上&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;画面サイズ&lt;/td&gt;&lt;td&gt;15インチ推奨&lt;/td&gt;&lt;td&gt;14インチ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格目安&lt;/td&gt;&lt;td&gt;5〜7万円&lt;/td&gt;&lt;td&gt;7〜10万円&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;外部モニター&lt;/td&gt;&lt;td&gt;あれば作業効率↑&lt;/td&gt;&lt;td&gt;不要（持ち運ばない前提）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. iPad Pro でもブログは書けますか？&lt;/strong&gt;
A. 最新の iPad Pro なら、外付けキーボードを付ければ書けないことはない。ただし WordPress 管理画面の操作や画像編集を考えると、長期的にはノート PC を勧める。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Mac か Windows か、どちらがいい？&lt;/strong&gt;
A. ブログ執筆だけならどちらでも変わらない。普段使っている OS で選ぶのが摩擦が少ない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. メモリは何 GB あれば足りますか？&lt;/strong&gt;
A. ブログ執筆のみなら 4GB でも動くが、ブラウザのタブ数が増えるとスワップが発生して遅くなる。8GB を目安にする。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. SSD と HDD どちらを選ぶべきですか？&lt;/strong&gt;
A. SSD 一択。HDD 搭載モデルは起動とアプリ立ち上げが遅く、日常的なストレスが大きい。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;ブログを始めるためのノート PC は、直近5年のモデルなら基本どれでもいい。&lt;/p&gt;
&lt;p&gt;確認すべきは「家で書くか / 外でも書くか」「キーボードが日本語配列か」「画面サイズ14インチ以上か」の3点。これさえ押さえれば、エントリークラス（5〜7万円台）で十分にブログ運営は回る。&lt;/p&gt;
&lt;p&gt;外部モニターを足せる予算があるなら、家中心の構成は生産性で一段上がる。&lt;/p&gt;</content:encoded><category>reviews</category><category>pc</category><category>blogging</category></item><item><title>エアダスター缶 + 除電ブラシでPC掃除 — エレコム ECO とサンワサプライ ブラシのレビュー</title><link>https://aulvem.com/ja/blog/2021-03-11-air-duster-brush/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-11-air-duster-brush/</guid><description>エレコム エアダスター ECO とサンワサプライ 除電クリーニングブラシを数年使ったレビュー。エアダスター缶・電動エアダスター・アルコール+綿棒との使い分けと、PC内部掃除の手順をまとめる。</description><pubDate>Thu, 11 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。エレコム エアダスター ECO とサンワサプライ 除電クリーニングブラシは現在も現行品だが、価格・型番は変動している可能性あり。レビュー観点（缶ダスターの強み弱み、除電ブラシの使い所、電動エアダスターとの選び分け）は今も参考になる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;PC内部やキーボード周りのほこりは、放置するとファン詰まり・熱暴走・キー入力の引っかかりの原因になる。月1回サッと掃除しておけば寿命がだいぶ違う。&lt;/p&gt;
&lt;p&gt;ここでは数年使い続けている &lt;strong&gt;エレコム エアダスター ECO&lt;/strong&gt; と &lt;strong&gt;サンワサプライ 除電クリーニングブラシ&lt;/strong&gt; の組み合わせを、缶式・電動式・アルコール+綿棒の3方式と比較しながらレビューする。&lt;/p&gt;
&lt;h2 id=&quot;結論--缶ダスター--除電ブラシが手早くて安い&quot;&gt;結論 — 「缶ダスター + 除電ブラシ」が手早くて安い&lt;/h2&gt;
&lt;p&gt;短い答え: 月1〜2回のライトな掃除なら、エアダスター缶で大きいほこりを飛ばし、除電ブラシで細部を払うのが時間対効果で一番いい。電動式は週1で掃除する人向け。&lt;/p&gt;
&lt;p&gt;理由は、缶ダスターは1本1,000円前後で導入コストが低く、噴射の勢いも電動より強いことが多い。除電ブラシはCPU・メモリ周りなど静電気で壊れる可能性のあるパーツを安心して触れる。&lt;/p&gt;
&lt;p&gt;以下に該当する人は別の組み合わせを検討してもいい:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;掃除頻度が週1以上&lt;/strong&gt;: 缶のランニングコストが効いてくる。電動エアダスターのほうが長期的には安い&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ガス臭に敏感 / 換気しづらい部屋で作業&lt;/strong&gt;: 電動に乗り換えるか、屋外作業を検討&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;基板の汚れが油脂・ヤニ系&lt;/strong&gt;: 風と毛では落ちない。無水エタノール + 綿棒の併用が必要&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;エレコム-エアダスター-eco-の外観&quot;&gt;エレコム エアダスター ECO の外観&lt;/h2&gt;
&lt;p&gt;短い答え: 一般的なスプレー缶サイズ。赤いノズルとキャップが付属する。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;エレコム エアダスター ECO 缶本体 正面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-11-air-duster-brush/2021-03-11-Air-Duster-front.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;キーボードの隙間、PCケース内部、ノート PC の通気口など、ブラシでは届かない箇所の掃除に使う。筆者の使用頻度は月1回程度で、半年で1本のペース。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;エレコム エアダスター ECO の細口ノズル&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-11-air-duster-brush/2021-03-11-Air-Duster-Nozzle.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;赤い細口ノズルは購入時に缶のラベル部分にテープで留められている。狭い隙間に風を集中させたいときに装着する。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;エレコム エアダスター ECO の誤噴射防止キャップ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-11-air-duster-brush/2021-03-11-Air-Duster-cap.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;噴射ボタンには透明のキャップが被せてある。鞄や引き出しに入れたまま誤噴射しないための物。&lt;/p&gt;
&lt;h2 id=&quot;エレコム-エアダスター-eco-の良かった点&quot;&gt;エレコム エアダスター ECO の良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: 噴射の勢いが強く、価格が安いので気軽に使える。&lt;/p&gt;
&lt;h3 id=&quot;噴射の勢いが強い&quot;&gt;噴射の勢いが強い&lt;/h3&gt;
&lt;p&gt;トリガーを押すと「ブシャーッ」と一気に出る。キーボードの隙間に溜まったほこり、PCケースのファン周りのほこりは、ノズルを近づけて軽く吹くだけでほぼ飛ぶ。&lt;/p&gt;
&lt;p&gt;電動エアダスターも持っているが、ピーク風量だけで言うと缶のほうが上に感じる。&lt;/p&gt;
&lt;h3 id=&quot;価格が安く気軽に使える&quot;&gt;価格が安く気軽に使える&lt;/h3&gt;
&lt;p&gt;1本1,000円前後で買えるので、ほこりを見つけたら遠慮なく吹ける。「もったいないから後でまとめて」と思わずに済むのが地味に効く。&lt;/p&gt;
&lt;p&gt;掃除のハードルが下がる → 結果として頻度が上がる → PC が長持ちする、というサイクルになる。&lt;/p&gt;
&lt;h2 id=&quot;エレコム-エアダスター-eco-の微妙だった点&quot;&gt;エレコム エアダスター ECO の微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: ガス臭が残る / 缶は使い捨てなのでランニングコストがかかる。&lt;/p&gt;
&lt;h3 id=&quot;ガス臭がする&quot;&gt;ガス臭がする&lt;/h3&gt;
&lt;p&gt;噴射ガスの匂いが、使用後しばらく部屋に残る。1〜2秒の短い噴射では気にならないが、連続で5秒以上吹くと匂いが立つ。&lt;/p&gt;
&lt;p&gt;換気できる環境なら問題ないが、深夜の集合住宅でフルパワー掃除はやりにくい。&lt;/p&gt;
&lt;h3 id=&quot;ランニングコストがかさむ&quot;&gt;ランニングコストがかさむ&lt;/h3&gt;
&lt;p&gt;カンは1回使い切り。月1ペースなら半年1本で済むが、週1で吹くと年間4〜6本になる。1本1,000円換算で年間4,000〜6,000円。電動エアダスター（1万円前後）なら2年で元が取れる計算。&lt;/p&gt;
&lt;p&gt;筆者は現在缶を継続使用しているが、ヘビーに掃除する人には電動が選択肢に入る。&lt;/p&gt;
&lt;h2 id=&quot;サンワサプライ-除電クリーニングブラシの外観&quot;&gt;サンワサプライ 除電クリーニングブラシの外観&lt;/h2&gt;
&lt;p&gt;短い答え: 大小2サイズのブラシが両端に付いた除電仕様のブラシ。3本セットで売られていることが多い。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;サンワサプライ 除電クリーニングブラシ 大ブラシ側&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-11-air-duster-brush/2021-03-11-Brush-Large-brush.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;PC内部のほこりを払うのに使う。柄の中に除電素材が入っているとされ、静電気の発生を抑える。&lt;/p&gt;
&lt;p&gt;CPU・メモリ・GPU 基板は静電気で破損する可能性がある。普通の合成繊維ブラシで擦るのが怖い箇所でも、除電ブラシなら安心感がある。「裸でお風呂場で組む」みたいな民間療法（笑）に頼らずに済むのがメリット。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;サンワサプライ 除電クリーニングブラシ 反対側の小ブラシ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-11-air-duster-brush/2021-03-11-Small-brush.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;反対側には狭所用の小さいブラシが付いている。ヒートシンクのフィン間、I/O パネル裏、SATA コネクタの根元など、大ブラシでは入らない場所はこちらの担当。&lt;/p&gt;
&lt;h2 id=&quot;サンワサプライ-除電クリーニングブラシの良かった点&quot;&gt;サンワサプライ 除電クリーニングブラシの良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: 除電機能で基板を安心して触れる / 小ブラシ併設で狭い場所にも届く。&lt;/p&gt;
&lt;h3 id=&quot;除電機能で基板に触れやすい&quot;&gt;除電機能で基板に触れやすい&lt;/h3&gt;
&lt;p&gt;CPU ピン折れ・メモリ破損のニュースは見るが、静電気破壊の事例も無視できない。除電ブラシなら「触っていいのか怖い」というブレーキが外れる。&lt;/p&gt;
&lt;p&gt;実際に静電気で壊れる確率がどれだけかは分からないが、保険として持っておく価値はある。&lt;/p&gt;
&lt;h3 id=&quot;小ブラシで狭所まで届く&quot;&gt;小ブラシで狭所まで届く&lt;/h3&gt;
&lt;p&gt;PC 内部は指が入らない隙間が多い。小ブラシは爪楊枝より少し太い程度の毛束で、ヒートシンクの溝や端子の根元まで毛先が入る。&lt;/p&gt;
&lt;p&gt;エアダスター缶で飛ばしきれなかった毛玉状のほこりも、小ブラシでつまみ出せる。&lt;/p&gt;
&lt;h2 id=&quot;サンワサプライ-除電クリーニングブラシの微妙だった点&quot;&gt;サンワサプライ 除電クリーニングブラシの微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: 大ブラシ側のサイズがやや大きい。&lt;/p&gt;
&lt;h3 id=&quot;大ブラシのサイズが過大&quot;&gt;大ブラシのサイズが過大&lt;/h3&gt;
&lt;p&gt;PCケース内では「ふた回り小さい」ほうが取り回しが効くと感じる場面が多い。マザーボード上のヒートシンク列をなぞるとき、隣のコネクタに毛先がぶつかる。&lt;/p&gt;
&lt;p&gt;大ブラシ単体ではキーボード掃除には便利なので、用途を分けて考えれば不満ではない。&lt;/p&gt;
&lt;h2 id=&quot;比較-エアダスター缶--除電ブラシ-vs-他の掃除方式&quot;&gt;比較: エアダスター缶 + 除電ブラシ vs 他の掃除方式&lt;/h2&gt;





























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;缶ダスター + 除電ブラシ（本記事の組み合わせ）&lt;/th&gt;&lt;th&gt;アルコール + 綿棒&lt;/th&gt;&lt;th&gt;エアダスター缶 単体&lt;/th&gt;&lt;th&gt;電動エアダスター&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;初期コスト&lt;/td&gt;&lt;td&gt;約2,000円前後&lt;/td&gt;&lt;td&gt;約500円〜&lt;/td&gt;&lt;td&gt;約1,000円&lt;/td&gt;&lt;td&gt;約1万円〜&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ランニングコスト&lt;/td&gt;&lt;td&gt;缶の使い捨て分のみ&lt;/td&gt;&lt;td&gt;消耗品（綿棒・エタノール）&lt;/td&gt;&lt;td&gt;缶の使い捨て&lt;/td&gt;&lt;td&gt;電気代のみ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;得意な汚れ&lt;/td&gt;&lt;td&gt;乾いたほこり全般&lt;/td&gt;&lt;td&gt;油脂・指紋・ヤニ汚れ&lt;/td&gt;&lt;td&gt;乾いた粗いほこり&lt;/td&gt;&lt;td&gt;乾いたほこり全般&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;静電気対策&lt;/td&gt;&lt;td&gt;あり（除電ブラシ）&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;td&gt;機種による&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;静音性&lt;/td&gt;&lt;td&gt;噴射音のみ&lt;/td&gt;&lt;td&gt;静か&lt;/td&gt;&lt;td&gt;噴射音のみ&lt;/td&gt;&lt;td&gt;モーター音が大きい&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;環境負荷&lt;/td&gt;&lt;td&gt;缶の廃棄あり&lt;/td&gt;&lt;td&gt;少&lt;/td&gt;&lt;td&gt;缶の廃棄あり&lt;/td&gt;&lt;td&gt;少（本体寿命まで再利用）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ガス臭&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;アルコール臭あり&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;電動エアダスターは月数千円のランニングコストを節約できるが、初期投資1万円と作動音の大きさがネック。月1〜2回掃除の人には缶のほうがトータルで楽。&lt;/p&gt;
&lt;p&gt;油脂汚れ（キーキャップの皮脂、ファンに付いたヤニ）は風では落ちない。アルコールと綿棒、または無水エタノールで拭き取る工程を別に挟む必要がある。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. エアダスター缶と電動エアダスター、どちらを買えばいい？&lt;/strong&gt;
A. 月1〜2回しか掃除しないなら缶で十分。週1以上で掃除する、または屋外で他の機械（カメラ・楽器・3Dプリンタ）にも使う予定があるなら電動が候補。ランニングコストの分岐点はおおむね2〜3年（使用頻度に依存）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 電動エアダスターは缶より風が弱いと聞きますが本当ですか？&lt;/strong&gt;
A. 機種と缶の残量による。新品満タンの缶はピーク風量が強いが、缶は使うにつれて気化熱で冷えて風量が落ちる。電動は安定した風量を継続して出せるので、長時間掃除では電動のほうが楽な場面もある。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 除電ブラシは本当に静電気を防げますか？&lt;/strong&gt;
A. 完全には防げない。除電ブラシは内部の素材で静電気を逃がす設計だが、絶対安全とは言えない。基板を触る前に金属部に手を触れて自分の静電気を放電する、湿度の低い真冬は作業を避ける、などの基本対策と併用するのが安全。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. PCの中にエアダスターを吹くとファンが回って壊れませんか？&lt;/strong&gt;
A. ファンの羽根を高速で回すと軸受けにダメージを与える可能性がある。指やブラシの柄でファンを軽く押さえてから吹くのが定番のテクニック。CPU クーラーのファンも同様に固定してから掃除する。&lt;/p&gt;
&lt;h2 id=&quot;総評--ほどよく安くほどよく安全な組み合わせ&quot;&gt;総評 — 「ほどよく安く、ほどよく安全」な組み合わせ&lt;/h2&gt;
&lt;p&gt;短い答え: 月1ペースのライト掃除なら、缶ダスター + 除電ブラシのコンビが時間・コスト・安全性のバランスでまず外さない。&lt;/p&gt;
&lt;p&gt;PC内部の掃除手順は以下で固まっている:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;エアダスター缶で大きいほこりをまず飛ばす（ファンは指で押さえる）&lt;/li&gt;
&lt;li&gt;大ブラシで残ったほこりを払い落とす&lt;/li&gt;
&lt;li&gt;小ブラシでヒートシンクの溝や端子周りを仕上げる&lt;/li&gt;
&lt;li&gt;油脂・指紋汚れがある箇所だけ無水エタノール + 綿棒で拭く&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;毎月これをやっておくと、年に1回の本格清掃でも「中はそれほど汚れていない」状態を保てる。&lt;/p&gt;
&lt;p&gt;掃除頻度が上がってきたら電動エアダスターへの乗り換え、油脂汚れが目立つようになったらアルコール清掃の追加 — というふうに段階的に道具を増やすのがおすすめ。&lt;/p&gt;
</content:encoded><category>reviews</category><category>PCPeripherals</category></item><item><title>ロジクール MX MASTER 2S レビュー — サイドホイールでExcel横スクロールが劇的に楽になるマウス</title><link>https://aulvem.com/ja/blog/2021-03-09-logicool-mx-master-2s/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-09-logicool-mx-master-2s/</guid><description>仕事で半年以上使ったロジクール MX MASTER 2S のレビュー。サイドホイールでの横スクロールと押しやすいサイドボタンが強み、ジェスチャーボタンの強度不足とサイズの大きさが弱み。Excel やデザイン系ソフトを毎日使う人に向く一台かを実体験から整理します。</description><pubDate>Tue, 09 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。MX MASTER 2S は 2026 時点では旧モデルで、現行は MX Master 3S。レビュー観点（サイドホイールの有用性、サイズ感、ジェスチャーボタンの注意点）は今も参考になる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;仕事で日常的に使っていた Logicool の MX MASTER 2S を、半年以上使った視点でレビューする。&lt;/p&gt;
&lt;p&gt;「マウスにしては高い」と感じる価格帯（執筆当時で約9,400円）だが、Excel やクリエイティブ系ソフトを多用するなら、その差額分の生産性を取り戻せる類のマウス。&lt;/p&gt;
&lt;h2 id=&quot;結論--excel-横スクロールを毎日使う人なら買い&quot;&gt;結論 — Excel 横スクロールを毎日使う人なら買い&lt;/h2&gt;
&lt;p&gt;短い答え: サイドホイールでの横スクロールが快適すぎる。Excel やデザイン系ソフトで縦横にスクロールする頻度が高い人なら、価格分の価値はある。&lt;/p&gt;
&lt;p&gt;理由は、「Shift + ホイール」「マウス両端へドラッグ」のような操作がサイドホイールひと回しで済むから。1日に何百回も発生する操作のコストが1〜2秒ずつ短縮される。&lt;/p&gt;
&lt;p&gt;ただし以下に該当する人は注意:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;手が小さい人&lt;/strong&gt;: MX MASTER 2S は大型で、サイズ展開がない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;頻繁にゲームでマウスを激しく操作する人&lt;/strong&gt;: ジェスチャーボタンに強度不足の事例あり（後述）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観と質感&quot;&gt;外観と質感&lt;/h2&gt;
&lt;p&gt;短い答え: 立体的でモノクロ調の高級感ある質感。マウス先端がやや鋭利な独特のフォルム。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 2S 上面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-09-logicool-mx-master-2s/2021-03-09-Logicool-MX-MASTER-2S-upward.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;横から見ると「H を横にしたような」形状で、親指と小指で挟む持ち方になる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 2S 裏面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-09-logicool-mx-master-2s/2021-03-09-Logicool-MX-MASTER-2S-back.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;裏側に電源スイッチとデバイス切り替えボタン（最大3台までペアリング）。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 2S 左側面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-09-logicool-mx-master-2s/2021-03-09-Logicool-MX-MASTER-2S-left.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;左側面に親指置き場 + ジェスチャーボタン、サイドホイール、上下ボタン2つ。給電は microUSB Type-B（このモデルの数少ない欠点のひとつ）。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: サイドホイールが最大の差別化要素。デザインと持ちやすさも上位互換。&lt;/p&gt;
&lt;h3 id=&quot;サイドホイール--excel-横スクロールが一発&quot;&gt;サイドホイール — Excel 横スクロールが一発&lt;/h3&gt;
&lt;p&gt;他のマウスとの最大の違い。&lt;strong&gt;横スクロール専用のホイール&lt;/strong&gt;が左側面にある。&lt;/p&gt;
&lt;p&gt;Excel の横方向移動、Figma のキャンバスパン、動画編集ソフトのタイムラインスクロール — どれもキーボード補助なしで指1本で済む。&lt;/p&gt;
&lt;h3 id=&quot;サイドボタンが上下配置で押しやすい&quot;&gt;サイドボタンが上下配置で押しやすい&lt;/h3&gt;
&lt;p&gt;普通のマウスのサイドボタンは「前後配置」で進む・戻るに割り当てるのが定石。MX MASTER 2S は&lt;strong&gt;上下配置&lt;/strong&gt;で、最初は混乱するが慣れると押し分けが楽。&lt;/p&gt;
&lt;h3 id=&quot;デザインがオフィスで浮かない&quot;&gt;デザインがオフィスで浮かない&lt;/h3&gt;
&lt;p&gt;モノクロ調の落ち着いた外観。家でも仕事場でも違和感なく使える。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: サイズが大きい / 給電が microUSB Type-B / ジェスチャーボタンが弱い。&lt;/p&gt;
&lt;h3 id=&quot;手が大きい人向けサイズ展開なし&quot;&gt;手が大きい人向け、サイズ展開なし&lt;/h3&gt;
&lt;p&gt;握りやすさは個人的にはこれまでで一番だったが、手が小さい人にはおすすめしづらい。サイズ展開がないので、店頭で握ってから決めるのが安全。&lt;/p&gt;
&lt;h3 id=&quot;充電が-microusb-type-b&quot;&gt;充電が microUSB Type-B&lt;/h3&gt;
&lt;p&gt;2026 年現在、周辺機器の主流は USB Type-C。充電頻度は2〜3ヶ月に1回なので致命的ではないが、ケーブル管理上は不便。&lt;/p&gt;
&lt;h3 id=&quot;ジェスチャーボタンの強度不足&quot;&gt;ジェスチャーボタンの強度不足&lt;/h3&gt;
&lt;p&gt;執筆者がこのマウスから乗り換えた直接の原因。&lt;/p&gt;
&lt;p&gt;ゲーム中に勢いよくジェスチャーボタンをクリックしたら、&lt;strong&gt;クリックしっぱなしの状態&lt;/strong&gt;で固まった。分解すれば直るレベルだが、強くクリックしたつもりはなく、構造的に弱い可能性が高い。&lt;/p&gt;
&lt;p&gt;長時間 / 頻繁に激しく操作するユーザーは要注意。&lt;/p&gt;
&lt;h2 id=&quot;比較-mx-master-2s-vs-3--3s&quot;&gt;比較: MX MASTER 2S vs 3 / 3S&lt;/h2&gt;



































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;MX MASTER 2S&lt;/th&gt;&lt;th&gt;MX MASTER 3 / 3S&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;給電&lt;/td&gt;&lt;td&gt;microUSB Type-B&lt;/td&gt;&lt;td&gt;USB Type-C&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ホイール&lt;/td&gt;&lt;td&gt;機械式&lt;/td&gt;&lt;td&gt;MagSpeed（電磁式）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サイドホイール&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;あり（より滑らか）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ジェスチャーボタン強度&lt;/td&gt;&lt;td&gt;弱め&lt;/td&gt;&lt;td&gt;改善傾向&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯（執筆当時）&lt;/td&gt;&lt;td&gt;約9,400円&lt;/td&gt;&lt;td&gt;約13,000円〜&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;新規購入を検討するなら、現行の MX Master 3S を勧める。中古や型落ち狙いでも、ジェスチャーボタンを多用しないなら 2S は実用上問題ない。&lt;/p&gt;
&lt;h2 id=&quot;ソフトlogicool-options&quot;&gt;ソフト（Logicool Options）&lt;/h2&gt;
&lt;p&gt;専用ソフト Logicool Options でほぼ全ボタンの挙動をカスタマイズできる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool Options のホーム画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-09-logicool-mx-master-2s/2021-03-09-Logicool-MX-MASTER-2S-Logicool-Options-home.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;ジェスチャーボタンには上下左右4方向にアクションを割り当てられる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool Options のジェスチャー設定&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-09-logicool-mx-master-2s/2021-03-09-Logicool-MX-MASTER-2S-Logicool-Options-gesture.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;ホイール感度・ポインタ速度も細かく調整可。Excel 用にホイールスクロール量を変える、などのチューニングが効く。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for ロジクール MX MASTER 2S (MX2100CR)&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-09-logicool-mx-master-2s/2021-03-09-Logicool-MX-MASTER-2S.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;ロジクール MX MASTER 2S (MX2100CR)&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B08K8PH9G3/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View ロジクール MX MASTER 2S (MX2100CR) on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. Mac でも使えますか？&lt;/strong&gt;
A. 使える。Logicool Options for Mac が提供されている。Bluetooth または USB レシーバーどちらも対応。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. バッテリーはどのくらい持ちますか？&lt;/strong&gt;
A. 公称70日。実使用でも2〜3ヶ月に1回の充電で間に合った。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ゲーミング用途で使えますか？&lt;/strong&gt;
A. 反応速度では普通のマウス。FPS や精密操作が必要なゲームには専用ゲーミングマウスを勧める。ジェスチャーボタンの強度問題もあるので、激しい操作を伴うゲームは避けた方が無難。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. iPad に接続できますか？&lt;/strong&gt;
A. iPadOS 13.4 以降ならマウス対応。Bluetooth でペアリング可能。&lt;/p&gt;
&lt;h2 id=&quot;総評--ハマる人にはハマるマウス&quot;&gt;総評 — 「ハマる人にはハマる」マウス&lt;/h2&gt;
&lt;p&gt;人を選ぶマウスだが、ハマる用途で使うと手放せなくなる類。&lt;/p&gt;
&lt;p&gt;特に Excel / Figma / 動画編集など横スクロールを多用する作業では、ほかのマウスに戻れなくなる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Logicool MX MASTER 2S 全体まとめ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-09-logicool-mx-master-2s/2021-03-09-Logicool-MX-MASTER-2S-summary.webp&quot; loading=&quot;lazy&quot;/&gt;
&lt;p&gt;注意点はサイズ感とジェスチャーボタンの強度の2つ。可能なら店頭で握って決めるのが一番後悔がない。&lt;/p&gt;</content:encoded><category>reviews</category><category>mouse</category><category>logicool</category><category>pc-peripherals</category></item><item><title>Netlify に お名前.com の独自ドメインをつなぐ — DNS 切り替え手順と注意点</title><link>https://aulvem.com/ja/blog/2021-03-08-netlify-onamae/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-08-netlify-onamae/</guid><description>お名前.com で取得したドメインを Netlify にネームサーバー委任でつなぐ手順。DNS の仕組み、Cloudflare DNS で代替する選択肢、反映待ちのコツまで2026年視点で整理。</description><pubDate>Mon, 08 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。手順の骨子は変わっていないが、Netlify / お名前.com の UI スクリーンショットは2021年当時のもの。現在は Cloudflare Pages + Cloudflare DNS の組み合わせも一般的で、本文末で比較を追加している。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;お名前.com で取った独自ドメインを Netlify のサイトに割り当てる作業は、UI に慣れていないと一度で迷う。原因はだいたい「ネームサーバーを書き換える場所が分からない」「反映が遅くて成功したか分からない」の2つに集約される。&lt;/p&gt;
&lt;p&gt;この記事は、その2点を先に潰してから手を動かせるように、DNS の仕組み・接続手順・反映確認のコツを順に並べた。前提として、Netlify 側のデプロイ自体は&lt;a href=&quot;https://aulvem.com/blog/2021-03-06-netlify-setup/&quot;&gt;VuePress / 静的サイトを Netlify にデプロイする&lt;/a&gt;で済んでいるものとする。&lt;/p&gt;
&lt;h2 id=&quot;結論--netlify-dns-にネームサーバーごと委任するのが最短&quot;&gt;結論 — Netlify DNS にネームサーバーごと委任するのが最短&lt;/h2&gt;
&lt;p&gt;お名前.com で取得したドメインを Netlify につなぐ最短ルートは、&lt;strong&gt;お名前.com のネームサーバーを Netlify DNS の4つに書き換える&lt;/strong&gt;こと。&lt;/p&gt;
&lt;p&gt;理由は、Netlify が DNS レコード（A / AAAA / CNAME）の管理を肩代わりしてくれるため、SSL 証明書の発行・apex ドメインの扱い・サブドメイン追加までほぼ自動で進むから。レコードを自分で書く必要があるのは、&lt;strong&gt;ドメインを Cloudflare DNS など別の DNS に委任して、CNAME で Netlify を指す構成&lt;/strong&gt;を選んだ場合だけ。&lt;/p&gt;
&lt;p&gt;迷ったら Netlify DNS で委任、複数サービスを同じドメインで束ねたいなら Cloudflare DNS、という切り分けでいい。&lt;/p&gt;
&lt;h2 id=&quot;dns-委任の仕組み--住所録の所有者をどこにするか&quot;&gt;DNS 委任の仕組み — 「住所録の所有者」をどこにするか&lt;/h2&gt;
&lt;p&gt;DNS は「ドメイン名 → サーバーの IP」を引くための分散データベース。ネームサーバーは、その引き先を持っている&lt;strong&gt;正本&lt;/strong&gt;にあたる。&lt;/p&gt;
&lt;p&gt;お名前.com でドメインを買った直後は、お名前.com 自身が正本（プライマリ DNS）になっている。これを Netlify DNS に書き換える操作が「ネームサーバーの変更」で、書き換えると以降の A / CNAME レコードは Netlify 側で管理される。&lt;/p&gt;
&lt;h3 id=&quot;お名前com-dns-vs-netlify-dns-vs-cloudflare-dns&quot;&gt;お名前.com DNS vs Netlify DNS vs Cloudflare DNS&lt;/h3&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;お名前.com DNS（既定）&lt;/th&gt;&lt;th&gt;Netlify DNS（委任）&lt;/th&gt;&lt;th&gt;Cloudflare DNS（委任）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;設定の手間&lt;/td&gt;&lt;td&gt;A / CNAME を手で書く&lt;/td&gt;&lt;td&gt;自動で必要レコード生成&lt;/td&gt;&lt;td&gt;自分で CNAME を書く&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Netlify との相性&lt;/td&gt;&lt;td&gt;可&lt;/td&gt;&lt;td&gt;公式の最短ルート&lt;/td&gt;&lt;td&gt;良（CNAME flattening 対応）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;HTTPS 証明書&lt;/td&gt;&lt;td&gt;Netlify 側で自動&lt;/td&gt;&lt;td&gt;Netlify 側で自動&lt;/td&gt;&lt;td&gt;Netlify 側で自動&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CDN / WAF 追加&lt;/td&gt;&lt;td&gt;不可&lt;/td&gt;&lt;td&gt;不可&lt;/td&gt;&lt;td&gt;可（Cloudflare 側で）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;メール / 他サービス併用&lt;/td&gt;&lt;td&gt;やや面倒&lt;/td&gt;&lt;td&gt;面倒&lt;/td&gt;&lt;td&gt;楽&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2026年の主流度&lt;/td&gt;&lt;td&gt;△&lt;/td&gt;&lt;td&gt;◯&lt;/td&gt;&lt;td&gt;◎&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;迷ったら一番上から順に「Netlify しか使わない → Netlify DNS」「メールや別サービスも乗せたい → Cloudflare DNS」と決めるとブレない。&lt;/p&gt;
&lt;h2 id=&quot;接続手順--実作業10分反映待ち最大48時間&quot;&gt;接続手順 — 実作業10分、反映待ち最大48時間&lt;/h2&gt;
&lt;p&gt;ここからが本作業。所要時間は、実際にクリックする部分が10分前後、DNS が世界に行き渡るまで最大48時間（実測では数時間で済むことが多い）。&lt;/p&gt;
&lt;h3 id=&quot;ステップ1-お名前com-でドメインを取得する&quot;&gt;ステップ1: お名前.com でドメインを取得する&lt;/h3&gt;
&lt;p&gt;お名前.com のトップで取得したいドメイン名を入力する。&lt;code&gt;.com&lt;/code&gt; 以外を取りたいときは TLD を明示的に選ぶ。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;お名前.com トップ画面のドメイン検索フォーム&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-onamae-search.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;検索結果から取得したい TLD にチェックし、&lt;strong&gt;料金確認に進む&lt;/strong&gt;。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;お名前.com のドメイン選択画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-onamae-domain.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;次のサーバー選択画面では、ホスティングは Netlify を使うので&lt;strong&gt;利用しない&lt;/strong&gt;を選ぶ。ここで余計なレンタルサーバーを契約しないこと（年額がそのまま無駄になる）。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;お名前.com のサーバー選択画面で利用しないを選ぶ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-onamae-server-selection.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;決済まで終わるとドメイン取得が完了する。Whois 代行は無料で付くので付けたままでよい。&lt;/p&gt;
&lt;h3 id=&quot;ステップ2-netlify-で-add-custom-domain-を実行する&quot;&gt;ステップ2: Netlify で Add custom domain を実行する&lt;/h3&gt;
&lt;p&gt;Netlify の対象サイトの overview から &lt;strong&gt;Domain settings&lt;/strong&gt; に入る。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify サイトの overview 画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-Netlify-overview.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;&lt;strong&gt;Add custom domain&lt;/strong&gt; をクリックして、取得したドメイン（&lt;code&gt;example.com&lt;/code&gt; のように apex で入れる）を入力。Verify を押すと、所有確認の画面に進む。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify の Domain settings 画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-Netlify-domain.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;ステップ3-netlify-dns-を有効化してネームサーバーを控える&quot;&gt;ステップ3: Netlify DNS を有効化してネームサーバーを控える&lt;/h3&gt;
&lt;p&gt;ドメインを追加した直後は &lt;strong&gt;Check DNS configuration&lt;/strong&gt; が出る。Options → &lt;strong&gt;Set up Netlify DNS&lt;/strong&gt; を選んで Netlify DNS を有効化する。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify の custom domains 一覧で Set up Netlify DNS を選ぶ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-Netlify-custom-domains.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;確認ダイアログが何枚か出るが、内容を読みつつ進める。最後に &lt;strong&gt;Name servers&lt;/strong&gt; として4つの FQDN（&lt;code&gt;dns1.p0X.nsone.net&lt;/code&gt; のような形式）が表示されるので、ここでブラウザのタブを残したままコピーしておく。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify が払い出す Name servers の一覧&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-Netlify-name-server.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;ステップ4-お名前com-でネームサーバーを-netlify-に変更する&quot;&gt;ステップ4: お名前.com でネームサーバーを Netlify に変更する&lt;/h3&gt;
&lt;p&gt;別タブで お名前.com Navi にログインする。画面上部の&lt;strong&gt;メニュー一覧&lt;/strong&gt; → &lt;strong&gt;ネームサーバーの変更&lt;/strong&gt;。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;お名前.com Navi のメニュー一覧&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-namae-menu.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;対象ドメインにチェック → 「その他」タブを選び、ネームサーバー欄に Netlify から控えた4つを上から貼り付ける。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;お名前.com のネームサーバー変更画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-08-netlify-onamae/2021-03-08-Onamae-name-server.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;確認ボタンを押すと、変更受付完了のメールが届く。ここまでで作業自体は終わり。&lt;/p&gt;
&lt;h3 id=&quot;ステップ5-dns-反映と-https-証明書発行を待つ&quot;&gt;ステップ5: DNS 反映と HTTPS 証明書発行を待つ&lt;/h3&gt;
&lt;p&gt;反映は数分〜最大48時間。Netlify 側では、DNS が伝播し終わると Let’s Encrypt の証明書発行が自動で走り、HTTPS で取得ドメインにアクセスできるようになる。&lt;/p&gt;
&lt;p&gt;確認のコツ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;30分待っても見えないとき、&lt;code&gt;nslookup example.com 1.1.1.1&lt;/code&gt; で名前解決ができているか別の DNS で確かめる&lt;/li&gt;
&lt;li&gt;自宅回線だけ見えないときはルーター / OS の DNS キャッシュを疑う&lt;/li&gt;
&lt;li&gt;半日経っても証明書が &lt;code&gt;pending&lt;/code&gt; のままなら、Netlify の Domains 画面で &lt;strong&gt;Renew certificate&lt;/strong&gt; を一度押すと再キックされる&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;注意点--つまずきがちな4つの落とし穴&quot;&gt;注意点 — つまずきがちな4つの落とし穴&lt;/h2&gt;
&lt;p&gt;短い答え: &lt;strong&gt;ネームサーバーの貼り間違い&lt;/strong&gt;・&lt;strong&gt;反映を待たずに再設定&lt;/strong&gt;・&lt;strong&gt;お名前.com の更新メールの誤クリック&lt;/strong&gt;・&lt;strong&gt;メールを同ドメインで運用していたケース&lt;/strong&gt;の4つ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ネームサーバーの貼り間違い&lt;/strong&gt;: 4つすべてを正確にコピーする。順番は気にしなくていいが、末尾の &lt;code&gt;.&lt;/code&gt; の有無や先頭の空白に注意&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;反映前に何度も設定をやり直す&lt;/strong&gt;: 反映待ちの最中に「効いてない」と思ってお名前.com 側を再変更すると、TTL がリセットされてさらに遅延する。まず半日待つ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更新メールの誤クリック&lt;/strong&gt;: お名前.com からは類似ドメインの広告メールが頻繁に届く。本物の更新案内かどうか、Navi にログインして契約一覧で確認するクセを付ける&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;メールを同ドメインで運用している場合&lt;/strong&gt;: ネームサーバーを Netlify DNS に丸ごと移すと、MX レコードを Netlify DNS 側で再設定し直す必要がある。メールがあるなら Cloudflare DNS 委任の方が安全（各社の MX 設定 UI は2026年時点で変更が入る可能性あり）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. Netlify DNS を使わずに、お名前.com の DNS のままつなげますか？&lt;/strong&gt;
A. 可能。お名前.com の DNS レコード設定で apex は A レコード 75.2.60.5、www は CNAME で &lt;code&gt;&amp;lt;site&amp;gt;.netlify.app&lt;/code&gt; を指せばつながる。ただし Netlify 側のロードバランサ IP は将来変わる可能性があるため、長期運用なら Netlify DNS か Cloudflare DNS への委任が安全。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Cloudflare DNS 経由で Netlify につなぐのは何が違いますか？&lt;/strong&gt;
A. ネームサーバーを Cloudflare に委任し、CNAME で Netlify を指す構成。CDN や WAF を Cloudflare 側でかけられ、複数サービス（メール、別ホスティング）を同居させやすい。Aulvem 自身も現在 Cloudflare Pages を使っており、DNS は Cloudflare 側で管理している。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ネームサーバーを変えてからどのくらいで反映されますか？&lt;/strong&gt;
A. 実測では数分〜数時間で大半は反映、最大で48時間程度。反映途中はキャッシュの効いた回線とそうでない回線で見え方が変わるので、半日経って見えなければ別ネットワークから確認する。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Netlify は2026年でも選択肢に残りますか？&lt;/strong&gt;
A. 選択肢としては有効。ただし2026年時点では Cloudflare Pages と Vercel の方が新規プロジェクトのデフォルトになりやすい。Netlify Forms や Identity を使う前提なら Netlify が依然強い。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;お名前.com のドメインを Netlify につなぐ作業の本質は、「ドメインの正本をどの DNS に置くか」の選択。Netlify しか使わないなら Netlify DNS への委任が一番楽で、複数サービスを束ねたいなら Cloudflare DNS 経由を選ぶ。&lt;/p&gt;
&lt;p&gt;UI のスクリーンショットは2021年当時のままだが、ネームサーバー委任という基本フローは2026年でも変わっていない。Netlify 自体は健在で、Forms や Identity を使うプロジェクトでは今も第一候補になる。&lt;/p&gt;
&lt;p&gt;Netlify 側の初期セットアップから振り返りたい場合は&lt;a href=&quot;https://aulvem.com/blog/2021-03-06-netlify-setup/&quot;&gt;VuePress / 静的サイトを Netlify にデプロイする&lt;/a&gt;を参照。&lt;/p&gt;
</content:encoded><category>build</category><category>Netlify</category><category>domain</category><category>DNS</category></item><item><title>ラトックシステム RS-WFIREX4 レビュー — 1万円以下で始めるスマートホーム入門機</title><link>https://aulvem.com/ja/blog/2021-03-07-rs-wfirex4/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-07-rs-wfirex4/</guid><description>RS-WFIREX4 を数年間使った視点でのレビュー。小型で目立たず Alexa / Google Home / Siri に対応する手堅い赤外線スマートリモコン。設定難度とレスポンスのクセが弱み。</description><pubDate>Sun, 07 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。本体スペックや UI は執筆当時のもの。後継機 RS-WFIREX5 が出ているので、新規購入時はラインナップを確認すること。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;リモコン操作したい時に限ってリモコンが行方不明になる、という現象がよく起きていた。
そこで導入したのが、赤外線で家中の家電をスマホとスマートスピーカーから操作できるラトックシステムの RS-WFIREX4。数年間使った視点でレビューする。&lt;/p&gt;
&lt;p&gt;価格は1万円を切る帯。スマートリモコンの中ではエントリー寄りだが、できることは Nature Remo や SwitchBot ハブと大きく変わらない。&lt;/p&gt;
&lt;h2 id=&quot;結論--初めてのスマートリモコンなら手堅い選択肢&quot;&gt;結論 — 初めてのスマートリモコンなら手堅い選択肢&lt;/h2&gt;
&lt;p&gt;短い答え: 1万円以下で Alexa / Google Home / Siri に対応する赤外線スマートリモコンとして、入門機の役割を十分果たす。家電をリモコンで操作する生活を一段階楽にしたいなら買い。&lt;/p&gt;
&lt;p&gt;理由は3つ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小型・白色で壁に掛けても部屋に馴染む&lt;/li&gt;
&lt;li&gt;温度計 / 湿度計 / 照度計が内蔵されていて、家電操作の自動化条件に使える&lt;/li&gt;
&lt;li&gt;スマートスピーカー3系統全部に公式対応&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただし以下に該当する人は注意。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;物理リモコンと同じ即応性を求める人&lt;/strong&gt;: 2〜3秒の遅延あり&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;設定が苦手な人&lt;/strong&gt;: 初期設定はアプリ任せでは進まず、説明書併読が前提&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;赤外線の見通しが取れない部屋&lt;/strong&gt;: 壁や扉の陰の家電は届かないことがある&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観--白い小箱壁掛け前提のデザイン&quot;&gt;外観 — 白い小箱、壁掛け前提のデザイン&lt;/h2&gt;
&lt;p&gt;短い答え: 白色プラスチック筐体の小型ボックス。壁掛け用フックが背面にあり、設置場所を選ばない。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;RS-WFIREX4 正面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4-front.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;正面はロゴと小さなインジケーター以外、ほぼ無地。壁の白に溶けるので、リビングに置いても主張しない。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;RS-WFIREX4 を手のひらに乗せたサイズ感&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4-size.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;手のひらに収まるサイズ。高さは約4cm。側面に排熱用のスリットがある。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;RS-WFIREX4 背面の壁掛けフックと紐通し穴&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4-back.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;背面に壁掛け用フックと紐通し穴。底面に滑り止めゴム。机置きでも壁掛けでも違和感がない作り。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;RS-WFIREX4 上面の microUSB Type-B 給電ポート&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4-upward.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;給電は microUSB Type-B。2026 年現在は USB Type-C が主流なので世代を感じるが、常時給電で抜き差ししない使い方なら実害は小さい。側面にステータス LED とリセットボタン。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for ラトックシステム スマート家電リモコン RS-WFIREX4&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;ラトックシステム スマート家電リモコン RS-WFIREX4&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07BLQ4M3M/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View ラトックシステム スマート家電リモコン RS-WFIREX4 on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: 赤外線リモコンを置き換えるという基本機能の完成度が高い。スマートスピーカー連携と環境センサーが付いてくるのが嬉しい。&lt;/p&gt;
&lt;h3 id=&quot;赤外線で操作できる家電にほぼ何でも対応&quot;&gt;赤外線で操作できる家電にほぼ何でも対応&lt;/h3&gt;
&lt;p&gt;リモコン信号を学習させればテンプレート外の家電も動く。実用上、家にあるリモコン家電のほとんどはアプリ1本で操作できる状態に持ち込める。&lt;/p&gt;
&lt;p&gt;導入してから「リモコンがどこにあるか」を探す回数が激減した。家電を新調するときに「リモコン付き or スマート対応」を購入条件に入れるようになったほど、運用が固定化した。&lt;/p&gt;
&lt;p&gt;テンプレートが用意されている代表的な家電は以下。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;エアコン&lt;/li&gt;
&lt;li&gt;テレビ&lt;/li&gt;
&lt;li&gt;照明&lt;/li&gt;
&lt;li&gt;扇風機&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;アプリのダウンロードリンクは下記。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iOS: &lt;a href=&quot;https://apps.apple.com/jp/app/wi-fi-xue-xirimokon/id1063944197&quot; rel=&quot;noopener noreferrer sponsored nofollow&quot; target=&quot;_blank&quot;&gt;Wi-Fi 学習リモコン (App Store)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Android: &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.ratoc.wfirex&quot; rel=&quot;noopener noreferrer sponsored nofollow&quot; target=&quot;_blank&quot;&gt;Wi-Fi 学習リモコン (Google Play)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;外出先からスマホで操作できる&quot;&gt;外出先からスマホで操作できる&lt;/h3&gt;
&lt;p&gt;スマホ側のネットワークが Wi-Fi でなくても、本体さえ自宅 Wi-Fi につながっていれば外出先からアプリで操作できる。帰宅前にエアコンを入れる、消し忘れた照明を外から切る、といった運用が現実的になる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;RS-WFIREX4 アプリの初期画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4-App-home.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;温度湿度照度センサー内蔵&quot;&gt;温度・湿度・照度センサー内蔵&lt;/h3&gt;
&lt;p&gt;家電選択画面の下部に、本体設置場所の温度・湿度・照度が常時表示される。照度は3段階表示で数値より直感的（個人的にはこの粒度のほうが好き）。&lt;/p&gt;
&lt;p&gt;これらの値をトリガーにして「気温28度を超えたらエアコン ON」のような自動化を組める。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;RS-WFIREX4 アプリの家電選択画面、下部に温度湿度照度を表示&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4-Home-appliance-selection.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;h3 id=&quot;家電別に専用デザインのリモコン-ui&quot;&gt;家電別に専用デザインのリモコン UI&lt;/h3&gt;
&lt;p&gt;テンプレート対応家電は、その家電向けにレイアウトされた専用 UI が出てくる。テンプレートにないボタンは自分で追加できる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;RS-WFIREX4 アプリの家電操作画面、専用デザインのリモコン UI&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4-remote-control.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;汎用リモコンアプリにありがちな「ボタン10個並んだだけの画面」ではなく、家電の見た目に寄せた UI なのが地味に効く。&lt;/p&gt;
&lt;h3 id=&quot;alexa--google-home--siri-すべてに対応&quot;&gt;Alexa / Google Home / Siri すべてに対応&lt;/h3&gt;
&lt;p&gt;スマートスピーカー3系統に公式対応している。アプリ内から連携設定を済ませれば、声で家電を操作できる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;RS-WFIREX4 アプリの Alexa 連携設定画面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4-Alexa.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;手が塞がっている料理中、スマホを別室に置いてきた夜中、リモコンが見つからない朝 — このあたりで一番効く。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: クラウド経由ゆえの2〜3秒遅延 / 赤外線の物理的な遮蔽問題 / 初期設定の難度。&lt;/p&gt;
&lt;h3 id=&quot;操作レスポンスが23秒かかる&quot;&gt;操作レスポンスが2〜3秒かかる&lt;/h3&gt;
&lt;p&gt;スマホで押す → ラトックのクラウド → 自宅本体 → 家電、という経路を踏むので、物理リモコンと同じ即応性は出ない。&lt;/p&gt;
&lt;p&gt;「あれ、効いた？」と感じて連打すると重複コマンドが届き、エアコンが ON / OFF / ON のように飛ぶことがある。1回押して数秒待つ、を癖にすると安定する。&lt;/p&gt;
&lt;h3 id=&quot;赤外線なので遮蔽物に弱い&quot;&gt;赤外線なので遮蔽物に弱い&lt;/h3&gt;
&lt;p&gt;製品というより赤外線の性質。本体と家電の間に厚い扉や壁があると届かない。&lt;/p&gt;
&lt;p&gt;出力を上げれば届く範囲は広がるが、今度は近隣の同型機が反応する可能性が出てくる。これはどのスマートリモコンも抱える構造的な制約。&lt;/p&gt;
&lt;p&gt;設置場所は「操作したい家電群を見通せる中心点」を探す前提で考える。&lt;/p&gt;
&lt;h3 id=&quot;初期設定が説明書併読前提&quot;&gt;初期設定が説明書併読前提&lt;/h3&gt;
&lt;p&gt;Wi-Fi 設定 → 本体登録 → 家電登録 → 連携設定、と工程が多い。アプリの UI だけで完結する作りではないので、説明書か公式の手順ページを並べて進めるのが結局一番早い。&lt;/p&gt;
&lt;p&gt;慣れたユーザーには大した手間ではないが、「箱を開けたら数分で動く」タイプのデバイスではないことは前提に置きたい。&lt;/p&gt;
&lt;h3 id=&quot;給電が-microusb-type-b&quot;&gt;給電が microUSB Type-B&lt;/h3&gt;
&lt;p&gt;2026 年時点では型落ちの端子。常時給電で抜き差ししない運用なら問題はないが、ケーブル管理上は USB Type-C の方が嬉しい。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for ラトックシステム スマート家電リモコン RS-WFIREX4&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;ラトックシステム スマート家電リモコン RS-WFIREX4&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07BLQ4M3M/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View ラトックシステム スマート家電リモコン RS-WFIREX4 on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;比較--rs-wfirex4-vs-switchbot-ハブ--nature-remo&quot;&gt;比較 — RS-WFIREX4 vs SwitchBot ハブ / Nature Remo&lt;/h2&gt;
&lt;p&gt;短い答え: コア機能はどれも同等。差は付加機能（Matter / ハブ機能 / セット販売）と価格帯で出る。&lt;/p&gt;

































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;RS-WFIREX4&lt;/th&gt;&lt;th&gt;SwitchBot ハブ 2&lt;/th&gt;&lt;th&gt;Nature Remo 3 / mini 2&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;価格帯（参考）&lt;/td&gt;&lt;td&gt;1万円以下&lt;/td&gt;&lt;td&gt;8,000〜10,000円前後&lt;/td&gt;&lt;td&gt;6,000〜13,000円前後&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;温度センサー&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;湿度センサー&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;mini 2 はなし&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;照度センサー&lt;/td&gt;&lt;td&gt;あり（3段階）&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;Remo 3 はあり&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;人感センサー&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;td&gt;Remo 3 はあり&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Alexa / Google / Siri&lt;/td&gt;&lt;td&gt;全対応&lt;/td&gt;&lt;td&gt;全対応&lt;/td&gt;&lt;td&gt;全対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Matter 対応&lt;/td&gt;&lt;td&gt;非対応&lt;/td&gt;&lt;td&gt;一部対応&lt;/td&gt;&lt;td&gt;一部対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;エコシステム&lt;/td&gt;&lt;td&gt;単独&lt;/td&gt;&lt;td&gt;SwitchBot ボタン押し器など豊富&lt;/td&gt;&lt;td&gt;単独寄り&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;給電&lt;/td&gt;&lt;td&gt;microUSB Type-B&lt;/td&gt;&lt;td&gt;USB Type-C&lt;/td&gt;&lt;td&gt;USB Type-C&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;※スペック・価格は変動するため最新情報は各メーカー公式を参照。&lt;/p&gt;
&lt;p&gt;選び方の目安は以下。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;値段重視で入門機がほしい&lt;/strong&gt;: RS-WFIREX4&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;物理ボタン押し器など SwitchBot 周辺機器も組みたい&lt;/strong&gt;: SwitchBot ハブ 2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;人感センサーで自動化を組みたい&lt;/strong&gt;: Nature Remo 3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;逆に言えば、コア機能（赤外線リモコン + センサー + スマートスピーカー連携）に絞れば、RS-WFIREX4 で大きな不足はない。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. Alexa と Google Home の両方に対応していますか？&lt;/strong&gt;
A. 対応している。アプリ内の連携設定からスキル / アクションを有効化すれば、両方から同じ家電を操作できる。Siri ショートカットも公式サポート対象。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 外出先からスマホで操作できますか？&lt;/strong&gt;
A. できる。RS-WFIREX4 本体が自宅 Wi-Fi 経由でメーカーのクラウドに接続しているため、スマホの回線が 4G / 5G でもアプリから操作できる。自宅のルーターが落ちると当然届かない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ボタンを押してから家電が反応するまでどのくらいかかりますか？&lt;/strong&gt;
A. 実使用での体感は2〜3秒。スマホ → クラウド → 本体 → 家電という経路を辿るので、物理リモコンと同じ即応性は出ない。連打すると重複コマンドが届くので、1回押して待つ運用が無難。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. どの家電に対応していますか？&lt;/strong&gt;
A. 赤外線リモコン付きの家電なら基本的に何でも登録できる。テンプレートが用意されているのはエアコン / テレビ / 照明 / 扇風機など主要ジャンル。テンプレート外でもリモコン信号を学習させれば動く。&lt;/p&gt;
&lt;h2 id=&quot;総評--最初の一台としてちょうどいい&quot;&gt;総評 — 「最初の一台」としてちょうどいい&lt;/h2&gt;
&lt;p&gt;派手さはないが、スマートリモコンに求められる基本機能をひととおり押さえた手堅い製品。&lt;/p&gt;
&lt;p&gt;1万円以下で Alexa / Google Home / Siri 全対応・センサー3種内蔵・小型筐体、というスペックの組み合わせは入門機として無難。レスポンス遅延と初期設定の難度は構造上の制約なので、買う前に許容できるか確認したい。&lt;/p&gt;
&lt;p&gt;逆に、Matter ベースのエコシステムや人感センサーによる自動化まで踏み込みたい人は、SwitchBot ハブ 2 や Nature Remo 3 を含めて比較することをおすすめする。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for ラトックシステム スマート家電リモコン RS-WFIREX4&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-07-rs-wfirex4/2021-03-07-RS-WFIREX4.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;ラトックシステム スマート家電リモコン RS-WFIREX4&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07BLQ4M3M/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View ラトックシステム スマート家電リモコン RS-WFIREX4 on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
</content:encoded><category>reviews</category><category>gadget</category><category>smart-home</category><category>iot</category></item><item><title>VuePress-GitHub-Netlifyで環境構築</title><link>https://aulvem.com/ja/blog/2021-03-06-netlify-setup/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-06-netlify-setup/</guid><description>GitHub のリポジトリを Netlify に連携して、静的サイトを無料で自動デプロイする初期設定の手順。VuePress 製サイトを前提に、アカウント作成・サイト追加・ビルド設定・2段階認証・無料枠の上限までを当時のスクリーンショット付きで残す。</description><pubDate>Sat, 06 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。Netlify の管理画面 UI と料金プランは 2021 年から変わっており、現行の手順とは一部ズレている。骨子としての「GitHub 連携 → ビルドコマンド指定 → 自動デプロイ」という流れは現在も同じなので、考え方の整理として残している。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;静的サイトのホスティング先として Netlify を選び、GitHub のリポジトリを連携して自動デプロイを動かすまでの初期設定をまとめる。当時のスクリーンショットをそのまま貼っているが、現在の Netlify の管理画面とはレイアウトが違うので、その点は割り引いて読んでほしい。&lt;/p&gt;
&lt;p&gt;この記事で扱うのは「アカウント作成」「リポジトリ連携」「ビルド設定」「2段階認証」「無料枠の確認」の 5 点。独自ドメインの設定は別記事に分けている。&lt;/p&gt;
&lt;h2 id=&quot;使用するサービス&quot;&gt;使用するサービス&lt;/h2&gt;
&lt;p&gt;短い答え: GitHub をコード管理、Netlify を静的ホスティングに使う最小構成。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt; — コード管理&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://app.netlify.com/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Netlify&lt;/a&gt; — 静的サイトホスティング&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;理由は、GitHub にプッシュした内容を Netlify が検知して自動でビルド・公開してくれるから。ローカルで書いて、push して、確認する、というシンプルな流れが作れる。&lt;/p&gt;
&lt;p&gt;全体的な流れは以下。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ローカルで開発・執筆&lt;/li&gt;
&lt;li&gt;GitHub にソースコードを push&lt;/li&gt;
&lt;li&gt;Netlify が検知してビルド・配信&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;注意: 以降の手順は GitHub のアカウント登録と 2 段階認証が済んでいることを前提に書いている。&lt;/p&gt;
&lt;h2 id=&quot;netlify-にアカウントを作る&quot;&gt;Netlify にアカウントを作る&lt;/h2&gt;
&lt;p&gt;短い答え: Netlify のトップから GitHub アカウントでサインインする。&lt;/p&gt;
&lt;p&gt;理由は、Netlify と GitHub を別々のアカウントで管理するより、OAuth 連携で済ませた方が後の手順が短いから。Netlify 側で個別のパスワードを作る必要もない。&lt;/p&gt;
&lt;p&gt;Netlify にアクセスすると以下の画面が出るので、GitHub のアカウントでログインする。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify Login&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-06-netlify-setup/2021-03-06-Netlify-login.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;注意: 2026 年現在は Netlify の UI が刷新され、サインアップのレイアウトとボタン位置は当時と異なる。OAuth で GitHub と連携する流れ自体は同じ。&lt;/p&gt;
&lt;h2 id=&quot;github-のリポジトリを連携する&quot;&gt;GitHub のリポジトリを連携する&lt;/h2&gt;
&lt;p&gt;短い答え: ダッシュボードの &lt;strong&gt;New site from Git&lt;/strong&gt; から GitHub を選び、対象リポジトリを指定する。&lt;/p&gt;
&lt;p&gt;理由は、Netlify は Git リポジトリの内容を起点に動くから。ローカルからの直接アップロード（drag &amp;amp; drop）も別の選択肢としてあるが、自動デプロイにしたいなら Git 連携が前提になる。&lt;/p&gt;
&lt;p&gt;ログイン後、&lt;strong&gt;New site from Git&lt;/strong&gt; をクリックするとデプロイ元の選択画面が表示される。GitHub を選び、対象リポジトリを選択する。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify Create a new site&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-06-netlify-setup/2021-03-06-Netlify-repository.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;注意: プライベートリポジトリも同じ手順で連携できる。組織所有のリポジトリの場合は、組織側で Netlify アプリの承認が必要になることがある。&lt;/p&gt;
&lt;h2 id=&quot;ビルド設定を入力する&quot;&gt;ビルド設定を入力する&lt;/h2&gt;
&lt;p&gt;短い答え: &lt;strong&gt;Branch&lt;/strong&gt;・&lt;strong&gt;Build command&lt;/strong&gt;・&lt;strong&gt;Publish directory&lt;/strong&gt; の 3 つを入力して &lt;strong&gt;Deploy site&lt;/strong&gt; を押す。&lt;/p&gt;
&lt;p&gt;理由は、Netlify はこの 3 つを起点に「どのブランチを」「どうビルドして」「どこを公開するか」を決めているから。フレームワーク（VuePress / Next.js / Astro など）によって値が変わる項目はここだけと言ってよい。&lt;/p&gt;
&lt;p&gt;リポジトリを選ぶと、ビルド設定の画面が出る。&lt;/p&gt;
&lt;img width=&quot;600&quot; alt=&quot;Netlify build settings&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-06-netlify-setup/2021-03-06-Netlify-repository-setting.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;VuePress 製サイトの場合の例:&lt;/p&gt;





















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;項目&lt;/th&gt;&lt;th&gt;値の例&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Branch&lt;/td&gt;&lt;td&gt;&lt;code&gt;master&lt;/code&gt; または &lt;code&gt;main&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Build command&lt;/td&gt;&lt;td&gt;&lt;code&gt;npm run build&lt;/code&gt;（VuePress の場合）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Publish directory&lt;/td&gt;&lt;td&gt;&lt;code&gt;docs/.vuepress/dist&lt;/code&gt;（VuePress 既定）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;入力後、&lt;strong&gt;Deploy site&lt;/strong&gt; をクリックするとビルドが走る。ステータスが &lt;strong&gt;Published&lt;/strong&gt; になればデプロイは成功。&lt;/p&gt;
&lt;p&gt;注意: ビルドコマンドを後から変更してデプロイが落ちるのはよくある事故。&lt;strong&gt;動いている設定を不用意に書き換えない&lt;/strong&gt; ようにする。Publish directory のパスを 1 階層間違えるだけで真っ白な画面になる。&lt;/p&gt;
&lt;h2 id=&quot;自動デプロイと-https&quot;&gt;自動デプロイと HTTPS&lt;/h2&gt;
&lt;p&gt;短い答え: 対象ブランチに push すると Netlify が自動でビルドし、HTTPS も自動で有効になる。&lt;/p&gt;
&lt;p&gt;理由は、Netlify は Let’s Encrypt を内部で扱っていて、独自ドメイン設定後も証明書の取得・更新を自動でやってくれるから。手動での設定操作は基本的に不要。&lt;/p&gt;
&lt;p&gt;具体的には、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;対象ブランチに push したタイミングでビルドが走る&lt;/li&gt;
&lt;li&gt;ビルド成功後、配信用の CDN に反映される&lt;/li&gt;
&lt;li&gt;独自ドメインを設定すると、Netlify 側で証明書が自動発行される&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;注意: 独自ドメインを当てた直後は反映に時間がかかる。当時の感覚では半日ほどで安定するが、DNS 伝搬の状況によって変わる。&lt;/p&gt;
&lt;h2 id=&quot;2段階認証を有効化する&quot;&gt;2段階認証を有効化する&lt;/h2&gt;
&lt;p&gt;短い答え: User settings の Security から &lt;strong&gt;Two-factor authentication&lt;/strong&gt; を有効にする。&lt;/p&gt;
&lt;p&gt;理由は、Netlify アカウントはサイトのデプロイ権限と独自ドメイン設定の権限を握っているから。乗っ取られると公開中のサイトを差し替えられる。最初の段階で 2FA を入れておく方が後悔が少ない。&lt;/p&gt;
&lt;p&gt;手順:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;右上の自分のアイコンをクリックし、&lt;strong&gt;User settings&lt;/strong&gt; を開く&lt;/li&gt;
&lt;li&gt;左メニューの &lt;strong&gt;Security&lt;/strong&gt; をクリック&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Two-factor authentication&lt;/strong&gt; の項目を有効化する&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;直リンクは以下。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://app.netlify.com/user/security#two-factor-authentication/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;https://app.netlify.com/user/security#two-factor-authentication/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;注意: 認証アプリ（Authy / 1Password / Google Authenticator など）のバックアップを取らずに端末を機種変更すると、自分でログインできなくなる。リカバリーコードは別の場所に保管しておく。&lt;/p&gt;
&lt;h2 id=&quot;無料枠について&quot;&gt;無料枠について&lt;/h2&gt;
&lt;p&gt;短い答え: Netlify の Starter プランは容量 100GB / ビルド時間 300 分/月（2021 年当時）。&lt;/p&gt;
&lt;p&gt;理由は、個人ブログ用途であれば、画像をある程度抑えていれば無料枠でほぼ収まる規模感だから。商用や高頻度更新になると話が変わる。&lt;/p&gt;
&lt;p&gt;当時の Starter プラン:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;帯域: 100GB / 月&lt;/li&gt;
&lt;li&gt;ビルド時間: 300 分 / 月&lt;/li&gt;
&lt;li&gt;サイト数の上限: 個人利用範囲&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参考までに、動画や非圧縮 PNG を大量に置くと帯域とビルド時間の両方が一気に削れる。WebP に変換する、外部の画像配信サービスに逃がすといった対策で、無料枠の範囲に収めやすくなる。&lt;/p&gt;
&lt;p&gt;注意: 2026 年現在は料金体系が改定されている。最新の上限は公式の &lt;a href=&quot;https://www.netlify.com/pricing/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Pricing&lt;/a&gt; を確認する。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. ビルドが失敗するときに最初に見るのはどこ？&lt;/strong&gt;
A. Deploy ログの「Build command」の出力。ローカルでは動くが Netlify で落ちる場合、Node.js のバージョン違いか、package-lock.json と環境変数の差が原因になっていることが多い。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ビルドコマンドを変更してサイトが見えなくなった。戻せる？&lt;/strong&gt;
A. Deploys タブから過去の成功ビルドを開き、「Publish deploy」で巻き戻せる。先にロールバックしてから、原因のあるコミットを修正する流れが安全。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 独自ドメインの設定はこの記事の範囲？&lt;/strong&gt;
A. 含めていない。お名前.com で取得したドメインを Netlify に当てる手順は別記事に分けている。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. Netlify と Vercel / Cloudflare Pages はどう違う？&lt;/strong&gt;
A. 静的サイトを GitHub から自動デプロイする、という核の体験は近い。料金体系・ビルド時間・エッジ機能の作りで差が出る。2021 年の選定理由は「日本語情報が当時揃っていた」「VuePress のサンプル設定が見つかりやすかった」の 2 点だった。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Netlify の初期設定は、GitHub と OAuth で繋ぎ、リポジトリを選び、ビルドコマンドと公開フォルダを 1 行ずつ指定する、それだけで一通り動く。HTTPS と再ビルドは自動で、最初に詰まりやすいのはビルドコマンドの指定ミスと、本人 PC からのアクセス除外漏れくらい。&lt;/p&gt;
&lt;p&gt;次の作業として、独自ドメイン設定は別記事に分けている。アクセス計測の除外設定や、画像配信先の選び方は、別の機会に書き直す予定。&lt;/p&gt;</content:encoded><category>build</category><category>VuePress</category><category>Netlify</category></item><item><title>カップヌードル リフィル用フタ付マグカップ レビュー — 底が広くデスクでこぼれにくいマグ</title><link>https://aulvem.com/ja/blog/2021-03-05-cupnoodlemug/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-05-cupnoodlemug/</guid><description>カップヌードルミュージアムで買ったリフィル用マグカップを日常デスク用途で半年以上使ったレビュー。底が広く倒れにくい、フタ付きでホコリが入らない、軽くて持ちやすい。耐熱ポリプロピレン製で電子レンジも可。</description><pubDate>Fri, 05 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。リフィル用マグカップ自体は現在も日清の公式オンラインショップやカップヌードルミュージアムショップで取り扱いがある。スペック表記は執筆当時の公称値で、最新の公式表記とは差分があり得る。Heavy リライト済み。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;カップヌードルミュージアムに行った帰り、ネタ半分で買って帰った「リフィル用フタ付マグカップ」。麺の詰め替え用に作られた製品なのだが、結局デスクの常駐カップとして毎日使うことになった。&lt;/p&gt;
&lt;p&gt;本来の麺用途より、デスクのコーヒー / 茶用マグとしての方が向いている気がしている。理由を以下にまとめる。&lt;/p&gt;
&lt;h2 id=&quot;結論--デスクで倒れにくいマグが欲しい人向け&quot;&gt;結論 — デスクで倒れにくいマグが欲しい人向け&lt;/h2&gt;
&lt;p&gt;短い答え: 底が広く重心が低いので、デスクでキーボードのそばに置いてもひっくり返しにくい。フタ付きでホコリが入らず、ポリプロピレン製で軽い。デザインのネタ性を許容できるなら、価格帯（1,000円未満）の割に実用性は高い。&lt;/p&gt;
&lt;p&gt;理由は3つ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;底面が一般的なマグより広い&lt;/strong&gt;: カップヌードル容器をそのまま再現した形状で、腕や袖が当たっても倒れにくい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;フタ付き&lt;/strong&gt;: 蒸気穴付きのフタが付属するので、放置中にホコリが入らない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;軽い&lt;/strong&gt;: ポリプロピレン製で陶器のマグよりかなり軽く、移動時の取り回しが楽&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただし以下に当てはまる人にはおすすめしない:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;見た目の主張が強いのが嫌な人&lt;/strong&gt;: カップヌードルのデザインそのままなので、職場やお客様の前で出したくない場面もある&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冷たい飲み物を結露込みで使いたい人&lt;/strong&gt;: 樹脂製なので保冷力は陶器より弱い&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観&quot;&gt;外観&lt;/h2&gt;
&lt;p&gt;短い答え: カップヌードル容器に取っ手を付けたデザイン。素材はポリプロピレンで、麺の詰め替え用に作られた製品なので底が広い。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;カップヌードルマグカップ正面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-05-cupnoodlemug/2021-03-05-CupNoodleMug-front.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;正面はカップヌードルのパッケージそのまま。知らない人が見ると「カップヌードルを飲んでいる」ように見える。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;カップヌードルマグカップとペンの大きさ比較&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-05-cupnoodlemug/2021-03-05-CupNoodleMug-size.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;サイズはノーマルサイズのカップヌードルとほぼ同じ幅・高さ（公称）。一般的なマグカップとして見ると、やや幅広・低めのプロポーション。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;カップヌードルマグカップを上から見た内側&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-05-cupnoodlemug/2021-03-05-CupNoodleMug-upward.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;img width=&quot;800&quot; alt=&quot;カップヌードルマグカップの底面&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-05-cupnoodlemug/2021-03-05-CupNoodleMug-bottom.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;内側には「お湯を注ぐ線」のリブが成形されている。底面は外径が広く、設置面積が大きい。一般的なマグカップが「上が広く下がすぼまる」プロポーションなのに対し、こちらは逆に近い。&lt;/p&gt;
&lt;p&gt;素材はポリプロピレン。耐熱は140℃と記載されている（公称）。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: 底面の広さによる安定感、フタによる防塵、軽さの3点。&lt;/p&gt;
&lt;h3 id=&quot;底が広く倒れにくい&quot;&gt;底が広く倒れにくい&lt;/h3&gt;
&lt;p&gt;最大の差別化要素。マグカップをデスクに置いていて、腕や袖が当たって倒すミスを何度も経験してきたが、このマグに変えてから半年以上ひっくり返したことがない。&lt;/p&gt;
&lt;p&gt;理由は、カップヌードル容器がそもそも「不安定な床に置いてもひっくり返らない」前提で設計されているから。重心が低く、底面が広い。&lt;/p&gt;
&lt;h3 id=&quot;フタが付いていてホコリが入らない&quot;&gt;フタが付いていてホコリが入らない&lt;/h3&gt;
&lt;p&gt;蒸気抜き穴が空いたフタが標準で付属する。ロック機構は無いので「持ち運んで通勤」用途には不向きだが、デスクに置きっぱなしの状況では十分。&lt;/p&gt;
&lt;p&gt;席を外している間にゴミやホコリが入らないだけで、衛生面の安心感がぜんぜん違う。&lt;/p&gt;
&lt;h3 id=&quot;軽くて取っ手が大きい&quot;&gt;軽くて取っ手が大きい&lt;/h3&gt;
&lt;p&gt;ポリプロピレン製なので陶器のマグよりかなり軽い。取っ手も指3本がしっかり入るサイズで、満タンに入れて運んでも持ちやすい。&lt;/p&gt;
&lt;p&gt;電子レンジ対応と記載されているので、冷めたコーヒーの再加熱もそのままできる。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: 詰め替え用カップヌードルが割高 / 樹脂特有のニオイ移り / 見た目を職場で出しにくい場面がある。&lt;/p&gt;
&lt;h3 id=&quot;詰め替え用カップヌードルリフィルが普通のカップヌードルより割高&quot;&gt;詰め替え用カップヌードル（リフィル）が普通のカップヌードルより割高&lt;/h3&gt;
&lt;p&gt;本来の用途である「リフィル麺をこのマグに入れてお湯を注ぐ」運用は、コスト面で割に合わない。普通サイズのカップヌードルを買う方が安いことが多い。&lt;/p&gt;
&lt;p&gt;生産規模を考えればリフィルが割高なのは仕方ないが、本来用途で使うつもりで買うと肩透かしを食らう。&lt;/p&gt;
&lt;h3 id=&quot;樹脂のニオイ移りがゼロではない&quot;&gt;樹脂のニオイ移りがゼロではない&lt;/h3&gt;
&lt;p&gt;ポリプロピレンなので、コーヒー・紅茶を入れたあとに洗っても若干の色 / ニオイ残りがある。陶器マグと比べた場合の話で、日常使用に困るレベルではない。&lt;/p&gt;
&lt;h3 id=&quot;職場で見た目を出しにくい場面がある&quot;&gt;職場で見た目を出しにくい場面がある&lt;/h3&gt;
&lt;p&gt;カップヌードルのデザインそのままなので、客先での会議や、堅めの職場では出しにくい。自席で1人で使う分には問題ないが、共有スペースで使う前提なら無地マグの方が無難。&lt;/p&gt;
&lt;h2 id=&quot;比較--他のデスク常駐マグとの違い&quot;&gt;比較 — 他のデスク常駐マグとの違い&lt;/h2&gt;
&lt;p&gt;短い答え: 「倒れにくさ」と「フタ付き」を両方満たす1,000円未満のマグカップは少ない。&lt;/p&gt;





















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;カップヌードル リフィル用フタ付マグ&lt;/th&gt;&lt;th&gt;一般的な陶器マグ&lt;/th&gt;&lt;th&gt;サーモス等タンブラー（フタ付き）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;倒れにくさ&lt;/td&gt;&lt;td&gt;底が広く倒れにくい&lt;/td&gt;&lt;td&gt;上下同径〜やや上が広く倒れやすい&lt;/td&gt;&lt;td&gt;底径次第、細身は倒れやすい&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;フタ&lt;/td&gt;&lt;td&gt;あり（蒸気穴あり、ロック無し）&lt;/td&gt;&lt;td&gt;別売り&lt;/td&gt;&lt;td&gt;あり（ロック可なものもある）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;重さ&lt;/td&gt;&lt;td&gt;軽い（樹脂）&lt;/td&gt;&lt;td&gt;重い&lt;/td&gt;&lt;td&gt;中（金属）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;保温&lt;/td&gt;&lt;td&gt;弱い（単層樹脂）&lt;/td&gt;&lt;td&gt;中&lt;/td&gt;&lt;td&gt;強い（真空二重）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;電子レンジ&lt;/td&gt;&lt;td&gt;可（公称）&lt;/td&gt;&lt;td&gt;物による&lt;/td&gt;&lt;td&gt;不可（金属）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;デザインの無難さ&lt;/td&gt;&lt;td&gt;主張強め&lt;/td&gt;&lt;td&gt;無難なものが多い&lt;/td&gt;&lt;td&gt;無難&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯&lt;/td&gt;&lt;td&gt;1,000円未満&lt;/td&gt;&lt;td&gt;数百円〜数千円&lt;/td&gt;&lt;td&gt;2,000円〜&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;「保温も完璧にしたい」ならサーモス系タンブラー、「無難な見た目で電子レンジも使いたい」なら普通の陶器マグ。「とにかくデスクで倒れないフタ付きを安く」が要件ならこれが刺さる。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for 日清 カップヌードル リフィル用フタ付マグカップ&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-05-cupnoodlemug/2021-03-05-CupNoodleMug.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;日清 カップヌードル リフィル用フタ付マグカップ&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B01LYSLENN/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View 日清 カップヌードル リフィル用フタ付マグカップ on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;faq&quot;&gt;FAQ&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. 食洗機は使えますか？&lt;/strong&gt;
A. パッケージ表記では非対応の場合がある。樹脂製なので高温の食洗機を繰り返すと変形リスクがあり、手洗いの方が安全。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. どこで買えますか？&lt;/strong&gt;
A. 日清食品のオンラインショップ、カップヌードルミュージアムのミュージアムショップ、各 EC モール。実店舗の販路は限定的なので、オンラインが現実的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 容量はどのくらいですか？&lt;/strong&gt;
A. ノーマルサイズのカップヌードルとほぼ同じ容量。普段使いの飲み物用としては、マグカップとしてやや大きめ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 子ども用にも使えますか？&lt;/strong&gt;
A. 軽くて割れない樹脂なので、陶器より子ども向きではある。ただしフタがロック式ではないので、こぼれ防止用途で使うならロック付きのキッズマグの方が安心。&lt;/p&gt;
&lt;h2 id=&quot;総評--ネタで買って実用品として残った&quot;&gt;総評 — ネタで買って実用品として残った&lt;/h2&gt;
&lt;p&gt;短い答え: 本来用途（リフィル麺）はコスト的に微妙だが、デスク常駐のフタ付きマグとして見ると価格対実用性が良い。&lt;/p&gt;
&lt;p&gt;カップヌードルミュージアムのおみやげとして買ったものが、半年以上経った今もデスクで毎日使われている。これは想定外だった。&lt;/p&gt;
&lt;p&gt;選定基準として「倒れにくいフタ付きマグを1,000円未満で」と設定すると、この製品は意外と競合が少ない。見た目のクセを許容できるかどうかで評価が分かれる。&lt;/p&gt;
&lt;p&gt;職場の自席用にもう1個追加するか、検討中。&lt;/p&gt;</content:encoded><category>reviews</category><category>dailyNecessities</category></item><item><title>VuePress で画像配置と sitemap を設定する — 2021 年の構築メモ（アーカイブ）</title><link>https://aulvem.com/ja/blog/2021-03-04-vuepress-image-sitemap/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-04-vuepress-image-sitemap/</guid><description>2021 年に VuePress 1.x で個人ブログを組んだときの、画像ディレクトリの切り方・favicon の指定方法・vuepress-plugin-sitemap と robots.txt の設定を当時の config.js とフォルダ構成つきで残す。</description><pubDate>Thu, 04 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。VuePress 1.x も vuepress-plugin-sitemap もメンテはほぼ停止しており、新規構築の参考にはならない。当時の image sitemap / 画像ディレクトリ設計の考え方として残している。コード片はすべて 2021 年時点の VuePress 1.x 前提。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;VuePress 1.x で個人ブログを組んでいた頃の、画像配置と sitemap 設定をまとめた記録。Markdown 記事と同じフォルダ構造で画像を管理し、favicon は config.js の head に直書きし、sitemap は vuepress-plugin-sitemap で出力する、という当時の定番構成をそのまま残している。&lt;/p&gt;
&lt;p&gt;この記事で扱うのは「画像ディレクトリの切り方」「favicon の指定」「sitemap プラグインの設定」「robots.txt の配置」の 4 点。大きな枠としての VuePress のディレクトリ構成は &lt;a href=&quot;https://aulvem.com/blog/2021-03-01-vuepress-structure/&quot;&gt;VuePress/blog のディレクトリ構成&lt;/a&gt; で別に書いている。&lt;/p&gt;
&lt;h2 id=&quot;結論--public-直下と-publicresources-を分ける&quot;&gt;結論 — public 直下と public/resources を分ける&lt;/h2&gt;
&lt;p&gt;短い答え: 画像と sitemap 関連のファイルは、配信ルートに直接出すものと、記事ごとに整理するものを物理的に分ける。&lt;/p&gt;
&lt;p&gt;VuePress 1.x は src/.vuepress/public 配下を dist のルートへそのままコピーする。つまり public 直下に置いたファイルは、ビルド後にサイト直下から配信される。favicon・robots.txt・sitemap.xml のように「ルート直下にあること自体に意味があるファイル」は public 直下に、記事画像のように「記事ごとに整理したいファイル」は public/resources 配下に分ける、という切り方にしている。&lt;/p&gt;
&lt;p&gt;理由は、両者を同じ階層に置くとファイル数が増えたときに見通しが落ちるから。public 直下に何百枚も記事画像を置くと、favicon が画像群に埋もれてしまう。&lt;/p&gt;
&lt;h2 id=&quot;対象ファイル&quot;&gt;対象ファイル&lt;/h2&gt;
&lt;p&gt;短い答え: 今回触るのは src/.vuepress 配下の public フォルダと config.js の 2 か所。&lt;/p&gt;
&lt;p&gt;具体的には以下の構成。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ public&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  ├─ resources&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  │  └─ category&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  │     └─ page&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  │        └─ img.jpg&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  ├─ top.jpg&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  ├─ favicon.ico&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  ├─ favicon.png&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  └─ robots.txt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ config.js&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意: より大きいスコープでのディレクトリ全体像は &lt;a href=&quot;https://aulvem.com/blog/2021-03-01-vuepress-structure/&quot;&gt;VuePress/blog のディレクトリ構成&lt;/a&gt; を参照。&lt;/p&gt;
&lt;h2 id=&quot;なぜ-image-sitemap-を整理するか&quot;&gt;なぜ image sitemap を整理するか&lt;/h2&gt;
&lt;p&gt;短い答え: 画像の所在をクローラに伝えるためと、執筆側で画像を見失わないため。&lt;/p&gt;
&lt;p&gt;image sitemap は sitemap.xml の中で各 URL に対して「このページにこの画像がある」を並べる拡張仕様。普通の sitemap はページ URL の一覧だが、image sitemap は画像 URL までクローラに渡せる。これにより画像検索からの流入経路が増える、というのが理屈上の利点。&lt;/p&gt;
&lt;p&gt;ただし VuePress 1.x の vuepress-plugin-sitemap 2.x は、標準では image エントリを sitemap に出力しない。本記事の構成は「画像が正しく配信され、ページ単位の sitemap が出ている」状態までで、image エントリ込みの厳密な image sitemap はカバーしていない。&lt;/p&gt;
&lt;h2 id=&quot;比較-image-sitemap-と通常-sitemap&quot;&gt;比較: image sitemap と通常 sitemap&lt;/h2&gt;






























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;通常 sitemap (sitemap.xml)&lt;/th&gt;&lt;th&gt;image sitemap&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;伝える対象&lt;/td&gt;&lt;td&gt;ページ URL の一覧&lt;/td&gt;&lt;td&gt;各ページ URL + そのページに含まれる画像&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Google への提供方法&lt;/td&gt;&lt;td&gt;Search Console / robots.txt&lt;/td&gt;&lt;td&gt;同左（拡張要素として埋め込む）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;vuepress-plugin-sitemap 2.x の対応&lt;/td&gt;&lt;td&gt;標準で生成&lt;/td&gt;&lt;td&gt;標準では非対応&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;個人ブログでの効きやすさ&lt;/td&gt;&lt;td&gt;必須レベル&lt;/td&gt;&lt;td&gt;画像検索流入を狙うなら追加で検討&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;理由として、画像検索からの流入は写真メディアでは効くが、テキスト主体の技術ブログでは大きく動かないことが多い。最初は通常 sitemap だけ整え、画像検索からの流入が見えてきた段階で image sitemap に踏み込む順序で十分だった。&lt;/p&gt;
&lt;h2 id=&quot;記事画像のディレクトリを決める&quot;&gt;記事画像のディレクトリを決める&lt;/h2&gt;
&lt;p&gt;短い答え: src/.vuepress/public/resources 配下に、記事ごとのフォルダを切って画像を置く。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ public&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      └─ resources&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;         └─ category&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;            └─ page&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;               └─ img.jpg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;理由は、Markdown 記事のフォルダ構成と画像のフォルダ構成を 1 対 1 に揃えると、後で記事を移動・削除したときに画像の所在を辿りやすいから。記事 1 本に画像が複数枚入るケースが多いので、ページ単位でフォルダを切っている。&lt;/p&gt;
&lt;p&gt;注意: フォルダ名は記事のスラッグと一致させる。記事側のリネームと画像フォルダのリネームを別タイミングでやるとリンク切れが起きる。&lt;/p&gt;
&lt;h2 id=&quot;共通画像と-favicon-を-public-直下に置く&quot;&gt;共通画像と favicon を public 直下に置く&lt;/h2&gt;
&lt;p&gt;短い答え: トップ画像・プロフィール画像・favicon は src/.vuepress/public 直下にまとめる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ public&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      ├─ favicon.ico&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      └─ favicon.png&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;理由は、まだ共通画像が 2〜3 枚しか無く、フォルダを切るほどでもない規模だから。共通画像が増えてきたら以下のように public/resources/common を切って引っ越す予定にしていた。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ public&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      └─ resources&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;         ├─ category&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;         └─ common&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;            └─ img.jpg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;favicon は VuePress に index.html が無いため、config.js の head 配列に link タグを書いて読ませる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;module&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;exports&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  head: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;link&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, { rel: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;icon&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, href: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;/resources/favicon.ico&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; }],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;PWA 化を狙うなら ico とは別に PNG の favicon を用意して、同じ階層に置いておく。当時はサイトの PWA 対応が中途半端だったため、その辺りの記述は省いている。&lt;/p&gt;
&lt;p&gt;注意: head の指定はビルド後の HTML すべてに反映される。href のパスを 1 階層間違えるとサイト全体で favicon が読まれなくなる。&lt;/p&gt;
&lt;h2 id=&quot;vuepress-plugin-sitemap-を入れて-hostname-を設定する&quot;&gt;vuepress-plugin-sitemap を入れて hostname を設定する&lt;/h2&gt;
&lt;p&gt;短い答え: vuepress-plugin-sitemap を plugins 配列に追加し、hostname と exclude を指定するだけで sitemap.xml が自動生成される。&lt;/p&gt;
&lt;p&gt;当サイトは &lt;a href=&quot;https://www.npmjs.com/package/vuepress-plugin-sitemap&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;vuepress-plugin-sitemap&lt;/a&gt; を使用していた（記事執筆時は &lt;code&gt;vuepress-plugin-sitemap: ^2.3.1&lt;/code&gt;）。設定は config.js で完結する。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;module&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;exports&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  plugins: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &amp;quot;sitemap&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        hostname: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;https://xxxx&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        exclude: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;https://xxxx/404.html&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;理由として、hostname は sitemap 内の URL 組み立てに使われるため必須。exclude は 404 ページのようにクロール対象から外したい URL を書く。それ以外の細かいオプションは個人ブログ規模では触らなくても困らなかった。&lt;/p&gt;
&lt;p&gt;注意: vuepress-plugin-sitemap 2.x は VuePress 1.x 向け。VuePress 2.x 系を使う場合は別パッケージになっており、設定 API も別物。&lt;/p&gt;
&lt;h2 id=&quot;robotstxt-を-public-直下に置く&quot;&gt;robots.txt を public 直下に置く&lt;/h2&gt;
&lt;p&gt;短い答え: robots.txt は &lt;strong&gt;必ず&lt;/strong&gt; src/.vuepress/public 直下に置く。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ public&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  └─ robots.txt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ config.js&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;理由は、VuePress では public 配下が dist のルートにコピーされる仕様だから。サブフォルダに置いてもルート直下から配信されず、クローラからは「robots.txt が無いサイト」として扱われる。&lt;/p&gt;
&lt;p&gt;中身は他のフレームワークと同じで構わない。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;User-agent : *&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Disallow :&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Sitemap : https://xxxx/sitemap.xml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sitemap 行を入れておくと、Search Console を介さなくてもクローラが sitemap.xml の場所を拾える。&lt;/p&gt;
&lt;p&gt;注意: Disallow を空のままにしているのは「全部許可」のつもりだが、後でステージング環境などを同じ仕組みで公開する場合は、環境ごとに robots.txt を切り替える運用にしておくと安全。&lt;/p&gt;
&lt;h2 id=&quot;注意点--当時詰まったところ&quot;&gt;注意点 — 当時詰まったところ&lt;/h2&gt;
&lt;p&gt;短い答え: 画像パスのつもりが favicon のパスとぶつかる、sitemap.xml のキャッシュが効きすぎる、の 2 点に当時引っかかった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;画像参照を &lt;code&gt;/img.jpg&lt;/code&gt; のように書くと、public 直下にあるファイルとパスがぶつかる。記事画像は &lt;code&gt;/resources/category/page/img.jpg&lt;/code&gt; のようにフルパスで書くルールに統一した&lt;/li&gt;
&lt;li&gt;sitemap.xml は CDN とブラウザの両方でキャッシュされやすく、デプロイ直後に Search Console から見ると古い内容のままになることがある。再ビルド後の URL を再送信して反映を確認する&lt;/li&gt;
&lt;li&gt;robots.txt と sitemap.xml はビルド後の dist 直下に出力されているかを毎回確認する。public 配下の置き場所をうっかり間違えると、ビルドは通るがルートに出ない、という最も気付きにくい事故になる&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. image sitemap と普通の sitemap.xml は別物？&lt;/strong&gt;
A. image sitemap は sitemap.xml の中で各 URL に image:image エントリを並べる拡張仕様。普通の sitemap がページの一覧だけなのに対し、image sitemap は「そのページにどんな画像があるか」までクローラに伝える。vuepress-plugin-sitemap 2.x は標準では image エントリを出力しないため、画像も含めて伝えたい場合は別途プラグインで拡張するか、自前で sitemap を生成し直す必要があった。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. なぜ public 直下ではなく public/resources を切ったのか？&lt;/strong&gt;
A. public 直下に全部置くと、記事画像・共通画像・favicon・robots.txt が同じ階層に混ざって見通しが悪くなる。public/resources を 1 階層挟むことで、記事画像（resources/カテゴリ/記事名）と公開ルート直下に置く必要があるもの（favicon・robots.txt）を物理的に分けられる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. VuePress 1.x の sitemap プラグインは 2026 年でも使えるか？&lt;/strong&gt;
A. 技術的にはまだ動くが、vuepress-plugin-sitemap も VuePress 1.x 自体もメンテはほぼ止まっている。新規構築なら Astro や Next.js のように sitemap 生成が公式に組み込まれている SSG を選んだ方が短期的にも長期的にも楽。既存サイトの保守なら、Node の LTS とプラグインのバージョンを固定して延命する形が現実的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. robots.txt を public 直下以外に置くとどうなる？&lt;/strong&gt;
A. ビルド後の dist 配下に robots.txt が出力されないので、ルート配信されず、クローラからは「robots.txt が無いサイト」として扱われる。VuePress では public 配下が dist のルートにコピーされる仕様のため、robots.txt を sitemap.xml と同じ階層で配信したいなら public 直下が唯一の置き場所になる。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;VuePress 1.x の image / sitemap 周りの初期設定は、public 直下と public/resources の役割を分け、favicon を config.js の head で読ませ、vuepress-plugin-sitemap で hostname と exclude を指定し、robots.txt を public 直下に置くだけで一通り回る。&lt;/p&gt;
&lt;p&gt;設定そのものは小さいが、画像ディレクトリの切り方は記事数が増えてから直すと痛みが大きい。最初に「記事画像と共通画像は別の階層」という線だけ引いておくと、後で困りにくい。&lt;/p&gt;
&lt;p&gt;2026 年現在の VuePress 1.x は新規構築の選択肢としては勧めにくいので、この記事は当時の構成思想を Astro などと比較するための資料として残している。&lt;/p&gt;</content:encoded><category>build</category><category>VuePress</category></item><item><title>JOBY ゴリラポッド JB01542-PKK レビュー — Web カメラを柱に巻きつけて固定するための小型三脚</title><link>https://aulvem.com/ja/blog/2021-03-03-jobygorillapod-jb01542-pkk/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-03-jobygorillapod-jb01542-pkk/</guid><description>JOBY ゴリラポッド JB01542-PKK を半年使ったレビュー。可動域の広い脚で柱や手すりに巻きつけられるのが最大の強み。Web カメラやスマホなど軽量機材の固定に向き、ミラーレスなど重い機材には不向き。</description><pubDate>Wed, 03 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。JOBY のゴリラポッド JB01542-PKK は 2026 現在も現行ラインの一部として流通しているが、後継・派生モデル（GorillaPod Mobile / Magnetic / 1K 等）も増えている。本記事はあくまで「Web カメラ固定」という個別ユースケースのレビューとして読んでほしい。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;リモートワークが始まった頃、机の脇にある柱に Web カメラを巻きつけて、目線より少し上に固定したかった。手持ちの汎用三脚ではどれも脚が伸びるだけで「柱に巻く」ができず、結局 JOBY のゴリラポッドを買い足した。&lt;/p&gt;
&lt;p&gt;買ったのは &lt;strong&gt;JOBY ゴリラポッド JB01542-PKK&lt;/strong&gt;（自由雲台 + 1/4 インチネジ、ミニサイズの可変脚タイプ）。半年ほど Web カメラ用途で常設したうえでのレビューを残しておく。&lt;/p&gt;
&lt;h2 id=&quot;結論--web-カメラを柱や手すりに固定したい人にはハマる&quot;&gt;結論 — Web カメラを柱や手すりに固定したい人にはハマる&lt;/h2&gt;
&lt;p&gt;短い答え: 可動域の広い 3 本脚を柱に巻きつけて、目線より上に Web カメラを固定する用途には素直に強い。一方で、ミラーレスのような重い機材を載せる三脚としては自重 50g 台と軽すぎるし、ボール雲台は微調整が利かない。「軽い機材を、変な場所に固定する」専用機と割り切ると満足度が高い。&lt;/p&gt;
&lt;p&gt;向く人:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在宅勤務で Web カメラやスマホを &lt;strong&gt;柱・手すり・棚&lt;/strong&gt; に巻きつけて固定したい&lt;/li&gt;
&lt;li&gt;旅行に 1 本だけ三脚を持っていきたい（スマホ・GoPro 用途）&lt;/li&gt;
&lt;li&gt;モニター縁や机の脚に &lt;strong&gt;変則的な置き方&lt;/strong&gt; をしたい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;向かない人:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ミラーレス + 標準ズーム以上を載せたい（耐荷重と自重がともに足りない）&lt;/li&gt;
&lt;li&gt;ボール雲台で 1° 単位の微調整をしたい&lt;/li&gt;
&lt;li&gt;クイックリリースで頻繁にカメラを脱着したい&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観--全身プラスチック--脚先ゴム自重-50g-台の小型三脚&quot;&gt;外観 — 全身プラスチック + 脚先ゴム、自重 50g 台の小型三脚&lt;/h2&gt;
&lt;p&gt;短い答え: 全体はプラスチック成形、脚の関節は球状で 360° 回転、脚先には滑り止めのゴムと小型磁石。手のひらにすっぽり収まるサイズ感で、Web カメラと組み合わせるとちょうど良いバランスになる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;JOBY ゴリラポッド JB01542-PKK 本体アップ&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-03-jobygorillapod-jb01542-pkk/2021-03-03-JobyGorillaPod-JB01542-PKK-up.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;分類としては &lt;strong&gt;1/4 インチネジの自由雲台付き&lt;/strong&gt; ミニ三脚。脚の関節がボール状に多数連なっていて、それぞれが独立して回転するので、結果として全体が自由に曲げられる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;JOBY ゴリラポッドの脚を曲げて可動域を見せた状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-03-jobygorillapod-jb01542-pkk/2021-03-03-JobyGorillaPod-JB01542-PKK-range-of-motion.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;可動域は手すり程度の太さ（直径 4cm 前後）なら脚 3 本で余裕で巻きつけられる。雲台のティルトはおおむね 90° までで、横倒し撮影もこなせる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;JOBY ゴリラポッドに GoPro を載せたサイズ感&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-03-jobygorillapod-jb01542-pkk/2021-03-03-JobyGorillaPod-JB01542-PKK-gopro.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;GoPro を載せるとこのくらいの大きさ。自重は約 52g（公称）、最大耐荷重は約 325g（公称）。ミラーレスでは重心が上に行きすぎてバランスを崩しやすい一方、スマホや GoPro、コンデジ、Web カメラとは相性がいい。&lt;/p&gt;
&lt;h2 id=&quot;良かった点&quot;&gt;良かった点&lt;/h2&gt;
&lt;p&gt;短い答え: 「柱に巻く」「モニター縁に挟む」「机の脚に絡める」のような &lt;strong&gt;置き場所を選ばない柔軟さ&lt;/strong&gt; が、ふつうの三脚との最大の差。&lt;/p&gt;
&lt;h3 id=&quot;脚の可動域が広い--柱手すり棚に巻きつけられる&quot;&gt;脚の可動域が広い — 柱・手すり・棚に巻きつけられる&lt;/h3&gt;
&lt;p&gt;ふつうの三脚は床に置いて使う前提だが、JB01542-PKK は脚 3 本がそれぞれ自在に曲がるので、円柱状のものに &lt;strong&gt;巻きつけて固定する&lt;/strong&gt; のが現実的にできる。リモートワークの常設用途では、机横の柱に巻きつけて Web カメラを顔より少し上に置く、という配置が一発で決まった。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;JOBY ゴリラポッドで Web カメラを柱に巻きつけて固定した状態&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-03-jobygorillapod-jb01542-pkk/2021-03-03-JobyGorillaPod-JB01542-PKK-web-camera.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;実際の常設状態。脚 1 本だけを柱の上に引っかけ、残りの 2 本を巻きつけて固定している。3 本全部を巻きつけても固定はできるが、脚 1 本を上向きに引っかけたほうがズレ落ちにくい。&lt;/p&gt;
&lt;h3 id=&quot;軽い--顔の高さに長時間置いても落下の罪悪感が薄い&quot;&gt;軽い — 顔の高さに長時間置いても落下の罪悪感が薄い&lt;/h3&gt;
&lt;p&gt;自重 50g 台。Web カメラ（100g 前後）と合わせても 200g に届かない。&lt;strong&gt;頭の高さに長時間ぶら下げる&lt;/strong&gt; 構成では、重さは即落下リスクなので、軽いこと自体が安心材料になる。震度 3 程度の揺れでもズレなかった（個人の試行範囲）。&lt;/p&gt;
&lt;h3 id=&quot;脚先の磁石でスチール棚やキャビネットに簡易固定できる&quot;&gt;脚先の磁石でスチール棚やキャビネットに簡易固定できる&lt;/h3&gt;
&lt;p&gt;脚先端に小型磁石が内蔵されている。スチール棚やキャビネット天板にコトッと置くだけで軽い吸着があり、巻きつけられない場所での簡易固定に役立つ。ただし吸着力単体でカメラを保持できるほど強くはないので、あくまで補助。&lt;/p&gt;
&lt;h3 id=&quot;クイックリリース非搭載が14-インチネジ機材だけ持つ人には逆に利点&quot;&gt;クイックリリース非搭載が、1/4 インチネジ機材だけ持つ人には逆に利点&lt;/h3&gt;
&lt;p&gt;Web カメラ・GoPro マウント・コンデジなど、自分が持っているカメラ側がすべて 1/4 インチネジ前提なら、クイックリリースは余計な変換を挟むだけ。JB01542-PKK は素直にネジ直結なので、変換アダプターを噛ませる必要がない。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点&quot;&gt;微妙だった点&lt;/h2&gt;
&lt;p&gt;短い答え: 自重が軽すぎてミラーレスを載せると重心が上に行きすぎる / ボール雲台が硬く微調整が苦手 / クイックリリースがないので頻繁な脱着には向かない。&lt;/p&gt;
&lt;h3 id=&quot;ミラーレスは重心が上に行きすぎる&quot;&gt;ミラーレスは重心が上に行きすぎる&lt;/h3&gt;
&lt;p&gt;耐荷重 325g（公称）はカタログ上クリアできるエントリー級ミラーレスもあるが、現実には &lt;strong&gt;重心が高くなるほど倒れやすい&lt;/strong&gt;。標準ズームを付けたミラーレスを試したところ、雲台のロックではなく脚の関節がたわむ方向にゆっくり倒れた。仕様外と割り切るのが安全で、ミラーレス以上は素直に大型三脚にしたほうがいい。&lt;/p&gt;
&lt;h3 id=&quot;ボール雲台が硬く1-単位の微調整が苦手&quot;&gt;ボール雲台が硬く、1° 単位の微調整が苦手&lt;/h3&gt;
&lt;p&gt;雲台の角度ロックは &lt;strong&gt;調節ネジを持たない圧入式&lt;/strong&gt; で、最初から強めの抵抗で固められている。落下防止には効くが、構図の微調整をしたいときに 5°〜10° 単位でしか動かしづらい。動画の水平を厳密に出したい人には不向き。&lt;/p&gt;
&lt;h3 id=&quot;クイックリリース非搭載は脱着頻度が高い人にはマイナス&quot;&gt;クイックリリース非搭載は脱着頻度が高い人にはマイナス&lt;/h3&gt;
&lt;p&gt;「1/4 インチネジ直結のメリット」と表裏一体。複数機材を頻繁に載せ替える運用だと、毎回ネジを回す手間が出る。常設運用前提なら問題にならない。&lt;/p&gt;
&lt;h2 id=&quot;比較&quot;&gt;比較&lt;/h2&gt;
&lt;p&gt;短い答え: 「床に置く三脚」と比べると &lt;strong&gt;置き場所の自由度&lt;/strong&gt; で圧勝。「他のフレキシブル三脚」と比べると、価格は安いが耐荷重と剛性で上位機（GorillaPod 1K / 3K 等）に劣る。&lt;/p&gt;
&lt;h3 id=&quot;vs-一般的な伸縮式三脚&quot;&gt;vs 一般的な伸縮式三脚&lt;/h3&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;JB01542-PKK&lt;/th&gt;&lt;th&gt;一般的な伸縮式ミニ三脚&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;設置場所&lt;/td&gt;&lt;td&gt;床・柱・手すり・棚縁&lt;/td&gt;&lt;td&gt;平らな床のみ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;高さ調整&lt;/td&gt;&lt;td&gt;脚の曲げ方で変える&lt;/td&gt;&lt;td&gt;エレベーターで段階調整&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;自重&lt;/td&gt;&lt;td&gt;約 52g（公称）&lt;/td&gt;&lt;td&gt;200〜500g 前後&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;耐荷重&lt;/td&gt;&lt;td&gt;約 325g（公称）&lt;/td&gt;&lt;td&gt;1〜3kg クラスが一般的&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;微調整&lt;/td&gt;&lt;td&gt;苦手（ボール雲台が硬い）&lt;/td&gt;&lt;td&gt;3way 雲台モデルなら得意&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯&lt;/td&gt;&lt;td&gt;安価&lt;/td&gt;&lt;td&gt;同価格帯〜上位まで幅広い&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;伸縮式は &lt;strong&gt;平らな床で重い機材を据える&lt;/strong&gt; のが得意。JB01542-PKK は &lt;strong&gt;平らでない場所に軽い機材を引っかける&lt;/strong&gt; のが得意。用途が違うので、選択は「どこに置きたいか」で決まる。&lt;/p&gt;
&lt;h3 id=&quot;vs-他のフレキシブル三脚gorillapod-シリーズ内&quot;&gt;vs 他のフレキシブル三脚（GorillaPod シリーズ内）&lt;/h3&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;JB01542-PKK&lt;/th&gt;&lt;th&gt;GorillaPod 1K Kit&lt;/th&gt;&lt;th&gt;GorillaPod 3K Kit&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;想定機材&lt;/td&gt;&lt;td&gt;スマホ・Web カメラ・GoPro&lt;/td&gt;&lt;td&gt;ミラーレス（軽量）&lt;/td&gt;&lt;td&gt;中型一眼レフ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;耐荷重&lt;/td&gt;&lt;td&gt;約 325g&lt;/td&gt;&lt;td&gt;約 1kg&lt;/td&gt;&lt;td&gt;約 3kg&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;雲台&lt;/td&gt;&lt;td&gt;簡易ボール&lt;/td&gt;&lt;td&gt;ボール + パン&lt;/td&gt;&lt;td&gt;ボール + パン + アルカスイス互換&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;クイックリリース&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;サイズ&lt;/td&gt;&lt;td&gt;ミニ（手のひら）&lt;/td&gt;&lt;td&gt;中型&lt;/td&gt;&lt;td&gt;大型&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;価格帯&lt;/td&gt;&lt;td&gt;最安&lt;/td&gt;&lt;td&gt;中位&lt;/td&gt;&lt;td&gt;上位&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;JB01542-PKK は GorillaPod シリーズ内では最も小型・軽量・安価なエントリーモデルという位置づけ。&lt;strong&gt;ミラーレス以上を想定するなら 1K 以上が安全圏&lt;/strong&gt;。逆に「Web カメラとスマホしか載せない」なら 1K の重さと価格はオーバースペックになる。&lt;/p&gt;
&lt;aside class=&quot;aff-card not-prose my-10 rounded-2xl border border-[color:var(--aulvem-border)] bg-[color:var(--aulvem-surface)] px-5 py-5 sm:px-6 sm:py-6 has-image&quot; aria-label=&quot;Buy links for JOBY ゴリラポッド 325 JB01542-PKK&quot; data-astro-cid-qoq25xnm&gt;&lt;div class=&quot;aff-image&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-03-jobygorillapod-jb01542-pkk/2021-03-03-JobyGorillaPod-JB01542-PKK.webp&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; data-astro-cid-qoq25xnm&gt;&lt;/div&gt;&lt;p class=&quot;aff-title&quot; data-astro-cid-qoq25xnm&gt;JOBY ゴリラポッド 325 JB01542-PKK&lt;/p&gt;&lt;div class=&quot;aff-buttons&quot; data-astro-cid-qoq25xnm&gt;&lt;a href=&quot;https://www.amazon.co.jp/dp/B07FVRDK87/?language=en_US&amp;amp;tag=aulvem-22&quot; aria-label=&quot;View JOBY ゴリラポッド 325 JB01542-PKK on Amazon Japan (primarily sold in Japan)&quot; rel=&quot;sponsored nofollow noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;aff-btn inline-flex items-center gap-2 rounded-lg border border-[color:var(--aulvem-border)] bg-white px-4 py-2.5 transition-colors hover:border-aulvem-orange&quot; style=&quot;font-size: 14px; font-weight: 500;&quot; data-astro-cid-qoq25xnm&gt;&lt;img src=&quot;https://api.iconify.design/fa6-brands/amazon.svg?color=%23FF9900&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;&quot; aria-hidden=&quot;true&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;display:block&quot; data-astro-cid-qoq25xnm&gt;&lt;span data-astro-cid-qoq25xnm&gt;View on Amazon Japan&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p class=&quot;aff-note&quot; data-astro-cid-qoq25xnm&gt;
Primarily sold in Japan. amazon.co.jp may ship internationally on select items.
&lt;/p&gt;&lt;/aside&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. ミラーレス一眼を載せても大丈夫ですか？&lt;/strong&gt;
A. メーカー公称の最大耐荷重は 325g 程度。エントリー級ミラーレス本体だけならギリギリだが、レンズを含めると超過することが多い。実用上はスマホ・コンデジ・Web カメラ・GoPro など 300g 以下の機材に絞ったほうが安心。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 1/4 インチネジ以外のカメラでも使えますか？&lt;/strong&gt;
A. 雲台は 1/4 インチネジのみ。クイックリリースは非搭載。一眼用のアルカスイス互換クランプを別途追加すれば実質的に共用できるが、自重が増えるので軽さの利点は薄れる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 脚の磁石はどのくらい強力ですか？&lt;/strong&gt;
A. 脚先端に小型磁石が内蔵されており、スチール棚やキャビネット天板など金属面に軽く吸着する。これ単体でカメラを保持するほどの強さはなく、巻きつけや脚開きの補助として使う想定。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 屋外撮影や旅行用途に向いていますか？&lt;/strong&gt;
A. 自重 50g 台と軽く、バッグの隙間に入る大きさなので携行性は高い。一方で風には弱いので、屋外で長秒露光やタイムラプスをする用途では石やバッグで重しをするか、フルサイズの三脚を併用するのが無難。&lt;/p&gt;
&lt;h2 id=&quot;総評--軽い機材を変な場所に置く専用機&quot;&gt;総評 — 「軽い機材を、変な場所に置く」専用機&lt;/h2&gt;
&lt;p&gt;汎用三脚としては力不足だが、&lt;strong&gt;Web カメラを柱に巻きつける&lt;/strong&gt; のような変則的な固定をしたい人にとってはこれ以外の選択肢がない、というタイプの製品。&lt;/p&gt;
&lt;p&gt;半年常設で使った範囲では、Web カメラ + JB01542-PKK の組み合わせはトラブルなく動いた。震度 3 程度の地震でもズレ落ちず、ボール雲台のロックも緩まなかった。&lt;/p&gt;
&lt;p&gt;逆にミラーレスを載せたい / 微調整したい / 頻繁に機材を載せ替えたい人には、上位の GorillaPod 1K Kit か、素直な伸縮式三脚のほうが満足度が高い。&lt;strong&gt;用途を絞れば強い、絞れないと弱い&lt;/strong&gt; 三脚。&lt;/p&gt;
</content:encoded><category>reviews</category><category>tripod</category><category>joby</category><category>camera-equipment</category></item><item><title>VuePress の Markdown 拡張メモ — Component / Slots / frontmatter（2021 アーカイブ）</title><link>https://aulvem.com/ja/blog/2021-03-02-vuepress-markdown/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-02-vuepress-markdown/</guid><description>2021 年に VuePress 1.x でブログを組んだときに使った Markdown 拡張（Vue Component 埋め込み、名前付き Container、frontmatter）の設定をまとめたメモ。2026 年視点での補足つき。</description><pubDate>Tue, 02 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。VuePress 1.x は新規構築の選択肢ではなくなったため、本文は「2021 年時点の Markdown 拡張メモ」として archive する目的で残す。Container や frontmatter の発想は MDX + Astro / Next.js にも引き継がれているので、比較資料として読んでもらえれば。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2021 年当時、Aulvem の前身ブログは VuePress 1.x で組んでいた。素の Markdown だけでは目次・補足ブロック・記事メタを扱いきれず、VuePress 独自の Markdown 拡張に何度か触ることになった。この記事はそのときの設定メモを、2026 年の視点で整理し直したもの。&lt;/p&gt;
&lt;p&gt;VuePress 1 系は 2026 年現在ほぼメンテが止まっており、新規プロジェクトでの採用は勧めない。それでも Container や Component 埋め込みの考え方は MDX 系に引き継がれているので、当時の決め方を残しておく価値はある。&lt;/p&gt;
&lt;h2 id=&quot;短い答え--vuepress-の-markdown-拡張は3層に分けて考える&quot;&gt;短い答え — VuePress の Markdown 拡張は3層に分けて考える&lt;/h2&gt;
&lt;p&gt;短い答え: VuePress 1.x の Markdown 拡張は「Vue Component 埋め込み」「名前付き Container（カスタムブロック）」「frontmatter」の3層に分けて捉えると整理しやすい。&lt;/p&gt;
&lt;p&gt;理由は、それぞれの層で関わる設定ファイルと責務が違うから。Component は &lt;code&gt;.vue&lt;/code&gt; ファイル側、Container は &lt;code&gt;index.js&lt;/code&gt; のプラグイン設定とスタイル、frontmatter は記事メタとテンプレート側、と分けて考えると settings を見失わずに済む。&lt;/p&gt;
&lt;p&gt;例として、繰り返し使う目次やフッターは Component、補足ボックスは Container、記事タイトル・カテゴリ・タグは frontmatter で表現する、という配分になる。&lt;/p&gt;
&lt;p&gt;注意: 2026 年現在は MDX + フレームワーク（Astro / Next.js）が同じ役割をもっと素直に扱えるため、ここから先は「当時の VuePress 1.x ではこうだった」という archive として読んでほしい。&lt;/p&gt;
&lt;h2 id=&quot;extendmarkdown--markdown-it-の挙動を上書きする入口&quot;&gt;extendMarkdown — markdown-it の挙動を上書きする入口&lt;/h2&gt;
&lt;p&gt;短い答え: &lt;code&gt;config.js&lt;/code&gt; の &lt;code&gt;markdown.extendMarkdown&lt;/code&gt; で markdown-it インスタンスを直接いじれる。&lt;/p&gt;
&lt;p&gt;VuePress 1.x は内部で markdown-it を使って Markdown をパースしており、&lt;code&gt;extendMarkdown&lt;/code&gt; はその設定を上書きするためのフック。改行の扱い、リンクの target、シンタックスハイライト周りなどをここで調整した。&lt;/p&gt;
&lt;p&gt;実際に使っていた設定は次のもの。エディタで改行した位置を &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; に変換する &lt;code&gt;breaks: true&lt;/code&gt; を有効にしている。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;markdown&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;  extendMarkdown&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;md&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    md.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;({ breaks: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; })&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;},&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意: &lt;code&gt;breaks: true&lt;/code&gt; は1文ごとに改行する日本語ブログでは便利だが、英文段落をひとかたまりに書く運用とは相性が悪い。記事の書き方に合わせて選ぶ設定で、デフォルトでオンにすべきものではない。&lt;/p&gt;
&lt;h2 id=&quot;markdown-中に-vue-component-を埋め込む&quot;&gt;Markdown 中に Vue Component を埋め込む&lt;/h2&gt;
&lt;p&gt;短い答え: VuePress では Markdown ファイルの中に Vue Component をそのまま書ける。&lt;/p&gt;
&lt;p&gt;理由は、VuePress のビルドが Markdown を一度 Vue SFC に変換してからレンダリングしているため。&lt;code&gt;.vue&lt;/code&gt; ファイル内と同じ記法でタグを書けば、ビルド時にコンポーネントとして解決される。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&amp;lt;Component名 /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;繰り返し使うブロック（記事下の関連リンク、フッター、目次など）はこの方法で Component 化していた。&lt;/p&gt;
&lt;p&gt;注意: Markdown と JSX 的な構文が同居するので、書き手側の前提知識が増える。読み手が編集者だけ・運用が小規模、というケースで効く設計で、外部ライターにも書いてもらうなら向かない。MDX も同じトレードオフを持つ。&lt;/p&gt;
&lt;h2 id=&quot;名前付き-container-でカスタムブロックを作る&quot;&gt;名前付き Container でカスタムブロックを作る&lt;/h2&gt;
&lt;p&gt;短い答え: &lt;code&gt;::: type タイトル&lt;/code&gt; 〜 &lt;code&gt;:::&lt;/code&gt; 記法で、独自スタイルのブロックを定義できる。&lt;/p&gt;
&lt;p&gt;VuePress 1.x はデフォルトで &lt;code&gt;tip&lt;/code&gt; / &lt;code&gt;warning&lt;/code&gt; / &lt;code&gt;danger&lt;/code&gt; の3種類を持っており、&lt;code&gt;index.js&lt;/code&gt; の &lt;code&gt;container&lt;/code&gt; プラグイン設定で type を増やせる。中身は通常の Markdown として書ける。&lt;/p&gt;
&lt;p&gt;書き方は次の通り。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;::: 表示タイプ タイトル名&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;中はMarkdown形式で記述出来ます。&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;::: &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;これを書くと、type 名に応じた CSS が当たるブロックとしてレンダリングされる。例:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;タイトル名&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;中はMarkdown形式で記述出来ます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;表示タイプは &lt;code&gt;index.js&lt;/code&gt; のプラグイン設定で定義する。&lt;code&gt;type&lt;/code&gt; が表示タイプ名、&lt;code&gt;defaultTitle&lt;/code&gt; がタイトル未指定時のラベル、&lt;code&gt;&amp;#39;/&amp;#39;&lt;/code&gt; キーは言語ごとに切り替えるための prefix（当サイトは日本語デフォルトなので &lt;code&gt;/&lt;/code&gt; のままで動く）。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src   &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ theme&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      └─ index.js&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;module&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;exports&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;options&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;ctx&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;  return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    plugins: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;container&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        type: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;type名&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        defaultTitle: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;          &amp;#39;/&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;デフォルトタイトル名&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      }],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;スタイル定義は &lt;code&gt;custom-blocks.styl&lt;/code&gt; 側に置いていた。&lt;code&gt;tip&lt;/code&gt; / &lt;code&gt;warning&lt;/code&gt; / &lt;code&gt;danger&lt;/code&gt; の隣に、追加した type 名のセレクタを書き足す形。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src   &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ theme&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      └─ styles&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;         └─ custom-blocks.styl&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;css&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;.tip&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;.warning&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  &amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;.danger&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意: Container は markdown-it-container プラグインの仕組みであり、Markdown 寄りの軽量な拡張。JSX 的に任意のコンポーネントを呼び出したいなら、Component 埋め込みか MDX 側に倒すほうが向く。&lt;/p&gt;
&lt;h2 id=&quot;frontmatter--記事メタを-markdown-の先頭に置く&quot;&gt;frontmatter — 記事メタを Markdown の先頭に置く&lt;/h2&gt;
&lt;p&gt;短い答え: YAML 形式の frontmatter で、記事のタイトル・公開日・カテゴリ・タグ・画像などを定義する。&lt;/p&gt;
&lt;p&gt;VuePress 側のテンプレートと plugin-blog の &lt;code&gt;frontmatters&lt;/code&gt; 設定が、ここで宣言した値を読み取り、一覧ページや個別ページにメタを反映する。当時使っていた frontmatter は次のような形。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;title: 【使い方】VuePress/plugin-blogを使用してブログを自作｜Markdown編&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;date: 2021-03-02&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;category:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  - skill&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;tag: &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  - VuePress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;image: {{Path}}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;location: japan &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;tag&lt;/code&gt; は plugin-blog の &lt;code&gt;frontmatters&lt;/code&gt; に登録した名前を入れると、&lt;code&gt;$tag&lt;/code&gt; や &lt;code&gt;$currentTag&lt;/code&gt; に集計されて一覧に出る。&lt;code&gt;category&lt;/code&gt; は登録なしで使えるが、内部の分類用に手で揃えていた。&lt;code&gt;image&lt;/code&gt; は OG 画像兼サムネ。&lt;/p&gt;
&lt;p&gt;注意: frontmatter のキー名はフレームワークごとに違う。VuePress 1.x は &lt;code&gt;date&lt;/code&gt; / &lt;code&gt;tag&lt;/code&gt; / &lt;code&gt;category&lt;/code&gt;（単数形）だったが、Aulvem 現行（Astro）は &lt;code&gt;pubDate&lt;/code&gt; / &lt;code&gt;tags&lt;/code&gt; / &lt;code&gt;category&lt;/code&gt; で揃えており、移植時にここでつまずきやすい。&lt;/p&gt;
&lt;h2 id=&quot;markdown-系フォーマット比較2026-年視点&quot;&gt;Markdown 系フォーマット比較（2026 年視点）&lt;/h2&gt;









































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;素の Markdown&lt;/th&gt;&lt;th&gt;VuePress 1.x Markdown&lt;/th&gt;&lt;th&gt;MDX&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;ベース&lt;/td&gt;&lt;td&gt;CommonMark / GFM&lt;/td&gt;&lt;td&gt;markdown-it + 拡張&lt;/td&gt;&lt;td&gt;Markdown + JSX&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;コンポーネント埋め込み&lt;/td&gt;&lt;td&gt;不可&lt;/td&gt;&lt;td&gt;Vue Component を直書き&lt;/td&gt;&lt;td&gt;任意の JSX / コンポーネント&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;カスタムブロック&lt;/td&gt;&lt;td&gt;引用 / リスト程度&lt;/td&gt;&lt;td&gt;&lt;code&gt;::: type&lt;/code&gt; 記法（Container）&lt;/td&gt;&lt;td&gt;JSX コンポーネントで代替&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;frontmatter&lt;/td&gt;&lt;td&gt;ツール依存&lt;/td&gt;&lt;td&gt;あり（YAML）&lt;/td&gt;&lt;td&gt;あり（ツール依存）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2026 年の主な使い所&lt;/td&gt;&lt;td&gt;README / Issue&lt;/td&gt;&lt;td&gt;既存 VuePress 1.x サイト保守&lt;/td&gt;&lt;td&gt;Astro / Next.js などの静的サイト&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;VuePress 1.x の Container や Component 埋め込みは「Markdown を JSX 寄りに拡張する」発想の先駆けで、MDX が今ほぼ同じ役割を担っている。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. VuePress の Markdown と普通の Markdown は何が違うか？&lt;/strong&gt;
A. VuePress は markdown-it ベースの Markdown に、Vue Component の埋め込み・名前付き Container（&lt;code&gt;::: tip&lt;/code&gt; など）・frontmatter・PrismJS によるコードハイライトを追加した拡張版を出力する。素の Markdown より表現力は高いが、ビルド時に Vue ランタイムが前提になる点が違う。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. VuePress の Container（::: tip など）と MDX のコンポーネントの違いは？&lt;/strong&gt;
A. Container は markdown-it-container プラグインで実装された記法で、Markdown 寄りの軽量な拡張。MDX は Markdown の中に JSX をそのまま書ける別仕様で、任意の React / Vue コンポーネントを式として埋め込める。Container はカスタムブロック、MDX は完全な JSX、と責務の広さが違う。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 2026 年に VuePress 1.x を新規採用する意味はあるか？&lt;/strong&gt;
A. ほとんどない。VuePress 1 系はメンテが実質止まっており、Vue 系で続けるなら VitePress、汎用なら Astro や Next.js + MDX のほうが情報量も拡張性も多い。既存サイトの保守目的でのみ残す形が現実的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. extendMarkdown の breaks: true は必要か？&lt;/strong&gt;
A. 好みによる。エディタで改行したところを &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; に変換する設定で、日本語ブログのように1文ごとに改行する書き方では便利。一方で英文のように段落をひとかたまりに書く場合は不要で、むしろ意図しない改行が増える原因になる。&lt;/p&gt;
&lt;h2 id=&quot;2026-年に同じことをやるなら何を選ぶか&quot;&gt;2026 年に同じことをやるなら何を選ぶか&lt;/h2&gt;
&lt;p&gt;短い答え: Vue を残したいなら VitePress、フレームワーク非依存で書きたいなら Astro + content collections + MDX が近い体験になる。&lt;/p&gt;
&lt;p&gt;理由は、VuePress 1 系がメンテほぼ停止である一方、VitePress は VuePress の後継として Vue チームが整理した形で、Astro は Markdown / MDX をネイティブに扱えるよう設計されているため。Aulvem は最終的に Astro に移行している。&lt;/p&gt;
&lt;p&gt;注意: 2026 年時点での各ツールの正確な状態（最新版、メンテ体制、デフォルト機能）は公式ドキュメント側で確認してほしい。本記事はあくまで「2021 年に VuePress 1.x で書いた人が、後から振り返って整理した」観点のメモであり、現行ツール選定のリファレンスではない。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;VuePress 1.x の Markdown は、素の Markdown に Component 埋め込み・名前付き Container・frontmatter を足した拡張版で、当時は小〜中規模のドキュメント / ブログ用途に十分な表現力を持っていた。&lt;/p&gt;
&lt;p&gt;2026 年現在、その役割は MDX + Astro / Next.js + content collections に置き換わっている。VuePress 時代の発想（記事メタを frontmatter で持つ、補足ブロックを記法で書く、再利用はコンポーネント化する）はそのまま新しいスタックでも通用するので、当時の設計記録としてこの記事を残しておく。&lt;/p&gt;
</content:encoded><category>build</category><category>VuePress</category></item><item><title>Belis ワイヤレステンキー レビュー — 電卓キー付き・USB 2.4GHz の薄型テンキー</title><link>https://aulvem.com/ja/blog/2021-03-01-belis-numerickeypad/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-01-belis-numerickeypad/</guid><description>Belis ワイヤレステンキーを使ってみたレビュー。USB 2.4GHz の安定通信と電卓キーが強み、LED の主張が強いのが弱み。ほかのテンキーと比較しながら向き不向きを整理する。</description><pubDate>Mon, 01 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。Belis ブランドのテンキーはロット違いで型番・スペックが変動するため、購入前に商品ページで「USB 2.4GHz」「電卓キー」「シザースイッチ」の3点を必ず確認すること。本文中のスペック値は執筆当時の購入個体のもの。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;テンキーレスのキーボードで電卓的な数字打鍵をしていると、ホームポジションから指を伸ばすコストが地味に効いてくる。数字入力を1日に何度も挟む作業なら、独立したテンキーを横に置く方が早い。&lt;/p&gt;
&lt;p&gt;そこで買ったのが Belis のワイヤレステンキー。価格帯としては手頃な部類で、USB 2.4GHz・電卓キー・薄型筐体という条件を満たしている。半年ほど使った視点で整理する。&lt;/p&gt;
&lt;h2 id=&quot;結論--電卓キーを毎日叩く人なら買い&quot;&gt;結論 — 電卓キーを毎日叩く人なら買い&lt;/h2&gt;
&lt;p&gt;短い答え: 電卓キーが独立していて、USB 2.4GHz レシーバーで遅延なく繋がり、薄型でデスクの端に置きやすい。電卓を業務で立ち上げる頻度が高いなら、価格分の価値はある。&lt;/p&gt;
&lt;p&gt;理由は、Windows のアプリケーションキーに電卓を割り当てて使っていた手間が、専用キー1発に置き換わるから。1日に十数回発生する操作が、毎回1〜2秒短縮される。&lt;/p&gt;
&lt;p&gt;ただし以下に該当するなら別候補も検討した方がよい:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;打鍵中に視界に光るものが入るのが嫌な人&lt;/strong&gt;: 電源 ON 中は赤 LED が常時点灯する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;薄型ではなく機械式の打鍵感が好きな人&lt;/strong&gt;: シザースイッチのため、メカニカル相当のクリック感はない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mac で使いたい人&lt;/strong&gt;: 電卓キーが Mac で動くかは個体・OS バージョン依存&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;外観--黒の半光沢6-度の傾斜単4電池駆動&quot;&gt;外観 — 黒の半光沢、6 度の傾斜、単4電池駆動&lt;/h2&gt;
&lt;p&gt;短い答え: 黒の半光沢仕上げで、薄型筐体に約 6 度の傾斜がついた、シザースイッチ採用のワイヤレステンキー。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Belis ワイヤレステンキーの正面外観&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-01-belis-numerickeypad/2021-03-01-Belis-Numerickeypad-front.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;天面は黒の半光沢。安っぽさはなく、デスクに置いたときの存在感は控えめ。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Belis ワイヤレステンキーの側面 — 約6度の傾斜&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-01-belis-numerickeypad/2021-03-01-Belis-Numerickeypad-side.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;側面から見ると手前が薄く、奥に向かって約 6 度ほど立ち上がる形状（実測）。打鍵時に手首が反りすぎないちょうどよい角度。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Belis ワイヤレステンキーの裏面 — 電源スイッチと電池蓋&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-01-belis-numerickeypad/2021-03-01-Belis-Numerickeypad-back.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;裏面左上に電源スイッチ。給電は単4電池2本で、滑り止めのゴム足は機能している。充電池ではなく乾電池式なので、ケーブル取り回しの心配がない代わりに、電池の在庫管理は必要。&lt;/p&gt;
&lt;h2 id=&quot;良かった点--電卓キー無線の安定性シザーの打鍵感&quot;&gt;良かった点 — 電卓キー、無線の安定性、シザーの打鍵感&lt;/h2&gt;
&lt;p&gt;短い答え: 電卓キーが押したい瞬間にすぐ叩けること、USB 2.4GHz が想像以上に安定していること、シザースイッチの打鍵感がパンタグラフより気持ちいいこと。&lt;/p&gt;
&lt;h3 id=&quot;電卓キーが独立している&quot;&gt;電卓キーが独立している&lt;/h3&gt;
&lt;p&gt;このテンキーを買った一番の理由でもあり、使ってみての一番の満足点でもある。&lt;/p&gt;
&lt;p&gt;それまでは Windows のアプリケーションキーに「電卓を起動」を割り当てて使っていたが、専用アイコン付きのキーが独立していると、視線で位置を確認しなくても押せる。&lt;strong&gt;押したい瞬間にスッと押せて、パッと電卓が立ち上がる&lt;/strong&gt;この動線が気持ちいい。&lt;/p&gt;
&lt;p&gt;経費精算・在庫数の概算・簡単な四則演算など、1日のなかで「今ちょっと電卓欲しい」と感じる回数は意外と多い。割り当てキーから専用キーへの差は、1回あたりは小さいが累積すると効いてくる。&lt;/p&gt;
&lt;h3 id=&quot;usb-24ghz-レシーバーで遅延を感じない&quot;&gt;USB 2.4GHz レシーバーで遅延を感じない&lt;/h3&gt;
&lt;p&gt;無線テンキーには Bluetooth 式と USB 2.4GHz 式があるが、過去に Bluetooth キーボードで「打ったのに数十ミリ秒遅れて画面に反映される」感覚があったので、今回は USB レシーバー式を選んだ。&lt;/p&gt;
&lt;p&gt;結果、半年使って数字入力時に遅延を感じた場面はゼロ。スリープ復帰直後でも待たされない。レシーバーを1ポート占有するのが許せるなら、安定性は Bluetooth より素直。&lt;/p&gt;
&lt;h3 id=&quot;シザースイッチの打鍵感が思いのほか良い&quot;&gt;シザースイッチの打鍵感が思いのほか良い&lt;/h3&gt;
&lt;p&gt;事前にはノートPC のパンタグラフキーボードに近いものを想像していたが、実物はもう少しクリック感がある。シザースイッチを使うのは初めてだったが、薄型キーボードとメカニカルの中間くらいの感触で、長時間打っても指先が疲れにくい。&lt;/p&gt;
&lt;p&gt;数字入力に特化した用途なら必要十分。&lt;/p&gt;
&lt;h2 id=&quot;微妙だった点--led-が打鍵中に主張する&quot;&gt;微妙だった点 — LED が打鍵中に主張する&lt;/h2&gt;
&lt;p&gt;短い答え: 電源 ON 中は本体の赤 LED が常時点灯し、視界の端で気になる。&lt;/p&gt;
&lt;img width=&quot;800&quot; alt=&quot;Belis ワイヤレステンキーの LED ライト — 電源 ON 時に赤く点灯&quot; src=&quot;https://pub-dfb37d47cd654d8aad6fc0ad2b6a6457.r2.dev/images/blog/2021-03-01-belis-numerickeypad/2021-03-01-Belis-Numerickeypad-light.webp&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;/&gt;
&lt;p&gt;写真だと控えめに写るが、実機を目の前に置くと、入力中に視界の隅で赤い点が常に光っている状態になる。電池消費の目安としては機能しているのだろうが、打鍵中の視覚ノイズとしては正直邪魔。&lt;/p&gt;
&lt;p&gt;回避策としては、テンキーをモニターから少し離した位置に置く、視線方向に LED が入らない置き方にする、くらい。LED の物理的なオフ機能はない（ロットによって仕様が異なる可能性あり）。&lt;/p&gt;
&lt;p&gt;長時間モニターと向き合う作業をするなら、置き場所で工夫する前提で考えた方がよい。&lt;/p&gt;
&lt;h2 id=&quot;比較-belis-ワイヤレステンキー-vs-ほかの選択肢&quot;&gt;比較: Belis ワイヤレステンキー vs ほかの選択肢&lt;/h2&gt;
&lt;p&gt;USB 2.4GHz・電卓キー・薄型という条件で比較対象になりやすい構成を並べる。価格・スペック値は執筆当時の参考値で、ロットや時期により変動する。&lt;/p&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;Belis ワイヤレステンキー&lt;/th&gt;&lt;th&gt;エレコム TK-TDM017 系（有線・電卓キー付き）&lt;/th&gt;&lt;th&gt;サンワサプライ Bluetooth テンキー&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;接続方式&lt;/td&gt;&lt;td&gt;USB 2.4GHz&lt;/td&gt;&lt;td&gt;USB 有線&lt;/td&gt;&lt;td&gt;Bluetooth&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;電卓キー&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;あり&lt;/td&gt;&lt;td&gt;モデルによる&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;キー方式&lt;/td&gt;&lt;td&gt;シザースイッチ&lt;/td&gt;&lt;td&gt;メンブレン中心&lt;/td&gt;&lt;td&gt;パンタグラフ／メンブレン&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;給電&lt;/td&gt;&lt;td&gt;単4電池×2&lt;/td&gt;&lt;td&gt;USB バスパワー&lt;/td&gt;&lt;td&gt;内蔵充電池 or 乾電池&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;遅延の懸念&lt;/td&gt;&lt;td&gt;低い&lt;/td&gt;&lt;td&gt;なし（有線）&lt;/td&gt;&lt;td&gt;やや高め（環境依存）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;デスクの取り回し&lt;/td&gt;&lt;td&gt;良い（無線・薄型）&lt;/td&gt;&lt;td&gt;ケーブル取り回しが要る&lt;/td&gt;&lt;td&gt;良い&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;スペックは執筆当時の購入個体・公開情報を参考にした概観で、最新ロットでは構成が変わっている可能性がある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bluetooth 遅延が気にならない人&lt;/strong&gt; → サンワサプライ系で OK。USB ポートを潰さない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;絶対に遅延ゼロが欲しい人&lt;/strong&gt; → 有線のエレコム TK-TDM017 系。電卓キー付きの選択肢が豊富&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;無線で USB ポートを1つ犠牲にできる人&lt;/strong&gt; → Belis のような USB 2.4GHz 機。安定と取り回しの両取り&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. Mac で電卓キーは動きますか？&lt;/strong&gt;
A. macOS 側で「電卓」アプリにキー割り当てが行えない場合、専用電卓キーは反応しないか別のキーとして認識される可能性がある。Windows での動作は確認済みだが、Mac は OS バージョン・ロット依存で挙動が変わるため、買う前に商品ページで Mac 対応の明記を確認した方が安全。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 電池はどのくらい持ちますか？&lt;/strong&gt;
A. 単4電池2本で、毎日数字入力を挟む使い方をして、購入当初に入っていた電池が約2〜3ヶ月（個体差あり）。使い終わりに電源スイッチを切る運用にすれば持ちはさらに伸びる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. ノートPC のキーボードと並べて使えますか？&lt;/strong&gt;
A. 薄型筐体なので、ノートPC の右側に並べてもキーボード面の段差が小さく、手の移動が自然。デスクトップの薄型キーボードと並べる場合は、傾斜角がほぼ揃うので違和感が少ない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. テンキーの配列はフルキーボードと同じですか？&lt;/strong&gt;
A. 数字部分の配列はフルキーボードのテンキー部と同じ。NumLock の挙動も標準的。ファンクションキーや一部の記号キーは独自配置になっているので、フル配列を完全再現したい人は事前に商品画像でレイアウトを確認すること。&lt;/p&gt;
&lt;h2 id=&quot;総評--電卓キーとusb-無線が刺さるなら選んで損はない&quot;&gt;総評 — 「電卓キー」と「USB 無線」が刺さるなら選んで損はない&lt;/h2&gt;
&lt;p&gt;人を選ぶ製品ではある。&lt;/p&gt;
&lt;p&gt;電卓キーが独立していること、USB 2.4GHz の無線で遅延が出にくいこと、薄型でデスクに馴染むこと — この3点が刺さるなら、価格に対する満足度は高い。事務作業で数字を多く扱う人、テンキーレスキーボードと組み合わせたい人には向いている。&lt;/p&gt;
&lt;p&gt;逆に、LED の主張が気になりやすい人、メカニカルの強い打鍵感が好きな人、Mac 中心の人は別候補を検討した方が後悔は少ない。&lt;/p&gt;
</content:encoded><category>reviews</category><category>PCPeripherals</category><category>numeric-keypad</category><category>wireless</category></item><item><title>VuePress/blog のディレクトリ構成 — 2021 年の構築メモ（アーカイブ）</title><link>https://aulvem.com/ja/blog/2021-03-01-vuepress-structure/</link><guid isPermaLink="true">https://aulvem.com/ja/blog/2021-03-01-vuepress-structure/</guid><description>2021 年に VuePress 1.x と @vuepress/plugin-blog 1.9 でブログを構築したときのディレクトリ構成と config.js の設定。当時の決め方を archive として残す。</description><pubDate>Mon, 01 Mar 2021 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026 追記&lt;/strong&gt;: 旧 VuePress ブログから移植した記事。VuePress 1.x はすでに新規開発の選択肢ではないため、本文は「2021 年時点の構築記録」としてアーカイブする目的で残している。ディレクトリの責務分割という考え方自体は Astro など現行の SSG にも通じるので、比較資料として読んでほしい。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;2021 年当時、Aulvem の前身となる個人ブログは VuePress 1.x と &lt;code&gt;@vuepress/plugin-blog&lt;/code&gt; で組んでいた。公式ドキュメント以外の情報が薄く、ディレクトリの切り方やプラグイン設定で何度も詰まったので、運用に乗せた時点でメモとして書き出したのがこの記事。&lt;/p&gt;
&lt;p&gt;2026 年の今は Astro 5 に乗り換えており、VuePress 1.x はメンテも実質止まっている。なので以下は「当時の決め方の記録」として読んでもらえれば。&lt;/p&gt;
&lt;h2 id=&quot;短い答え--vuepress-1x-の構成は-_posts-と-vuepress-の二分割&quot;&gt;短い答え — VuePress 1.x の構成は _posts と .vuepress の二分割&lt;/h2&gt;
&lt;p&gt;短い答え: 記事 Markdown を &lt;code&gt;_posts/&lt;/code&gt;、設定とテーマを &lt;code&gt;.vuepress/&lt;/code&gt; 配下に置く。これが plugin-blog を使う場合の定番だった。&lt;/p&gt;
&lt;p&gt;理由は責務分離。コンテンツ（書く頻度が高い）とフレームワーク設定（書く頻度が低い）を別ディレクトリに分けると、デプロイログや git diff の見通しが良くなる。&lt;/p&gt;
&lt;p&gt;具体的には次のような並びになる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├─ _posts                   各記事 Markdown&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  └─ category&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│     └─ page.md&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─ .vuepress&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ components            記事用コンポーネント vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  └─ Component.vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ public&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  └─ img.jpg&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ theme&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  ├─ components         コンポーネント vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  │  └─ Component.vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  ├─ layouts            ページレイアウト vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  │  └─ Layout.vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │  └─ styles&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   │     └─ style.styl&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   ├─ config.js             vuepress 設定 js&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   └─ enhanceApp.js         vue のプラグイン js&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;構築フェーズで触るのは &lt;code&gt;config.js&lt;/code&gt; / &lt;code&gt;enhanceApp.js&lt;/code&gt; / &lt;code&gt;theme/&lt;/code&gt; の 3 つ。運用フェーズで触るのは &lt;code&gt;_posts/&lt;/code&gt; と &lt;code&gt;public/&lt;/code&gt;。役割が違うので、構築が終わったら触るファイルが自然に切り替わる。&lt;/p&gt;
&lt;p&gt;注意点: この構成は VuePress 1.x + plugin-blog 1.9 系の前提。VuePress 2 系では設定ファイルの場所もテーマの仕組みも変わっているので、当時の設定をそのまま 2 系に持っていくと動かない。&lt;/p&gt;
&lt;h2 id=&quot;用語-静的サイトジェネレーターssgとは&quot;&gt;用語: 静的サイトジェネレーター（SSG）とは&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;SSG (Static Site Generator)&lt;/strong&gt;: Markdown などのソースをビルド時に静的 HTML に変換するツールの総称。リクエスト時に毎回サーバーで動かす CMS（WordPress 等）と違い、出来上がった HTML を CDN に置くだけで配信できる。VuePress / Astro / Next.js (output:static) / Hugo / Jekyll などが該当する。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;VuePress はこの SSG の一種で、Vue.js をベースに「Markdown を中心としたドキュメントサイト」を作ることに最適化されていた。plugin-blog はそこへ「ブログ的なルーティング（タグ・カテゴリ・記事一覧）」を後付けするプラグイン、と理解しておけばよい。&lt;/p&gt;
&lt;h2 id=&quot;configjs--サイト全体の設定ファイル&quot;&gt;config.js — サイト全体の設定ファイル&lt;/h2&gt;
&lt;p&gt;短い答え: &lt;code&gt;config.js&lt;/code&gt; は VuePress 本体と plugin-blog の設定を一緒に書く場所。サイトの言語・タイトル・ルーティングをここで決める。&lt;/p&gt;
&lt;p&gt;理由は集約。プラグインや locale を別ファイルに散らすこともできるが、1 ファイルにまとめておくと「サイトの仕様書」として読める。&lt;/p&gt;
&lt;p&gt;具体例は次のとおり。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;module&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;exports&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  locales: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &amp;#39;/&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: { lang: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;ja&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  title: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;Title(config.js)&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  plugins: [[&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &amp;#39;@vuepress/blog&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {directories: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        id: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;home&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        dirname: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;home&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        path: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        id: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;tech&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        dirname: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;_posts/tech&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        path: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;/tech/&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        itemPermalink: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;#39;/tech/:slug&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    frontmatters: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        id: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;tag&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        keys: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;tag&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        path: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;/tag/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        layout: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;Tag&amp;quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        scopeLayout: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&amp;quot;Tag&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ],},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ]]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;locales--デフォルト言語&quot;&gt;locales — デフォルト言語&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;locales&lt;/code&gt; でサイトの既定言語を決める。日本語サイトなら &lt;code&gt;/&lt;/code&gt; を &lt;code&gt;lang: &amp;#39;ja&amp;#39;&lt;/code&gt; にしておけば足りる。多言語化したい場合は &lt;code&gt;/en/&lt;/code&gt; を別キーで足す形になる。&lt;/p&gt;
&lt;h3 id=&quot;title--サイトタイトル&quot;&gt;title — サイトタイトル&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;title&lt;/code&gt; はサイト名として使う。Vue ファイル側からは &lt;code&gt;$siteTitle&lt;/code&gt; で参照できる。OG 画像生成やヘッダーロゴ差し替えのときに参照点になるので、ここを直接ハードコードしないのが運用上は楽。&lt;/p&gt;
&lt;h3 id=&quot;plugins--vuepress-プラグインの登録&quot;&gt;plugins — VuePress プラグインの登録&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;plugins&lt;/code&gt; 配列に VuePress プラグインを足していく。&lt;code&gt;@vuepress/blog&lt;/code&gt; を含む各プラグインは、設定オプションを渡したい場合に「文字列単体」ではなく &lt;code&gt;[name, options]&lt;/code&gt; のタプルにする、というのが当時のルールだった。&lt;/p&gt;
&lt;p&gt;詳細オプションは各プラグインのドキュメント側に当たる必要がある。ここに全部書こうとすると &lt;code&gt;config.js&lt;/code&gt; が肥大化するので、当時はコメントで参照先 URL を残していた。&lt;/p&gt;
&lt;h3 id=&quot;pluginsdirectories--url-のディレクトリ構成&quot;&gt;plugins/directories — URL のディレクトリ構成&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;directories&lt;/code&gt; で「どの Markdown フォルダをどの URL に出すか」を決める。Aulvem 前身ブログではカテゴリ構成をそのまま URL に落としたかったので、カテゴリ単位で配列要素を足していた。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  id: &amp;#39;tech&amp;#39;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  dirname: &amp;#39;_posts/tech&amp;#39;,       該当カテゴリの記事を置くファイル Path&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  path: &amp;#39;/tech/&amp;#39;,               /tech/{{記事のpath}}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  itemPermalink: &amp;#39;/tech/:slug&amp;#39;  {{記事のpath}}のフォーマット。:slug は日付を除いたファイル名&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意点: &lt;code&gt;dirname: &amp;#39;_posts/tech&amp;#39;&lt;/code&gt; の探索は &lt;strong&gt;直下までしか効かず孫ディレクトリは拾わない&lt;/strong&gt;（plugin-blog 1.9 系での挙動）。つまりカテゴリの階層は実質 1 段までだった。サブカテゴリを切りたい場合は &lt;code&gt;directories&lt;/code&gt; を増やすしかない。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;itemPermalink&lt;/code&gt; は日付パートを含めるかどうかを切り替えられる。私の場合は URL に日付を入れたくなかったので &lt;code&gt;:slug&lt;/code&gt; のみで運用した。SEO 上「URL に日付があると古さが出る」という当時の通説に従ったかたち（検索順位への影響の有無はケースバイケース）。&lt;/p&gt;
&lt;h3 id=&quot;pluginsfrontmatters--タグ機能&quot;&gt;plugins/frontmatters — タグ機能&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;frontmatters&lt;/code&gt; でタグを生成する。&lt;code&gt;keys: [&amp;quot;tag&amp;quot;]&lt;/code&gt; と書くと、Markdown の frontmatter に書いた &lt;code&gt;tag&lt;/code&gt; がタグページとして扱われるようになる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  id: &amp;quot;tag&amp;quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  keys: [&amp;quot;tag&amp;quot;],          Markdown の frontmatter に設定する Key&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  path: &amp;quot;/tag/&amp;quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  layout: &amp;quot;Tag&amp;quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  scopeLayout: &amp;quot;Tag&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;これを書くと、グローバルに &lt;code&gt;$tag&lt;/code&gt; と &lt;code&gt;$currentTag&lt;/code&gt; という変数が生える。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;$tag&lt;/code&gt; は全タグの一覧と、それぞれに紐づく記事リスト。タグ一覧ページを作るときに使う。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$currentTag&lt;/code&gt; は個別タグページを開いたときの「現在のタグ」の情報。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;$currentTag&lt;/code&gt; の中身はこういう形だった。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;現在のページの`$currentTag`オブジェクト内&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;key: &amp;quot;Vue&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;pageKeys: [&amp;quot;xxxxxx&amp;quot;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;pages: [{...}]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;path: &amp;quot;/tag/Vue/&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;scope: &amp;quot;tag&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意点: この種の「グローバル変数生成」型 API は、TypeScript との相性が悪い（型がつかない）。Astro の content collections のように、スキーマで型を強制する方が今は主流という感覚がある。&lt;/p&gt;
&lt;h2 id=&quot;enhanceappjs--vue-プラグインの差し込み口&quot;&gt;enhanceApp.js — Vue プラグインの差し込み口&lt;/h2&gt;
&lt;p&gt;短い答え: 通常の Vue プラグインを VuePress に組み込むためのエントリ。Vue.use を書く場所だと思えばよい。&lt;/p&gt;
&lt;p&gt;理由は VuePress 自体が裏で Vue インスタンスを生成しているため、ふつうの SPA のように &lt;code&gt;main.js&lt;/code&gt; で &lt;code&gt;Vue.use()&lt;/code&gt; できない。代わりに &lt;code&gt;enhanceApp.js&lt;/code&gt; が引数で &lt;code&gt;Vue&lt;/code&gt; インスタンスを渡してくれる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; VScrollLock &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;#39;v-scroll-lock&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; default&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; ({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Vue,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  options,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  router,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  siteData&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}) &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  Vue.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(VScrollLock)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意点: ここに重い処理を書くと、すべてのページの初期化が遅くなる。基本は &lt;code&gt;Vue.use&lt;/code&gt; だけに留めて、本格的なロジックはコンポーネント側に書く方がよかった。&lt;/p&gt;
&lt;h2 id=&quot;theme--レイアウトと-css-の置き場&quot;&gt;theme — レイアウトと CSS の置き場&lt;/h2&gt;
&lt;p&gt;短い答え: &lt;code&gt;theme/&lt;/code&gt; は記事以外の Vue ファイルと CSS を置くディレクトリ。&lt;code&gt;npm run eject&lt;/code&gt; でデフォルトテーマをコピーして上書きする運用だった。&lt;/p&gt;
&lt;p&gt;理由は VuePress のデフォルトテーマがそのままでは出力されないから。&lt;code&gt;eject&lt;/code&gt; を叩くと &lt;code&gt;.vuepress/theme/&lt;/code&gt; 配下にデフォルトテーマ一式が展開され、好きに書き換えられる。&lt;/p&gt;
&lt;p&gt;eject 直後のディレクトリはこうなる。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;theme&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── `global-components`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│   └── xxx.vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── `components`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│   └── xxx.vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── `layouts`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│   ├── Layout.vue _(**Mandatory**)_&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│   └── 404.vue&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── `styles`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│   ├── index.styl&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│   └── palette.styl&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── `templates`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│   ├── dev.html&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│   └── ssr.html&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── `index.js`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── `enhanceApp.js`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── package.json&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;画面パーツの編集や追加は &lt;code&gt;components/&lt;/code&gt; 以下、CSS は Vue ファイル内か &lt;code&gt;styles/&lt;/code&gt; で書く。&lt;code&gt;layouts/Layout.vue&lt;/code&gt; は必須なので、消したり名前を変えたりすると即ビルドが落ちる。&lt;/p&gt;
&lt;p&gt;注意点: eject すると以後のテーマアップデートを自動で追従できなくなる。当時の私はそれを承知で乗せたが、今やるなら「最小限のオーバーライド」だけ書いて本体テーマを使い続ける構成の方が保守は楽（VuePress 2 系では別の仕組みになっている可能性あり）。&lt;/p&gt;
&lt;h2 id=&quot;比較表--vuepress-1x-と-2026-年の主要-ssg&quot;&gt;比較表 — VuePress 1.x と 2026 年の主要 SSG&lt;/h2&gt;
&lt;p&gt;当時の VuePress と、2026 年現在で同じ用途に使われやすい SSG の責務感を並べておく。&lt;/p&gt;





























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;観点&lt;/th&gt;&lt;th&gt;VuePress 1.x (2021)&lt;/th&gt;&lt;th&gt;Astro 5 (2026)&lt;/th&gt;&lt;th&gt;Next.js (App Router)&lt;/th&gt;&lt;th&gt;Hugo&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;主言語&lt;/td&gt;&lt;td&gt;Vue 2&lt;/td&gt;&lt;td&gt;フレームワーク非依存&lt;/td&gt;&lt;td&gt;React&lt;/td&gt;&lt;td&gt;Go テンプレ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ターゲット&lt;/td&gt;&lt;td&gt;ドキュメント / 小規模ブログ&lt;/td&gt;&lt;td&gt;コンテンツサイト全般&lt;/td&gt;&lt;td&gt;アプリ含む広範囲&lt;/td&gt;&lt;td&gt;大量ページの静的サイト&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;設定ファイル&lt;/td&gt;&lt;td&gt;&lt;code&gt;.vuepress/config.js&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;astro.config.mjs&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;next.config.js&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;config.toml&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;記事の配置&lt;/td&gt;&lt;td&gt;&lt;code&gt;_posts/**&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;src/content/**&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;app/**&lt;/code&gt; または MDX 配置自由&lt;/td&gt;&lt;td&gt;&lt;code&gt;content/**&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;型安全&lt;/td&gt;&lt;td&gt;なし（グローバル変数）&lt;/td&gt;&lt;td&gt;content collections で zod&lt;/td&gt;&lt;td&gt;TS と RSC&lt;/td&gt;&lt;td&gt;なし&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;部分ハイドレーション&lt;/td&gt;&lt;td&gt;全体が SPA&lt;/td&gt;&lt;td&gt;islands（既定で静的）&lt;/td&gt;&lt;td&gt;RSC + Client Component&lt;/td&gt;&lt;td&gt;静的のみ&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2026 のメンテ状況&lt;/td&gt;&lt;td&gt;1 系は実質停止&lt;/td&gt;&lt;td&gt;アクティブ&lt;/td&gt;&lt;td&gt;アクティブ&lt;/td&gt;&lt;td&gt;アクティブ&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;ここで言いたいのは優劣ではなく、責務の切り方が違うということ。「Markdown 中心のブログを静的に出力する」というユースケースだけなら VuePress 1.x の構成は十分機能していた。Aulvem 自体は記事数の増加と型安全を理由に Astro へ移った。&lt;/p&gt;
&lt;h2 id=&quot;よくある質問&quot;&gt;よくある質問&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q. VuePress 1.x は 2026 年でも使えるか？&lt;/strong&gt;
A. 動かすこと自体は可能。ただし plugin-blog を含めメンテはほぼ止まっており、依存パッケージの脆弱性対応も期待しづらい。新規構築では選ばない方が無難で、既存サイトの延命なら Node のバージョンと npm のロックファイルをきっちり固定するのが最低条件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. VuePress と Astro / Next.js の違いは？&lt;/strong&gt;
A. VuePress は Vue 2 ベースで「Markdown 中心のドキュメントサイト」が出発点。Astro はフレームワーク非依存で部分ハイドレーション（islands）を採用し、Markdown と動的部分を混在しやすい。Next.js は React 製で、静的サイトから動的アプリまで広く扱える。同じ「静的サイト」でも、扱える範囲と前提が違う。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. _posts と .vuepress を分ける意味は？&lt;/strong&gt;
A. 「記事コンテンツ」と「フレームワーク設定」の責務分離。書く頻度の違うものを別ディレクトリにまとめる発想自体は、Astro の &lt;code&gt;src/content/&lt;/code&gt; と &lt;code&gt;src/layouts/&lt;/code&gt; の分割にも引き継がれている。逆に Next.js の App Router のように &lt;code&gt;app/&lt;/code&gt; 配下にすべて並べる思想もあり、ここは設計趣味の領域。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q. 今から似た構成を組むなら何を選ぶ？&lt;/strong&gt;
A. Markdown 中心のブログなら Astro + content collections が体験的に最も近い。Vue を維持したい場合の後継候補は VitePress や Nuxt Content だが、それぞれカバー範囲が違うので、用途に合うかは公式ドキュメントで要確認。&lt;/p&gt;
&lt;h2 id=&quot;まとめ&quot;&gt;まとめ&lt;/h2&gt;
&lt;p&gt;VuePress 1.x の構成は「&lt;code&gt;_posts&lt;/code&gt; に書く、&lt;code&gt;.vuepress&lt;/code&gt; で設定する」というシンプルな責務分割の上に成り立っていた。当時はその素直さに助けられ、運用に乗せるまでこぎ着けられた。&lt;/p&gt;
&lt;p&gt;2026 年現在、Aulvem 本体は Astro 5 で動いている。同じディレクトリ分離の思想は形を変えて残っているので、この記事は「過去のスナップショット」として、現行 SSG との比較資料に使ってもらえればと思う。&lt;/p&gt;</content:encoded><category>build</category><category>VuePress</category></item></channel></rss>