打工和其他學校事情都結束後, 是時候整理一下身邊的東西,
也順便紀錄自已過去到現在的工作環境, 把有用的工具記下來,
希望能持續紀錄周邊的變化 (或許每年一次吧) 😡
- 2017-11 更新
- 2018-06 更新
Machine:
- Thinkpad L460:
- 用了 5 年的 X201 終於螢幕出問題了, 不想繼續自己維修下去. 2016 年入手了 L460.
- L 系列和 T 系列(T460) 只有外殼的材質, 螢幕解析度不一樣, 性能和硬件差異不大. 價差 $200 美元 😂😂 … 雖然前輩都說 T 和 X 系列是信心的保證, 但我應該夠用了.
VPS:
- 還在考慮 Linode 或 DO, 也在看外國性價比高的 VPS, 探索中.
- 或許還是用連線很慢的, 沒有 root 的 OpenShift … 要看未來的用量.
OS:
-
Arch Linux /
Manjaro Linux:-
交作業大學 CS 系計中伺服器 OS 1 號, 大二上學期開始用到現在, 除了 Driver 的問題就沒其他問題了. 用過 i3 一陣子, 就回到 xfce 的懷抱, 原因只是螢幕太小, tiling wm 沒什麼用. 😅 , 也有點怕 tiling wm 用久了就回不去了 😂 …
-
Arch 除了提供 kernel 和 base system 外, 所有東西都要自己一步步建置, 自訂製自由度大, 但設定部分要小心維護.
-
原則上 repository 方面團隊有另外在維護和架點, 省去自己調 kernel 參數 (CPU frequency etc.) 和 GUI Driver 等設定, 又可以快速重新建置環境, Community 也挺活躍的 😄~~~
- 重新裝回 Arch Linux 😄, 不想繼續踩 Manjaro 地雷 😑 [2018]
-
-
Windows 10:
- 用來做實驗, cross platform 測試, HyperV 使用.
- msys2 / cygwin:
雖然 Windows 未來有 Subsystem for Linux 的推出, 不過不用想都知道是 Simulator, 它如何解決兼容性和轉譯是值得學習的地方. 若只是一般指令使用和編輯, msys2 就很足夠了. 若有 Windows software 需求 (IE etc.) 才更換, 普通開發測試則使用 vagrant 開台 VM.
- WSL : 瞭解後, WSL 並不是 Simulator, 而是 subsystem level 的東西, 看出來 Microsoft 要食掉 Unix 開發的市場 [2018].
- 省掉我的 VirtualBox. 😄
- PowerShell: 基於很多情況沒有權限的關係, 學一點 PowerShell 很有用.
-
FreeBSD:
- 交作業大學 CS 系計中伺服器 OS 2 號.
- 身為一個使用和學習 ZFS 的用戶, 愛用和支持 FreeBSD 是很正常的事 😄 目前
停在 10.3 release在 11.1 release, 沒有升級的打算 [2018].
-
-
發現 CentOS 很夠用了 👍 [2018]
-
Oracle Linux [2018]:
- 學習 Oracle DB, 用來做數據分析的練習, 有空裝個 Spark.
VM , Container and Hypervisor:
-
vagrant:
- 使用 vagrant 來部署 Ubuntu 和 Windows 7 環境
- 自行撰寫 vagrantfile 或直接抓新的 box.
-
Docker:
- 若只是要做測試或只暫時需要某種 software, 則使用 docker.
- 另外實驗 Container escape 也會使用.
- 主要會自已撰寫 Dockerfile.
不用自己裝一台 Kail.
-
Jail:
- 作為一名使用 Jail 的用戶, 學習 Jail 的原理也是很正常的.
-
VMWare ESXi
- 現在只叫 vSphere Hypervisor.
- bare-metal 以往的首選, 可是 vCenter Server 只有 Windows 版本.
- 而 vSphere Web Client 的支援功能並未完善, 已少用 ESXi.
-
KVM:
-
2017 年開始探討 KVM, 依賴 QEMU, libvirt, virt-install, virt-manager etc.
-
CPU 一定要支援 Intel VT or AMD-V 功能.
1
$ kvm-ok
-
Terminal:
-
ROXTerm:
- 試用了各家的 terminal 一陣子, 選了 ROXTerm 這款開發停滯 (?) 的 terminal.
- 自行 tarball Compile 和修改配置.
- 相比其他小型 terminal (如 xfce-terminal, XTerm, rxvt etc.)
- 優點在於 overhead 偏低, 配置簡單, 支援足夠的 short-key 和模式.
- 程式碼量較少, 有空可以自己修改看看.
-
[Zsh] (http://www.zsh.org/):
-
-
- 現在換了較輕量的 prezto [2018]
- 常用的 Plugins 和 command:
-
- fasd [2018] : 較多人用的 fasd.
- zsh-autosuggestions:
像 Fish shell 一樣的 command 提示. - sudo: 按二下 Esc 自動加上 ‘sudo’.
- take, clipcopy etc.
-
-
IDE or Editor:
-
[vim](http://www.vim.org/):
- 主要用來寫 **C/C++**, **Python**, **Ruby**, **Lua**, **Go**, **Shell script** 等不需要很強語法提示, 或靜態分析的語言, 主要開發用的 editor, 其優勢是不需要一個 GUI 介面, 方便且 Overhead 比較少. - Unix system administrator 來說必備的一個工具. - 自訂的 .vimrc 已經改得太複雜了 ... 期望未來有時間整理和重构. - 搭配 [YouCompleteMe](valloric.github.io/YouCompleteMe/) 和 [Tmux](https://tmux.github.io/) 就基本可以寫程式了. - 在快速建置多台 Server 的過程, 通常使用別人的 .vimrc 或自已寫一支小型的放上 server , 方便部署.
|
|
-
Visual Studio Code:
- Microsoft 2015 年開始推出市場的 Editor, 使用 Electron 開發.
- 試用版時期已經覺得 UX 很好, 原生整合 Git, Terminal; 內建有 Debugger framework, 還是 Open Source 的. 😄
- 目前用來寫 Javascript, Typescript, 和 Web (HTML, CSS) 相關 Projects.
- 較大的問題在於 Memory usage 相對過高, Huge file 的開啟和非主流 Plugin 沒人跟進.
- 現在主要在 Windows 上寫 Java 和 C# [2018].
-
[PHPStorm] (https://www.jetbrains.com/phpstorm/):
- 學生免費版.
- 靠 IDE 寫 PHP 是一件很正常的事 😂😂
閒置中
-
[Rider] (https://www.jetbrains.com/rider/) [2018]:
- 結合 mono 在 Linux 上寫 C#
還有巨型的 Android Studio (for Java), 和地表最強 Visual Studio. (for Unity or Everything).
SCM (Source Control Management):
-
Git:
- 大部分 OSS 採用的 VCS, 也有很多擴充的套件和有用的工具.
- 比如:
- 目前也不算是重度 VCS 使用者 (merge, remote 操作. rebase 也很少做 … )
-
Mercurial:
- 一款用 Python 實作的 VCS. command 卻叫 hg.
- 也是一開始接觸的 VCS, 當初使用 Bitbucket 時發現原來只支援 Mercurial, 後來才支援 Git.
- 剛巧我常用的工具和網頁都使用 hg, 比如 Python, Vim, Scapy, libmemcached, sudo, tinycc 等等.
- 未來要去 pull request 也要用一下. 😂
- 雖然未來主流都是 Git, 連 M$ 內部 SCM 都開始換 Git.
- 但 hg 卻很有趣地常出現在 FB, Google 的內部 Project.
DevOps:
-
[Puppet] (https://puppet.com/):
- 一開始接觸的自動化工具, 後來也少用了, 因為依賴 HTTP 和 配置會慢慢變得偏向個人複雜化 …
大公司想用 Ruby 做 Project 的人真的不多 😂
-
Ansible:
- 用 Python 做的自動化工具, 用來 deploy 多台 Server 用.
- 使用 ssh 互通 remote server, YML 格式檔維護.
- 目前沒有正式使用在工作環境, 但周邊人都很推薦 …
地雷也不少, 或許是我太弱了 😂
Groups Tools (PMS, bug tracker etc):
以前都被人推介去 IRC 聊天, 現在亞洲, 除了日本人(?) 都很少見人固定在線上了. 🚬
-
Gitter
- GitHub 團隊推出的一款 IM, 2017 年被 GitLab 買了下來, 也 OpenSource 了, 未來應該會集成更多東西.
-
Trello:
- 團隊合作時, 提供非常棒的 Project 管理看板.
-
Trac and Redmine
- 持續學習的 issue tracking system.
- 個人認為 Redmine 比較好用, 不過: 基於 RoR , Document, Community 等都是要考慮的"事情”.
DataBases Tools:
-
mycli:
- 超好用的 MySQL command line 提示工具 😄.
-
DBeaver:
- 平時用的 GUI DB Client 工具.
Windows 則裝了 HeidiSQL.
-
現在倒只用 SQL Developer 了 [2018]
-
sqlitestudio [2018]:
- 搭配 sqlite 一起用, 很方便 :D
Online Services:
-
Bitbucket:
- 做小團隊 Project, 個人開發用, 好處是無限 private repo.
也不會經常被DDoS?
- 做小團隊 Project, 個人開發用, 好處是無限 private repo.
-
GitHub:
- GitHub 則用來參加 OpenSource Project, 和把能見人或有用的程式放上去.
-
Gitea:
- 自己架 Git Server 的新選擇 ! 採用 Go 開發.
-
GitLab:
讓我知道世界備份日日期的 GitLab- 優點在於最近一直集成很多工具, 比如內建免費的 CI 和 private repo 等.
- 用來架 Blog 很不錯,
所以架這里了. 😄
-
Zeal:
- 一個離線看知名 Project Document (API) 的工具.