Above & Beyond

日々のアウトプット記録

PCを買った

デスクトップとしては実に8年ぶりに新しいPCを買ったので、メモを残しておく。(参考になるかは不明)

購入したもの

PC

購入したのはこれ。ASUSベアボーンPC。メモリとストレージは付いてないので別途購入。 初めてのNUCとは言いながらも、長く使いたいというのもあるのでWindows11を見据えてこのスペックのものを選択。 サイズは1辺12cm弱でかなり小さい。

バイス スペック
CPU AMD Ryzen R7 4800U モバイル プロセッサー
周波数(最大) 2.3GHz(4.0GHz)
キャッシュ 8MB(L3キャッシュ)
メモリ 最大64G(DDR4-3200 (PC4-25600)
SO-DIMMスロット×2(空きスロット×2)
グラフィックス Radeon Graphics(CPU内蔵)
ビデオメモリ メインメモリと共有
ドライブスロット 1 x M.2スロット(Type M 2280)SATA及びPCIe & NVME対応
SATA 6Gb/s ポート
LAN 1000BASE-T/100BASE-TX/10BASE-T
Intel Wi-Fi 6 AX200(Gig+
Bluetooth 5
インターフェース HDMII 2.0×1
DisplayPort 1.4×3
(内2つは正面と背面のUSB 3.2 Gen2 Type-C)
USB 3.2 Gen2 Type-C×2(正面1個、背面1個)
USB 3.2 Gen1 Type-A×3(正面1個、背面2個)
カードリーダー 3-in-1: Micro SD/ Micro SDHC/ Micro SDXC
オーディオ オーディオジャック×1(コンボマイクヘッドホンジャック)

サイズ 幅115mm×奥行き115mm×高さ49mm 約0.7kg

メモリ

メモリはこれを買った。32GB1枚でいいかと思ったが、Ryzen APUはVRAMをメインメモリと共用する為デュアルチャネルでメモリアクセスできないと厳しそうだったので追加で買って計64GB。

項目 スペック
規格 DDR4 SO-DIMM 動作電圧:1.2v
容量 32GB
速度 3200Mhz PC4-25600 CL値:CL22-22-22-52

ストレージ

ストレージはこれ。M.2 2280 PCIe3.0×4 NVMe1.3。これにした理由はTBWが1665と同価格帯のものに比べて多く、長いこと使えそうというのが理由。 性能はベンチマーク結果を下で載せるので参考にしてください。

項目 スペック
インターフェース PCIe Gen3x4
読込 最大3400MB/s、書込:最大3000MB /s、TBW:1665
最大記憶容量 1TB
NVMe 1.3対応

OS

OSは古い方のPCからライセンス移行した。Windows10 Professional。

開封の儀

外箱と開けたときの本体梱包、付属品はこんな感じ。 本体、電源アダプタ、VESAマウント用フレーム、ドライバDVD、簡易マニュアル、各種ネジといったところ。

f:id:kabukawa:20210719183852j:plain

PD電源からの供給はできないため、電源アダプタは必須。本体サイズと比べるとそこそこ大きく見えるが、ディスプレイ裏に設置するならあまり気にならないかも。 ちなみに、USB-Cから他の機器に対しての電源供給(例えばスマフォへの充電みたいなこと)はできる。

本体の大きさはこんな感じ。比較のために単3乾電池を並べてみた。

f:id:kabukawa:20210719184142j:plain

セットアップ

最初にメモリとSSDを取り付け。本体をひっくり返し、四隅のネジを取り外して底の部分を横に少しスライドすると中にアクセスできる。 メモリは2枚の取り付け位置が少しオフセットしている。(取り付けやすさと放熱のためだと思われる) SSDはメモリと反対側に取り付け。固定は付属してきたネジで。

f:id:kabukawa:20210719184857j:plain

最初は上記で良いと思っていたが、メモリをデュアルチャネルにしたいのでメモリを追加して、SSDの発熱が気になったのでヒートシンクを取り付け。

f:id:kabukawa:20210723192036j:plain

ヒートシンクは大きなもののほうが効果が高いのはわかっていたが、設置位置からして高さが5mm以上になると3.5インチSATA 6Gbインターフェースに挿すSSDと干渉しそうだったので高さ2mmの純銅製のものを選択。ただ、効果はやはり薄いのでもう少し大きなもののほうが良かったかなと思っている。

設置

VESAマウント用フレームが付いているので、ディスプレイ裏に設置することにした。とはいえ、ディスプレイ裏には既にWifiルータを設置していて場所が塞がっていたため、増設プレートを追加で購入して設置することにした。

実際の設置風景はこんな感じ。ケーブルの取り回しがかなり汚いので、このあたりはおいおい整備していきたい。 設置方法としては、本体に付属のネジでVESAマウント用フレームを増設プレートにネジ止めし、本体の裏側に引っ掛けるようにネジ(本体に付属)を付けて、VESAマウント用フレームに引っ掛けるように取り付ける。 分かってしまえば特に難しいことはない。尚、VESAマウント用フレームは横に長いので、設置場所はちょっと注意が必要。

f:id:kabukawa:20210723192305j:plain

これで設置も完了。

インストール

OS

OSはWindows10。 やりかたはMicrosoft公式の Windows 10 のダウンロード からイメージ作成ツールをダウンロードして、インストールイメージ(今回はUSBメモリ)を作成し、インストールするだけ。

注意点としては、ライセンスを旧PCから移行するので、ローカルユーザーでインストールすること。やり方は この辺 に書いてある。要するに、Microsoftアカウントと紐付いたデジタルライセンスをハードウェア変更したということで他のPC用にする、というだけ。デジタル認証されたライセンスがあればオンラインでかんたんに移行できる。

ドライバ

ドライバDVDからインストールすればいいが、PCにDVDドライブはないし、DVDドライブ付きの旧PCはライセンスを移行してしまったので使えない。 ということでASUSのサイトからドライバをダウンロードして対応した。

www.asus.com

アプリケーション

インストールしたアプリはこんな感じ。 ブラウザのたぐいはアカウント同期をしているので移行は極めて楽。 VS Codeも同期を有効にしているので環境を再現するのが楽。

Storeアプリ * Ubuntu 18.04 * Windows Terminal * Slack

TwitterYoutubeはPWAアプリとして使っている。

各種設定

大体ここに書いた手順で再設定。

github.com

ベンチマークなど

SSDはこのくらいの速度。酷使すると70℃近くまで上がるが、普段は40℃前後なので普通に使う分にはそこまで心配しなくても大丈夫そう。 でも、もうちょい冷却はしたいかな。

SSD

f:id:kabukawa:20210724155114p:plain

CPU

f:id:kabukawa:20210724155331p:plain

メモリ

f:id:kabukawa:20210724155403p:plain

GPU

f:id:kabukawa:20210724155439p:plain

感想

取り敢えず、今のところはかなり静か。 負荷の高い処理をするとファンが動き出すのでそれなりの音はするけど、並行で使っているノートPCと比べれば小さい。 いまのところ、結構満足度は高い。

良かったところ

  • とにかく小さい
  • 普段はとても静か
  • フルスペックにしても11万円くらい。
  • 業務するには十分な性能

改善したいところ

  • 排熱。特にSSDはM2とSATAを同時に付けるときは結構きにしたほうがいい。
  • 小さい分、エアフローが結構厳しい。
  • 負荷が上がったときのファンの音。それなりに音はする。
  • 拡張まわり。USBが3口というのは結構ギリギリなので、ハブは有ったほうがいい。

吉祥寺.pm26 でLTしてきた。

今週火曜日(2021年04月20日)は「吉祥寺.pm26【オンライン】」でLTをしてきました。

f:id:kabukawa:20210124084308p:plain

kichijojipm.connpass.com

吉祥寺.pm25でのLTに続き、またも喋ってきたよ、という内容です。

目次

吉祥寺.pm とは

過去の参加報告は前回のLTのときのエントリに載せているので、そちらを参照してください。

kabukawa.hatenablog.jp

何故参加したか

吉祥寺.pm26の募集が始まったときに、なんか喋りたいなと思いたち、勢いでLTに申し込みました。 前回のLTでWindowsTerminalの話をしたんですが、今回はもう少し仕事での開発の話をしたいなということで付けたタイトルが「古の環境と戦う話」。 速度優先で回されてきた現場で更新するのも難しい開発環境、というのは稀によくある話なので、何かのときに思い出してもらえると良いなと思って喋ってきました。

何を喋ってきたか

今回はいわゆるLAMP(Linux/Apache/MySQL/PHP)で構築された古いシステムで開発するときに、どういうことをしているかという話です。 架空の現場という設定なので、実際にあるとかいうのは気にしない気にしない。

github.com

今どきの開発だと、例えばVS Codeでリモート開発拡張を入れてデバッグとかもできるような形で環境を構築する現場もあると思うのですが、

  • OSが古すぎてリモート開発拡張が動かない
  • 文字コードutf-8じゃなくて、VS Codeのデフォルト状態だと文字化け
  • Dockerでイメージ作ろうにもOSが古くてパッケージのインストールができない
  • gitが使えると思っていたら実はsvnだった

という現場あるある(本当か?)をどうやって解決しているか、みたいな事を話しました。 前回の反省を活かし、時間内に収まるようにだいぶすっとばして話をしました。 こういうのは重苦しい話になりがちなので、ツイッターなどでのコメントでは皆さんに笑っていただけたようなので、喋った人間としてはちょっと安心しました。

今回のLTで伝えたかったことは

  • 問題解決がエンジニアの仕事。
  • 古いのではない。枯れているのだ。
  • 誰かが通ってきた/通るかもしれない道。
  • きっとどこかにヒントは有る。
  • そういうのを楽しむのも大事。

ということです。なので、最新じゃないけど現場のリアル、みたいな話は今後も続けていきたいと思います。

なお、今回の吉祥寺.pm26のテーマは「1周回って、辿り着いた”先”」。

実は始まるまでこのテーマのことをすっかり忘れていて、「やべー」と思っていたのですが、こうやって振り返ってみると、すこしだけ当てはまっているかな、と思ったり。 ここ数年で変わったところはたくさんあるんだけど、結局自分のやっている開発の仕事は何も変わってない。 今回の話でいうと、1周回って10年前に最新だった開発環境に戻ってきたわけですね。 エディタも変わったし、システムの動く環境も変わったけど、相変わらず動いているものはあるし、システムの作り方って結局あんまり変わっていない。 それは良いことじゃないのかもしれないけど、それを変えられなかったのは自分なんだよなぁ、みたいなことを考えています。 なので、本当は今回の話をしたいと思った理由は、変えなきゃいけないんだ、みたいな気持ちがあったのかなぁ、なんて。

迷うなら変わる方向へ。

そんなことを考えながら、このエントリを書いてます。

トークと資料

タイトル 登壇者 資料
Perl student has become SRE yuzoiwasaki speakerdeck.com
[資料が公開されたら追記します] ici_mici [資料が公開されたら追記します]
ソフトウェア開発における『知の高速道路』 Yoshitaka Kawashima www.slideshare.net
1周回って、 辿り着いた技術コミュニティの話 ただあき speakerdeck.com
心理的安全性に飢えた自分が一周回って辿り着いた1on1のコツ 面川泰明 speakerdeck.com
古の環境と戦う話 kabukawa github.com
[資料が公開されたら追記します] AkiraAbe [資料が公開されたら追記します]
研修はイベントでなくコミュニティ作り kfly8 speakerdeck.com

ツイート

ツイートはこちら。一時期に比べると減った気もしますが、Zoomチャットの方でもだいぶ会話が流れていたので、これもまたオンライン化した変化なのかな、と思います。

twitter.com

まとめ

LTで喋るのも2回めで少しずつオンライン登壇も慣れてきたので、いつかトークにも挑戦したいですね。(その前に喋る内容を考えないといけないですが) 今回も楽しく参加できました。内容も様々で意外な発見もあり、参加できてとても満足でした。 ありがとうございました!

Win-sshfs

モチベーション

VS CodeのRemote SSHはとても便利なんだけど、接続先のOSが古いとかサポートされていない環境だと使えない。 じゃぁ、nfs、っていうのもroot権限がないと設定とかできないし、共用の開発サーバーだと勝手に設定を変えることもできない。

そういう場合に、sshfsを使ってWindowsエクスプローラーでサーバーのディレクトリをマウントして使うという方法がある。 この方法だとssh接続ができるホストであればOKなので、上記のような古の環境でもGUIエディタで編集などができるようになる。 ということで久しぶりにインストールと設定をしたのでそのメモ。



セットアップ

インストール

以下の2つをインストール

起動

スタートメニューからwin-sshfsを検索して起動

設定

  1. 起動したらタスクトレイに常駐(黄色いアイコンのやつ)するので、アイコン上でマウス右クリック
  2. Show Managerを選択して設定画面を開く
  3. ダイアログの左下に有る Add ボタンをクリック
  4. ホストへのsshでのログインなどの情報を入力 f:id:kabukawa:20210209235746p:plain
    • DriveName:接続先の名前(区別するのに使うだけなので任意の名前でOK)
    • Host:ホスト名もしくはIPアドレス
    • Port:22
    • Username:ssh接続する時のユーザーID
    • Password:パスワード認証の場合。ドロップダウンで鍵認証も可能
    • Directory:ホスト上のマウントしたいディレクト
    • DriveLetter:ローカルPCのドライブレター
    • Mount at Login:チェックを外すのを推奨(後述)
  5. Save ボタンをクリックして保存

マウント

Mount ボタンを押すと DriveLetter で指定したドライブとして Host の Directory がマウントされる。 あとはWindows上で使うのと同じ。エクスプローラ上でコピーしたり編集操作も可能

アンマウント

使い終わったらunmountしておく。

注意点

とても便利なsshfsなんだけど、Windowsのネットワークドライブとしてマウントするというところで注意点が有る。 それは、ウィルススキャンがネットワークドライブに対してもかかるようになっていると、sshfsで接続したホストもスキャンされることになる、ということ。 スキャンされるということはファイルを読んで結構なデータが転送されることになるので、例えばクラウド仮想マシンに対してマウントをしていると クラウドからのデータ転送料金だけで大変な金額になったりする。そういう経験をしたことが有るので、Mount at LoginオプションはOFFを推奨しています。

とはいえ、そこそこのパフォーマンスで使えるし、ローカルのPCへのインストールだけなので敷居はそこそこ低いかなと思います。 こういう方法もあるということで、何かのときに役に立ってくれるといいなと思います。