潮流特區

最新文章

使用 Multipass 建立Docker Cluster

科技新知
MacauYeah・2023-06-02

以下流程,假設各位已經 在Ubuntu Server中開設了virtual bridge 供Multipass設定Static IP,並且network interface定為 localbr 使用Packer template制成docker.img , 並存放於當前資料夾內 使用docker.img 起三個node,並使用network interface localbr,各有一個指定的mac address multipass launch file://$PWD/docker.img --name node21 --network name=localbr,mode=manual,mac="52:54:00:4b:ab:21" multipass launch file://$PWD/docker.img --name node22 --network name=localbr,mode=manual,mac="52:54:00:4b:ab:22" multipass launch file://$PWD/docker.img --name node23 --network name=localbr,mode=manual,mac="52:54:00:4b:ab:23" 對運行中的三個node,為它們設定static ip multipass exec -n node21 -- sudo bash -c 'cat /etc/netplan/10-custom.yaml network: version: 2 ethernets: extra0: dhcp4: no match: macaddress: "52:54:00:4b:ab:21" addresses: [10.13.31.21/24] EOF' multipass exec -n node22 -- sudo bash -c 'cat /etc/netplan/10-custom.yaml network: version: 2 ethernets: extra0: dhcp4: no match: macaddress: "52:54:00:4b:ab:22" addresses: [10.13.31.22/24] EOF' multipass exec -n node23 -- sudo bash -c 'cat /etc/netplan/10-custom.yaml network: version: 2 ethernets: extra0: dhcp4: no match: macaddress: "52:54:00:4b:ab:23" addresses: [10.13.31.23/24] EOF' multipass exec -n node21 -- sudo netplan apply multipass exec -n node22 -- sudo netplan apply multipass exec -n node23 -- sudo netplan apply 使用node21作為Leader (Manager),與其他兩個node一起組成Cluster multipass exec -n node21 -- sudo docker swarm init --advertise-addr 10.13.31.21 multipass exec -n node21 -- sudo docker swarm join-token manager managerToken=$(multipass exec -n node21 -- sudo docker swarm join-token manager -q) multipass exec -n node22 -- sudo docker swarm join --token $managerToken 10.13.31.21:2377 multipass exec -n node23 -- sudo docker swarm join --token $managerToken 10.13.31.21:2377 Cluster就建立完成。 若想刪掉重來 multipass delete node21 multipass delete node22 multipass delete node23 multipass purge 備註 在直正使用時,大部份時間還需要做port forwarding。multipass沒有自己的port forward,可以用ssh tunnel來模擬。 例如把Ubuntu Server的8080指向node21的8080,可以這樣 sudo ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa -L 0.0.0.0:8080:10.13.31.21:8080 ubuntu@10.13.31.21 完整的script可以參考initDockerCluster.sh。 沒有Bare Metal Ubuntu或者沒有static ip也可以參考initDockerClusterWithoutStaticIp.sh。只是因為network brandwidth問題,我就不會在每次更新時都測試。

[教學] 平民雲端服務不是夢 | 5分鐘教你如何快速起VM

科技新知
MacauYeah・2023-05-11

