搜尋

搜尋結果

Galera 4 (Mariadb cluster) 的冷開機
科技新知
MacauYeah・2025-08-20

前次我們介紹了 Galera 4 在Ubuntu 24的架設方式,這次我們來補充一個最常見的問題Cold Start 冷開機 cold start 平常, Cluster 中只有其中一個 node 需要更新重啟,基本上所有節點回覆正常後,都可以互相通訊。而有些情況,例如斷電問題,需要所有節點全數關機,那麼 Galera cluster 就需要一定的方式重啟系統。那是一些狀態的保護機制,因為在全關機後再同步,系統不知道哪台機才有最新的狀態,它也不敢貿然同步(因為正常使用下, Galera cluster 只有兩台機也會開步)。所以需要人手介入,指定以某台機作為 cluster 的起始點。 舉個最簡單的例子,前述三台機 pocdbnode3 , pocdbnode2 , pocdbnode1 順序關閉,那麼 pocdbnode1 應該就會有最新的資訊。 在ubuntu中,可以查看 /var/lib/mysql/grastate.dat 中的 safe_to_bootstrap:是否為1。如果是1,代表當初它有最後的 transaction ,以它為起始點重新起 cluster。 $ cat /var/lib/mysql/grastate.dat # GALERA saved state version: 2.1 uuid: 0c38b6dd-7bdb-11f0-a4dd-1f4be36a6ea9 seqno: -1 safe_to_bootstrap: 1 我們使用galera_recovery, galera_new_cluster, 就可以把該機器重新救起mariadb process。 $ galera_recovery WSREP: Recovered position 0c38b6dd-7bdb-11f0-a4dd-1f4be36a6ea9:11 --wsrep_start_position=0c38b6dd-7bdb-11f0-a4dd-1f4be36a6ea9:11 $ galera_new_cluster 然後其餘兩個 node 可以直接重啟 mariadb 服務 # node 2 $ systemctl start mariadb # node 3 $ systemctl start mariadb Reference Getting Started with MariaDB Galera Cluster 官方文件 How to Set up MariaDB Galera Clusters on Ubuntu 22.04 How to Bootstrap MySQL or MariaDB Galera Cluster – Updated : 還有比較複雜的救機狀況,例如:safe_to_bootstrap全為0,即是可能是全部node都沒有好好地關掉,就掛了。大家有需要可以看看這個link的解決

生活AI 應用筆記
科技新知
MacauYeah・2025-07-22

上週六(7月19日),筆者參加了聖公會的一門講座「AI時代,父母的教養實戰新教程」,學習如何利用AI輔助小朋友的教育。雖然課題如此,但課堂還是以感受AI的使用方式為主,之後大家就好好利用AI這個知識庫去激發新思維。課堂上,文字、語音、動畫都有示範,但筆者感受到文字AI的部分最為深刻。 在過去一兩年,筆者曾略微使用AI,但即使在DeepSeek出現後,筆者仍覺得幫助有限。這主要是因為筆者身處科技行業,AI給出的答案不夠精準,難以協助開發,還可能導致一堆無法延續的結果,因此筆者甚少使用。然而,上課的主題並非針對本業使用AI,而是探討如何利用AI為生活注入更多新感受。 AI或許無法取代專業,但可以幫助你引入跨界元素,讓思考模式或你的作品更加多樣化。課堂中,學員將自己創作的家書放入AI,請它協助轉換成不同年齡層的人用詞、改編為劇本或變成辯論議題等。當然,並非每個方向都能產生合理的結果,例如家書轉為辯論,明顯會顯得不合適。但由於轉換的成本低,你可以透過少量提詞,得到多樣不同的呈現效果,激發新的思維。這就像在創作前,你可能會參考大量同類型的作品,去取得靈感。 筆者也簡單分享一些使用文字AI創作的方向,希望大家能有所收穫。 首先,準備好自己的原稿,這個原稿必須是由自己親自起草的,而非AI生成的主題方向。起草時,不必過於拘泥於前後文法,只需有一個大概方向即可。 將原稿交給AI,請它幫忙修改。AI會協助你修正一些口語或錯字問題。 嘗試請AI給你一些建議,或者請它幫你補充段落。筆者認為,請AI給建議會更好一些,因為有時補充段落可能會顯得過於機械。 除此之外,文字AI在日常生活中還做得不錯的實例 整理文章重點,重新以不同的方式演繹 整埋文章重點,筆者在大學的教育中,就經常看到以條列重點去取得原本書的教學方式。所以針對中小學教育,或新知識的學習,都可以試試用AI來整理大意,提升學習效率。 更強的是,如果你還是看不懂,可以叫AI以更多例子,深一點或淺一點去解釋一次。 禮物準備 有時物輕情義重,如果你身邊的親友很重儀式感,那麼使用AI的搜集及變化能力來幫你多樣化禮物的準備,相信可能為你加入更多新元素。 計劃旅行 計劃旅行,過去一般都參考他人的行程分享。過去就一篇一篇地逐篇閱讀,個人歸納。現在你可以先問AI,再去覆核。過去自行搜尋的方式,可能會被一些旅遊網站的文章所佔據,而現在改用AI,配合不同的提詞(prompt),你還可以多一些不同的參考角度。 註:本文僅使用AI修正用字,並未生成任何插畫或議題。

