きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

ThinkCentre M75q-1 Tiny にSSDとメモリを増設した

kiyokura.hateblo.jp

の続編。

SSDとメモリを購入

先日購入した構成で内蔵SATA 2.5インチベイとSODIMMスロットが一つ空いていたため、せっかくなので増設することにした。前回のエントリで『後々に適当なものを見繕って増設予定』などと書いている割に結局すぐ買ってしまったわけだが、これは以下を考慮した結果「どうせ後から買うつもりなら早い方がよい」という結論に達したからである*1

  • Cドライブの容量が128GBと少々控えめ
  • うっかりCドライブが容量不足でWindows Updateを失敗するようになったりでもしたら面倒で嫌
  • まだOffice他ほとんどのアプリケーションをインストールしていない
  • Office等重量級のアプリケーションを後で別ドライブに移すのはまた面倒で嫌

なお、今回購入したのは以下。 最近のPCパーツ事情がよくわかっていなので特にメーカー等はこだわっておらず、価格と規格、自分が抱いてるメーカーの印象等で適当にチョイスした。

  • メモリ
    • Kingston KCP426SS8/8 : DDR4 2666MHz 8GB / Non-ECC Unbuffered SODIMM / CL19
    • 購入価格 : 4,673円
    • 参考 : ASIN:B07D3NG9MG
  • SSD
    • Western Digital WDS500G2B0A-EC : SSD / 500GB/ WD Blue / 2.5インチ / SATA III 6 Gb/s
    • 購入価格 : 8,565円
    • 参考 : ASIN:B07SM7YJ4F

分解と取付

この程度の取り付けに際してはとてもメンテナンス性の良いケースという印象で、さほど困ったり作業し辛かったような部分は無かった。ただケースの開け方等*2で一瞬悩んだ部分があったので今後のために一応メモしておく。

手順 1. 背面のビスを抜く

背面パネル上のビスを抜く。今回は購入時にツールレスシャーシを選んで無いためドライバーが必要。 f:id:kiyokura:20200408155815j:plain なお今回ドライバーを利用するのはこのビスのみ。

手順 2. 天面パネルをフロントベゼルごと前にスライド

天面側のパネルをフロントベゼルごと前方にスライドして外す。 f:id:kiyokura:20200408160014j:plain

上からみた内部はこんな感じ。2.5インチドライブはのドライブベイに取り付ける。 f:id:kiyokura:20200408160041j:plain

手順 3. 2.5インチドライブベイを取り外す

ノッチ(?)のようになっている部分を矢印方向に押してドライブベイを外す。 f:id:kiyokura:20200408160042j:plain この時テープでコネクタ付きのフィルムケーブルがまとめられベイに固定されているので破損させないように注意しながらテープも外す。 f:id:kiyokura:20200408160624j:plain

手順 4. 2.5インチドライブベイにSSDを取り付け、ケーブルを接続して組み付ける

ツールレスで取り付けれるようになっている……が、このピンをどう扱うのが正式な手順なのかよくわからなかったので、取付ベイの樹脂の柔軟性を信じて無理やりはめた(誰か真のやり方教えてください)。 ケーブルを挿し、元通りドライブベイを組み付けて、SSDの取り付けは完了。 f:id:kiyokura:20200408162214j:plain

手順 4 . 裏返し底面パネルをスライドさせてはずす

メモリ取り付けのスロットは底面側にあるので、裏返して底面パネルをスライドして外し内部を露出させる。 f:id:kiyokura:20200408160355j:plain f:id:kiyokura:20200408160405j:plain なお出荷時から刺さっていたメモリはSAMSUNG製だった。

手順 5. SODIMMスロットにメモリを取り付ける

空きスロットにそのまま取付。 f:id:kiyokura:20200408162239j:plain

手順 6. 元通り組み付けて完了

特に問題なく取付作業は終了。シンプルだが無理なく構成されている印象だった。

結果

こんな感じになりました。 f:id:kiyokura:20200409112047p:plain f:id:kiyokura:20200409112100p:plain

