カメラ初心者がカメラ沼に入ってみた。(長文)
会社を辞めたので、旅行なんかしたいと思ったことないのだけど、海外旅行をしてみようと思いたち、衝動的にExpediaとAirbnbでバリ島への航空券と宿泊先を予約した(出発8日前のチケットとか、取れるんですね)。で、どうせ海外行くならいい機会だからちゃんとしたカメラ買って風景とか撮りたいなとなり、以前からうっすら欲しかったカメラを買うことにした。私と同じカメラわからん人の助けになるように、購入に至るまでの検討過程をここに記す。また参考にしたWebサイトなども可能な限り添付していく。何を買ったかだけ知りたい人は末尾までスクロールしてくれ。ちなみに今これを書いている時点でカメラを箱から出していない。旅行までに練習する時間があるだろうか…。というか旅行の準備なにもしてない…。
やりたいこと
- 旅先で写真やムービーを撮りたい
- 日常でカメラを持ち歩いて、面白い構図とか撮りたい。
- いい感じにボケてる写真とか撮りたい。
- 予算は最大でコミコミ20万まで出してもいいかもしれないけど、できれば10万円前後に抑えたい。
ボディ要件
やりたいことから導き出される要件はこんな感じ
コンパクトであること
旅にせよ日常にせよ、「サッと取り出して取る」性は確保しておきたい。ガジェットの軽さは心の軽さに繋がる。あくまで日常の延長に写真の撮影を組み込みたいのだが、一眼レフやフルサイズミラーレスのように大きなカメラは、構えた瞬間に「カメラマン」になってしまうような気がして気後れしてしまう。そのため、今回は上級者向けであるフルサイズのカメラは除外し、マイクロフォーサーズかAPS-Cのミラーレスとした。
関係ないけど、一見そうは見えない小さなガジェットで大きなパフォーマンスを発揮するガジェットが私は好きだ。そこらへんは私がゲーミングPCとして Intel NUCを好んだのと似ているかもしれない。
ムービー撮影機能が強力であること(特に4K動画)
せっかく高品位レンズとセンサーを買うので、必要とあらばムービーにも使いたい。日常ではムービーの撮影機会はなかなか無いかもしれないが、少なくとも旅では歩きながら撮ったりもするだろう。そしてそのムービーはいい感じでなくてはならない(いい感じじゃなくて良いならスマホ使った方が便利なので)。
4K録画であることはそれほど必須ではないが、撮れるに越したことはない。
強力な手ぶれ補正
デジカメの手ぶれ補正は、写真を撮るときには単なる暗所でのブレ防止というだけでなく、一部の機種では夜景を手持ちだけで撮れるなど、表現の広がりをになう。これは特に旅行では使いどころがありそうである。
5軸手ぶれ補正 E-M5 Mark II | デジタル一眼カメラ OM-D | オリンパス
また、旅でのムービー撮影は歩きながらの撮影が想定されるが、その歩行による見苦しい手ブレを取り除くことはムービーを「いい感じ」にする上で極めて重要であろう。デジカメの手ブレ補正には、ボディ内手ぶれ補正とレンズ内手ぶれ補正、そしてその両方を組み合わせた方式がある。一般的にはレンズ内手ブレ補正のみのものは手ブレ補正の効果が少ないようだ。
手ぶれ補正の効果については以下の動画が分かりやすい。
レンズ内手ぶれ補正のみのα6400の手ブレを検証する動画
自撮り対応
ムービー撮影では自分を被写体にするケースが想定されるので、構図の確認のために自撮りに対応しているとうれしい。デジカメにおける自撮り対応とは、液晶ファインダーが縦(180度チルト)か横(バリアングル)かに180度回転するもののことを言う。
防塵防滴
デジタルカメラは極めて繊細なガジェットで、旅先での急な雨や砂浜などでの扱いは注意を要すると聞く。一部の機種は「防塵防滴」を謳っており、ラフな扱いが許されるようだ。それは良いのでチェック項目に追加した。
第一ラウンド:ネット調査
そう言うわけで、「コンパクト」「4K動画撮影機能」「自撮り対応」「手ぶれ補正機能の充実」を中心に見ていきたい。とはいえカメラ全然わからんので、この辺から読み始めて、出てくる機種の価格コムと公式ページを回ってスペックを確認していった。
キヤノン
EOS Kiss M

- 出版社/メーカー: キヤノン
- メディア: エレクトロニクス
- この商品を含むブログを見る
- コンパクト:本体重量 351g(軽量)
- 4K動画:対応
- 自撮り:対応(バリアングル液晶)
- 手ぶれ補正:レンズ内手ぶれ補正のみ
- 防塵防滴:非対応
キヤノン EOS KISS シリーズ初のミラーレス EOS Kiss M。EF-M規格レンズの選択肢が少ないことに否定的な意見が多いが、それは自分に問題になるかは分からなかった。店頭で触ってみた感じは、操作がわかりやすくて好印象だった。しかし、手ぶれ補正が「レンズ内手ぶれ補正」のみで弱かったり 、動画撮影中のAFが弱いらしいというレビューがあったので除外した。
ニコン
ヨドバシの売り場でニコンの機種は全て大きくて重かったので「プロ用なのかな」と考えあまり調査せずスルーした。
ソニー
- α6000/α6300
- タッチAFがついてないのは初心者には不便そうなので除外。
- α6400
- タッチAFついてるが、手ぶれ補正がレンズのみで弱いので除外。
- 参考レビュー: 【前編】SONY α6400をプロカメラマンが辛口レビュー。【Vlog用途】 - YouTube
- α6500
- タッチAFも内蔵手ブレ補正もついているが自撮りができないので除外。
ソニーのαシリーズは差別化のために機能を出し惜しみしているような…。
オリンパス
オリンパスのレンズはパナソニックとともにマイクロフォーサーズ規格を採用しており、選択肢が多いらしい。また、強力なボディ内手ぶれ補正による暗所や夜景の撮影能力をアピールする機種が多くみられた。
OM-D E-M10 Mark III
OM-D E-M10 Mark III | デジタル一眼カメラ OM-D | オリンパス

OLYMPUS ミラーレス一眼 OM-D E-M10 MarkIII ボディー シルバー
- 出版社/メーカー: オリンパス
- 発売日: 2017/09/15
- メディア: エレクトロニクス
- この商品を含むブログを見る
- コンパクト: 本体重量 362g(軽量)
- 手ぶれ補正:強力なボディ内手ぶれ補正。
- 4K動画:対応(4K@30p)
- 自撮り:非対応
- 防塵防滴:非対応
E-M10はコンパクトだし4Kも撮れるけど自撮りができないので除外。惜しい。
OM-D E-M5 Mark II
OM-D E-M5 Mark II | デジタル一眼カメラ OM-D | オリンパス

OLYMPUS ミラーレス一眼 OM-D E-M5 MarkII ボディー ブラック E-M5 MarkIIBody BLK
- 出版社/メーカー: オリンパス
- 発売日: 2015/02/20
- メディア: Camera
- この商品を含むブログ (3件) を見る
- コンパクト: 本体重量 417g(そこそこ軽量)
- 手ぶれ補正:強力なボディ内手ぶれ補正
- 自撮り:対応(バリアングル式)
- 4K動画:非対応
- 防塵防滴:対応
E-M5 Mk2 は自撮りができるのに4K動画に対応していないのが惜しい。しかし、オリンパス的には動画専用に強化された手ブレ補正やAF機能から「シネマクオリティ」と推しているので、4K撮影こそできないものの「動画の品質」自体には信頼をおけそうだ。公式の作例動画も良さそうである。この機種はすぐに後継機が出るという噂があり、そちらでは4Kに対応するのではないか。私は旅行が来週なので待てないが…。
参考にしたレビュー
パナソニック
オリンパスとならんでマイクロフォーサーズ陣営のパナソニック。オリンパスはスチルに強いが、パナソニックは動画につよいという定評があるらしい。
LUMIX DC-GF10/GF90/GF9
DC-GF10/GF90 | Gシリーズ 一眼カメラ | デジタルカメラ LUMIX(ルミックス) | Panasonic