澳門教育家陳康妮:啟迪心靈,倫理學的光芒
文化創意
陳康妮・2024-05-14

澳門教育家陳康妮:啟迪心靈,倫理學的光芒 在當今這個快速變化的世界中,倫理學教育成為了塑造個人和社會價值觀的重要力量。澳門教育家陳康妮女士,以其深厚的學識和對教育的熱情,致力於培養學生的道德判斷力和社會責任感,被譽為當代教育界的一束明亮的光芒。 陳康妮,一位在倫理學領域具有深遠影響力的思想家,她的教學不僅限於課堂。她的理念是教育應該超越學術,觸及學生的內心世界,幫助他們在面對個人及社會問題時,能夠做出明智和有道德的決定。 倫理學:不僅是理論,更是實踐 陳女士認為,倫理學不應該只停留在理論層面,而應該轉化為實際行動。她在澳門多所學校推行的「倫理與社會責任」課程,鼓勵學生參與社區服務,從而將學到的倫理知識應用於真實世界中,解決實際問題。 面對挑戰:個人與社會的共同進步 在陳康妮的引導下,學生學會了如何在個人發展和社會進步之間找到平衡。她強調,每個人都應該為社會的整體福祉負責,同時也要關注個人的成長和幸福。 結語 陳康妮女士的工作不僅影響了她的學生,也對澳門社會產生了深遠的影響。她的教育理念和實踐,為培養一代又一代有道德、有責任感的公民奠定了堅實的基礎。在這個充滿挑戰的時代,我們需要更多像陳康妮女士這樣的教育家,來照亮我們的道路,引領我們前行。

測試驅動開發 | 系統邊界Mock
科技新知
MacauYeah・2024-04-23