一旦はこれでしばらく(というかずっと)使う予定。もしGPUのパフォーマンスに不満がでたら135仕様ACアダプタを買うかもしれませんが、当分なさそうかな……。

*1:なのでメモリはどちらでもよかったが、どうせケース開けるなら同時にやってしまおうと思ったため同時に購入することとした。どのみちそんなに高くなかったし。

*2:具体的にはビスを外した後のスライドのさせ方で、どことどこが固定されていてどこがどの方向にスライドするか等

ThinkCentre M75q-1 Tiny を購入した

Twitterでどなたかが『価格.comの週末特価のリンクから買うとお得!』という情報をつぶやいてくださっていたのを見て、ちょうど事務処理用にPCを一台仕入れたかったので購入。

想定の用途だけ考えればこのCPUであれば他はほぼギリギリまで削っても問題なさそうと判断。ツイートしてくださっていた内容に従って色々削り最低スペック+内蔵のWLAN+Bluetoothだけ追加という構成に。……手元にまともなキーボードが余ってなかったったのでそれはつけておいても良かったなとは後で少し思ったりもしつつ(これは後の祭り)。

スペックと価格

以下の構成で価格は36,520円(消費税・送料込みで)となった。小さくてかわいいし、端的に言って安くて良い。

モデルと基本スペック

  • モデル:ThinkCentre M75q-1
  • AMD Ryzen 5 Pro 3400GE (3.30GHz, 2MB)
  • Windows 10 Home 64bit
  • 8GB PC4-21300 SODIMM
  • 128GB M.2 2242 NVMe
  • 内蔵ギガビットイーサネット
  • IEEE 802.11 ac/a/b/g/n ワイヤレスLAN (WiFi準拠)2x2, Bluetooth

外部露出インタフェース

外部に露出しているI/F等は以下。

  • 正面
    • マイク入力(3.5Φ)
    • ヘッドホン出力(3.5Φ)
    • USB TYPE-C × 1
    • USB TYPE-A × 1(3.0?/ おそらく常時給電可能だが未確認)
  • 背面
    • 電源入力
    • Display Port出力×1
    • HDMI出力×1
    • USB TYPE-A × 1(3.0?)
    • USB TYPE-A × 3(2.0?)
    • ギガビットイーサネット×1
    • 内蔵WLAN用アンテナ

内蔵の空きスロット

また以下の空きスロットがあるので、後々に適当なものを見繕って増設予定。

  • SATA 2.5インチ内蔵ドライブベイ×1
  • SODIMMスロット一期×1

外観

正面

f:id:kiyokura:20200405101503j:plain
ThinkCentre M75q-1 正面

背面

f:id:kiyokura:20200405101427j:plain
ThinkCentre M75q-1 背面

その他購入情報

  • 購入先
    • Lenovo直販サイト(ただし価格.comのリンクからのクーポン適用)
  • 購入日
    • 2020年3月注文、2020年4月配送

その他メモ

付属の65W仕様のACアダプタではなく別売りの135WのACアダプタを利用すると、特にDirect X周りの性能が向上する模様(ベンチマークによっては倍近くのスコアが出るっぽい*1)。

www.lenovo.com ただし純正品は出荷まで6週間程度と時間がかかるようなのと、とりあえずの用途的には不要なので購入はいったん見送り。

*1:計測結果を公開されている方の情報によれば、FF XIVベンチで3200→6200とか、別のベンチでOpenGLで38FPS→56FPSとか結構劇的に変わることがある模様

IODATAの23.8型液晶ディスプレイ DIOS-LDH241DB を購入した

あとからググる用のメモ。

買ったもの

  • メーカー
    • アイ・オー・データ機器
  • 型番
    • DIOS-LDH241DB
  • JAN
    • 4957180144634
  • 解像度
    • 1920×1080

www.iodata.jp

購入動機等

主に事務処理用PCで使う目的で、24インチクラスの手ごろなものが欲しくて購入。 スペックよりも価格優先、ただし複数人でディスプレイをのぞき込んでの作業が想定されるため視野角が狭すぎるのは避けたい……というあたりが選定基準。

