I started to boost my terminal setup this month(again!). I've used my new setup for a week, and I became more productive MENTALLY! No matter what you think, I will show off my setup here. 🤣 Terminal Emulator: WezTerm I use WezTerm as my terminal emulator. I've tried a lot of terminal emulators before, like: iTerm2(2014 - 2019): It was used throughout my junior years since I bought first my Macbook Air.
4/6/20232023 年新年快樂!新年有什麼一定要做的事呢?對我來說就是挖新坑寫新專案無誤!這次的專案叫做 Blast,就如標題寫的,它是一個「能執行 Raycast 擴充功能的 React.js 渲染器(Renderer)」。 Raycast 和 React.js 對於第一次聽到 Raycast 的朋友,我以前也寫過一篇推坑文,Raycast 是一套 macOS 用的啟動器軟體(Launcher),提供一個關鍵字搜尋的介面,輸入關鍵字,就能快速啟動程式或進行其他操作。過往類似的軟體也不少,最知名的就是 Alfred,但 Raycast 最不同的一點,就是可以用 React.js 來寫的擴充功能。這邊我之前的文章也有簡略帶過,大家可以看官方的 todo-list 範例感受一下,有點像在寫 React Native,雖然寫的是 JavaScript,但卻能有原生的介面而非網頁。 React.js 相信近年熟悉前端開發的朋友應該都多少接觸過(斷言),React.js 提供了聲明式(Declarative)的 API 來開發使用者介面(User Interface),而使用者介面可以用階層、樹狀的結構來表示,去看看設計師 Figma/illustrator/Sketch 裡的圖層和群組物件就有感覺了,有的設計工具甚至還提供「輸出 React.js 元件」的功能。 剛提到了「用 React 來實作使用者元件」,React 核心就是一套 Virtual DOM/Diff/Update 的邏輯,無關終端平臺為合,Android、iOS 還是 Desktop,只要你實作 React 提供的介面,什麼平臺都可以寫 React,所以才有了 React Native 等一眾自定渲染器(Custom Renderer)。 Raycast 能夠用 React 來寫擴充功能,也是內嵌(ㄑㄧㄢ,誰這裡念砍我就...)Node.js 並實作渲染器。寫到這,Raycast 和 React 和 Renderer 的關係,大家應該多瞭解一咪咪了吧 XD 下面就來講講我為何決定做這個題目。
3/12/2023為何要部屬 WordPress?就因為他是 CodeDeploy Tutorial 的第一個範例。AWS Documention 有個特點,就是到處 Reference 來 Reference 去,你很難在單一流程完整跑完所有的任務,非得要搭著其它份文件一起對照。筆者英文也沒那麼好,看著看著就會漏東漏西,文件又滿滿的都是字,沒有圖片可以參考,真令人崩潰。 CodeDeploy 是 AWS 眾多部屬方案中,看起來比較單純的一種。寫好 Setup 程式的 Shell Script,再聲明好 appspec.yml,定義每個 deploy life cycle 不同的階段要跑的動作,用 AWS CLI Tool 把 repo 打包上傳到 S3,再到 CodeDeploy console 定義應用程式部屬規則、後臺發起一個 deployment(一個部屬行動),CodeDeploy Service 便會把你的 code 部屬到你設定的 Deployment Group,依照 Group 設定的機器不同,你可以在同一個機器部屬很多個 Application,或是同一個 Application 部屬到很多台機器,端看設定,啦。 當然,AWS 系列就是啥都可以用 CLI 跑,只要開好對應權限的 role 並拿到 Access ID 和 Secret Key,我們也可以交由第三方 CI 服務,比如說 CodeShip,來幫我們完成「打包程式碼並上傳 S3」、「發起部屬行動」這種的工作。 以下便大致記錄一下本日折騰的感想與流程。 概念 CodeDeploy 約略是 14 年 11 月推出的服務,在此幹一張官圖,看圖說故事。
3/12/2023免費的 Heroku 開的 App 只要過半小時,就會自動關機。雖然啟動很快,不過體驗就差了。 一般的做法是安裝 newrelic 監控,每隔一段時間交流一下,就可維持開機狀態。不過本 ghost 部落格一直設定不起來 newrelic 的 node 套件,只好找了個替代品 UptimeRobot 來使用。免費的方案可以 monitor 五十個站台,最短 interval 為五分鐘,夠用了。 表現倒是不錯,設定每十五分鐘左右自動 ping 個,就和一般網站一樣啦,皆大歡喜 XD。 螢幕快照 2015-04-23 上午1.46.37.png
3/12/2023