iT邦幫忙

2021 iThome 鐵人賽

DAY 1
0
DevOps

運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天系列 第 1

【Day 1】Startup x macOS setup x 一起來挖蘿蔔坑

  • 分享至 

  • xImage
  •  
tags: 鐵人賽 macOS iTerm2 zsh powerlevel10k

概述

作者的碎念

我在學習的過程中跌跌撞撞,以往總是怕寫錯說錯,因此沒有留下多少記錄。
十幾年過去了,我猶然記得,那幾個懷抱著車庫創業夢想的小屁孩們,
現在已經來到中年大叔的年紀,不知道當初那幾位夥伴們都走到哪裡了...

曾經懷抱著軟體開發的夢想,才剛從前一份工作離職,就因 Covid-19 爆發的緣故,從失業者的角色,輾轉換跑道變成無照 AWS 架構師。

從前端學習者、學生網管、成為後端工程師、再來變成 DevOps、無業遊民,
我加確信,不應該替自己的技術設限學習領域。

三十天的目標

身為一個蘿蔔愛好者,嘗試記錄下嘗試使用一些皮毛技術和種蘿蔔,盡可能寫下一些採取 DevOps 的經過。
賽前的想像與願景:只做蘿蔔的服務,如果有蘿蔔的網站出現,那就會接上 AWS 的 CI/CD 流程,使用容器技術降低維運成本。時間若是允許的情況下,將會搭配網站的實作,目標是要讓老闆從香蕉斜槓蘿蔔。老闆白天要去上班領香蕉,下班後順道去巡田水種蘿蔔,沒有辦法全心全意顧店。

設定開發環境 (macOS)

萬事起頭難...設定環境這檔事,只有網管人員跟電腦常常壞掉的人會遇到。
所以在新環境設置的經驗是非常難擁有的?

可能有些人會為了陪老闆打高爾夫,買了球具;
久久難得爬一次山,就買了整套的登山用品;
一時心血來潮想開火煮飯,就買了整套的廚具;
為了地溝油、養了一隻牛 ⋯⋯⋯ 才怪!

所以當然可以為了寫出本文章,買一台新 Mac

設定環境的事前作業:

  • 準備好電腦
  • 準備好心情


接下來的三十天、以及後續的時日,我將慢慢地 污染 產生專屬於自己的開發環境。
漂亮的Shell、方便透過 SSH 連線的環境、Containerlized 的環境、撰寫 Web 的工具、使用 AWS 的環境。

設定你的命令環境 Shell

您可能不知道您是正版軟體受害者,在這邊筆者強烈建議,試試看使用非 Windows 作業系統作為主要的環境,像是 Linux 的各發行版本。若是經濟許可的話,弄一台 macOS 來用,真的用過就回不去了。
後面我們將會說明如何購買雲端供應商的虛擬主機,以虛擬環境作為主要開發工具也是個不錯的選擇。

iTerm2 on MacOS

依照作者小弱砲本人以前的使用習慣,有個不錯的 Terminal 叫做 iTerm2

看到畫面中間有個 Download 按鈕,就給他大力地按下去吧!
單純的下載、開啟、拖放到 Application 目錄(中文作業系統,會叫做“應用程式”),安裝完成。

備註:最底下有個 GPLv2 License 是什麼?

  • 首先,GNU 是由自由軟體基金會創辦人 Richard Matthew Stallman、EMAC 的作者所提出,他是 "GNU's Not Unix" 的縮寫。而 GPL 則是 GNU General Public License 的縮寫。
  • 篇幅有限,我簡單的說,這個 GPL 授權,它有感染性。凡是援引了含有 GPL 授權的程式碼,皆須以 GPL 方式公開其創作。
  • 採此類型授權的常見專案有 Linux KernelGCC

Homebrew

Homebrew 下載頁面

  • 透過 Homebrew 已達到透過指令來輕鬆、集中管理各種套件。
  • 開啟 iTerm2 把上圖中的那行文字貼上去吧
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Bash & ZSH

