自宅の開発環境について


家で学んだことを職場で、職場で学んだことを家で使えるのが最高だと考えています。そのため、マシンの選択や使用するツールは、職場でも使える可能性があることを重視しており、マシンが変わったり他の人のマシンを触る可能性も考えて、設定は不便にならない程度にデフォルトで使いがちです。

使用マシン: Mac (Intel)

家では基本 Mac を使っています。Web 系の会社だと Mac を利用できることが多いので仕事でも不便は感じません。特定の OS が嫌いということはなく、自宅には Windows、Mac、Linux(Ubuntu)の 3 種あることもしばしば、単に PC が好きです。フォントレンダリングの綺麗さと操作性が一番しっくりくるので Mac をメインにしています。

M1 Mac 欲しいなと思いつつ今の Mac でもスペック的に困っていないので見送り中。2022 年後半くらいには買うかもしれない。

キーボード

  • HHKB Professional Hybrid TypeS 英語配列

キーボード下部のボタンが少なくスッキリしていて、打ち心地が良く、集中を邪魔しないタイプ音。長年 Realforce と HHKB をうろうろしていたものの Hybrid の登場で HHKB がメインキーボードに。

ずっと日本語配列で使っていましたが、キーボードの下の方にボタン一杯あると、何押せば良いかわからなくなることが良くあったので HHKB の英語配列に変更しました。とても良いです。職場では日本語キーボード強制なところもあって、その際はキーボード入力が遅くなりました。

マウス

  • Apple Magic Trackpad
  • Logicool MX Ergo

手首や指を痛めやすいため、自分の手にあって、手に優しいツールを探して辿り着いたものたちです。家では Magic Trackpad を利用していて、職場では MX Ergo のパターンが多いです。Magic Trackpad は使い心地非常に良いのですが、微調整したい操作にはマウスの方が便利なのが理由です。

MX Ergo は表面がややデリケートで、ボールを取り出して掃除するのに鉛筆などがいるといった細かい点で気になるところはあるものの、使いやすさは抜群です。お値段の割には買い替え周期がちょっと早い気がしています。

エディタ周りの共通

Theme - One Dark Theme

複数エディタを利用するケースで、デフォルトだとそれぞれの色味が違うことにストレスがありました。目に優しく、色々なエディタで取り扱われる可能性の高いという点で One Dark Theme を利用しています。

エディタ毎に Theme の作者は違うため完全に同じにはなりませんが、大体の色味が同じになります。theme を利用すると個人 PC では色味が揃うものの、職場 PC とは離れがちになる点が現在の課題です。共有 PC で作業している時間が長いのもあり、個人の趣味で揃えられないことがあり。

https://plugins.jetbrains.com/plugin/11938-one-dark-theme

フォント - Jetbrains Mono

https://www.jetbrains.com/ja-jp/lp/mono/

コードを書くときのフォントは、JetBrains Mono を利用しています。コードの視認性を高めるフォントは色々とありますが、JetBrains Mono を選択しているのは下記の理由です。

  • 視認しやすい
  • 合字が使える
  • 無料

特に合字は、!=、===といった表記の可読性がぐっと良くなります。また、OS 標準のフォント以外を利用することで、開発機の OS が変わっても文字の見た目が変わりにくいという点もあります。もちろん、フォントのレンダリングのクオリティは OS 毎に異なるため、完全一致はしません。

使用するフォントはこれと決めきれずに困っていた時期がありました。有料だと職場で使えず、無料だとこれ!というものが中々なかった。Jetbrains Mono が配布されるようになってからは、とりあえず選択できるのが良い感じです。IntelliJ 利用しているなら初めから入っているのも良い点。

vscode

何かを書くときにとりあえず使うツール。

IntelliJ IDEA Ultimate

Rust、Kotlin を触るときに使用中。Rust は vscode の plugin と Intellij の Plugin のアップデート次第でフラフラしています。JVM 言語は vscode よりも設定簡単で使いやすいと思っています。

課金しているのは、 kotlin 利用時の class の依存関係が出せるダイアグラム機能が便利に感じたからです。ただ、現在 kotlin 全然触っていないのでちょっと勿体無い状態。