パナソニック ミラーレス一眼カメラ ルミックス GF10 ダブルレンズキット 標準ズームレンズ/望遠ズームレンズ付属 オレンジ DC-GF10WA-D
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2019/06/20
- メディア: Camera
- この商品を含むブログを見る
- コンパクト:本体重量 269g(とても軽量)
- 自撮り:対応(180度チルト)
- 手ぶれ補正:なし
- 4K動画:対応
- 防塵防滴:非対応
ちいさくてかわいい入門機。キットにパンケーキレンズとかついてる。かわいいのに4K動画も取れたりする。USB充電機能とかもうれしい。しかし手ブレ補正はついていないので除外。他の機種にはだいたいついている、スマホと連携してGPS情報を設定する機能がないのも旅の記録としては不便かもしれない。
LUMIX DC-GX7 Mark III
DC-GX7MK3 | Gシリーズ 一眼カメラ | デジタルカメラ LUMIX(ルミックス) | Panasonic

パナソニック ミラーレス一眼カメラ ルミックス GX7MK3 ボディ ブラック DC-GX7MK3-K
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2018/03/15
- メディア: エレクトロニクス
- この商品を含むブログを見る
- コンパクト:本体重量 407g(そこそこ軽量)
- 自撮り:非対応
- 手ぶれ補正:ボディ内蔵
- 4K動画:対応(4k@30p)
- 防塵防滴:非対応
良さそうなカメラだが自撮り非対応なので除外。あと外部マイク端子がないようだ。ムービーとして使うなら、やはり小型でもいいのでマイクは装着しておきたいところだ。
新製品レビュー:Panasonic LUMIX GX7 Mark III (外観・機能編) - デジカメ Watch
LUMIX DMC-G8
DMC-G8|デジタルカメラ LUMIX(ルミックス)|Panasonic

パナソニック ミラーレス一眼カメラ ルミックス G8 ボディ 1600万画素 ブラック DMC-G8-K
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2016/10/21
- メディア: Camera
- この商品を含むブログを見る
- コンパクト:本体重量 453g (ちょっと重く大きい)
- 4K動画:対応(4K@30p)
- 自撮り:対応(バリアングル式)
- 手ぶれ補正:ボディ内蔵+レンズ内蔵式
- 防塵防滴:対応
4K動画、バリアングル、強力な手ぶれ補正と機能スペックが揃ったが、コンパクトさの観点ではでちょっと尻込みしてしまう。しかし有力候補だ。「生活の面白い視点を切り取る」がやや薄れ、「お仕事のムービーを撮影する」に近づいていく、のをどこまで許容するか、である。
LUMIX DC-G9 PRO
DC-G9 | Gシリーズ 一眼カメラ | デジタルカメラ LUMIX(ルミックス) | Panasonic

パナソニック ミラーレス一眼カメラ ルミックス G9 ボディ ブラック DC-G9-K
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2018/01/25
- メディア: エレクトロニクス
- この商品を含むブログを見る
- 4K動画:対応(4K@60p)
- 自撮り:対応(バリアングル式)
- 手ぶれ補正:ボディ内蔵+レンズ内蔵式
- 防塵防滴:対応
- 総重量:本体重量 586g(重い)
4K@60p対応かつ自撮り対応と、動画機能のかなりの充実を感じる。LUMIXのマイクロフォーサーズカメラとしては最上位機種である。機能的には申し分ないが、いかんせん旅に持って出るには大きく、重い。価格的にもボディのみでおよそ12万と、予算オーバーだ。
LUMIX DC-G99
DC-G99 | Gシリーズ 一眼カメラ | デジタルカメラ LUMIX(ルミックス) | Panasonic

パナソニック ミラーレス一眼カメラ ルミックス G99 ボディ 2030万画素 ブラック DC-G99-K
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2019/05/23
- メディア: Camera
- この商品を含むブログを見る
- 4K動画:対応(4K@60p)
- 自撮り:対応
- 手ぶれ補正:ボディ内蔵
- 防塵防滴:対応
- 総重量:484 g(やや重い)
G8とG9 PROの後継機らしい。実物は見ずにG9の後継機なら重いだろうとスルーしてしまったのだが、今見ると重量はG8に近く、後述する瞳AFの改良も入っており、検討に値する機種だったかもしれない。しかし、いずれにせよG8の時点でサイズに気後れしてはいたし、中古価格もこなれておらず、レンズキットで13万からあるとはいえキットレンズに不満がある(後述)ので、やはり予算オーバーではあった。
第一ラウンド総評
上記に挙げた機種のうち、まず「タッチAF」「内蔵手ブレ補正」は必須と考え、これらを装備していない機種を除外していった。その結果…「小さい」「自撮り可能」「4K動画撮影可能」の三つの要件を同時に満たすカメラが、なんと存在しないことがわかった。トリレンマ!
オリンパスOM-D E-M10 Mark III | オリンパス OM-D E-M5 Mark II | パナソニック LUMIX DC-G7 Mark III | パナソニック LUMIX DCM-G8 | |
---|---|---|---|---|
小型軽量 | ○ | ○ | ○ | △ |
自撮り | × | ○ | × | ○ |
4K動画 | ○ | × | ○ | ○ |
防塵防滴 | × | ○ | × | ○ |
そのため3要件のうち、一つを諦めて二つを選ぶことで購入する製品を確定させる必要が出てきた。
もっとも優先しておきたい要件は「自撮り可能」だったので、まず E-M10 Mark III と DC-G7 Mark III が脱落した。ムービーで自分を被写体にできないと不便、というのは想像しやすい。次に優先したい要件は「コンパクトさ」で、もっとも優先度が低いのは4K動画の撮影能力なので、「小さい+自撮り可能」のE-M5 Mark IIで確定…かと思われたが、スペック上のサイズ・重量の差が体感として許容可能であれば、4K動画が撮影できるG8 LUMIXの方が魅力的な選択肢だ。ここから先は実際に実機を触ってみないと判断がつかないだろう。
店頭でのインプレッション
そんなわけで、E-M5 Mark II と LUMIX DCM-G8 まで絞り込んだうえで、Twitterで教えてもらった中野のフジヤカメラ本店で店員さんに相談のうえ、機種を決定することにした。フジヤカメラさんは新品・中古のカメラを扱うお店で、初心者だと言うと店員さんがとても丁寧に教えてくれる。「F値ってなんですか?」とか「ダイヤルのAとかPとかって何ですか?え、Aってオートだと思ってました…」「パンケーキレンズとかどうなんですか」とか色々教えてもらった。
で、E-M5 Mark II と LUMIX G8 の中古品を触らせてもらった。
- フォームファクタ
- たしかにG8の方が少し大きいが、両者を持ち比べてみるとE-M5の方は中身が詰まっている感じでズッシリした感じ。しかし、重量に関しては標準ズームレンズを装着してしまうと殆ど関係なくなると感じた。ガジェットのコンパクトさを維持するには短い単焦点レンズが必要なようだ。
- G8はグリップがついてる分確実にホールドしやすいと感じた。大きいのも悪いことばかりではない。しかし、自撮りすると、グリップが逆向きになるのでとても持ちにくいという問題が発生した。(やはり歩き自撮りはスマホの領分だろうか…)
- E-M5の瞳AFの方が強力なようだ。自撮りモードにした時、E-M5はすぐに瞳を認識して私にフォーカスを合わせてくれたが、G8はうまくフォーカスしてくれず、わたわたとタッチAFで調整しなくてはいけなかった。自撮り中はカメラを持ちにくいので、オートフォーカスの信頼性が重要なことがわかった。G9やG99では瞳AFが強化されているようだ。
- 手ぶれ補正は、明確にオリンパスの方が優れているとのことだ。本体のみで超強力というのが重要らしい。パナソニックはレンズ内手ぶれ補正に対応したレンズを選ぶ必要ができてしまう。
- 4K動画はまだまだ観る環境も整ってないし、そこはフルHDで妥協しても良さそう。
以上のインプレッションから、 E-M5 Mark IIに決定した。
レンズ編
さて、ここで話は終わらない。一緒に使うレンズを決めないといけない。わからないので、とりあえずGCM-G8とE-M5 Mark II のキットレンズを起点に説明してもらった。二つのカメラはどちらもマイクロフォーサーズなので、どれを選んでも良い。
標準ズームレンズ
LUMIX G VARIO 12-60mm / F3.5-5.6 ASPH/ POWER O.I.S.

