feature image

2021年12月25日 | ブログ記事

どんな環境で開発していますか?

メリークリスマス!この記事はtraP Advent Calendar 2021 最終日(42日目)の記事です。

こんにちは、19Bの@temmaです。普段は、部内サービスの開発・運用を担当するSysAd班というチームで活動しています。

そういえば書いたことなかったので、僕の開発環境まわりを紹介します。今年も残すところあと6日、お酒でも飲みながら適当に見てください。

ハードウェア

汚すぎて写真で見せられないですが、PCまわりのレイアウトはこんな感じです。

メインPCは去年の夏頃に買ったMacBook Pro(13-inch, i7, 32GB)です。

外部モニターにはDELL P2419HCを2枚使っていて、MacはBoYataのPCスタンドの上に置いて高さを揃えています。このスタンドそれなりに重いので据え置きで使うぶんには安定して良いですが、持ち歩きしたいならアルミ製の軽いやつにしたほうが良いと思います。

P2419HCも使っていて不満はないんですが、Retinaディスプレイに比べると輝度が小さく、色温度が暖色に寄っているので、そこを気にする人は注意したほうが良いです。

Dell eカタログサイト P2419HC
売れ筋商品を中心にe型番を掲載しております。より簡易的に、すばやくお探しの商品を検索いただけます。

キーボードはHHKB Professional HYBRID Type-Sの英字配列を使っています。個人的には、日本語で文章を書くときはApple特有の薄いキーボードの方が使いやすい感じがします。入力の切り替えはControl+Spaceに割り当てました。使いはじめると割とすぐ慣れた感じがします。

マウスは純正のMagicMouseです。

そういえばオンラインで話す機会が増えたので、無線のヘッドセットが欲しくてLogicoolのG533を買いました。音質とかは特に気になるところはないです。ただヘンドバンドの部分が細めで、クッション性もそんなに高くないので3時間とかつけてると結構頭が痛くなります。耳あては時々洗わないと臭くなるので洗いましょう。

ソフトウェア

開発系

VueとかReactとかを書くときはVSCodeを使っていますが、それ以外はJetBrains製品(GoLandとかCLionとか)を使っています。最近Vimバインディングを使うようになって一時期書くスピードめっちゃ落ちたんですが、最近は少しずつ慣れてきました。ただ、通常の入力欄やターミナルでインサートモードに入ろうとしてiを入力するようになりました。これも治るのかな。

デザインはfigmaとfontbaseですね。色のセンスには自信がないので、coolorsやMaterialThemeBuilderを使ったりしています。

Coolors - The super fast color schemes generator!
Generate or browse beautiful color combinations for your designs.
Material Theme Builder

ターミナルはみんな大好きiTerm2で、シェルはfishです。とりあえずよく使うCLIツールをいくつか紹介します。

こんな感じですかね?この辺のバックアップスクリプト(所謂dotfile)の管理とデプロイをどうしようか考えていたんですが、最近chezmoiを知りました。まあ乗り換えようと思ってから半年が過ぎてるんですが。

あと、macOSだと高機能Spotlight検索のAlfredが有名ですね。僕はAlfredとiTermをそれぞれCommand+Space, Alt+Spaceのホットキーに割り当てていて、これがないとかなり辛いものがあります。AlfredはClipBoard History, ファイル/アプリ検索、メニューバー内検索、Audio Switch辺りがよく使います。(あと、「ゴミ箱を空にする」)

Alfredにはsnippetを登録できる機能があって、僕は「DBをdockerで立ち上げるコマンド」や「Licenceのテンプレート」や「メールの署名」なんかを登録しています。prefix+keywordの組で登録できて、タイプしたら自動で置き換えてくれるのでめっちゃ便利です。

一時期、Alfredから拡張性に優れていそうなraycastに乗り換えていた時期があるんですが、言ってもいろんな機能を使い倒してるわけではなかったことに気がついて動作が軽いAlfredに戻ってきました。(raycastだとファイル検索に1step多く必要だったり、AudioSwitchが使いにくかったりと微妙に辛さがあったのも大きいかも)

Alfred - Productivity App for macOS
Alfred is a productivity application for macOS, which boosts your efficiency with hotkeys, keywords and text expansion. Search your Mac and the web, and control your Mac using custom actions with the Powerpack.

そういえばDockerの話ですが、重いので手元でずっと置いておきたくはないんですが、いちいち立ち上げ直すのも面倒だったので、基本的にはVPSにオフロードするようにしています。とりあえずはDOCKER_HOSTでリモートのマシンを指定すれば良いです。

