搜尋

搜尋結果

Coding的AI輔能2 | Ai 寫測試用例
科技新知
MacauYeah・2026-01-21

繼之前筆者介紹使用AI Chat問一些技術問題後,筆者亦試著用AI直接參考code的改動。 先講結論 目前筆者只針對自己熟悉的技術,叫AI幫忙做事。那怕它做錯,我也有條件驗證及修正。而結果是,。 優點:它的確有幫上忙,省了我一些時間。省時不多,但有省得不多。總比全人力Google來得舒服。 缺點:很慢,有點鈍。它的答案也可能很直觀,需要手動再調整。 寫測試 為免一下子挑戰太大,筆者先從寫測試開始。使用一個現有的專案,去掉secret等敏感資訊,然後針對新做的function,叫GitHub Copilot 幫忙寫Test Case。Copilot Agent就會開始檢驗你現有的測試,學著你之前的風格,為新的function寫測試。Copilot會結合你現有的程式,也了解一些框架的知識,例如Hibernate Entity, Repository之間的關係,試著寫一個符合你剛才文字表述的邏輯。就是因為這也是一個整體掃瞄和學習的過程,筆者覺得不論付費還是免費的AI額度,可能都會一樣慢。 為什麼要在這個地方上使用AI幫忙呢? 因為Test Case中,通常因應不同的情況,有不同的預設值。很多時,Test Case相似,又無法直接覆用預設值。所以找AI幫忙起草,後期自己再修正一些,總比全力自己設計要省心一點。 Maven pom依賴升級 筆者亦都有試過找GitHub Copilot 解決一些因版本升級帶來的依賴不相容的問題。同樣地,筆者對於這些問題,有一定的了解,只是不想每個版本逐個比較。筆者想靠 Agent 找到相近或相容的版本,結果算做得不錯。這些問題本身沒有難到需要大量Google去做資料搜集,但至少Troubleshoot時,要回憶幾個不同的maven指令。平常pom 版本分析的指令很少機會會用,一時三刻要重新好好理解一下,也是費神。這個場境,似乎AI也勝任,自己最後驗證也簡單。就像解一元多次方程式一樣,找解很費神,但驗證就很簡單。那怕驗證時真要追蹤 pom file,也有IDE幫忙。 總括來講,筆者沒有叫AI大量創作,在控制問題範圍的情況下,免費額度的GitHub Copilot也能找到一些幫助。

Coding的AI輔能
手機‧電玩
MacauYeah・2025-12-20

早排跟一位外國的朋友聊天,發現對方公司大力地推動開發工作與AI結合,而且實務上亦幫到忙,可以解放生産力。 既然大家在AI上有得益,筆者亦試用一下。就礙於安全性問題,目前筆者暫時都經過chatbot的發散問題的方式,問AI取得方向性的建議。以下,筆者就分享一下自己的使用心得。 Github Copilot Chat 道理上可以直接安裝VSCode上,但不知道是否不版本更新問題。筆者的Ubuntu 24.04 VSCode 無法運行。反而匯出vsix 後,筆者的codeserver (open source VSCode) 可以運行。 有相同問題的朋友,可以留言找codeserver的詳細安裝方式。 初次使用下,GPT-5 mini 的性能不錯。作為發散問題,可以幫筆者快速地梳理筆者想要了解的技術。(前題是這個技術很成熟,只是筆者不太了解) 例如:筆者會問它關於一些 builder pattern 的必要性。與原本的做法有什麼差異。通過一輪來回對答,筆者對於使用情境也有一個更全面的了解。相對於傳統,筆者要多輪Google,之後再在腦海中梳理再追問,的確快好多。 GitHub Copilot Chat 唯一的問題是,免費的額度需要每個月才會補充。長期用需要付上月費,而且它內置的Model並不包括 DeepSeeks 和 Claude。 我們可以經API KEY隨時加的外部的Model,不過這就等於我們需要多頭付費,GitHub 充一份錢,外部算力也是。 Poe.com 因為筆者暫時也只是使用開放式問題,做一些思維上的整理。筆者還試過 Poe 的第三方Claude Bot。除了策略問題外,範例寫Code效果也行。(當然是限制在筆者未了解,但其實已面世很久的技術。如果好像現在問它一個spring boot 4的問題,就不太推薦) 由於不是直接由Bot改Code,所以算力消耗不高,Poe也每日補充免費額度,可以更方便用來試水看看。 還想用AI嗎? 筆者直接給答案,想,很想。不過這並不代表我們就輕鬆很多。 對於傳統開發框架,我們還是要先理解、學習。就算未來筆者試用Bot生成Code,筆者還是要負責驗證的部份。驗證的能力,其實就是基於過去的理解和學習。面對一些新問題,筆者還是需要去官方網站找實際的資料、範例,以判斷AI生成的結論是否合理。也依靠這些資訊去修正AI的結果。 對於筆者已知的問題,若筆者過去的專案已有答案,筆者還是寧願自行複制貼上,去做一些手動修改,去適配新的場景,因為這需要的驗證工作量還更少,風險更低。