パナソニック 標準ズームレンズ マイクロフォーサーズ用 ルミックス G VARIO 12-60mm/F3.5-5.6 ASPH./POWER O.I.S H-FS12060
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2016/04/28
- メディア: エレクトロニクス
- この商品を含むブログを見る
G8のキットレンズ。いわゆる標準ズームレンズ。防塵防滴。ズームレンズとしてはサイズが小さいのが魅力。レンズ内手ぶれ補正あり。一本で35mm換算で広角側24mm相当から望遠側120mm相当までカバーできる(マイクロフォーサーズの焦点距離は、2倍すると一般的な画角の数字になる)。しかし、F3.5-F5.6というのは、結構暗くてボケが作れないらしい。ボケを作るには、明るい=F値が小さいレンズを選ばないといけない。一回帰って価格コムでネットで作例を見たが、確かにVARIOの作例は他と比べて霞がかかったような印象があり、正直「こんな写真が撮りたい!」と心がときめくものはあまり見かけなかった(プロが撮ったものはさすがに良いのだが、アマチュアの作品の方が参考になるだろう)。ときめきは大事なのである。
- マイクロフォーサーズで常用しやすい標準ズーム――パナソニック「LUMIX G VARIO 12-60mm / F3.5-5.6 ASPH. / POWER O.I.S.」 (1/2) - ITmedia NEWS
- 交換レンズレビュー:コレ1本で旅に出たくなる“万能標準ズーム” - デジカメ Watch
M.ZUIKO DIGITAL ED 12-40mm/F2.8

OLYMPUS 標準ズームレンズ ED 12-40mm F2.8 防塵 防滴 マイクロフォーサーズ用 M.ZUIKO ED 12-40mmF2.8PRO
- 出版社/メーカー: オリンパス
- 発売日: 2013/11/29
- メディア: エレクトロニクス
- この商品を含むブログ (3件) を見る
EM-5 Mark IIのキットレンズ。同じく防塵防滴の標準ズームレンズだ。EM-5のレンズなので、手ぶれ補正は実装されていないことに注意。望遠側が80mm相当までと、上の12-60(120mm相当まで)より少し少ないが、覗かせてもらうとほとんど分からない程度の差だった。サイズが12-60より一回り大きい点を敬遠したが、しかしF2.8通し(望遠側まで全部F2.8)というF値の小ささからくる画面の明るさ、価格コムで作例を見ても明らかに優れていた。これはときめく。
家に帰って、似たスペックのパナライカ12-60/2.8-4.0も検討したが、F2.8通しの方が良い、と判断してM.ZUIKO DIGITAL ED12-40/F2.8に決定した。
追記: id:DocSeri さんの記事がとても参考になったのだった。 docseri.hatenablog.jp
単焦点レンズ
標準ズームレンズがあれば広角から望遠までカバーできるが、やや大きいのがネックだ。単焦点レンズはズームができない代わりに小さく、日常的にカメラを持ち出してスナップを撮るには適している。また、F値が小さく明るく撮れる(F1.4〜1.8とかある)特徴がある。一つくらい持っていてもバチは当たらなさそうである。
単焦点レンズはズームができないので、まず自分が一番撮りたい画角を理解しておく必要がある。下記サイトが参考になった。
検討の結果、自分がカッコいいなー、こういうスナップ撮りたいなー、と思う写真は50mmっぽい雰囲気があるように思った。作品として締まっている感じがする。あと35mmとかだとあんまりボケを作って楽しむ感じじゃなさそうだし。俺はボケが作りたいんだ!スマホじゃできないから!
と言うわけで比較対象としたのが以下の3製品である。評価メモは全て価格コムの作例のみで判断している。
- M.ZUIKO DIGITAL 25mm F1.8
- 3万円くらい。個人的に好きなボケ味
- LUMIX G 25mm/F1.7 ASPH
- 2.1万円。パナソニックの撒き餌レンズ。個人的にはあまり?
- LEICA DG SUMMILUX 25mm/F1.4 ASPH.
- 4万円くらい。いわゆるパナライカ。F1.4ですんごいボケる。とろけるようなボケ味…ほしい…

OLYMPUS 単焦点レンズ M.ZUIKO DIGITAL 25mm F1.8 SLV
- 出版社/メーカー: オリンパス
- 発売日: 2014/02/28
- メディア: Camera
- この商品を含むブログ (1件) を見る

パナソニック 単焦点レンズ マイクロフォーサーズ用 ルミックス G 25mm/ F1.7 ASPH. ブラック H-H025-K
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2015/10/23
- メディア: エレクトロニクス
- この商品を含むブログを見る

Panasonic フォーサーズ用 ライカ DG SUMMILUX 25mm F1.4 ASPH. 単焦点 標準レンズ H-X025
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2011/07/22
- メディア: エレクトロニクス
- クリック: 58回
- この商品を含むブログ (20件) を見る
と、これもここまで絞り込んでからフジヤカメラで触らせてもらった。ZUIKOはかなり小さく、同じオリンパスのE-M5 Mark IIとデザインの親和性が高かった。パナライカも触らせてもらった。中古価格差は小さかったのだが、やや大きめであることと、カメラ内部の機構のせいでAFが駆動するたびにカチャカチャと耳障りな音がするため諦め、今回は M.ZUIKO DIGITAL 25mm F1.8 に決定した。
パナライカの方がやや明るく撮れるしボケの綺麗さも上ですが、まあ相当厳密に比較しないと違いは分からないですね、とのことであった。
お買い上げ
はいというわけで、購入したのは E-M5 Mark II + M.ZUIKO DIGITAL ED 12-40mm/F2.8 レンズキット(新品)と、M.ZUIKO DIGITAL 25mm F1.8 単焦点レンズ(中古)の組み合わせでした。

OLYMPUS ミラーレス一眼 OM-D E-M5 MarkII 12-40mm F2.8 レンズキット ブラック E-M5 MarkII 12-40mm F2.8 PRO LK BLK
- 出版社/メーカー: オリンパス
- 発売日: 2016/07/08
- メディア: Camera
- この商品を含むブログを見る

