搜尋

搜尋結果

概有雲供應商的K8S,為何要自己弄Docker Swarm / 本地K8S ?
科技新知
MacauYeah・2024-11-19

其實筆者寫了這麼多篇docker 的文章,可能有朋友會問,為何要自己從零建立Container環境,使用供應商直接提供的K8S服務不是很好嗎? 按照市場發展,各大雲供應商都越來多,競爭越嚟越激烈,作為用戶方,理應可以得到更合理的價格。不過作為使用VPS多年的筆者,真的沒有覺得雲服務的價格可以便宜到一個不用煩惱的水平,大家還是需要很㥀重地考量自己的業務是不是值得雲端化。 正常來講,在有足夠使用量的前提下,雲端化也是合適的,也真的有產到錢。但問題是大部份情況下公司內部自主開發的應用,都沒有去到這個程度。每個應用去租用一個VPS,即使使用最低配置,用起來的時候覺得不夠快,閒起來的時侯也是浪費錢。 這時,使用 Container 技術,就是讓多個不同的應用,共享同一個或多個VPS的好方法。因為 Container 可以簡易地做到應用之間的隔離,即使不同應用之間有依賴衝突,只要 Contianer 層面沒有衝突就可以共存。 Docker swarm 與 K8S 同為 container 技術,文章最前面,就提到了這個問題,為何不選現有的K8S,反而要自己弄Docker Swarm?其實關鍵亦是價錢的問題。使用K8S固然方便,但就每個節點都得使貴一級的雲端供應商服務,當我們的應用總是流量不足,就更易變得食之無味,棄之可惜。老實講,貴一級的雲端服務,有它存在的價值,很多東西可以做自動化擴展,例如概據流量自動擴容。另外,因為底層 Container 技術有供應商支援,也不用再另外購買支援服務。但這些都是業務有一定流量,才能展現出優勢。 反觀Docker Swarm,就是簡單可入手,初時一個VPS也可以。什至乎不上雲,找幾台舊電腦,實機做也可以。當然K8S也可以實機,不過就簡易程度來講,Docker Swarm 無得輸。待業務真正成長到一個有足夠流量的服務時,才進一步遷移到供應商的原生雲。在初期使用自建的Docker Swarm或小型K8S,可以先加入一些資源統計,以確定是否即裝滿負荷。

全球教育新點子:結合未來技能與傳統教學的力量
文化創意
陳康妮・2024-05-24

全球教育新點子:結合未來技能與傳統教學的力量 在當今這個快速變化的世界中,教育不僅僅是知識的傳遞,更是技能和能力的培養。澳門教育家陳康妮認為,未來技能教育應該成為全球教育的核心,這包括批判性思考、創造力、協作和溝通能力等。然而,隨著教育科技的發展,我們也必須認識到聯合國教科文組織(Unesco)所強調的,即線上教學永遠不能取代老師的面對面指導。 未來技能教育的重要性 未來技能教育的目標是為學生提供在21世紀社會和職場中成功所需的技能。這些技能包括: - 批判性思考:能夠分析問題,提出解決方案。 - 創造力:在面對挑戰時能夠想出創新的方法。 - 協作:與他人共同工作,達成共同目標。 - 溝通:清晰地表達想法,並有效地聆聽他人。 線上教學與傳統教學的結合 雖然線上教學提供了靈活性和可訪問性,但它不能完全取代傳統教學。老師的面對面指導對於學生的情感發展和社交技能至關重要。因此,我們需要一個結合了線上教學和傳統教學的混合模式,這樣學生既可以利用科技的便利,也能從老師那裡獲得必要的指導和支持。 實施策略 為了實現這一教育新點子,我們需要以下幾個策略: 教師培訓:提供教師培訓,使他們能夠有效地結合線上教學和傳統教學。 技術整合:在課堂上整合最新的教育科技,以增強學習體驗。 課程設計:設計以未來技能為中心的課程,並確保這些技能能夠在真實世界中得到應用。 評估改革:改革評估方法,以衡量學生在未來技能上的進步。 這些關鍵技能將幫助澳門的學生在競爭激烈的世界中脫穎而出,為他們的未來鋪平道路。澳門教育應該不斷進步,以適應不斷變化的需求,並為學生提供最佳的教育體驗。

勤儉:澳門新一代的未來之鑰
文化創意
陳康妮・2024-05-14