如果把一款課金手遊當成單機speedrun遊戲玩會怎樣?03
手機‧電玩
MacauYeah・2025-05-19

前兩期筆者分享了前個4個故事線的心得,(連結一、連結二)。本篇分享一些素材關卡及挑戰關卡的情況 之前一直著重解主線,但如果主線無法突破,團素材也是無可以避免的事。首先我們簡單講一講這遊戲的最基本素材 開發素材 通過主線故事取得,可以自動重複刷,但效率很低。解主線時,每一關若得到三星評價,每天可以跳過首三場的重複刷,直接用體力換素材。第四次需要用鑽石(免費或付費的課金道具)重置數次,或者當作普通遊戲,掛機自動刷 基本等級強化素材 分為機體強化、角色強化、支援人員強化,可以經素材關卡取得,但一天只能打三場,不論使用跳過還是掛機刷。也可以隨時間經過,基地會補足一些免費的強化素材。 資本 多種取得方式,但因為通常在資本用完之前,開發或強化素材已經用完。沒有很特別研究它的消耗性。 挑戰關卡-永恆之路 現時筆者經過團素材,升級必要機體,再去通關少量的故事-Hard關卡或挑戰永恆之路Normal關卡,目的是解新手任務,因為完成它可以取得GQX的突破界限(三),突破後會有40%增幅。不過跟前述一樣,這並不一定是最優解,因為GQX是攻擊屬性,未來還要計算一下,是否多台的支緩屬性機體,可以堆到更多發攻擊。 難題 因為之前的Speedrun規則限制,我們無法經過鑽石買體力或重置跳過次數,我們若想取得開發素材,只能盡量在不同的主線中關卡中最得三星評價,取得定量的開發素材。而且等級強化素材的機制,一天有上限,所以若真要Speedrun的話,不可能依靠它們。但現時暫時無解,只能先用正規方式體驗一次遊戲,再計算一下目標機體的最低等級要求,再倒推開發素材的最低要求。 就筆者現時對遊戲機制的了解,Speedrun時,可能只開發SR機體,並突破N或R系列的機體,以達到加成效果。

Swarm Mode 上線番外篇:Ceph
科技新知
MacauYeah・2024-08-20

在預設Docker和K8s的容器主導世界裏面,其實一直都缺少了直觀的儲存空間。當你的程序需要讀寫故定的來源資料,該來源就必需是外部的穩定儲存空間,例如是資料庫、NFS。但資料庫、NFS等,要做到真的正穩定,其實就要走Cluster(叢集)模式,確保它們自己本身不是做成single point of failure (單點故障)的元兇。 坊間,只要付得起錢,其實找個穩定的資料庫或NFS,也是有的。但如果你像筆者一樣,只有一塊或多塊【鐵】,就要試試開源的儲存引擎Ceph Storage。 Ceph Storage,有自己特有的CephFS格式,但也支援NFS https://docs.ceph.com/en/quincy/cephadm/install/。也就是,只要我們有足夠多人力,道理上可以自己用實體機去模擬一個穩定的NFS。 因為只是試裝,筆者暫時只用VM來測試,完整的安裝script,可以在這裏找到。script使用Multipass VM,大家有條件的話,可以使用其他VM引擎來看重複。以下是一些官網上沒有提的重點: Ubuntu 24.04 還未能正式使用。在筆者做POC的當是,Ceph v18 在 Ubuntu 24.04上需要先解決,即使大家使用Curl base下載 binary,也未必能成功。 筆者成功測的版本是 Ubuntu 22.04 + Ceph v17,全使用Ubuntu 發佈的內置版本。但大家也要留意自己的Ubuntu apt 有沒有更新到最新版,過去的 cephadm,引用的container image url也變更。記得更新到v17 的最新版,cephadm 指令才能成功取得image。 在官方說明文件的【Deploying a new Ceph cluster】中的【Adding Hosts】https://docs.ceph.com/en/reef/cephadm/install/#adding-hosts 節章可能有些誤導,大家應該要看 【Host Management】中的【Adding Hosts】 https://docs.ceph.com/en/reef/cephadm/host-management/#cephadm-adding-hosts 在每個節點內,可以直觀地連接地Ceph Dashboard,但若大家需要Port Forword,要注意你的Network Interface,筆者就只能經過預設的IPv4的public ip 進行ssh port forward,不能經過0.0.0.0。 Script 位置 https://github.com/macauyeah/ubuntuPackerImage/blob/main/initCephCluster.sh

