搜尋

搜尋結果

為何Python這麼熱門?
科技新知
MacauYeah・2024-08-27

在資料處理、資料科學領域,什麼是最近的AI模型,Python都是做這些事的熱門選擇。對於以前從未用過Python來處理業務的筆者來講,實在不懂為何Python會那麼大熱。不過最近,筆者實戰過後,真心覺得它是提高生產力的重要工具,而且並不限於資料科學上面,一些簡單的腳本操作也是很有優勢的。 筆者前述有討論過 型別對程式語言的重要性,到現時這一刻,筆者都會覺得【型別】是有助於長期的程式開發。而Python這個語言,大部份人都會介紹它是動態語言,可以使用弱型別,然後,就沒有其他講法了。動態弱型別,筆者一直都不認為它的根本上的原因。就像Javascript一樣,它亦發展出類靜態強型別的Typescript版本,而且它亦不因此而被人棄用。所以Python的強大,動態語言並不一最重要的原因,它也可以模疑寫出有規有距的type hinting。 或者用另一個方向問,大家覺得 Excel SpreadSheet 好用嗎?它們可以很簡易地做出資料計算、篩選。而且可以一邊做,一邊調整公式。例如要大家做一個陣列的總和,大家會想打開一個Javascript,初始化陣列的每個數字,然後寫個For迴圈去計算總和嗎?還是打開 Excel SpreadSheet,打下一欄或一列的數字,然後叫出Sum函數?筆者一定會選擇後者,不單止因為寫函數比較方便,那怕之後要調整數字,也比較方便。 大家有感受到差異嗎?筆者想表達的是,在操作 Excel SpreadSheet 我們並不是整個程式重新執行一次,我們是修改完一部份,那上看到結果。但傳統的語言,例如C、Java、那怕是Javascript,我們都難以局部地更新或執行特定某一個區塊。那怕是現在我們有hot reload,但其實我們編寫的思維,都是讓我們完整執行起一個頁面,再人手輸入,看結果。如果我們只想運行某個單一Function函數,我們只能寫test case測試,但寫test case又是一個很大的入門門檻。 但大家如果看看Python,在古早的年代,Python已經有Python shell,那就像是Linux Shell或Window CMD一樣,可以一邊寫腳本,一邊看結果。寫了10行的程式,發現在第10行引用第5行的部份有問題,修正並執行第5行後,就可以回來馬上重跑第10行的語句,就馬上有結果了。第6至9行,因為沒有關聯性,就不需要逐一重新執行,那是多麼的方便阿。道理上,我們若沒有完整執行整個程式,可能還是有一些盲點,開發重要的,需要長期維護的程式,還是要像傳統一樣,有test case,有程式進入點,整個運行。但對於臨時性的操作,看看效果,我們實在無必要寫一個原整程式。 舉個例子,假如我們臨時有需要,要取得某個政府網站的即時數據,例如澳門的停車場資訊,空位的上下限是多少,我們絕對可以用python寫幾行就取得結果,然後順便做個資料運算。我們沒有必要很嚴僅地為考慮不同數據的出現情況,我們什至可以hard code 硬編碼地計算某個Array的元素。直到突然有一天,這個操作變得恆常化,我們還是有條件把之前的python程式碼,改寫成一個規規矩矩的完整腳本,包括異常處理,函數複用。其實Javascript在改用 NodeJs 作為引擎後,我們還是可以經過 Node.js REPL,來做互動操作,只是Python Shell出現得更早,也是官方支援的功能。 Python這個臨時操作的便利,對於資訊爆炸的年代來講,實在很幫得上忙。再加上現在除了Python Shell以前,還有Jupter Notebook,讓大家可以在Web頁面上,執行像Python Shell的互動操作,對於修過特定區域的程式碼,就更加方便。這些便利,都是不是因為動態語言來創造的優勢,而是實實在在的Coding Anywhere。

Github flow 沒有提及的發佈 - 佈署 | Release - Deployment
科技新知
MacauYeah・2024-08-23

不知道之前為大家介紹的github flow,大家覺得怎樣?好用嗎?今天,筆者又來講講筆者心中認為它沒有好好給出指引的地方。 我們的信心指數,其實沒有那麼高 在前文中,經過 pull request 、 code review 、 auto test ,道理上,開發者可以做的都已經做過了,然後就是等待發佈 Release。 對於單純的庫類型的程式碼,筆者認為,的確沒有事可以再做,實務上就是直接找人其他程多員試用最新版本,看看有沒有問題。只要 main master 上,明確的表示版本號的變更,就差不多等於直接發佈。有需要提供binary版本的,就還需要觸發上載binary的流程,但這個跟 pull request 觸發 auto test 差不多, auto test 成功後就上載。 對於服務類型的程式碼,例如 Web App 等,直接發佈到正式環境還是有些不妥吧?始終會即時影響到業務,我們至少有個測試場,經用戶做實際的業務操作去驗收。但這個時機,應該是在Github flow的什麼時候做? 在原始的git flow中,有一個叫做 develop 的相對穩定分支,僅次於 main 。它是功能開發完成後第一次pull request 的地方,我們可以用這個概念來做自動發佈到測試場。但若在github flow 中加入了這個 develop uat staging 分支,其實就等於複雜地回到過去傳統的 git flow中,對好多新手來講難以接受。Github flow 的成功簡化,其實很大依賴著自動化測試。現在的測試用例,並不再限於單元測試。就連整合測試,也可以經Docker等容器化技術去做,只要我們的自動化測試有足夠信心,就可以發佈。但反觀我們的 Web App 例子,我們認為自動化測試難似涵蓋所有情境,也難以開發。所以我們還在有個時間發佈到測試場,進行人工測試。 pull request 快速迭代 筆者結合自己的經驗,配上國外討論區 Stack overflow 的內容,筆者認為Github flow上進行 pull request 後,就是最好的發佈測試場時機。所以我們需要盡快進行驗收測試,完成後在Git commit上加上Tag,以示通過驗收測試,可以發佈正式環境的版本。 不過這個模式是有一個很重要的前題假設:快速迭代。當我們驗收完成後,盡可能快地發佈到正式環境,不然會阻礙下一個功能的pull request驗收,或是覆蓋了上一個pull request的驗收環境。 用反面的例子來說明,如果我們有很多功能需要驗收,或變化很多,或存在多輪的里程碑開發,我們就不適宜那上述模式。最保險的做法,還是回到傳統的 git flow ,引入 develop uat staging 分支。但如果大家還是那麼討厭傳統 git flow,筆者還是有另一個提議。 既不想回到傳統 git flow ,但又需要慬㥀的考慮驗收發佈流程 如果開發的功能變化比較大,需要多方面協調、測試、驗收,經歷多次里程碑後,才有一個對外發佈的版本,大家可以考慮分開 Repository 做開發。例如 v1,v2的 Repository 完全獨立。 v1 是已發佈的版本,有獨立的測試場,任何即時候需要修正,就在v1的 Repository 做 pull request。 v2 則是未發佈版本,亦有獨立的測試場。加入任何新功能後,就在v2的 Repository 做 pull request,用自己專用的測試場做驗收。到 v2 正式發佈後, v1 就封存處理,再開一個 v3 作為下一個大版本的開發。這個模式,那怕在庫類型的程式碼也用得上。 這樣做的好處是 git Repository 和歷史記錄都會獨立,自動發佈的腳本程也會簡單明確一些。壞處則是 v1 v2 難以做功能對比,我們只能靠人腦記著 v1 有沒有什麼後期加入的修正和功能,需要同步移植到 v2 中 相對的,著是同一個Repository,可以利用merge 功能確保 v1 有的,v2 都己處理,只是必需要很懂處理版本衝突問題。