BASH

  • Bash 為 bourne again shell 的縮寫
  • 是一種 Unix shell 和命令式語言
  • 最初是由 Brian Fox 撰寫,作為取代 Bourne shell 的選擇
  • 看看別人怎麼說 —— Stack Overflow: Difference between sh and bash
  • 而 macOS 內自帶 bash
nipapa@nipapadeMacBook-Pro ~ % which bash
/bin/bash
  • 當我想要使用 bash 的時候 ...
nipapa@nipapadeMacBook-Pro ~ % bash

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
bash-3.2$

ZSH

  • Z shell
  • zsh 的強大功能
    • auto complete of command entries (指令自動補齊功能)
    • spell checking (拼字檢查)
  • 我的 macOS Big Sur (11.5.2) 預設使用的是 zsh;
    echo $SHELL 看看你的預設 SHELL 是不是也是 /bin/zsh
  • 如果不是的話,就用下列指令來進行安裝吧
brew install zsh
  • 裝完之後,記得按照指示 chsh -s /bin/zsh 來更改預設值

安裝 Oh-My-Zsh

  • 黑白的 zsh 到彩色的 zsh 和看起來很新潮的介面
    根據 Oh-My-Zsh 官網 提供的安裝方式,可以選擇走 curl 或是 wegt 方式安裝,以下列出其中一種。
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 裝好之後,你的介面應該看起來像是 ...

安裝字型

  • 首先,連到 Nerd-fonts 的 GitHub 頁面,看看有沒有新玩意 ...
    brew tap homebrew/cask-fonts
    brew install --cask font-hack-nerd-font
    
  • 另外也可以走下載安裝的方式
    • 從這個 nerd-fonts repository 中的資訊可以知道,當下最新的版本是 v2.1.0,而我現在想要裝的是 SourceCodePro.zip,把他下載下來
    • 用 Spotlight 叫出 macOS 的 字體簿 (Font Book.app),按加號安裝
  • 網路上還流傳蠻多用 brew cask install 的語法呀,那個 cask 功能現今已經被拿掉囉...
    (看看別人怎麼說:Homebrew 討論區 Error: Unknown command: cask )

修改 iTerm2 的預設字型跟主題

  • 把喜歡的顏色套用上去,其他自己看要不要勾選 Tab Color

  • 把字型改成 SauceCodePro Nerd Font Mono
    (備註:Mono 是定寬字的意思,一個蘿蔔一個坑是有好處的⋯⋯)

  • iTerm2 畫面選取左上角 iTerm2 後,選 Preferences 來進行調整

自訂終端機介面樣式

Powerlevel10k

  • 剛剛,我們已經安裝了 oh-my-zsh
  • 接著我們來看看 Powerlevel10k 的 GitHub,針對 oh-my-zsh 進行擴充。
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
  • 接著呼叫 p10k configure
  • 如果看到下列情況,表示字型沒有調改或安裝成功
  • 若有正確設定字型,則會看到像是下方的方塊(diamond)
  • 修改 ~/.zshrc 的內容
    • 將原本的 ZSH_THEME="powerlevel10k/powerlevel10k"
    • 備註:這個 rc 結尾的檔案,表示是一段 run script,意思是這個腳本,會在開啟 zsh 程式時,被執行的一段腳本

結論

  • 根據鐵人賽的宗旨,凡是報名的人,要在連續的三十天邊學邊做邊寫文章。
  • 我在報名的時候,還不知道最後到底會產出什麼內容,就順水推舟吧。
  • 其他心得:NiceCode NiceChord 的 Wiwi 也是 Powerlevel10k 的使用者呢!

後記

準備了蘿蔔種子,和買了一個長條花盆,準備來播種!

種子放在冰箱稍作催芽後⋯⋯

播種


下一篇
【Day 2】 Vim x Plugin x 準備主廚刀
系列文
運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Howsin
iT邦新手 4 級 ‧ 2021-10-13 11:30:00

大大太狂啦
置板凳聽課囉

我要留言

立即登入留言