OLYMPUS 単焦点レンズ M.ZUIKO DIGITAL 25mm F1.8 SLV
- 出版社/メーカー: オリンパス
- 発売日: 2014/02/28
- メディア: Camera
- この商品を含むブログ (1件) を見る
本体キットは中古で買ってもよかったのだけど、価格差が10%程度だったのと、バッテリーは消耗品なので不安があったこと、フラッシュの欠品もあったため新品に。中古でもお店の半年保証はつきます。単焦点は中古でコストを抑えました。
周辺機器含めたコストを書いておきますね。液晶保護フィルムは店員さんに熟練の技で貼ってもらいました。
品目 | 価格 |
---|---|
本体キット | ¥101,400 |
単焦点レンズ | ¥24,840 |
レンズプロテクター(ズームレンズ用) | ¥2,680 |
プロテクター(単焦点レンズ用) | ¥1,680 |
SDカード(64GB) | ¥1,680 |
予備バッテリー | ¥5,630 |
液晶保護フィルム | ¥840 |
合計 | ¥138,750 |
今回Twitterのレンズ沼の人たちに色々教えてもらったり、店員さんにみっちり教えてもらったり、いい沼や…となりました。ありがとうございます。楽しみます。
1,000点のチョイスです(ズームキットの電動ズームレンズじゃなくて PRO レンズにしてるの最高だし 25mm F1.8 つけた判断もそれ!!!という感じ)
— Issei Naruta (@mirakui) 2019年8月17日
ほめられた。やったぜ。
gorilla/csrf で安全なWebフォームを作る
こんにちは。GoでWeb開発していますか?私はしていません。Goに限らず、既成のWebアプリケーションフレームワークを使わずに自前でWebフォームを作る場合、なにも考えずに書くと CSRF (Cross Site Request Forgery) 脆弱性を作りこみ、不正なユーザー操作を実行されてしまう可能性があります。
ダメな例
例えば以下のGoコードで作成されるフォームにはCSRF脆弱性があります。SubmitSignupForm
ハンドラは、受け取ったリクエストが自分のサイト上のフォームからサブミットされたものかチェックしていないので、攻撃者が他のサイト上のフォームを使い、第三者のユーザーのブラウザで任意の操作を実行させることができてしまいます。
func main() { r := mux.NewRouter() r.HandleFunc("/signup", ShowSignupForm) r.HandleFunc("/signup/post", SubmitSignupForm).Methods("POST") http.ListenAndServe(":8080", r) } func ShowSignupForm(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, ` <html> <body> <form method="POST" action="/signup/post" accept-charset="UTF-8"> <input type="text" name="name"> <input type="text" name="email"> <input type="submit" value="Sign up!"> </form> </body> </html>`) } func SubmitSignupForm(w http.ResponseWriter, r *http.Request) { _ = r.ParseForm() fmt.Fprintf(w, "%v\n", r.PostForm) // TODO: ユーザー登録 }
CSRFについては「はまちちゃん事件」が有名です。mixiにログイン済みのユーザーにCSRF脆弱性のあったmixiの発言投稿用URLリンクを踏ませることで、ユーザーの意図しない発言を投稿させたというものです。CSRF対策にはいくつかの手法がありますが、権威あるセキュリティ団体であるOWASPが各手法の解説とメリット・デメリットを網羅しています。詳しく知りたい方はそちらを参照してください。
gorilla/csrf
信頼できるWebアプリケーションフレームワークではCSRFへの対策実装され、デフォルトで有効になっていますが、Goの net/http はWAFではないので、別途WAFを導入しないのであれば、自分でセキュリティ対策を導入する必要があります。そこで、今回は gorilla/csrf を使ってCSRF対策を実装します。
gorilla/csrf は net/http だけでなく、Echo や Gin といった人気のWAFと協調して動作することを目的としたCSRF対策パッケージです。
Cookieの二重送信(gorillaの場合)
gorilla/csrf が採用する対策手法は、OWASP の分類で言えば "Double Submit Cookie" (Cookieの二重送信) に分類されます。 Double Submit Cookieは、要点だけ言えばセッション開始時に暗号的に強い乱数でトークンを生成しておき、それをブラウザのCookieとフォームのhidden input要素の両方に送信するというものです。もちろん、サブミット時にはサーバーでCookieとフォームのトークンの一致を検証し、一致しなければエラーとします。この手法は、トークン情報をステートとして保持する必要がないため、実装・運用コストが低いのが特徴です。
一方、Cookieの二重送信には問題点も指摘されています。
- CheatSheetSeries/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.md at master · OWASP/CheatSheetSeries · GitHub
- 解答:CSRFの防止策に関するチートシートにツッコミを入れる | 徳丸浩の日記
要約すると、一定条件のもとではCookieを不正に書き換えることは可能であり、その場合に Double Submit Cookie の安全性は成立しないというものです。これについて、gorilla/csrf は Cookie に署名つき暗号化を施すことで回避しています。OWASPチートシートにも、Cookieの暗号化はうまく動作すると書かれています。
Including the token in an encrypted cookie - often within the authentication cookie - and then at the server side matching it (after decrypting authentication cookie) with the token in hidden form field or parameter/header for ajax calls mitigates both the issues mentioned above. This works because a sub domain has no way to over-write an properly crafted encrypted cookie without the necessary information such as encryption key.
また、gorilla/csrf では、リクエスト時に Unique-per-Request な one time padを生成し、CookieのtokenをXORでマスクしたものをフォームに送信する工夫を加えることで、BREACH攻撃を緩和しています。
プレーンな Double Submit Cookie の弱点を回避して、概ね安全なように思います。強いていえばユーザー自身が外部のWebページにフォームを送信してしまえば偽のフォームを作成可能ですが、そのケースはほぼ意図的な漏洩ですし、そこまで守るかどうかはポリシー次第(それも防ぎたかったらパスワード入力を求めるとか)じゃないでしょうか。
gorilla/csrf のCSRF対策の流れを紹介します。
初回訪問時
最初にユーザーがWebサイトに訪れたとき、サーバーは暗号的に強い乱数生成器から basetoken を乱数生成します。そして basetoken を auth_key で署名つき暗号化したものを、レスポンスの _gorilla_csrf Cookie に格納します。この暗号は署名つき暗号なので、改竄に対する耐性があります。
フォーム表示時
次に、サーバーが _gorilla_csrf Cookie を持ったクライアントにフォームを表示する際、サーバーはまず OTP (one-time-pad) を乱数生成します。この OTPと、basetokenをOTPでマスクした結果を結合し、CSRFトークンを生成します( csrfToken = OTP + XOR(basetoken, OTP)
)。このCSRFトークンは、フォームのhidden inputとしてユーザーにレスポンスされます。
サブミット時
ユーザーがフォームをサブミットしてきたとき、サーバーはフォームのCSRFトークンからOTPを取り出し、Cookieのbasetokenを使って先ほどと同じ操作( OTP + XOR(basetoken, OTP)
) をおこない、その結果がフォームのCSRFトークンと一致するか確かめることで、リクエストが正しく要求されたものか判別します。
How to use gorilla/csrf
さて、原理はわかったので使ってみましょう。
package main import ( "fmt" "html/template" "net/http" "github.com/gorilla/csrf" "github.com/gorilla/mux" ) func main() { r := mux.NewRouter() r.HandleFunc("/signup", ShowSignupForm) r.HandleFunc("/signup/post", SubmitSignupForm).Methods("POST") // Protect ミドルウェアは、非冪等なHTTPメソッドの場合にサブミットされたフォーム // をチェックし、CSRFトークンが一致しているか検証する。 // // auth-key はコードに書き込まず、/dev/urandom したものを外部から与えること。 // キーが変わるとそれまでに発行したトークンの検証に失敗する。 // // HTTP な開発環境では opt に csrf.Secure(false) 指定が必要。本番では外すこと。 h := csrf.Protect([]byte("32-byte-long-auth-key"), csrf.Secure(false))(r) http.ListenAndServe(":8080", h) } func ShowSignupForm(w http.ResponseWriter, r *http.Request) { // {{.CSRFField}} にCSRFトークンの隠しinputを埋め込む。 t, _ := template.New("form").Parse(` <html> <body> <form method="POST" action="/signup/post" accept-charset="UTF-8"> <input type="text" name="name"> <input type="text" name="email"> {{.CSRFField}} <input type="submit" value="Sign up!"> </form> </body> </html> `) t.Execute(w, map[string]interface{}{ "CSRFField": csrf.TemplateField(r), }) } func SubmitSignupForm(w http.ResponseWriter, r *http.Request) { _ = r.ParseForm() fmt.Fprintf(w, "%v\n", r.PostForm) // TODO: ユーザー登録 }
csrf.Protect
はCSRF保護機能を提供するHTTPミドルウェアを作成します。このミドルウェアは、POSTなどの非安全リクエストを受けた時にリクエストボディのフォームを自動的にチェックし、CSRFトークンが適格であれば次のハンドラを実行し、適格でなければエラー画面を表示して終了します。そのため、アプリケーション側のHTTPハンドラは(サブミットについては)CSRF検証済みであることを前提に開発することができます。OWASPチートシートにも、セキュリティ対策で怖いのはうっかりミスなので自動的な対策をせよと書かれているので、この仕様は歓迎できます。
一方、csrf.TemplateField(r *http.Request) template.HTML
は、リクエストのCSRFトークンのhidden inputタグをリターンします。これをtemplateで置換してHTMLフォームを表示すると、gorilla.csrf.Token という名前の 隠し inputタグが埋め込まれます。
同時に、Cookieにも _gorilla_csrf が記録されているのがわかります(内容は暗号化されているので確認も改竄もできません)。
そこで、わざとフォームの値を書き換えてからSubmitすると、ちゃんとエラーになります。
ところで、csrf.Protectはトークン不一致に簡単なエラー画面を出力するのですが、オプションでカスタムのエラーハンドラを指定させることができます。以下のように、何らかのセキュリティ対応を取れるようなログを落とすと良いと思います。
h := csrf.Protect([]byte("32-byte-long-auth-key"), csrf.ErrorHandler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { log.Println("CSRF攻撃の疑いのあるリクエストが発行されました") fmt.Fprintf(w, "ニャーン (%s)", csrf.FailureReason(r).Error()) })), csrf.Secure(false), )(r)
以上です。

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践
- 作者: 徳丸浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/06/21
- メディア: 単行本
- この商品を含むブログを見る
外付け(として使う)SSDって今何買えばいいのか調べたメモ
昨日の記事で言ったようにうっかりSSD+ケースを買ってしまったのだが、最近はUSB3.1 Gen2もThunderbolt3も普及してきてデータ転送帯域がどんどん広がっているし、m.2?NVMe?とかもなんかちっちゃくてかっこいいし、SSDも価格爆下がり中って聞くし、「最近の外付けSSDはどうなの?」みたいなところをちょっと調べてみた。買ってから調べるという。容量は1TBを前提に調べた。
外付けSSDについての調査だが、単品のSSDにケースを調達して外付けSSDに自作する、ということを選択肢に入れて調べたのでほとんど内蔵SSDについてです。あとNANDとかTLCとかには触れません。
まず、SSDの製品を分類するには、サイズ規格とインターフェイスに注目する必要がある。
サイズ規格は以下のふたつがある。
- 2.5インチ
- m.2
- ちっちゃい基盤みたいなやつ。かわいい。
- 対応インターフェイスにはSATAとPCI-Express (PCIe)がある。
覚えておく必要があるインターフェイスも二つだけだ。
- SATA3.0
- PCI-Express (PCIe 3.0)
つまり、SSD市場には、以下の3カテゴリが存在していることになる。
- 2.5インチのSATAインターフェイス
- 転送速度はおよそ読み込み 560MB/s, 書き込み 530MB/sくらい。
- ref: 価格コム
- m.2のSATAインターフェイス
- 転送速度は2.5インチと大体同じ。
- ref: 価格コム
- m.2のPCIe3.0x4インターフェイス
- 転送速度は読み込み1.7GB/s〜3.4GB/s、書き込み1.3GB〜3.2GB/s。速い。
- ref: 価格コム
外付け化のためのケーブルインターフェイス
PCIeはSATAの6倍以上でるのかーすごいなという感じだが、私は私のMacに外付けして使いたいので、つなげるやつをさがす。
2.5インチ + SATA3.0用のUSB 3.1 Gen2変換ケース
Amazonで大量に見つかる。どれも2,000円から3,000円程度と、安価。
Amazon.co.jp: USB3.1 gen2 ssd 2.5 sata ケース: パソコン・周辺機器ストア
m.2 + SATA3.0用のUSB 3.1 Gen2 変換ケース
m.2の変換ケースは、「Bキー、Mキー」などサポートするカードに相性があるので注意。