型別對程式語言的重要性
科技新知
MacauYeah・2024-07-08

JavaScript等程式語言的流行,好大一個原因是因為它很簡潔。而筆者認為,動態語言的特性,即是可以省略型別,是讓它簡潔的一個很大原因。動態、靜態與強型別、弱型別並一定對等,詳見Ref 動態語言的特性,就是同一個變數,在不同時候可能代表不同的數據類型,有時候是String,有時候是Integer。所以編寫時,乾脆就不寫數據類型,因為寫了也可能是白寫。 因此初學者並不需要處理大多導入import問題,也不用考慮很多compile error問題,至少程式可以運行一半,到了最後出錯的地方才停下,也就是不會因為型別問題而整個程式開不了。 不過筆者在接觸了JavaScript後,始終沒有大量使用。一來因為筆者慣用的Java,有著更大的基礎套件,改用JavaScript未必有優勢。而且動態語言還有一個長久的管理問題,我們該如何知道更新的影響有多大? 測試用例不是萬能藥 有一部份的人認為,動態語言管理難,是因為大家不愛寫測試用例。的確,若然大家寫的測試覆蓋率足夠多,一定可以預先發現問題。但筆者在Java上實踐了寫測試的習慣一段時間,依賴測試報錯,其實也是後知後覺。 IDE的界入 筆者認為,若想好好地管理程式碼,光寫測試是不夠的,我們還需要好好地讓IDE了解我們的程式碼,認它可以很有效地重構我們的程式碼。更強的IDE,還有機會可以提醒我們有一些設計上問題。 老實講,寫Java多的朋友,都可能都知道Intellij Ultimate的名字。筆者試用後,的確很有幫助。相較之下,vscode對於Java的支援,並不十分智能。但這裏筆者還覺得vscode對於java的編寫、重構、測試,在免費的情況下,都已經足夠是足夠佛心。對於網頁應用來講,vscode差的是對javascript的支援。 vscode對javascript的支援有限,其實不能怪它不夠努力。你想多一個免費的IDE怎樣去了解你的javascript程式? 我們連型別都沒有寫出來,它能怎樣推敲? 實時去模擬各種輸入?CPU又會不會耗乾?那麼寫到一半的程式碼又怎樣輸入? 直到最近筆者採用TypeScript之後,筆者看到曙光了 TypeScript 一個變相的JavaScript的靜態型別 原本的JavaScript其實也有型別的,只是不強制。若想IDE支援,需要以特定型式寫註解。但這樣寫註解,工作量並不比引用靜態型别來得輕鬆。所以最後,筆者還是覺得直接套用TypeScript,讓自己在每一次引用參數,都要好好地先了解函數的輸入輸出型別寫法。 說實在,從JavaScript到TypeScript並不輕鬆。一些原本很無腦的Axios, Promise, Vue語句,TypeScript寫起上來,都變得很複雜。但這個套用,對於IDE來講,真的很大幫忙。它就像突然讀懂了我們的程式一樣,可以跳入跳出,可以知道在多少處被引用。重構也變得更有信心,而不是等待事後測試報錯。 有一點要補充,TypeScript並不像Java那般需要完全預先宣告型別。例如函數的回傳結果,TypeScript就不會強制要求寫出型別,因為它可以有限度地猜得出來。當然,如果大家願意宣告,就更好。 總結 總括來講,型別就像厠所的衛生情況一樣。初期當然什麼都不處理也可以,但越用越久也沒有人理會,大家也不想用下去。若然大家都願意努力維持它的品質,大家會更有意願重複使用。 參考資訊 「靜態型別 vs. 動態型別」與「強型別 vs. 弱型別」 httpsblog.tarswork.compostprogramminglanguagetypesystem Typed JavaScript httpsdepthfirst.comarticles20211103typedjavascript

Beame 積極開拓國際市場 香港商人范榮彰博士太平紳士引領高質素箍牙服務 冀讓世界各地更多人受惠
CTM企業動向
范榮彰博士太平紳士・2024-05-30

