開発環境構築メモ
※この記事は後々更新される予定です
開発環境についていろいろメモしていきます。(ハックされない範囲で)
詳細なセットアップについては別記事で考えています。
マシン情報
- M1 Mac mini
- CPU: Apple M1チップ
- Memory: 16GB
- Storage: 1TB
M1チップが省電力と聞いてサーバー用途に使うつもりで買ったマシンです。
実際、モニタなしで何もしてないと1W〜2Wという驚異的な省電力性能でした。
macOSということもあって若干やりづらいところもありますが、その辺はDockerで少し工夫して吸収させる予定です。
Docker
M1 Mac miniにDocker Desktopを入れて、サーバーなどはコンテナで動かす運用にしました。
理由はもしもの時の影響がコンテナ内に閉じるので安全性を高められるためです。
コンテナ紹介
以下はDockerで動かすコンテナをいくつか紹介します。
作業用コンテナ
Zennの原稿やソースコードなどを置き、作業するためのコンテナです。
コードなどをこのコンテナに集約することで作業PCにはコード類を持つ必要がなく、VSCode+Rmoete SSHで常に同じ環境で作業が行えます。
マルチデバイスアクセスも可能になり、この原稿もiPadでお風呂に入りながら一部書いてたりします。🛁
Webサーバーコンテナ ※工事中
未だ工事中ですが、ホームページを公開するためのコンテナです。
開発環境のリバースプロキシとしても活用予定です。
VPNサーバーコンテナ ※準備中
外出先から作業用コンテナやその他のサーバーへアクセスをVPN経由するためのVPNサーバーのコンテナです。
作業コンテナにはSSHでインターネットから直接アクセスすことも考えたのですが、乗っ取られやすくなるのでVPNを経由して安全性を高めるようと考えています。
CMSコンテナ ※準備中
ホームページに簡易なCMSを導入予定です。
監視・運用系コンテナ群 ※準備中
立てておきたいと思ってる開発環境などの監視・運用系のコンテナ達です。
その他
その他としては、お仕事用コンテナ群などがありますがこれらは省略します。
開発環境
VSCode
これまでいくつかのエディタやIDEを使ってきましたが、今はVisual Studio Code(VSCode)に落ち着きました。
GUIの軽快さや拡張性の高さでこれ以上のモノが今のところないといった感じです。
機能拡張:Remote - SSH
WindowsやMacから作業するときはVSCode+Remote SSHで作業します。
作業用コンテナにコードなどを集約してあるおかげで、作業PC側のセットアップの手間や作業環境の違いによるトラブルを防止できます。
(あっちで作業中のコードをこっちに持って来なきゃ!みたいなのがなくなる)
拡張機能:Romete - Tunnels ※検討中
外出先でのWeb版VSCodeからも作業ができるようになるかもなので検討中です。
ホスト側でVSCodeを起動しておく必要があるのとどこまで出来るのか未知数なので、試してわかった事があればZennの記事にしたいと考えてます。
Taxtastic
iPadだと電源の確保やバッテリー事情が楽になるので、外出先に持っていくのにちょうど良いなと考えています。
先日のJaSSTなどのイベントもiPadでXに投稿してました。
それで、iPadで作業する時にはTextasticというアプリを使うことにしました。
gitでのコード管理はできないのですが、sftpでファイルのコピーは可能なのでZennの原稿執筆や簡単なコーディング作業用として使う予定です。
エディタ遍歴
これまで使ったこのあるエディタやIDEの遍歴です。
- Visual Studio 2003 Standard Edition
- 仕事関係で使ってました。
- コーディングよりもコンパイル用途で。。。
- Eclipse
- 2000年代にお世話になったIDE。
- Perlをデバッグしたくて使ってました。
- Atom
- いろいろな言語を書いたりするので一時使っていました。
- GitのDiff表示がとっても好みでしたが、GUIが重くなりがちでVSCodeが出てからは一気に出番がなくなりました。
- Sublime Text
- Atomに比べて軽くて使いやすかったのでVSCodeに交代するまではメモ用に活躍してくれていました。
- 秀丸
- 2000年代にお金払って活躍してもらっていました!
- AtomやSublime Testを使うようになってからは出番が消失。
- vi
- Linuxの設定関係でいまだに現役です。
Discussion