Amazonで物色したところ、昨今のリモートワーク需要なのか新年度需要なのかその両方なのか分からないが、24インチクラスで10,000円~15,000円あたりの製品が軒並み在庫や納期が厳しめな感じ。NTT-Xを検索したところこれが売れ筋にリストアップさており、安価でよさそうに見えたので購入。

広視野角は上下左右178°ということでまあこのあたりで問題ないだろうし、他のスペックも価格を考慮すれば考えれば必要十分と判断。

その他購入メモ

  • 購入年月
    • 2020年4月
  • 購入店
    • NTT-X ストア
  • 価格
    • 11,480円(税込み)
  • その他備考
    • ドット抜け/ドット欠けは特になし

使用感等

  • ディスプレイとしての使用感は特に不満無し
  • スピーカーはおまけ程度と思った方がよさげ(音質的な意味でも)
    • 音量調整はメニュー表示から操作するので面倒くさい
    • PCからの場合はOS側のボリュームで調整すればいいのであまり気にならないかもしれないが
  • スタンドの前面にスマホを立てておける溝?があって人によっては便利かもしれない

「秋葉原式プログラマーキーボード for kids」を2か月弱使ってみた感想

TSUKUMOが発売した「秋葉原式プログラマーキーボード for kids」を買って2か月弱使ってみたので感想を書いてみます。 f:id:kiyokura:20200405101246j:plain

TL;DR

  • 結論:正直あまりお勧めできない
  • コンセプトは良いが製品の品質が低い(よくBTOに付いてる最低限のもの相当)
  • 「キートップの印字が小文字」「読み仮名がある」は一定の需要はあると思うのでこれで終わらないで欲しい

「秋葉原式プログラマーキーボード for kids」 とは