由前東華三院總理香港商人范榮彰博士太平紳士創辦的 Beame 是一家香港牙科公司,致力於為客人實現健康美麗的笑容,提供更多人性化的箍牙解決方案,同時推動牙科行業的發展,並在國際舞台上擴展其業務。 Beame 擴展海外業務 提供全球高質素箍牙服務 Beame 團隊由一群資深香港醫療界人士組成,憑藉他們對牙科服務及牙齒矯正的專業知識和先進技術,Beame 在中環、K11、Times Squares、觀塘、南昌及沙田等地設有六家諮詢點,提供箍牙和其他服務諮詢及保養等服務。此外,Beame 的專業團隊擁有豐富的經驗和專業知識,他們會根據每位客戶的需求和期望,利用最新的技術和先進設備,提供個性化的治療方案,確保獲得最佳的箍牙效果。 國際級醫療設備保證品質 Beame 在深圳開設的自有光店,成為該公司在香港以外的首家分店。深圳自有光店提供全科牙科服務,包括全瓷牙齒貼面、藍光美白、植牙、洗牙等。所有療程由香港醫療團隊管理和設計,並使用國際級醫療設備,確保顧客獲得最佳的治療效果。顧客可以在香港和深圳各分店享受服務,同時獲得保養和諮詢服務,讓他們擁有健康美麗的笑容。 范榮彰致力推動牙科產業的發展 除了在香港和深圳,Beame 正在積極擴展海外業務,計劃在澳洲、澳門、台灣、新加坡、馬來西亞和泰國等地開設分店,以滿足不同地區對高質素箍牙服務的需求。這一擴張將使更多人能夠享受到方便快捷的牙齒矯型服務,同時推動牙科產業的發展,為當地經濟帶來增長。 范榮彰博士:希望能夠改善大家的口腔健康 Beame 創辦人范榮彰博士太平紳士表示:「隨著全球人口老化,牙科需求會越來越大,我們致力於提供優質的齒科服務,讓更多人了解並正視牙齒問題的重要性。我們希望能夠改善大家的口腔健康,同時亦為世界各地創造更多機會。」 Beame 的願景是成為世界領先的牙齒護理品牌,並為更多人提供優質的口腔護理服務。他們致力於改善人們的口腔健康,提升他們的自信心和生活質素。通過拓展海外業務,Beame 將為更多人帶來燦爛的笑容,同時為社會經濟發展做出積極貢獻。

BEYOND EXPO | Dr. Easy好醫師智慧醫療平台 打造澳門智慧城市
科技新知
Cheers!・2024-05-24

為推動本澳智慧醫療發展,澳門電訊打造了結合人工智能技術Dr. Easy好醫師醫療平台,澳門電訊Dr. Easy好醫師醫療平台啟動儀式在23日下午,於BEYOND國際科技創新博覽澳門電訊展館舉行! 平台啟動儀式 郵電局局長劉惠明、衛生局局長羅奕龍、澳門中聯辦經濟部助理陸上城、議員陳澤武、胡祖傑、梁孫旭、梁鴻細、鄭安庭、羅彩燕、馬耀鋒及澳門電訊行政總裁潘福禧共同參與平台啟動儀式。 澳門電訊商務副總裁湛寶儀發表 「Dr.Easy好醫師平台是澳門電訊面向醫療機構和服務使用者打造的一站式智慧醫療解決方案,提供多元化的數字管理功能、問診預約、檢查預約、遠程視像諮詢及報告查詢等功能,並內置了AI生命體徵檢測功能*,應用人工智能技術,透過面部掃描可分析身體健康數據,隨時掌握大致的身體狀況。亦期望透過該智慧醫療平台,為醫療機構及服務使用者解決現時存在的痛點、難點,打造一站式便捷高效的診療體驗。」 澳門電訊商業服務及拓展高級經理邵慶祥詳細介紹Dr. Easy好醫師平台亮點 為醫療機構提打造管理系統 實現資料雲管理 服務使用者端一鍵預約、覆診、報告查詢等功能 首批進駐澳門電訊Dr.Easy醫療平台嘅醫療機構代表 澳門明愛 歐亞口腔醫療中心 健滙醫療中心 尚越醫療中心 諾安醫療服務 工人醫療所 便民醫療中心 百利康醫療中心 九澳護養院 澳門電訊亦會繼續透過引進及自研各項智慧轉型解決方案,為醫療服務使用者打造更優質的智慧醫療服務體驗,助力澳門各界加速數字化轉型步伐,為市民打造一個智慧城市! *AI生命體徵檢測功能之所有數據不能代替醫療專業人員的臨床判斷,結果只供參考,如有需要請聯絡專業的醫療人員諮詢

2024年5月6日-5月12日
玄學星相
熊神進・2024-05-05