Wavlink USB-C M.2 SATA SSDケース(NGFF/B Key)対応 UASPサポートUSB 3.1 Gen2 10Gbps SATAハードドライブエンクロージャー
- 出版社/メーカー: WAVLINK
- メディア: エレクトロニクス
- この商品を含むブログを見る
m.2 + PCIe3.0x4変換ケース

- 出版社/メーカー: ORICO Technologies Co.,Ltd
- メディア: エレクトロニクス
- この商品を含むブログを見る

アイティプロテック AOK-M2NVME-U31G2 NVMe(PCI Express接続タイプ)M.2 SSDケース USB3.1Gen2接続対応
- 出版社/メーカー: アイティプロテック
- メディア: エレクトロニクス
- この商品を含むブログを見る
Thunderbolt3-PCIe3.0変換ケース
変わり種で、Thunderbolt3-PCIe3.0変換ケースというのもあった。ただ、書き込み性能の表記がないがレビューによると900MB/sしかでないらしい。

世界最小 ポータブル Thunderbolt 3 外付け M.2 NVMe PCIe3.0×4 に対応 SSDケース 最大読込速度:2800MB/s HDDケース 外付ハードディスクケース
- 出版社/メーカー: TREBLEET
- メディア: エレクトロニクス
- この商品を含むブログを見る
外付けSSD製品
USB接続の外付けSSD製品は、基本的にSATA3.0構成のようで、USB 3.1のGen1を搭載した安価なものとGen2を搭載した高価なものに二極化している。 Gen1の製品はリード性能300MB/s〜400MB/sでGB単価が14円/GBから、Gen2の製品はリード性能が560MB/sでGB単価が23円から、となっているようだ。
フォームファクタに関しては、実はいまは外付けSSDは2.5インチ製品は少なくなっており、ほとんどがコンパクトなm.2仕様のようだ。2.5インチ: 価格.com - インターフェイス:USBのSSD 人気売れ筋ランキング (規格サイズ:2.5インチ)
考察・あなたが何を買うべきか
関連するパフォーマンス指標を書き起こしてみた。まず、PCにUSBで接続したい場合、データ転送速度はUSBの転送速度である500MB/s(USB 3.1 Gen1)や1GB/s(USB 3.1 Gen2)で律速する。この場合、ドライブにUSBの転送速度を超えたあまり高性能なものを買っても活かせないことに注意。
その上で、獲得したい転送速度に応じて最適な購入ルートを考えたみた。
転送速度を気にしない人向け (Gen1コース)
外付けSSDのGen1のものなら1,3000円/1TBくらいで買えるので、転送速度が300MB/s〜400MB/sでいいよという人はわざわざ内蔵ドライブとケースで自作せず、普通に外付けを買うといいと思います。

BUFFALO 耐衝撃・コネクター保護機構・日本製 USB3.1(Gen1) 対応 ポータブルSSD 1TB SSD-PG1.0U3-B/NL 【PS4 メーカー動作確認済】
- 出版社/メーカー: バッファロー
- 発売日: 2018/09/15
- メディア: Personal Computers
- この商品を含むブログを見る
転送速度は560MB/sくらいはほしいという人(SATA+Gen2コース)
単価の安いSATA SSDに、安いUSB 3.1 Gen2-SATA変換ケースをつけると手頃に560MB/s帯のポータブルSSDになる。Gen2の製品は外付けドライブだと23円/GB程度するが、以下の構成は15GB/円で作れて嬉しい。
代表構成: 12,339 + 2,999 = 15,338円 / 1TB。WDのSSDはTranscendのケースとのセットバージョンもある。

WD 内蔵SSD M.2-2280 / 1TB / WD Blue 3D / SATA3.0 / 5年保証 / WDS100T2B0B
- 出版社/メーカー: Western Digital
- 発売日: 2019/03/05
- メディア: Personal Computers
- この商品を含むブログを見る

Wavlink USB-C M.2 SATA SSDケース(NGFF/B Key)対応 UASPサポートUSB 3.1 Gen2 10Gbps SATAハードドライブエンクロージャー
- 出版社/メーカー: WAVLINK
- メディア: エレクトロニクス
- この商品を含むブログを見る
パッケージ品で良さそうなのはこれとか。でも23,763円/1TB。丈夫にできてそうってメリットはある。

Samsung 外付けSSD T5 1TB USB3.1 Gen2対応 【PlayStation4 動作確認済】 正規代理店保証品 MU-PA1T0B/IT
- 出版社/メーカー: 日本サムスン
- 発売日: 2017/09/04
- メディア: Personal Computers
- この商品を含むブログを見る
転送速度は1000MB/sほしいよという人向け(PCIe+Gen2コース)
わかる。MacBook Pro 2018の内蔵SSDの転送速度が3,200MB/sに対して、300MB/sや500MB/sではなにか物足りない。もうちょっとハイスペックを楽しみたい。そんなあなたは m.2/PCIe3x4のSSDに、USB 3.1 Gen2変換ケースをの組み合わせで1000MB/sなポータブルストレージを作りましょう。既製品の外付けドライブではこの選択肢はそもそも存在しないのかな。ちょっと見つかんなかったです。
代表構成:¥15,980 + ¥5,680 = 21,660円 / 1TB