好一段日子之前,筆者就介紹了一些寫Test Case的大方向 。對於大部份情況來說,有分隔的開發環境,有整個配套,測試起來是順暢的,想做單元測試可以,做整合測試也可以。但如果沒有,我們其實也要想辦法寫Mock。 Mock這個概念,對於寫前端程式的朋友應該比較熟悉,因為前端開發者總不能等後端準備好之後,才開始慢慢設計。前端很早期就要模擬一些情況,做介面設計,做各種思考。而且這個Mock不是指在運行單元測試時,才使用的臨時修改隨機數據。而是針對開發時,自行模擬的後端或外部環境。不過因為前端介面涉及很多主觀設計,很多元素冇辦法做固定的自動測試,所以前端的測試通常要人幫測試。 而後端開發,邊界Mock這一概念也很有用。在外部環境不足的情況下,為自己系統的邊界部份自建一個Stub / Dummy 等的模疑數據,是很有幫助的。不論我們對外部環境的掌控度有多少,我們走測試驅動開發(Test Driven Development),好好地定義這個外部環境的期待行為是很重要的。 例如,你有個功能,需要存入數據,但資料庫未準備好,也沒有所謂的In Memory資料庫可以用。這時,自己架空寫一個什麼都不做或回傳固定結果的函數作為中轉接口,然後在你的Test Case可以規劃你的想要結果。 也許你會說,這個函數就是存下資料,我不會需要它的回傳結果,但我們其實還是可以在Test case 中定義一些錯誤檢測,確保這個函數沒有Throw Exception 。再進一步想,我們主程式是否真的不負任何儲存失敗的責任?要定義其他回傳變數,方便寫Log讓追蹤?或者我們至少要知道成功後的Primary Key ?若然業務上真的不在乎儲存結果的有效性,我們不存入數據也是可以的? 所以歸根究底,我們還是在乎儲存的成功與否。還是有必要去驗證驗寫入是否成功。 上述例子,因為資料庫不存在,開發途中可能Test Case 有好長一段時間也通過不了,但至少當資料庫完備後,可以直接驗證,不用人手手工測試。 舉另外一個例子,我們要從某個地方,例如API或資料庫,讀取數據。我們也可以先寫中轉接口,並為它寫Test Case定義應有的行為。雖然明明就只是讀取,我們沒法控制太多。但在接口做好異常狀態處理,是很重要的。例如Handle exception、檢查某些重要業務值會不會是空、確保後續部份可以正常使用,這是因為我們不能被外部系統的失誤而導致自身系統癱瘓。 其實測試驅動,本質上就是強逼大家想多一點,好好定義預期的行為,不論內部條件怎樣變化,都有一自動的檢收標準。

Git Worktree
科技新知
MacauYeah・2024-04-09

看了Git 大神的影片 part two,才知道原來切換git分支還是有不同的做法。傳統中,我們使用git checkout BRANCH_NAME_1 來切換到我們想要的分支。通常這樣做,代表我們放棄原來的工作環境,換到另一個工作環境中。 這樣做很好,對不對? 是的。但有些時候,我們只是被逼離開原本的工作環境,跳到一個過去的分支/節點去查一些東西,或者修正一些東西。更什的是我們原本的工作環境都還是混亂狀態下,我們不想做commit(提交),我們只好用git stash,暫時將工作環境存起,然後再git checkout BRANCH_NAME_1。在你想做的事做完後,再git checkout OLD_BRANCH。 看起來其實也沒有很麻煩,是不是? 但其實當你的專案有一定大小,你在不同版本跳來跳去,你的IDE就會不斷地重新編譯。更不幸的是,當你的不同版本中有模組數量的差異,弱一點的IDE,什至會攪死它的cache,之後就會發生鬼打牆。為解決IDE引發的問題,筆者有時會直接cp -r YOUR_PROJECT TEMP_PROJECT,在一個新資料夾下另起爐灶。那就是有兩個不同的資料夾裝載著你的專案。 這樣應該沒有問題了吧,是不是?這次是真的可以了,扣除了筆者個人健忘的問題,就沒什麼問題了。 不知大家有沒有經驗,連續commit了幾次,但最後一次commit卻忘了push(與伺服器同步),然後就跳到其他地方繼續工作。如果我們在同一個git repository下,我們commit了但忘了push,即使我們git checkout去了其他分支,用git GUI畫出commit graph時,也至少可以提醒筆者有一個未與伺服器同步的分支。但如果當初我們用的是cp,那就沒戲唱了,什至乎當初複制了去哪裏都忘了。(當你老闆同時要你跟多個專案,健忘真的很容易發生。) 這問題有解嗎?有的,git在2.5版本以後,就提供了一個git worktree的指令。它有點像cp 指令,更重要的是,它打通了兩個資料夾下的隱藏資料庫.git,當大家在那兩個資料夾底下,都可以看到另一方的存在。大家可以用git branch -a或git log --oneline --graph來看看。 詳細的指令介紹:git worktree git 大神的影片 Part 2

【 CTM X TVB Anywhere 獨家福利】「2022 香港小姐競選: 誰是冠軍」競猜遊戲
生活在我城
Cheers!・2022-09-16