勤儉:澳門新一代的未來之鑰 作為一個在澳門成長的澳門教育家,我深知勤儉不僅是一種生活方式,更是一種智慧。在這個物質豐富、消費主導的時代,勤儉似乎成了過時的觀念。然而,我認為勤儉是澳門新一代年輕人走向成功的重要基石。 一、勤儉的真正含義 勤儉並不意味著吝嗇或拒絕享受生活。相反,它是一種對資源的尊重和合理利用。勤儉是一種生活藝術,它教導我們如何在不浪費的前提下,充分利用我們所擁有的一切。 二、勤儉與澳門的關係 澳門作為一個小型經濟體,資源有限。因此,培養勤儉的習慣對於澳門的可持續發展至關重要。透過勤儉,我們可以減少浪費,提高效率,並為澳門的未來做出貢獻。 三、如何培養勤儉的習慣 培養勤儉的習慣應該從小開始。家庭、學校和社會都應該扮演積極的角色。家長可以通過日常生活中的小事來教導孩子們價值觀。學校可以通過課程和活動來強化這一理念。社會則可以通過媒體和公共政策來推廣勤儉的重要性。 四、勤儉對個人的益處 勤儉不僅有助於個人財務的穩定,還能培養出良好的自我管理能力。這些技能對於未來無論是在職業生涯還是個人生活中都是非常有價值的。 五、結語 勤儉是一種美德,也是一種力量。它能夠幫助我們在面對挑戰時保持堅韌不拔,並在資源有限的情況下創造無限的可能。作為澳門的一員,我們有責任將這種精神傳承給新一代,讓他們明白勤儉的真正價值。

新一代的澳門教師如何裝備自己
文化創意
陳康妮・2024-05-14

新一代的澳門教師如何裝備自己 新一代澳門教師應該通過以下方式來裝備自己: 在這個快速變化的時代,教育不僅僅是知識的傳遞,更是培養學生批判性思維和終身學習能力的重要途徑。澳門,作為一個多元文化交融的城市,新一代教師面臨著獨特的挑戰和機遇。 首先,教師需要不斷更新教育理念,掌握最新的教學方法。這包括對於科技在教育中應用的瞭解,如何利用數位工具來增強學生的學習體驗。教師應該積極參與教育研討會和工作坊,並與其他教育工作者建立聯繫,共享資源和經驗。 其次,跨文化溝通能力對於澳門教師來說至關重要。教師應該具備能夠理解和尊重不同文化背景學生的能力,並能在課堂上創造一個包容和諧的學習環境。這需要教師不僅具備語言能力,還要了解不同文化之間的價值觀和習慣。 再者,教師應該注重自己的終身學習和專業發展。這意味著要持續學習,不斷提升自己的專業知識和技能。教師可以參加進修課程、閱讀教育相關的書籍和研究報告,並與同行進行交流,以不斷提高自己的教學水平。 澳門新一代教師應該通過持續學習,掌握多元文化教學策略,以及積極運用科技工具,來裝備自己,以應對21世紀教育的挑戰。這樣,他們不僅能夠提升自己的教學質量,也能為學生的未來成功奠定堅實的基礎。

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

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

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

陳康妮分享如何提升小孩專注力
文化創意
陳康妮・2024-01-25

(2024年1月10日 - 星報) 陳康妮分享如何提升小孩專注力 【特訊】教育心理學「所有煩惱,都是人際關係的煩惱。」這句話提醒我們,人與人之間的關係是非常重要的。在教育環境中,這通常涉及到與學生、教師、家長之間的關係問題。例如,與同學的相處、過去的創傷、獎勵制度是否公平、感受到的重視程度等等。 在當前快速變動的社會環境下,有時候人們會懷疑:是否能夠信任他人?全球經濟環境是否可信?全球政治環境是否可信?全球新聞是否可信,在無常的環境(如自然災害、戰爭,或是突如其來的改變)是否可信? 事實上,沒有人能給出100%保證的答案。 在建立信任之前,我們需要考慮的是,我們是採用加分制還是減分制呢?無論是加分還是減分,其中一個不可避免的元素就是溝通。而溝通的有效性則取決於參與者之間的期望,是否能夠達成共識,以及當發生衝突時,如何處理。 人與人之間的誤會往往由於溝通中的留白位而產生。簡單來說,某人沒有講清楚,另一人沒有問清楚。一旦誤會發生,它可能演變成關係中的裂痕。因此,當出現留白位,當有了灰色空間時,適當的時機要去表達自己的想法,要去了解對方的想法。前提是要找到一個好的時機,並進行心理建設,以及在溝通時遵守彼此的原則。 專注力是一個重要的課題,陳康妮也提出了一些方法來提升專注力。例如,走進孩子的情緒世界,了解孩子的需求和感受,可以幫助孩子更好地掌握自己的情緒,進而提升專注力。