鼠:在经济上会出现纠纷之事,多有经济上的官司,切勿与人针锋相对,以免两败俱伤。一定要小心受到亲戚朋友的连累,不要与其合谋做违法犯罪的事情,如果对方找自己借钱,也要想办法婉拒。风水助运物:「皮休弥勒佛吊坠」,因笑佛常怀慈悲之心,以 「大肚能容」天下事的胸怀化解运势中的不利因素,「笑口常开」应对喜怒哀愁,随身佩戴更可得到弥勒佛的庇佑。 牛:一定要调整好心态,千万不要因为某些事情留下心理阴影。遇到烦心事情之时,也要及时向父母倾诉,这样能够从他们那里,得到源源不断的温暖与能量,还会对未来的生活充满希望。同时还要小心凶星,应该提高安全防范意识,以免健康受到影响。单身男只能遇上性格刚烈的女性,对方未必是自己的心仪对象。 虎:本周有解神相助,化走泄星,令你的烦恼事情逐步得到解决,宜在未来日子里多接触肖虎的人,会对你事业有帮助。因为天气变化,容易患上感冒,本周应减少应酬,早点回家休息。运势大有起色,正是奋发向上的大好时机,是多劳多得的日子,晋升、加薪之事会在未来3个月实现。晚上如果有空,请做一次烧供。 兔:今个星期的运程甚佳,因为命宫中有福星高照,所以虽然会有口舌是非,但均能逢凶化吉。在工作过程中,可能会接触到全新的工作内容,一定要提高个人的适应能力。感情运势方面,龙马活跃,感情生活丰富,要谨防失控。由于家宅运势欠佳,家中老人可能会出现一些疾病,作为小辈一定要多多关注和关心。 龙:爱侣对你体贴温柔,令你感到受宠若惊,一段刚萌芽的恋情,甜蜜温馨是理所当然,你应打稳基础,作漫长的爱情准备。本周之内会遇上贵人,大有可能为你增进财运。上班族工作期间要认真,同时做好理财工作,减少不必要的应酬。宜以和为贵,量力而为必有拨云见日之时,所有好关系都必须用心经营。 蛇:今个星期的运程颇佳,比较上星期大有起色,特别是在事业方面的发展最为可观,应该好好把握,以免错失良机。财运亨通,适合投资获利,但偏财不宜强求,应适可而止。1965年出生的属蛇人本周健康问题备受困扰,容易因为压力过大而陷入失眠局面,建议要及时调理心绪,以免陷入抑郁局面。 马:今个星期的运程甚为畅顺,但必须注意身体健康,切勿工作过劳,否则很可能得不偿失。因命宫中有众多的吉星拱照,在运程上会大有起色。本周健康运势还可以,偶尔会感到手脚发软,但只要出去动一动就马上就能恢复正常了,还是需要再加强锻炼,增强体质。 羊:本周应该多出去旅游或者是走动,这样也有助于提升个人的运势。人缘关系很糟糕,不管是与家人朋友,还是合作伙伴,都会出现很多问题,自身也会极为烦恼。本周爱情运势很不错,单身者已经完全整理好自己的情绪做好谈恋爱的准备了,很多等待已久的人有机会下手,甜甜的恋爱马上就到来。 猴:由于今个星期运势极差,建議佩帶銀六字明咒吊墮; 居所、工作环境、工作职位等有变动,学生需要多注意,因为情绪的影响导致学业退步。星期三后,工作、事业运势更差,会有人、事上的纷争,应息事宁人,以免官司临身。健康上会因为一些突发事件而受伤,所以要格外注意出行安全。 鸡:运势颇佳,只要努力付出,专心工作,定然会得到良好的回报。卧床养病的日子,也可以自发看宗教书本,私底下可以多与玄学家联系,这样也能够做到及时查漏补缺。已婚者在平时注意一下自身与异性的关系和距离,避免招惹烂桃花,多注意和爱人交流、沟通即可;未婚者本周感情运多表现理想,能找到好的情感归宿,应注意掌握,勿错失良缘。 狗:本周你需要重新评估身边人对你的价值,尽量通过请客吃饭唱K出游等途径让他们成为你的贵人,这样渡起难关来也会容易的多。本身工作已经够多,不要为了想搏取表现就连同事的工作都霸占,能力再高的人体力亦只是常人,小心捱坏身体之余,更令工作连番出错。女性朋友在消费方面要注意,不可购买太多不必要的东西,减少开支,避免入不敷出。 猪:运势颇佳,只要努力付出,专心工作,定然会得到良好的回报。本周事业上奋斗不息,努力不止,但成绩甚微。智德师傅提示如能继续坚持下去,定有一番成绩,也会因此而深受同事拥护,领导器重。1971年出生的属猪人本周的财运低迷,容易有破财的迹象,同时健康方面也不如人意,会有一些呼吸系统疾病的复发,建议要多调节饮食。

git 分支整合問題
科技新知
MacauYeah・2024-02-20