Crucial SSD M.2 1000GB P1シリーズ Type2280 PCIe3.0x4 NVMe 5年保証 CT1000P1SSD8JP
- 出版社/メーカー: Crucial
- 発売日: 2018/10/25
- メディア: Personal Computers
- この商品を含むブログを見る

アイティプロテック AOK-M2NVME-U31G2 NVMe(PCI Express接続タイプ)M.2 SSDケース USB3.1Gen2接続対応
- 出版社/メーカー: アイティプロテック
- メディア: エレクトロニクス
- この商品を含むブログを見る
USB-C付属バージョン

アイティプロテック AOK-M2NVME-U31G2C NVMe(PCI Express接続タイプ)M.2 SSDケース USB3.1Gen2接続対応
- 出版社/メーカー: AOTECH
- メディア: エレクトロニクス
- この商品を含むブログを見る
金に糸目をつけない人向け (Thunderbolt 3プロ向け機材コース)
Thunderbolt3 SSD変換ケースとか、

世界最小 ポータブル Thunderbolt 3 外付け M.2 NVMe PCIe3.0×4 に対応 SSDケース 最大読込速度:2800MB/s HDDケース 外付ハードディスクケース
- 出版社/メーカー: TREBLEET
- メディア: エレクトロニクス
- この商品を含むブログを見る
そもそもThunderbolt3 SSDとか買うといいんじゃないでしょうか。

Samsung 外付けSSD X5 1TB Thunderbolt3接続 Mac対応 正規代理店保証品 MU-PB1T0B/EC
- 出版社/メーカー: 日本サムスン
- 発売日: 2018/09/28
- メディア: Personal Computers
- この商品を含むブログを見る
聞いたことないメーカーだけど3万円で 1,600MB/s でる謎の Thunderbolt3 1TB SSD とかある

- メディア:
- この商品を含むブログを見る
容量が十分あるにも関わらずAfter Effects がディスクキャッシュを保存する容量がないと言い張るときはTimeMachineローカルスナップショットを消せ
TL;DR: TimeMachineローカルスナップショットを消せ。
macOS Mojave / APFS 環境で、たまにAfter Effectsを起動すると「ディスクキャッシュフォルダーが存在するドライブには、環境設定で指定されている容量を全て保存できるだけの空き容量がありません。空き容量を増やすか、メディア&キャッシュ環境設定でフォルダーまたは最大ディスクキャッシュサイズを変更してください。」と警告ダイアログが出現する。
しかし、私はディスクキャッシュサイズをMacintosh HDに最大40GB程度に設定しており、Finderによるとそのドライブには十分な容量がある。
何の気なしに df
してみたところ、'/' のファイルシステムに空きが18GBしかないと出てきた。Finderの空き容量表示と全く違うではないか。
ところで、High Sierra 以降のAPFSが有効なシステムでは、TimeMachineが自動的にMacintosh HDにローカルスナップショットを作成する。
ローカルスナップショットが消費しているストレージ容量について心配する必要はありません。ファイルのダウンロード、ファイルのコピー、新しいソフトウェアのインストールなどのタスクに必要な容量が使われてしまうことはないからです。
スナップショットが消費している容量は、Mac では空き容量に算入されます。その上さらに、Time Machine は空き容量の多いディスクにしかローカルスナップショットを保存しないようになっているほか、スナップショットが古くなったり、ほかのことに容量が必要になったりした場合は、自動的にスナップショットを削除してくれます。
作成されるローカルスナップショットは、OSのディスクキャッシュのように「ファイルシステムの向こう側で」動的に管理されるように設計されているようだが、怪しい。ためしにTimeMachineローカルスナップショットを削除した。
すると、df のAvailが129GBまで回復し、AEのディスク容量警告も出なくなった。めでたし。
容量が本当に足りないのかと思ってSSD買っちゃったんだけど、返品しようかな…。ちょっと考える。
内蔵SSDが123GBも空いてるのにAfterEffectsがディスクが足りねーとか言うのでカッとなってNVMe SSDを1TB注文した。 CFD CSSD-M2B01TPG2VN 内蔵SSD CFD SSD [M.2 /1TB] https://t.co/5WIGs8FCfz
— 小野マトペ (@ono_matope) May 1, 2019
MacBook Pro 2018 13" + Intel NUC Bean Canyon + eGPU で Mac/Win グラボ共有環境を構築した話
今年もよろしくお願いします、小野マトペです。去年の10月、MacBook Pro 2018 13インチを購入しました。
MacBook Pro 2018 13インチ届いた。Early 2013 15インチを使い続けていたので電源含めて重量が40%が減って軽さがすごい。 pic.twitter.com/796gF6sihS
— 小野マトペ (@ono_matope) 2018年10月9日
今まで使っていた2013モデルでは性能重視で15インチを使用していましたが、今年のモデルはCPUのコア数が増え、13インチでも去年の15インチよりも高いCPUパフォーマンスが出るということだったので、モビリティのために13インチをチョイス。やっぱりノートパソコンは持ち運んでなんぼですね。軽くて最高。
13インチを購入するにあたって最後まで躊躇した要素はグラフィック性能でした。15インチには専用のdGPUが搭載されていますが、13インチは性能の低いiGPUしか搭載されていません。僕はたまに After Effects での動画制作作業をするので、この点はちょっと都合が悪かったです。
そこで目をつけたのがeGPU(外付けGPU)です。macOSではHigh Sierraから Thunderbolt 2/3 での eGPU 接続に対応したことで、Mac環境でのeGPUカテゴリが昨今盛り上がりを見せています。ともあれこれを使えば一台のMacを、外出時には軽量ラップトップ、自宅ではデスクトップレベルのハイパワーグラフィックマシンとして運用することができるため、今回検討しました。
GIGABYTE GAMING BOXを試すつもりだったのだが…
そういうわけで、調査の末に去年の年末に amzon.com で GIGABYTE GAMING BOX 580 を注文しました。これはRadeon RX 580 グラフィックカード組み込み済みで販売されているeGPUエンクロージャで、コンパクトさが際立つ一品です(eGPUはどれもけっこうなサイズなのです)。持ち運び用のバッグが付属しているなどモビリティが高いのもポイントです。一方、ファンが壊れてノイズが鳴るようになったとか、不快なコイル鳴きがあるとか、工作精度の点で不安なレビューも見られました。しかし、Amazon.comでの価格の安さ(本体$419に送料+Import Fee Depositで$56)とコンパクトさに惹かれ、注文することにしたのですが・・・