澳門教育家陳康妮:換我照顧你
文化創意
陳康妮・2024-01-25

澳門教育家陳康妮:換我照顧你 「爸爸,你記得今日午餐吃過什麼嗎?」這是澳門教育家陳康妮每週日去護老院探訪換肝後的陳爸爸時,總是要問的一句話。陳爸爸因為肝硬化而接受了肝臟移植手術,但手術後卻出現了腦退化的症狀,記憶力逐漸衰退,有時甚至不認得自己吃過什麼。陳康妮作為長女,每週日都會從忙碌的工作中抽出時間,去陪伴和照顧父親,這已經持續了五年。 「我希望能夠讓他感受到我的愛和關懷。」陳康妮說,她每次去探訪父親時,都會帶上一些他喜歡的食物,和他聊天,嘗試喚起他的記憶。讓他保持身體的健康和舒適。「我不想讓他覺得自己是一個負擔,而是一個被尊重和愛護的人。」她說。 陳康妮表示,成為照顧者的過程並不容易,她也曾經遇到過很多困難和挑戰,她說,她能夠堅持下來,是因為她深深地感恩父親對她的養育之恩,也因為她相信孝順父母是一種美德和責任。「我從小就是父親的掌上明珠,他總是無微不至地照顧我,教導我,支持我。他是我最好的老師,也是我最親密的朋友。」陳康妮回憶說,父親曾經帶她去認識他不同的朋友,培養了她的多方面的興趣和才能。「他總是對我說,你要做自己,不要被別人的眼光所束縛,你要追求你的夢想,不要放棄你的理想。」陳康妮說,正是父親的鼓勵和支持,讓她成為了一名優秀的澳門教育家,獲得了社會的尊重和認可。 「現在,換我照顧你。」陳康妮說,她希望能夠用自己的行動來報答父親的恩情,也希望能夠用自己的故事來鼓勵更多的市民孝順父母,關心老人,讓他們感受到溫暖和幸福。陳康妮說:「我相信,只要有愛,就沒有什麼是不能克服的。」

Steam Deck 也可以作為文字創作
科技新知
MacauYeah・2024-01-23

之前筆者就介紹了,如何使用Steam Deck作為程式開發機使用。這可能對於一般讀者來講不太常用,更常用的是做一些文書處理。筆者最近也拿著Steam Deck,也一步步地補充文書處理所缺少的軟件,正式踏入Steam Deck日常之路。 如果你沒有對系統做過任何更改,在桌面模式中,只要打開「Discover」,輸入後逐的軟件的唯一package name,就可以找到相關軟件。 但如果你像筆者之前一樣,加了homebrew等第三方系統,可能所有軟件都需要在terminal中,經過指令sudo flatpak install PACKAGE_NAME。 Chrome 唯一碼: com.google.Chrome 系統預設瀏覽器只有Firefox,不習慣的話可以另外下載Chrome。有了Chrome,至少所有的雲端文書軟件都可以用,想用Google Doc也沒有問題。 中文輸入法:Fcitx5 + Rime 唯一碼:org.fcitx.Fcitx5 唯一碼:org.fcitx.Fcitx5.Addon.Rime Steam Deck原本有自帶的輸入法,但只適用於螢幕虛擬鍵盤使用(即使用Steam key + X,打開虛擬鍵盤),而實體鍵盤就無法轉輸入法了。這時就需要Linux上的Fcitx5和Rime了。安裝很簡單,之後還要設定一下。 首次安裝後,在啟動器(桌面左下角)搜㝷及啟動 fcitx5,然後在右下角就會見到有個新的鍵盤圖示出現。 按鍵盤圖示,滑鼠右鍵,點選configure,把Rime 加入Fcitx裏面,然後Apply → Close 然後按鍵盤圖示,滑鼠左鍵,應該就會切會成中文輸入法了。這時原本的鍵盤圖示會變成中文輸入法的圖示(或者你經Ctrl-Space也可以) 最後對著中文輸入法圖示,再滑鼠右鍵,可以選擇不同的中文輸入法,例如拼音、注意、倉頡等。 有了輸入法,有了瀏覽器,世界已經都是你的了。 下載器 JDownloader 唯一碼:org.jdownloader.JDownloader 它可以用來下載大部份隱藏文件,例如YouTube video / audio 。但需要注要,首次下載JDownloader 後,還要經過軟件內部更新,否則不能使用。(就像很多手遊,下了主程式後還要下更新檔) 其他 如果你不是長期有網絡,還需要真離線版文書處理器,還可以看看LibreOffice,WPS Office。但這些都不能保證跟windows office 百分百轉換,可能還是使用雲版的Microsoft office 365還要實際。