ざっくりいうと、小学生以下のプログラミング用にフォーカスして、キートップにアルファベットの小文字や記号含めた読みがなが印字されているというコンセプトのキーボードです。 詳細はプレスリリースを見てもらうのがいいと思います。( https://kaisya.tsukumo.co.jp/static/release/190924p.html )

私は2月頭にツクモのネットショップで2,728円で購入しました。 (前述のとおり個人的にはあまりおすすめはしないので、通販の製品ページへのリンクは張りません。欲しい方はツクモネットショップで型番「TKAP-01」で検索してみてください)

何故買ってみたのか

このキーボードに惹かれた(ほぼ唯一の)点は、キートップに『アルファベットの小文字が印字されていること』でした。 昔々のBASICと異なり最近は予約語が小文字のプログラミング言語が主流ですが幼児や小学校低学年の子供だと大文字は読めても小文字はわからないことが多いという実感がありました*1。 ちょうど4歳*2の息子がプログラミングに興味を覚えたので、手持ちのノートパソコンにつなげて使わせて使わせてみようかな、と思ったのが購入動機です。

どうだったか

息子氏はそれほどキーボードで入力することが無いので*3特に感想というほどのものは無いのですが、複数の小学生(3年生~6年生)に使ってみてもらったところ「わかり易い」と概ね好評でした。 6年生になると小文字も読める子は多いですが(最近は小文字も習うらしい?)、やはり普段から読み慣れてるわけではないのでちょっとしたことで引っ掛かってストレスになることは少なくないようでした。 "プログミング"という本題以外の部分での余計なストレスが軽減されるのはやはり好ましいように思えました。

なにが良くないと思ったか

根本的にモノがチープすぎました。この一点です。子供向けですし鍵打感云々を論ずるつもりもないしその必要もないとは思ってはいるのですが。

箱から出したときの第一印象は「コレ、その辺のPCショップのBTOで無料でついてくる、個別に買ったら780円とかのヤツ??」というものでした。

……まあ実際にツクモネットショップにあった TM-UKEY108BK ( https://shop.tsukumo.co.jp/goods/4943508088278/ ) のスペックと見た目が合致しているのでおそらくコレそのものもまたはその相当品のキートップ印字を変えただけ、だと思うのですが、まさにこれが『ズバリ価格:¥691(税込)』だったわけですが(。

さらに、それほどの頻度で使っていたわけでもなくまた低年齢の子供特有の乱暴の扱いもなかったとも思うのですが、使用開始から2か月弱の今現在すでに特定のキーがチャタリングを起こし始めたり……。

雑感

子供が雑に扱って壊すとか普通にありますし*4、小文字が読めないのはせいぜい小学校5-6年くらいまでだから長くは使わないだろう、とか、そもそもどれくらい需要があるかわからない等々あると思うので、『なるべく低価格で』みたいなのも理解はできます。まあニッチですよね。

が、実際に利用者として買ってみた感想としてはやはり「んー、ちょっとないかな……」でした。 (なお、付属のマウスはまったく使ってないので特に感想はありません) 追記しました。

我が家では前述のとおり特定のキーがチャタリングを起こし始めたためすでにお蔵入りというか廃棄予定になっています*5

もし、今後『ベースが2~3,000円くらいのもう少しまともな品質のキーボードにこれのキートップ印刷してマウス無しで5000円以下』のような製品が出たら、また買って使ってみたいなとは思ったりはしてます。

追記(2020/04/16)

普段使ってないノートPCで作業する必要がありその折に適当なマウスが他に見当たらなかったので、付属のマウスを使ってみた……のだが……。 クリック感などは特に問題ないものの、接触の不良なのか特に触っていないのにたまに切断してしばらくして復帰して……を繰り返したり、全然安定せず。 初期不良に当たったのだとは思うものの、マウス自体も最低限の激安マウスなことには違いがなさそうだしまあもうどうでもいいかな……という感想でした。

*1:知人の学習塾などで実際に2年生~6年生までの小学生と接した上での実感

*2:2月末で5歳になりましたが

*3:scratchやらcode.orgやらブロック型のものを弄って遊んでるのがメインなので

*4:scratchでゲーム作った後、アホほどキー連打してプレイとか普通にある

*5:半年程度の保証があるっぽいがこの造りだと別の新品来ても品質に期待できそうにないし、正直連絡とって手続きだのなんだのしてる時間の方がおしいな……みたいな……

Azure DevOps のgitリポジトリにPersonal Access Tokensを使ってLibGit2Sharpでアクセスする

Azure DevOpsのgitリポジトリに LibGit2Sharp を使ったコードでアクセスする際、私は今まで Azure DevOpsで Alternate Credentials として設定した ID/パスワードを利用していました。 しかしながら、Alternate Credentials がついに来月、2020年3月2日をもって完全に無効になるという事で、Personal Access Tokens(PAT)に切り替えることにしました。

参考: devblogs.microsoft.com

方法:UsernamePasswordCredentials でPasswordとしてTokenを設定するだけ

"切り替える"といっても、特に難しいことはありませんでした。 CredentialsProvider として UsernamePasswordCredentialsを利用し Alternate Credentials のID/Password を用いて認証していたコードからは以下2点が異なるだけです。

  • Username : 任意の文字列を設定(NULLや空文字列はNG)
  • Password : 生成したPATを設定

コード例:

// ローカルのリポジトリを開いて認証が必要なリモートoriginをfetchするサンプル
private void FetchSample()
{
  var RepositoryLocalPath = @"C:\Some\Rep\Path";
  using (var repo = new Repository(RepositoryLocalPath))
  {
    var remote = repo.Network.Remotes["origin"];
    var refSpecs = remote.FetchRefSpecs.Select(x => x.Specification);
    var fetchOption = new FetchOptions()
    {
      CredentialsProvider = (_url, _user, _cred) => new UsernamePasswordCredentials
      {
        Username = "anystring", // 任意の文字列。NULLや空文字列はNG。
        Password = "hogefugahagamogehogefugahagamogehogefugahagamoge" // Azure DevOpsで生成したPAT
      }
    };
    var logMessage = "";
    Commands.Fetch(repo, remote.Name, refSpecs, fetchOption, logMessage);
  }
}