GigabyteゲームボックスRX 580?8?GグラフィックカードegPu ( gv-rx580ixeb-8gd )
- 出版社/メーカー: Gigabyte
- 発売日: 2018/04/12
- メディア: Personal Computers
- この商品を含むブログを見る
サンタさんからおもちゃが届きました。 #egpu pic.twitter.com/yuSSroXyud
— 小野マトペ (@ono_matope) 2018年12月24日
が、開封した製品がバッキバキに破損しており、そのまま返品となりました。残念・・・
GIGABYTE GAMING BOX RX580ファーストインプレッション
— 小野マトペ (@ono_matope) 2018年12月24日
・持ち上げるとカラカラ音がして中からプラスチックの破片とネジが落ちてくる
・カードが明らかに固定されていない
・電源プラグがなんか斜めになってる
…… pic.twitter.com/4FXe6BtQm0
破片の出元が分かった。カードスロット割れてるじゃん! pic.twitter.com/YvEwrg8rqU
— 小野マトペ (@ono_matope) 2018年12月24日
電源ユニットがひしゃげている。それに比べて外装の損傷は少ないので組み立て工程での事故かなー。 pic.twitter.com/lGOF0gnVjj
— 小野マトペ (@ono_matope) 2018年12月24日
じゃあ僕はこれから郵便局まで片道30分歩いてアメリカにeGPUを送り返してきますね。ロマンチック。
— 小野マトペ (@ono_matope) 2018年12月24日
GAMING BOXを返品し、もう一度同じ製品を注文する気にもならなかったので、改めてグラボとエンクロージャを選び直すことにしました。
グラボ
GAMING BOXのような一体型でない eGPU を使うためには、eGPUエンクロージャとグラフィックボードを用意する必要があります。エンクロージャごとに供給電力やカードサイズがあり、適合する組み合わせを選ぶ必要があります。 https://egpu.io というサイトは発売中のエンクロージャとグラボの詳細な情報やレビュー記事が掲載されており、製品選びの助けになりました。
Macで eGPU を使用するにあたって最も大きい制約は、GPUのメーカーです。ゲーム用のGPUとしてはnVidia製品の方がメジャーですが、Macは現在AMDのGPUしかサポートしていないため、AMD製品から選択することになります。nVidiaは記事執筆時点でMojave用のドライバーをリリースしておらず、High Sierra以前の環境でしか動作しません。
僕は Windows PC に詳しくないので今回初めてグラフィックカードを調べたのですが、現在AMDのグラフィックカードは、主に以下のラインナップのようです。ミドルレンジ〜ハイエンドのゲーミングPC相当の性能が欲しいのであれば、RX580, RX590, Vega56あたりから選ぶことになるみたいです。
- Radeon RX 570 (GeForce GTX970 と同じくらいの性能)
- Radeon RX 580 (GeForce GTX1060 と同じくらいの性能)
- Radeon RX 590 (GeForde GTX1060 より速いくらいの性能)
- Radeon Vega 56 (GeForce GTX1070Ti と同じくらいの性能)
- Radeon Vega 64 (GeForce GTX1080 と同じくらいの性能)
現在グラボは暗号通貨のマイニング需要や代理店のマージンにより国内での価格が高騰しているため、私は今回は Vega56 を実質35,000円程度( サンデーくじで入手したクーポン 3000円を使用)でネットオークションで入手しました。グラフィックカードは経年劣化しにくいパーツですし、中古市場で手に入れても良いと思います。amazon.com をのぞいてもいいかもしれませんね。

