2019/12/15

4年ぶりにPCを新調した

前々から変えたい変えたいと言っていたPCをついに本格的に新調した.

デスクトップを買ったのが2015年,GTX1050Tiを追加購入したのが2016年の冬,メモリ増設・SSD換装で延命を図ったのが2018年冬.グラボ,メモリ,SSDと各所を補強してきたけど,ついにCPUがボトルネックになってきてしまい,部品増強ではなく新調に踏み切るタイミングが来たと判断した.

基本的な構成は,昨年夏にツクモで相談したときの結果をベースに,若干のマイナーチェンジを図ってみた.

最近,ときたまPCの動きがすごく遅くなる.タスクマネージャーを見るとHDDの使用率が上がっているあたり,HDDがボトルネックになっているようである. 振り返ってみればこのPCを購入したのが3年ほど前.PCの“寿命”は一概に決められるものではないが,そろそろ(少し早めの)P...

Sponsored Link

構成

一部使いまわしをしつつ,以下のような構成とした.

  • OS:Windows10 Home(USB版)
  • CPU:Ryzen5 3600
  • マザボ:GIGABYTE B450 I AORUS PRO WIFI
  • メモリ:DDR4-2666 32GB
  • SSD:512GB(流用)
  • グラボ:MSI GTX 1050Ti(流用)
  • 電源:Seasonic SSR-450FM
  • ケース:FractalDesign Define Nano S

ポイントは以下の通り.

Windows10はDSP版ではなくUSB版

購入した部品と紐付けてDSP版を買ったほうが安上がりではあるけど,今後部品を入れ替えるときにライセンス周りを心配するのが面倒だったので,ここで新規ライセンスを購入した.Windows10は息の長いOSになりそうなので,しばらくはこれでライセンスで困ることはなさそう,という判断.

CPUはAMD Ryzenへ

よく,コスパはRyzenのほうが良いという話がされるけど,実際のところローエンドからミドルくらいまではintelでもAMDでも大差がなかったりする.そういう意味ではintelでもAMDでもどちらでも良かったが,最近人気のAMDを使ってみたいなーという適当な理由でRyzenを選択.

AMD CPUを使うのは,中学生の頃買ったノートパソコン以来.確かAthlonだったんだよなあ,アレ…….

クーラーはリテールクーラーを使っているけど,グリスの評判が悪すぎるので,物珍しさで炭素繊維のシートを使ってみた.グリスと比較しているわけではないので,冷え方がどう違うのかはわからないけど…….

メモリは32GB

DDR4メモリもだいぶ値崩れしてきたので,16GB⇒32GBにアップグレード.メモリはほんと安くなったね…….

規格はmini-itx

ありとあらゆる人にデカイほうが幸せになれると止められたが,いかんせん東京のうさぎ小屋に住んでいるもので,部屋が狭いので少しでも小さくしたかった,故にmini-itx.

ケースはFractalDesignのDegine Nano S.こういうシンプルなデザインが好き.若干電源とグラボの間のスペースがないところが気になっているが,温度を監視したところグラボにはそれほど負荷がかかっていないようなので,今の所問題なさそう.

おわりに

ここ2年くらい新調したいなあとぼやいていたのをついに実現できてよかった.ケースも新調したし,OSのライセンスもDSP版にしなかったことで,今後は今回のものを改善していく土台にしやすくなったのもGood.

シネベンチを回してみたら大改善.

高負荷時にCPU温度が結構高くなるところだけ気がかりだけど,Cities:Skylinesで遊んでみてどれくらい負荷がかかるか次第と思っているところ.場合によってはCPUクーラーとかケースファンを変えることになるかも.

2019/12/07

【Python】Djangoを3.0にアップデートしたらtranslation.E004エラーでサーバを起動できなくなった話

久方プログラミングネタ.先日,会社で「カエリタ……カエリタ……」ってぼやきながら仕事をしていたらGitHubからメールが来て,要約すると「お前のレポジトリのDjangoのバージョン,古いからバージョンアップのプルリク出しとくぞ」というものだった.

見たところ,2.2.8より前の一部バージョンで脆弱性があったらしく,Pipfileでそれを検知したのかバージョンアップ用のプルリクが自動で飛んできていた.すげえなGitHub.

で,お遊びでデプロイしているものとは言っても,脆弱性があるのは流石にまずいのでアップデート対応をした……したのだが,素直にそのプルリクを飲むのではなく,自分でブランチを切ってアップデートしてみたら思わぬところで詰まったのでその話.

Sponsored Link

バージョンアップにご用心

GitHubからのプルリクのバージョンは2.2.8へのアップデート.

ところが,自分で

pipenv update --outdated
pipenv update

したらDjangoのバージョンが3.0になった.ただしこのときはまだ気づいていない.

一応ローカルで動作確認しとくか,ということで

python manage.py runserver

したところ,帰ってきたのは

translation.E004) You have provided a value for the LANGUAGE_CODE setting that is not in the LANGUAGES setting

なるエラー.言語コードなんていじってないんだけどなあ……と思いつつ,settings.pyを見ると

LANGUAGE_CODE = 'ja-JP'

と書いてある.これ(ja-JP)がLANGUAGES settingにないんじゃい,と怒られてるらしい.

ぐぐってたらstackoverflowのこれを見つけた.Django 3.0以降,Djangoのglobal_settings.pyにあるコードを厳密に指定しないとエラーが出るらしいとのこと.んで,その設定を見に行ってみると日本語の設定は"ja-JP"ではなく"ja"だった.

考えてみるとJPは国コードで言語コードじゃないんだよなあ,という当たり前の話.2.xではエラーにならなかったが,単純に設定をミスってたらしいというオチ.なんとなく設定するんじゃなく,こういうところも参照しながらやらないとなあ,と思った.