【必須6選】エンジニアとして働くためのPC設定環境
こちらはMOSHのアドベントカレンダーの15日目の記事です。
はじめに
2024年の6月からMOSHのサンポウチーム(決済関係のチーム)に業務委託で参画しているryoheiです。
MOSHのビジネスの上でお金を扱う部分として非常に重要な開発を担っていると感じています。
日々の機能開発や問い合わせ対応、インシデントの対応などいろんなことに追われながらもチーム一丸となって日々業務を行っています。
今回は、開発系ではないですが、私の好きなテーマについて書きたいと思います。
自分のPCとして欠かせないアプリ・設定
他人のPCほど使いにくいものはないかと思います。裏を返せば自分のPCの設定に慣れており手が馴染んでいる状態とも言えます。私は、良さげな生産性のアプリケーションを調べたり、自分にとっての最適な環境をちまちま作ることに喜びを感じるタイプなので、今回は私の設定や欠かせないアプリなどを紹介したいと思います。誰かの参考になればうれしいな〜。
Arc(ブラウザ)
最近周りのエンジニアでも使っている方も増えているような気がします。
ブラウザのArcです。もともとはSidekickというブラウザを利用していました。
Sidekickの最大の特徴はサイドバーにアプリケーションを常駐することができる点です。
cmd+数字
でよく使うアプリを切りかえるとスムーズに移動ができるので非常に効率的です。
気になる方は見てみてください。
私は、SidekickからArcに乗り換えました。理由は2つあり、1つ目はモダンでいけてそうだと感じたから(ふわっとした理由ですね)。2つ目は、Sidekickと同様普段よく使うアプリケーションをサイドバーに常駐させることができたからです。他にもかなりモダンなブラウザに思えたので、試しに使ってみました。
私の、個人的なArcイチオシの機能は、Live Folderという機能で、エンジニアは必ず使うべきと思っています。(異論は認めます)
具体的には、自分に関連のあるGithubのPull requestにワンタップで飛ぶことができます。
レビュー依頼がついた場合も表示されるようにようになるので、わざわざGithubまで移動してポチポチせずにすみます!意外と小さなことですが、かゆいところに手が届くのが素晴らしいです。
他にも、当然のことながらワークスペースを切ることができるので、プライベートのブランディング、プロジェクトごとのワークスペースを分けることができるので、タブが色々交じるのも防げそうですね!
個人的には、これがないこれまでの世界にも戻れません。
色なども自分が好きなようにカスタマイズできるようなので、試しに使ってみてはいかがでしょうか?
Cursor→Nvim
エンジニアなら必須のエディタですね。
宗教戦争にならないように深くは触れませんが、出始めくらいからCursorを使っていました(それまではVsCode)。サクッとGPTをAPI経由で呼び出せたり、簡単なフォーマットをやらせたりかなり開発体験はこれまでと変わり効率的になってきたなと感じています。
しかしながら時代に逆行するがごとく、かねてよりキーボードだけで作業できる環境に憧れを抱いていたので、。これまで何度か挑戦しては挫折を繰り返していたものの、Neovimに移行し始めていました。
これ以上深くは触れませんが、これから欠かせない存在になってくれることでしょう。
一応Cusorのような開発体験もプラグインで構築可能なようなので、慣れていきたいと思います。
ディスプレイ1枚で作業する技術
3~4年前に添付の記事を見て薫陶を受け、ずっとこれにならった形で設定を行っています。
基本は1ウィンドウ1アプリケーションを基本にします。
ショートカットキーを駆使してスイスイ目的のアプリケーションに移動するというのが、こちらの記事のコンセプトになるかと思います。
現在はマックのarmチップは記事に紹介されているtotalspacesというアプリケーションが使えなくなってしまっているので、代替手段を探す必要があります。yabaiというのを使うのが最近のやり方のようです。
私の場合は、こちらの記事ににそって10個のデスクトップウィンドウを作成して、 opt+数字
でそのウィンドウに移動できるようにしています。今となっては当たり前過ぎて、この設定がないと非常にストレスです。
参考までに私は以下のように配置しています。
1: エディタ
2: ターミナル
3: ブラウザ
4: notion
5: mysqlworkbench
6: 現在欠番
7: 現在欠番
8: 現在欠番
9: slack
10: 現在欠番
以前はたくさんのアプリケーションを立ち上げてすいすい移動していましたが、現在は最低限のアプリケーションを利用するようにしてるので欠番が発生しています。手がなじんでいるので9番目のslackは一生そこに居続けるでしょう。試しに設定してみてはいかがでしょうか?世界が変わると思います。
Notion Calendar
人間にとってカレンダーとは必要不可欠なものですね。
今年リリースされたカレンダーアプリのnotion calendarです。もともとはCronというアプリケーションだったのがnotionに買収されときを経て、リリースされました。
notionとの連携機能は私はあまり利用していませんが、MacのTopのメニューバーに何分後からMTGが始まるかや、1日の予定などがタイムライン上で確認できるのは非常に使いやすいです。
アプリケーション通知を許可すれば、右上の通知でMTGに参加するというボタンが出てくるので、わざわざカレンダーに移動したり、メールを探したりする必要がないのがUX的にも素晴らしいです。
UI/UXも非常に優れているアプリケーションだと思うので、これを作れるのはエンジニアとして尊敬しかないです。
Alfred→Raycast
言わずとしれたランチャーのアプリケーションです。
当然のごとく利用されている方もいるかと思いますが、こちらで取り上げさせてもらいました。Alfredはワークフローなども使えばより効率化ができるのでしょうが、そこまでは使いこなせておらず、よく使うのは、アプリケーションの立ち上げや、簡単な計算式の実行、あとはデフォルトでついているクリップボードヒストリーの機能は必須で利用しています。
中でも、クリップボードヒストリーはなくてはならないものですね。Clipyのような独立したアプリケーションを利用せずともランチャーについているのは推しポイントです。
Alferdは生涯買い切りにのプランがあるのでおすすめですが、最近勢いのあるRaycastに乗り換えをしました。
別アプリで代用していたwindowのタイル型マネジメントツールも内包しており、ほかもAlfredとあまり操作感も変わらずできているので良さそうです。
AIへの質問の呼び出しなどもグローバルにできるようなのでゆくゆくは使ってみたいと思います。
Nordpass
NordPassはパスワード管理ツールです。
マスターパスワードさせおぼえておけばセキュリティても非常に安全なランダムパスワードを生成+管理できます。
数多くのサイトのサインアップやログインを求められるのに対して、パスワードの使い回しは当然、セキュリティ的にもよろしくないです。エンジニアとしては当然ランダムパスワードをサービスやサイトごと使い分けなければと考えますが、数十サイトに登録するのが当たり前の今の時代にそは現実的ではありません。
そこでパスワードマネージャーツールが必要となります。マスターパスワードさえ覚えていれば、パスワードを思い出す、入力するという煩わしさから開放されます。ブラウザの拡張機能を入れていれば(iPhone等の場合はアプリをインストール)ログインでいちいちキーボードを叩く必要がなく、ワンタップでログインが実行されます。(これは一度経験するとなくてはならない機能になります。残りの人生単位で考えたときに、どれだけの時間をパスワード入力に費やしたいですか?もちろん少ないことに越したことはないでしょう。)
課金したとしてもそこまでの金額ではないので、appleやgoogleのデフォルト機能を利用したり、こちらのようなツールを使うのはいい選択だと思います。
終わりに
今回は私がPCでの作業で必須の設定やアプリケーションの紹介をしました。
エンジニアとして1日の仕事時間の大半をともにするPCの環境を整えて効率的に作業が行えるようにすることは非常に大切なことだと思います!自分自身に馴染む設定を探してみましょう。(ただし、かなり沼にはまる可能性もあるので用法用量はしっかり守ってください)
Discussion