前言 原本筆者只是想做docker cluster,但因為在實機中建VM極其麻煩,所以就研究了好一陣子如何快速起VM。 Hyper-V有預設的Ubuntu template,但只有ubuntu desktop版,沒有server版。而且desktop gui顯得浪費資源,要clone VM也很廢時,放棄。 Windows Subsystem Linux起VM很方便,但同一個Linux version只有一個instance,沒法起cluster,放棄。 Virtual box沒有Ubuntu template,若要clone的話就變得跟Hyper-V差不多,放棄。 經過一輪資料搜集,發現了一個Ubuntu multipass engine,聲稱可以跨平台快速起VM。裏面有一些很吸引的功能,可以自己建立images、使用固定IP。 那怕即使是沒有snapshot,在自定義images的配合下預裝docker,要隨時加減cluster node都是一件容易的事。 重大決策點 醜話說在前頭。經過一輪測試,multipass最大的問題,就是custom image、fix IP都只能在bare metal ubuntu 中才能使用。如果你沒有一台閒置實體機安裝Ubuntu,還是要再多考慮一下。 重點 詳細的流程,筆者記錄了在Packer template 和Multipass Static IP中,在這裏就只說一些重點。 packer是使用cloud-init和qemu的技術,行起template中指定的cloud image (在筆者的例子中就是ubuntu-22.04-server-cloudimg-amd64.img) 大家可以定義image行起後進行一些操作,而那些操作都是經過qemu vnc、ssh進去操作的。 操作完後就會直接儲存當時的image。所以在操作結束之前,盡可能地刪cache或刪去不要的user / group settings。 最後生成的image,還是一個cloud image。若要再運行它,必需要使用支援cloud-init的VM來讀取。 cloud-init是用來指定初次運行時要設定的事,例如:hdd size, user account password, ssh key import等。 使用工具cloud-localds可以生成一個seed.img,這樣qemu也可以cloud-init。 Hyper-V應該也可以經過類似方式,進行cloud-init,但筆者未有去實測。如有更簡便的方法請告知。 multipass預設就已經有cloud-init,在bare metal ubuntu就可以直接執行。 multipass也可以設定不同的cloud-init參數。 成品 最後筆者就選擇了用packer用來預裝docker,經mulitpass無腦起VM,再使用shell script對多個node設定docker,達到即時起docker node的功能。這樣就減省了VM的安裝時間,也省去了docker的安裝問題。 說到底,如果只想測試docker cluster,其實windows, macOS中的multipass也可以實現相同的功能。因為安裝docker那些都可以經過shell script自動化,只是每次重複操作,都變得相當慢。另外,因為multipass在windows, macOS不支援fix ip,對於指定docker cluster interface又會再多一重功夫。

文字創作者的辛酸 | 定制鍵盤改善不合理的按鍵佈局

科技新知
MacauYeah・2021-12-14