何謂 Infrastructure as code - IaC
科技新知
MacauYeah・2024-06-07

在雲端服務出現後,好多新的名字,或許大家都聽過,筆者也稍為再簡介一下。 Software as a Service (Saas)。就像我們的Web App,不用下載體件,可以直接經雲進行業務操作。 Platform as a service (Paas)。這個概念可能最含糊,筆者理解就是,雲端供應商提供一些底層的軟件,供IT人使用。像是資料庫,Web Engine。 Infrastructure as a Service (Iaas)。這個更底層,雲端供應商給出CPU, IP, Memory, Storage等,頂多就再多個預安裝OS的選項。IT人自己去配搭使用。 多得這些彈性服務,雲端應用才真的跟過去租用實體伺服器有所差異。 但對於IT人來講,要使用這麼多不同的服務,實在也不簡單。對於IT消費方,用錢換來實體硬件的靈活性,但因為硬件沒有邊界之後,軟件的量就暴增。管理也不能說是很方便。 在Docker, Kubernetes等Container(容器)出現後,又為這些管理問題帶來另一種希望,就是Infrastructure as code - IaC。它的目標是,管理基礎設施,要像管理原始碼一樣,checkout 就可以回覆到指定狀態。 初聽之下,大家可能覺得好玄,但其實這個概念,在之前筆者的Docker 教學中,已經有出現過。Docker compose 、Docker stack 指令,它們都是基於yaml檔的IaC。 當筆者更新了yaml 檔,執行一次stack deploy ,docker 就會對比之前狀態,如果replica(分身)不夠多,就自動增加所欠數量,如果image 也更新了,就排隊輪流重起換image 。最重要的是,當我們checkout 舊的yaml 檔,回到過去某個狀況,只要還是執行同一句stack deploy ,系統就自然減少所需的replica數量,下戴過去的image。這就代表,我們對於container 構建而成的環境,都可以放入Git等版本控制中,整個管理模式,就像管理程式碼一樣(GitOps)。 對於更進階的Kubernetes更是如些,除了container外,多種不同的network,storage配置,都通過yaml檔進行控制。這樣,架構即使複雜,但只少可以測試、重現和管理。還有一個,它比Docker stack要強的是,它某程度上支緩刪除的概念。雖然不完全,但總比完全沒有方便。 這個IoC的概念,可能還未達到一定廣泛地應用的階段,但它的核心在於,基建項目有檢測試差異的功能,自動去因為這個差異去加或減資源。用Programmer的講法,就是系統有Diff的功能,自動多除少補。

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

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

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還要實際。

澳門教育家陳康妮:如何成為不一樣的全球收納師?
文化創意
陳康妮・2020-12-29

【作者簡介】陳康妮 Miss Connie澳門科技大學講師澳州墨爾本大學主修高等教育管理學澳門高等教育管理學專家(Digital Educator)澳門培訓師 (Digital Trainer)澳門教育專欄作家 (Digital Writer )全球職涯發展師從事高等教育管理培訓工作十七年 斷捨離不單是丟棄物品,學習過程根治囤物習慣。教課時指導大學生減少雜物的空間養成人生好習慣。斷捨離讓大學生學會找出消費的盲點,不再盲目線上消費。教課時提醒大學生明白物資跌價和貶值。其實根本用不著那麼多。上一代經濟學是以物質視作資產。大學生喜歡買名牌手袋衣服波鞋。事實上物品堆在家中變成貶值和負債。學會好好使用家中閒置物品。未來全球新世代是共享資源。舉例,一部全新Kindle 閲讀電子書的二手價可能不到500元,若你多用它吸收創新觀點,你得到的就是無限知識。教育管理學中有提及「80/20法則」,原則適用於閑置物管理:未來人類所擁有的物品有80%都用不上。學習管理閑置物品。省下多餘開銷。未來人類的房子大換小,房貸壓力減輕。收納空間變少,家里少了閑置物居住空間舒服容易維持。減少支出一舉兩得。老師2020年與你們走過一年澳門斷捨離減法的曰子,將不必要的閑置物與舊習慣停留在2020年。進入2021年全新的一年,會繼續指導同學給自己一個全新的一年!澳門的大學同學畀心機!