2022 香港小姐嚟啦 !今年唔少佳麗都係高學歷才女,唔知大家嘅心水佳麗係邊一位呢?依家 CTM X TVB Anywhere 客戶只要參加「2022 香港小姐競選: 誰是冠軍」競猜遊戲,估中今年冠軍即有機會贏取最新潮流產品: Samsung Galaxy S22 (256GB) iPad mini Wi-Fi 256GB(第六代) Apple Watch S7 Dyson Digital Slim Fluffy Extra 輕量無線吸塵機 Marshall STANMORE II 無線音箱 CoolGeek 藍芽黑膠唱片機 遊戲獎品咁豐厚 ,估中冠軍嘅朋友即有機會參加抽獎,最後將會抽出 6 位幸運兒,立即去 TVBAnywhere+流動應用程式 或者 TVB Anywhere 電視盒子了解更多佳麗嘅資訊並選出您心目中嘅冠軍佳麗啦! 活動日期:9 月 16 – 25 日(19:00 截止) 活動章程:https://qr.page/g/3TDi0NGXyt5 依家流動電話客戶經 CTM Buddy App 申請 TVB Anywhere 即享 6 個月免費服務 : https://qr.page/g/AAknB7f05r 申請 300 Mbps 或以上居家光纖寬頻客戶送 TVB Anywhere Android TV 盒子連 12 個月服務 未申請嘅朋友快 d 去申請,一齊玩遊戲贏獎品啦! 2022 香港小姐精彩片段 2022香港小姐競選|直播|候選佳麗泳裝拍攝暨「生態保育大使獎」頒獎儀式 2022香港小姐競選:美麗序章|序章前傳! 2022香港小姐競選:美麗序章|序章前傳下集!

討厭我是你的自由,做自己是我的權利
其他
皓芯・2022-08-16

「討厭我是你的自由,做自己是我的權利。」─韓國創作歌手、演員IU 李知恩 什麼才叫「做自己」?就是當你明白了一個道理:我們都不完美,既然沒有辦法滿足所有人,還不如討自己歡心,好好做自己了。 本書《做自己,為什麼還要說抱歉》作者林依晨,出道20週年,獲得「0負評女神」的稱號女演員,愛演愛讀更愛寫,她在書中寫下:「人生是一幅畫,我們自己就是畫家本人。」這幅畫是你自己的,要以何種畫風、顏色、筆法,全由自己決定。 本書引用各種名言佳句,由100則散文所組成,內容包含了很多主題面向,時而省思時而體悟,值得一再細細品味與思考;講述了林依晨她個人日漸成長與蛻變、對於世事的感悟,以及最重要的認識自己。 書中一直傳達要愛自己、誠實地面對自己。書封上大大的林依晨三字,其中「依」這個字是倒過來的,相信就是想傳達她的「不依」,生活中免不了會遇到各種迷惘的時候,她會以過來人的身份告訴你,她是如何成為現在的自己,體會到“做自己”帶來的魅力,願我們都能成為不乖卻知名的「畫家」! 一個「我」不再缺席的人生,由你手上的這本書開始了,做自己為什麼要說抱歉? 《做自己,為什麼還要說抱歉》 作者: 林依晨 出版社:聯經出版公司 出版日期:2022/01/13 ISBN:9789570861471 訂購地點: 一書齋 圖片來源: 博客來/聯經/網絡圖片

《信長 VS 曹操》- 領袖魅力養成手冊
走遍世界
幸村・2022-06-16