不知道經常做中文文字編輯的朋友,右手會不會特別疲勞? 筆者就會有這種經歷,主要是因為筆者右手要同時兼顧鍵盤與滑鼠;而且打字時,很多刪除,左右移動,也只能靠右手完成。久而久之,右手的操作量會特別大 筆者都嘗試過左手用滑鼠,但左手要熟習到像右手一樣靈活,可不是一時三刻可以做到事。 所以筆者就轉而試途在某寶上,尋找一些特制鍵盤,以調整左右手的操作頻率。 (原圖引用自知乎 https://zhuanlan.zhihu.com/p/56901961) 實際是有的,大家只要搜尋【全反】或【半反】鍵盤,就可以找到左右互換的鍵盤。大家也可以搜尋【方向鍵】或【九宮格】自定義鍵盤。 大家想省心,可以購【全反】鍵盤,不過選擇並不多,就只有一家可以選擇;【九宮格】自定義鍵盤比較多廠牌,也比較便宜,可以一試。 但對於想極度減輕手部移動的筆者來說,這樣並不足夠。因為換了左右,只代表可以減少右手的操作量,但並不會讓那些原有的操作變得更便利。 所以最後,筆者還是要掏出最後武器,AutoHotkey,自行開發軟件,重新定義組合鍵。 這樣做不但可以平衝左右手的操作量,也同時減少手部移動的距離。(也可以為大家省一點錢,想要更改功能也更為簡單一點) 筆者就在這裏分享自己的AutoHotkey小程序,做個例子,如何簡單把方向鍵重新定義到左手使用。 大家只要安裝AutoHotkey,官方網站 https://www.autohotkey.com/ 並下載筆者的小程序,Github連結 https://github.com/macauyeah/autohotkeyExample.git 就可以像筆者更改方向鍵啦,有需要大家可以自行用記事本更新小程度,重讀程式就可以馬上執行最新結果啦~ Support 如果大家覺得只有四個Key不夠用,進階一點的修改,歡迎訂閱我的Patreon,提出客制化支援需求。

網頁開發從業員的自我修養|雲端開發

科技新知
MacauYeah・2021-12-06

在家工作 疫情在家工作,已經是時不時有的事。因為不同的工種,在家工作都有各自的問題。 雖然筆者業餘時為一個遊戲愛好者,但平時卻是一位不折不扣的網頁程式開發人員。對筆者來說,在家工作最大的問題,就是家中電腦不夠強。平時業餘時間,用Notebook寫寫遊戲評論還可以,但對於開發之類事情都無法在家做。 為了在間偈性家工作,自費多買一台電腦並不值得,但筆者也總不能把公司的台式電腦帶回家吧。所以在過去一年,筆者都一直尋找解決方案,也試著實踐一些低成本的做法。經過一年的努力,運作得還不錯,所以在這裏分享一下筆者的解決方案。 首先強調,筆者是一位網頁開發人員,比較不需要特殊電腦硬件,筆者最基本的配備,就是一個螢幕、一台低階的入門級Notebook,另外就是上網設備和信用卡。 雲端開發用伺服器 對於開發人員來說,一台足夠多RAM的機器,是必備的要件。如果不想自費買機器,雲端,就是次一級的選擇。信用卡一出,多少RAM,多少CPU都的機器都可以隨時開,隨時關。重點是,雲端伺服器是以使用時間計費的,我們做開發時才開機,放工、休息時都可以關機,不需要像企業長期支付24小時的伺服器費用。 但好多人一直都認為,雲端伺服器是網頁發佈時,才有需要的。開發用途,還是在自己電腦中比較好。會這樣想的朋友,是因為開發時很多時需要圖形界面的幫助,而雲端,就是只有簡陋的文字指令界面。 的確,雲端伺服器,並不適宜使用遠端連線的圖形界面(Remote Desktop),因為一來伺服器本身就為是節產效能而全數使用指令界面的,二來,圖形界面使用的上網頻寛也較大,很易出現連線的延遲。 不過,隨著時代的發展,只要大家熟悉Linux,以上的問題都不存在。 Linux + Code Server 只要你學會基本的Linux操作,你不再需要使用Remote Desktop。因為Code Server,可以為你帶來一個輕量的開發環境,你就直接在瀏覽器(Browser)上做開發了。 Code Server的官方安裝教學,都可以在以下連結找到。 https://github.com/cdr/code-server 簡而言之,Code Server是現行其中一個主流開發工具VS Code的網頁版。Linux版VS Code可以做到的大部份工作,在Code Server上都可以做到。而且,Code Server比起Remote Desktop有比較低的延遲,而且有網頁緩衝,即使伺服器設定在東南亞地區,使用上亦無太大問題。 有興趣的朋友,真的可以試用,Linux和Code Server完全免費,你唯一要支付的是學習成本和雲端伺服器的費用。 Support 如果大家覺得每天Setup Linux 和Code Server都還是有點重複鎖碎,需要進階一點的自動化Server Setup需求,歡迎訂閱我的Patreon,提出客制化支援需求。

【Apple秋季發布會2021】歷來最聰明最耐用!Apple Watch 7 五大精彩亮點

科技新知
Lifemagtechie・2021-09-15

今年秋季 Apple 公司為全新一代的 Apple Watch 7 帶來更多新驚喜。不但螢幕變得更大更光亮,而且全新的OS系統更加聰明,還有手錶的錶面更加堅硬耐用,非常適合鍾意做戶外活動的用戶。想知更多 Apple Watch 7 的亮點就快些看以下介紹。 亮點一:螢幕最大最先進,亮度大提升。 新一代的 Apple Watch 7 雖然整體尺寸沒有太大差別,不過螢幕邊框收窄至 1.7mm,令螢幕大了接近 20%。另一個亮點就是採用常亮 Retina 螢幕,大大提升光亮度,讓手錶用戶不用叫醒手錶也能清楚看到錶面的資訊內容。 亮點二:watchOS 8 更聰明、更能保護手錶用戶。 Apple Watch 7 採用 watchOS 8 系統,加入大量新功能(如:太極、戶外單車、靜觀、沉思、普拉提)和數據統計,迎合用戶不同的運動喜好。除此之外,最重要是加入了「跌倒情況」安全性偵測功能,能夠在用戶發生嚴重跌倒後一分鐘內沒有活動時,會自動透過手錶致電緊急服務,大大提升手錶用戶在外活動時的人身安全。 亮點三:錶面更堅硬耐用,防塵又防水。 Apple Watch 7 的錶面採用更堅硬的玻璃錶面設計,比第六代厚50%,能夠有效防止螢幕破裂。Apple Watch 7 是首款獲得 IP6X 防塵認證,達到保持50米防水等級,到沙灘玩和玩水上運動會有出色的表現。邊緣位採用圓滑設計,令錶面和錶殻看上去是無縫連接。 亮點四:新增 QWERTY 鍵盤以提升打字速度。 除了加入兩款更大型的字體,Apple Watch 7 加入了全新的「QWERTY 鍵盤」,用「快滑」的方式就可以輕鬆輸入英文單詞,大大提升使用 Apple Watch 文字對話的方便程度。 亮點五:五種鋁金屬顏色,錶帶錶面配搭多樣。 第七代 Apple Watch 將會有五款顏色,順序為午夜暗色、星光色、綠色、全新藍色和 Product Red 紅色。同上一代一樣,用家可以選擇用 41mm 或 45mm 錶殻,同時可配搭銀色、石墨色或金色不鏽鋼錶殻,或者是 Nike﹑Hermès 錶帶及錶面。Apple Watch Series 7 將於今年秋季末上巿。 推薦閱讀: 【Apple秋季發布會2021】令人充滿驚喜!Apple iPad mini 6 及 iPad 9 亮點懶人包 作者:IronMan

【Apple秋季發布會2021】令人充滿驚喜!Apple iPad mini 6 及 iPad 9 亮點懶人包

科技新知
Lifemagtechie・2021-09-15

果粉們期待已久的新一代 iPad,終於在剛剛新鮮出爐的「Apple秋季發布會」內介紹 iPad 9 和 iPad mini 6。它們的亮點非常多,而且功能非常豐富,還帶來更多嶄新的功能,為一眾果粉們帶來驚喜。想了解有甚麼亮點就繼續看下去啦! iPad mini 6 最令人期待的 iPad mini 6 果然無令一眾果粉們失望,不但加入了 iPhone 13 沒有的 Touch ID,而且硬件大升級,還有四款顏色讓大家選擇,包括太空灰、粉紅色、紫色和星光色 ,令人充滿驚喜。快繼續看看 iPad mini 6 有甚麼亮點。 亮點一:機體頂部設有 Touch ID 方便用家解鎖。 對於大部分時間都需要戴口罩的用家來說,可以用 Touch ID 指紋來解鎖十分方便,而它就是整合在 iPad mini 6 的頂部,方便又安全。 亮點二:硬件全面升級,處理效能速度更快,表現更出色。 新一代的 iPad mini 6 採用 A15 仿生晶片,同上一代相比,6 核心的 CPU 令性能提升最高可達 40%,而 5 核心的 GPU 則為圖像處理效能提升多 80%。無論是玩網上遊戲,還是處理圖像設計等高難度工作,iPad mini 6 也有出色的表現。 亮點三:鏡頭擁有超高像素,並加入新影相功能,配圓角窄邊框設計更完美。 iPad mini 6 配備 1200 萬像素的超廣角前置鏡頭,影相固然出色之外,還加入最新功能「人物居中」。在進行視訊通話的話時候,可以讓用家維持在畫面中間。當偵測到有其他人加入的時候,亦會流暢地把鏡頭拉遠,方便其他人參與對話。順帶一提今次 iPad 系列使用圓角窄邊框設計來回應果粉們的期待。 ▲當偵測到有其他人加入的時候,會自然地把鏡頭拉遠。 ▲新功能「人物居中」能夠讓用家維持在中間位置。 亮點四:設有支援5G的 USB-C 連接埠,傳輸速度更快,用途更廣泛。 iPad mini 6 的 USB-C 連接埠能夠支援 5G 網絡,最快可以 5Gbps 來傳送資料,傳送速度比上一代快 10 倍。除此之外,這個連接埠用途更廣泛,可以連接相機、外接儲存設備、4K顯示器等,並維持高頻寬來進行輸入及輸出,滿足並方便用家的日常需要。 亮點五:能夠支援及為 Apple Pencil 進行無線充電。 好多學生和鍾意畫畫的用家都會使用 Apple Pencil 來做筆記和繪畫,而輕巧的 iPad mini 6 不但為用家減輕重量,而且能夠支援第二代 Apple Pencil,可通過磁力貼合連接來進行無線充電及配對,在反光度超低的 8.3 吋顯示螢幕上書寫更清晰而不傷眼睛。 iPad 9 第九代 iPad 在規格、鏡頭、電池等方面都有所提升,為用家帶來更好使用體驗。除俱備 iPad mini 6 的新功能「人物居中」及一樣像素的鏡頭之外,還有更多令人值得入手的亮點。 ▲iPad 9 規格 ▲iPadOS 功能 亮點一:能夠支援第一代 Apple Pencil iPad 9 能夠支援第一代 Apple Pencil 和智慧型鍵盤,可以與手寫或鍵盤輸入無縫銜接,所以大部分 Apple 用家可以繼續沿用自己熟悉的配件進行書寫,更加順手。 亮點二:圖像處理效能提升 iPad 9 採用 A13 仿生晶片,比上一代處理圖像效果能力提升了 20%,令繪圖引擎和神經網絡引擎也同步提高了 20% 效能,切合繪畫用家的需要。同時可支援最新的 iPadOS 15,可使用快速備忘錄、分割顯示、App 切換器、共享螢幕等好多好用的應用程式。 亮點三:擁有 10.2 吋 Retina 大屏幕 對於需要使用大屏幕工作的用家來說,iPad 9 的 10.2 吋 Retina 大屏幕絕對能夠滿足用家需要,新增支援 True Tone 原彩顯示技術,可因應環境光線而自動調節螢幕色溫,讓用家在任何光線環境下都有良好觀看體驗。順帶一提,今次 iPad 9 有太空灰和銀色兩款顏色選擇。 推薦閱讀; 【Apple秋季發布會2021】歷來最聰明最耐用!Apple Watch 7 五大精彩亮點 作者:IronMan

【Apple WWDC 2021】iPadOS 15 新增 Widget、Multitask、翻譯等6大功能

科技新知
Lifemagtechie・2021-06-08

Apple WWDC 開發者會議中,同時宣佈全新平板電腦系統 iPadOS 15。新版本的iPadOS加入Widget 小工具功能,另一亮點是全面更新平板電腦的Multitask多工操作功能,在一個畫面上 同時組合兩個 App運作;另外也加入「快速備忘錄」以及專門為 iPadOS 而設的翻譯功能。 加入Widget小工具 用戶可以在主畫面把小工具與圖示並排一起顯示和操作。打開小工具畫面,以拖拉的方式將小工具拉到合適位置。用戶可設立數個不同主題的頁面,例如工作、娛樂、遊戲,各自加入不同主題的App圖示與小工具。「檔案」小工具讓用戶隨時使用常用檔案。 新增的App資料庫 (App Library)讓用戶可把不常用的 App 圖示、App 圖示頁面隱藏,使 iPad 頁面更加簡潔。另一方面,打開「App資料庫」就可迅速搜尋或打開主機內的所有 Apps。 Multitasking同時處理功能更方便易用 用家開啓「Multitask同時處理工作選單」後,可以在使用一款App的時候返回主畫面,隨時打開另一個App使用。例如,用家想打開電郵,可把郵件放大到畫面中心,讓你以更大畫面處理關注的事情。 (開啓「Multitask同時處理工作選單」)↓ 加入「快速備忘錄」功能 iPadOS 15 大幅更新「備忘錄」App,在備忘錄的記事內,可以隨時在備忘錄加入對方關注,例如「@Amy」,系統就會自動把這行內容加入活動清單中。用戶亦可在文章中加入Tag標籤,方便日後搜尋。「快速備忘錄」功能。它是一個能夠隨時在 iPad 畫面出現的小視窗,可讓你經由Apple Pencil書寫快速記錄。「快速備忘錄」更可快速從瀏覽器加入網址,讓你在備忘錄中迅速打開相關網頁文章。 翻譯App可手寫翻譯與翻譯語音 翻譯 App 也加入到 iPadOS 15。用戶可在 iPad 畫面輸入文字,並且直接轉換成另一種語言。翻譯App也可輕鬆處理外部文字,例如打開任何文字 App,可迅速叫出翻譯功能,翻譯頁面上的文字。即時翻譯功能可把文章、網頁,甚至圖片中的文字即時翻譯。 Swift Playgrounds 用家可在iPad上編寫程式編碼。完成後可直接在iPad上執行,更可直接傳送到 App Store。 全新鍵盤捷徑 用戶可在全新 iPadOS 中使用全新捷徑選單與更多捷徑按鈕。 其他功能 iPadOS同時加入iOS 15的新增功能,例如訊息整理、視像會議音效提升功能、「Focus 專注」功能和互動回憶功能。