不知道大家的開發團隊、專案規模有多大,但只要系統或程式已發佈,同時又要做維護更新,git 庫都至少會有兩條分枝: 新功能 main feature 最新的穩定發佈版本 Release v1.x.x 最好的情況下,在開發完新功能之前,穩定版本都沒有需要緊急修正的地方,開發者可以專心開發新功能(main feature。然而這個情況並不能經常維持。 情況1有Bug要馬上修正 最常見到的情況,就是穩定發佈版本有瑕疵,可以經過小修小改來止血,由v1.x.x rArr; v1.x.y,這些可能對用戶來說,是沒有太大感覺的改動。不過對於開發流程,就免不了由v1.x.y整合(merge)回main時,出現修改衝突的問題。 建議 若屬於日後不再需要的改動,不需於整合到main中, 當然什麼都不用做。但若屬於必要的更新,就需要早早整合到main中。整合雖然痛苦,但延後整合沒有好處。以筆者的經驗,每次整合時有衝突,而越早整合越有條件知道該取用自動混合的那個版本。以整合工具的語言來說,就是更容易的作出use mine use theirs edit。 情況2 不同功能之間有衝突 上述情況1,已經算是可控的。主要因為穩定發佈版本都只會接受小修小改,大改都會直接在main中開當為新功能開發。當你有多個很重要的功能在不同時期被提出,而有些功能你沒有信心在下個發佈中提出,你就會選擇以獨立分支來實現不同的功能,最後選擇信心度高、權重也比較高的功能來發佈。這樣的好處是你可以有限時間先完成最必要的功能,但問題是多個功能分支之間,更容易地有衝突,後期也需要很廢心力地整合。 建議 少做資料夾層面的改動,因為git rename的功能並不是萬能的,會令很多git自動選擇版變得不可讀。筆者的經驗,就是錯把後端和前端的資料夾混在一起,令後端的一些重命名影響到前端。前端也因為有重寫的需要,對資料夾結構大改。最後結果就是很多看不懂的git自動選擇版。有一些有選對,但有一些就選錯。 可以做一些事前處理,來減經痛苦。在筆者的資料夾問題情境,在把後端將要整合的多個commit中,挑選最早前沒有命名問題的commit先整合一次。然後前端先手動模擬後端的人工命名,自行commit一次,最後再把後端剩餘的commit再做整合。這個做法不是完全解決問題,但至少可以讓use mine use theirs edit更新易理解。 而另一個建議是,縮短發佈週期,逼使其他開發中的功能越早做整合,也逼使每個功能不要做太大規模的改動。如果真的做大規模改動,就要有心理準備要多次重要的整合。 情況3 多個穩定發佈版本需要同時維護 若然大家面對的工作規模真的很大,同時有多個版運行版本,就如gitlab,每一個月都有一個新功能版本16.0.x, 16.1.x, 16.2.x,hellip; 16.9.x,但它不會強逼大家更新,對於過去一段時間的功能版本,也會推出安全性更新前述的x會不斷修正問題。 這是一個很負責任的發佈模式,不過對於開發者來講就一定很地獄。因為16.0.x的安全更新並不能無痛地整合到16.9.x中,可能每個版本重新人工修改還要來得穩健。 建議 各個分支人工修改可能更適合。最後就是取決於商業政策的考量,到底公司願意為已發佈的功能版本提供多久的支援。就以gitlab為例,其實它也只承諾維持兩三個月前的功能版本。是否會backport到多個月之前的版本,就看問題的嚴重性和backport難易度。 也分享一些筆者朋友的經驗,他們開發的是軟件跟硬件整理的軟件庫。但因為硬件有限制,例如庫的大小、算力的差異,所以最後分支多到爆炸。這也是軟硬整合的痛,問題暫時無解。除非老闆肯放棄市場。

排程執行任務 | Linux Schedule Job
科技新知
MacauYeah・2023-09-07

在Linux底下,crontab是一個最簡單建立Schedule Job的方法。大家用crontab e 就可以進入設定。 # crontab e 1 optrun.sh 其中每個星號,順序代表的是分、時、日、月、星期。上面的例子就是不論何月何日何時,只要每一分鐘就執行一次optrun.sh Singleton Job 問題是,實際情況下,你想執行程式的時間都不一定會少於1分鐘。所以你總是有機會上一個job未跑完,下一個job就開始了。為了保障自已,需要一些參考機制,去決定是否讓job開始跑。 有些情況,可能你會想用job server去做監管,但若只為單線執行的工作,起一個job server還是會增加管理上的複雜性。 最簡單的做法,就是根據不同的程式語言,使用file lock(鎖上)的機制,先上鎖,再做事。但要注意考慮有沒有出現異常情況,令你自己反鎖自己。即是你的process死了,但不懂自己解鎖,這樣以後你也不能再執行了。 在Linux Bash Shell下,就有一個很簡單的做法,就是使用flock指令。用它的最大好處,就是從OS層面下,去鎖上。只要process結束了,不論正常還是不正常結束,都會自動解鎖。 以下例子就是在執行optrun.sh前,先要取得tmprun.lockfile的鎖。如果沒法取鎖,就自動放棄執行後面的指令。 flock n tmprun.lockfile optrun.sh # crontab e 1 flock n tmprun.lockfile optrun.sh Timeout 引入singleton的概念後,其實會引發另一個問題。因為異常的情況,還有機會是不生不死,process hang。所以我們還需要設定一個最大的執行時間,讓你的process在異常的情況下,被強行清走。 例如,ping指令在linux預設是永遠不會自動停止的,可以模擬process hang的情況。如果我們想定時從外部收走ping process,就可以使用timeout指令。以下指令就是2分鐘後殺指ping process。 # in file optrun.sh timeout 2m ping localhost # to check process id, you could use # gt; ps aux grep ping # you will see two different id for ping and timeout 配合errorcode使用,你可能還會在想在timeout時送出一個email通知自已。 # in file optrun.sh timeout 2m ping localhost exitCode=$ if $exitCode eq 124 ; then echo quot;timeoutquot; # enter email alert with timeout elif $exitCode gt 0 ; then echo quot;exit with errorquot; # enter email alert with timeout else echo quot;exit normalquot; fi 配合docker使用,你可能需要考慮signal怎樣傳遞。 在筆者測試的環境中,似乎SIGTERM會被擋,也有可能是SIGTERM太強,它只把前景的docker container run收走,但其內的ping process還在docker daemon中行走。所以最後改用SIGINT,讓docker container run可以好好地把SIGINT傳入其內。 # It seems that docker captured the SIGTERM. Send SIGINT instead # in file optrun.sh timeout signal=SIGINT 10s docker container run rm pingtest c 20 exitCode=$ if $exitCode eq 124 ; then echo quot;timeoutquot; # enter email alert with timeout elif $exitCode gt 0 ; then echo quot;exit with errorquot; # enter email alert with timeout else echo quot;exit normalquot; fi Full demo, github repo cronjobWithDocker

夫妻一定會生兒女嗎?
宗教玄學
熊神進・2023-08-13

熊老師玄學信箱主持人,已經回復17000封信 讀者RUBBLR 來信: 熊師父,您好。 我是您的忠實讀者,在我中學三年級的時候,我開始收聽您在電臺的風水節目,您講解易經很簡明,我的哥哥也贊這位師傅了得。 今天我長大了,是一位二女之母,您當年叫大家建立佛化智慧家庭,可是我的丈夫不相信這些,他說孩子只是一條頑皮的精蟲,不是來什麼報恩取債,他還叫我不要迷信,可是孩子長大的過程,她們發育很好,大女兒才16歲已偷偷跟男友混上床,我很擔心,我做了很多思想工作, 當時她是聽的,但是過了一些時間,她們又胡混起來,我很難過,不知道如何做人娘親。 hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;牽涉個人隱私內容,己刪除 我想問問我的女兒是不是來取債?為什麼有些人家的子女真的很乖,是不是真的前生註定今生沒法改? 熊老師回答: 讀了妳的來信, 謝謝信任,我是這樣想,姑勿論孩子來你家是還債又或取債,妳身為她們母親,妳就要把這次「因緣」了結。 《三世書》有很多篇幅說及「十二姻緣」跟男女的作業,作是「因」,業是「果」,我們因為「無明」才有一切的苦果。 子女要跟你有緣,他她會投胎在妳肚子裡,要是跟妳沒有緣,他她即使來了,也是找妳麻煩。 我在某次「婚前輔導班」子裡,用《三世書》給大家講幾種因緣: 報恩 報怨 討債 還債。 看了妳2055字的詳細描述,我根據妳的大女兒的八字,查了《三世書》,她是符合第三種條件,但請妳不要過份敏感,我會為你們找個平衡點。 玄學家說的好女兒、孝順女,其實是過去世修來的善因,至於說討債的,就是父母過去欠他她的情、財、命,他她今生來討債。如果欠得多,你們跟他她爭吵連連,他她給你倆帶來麻煩,你很生氣。如果欠得少,你們緣份薄弱,未上大運前他她已經走了,這就是債務討清。 每次當我看墳墓風水的時候,我都會「入定」尋找這位亡者跟下一代的恩怨關係,過去世你跟她有債務,這一世遇到,她來做你女兒,將來長大了,做一些討債的事情令妳煩惱,真是活該。 母親懷孕,是神識來投胎。神識又從何來,筆者跟你說,是從「無明」來,你沒有「無明」妄動,就沒有「行」為造作,沒有行為造業就沒有造胎之「識」, 沒有造胎之「識」, 就沒有現生胚胎之「色身」,你既然動了「色身」, 讓男人在妳的身上冒犯,妳就要承擔這次「無明」。 家庭是共業,妳的丈夫跟妳同住屋簷下,他是「無明」, 沒有做好丈夫的建立佛化智慧家庭責任,大家在人道上行「十二姻緣」,從生至老,沒有好好學佛。 妳欠了女兒的債,這件因果早點知道,早點建立佛化智慧家庭,把這些債務化解,這是最善、最圓滿的方法。我們受到儒、佛的聖賢開示,新一代的男女都明白投胎不是偶然的事件,它與過去生中有密切的關係。 從八字結構學分析,妳的「食神」和「傷官」星是妳的忌神,那麼妳跟二位女兒都有先天的緣薄。我知道,妳還是很愛她,這是妳的大運還未衝子女星, 當48歲之後, 妳的辛子大運跟時柱相沖,她會因為個人行為而入獄,我亦很難過。 今天說什麼也沒意思,我認為父母跟子女的四種關係要牢記在心,無論是報恩、報怨、討債、還債,我們都要彼此尊重,不要因為自己是父母就可以欺淩子女。人與人如此,父母與子女也是,如果大家站在對立面,我們就是「無明」,「十二姻緣」就會加深我們的痛苦。

陳康妮:如何回答? 如果孩子問你人生的意義是什麼?
文化創意
陳康妮・2023-06-14

人生的意義是一個很深奧的問題,不同的人可能有不同的答案。作為一個澳門教育學者,我會嘗試用一種簡單而親切的方式,來回答孩子的這個問題。 首先,我會告訴孩子,人生的意義並不是一個固定的東西,而是一個可以隨著時間和經歷而變化的東西。每個人都有自己的人生故事,每個故事都有自己的主題和重點。有些人可能覺得人生的意義是幸福,有些人可能覺得人生的意義是貢獻,有些人可能覺得人生的意義是成長,有些人可能覺得人生的意義是愛。沒有一個答案是絕對正確或錯誤的,只要你能找到讓你感到滿足和有價值的東西,就是你的人生意義。 其次,我會告訴孩子,人生的意義並不是一個可以輕易地給出或接受的東西,而是一個需要自己去探索和發現的東西。每個人都有自己的興趣和特長,每個人都有自己的夢想和目標,每個人都有自己的價值觀和信念。你可以通過嘗試不同的事情,認識不同的人,學習不同的知識,體驗不同的感受,來發現你喜歡什麼,你想要什麼,你相信什麼。你也可以通過反思自己的行為和選擇,感受自己的喜怒哀樂,聽取他人的意見和建議,來了解你是誰,你從哪裡來,你要去哪裡。這個過程可能會很長也可能會很短,可能會很順利也可能會很困難,但最重要的是要保持好奇和開放的心態,不要害怕嘗試和失敗,也不要放棄尋找和改變。 最後,我會告訴孩子,人生的意義並不是一個可以獨自完成或享受的東西,而是一個需要與他人共享和交流的東西。每個人都是社會中的一員,每個人都需要與他人建立關係和互動。你可以通過分享你的想法和感受,聽取他人的故事和經驗,給予他人幫助和支持,接受他人關心和尊重,來豐富你的人生意義。你也可以通過參與社會活動和公益事業,關注社會問題和環境保護,負起社會責任和公民義務,貢獻社會福祉和人類進步,來擴展你的人生意義。這樣,你不僅會讓自己的人生更有意義,也會讓他人的人生更有意義。 總之,我會告訴孩子,人生的意義是一個可以隨著時間和經歷而變化的東西,是一個需要自己去探索和發現的東西,也是一個需要與他人共享和交流的東西。我會鼓勵孩子,不要急於找到一個確定的答案,而是要享受尋找的過程,不要害怕遇到困難和挑戰,而是要勇於面對和克服,不要孤單地走完自己的路,而是要與他人一起走。我會相信孩子,有能力找到自己的人生意義,也有能力實現自己的人生價值。 陳康妮Miss Connie Chan專注於青少年LCP教育學習力生涯規劃積極心理學。)英國倫敦大學心理學學士澳洲墨爾本大學教育管理學碩士大學講師澳門資深教育學者澳門作家(書名:澳門教育創新)