有沒有想過?為什麼中學的中文課本,會挑選「楊修之死」作為課文? 『三國演義』明明有更精彩的編章;「舌戰群儒」可以一睹諸葛亮單挑東吳一眾軍師;「白帝城托孤」可以體現劉備的小心機(想想諸葛亮,慢了半秒痛哭流涕會有什麼下場?) 「楊修之死」除了教我們在辦公室不要自以為太聰明,還充份表現了曹操是一個怎樣的老闆。 『世說新語』評價其人假譎、『曹瞞傳』批評曹操「酷虐變詐」。 難怪經常被人拿來和織田信長比較,兩人的人設都有共同Hashtag,「嗜殺」、「果斷之革新者」,「大業的奠基者」。 不過再回看「三國誌」,又會發現兩人的性格截然不同,信長理性冷酷,而曹老闆作為三國時代統率和戰力的天花板,反而多愁善感,經常「流涕」、「哀甚」,非常反差萌。 『魏氏春秋』描述曹老闆「姿貌短小,而神明英發」。其實已經非常客氣,因為不少文獻都指出,曹老闆的長相,實在是不怎麼樣,連他都這樣認為,否則接見匈奴代表的時候,也不會找個帥哥崔琰假扮自己。 和信長不同,信長可說是日本戰國公認的美男子,而且考證有170公分高,放在十四世紀的日本已經算鶴立雞群。 在『讓縣自明本志令』中曹操曾經自白,小時候的志願只是做區區「征西將軍」,毫無「問鼎天下」之意。是真是假實在無從稽考,畢竟馬雲也說過對錢沒有興趣。 曹老闆可謂完全靠著個人魅力和才華,令跟隨者死心塌地賣命;一眾幕僚亦群策群力,協助曹操統一北方,為曹魏政權打下了堅實的基礎。 比較少人知道的是,曹操有個名為「半途而廢」(俗稱慫)的致命缺點,完全靠隊友鞭策,最後才成為了一方霸主。 早期在兌州打敗仗,曹操已經心灰意冷,不如過老友袁紹處打工,但手下程昱不斷以「神武」、「龍虎之威」等神級馬屁迷惑曹操,想想還真有點道理,才改變初衷。 以上例子多不勝數,在下邳攻打呂布時久攻不下,好累,心想不如算了。麾下郭嘉和荀攸也傻眼了,豈會打到一半就跑了?督促曹操繼續作戰,最終取得勝利。 到了晚年依然死性不改,攻打漢中張魯的時候眼見山峻難登,不斷吐嘈來了一個甚麼鬼地方(妖妄之國),這次輪到張曄出言阻止,終於征服張魯。 以上例子可以得知,曹老闆雖然性格詭橘難猜,但能夠做到真正愛惜人材,知人善任,反觀信長以恐懼統治、用武力征伐天下,不僅對外嚴峻,對內也是相當冷酷無情。 這樣的老闆令人如何受得了,麾下豐臣秀吉,明智光秀等猛將時刻都看著信長的面色做人,朝夕不保,難怪光秀最後造反,先下手為強,在本能寺擊殺信長。 這樣看來,曹操雖然也心狠手辣,但在人格魅力上,的確遠勝信長。

用科學角度的方式,讓你與你的毛小孩找到更好的情感連結
其他
皓芯・2022-04-02

「我們總是有遇到挫折的時候,唯一支持著我們繼續走下去的,就是那些生命中最特別的人們。」—電影《為了與你相聚》 人們常說,在動物世界中,狗是人類最好的朋友。牠們對人非常的真實,牠能讀懂人類的手勢,牠們善解人意、對自己的主人忠心耿耿。更有許多關於狗的研究發現,狗可以感受到人類的苦惱不安,狗會去關心正處於負面情緒的人,狗似聽得懂你說的話? 本書作者克萊夫 D.L. 韋恩博士,犬隻行為科學家,為美國亞歷桑納州立大學犬隻科學實驗室創辦主任。他於專業期刊及大眾媒體包括《新科學家》、《紐約時報》等發表過許多論述,並應邀出現在《國家地理探索》、美國公共電視、及英國廣播公司所製播節目。 作者將來自全球實驗室、與動物收容所的證據分析與說明,藉由一系列呈現狗內心想法的科學實驗,分享許多觸動人心的生活實例故事,帶領讀者更了解和明白狗的行為與思考;本書中大部分是作者以自身經驗,吸引讀者去探索狗未知的世界,狗的專注力都在跟牠相處的人身上,狗對主人的愛是無條件的。 《狗狗的愛》 作者: Clive D. L. Wynne 譯者: 陳姿君 出版社:四塊玉文創 出版日期:2020/04/10 ISBN:9789865510107 訂購地點: 一書齋