MSI Radeon RX Vega 56 Air Boost 8G OC グラフィックスボード VD6516
- 出版社/メーカー: MSI COMPUTER
- 発売日: 2017/12/22
- メディア: Personal Computers
- この商品を含むブログ (1件) を見る
Razer Core X
次にeGPUエンクロージャですが、これは Razer Core Xを選びました。これは安価で、Vega56への供給電力も十分、USB-PDでMac本体への電力供給も可能、動作実績も豊富と堅実な機種ですが、とにかくデカいという製品です。
左端の一番でかいやつです。
eGPUはどれ買ってもでかい。(左からRazer Core X, 同V2, Node Pro, Breakaway Box, Gaming Box, BlackMagic eGPU. 比較用MBP15") pic.twitter.com/b0YTJkY6HU
— 小野マトペ (@ono_matope) 2018年9月28日
現物を見てあまりのデカさに笑う私。
Razer Core Xでかすぎて笑った pic.twitter.com/HahThZkLnw
— 小野マトペ (@ono_matope) 2018年12月20日
狭小住宅の住人としては設置性は重視したかったのですが、年末に大容量の本棚を導入したことでデスク周りの収納スペースに余裕ができたために導入を決意し、TSUKUMO eX.の地下のRAZERストアで税込35,424円から2,000円のTSUKUMOポイント割引を適用して購入しました。空間は正義。
うおおおデカい (Razer Core X) pic.twitter.com/o4Q5kudco7
— 小野マトペ (@ono_matope) 2019年1月6日
容積の暴力 pic.twitter.com/i9no0hI5MG
— 小野マトペ (@ono_matope) 2019年1月6日
Razer Core X付属の50cm Thunderbolt 3ケーブルで机の上のMacBook Proに接続するためにメタルラックの高さを調整している様子。ほぼ天板のすぐ裏まで上げないと届かない。 #eGPU pic.twitter.com/wNAlbRB6Vv
— 小野マトペ (@ono_matope) 2019年1月7日
なんとかデスク下のメタルラックに押し込めました。デカいeGPUも、どこか隠せる場所に設置できればなんとかなります。ただし Thunderbolt 3 アクティブケーブルは高価なので気をつけてください。
eGPUゲーミングに最適な Intel NUC Bean Canyon
さて、ここまででeGPUはセットアップできたのですが、ぶっちゃけGPUを酷使する作業は年に数回あるかどうかという感じなので、そのためだけにeGPUを導入するのは正直もったいないです。せっかくつよつよグラボを入手したので、これを使ってどうにかWindowsゲームでもできないか考えました。久しぶりにマウスでFPSがやりたい。PUBGとか俺もやりたい!
最初に考えたのは、eGPU を Mac の BootCamp から利用するアプローチですが、
- AMDのグラボを BootCamp で使用するにはブートローダの書き換えなどガチ目のハックが必要で、Macが不安定になるおそれがあるし、ブートローダの画面がダサい(耐えられない)
- 最近のPCゲームはサイズが数十GBと大きく、Mac の 256GB SSD の余りを Windows とゲームに与えるには心もとない。かといって 512GB へのアップグレードには4万円もかかる
という問題があるため BootCamp 案は却下し、ゲーム用にWindows PCを生やすことにしました。1台くらい WIndows マシンを持っておくと何かと潰しが効くだろうし。
PCの選定ですが、
- 内臓グラフィックカードは必要なく
- 代わりにeGPU接続のためのThunderbolt3コネクタを搭載し、
- CPUはミドルレンジ以上。
- 部屋が狭いのでコンパクトPCと言える筐体サイズ、
- コンソールゲーム機が4,5万のこのご時世、ゲームのためだけにそんなにお金をかけたくない…
というわがまま条件で探したところ、ひとつだけベストマッチな製品が見つかりました。それが Intel NUC Bean Canyon NUC8i5BEHです。
INTEL インテル i5-8259U M.2 SSDに対応 2.5" (9.5mm厚) HDD/SSDも搭載可能 ハイパフォーマンス小型ベアボーンキット BOXNUC8I5BEH

- メディア:
- この商品を含むブログを見る
NUC とは Intel が出している小型・安価なPCベアボーンキットで、本体の他に電源ケーブル、メモリ、ストレージを別途購入する必要がありますが、現行世代(Beran Canyon)の NUC8i5BEH は MacBook Pro 2018 13インチと同じ第8世代i5 CPU i5-8259U と Thunderbolt 3コネクタを搭載しています。しかもサイズは超コンパクト。これ、まさに eGPU ゲーミングマシンに最適なPCじゃないですか。
この製品を狙っていたところ、ちょうどPayPayの20%ポイント還元祭りの期間中に池袋のTSUKUMOで4.8万円で販売しているのを見つけたため、その場で購入しました。250GBのm.2 SSD(6千円)、16GBメモリ(1.6万円)、Windows10 Home Edition(1.7万円)、電源ケーブル(1千円) で合計9万6千円のところ、PayPayの20%ポイント還元で実質7.7万円となりました。
(Tweetのツリーに写っていますが、ついでに隣のビックカメラでLG 27UK850-Wも20%ポイント還元で買いました。これも大変良い4Kモニタです。ありがとうPayPay)
ついでにとなりのツクモ池袋店にフラッと寄ったら、以前から購入を計画していたBean Canyon NUC (BOXNUC8I5BEH)が安かったのでメモリ16GB/SSD250GB/Win10Homeの一式購入。合計96K円にPayPay適用で77K円。 pic.twitter.com/p5g2OpbGPo
— 小野マトペ (@ono_matope) 2018年12月13日
小さい!かわいい! pic.twitter.com/9gpgb6U88v
— 小野マトペ (@ono_matope) 2018年12月18日
かわいい!こんなに小さいのにCPUもメモリもSSDもほとんどMBP 2018 13と同じスペック。みんなが欲しかった Mac mini ってこういうやつでは?
セットアップには少し手こずって、Windowsをインストールしたところ有線LANも無線LANもドライバがないためWebからドライバがダウンロードできないという事態になりました。MacでIntelのサイトからドライバ一式をダウンロードしてUSBでコピーしましたが、他にPCがない人は注意が必要です。
完成!+ベンチマーク
というわけで、MacBook Pro, Intel NUC, Razer Core X, Vega 56 による軽量ラップトップ+ハイパワークリエイティブPC+WindowsゲーミングデスクトップPCシステムが完成しました。コンパクトさがすごくないですか(Razer Core Xをうまく机の下に隠せた場合に限る)。
ケーブルの差し替えはどうしても多くなるので、ケーブルマネジメントはだいじ。
さっそくベンチマークをとりましょう。まずは Mac で GeekBench 4 の Compute スコアを計測します。
MBP内臓GPU (Iris Plus 655) | eGPU (Razer Core X + Vega 56) | |
---|---|---|
Metal | 35,000 | 146,234 |
OpenCL | 35,238 | 140,855 |
4倍以上のグラフィックパフォーマンスが得られました。
次は NUC の Windows で 3DMark の Time Spy と Fire Strike を実行します。
スコア | 結果URL | |
---|---|---|
3DMark Time Spy | 5351 | https://www.3dmark.com/3dm/32565573? |
3DMark Fire Strike | 13214 | https://www.3dmark.com/3dm/32570334? |
結果ページによると 4KゲーミングPC と ゲーミングラップトップの中間程度のパフォーマンスと評価されました。安価な小型PCをベースに構成したシステムの性能としては上出来ではないでしょうか。実際に CoD:BO4 をプレイしていますが、HD解像度の最高画質で滑らかにプレイができています。BO4 たのしい!
静音性については、ゲームプレイ中はRazer Core Xのファンが強めに回転しますが、筐体ファン半径が大きいため音が低く、耳障りな音ではないです。
そういうわけで、
PayPayやクーポンを併用しましたが、eGPUセット(7万弱円)とNUCセット(7.7万円)をあわせて14万円で、eGPUをMac+Winで共有可能なゲーミングPC環境が構築できました。超コンパクトな設置サイズを考慮すると、なかなかコスパよく組めたのではないでしょうか。私のように、eGPU構成を検討しているMacユーザーの方は、Intel NUCを使ったサブマシン構成を検討してみるのもおすすめです。
部屋の本棚をIKEAのBillyにした話
今の部屋には、引っ越す前から育てている無印のパルプボードボックスを利用した本棚があるのだけど、じわじわと紙の本が増えて、そろそろ本が溢れるようになってきた。このままパルプボードを増設していってもよかったが、この製品は仕様上は5段までしか重ねられず、壁の上部が有効利用できない問題があったため、ここはひとつ背の高い本棚を導入し、本棚の設置面積を圧縮して部屋をより広く使うことにした。ゆくゆくはソファを置くなどもしたい。
本棚選び
我が家の本棚としての要件は、大判の美術書から文庫版の漫画まで、効率よく収納するために可動棚をもつことと、スッキリしたデザインであることだったが、デザインについて納得できるものがなかなか見つからず、本棚選びは難航していた。
無印のパルプボードボックスがそうであったように、ぼんやりした曲線を排したソリッドなかたちの本棚が欲しかったし、色に関しては、部屋がドアや木枠を含めて白で統一されていたので、本棚も白というのは心に決めていた。その点で、入手しやすい定番商品である 大洋のエースラック も、白井産業のタナリオも選択できなかった。エースラックはなんかちょっとカーブが入っていたのがどうしても許せなかったのと、タナリオのホワイトはうっすら木目が入っており、展示店舗が近くにないために実際の見栄えを確認することができなかったためだ。
このあたりでKEAの定番書棚Billyに行き着いた。
Billyはまさに上に挙げた要件を満たす理想の本棚だったが、購入に踏み切れない問題として、「たわみ」問題があった。どうも調べてみると、買おうと思っていた幅80cmのBillyは本を目一杯に収納していると、かなりの高確率で棚がたわんでくるらしかった。
たわむのはかなり見栄えが悪いので躊躇したが、結局80cm幅のBillyを諦め、40cm幅のBillyを連結することで回避することにした。40cmのBillyでは、さすがにたわみの報告は見られなかったためである。結果的に、40cm*3のマス目デザインは見た目にも良いものであった。
もう一つの問題として、転倒対策があった。Billyはかなりの重量があるので、倒れてくるとマジで危ない。IKEAの本棚は日本の家具と違い、重心が手前側に来るので、L字金具による壁固定など、転倒防止をしないと危険だとIKEAの店員に教えてもらった(どの家具でも何らかの対策は必要なのだが)。
しかし部屋は賃貸なので壁への釘打ちは躊躇われる。どうしたものかとネットを検索していたら、家具転倒防止おじさんこと篠原進さんが考案した対向くさびという転倒対策が目に入った。書棚と天井の間に楔状に組み合わせたスタイロフォームを詰め、震災時に転倒する方向への力を抑えるというものだった。これと、一般的な転倒防止シートを組み合わせて転倒防止策とすることに決めた。
設置
というわけでIKEAのオンラインストアで40cm幅のBillyを3台と追加棚を注文。工作精度への期待と横連結のため、組み立てサービスを依頼した。連結は別料金3000円でやってくれる。配送と組み立ては異なる業者により行われるので、配送から組み立てまでの間、届いた部材を部屋に置いておく必要がある。
設置されたBilly。連結されているため、この時点で一人では持ち上げるのが難しいほど重い。しかしなんとか頑張って足元にふんばる君120をはさんである。Billyは両側面に出っ張りがあるため、適宜カットして挟んだ。

ニトムズ 家具転倒防止安定板 ふんばる君 120 M6090
- 出版社/メーカー: ニトムズ(Nitoms)
- メディア: ホーム&キッチン
- 購入: 9人 クリック: 9回
- この商品を含むブログを見る
連結は、使わない棚穴にビスを通して行われる。IKEAの家具は一度分解すると再組み立てが難しいため引っ越し業者に敬遠されるといわれるが、ビスは簡単に外して再連結できるそうなので、引っ越しの際は横連結を解除すれば問題なさそうである。
対向くさびを作ろう
さて、篠原式のスタイロフォーム対向くさびを作成する。東急ハンズで21cmx10cmx6cmの白のスタイロフォームレンガ、ノンスリップシート、発泡スチロールカッターを購入。レンガ一つで2つのくさびを作れる。(6つ作ろうと思ってレンガを3つ購入したが、強度的に2つで充分ですよだったので、レンガは余った。)
棚から天井の梁まで高さ7.5cm。奥行き10cmのスタイロフォームに勾配1/10の斜面を作るため、1cmの高低差で線を引く。
スタイロフォームの上下にノンスリップシートをあわせ、(霧吹きがなかったため)クッキングペーパーで水を含ませ…
ハンマーで押し込む。なんかちょっと角の壁紙が裂けてしまった気がするが、気にしない。これで完成である。ふんばる君を敷いて本を収納した時点で、重みからそこそこ安定はしていたが、対向くさびを追加することで本当に押しても引いてもビクともしない、まるでL字金具で壁に固定されているかのような頑丈さになった。これはすごい。
パルプボードボックスから本を移して完成(写真は対向くさび設置とパルプボードボックスの撤去の前)。初期よりだいぶ設置面積がおさえられたし、部屋にもよく馴染んでおり満足。ただ、新しい本棚の容量をすでにほぼ使い切っており、写真にもあるように本などが少し入りきっていない。これとは別に映画のパンフレットの束も本当は本棚にしまいたかったし、会社に置いてあるダンボール一箱分の技術書もいつかは持ち帰ってこないといけないので、Billyがもう一台必要かもしれない。しかし既に述べたように3台連結済みのBillyは絶望的に重く、場所の微調整などできればしたくないので迷うところだ。しばらくは完全移行せず、パルプボードボックスを一部残して運用するかもしれない。本棚沼はこわい。