Spring官方教學 | Spring Certified Professional 2023
科技新知
MacauYeah・2023-11-07

筆者作為一個網頁程式開發者,使用Spring Boot開發已經有六年。從當初Spring Boot 1.x開始,查看官方Tutorial七零八落,慢慢摸索,到大改版升級2.x,都碰過不少釘。最近Spring Boot亦要升級到3.x,正式進入Java 17時代。筆者亦不斷Update自己,保持程式於一個可支援的狀態。 相對以前,現在入門Spring Boot已經比1.x年代輕鬆很多。主要前些年某些網頁開發的概念,例如REST API,已經深入行業,大家不再糾結要走傳統MVC還是RESTFul API,也使得Spring Boot這樣的Framework,可以有一個受眾比較廣的統一入門教學。 筆者最近也正式參與Spring Academy的官方教學,好好地厘清一些概念。 官方連結 https://spring.academy/paths/spring-certified-professional-2023 在讀過官方的幾個章節後,真的覺得很適合有興趣的人去看一看。主要是因為: 官方以一個經典例子作為切為點,教學REST API,In Memroy Database。它還介紹了一些簡易的HTTP Code Standard、Test Case。真的比其他民間教學更有系統性。 提供一個可以在網頁上就實驗到的Lab實習環境。那是極為重要的一件事,因為九成人,在setup java 及library dependency (maven, gradle)時,都碰釘到直接放棄。有時是因為公司工作環境比較有要求,並不允許你使用一鍵安裝的java套件及它的library dependency;有時則因為網路安全,java把你公司的firewall當作a man in the middle (MITM) attack擋了,也有時是因為你公司的firewall把java擋了。Spring Academy在一個遠端的https網頁提供實驗環境,真的比本機開發要易入門很多。 Spring Academy可要多謝vscode、code-server,及其他VM、Container技術。 在真實環境中,筆者也有自己的code-server,打包java / os cert等等,盡量減少firewall問題。 因為官方教學持續以Spring boot的最新版本作為教材,它更新的速度總比民間要快。只是官方的教學不會全面覆蓋到所有Spring project。如果大家作為Web入門的話,還是有推薦的。 在Spring boot 3.x當中,因為要求Java 版本至少為17以上,那些教材也有使用一些Java 17的新語法(Syntax),實在也令人驚喜。 基本上Java 17現在可以簡化getter / setter / switch statement,這些在開發Web的環境下都是很重複的事。在Java 11或以前,只能經過IDE去生成getter / setter等,但似始都有會一大堆Code佔據你的頁面。 官方教學及Lab環境暫時免費,除非大家很在意的修業證書,不然都可以自由免費看。 官方教學真的值得一看,雖然距離真正開發還差很遠,筆者日後若有條件,會針對官方沒有提及的內容作補充,分享一些在技術面上所需求的最少可運行配置。

Home Media「睇節目,賀台慶,領獎券」+ 10 月娛樂推介
生活在我城
Cheers!・2023-10-20