陳康妮:澳門如何打造成為“可持續發展之都”?
文化創意
陳康妮・2022-11-07

聯合國可持續發展研究院把澳門作為ldquo;可持續發展之都rdquo;,並以ldquo;智慧學習rdquo;為澳門的可持續發展注入新的活力。澳門與全球的聯繫日益緊密,交流合作日益密切,可持續發展教育已經成為全國乃至全球的一個重大問題。 持續教育是實現可持續發展的目標。持續教育是一種世界性的觀念,其目標是人與自然、社會與人的和諧相處、人與社會的可持續發展,它對經濟全面協調可持續發展具有十分重要意義。澳門大學生持續教育活動具有新穎、內容豐富、形式多樣的特點,使其能夠從內容、觀念等方面促進學生對可持續發展的認識和理解。持續的教育實踐,為澳門社會的基礎教育提供了許多可創新、可推廣、可持續發展的經驗。至於澳門,在ldquo;一國兩制rdquo;的框架下,澳門作為一個旅遊、娛樂和國際化的大都市;因此,要充分發揮澳門ldquo;一國兩制rdquo;核心示範區、粵港澳大灣區的重要組成部分和國際窗口的作用,就必須從可持續發展的教育入手,推動澳門的全面發展。 2022年,根據聯合國的可持續發展思想,澳門數學教育知識教育思維融入到教育和教學中,展示了各專業智慧、合作精神和創造性思維。 把創新數學引入學校,數學融入生活,讓同學們對澳門數學教育的興趣更加濃厚。澳門數學教育節是政府主辦的,其宗旨是ldquo;澳門數學教育系文化,發展澳門數學教育系,回歸後提高澳門數學教育rdquo;。澳門澳門數學教育會、澳門數學教育發展中心、教育督導局等部門,積極推動澳門數學教育進校園,舉辦以ldquo;澳門數學教育系發展與回歸後澳門數學教育rdquo;主題的系列活動hellip;hellip;澳門數學教育系亦成為一個重要的澳門數學教育教學基地。澳門數學教育課程標準得到了政府的大力支持,澳門的學生從小學到中學,都有一個全面的發展的需求,讓學生們遊戲化學習。曾有多名國際奧數優秀者前往澳門參加澳門數學教育活動,他們除了與大家分享自己的經驗外,還將自己的親身經歷講述給澳門的學生及家長,讓他們對澳門數學教育產生興趣,推動澳門數學教育事業的發展。另外,激發學生對澳門數學教育的興趣,使其對澳門數學教育產生積極性和主動性,能自主學習,提升學生的學術抱負。 【作者簡介】陳康妮 Miss Connie澳門科技大學講師澳州墨爾本大學主修高等教育管理學澳門高等教育管理學專家(Digital Educator)澳門培訓師 (Digital Trainer)澳門教育專欄作家 (Digital Writer 全球職涯發展師從事高等教育管理培訓工作26年

真命天子, 人生原來只是一場夢
宗教玄學
熊神進・2022-10-11

張先生的棄妻, 毀了他的人生。23年前, 他來找過筆者, 筆者當年很不客氣告訴他二件事: 1 晚年孤獨。 八字日支婚姻宮沖子女宮,我說他的婚姻出了問題他當年年過50歲,同時他的子女宮有刑傷,這力度很大, 不利子女關係。 2 沒有命天子。 破日出生, 支沖配偶宮, 這一生只能找個伴結婚,婚後建立佛化智慧家庭,平平淡淡過一生,至於ldquo;他她是不是我的真命天子rdquo;ldquo;我的真命天子什麼時候出現rdquo;,請不要問。 張先生年輕時在飯店做廚師,中年結婚, 有一個女兒,本來這樣的小家庭要求不高的話, 等兒子成家後,含飴弄孫,晚年兩老安順是公式, 可是, 人生哪有永恆的公式, 婚姻就是恩怨累積, 如果沒有前生的欠下, 今生男女又為何相抱入睡? 張先生找我的時候,正好是他的八字大運遇到孽緣日子, 他結識了一個來自內地的女士,女士年輕他25年,他自認這女士是他的真命天子。 我當天打開他的命盤, 開動輪脈,浮現幾句話「戶屍藏白河,口含泉下石」,我已經知道他的子女緣薄,死前流淚。他認識的女士是前生他欠下的,女士和他二人都有家庭,為了跟女士在一起,張先生拋棄法妻,凈身出戶,選擇將女兒留給前妻撫養 hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;。 我把命盤知道的都告訴了他,我說 ldquo;你的前妻是不會原諒你, 你的新歡亦會背叛你。rdquo;他有點不開心,一言不合便離開了。 張太沒有正式和他離婚, 張先生和女士搬了去「山西」生活, 還開了一間火鍋店, 聽說生意火紅, 早幾年他托林小姐送了一箱火鍋湯料給我, 感恩。日子一天天過去,很快一晃就十幾年, 張先生逐漸變老,身體也大不如前,原先還可以做點小生意, 後是因為肺癌,已經力不從心,最後他回老家中山過晚年,那女人沒有伴他一起。 在老家, 他去找前妻及女兒, 兩人的關係仍然很糟糕。張先生的內心受到委屈,他事隔20年再度打電話給我求助。 電話中, 他說自己的脾氣性格變化大,甚至有過激行為,試過家暴,他自己也接受不了, 最後兩人長達20年的男女朋友關係就此畫上了句號。 我從他的說話可以知道他內心的悲痛和崩潰,年老了,又患上高危病, 他多次說很後悔當年沒有聽我的指點, 明知道不是真命天子, 也要迷信愛情, 悟得太晚太晚了。 我沒有說話, 總是耐心聆聽, 聆聽別人的故事, 聆聽來自天地間的真情回響, 把一句又一句的祝福送給對方。我把電話筒放下, 燒了一炷「阿彌陀佛贖罪香」, 我信命, 但我不迷, 我認命, 但我不從。我想了幾個問題, 大家也一起想想吧: 1 如何面對當年跟你結婚的妻子及女兒? 2 這麼多年,對自己家人造成的巨大傷痛又如何彌補呢? 成年人的世界,要明白婚姻是一場業, 前生欠的, 今生怎可能不還?癡男怨女相信感情,但也要明白ldquo;什麼是自己需要的rdquo;。 我非常理解「真命天子」的重要,但在玄學角度,「真命天子」是不爭吵,終生相敬相愛,他們,不達標,我不能說他跟那位女士是真命天子,只能衷心祝福他,來生再遇「真命天子」。 公共微信 macaumasterxiong 私人微信 macaumickey

陳康妮:後疫情時代,生涯規劃教育更需要個性化
文化創意
陳康妮・2022-10-11

生涯規劃教育需要更個性化 自2022年疫情後,大學畢業生越來越難找工作。甚至出現畢業之後即失業的現象。因此很多大學生對此感到迷惘。大部份畢業生會選擇繼續升學修讀碩士課。選修科目由學士至碩士卻又十分單一。同時,面對第四次工業革命(All in Digital , 有部份工作會被人工智慧替代,或者消失。面對這種現象,建議同學有跨科能力,同時培養多個技能,併且對自己的生涯進行盡早的規劃。 生涯規劃要全面 因此,需重視學生的生涯規劃教育。需要更新教育理念,通過教育、引導、輔導、實踐等一繫列教育措施,把學生塑造成適應社會、全面發展的創新型人才的教育過程,不但重視貼近學生的生活實際和就業需要,更重視學生綜合能力的提升和未來職業的發展。在職業指導人員配備、設施建設、資金投入等方面需加大力度。 生涯規劃教育需要個性化 生涯規劃意義在於尋找適合自身發展需要職業,實現個體與職業匹配,體現個體價值最大化。開展ldquo;個性化rdquo;職業生涯規劃指導是基於ldquo;人職匹配rdquo;理論對學生開展形式多樣職業生涯規劃教育,幫助學生確立適合自己特質職業目標與職業取嚮,並制定可行職業生涯路線。 生涯教育的機構都擁有職業化、專業化、高素質的師資隊伍,相關教育和輔導人員都具有教育學或心理學的碩士或博士學位。所有人員都要有培訓資格證書或經過考試達標才能上崗,有些甚至擁有不同行業35年以上的實際工作經歷。專業性的師資隊伍為職業生涯教育實務工作提供了重要的人力資源支撐。 因此我們的生涯規劃教育需要從學生本身出發,可以通過科學的測試繫統來瞭解學生的個性,讓學生充分瞭解自身的情況,同時瞭解各個專業的情況,讓他們對生涯有繫統的認識,同時教師對學生的生涯規劃應具有充分的個性化。 生涯規劃不僅對學生來說很重要,對每個人來說也很重要。只有做到充分,全面,以及個性化具有針對性的生涯規劃,有國際視野,培養跨科能力和多個技能。有同理心,和領導才能,社交能力,才能更大地發揮自己的長處,對社會的發展提供貢獻。 【作者簡介】 陳康妮 Miss Connie 澳門科技大學講師 澳州墨爾本大學主修教育管理學 澳門教育管理學專家澳門國際培訓師澳門作家(教育兒童文學)澳門教育專欄作家全球職涯發展師 從事教育管理培訓工作26年

愛情鎖, 鎖住戀人的心
宗教玄學
熊神進・2022-09-09

#愛情禱告# 姻緣是5百年前天註定, 既然都是天註定了, 那麼, 我們還要「怕」什麼? 愛情世界裡不存在「怕」與「不怕」, 只有彼此「包容」「珍惜」。 佛說眾生平等, 你要是沒有前生的欠下, 今生就不會跟他她相遇, 因此今生的丈夫妻子, 就是前生你欠他她的, 又或他她今生來答謝你。 答謝你的形式有3種: 旺你。你跟他她有了身體接觸, 事業、財運好上來。 助你。任勞任怨照顧家庭, 是你背後的支柱。 跟你共修。 小愛是痛苦, 當我們愛得瘋顛的時候, 我們就想方設法去維繫那段感情, 而吉普賽的玄學家都有一套鎖男人心的妙法, 這就是「愛情鎖」。「愛情鎖」是西方情侶認為它可以把戀人鎖在一起, 因此很多情侶把它掛在橋樑,或欄幹、或其他公共設施筆者見過有些人掛火車站鐵欄。在筆者經驗中, 「愛情鎖」尺寸愈小, 愈能把二人感情扣緊, 因此我們不要追求奇形怪狀的鎖, 雖然有些鎖是沒有心型標誌的, 但只要符合風水要求, 有風水師傅祝福就可以。 「愛情鎖」並不是中國玄學家發明, 它是有故事的,一戰之前, The Republic of Serbia國家裡, 有一條「至愛橋」(Most Ljubavi)。當時,鎮上有一位女教師叫Nada, 她跟一位軍官Relja在熱戀中, 後來男友被徵召前往希臘打仗,打仗期間愛上一名來自Corfu的女孩, 不願回國。Nada知道後,心碎而死。當地女孩們為紀念這段故事,並表達女生對愛情的專注,她們開始將鐫有自己與戀人姓名的鎖掛在Most Ljubavi的橋上,冀以祝福這神聖愛情。塞爾維亞女詩人德珊卡middot;馬克西莫維奇在她的愛情詩歌Molitva za ljubav提過這「愛情鎖」, 並為愛情歌頌。 風水上的「愛情鎖」沒有鑰匙打開, 為什麼?答案很簡單, 就是我們相信師傅加持的時候把戀人的姓名念了上去, 二人就深深扣住, 一生不分不離, 這才是「愛情鎖」的奧妙。 掛鎖是需要位置嗎?筆者不建議把鎖掛在戶外因為有情侶二人資料, 女生可以掛在窗簾上, 床頭櫃上, 二人照片架上, 反正掛在臥室就是了。已婚和未婚都可以請的。 假如, 我只是說假如, 如果掛了「愛情鎖」的情侶夫妻最終分手, 那麼, 「愛情鎖」有3種方式處理: 送去寺廟, 用火化去。不是把鎖燒溶, 只是用香火燒去靈 埋藏在花盆裡、泥土裡。 交還給玄學家代處理。 微信 macaumickey 公共微信 macaumasterxiong