How to Use a Remote Docker Server to Speed Up Your Workflow | DigitalOcean
Building CPU-intensive images and binaries is a very slow and time-consuming process that can turn your laptop into a space heater at times. In this tutorial, you’ll create a Droplet to the remote Docker server and configure the docker command on your
How to deploy on remote Docker hosts with docker-compose - Docker Blog
The docker-compose tool is pretty popular for running dockerized applications in a local development environment. All we need to do is write a Compose file containing the configuration for the application’s services and have a running Docker engine for deployment. From here, we can get the applicati…

日常系

タスクをずっと脳内にストックしておくのがきついので基本的には書き出して毎日整理するようにしています。細かいことでもどんどん書き出して、覚えておこう!みたいなのを極力減らすようにしています。

それを毎日、夜寝る前に見てまとめ直す感じですね。こういうのめちゃくちゃ飽き性ですぐ続かなくなるんですが、流石に3年も続けてるとだんだん続くようになってきました。(10ヶ月ぐらい続いててもスッとやらなくなっちゃったりするから怖いんですが)

で、使ってるソフトとかサービスの変遷を振り返ると
部内Wiki→Notion→ScrapBox→Obsidian(Now!)
と言う感じになっています。

NotionからScrapBoxへの変遷は大きくて、構造ベースからタグベースの管理になりました。それで今年の4月から9月ぐらいまではScrapBoxを使ってたんですが、yuuk1さんの以下の記事でObsidianを知ってそれ以来Obsidianを使っています。(Pomodoroもやってみたんですが性に合わず...)

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
A new tool that blends your everyday work apps into one. It’s the all-in-one workspace for you and your team

それで使い始めるにあたってZettelkasten MethodやLYTみたいな思想にわかる~となったのでそうしています(構造ではなくてネットワークで管理する理由がかなりわかりやすく言語化されていた)。

Introduction to the Zettelkasten Method • Zettelkasten Method
Learn how the Zettelkasten works as a system, what a Zettel is made of, and how to grow an organic web of knowledge.
Linking Your Thinking
The Linking Your Thinking Workshop is a 6-week community driven learning experience. It will teach, train, and support you in building a custom knowledge management system you can trust. Learn how to never lose your ideas again. Connect and create meaningful insights.

機能的にも、デイリータスクの負荷が極力小さくなるようになっているので続けやすいですね。研究室所属もあったので、論文のまとめとかもObsidianにまとめるようになりました。

Paneの分割や記事の検索のショートカットをエディタやiTermに揃えられるので直感的に使えるのも結構良いです。

「とにかく書いて、後で切り出す(=書く障壁をとにかく下げる)」っていうのは方針としてもわかりやすくて、Note RefactorってCommunity Pluginの使い心地がかなりいいです。(↓みたいなテンプレートを使ってます)

こういうのちゃんとやろうとするとそれなりに時間がかかるので、iPhoneのスクリーンタイムを設定しました。(15分延長よくなさすぎない?)

他には意思疎通に図を書くのが便利なので、画面共有でautodrawを使う機会が増えました(特筆して良いというわけではないですが、ブラウザでさっと使えて割と補完が強く、シンプルというのが気に入ってます)。

AutoDraw
Fast drawing for everyone. AutoDraw pairs machine learning with drawings from talented artists to help you draw stuff fast.

まとめ

ハードウェア

ソフトウェア

開発系

日常系

最後に、最近読んだエッセイで自分の思想がかなり言語化されているものがあったので貼っておきます。

HOWTO: Be more productive (Aaron Swartz’s Raw Thought)

それでは皆さん、良いお年を!

temma icon
この記事を書いた人
temma

19B 生命理工学院生命理工学系

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2023年4月17日
ポケモンを飼いたい夢を叶える
tqk icon tqk
2021年12月8日
C++ with JUCEでステレオパンを作ってみた【AdC2021 26日目】
liquid1224 icon liquid1224
2024年9月14日
わたくしの開発環境を紹介させていただきます
mehm8128 icon mehm8128
2021年11月25日
【一人カラオケ活用術】安く済ませるボーカルレコーディング【AdC2021 13日目】
liquid1224 icon liquid1224
2021年11月24日
クリスマスデートをしよう!!!
mera icon mera
2021年12月24日
DBを移行しました
hijiki51 icon hijiki51
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記