Home Media「睇節目,賀台慶,領獎券」 想同屋企人一齊感受 TVB 台慶嘅熱鬧氣氛同睇一眾藝員嘅精彩演出 ?依家只要喺活動期間睇 Home Media 嘅 TVB Anywhere 節目 ,同登記參加台慶,累積觀看時間最長嘅客戶,就有機會獲贈《萬千星輝賀台慶》入場門票 2 張,同您喜愛嘅藝員近距離接觸,仲有 $300 八佰伴現金券添 !日日睇,中獎機會越大! 立即登記:https://qrcodes.pro/YHIbFp 今期 TVB Anywhere 仲有台慶劇《香港人在北京》、《羅密歐與祝英台》,班底陣容強大,精彩好戲看不停! Home Media 10 月娛樂推介 雲遊戲:Blacknut 最新上架《New Joe & Mac - Caveman Ninja》《The Crackpet Show》等,更推出全新中文介面 ‼️,一家大細都啱玩 電影:《藍甲蟲》、《極悍巨鯊 2:深溝》緊貼戲院上架 hmvod 綜藝:芒果 TV 國際現正熱播《披荊斬棘 3》、《中餐廳》 配合 Home Media 電視盒子,一個賬號,全家盡享豐富娛樂同本地資訊!詳情:https://qrcodes.pro/I60NJ9 唔想錯過 Home Media 一系列精彩娛樂同活動 ,就快 d 去申請啦! 流動電話客戶:申請 5G 月費計劃,即送 12 個月 TVB Anywhere(原價:$68 / 月)+ 1 個月 Blackut 雲遊戲服務(原價:$98 / 月)!更享優惠價 $28 加購 hmvod / 芒果 TV 國際服務 同低至 $99 拎走 Home Media 電視盒子! 優惠詳情:https://qrcodes.pro/yQDw7G 居家光纖寬頻客戶享低至 $0 換購 Home Media 電視盒子連 24 個月 TVB Anywhere 服務(原價:$2,512),再送 2 個月 hmvod 連 12 張電影券 + 芒果 TV 國際服務! 更多優惠:https://qrcodes.pro/tMbdpn Home Media 娛樂優惠:https://qrcodes.pro/cPdSdx

自己架設Docker的共享儲存空間
科技新知
MacauYeah・2023-07-21

Docker很好用,在單機環境下真的很好用。Docker原本的設計,是為了快速迭代而設計成Image的。在一般設定下,每次新建或重建container,都會根據Image重設一下各方面的環境,包括儲存空間。重設CPU,Memory,大家都很易理解,但重設儲存空間,真的不是每一個使用情況都可以這樣。 又或者說,未必所有使用情況都會有一個第三方的儲存空間可以用。所以良心的Docker在單機環境下也有提供bind mount或是docker named volume,作為可以長期保存,不受container生死的影響,以達到長期存在Data的存在。 單機-儲存空間 單機情況下很簡單,就用一個docker compose做例子 其中html就是一個bind mount,而nginxlogs就是一個docker named volume,兩者都可以長期保存data,除非各位自己手動刪除,否則不會因為container的興亡而不見了。 但有兩個很重要的分別 bind mount,直接跟host os連接,實際上是每次folder有更新,docker都要同步host和container之間的資料。 bind mount在linux下很暢順,因為大部份docker image/container原本就是linux engine,所以folder mount真的可以互通。 bind mount在windows / mac下,就會不斷抄資料。面對大量檔案,例如node_module,就會有速度上的問題 docker named volume,就是docker 分離一些獨立空間,然後再綁到container上 相對bind mount,即使在windows / mac下,都沒有那個速度上的問題。筆者猜測,即使是獨立空間,其實本身都已經限定在linux enginx下,所以沒有需要抄資料。 但在windows / mac下,因應docker 底層建立Linux VM的技術不同,你可能沒法在windows / mac預設環境下直接讀取docker named volume。 若要讀取docker named volume,最好的做法,還是連上docker container,然後用docker cp 來抄回資料。一但抄資料,其實都會有速度上問題,不過docker cp是手動決定何時做的,不做docker cp,其實container也是可以用。 Cluster-儲存空間 雖然良心的bind mount和named volume解決了單機上的儲存問題,但到了cluster環境,就沒有可以跨機同步儲存空間的做法,要做就自己建立。 筆者也稍為研究了一下同步的問題,不過對技術真的很有要求。所以退而求其次,筆者還是選擇簡單的第三方儲存空間。就是做一個可以分享存取的NAS。 建立nfs linux下要安裝nfs其實很簡單,不過要注意資料夾和防火牆權限,以下安裝教學以ubunut 22.04為例,記得把下面的YOUR_DOCKER_NODE_ADDRESS_RANGE轉為你的真實IP段落 修改docker compose 最後,你在原來的docker-compose的docker volume上加driver_opts就大功告成。 記得把下面的YOUR_NFS_IP轉為你的真實IP