潮流特區

焦點文章

「心寒影滙2」大人細路齊齊玩盡Halloween!

創意生活
Cheers!・2025-10-08

2025嘅萬聖節,澳門新濠影滙為您準備好「驚嚇」同「歡樂」雙重體驗~膽大王必挑戰嘅「心寒片場」可以一站式體驗以七大電影為主題的解謎鬼屋,沉浸式感受被鬼嚇住動腦!一家大細都啱玩嘅「玩『懼』萬聖節」Toy Story 主題攤位遊戲、面部彩繪、免費爆谷同「Trick or Treat」等緊您! 9月19日至11月2日,無論您係膽大王定係家庭樂,總有一樣啱您玩! 門票現已發售,立即預訂:https://s.ctm.net/jpvOc 心寒片場 (Creepy Studio) |解謎鬼屋等您體驗 平時睇鬼片就多,親身被鬼追您又試過未?今個萬聖節,新濠影滙「心寒片場」解謎鬼屋強勢回歸!七大恐怖電影主題輪住嚇您 —《娃鬼回魂》、《鬼新娘迎親》、《邪靈娃娃》…… 一邊解謎一邊逃出,包您嚇到尖叫唔停口! 日期:2025年9月19日至11月2日(逢星期五至日)時段: 下午 15:00 - 19:00(最後入場 18:30) 晚上 19:00 - 23:00(最後入場 22:30) 地點:澳門新濠影滙一樓(巨星酒廊對面) 膽大王想獨闖「心寒片場」?標準門票MOP $144即刻出發,新濠會員更可享9折優惠!如果自問「膽細細又驚又要玩」,不如拉埋班FD一齊挑戰四人行套票,MOP 444(原價MOP $576)平均每人只需MOP $111,抵玩又刺激~ 專程從香港過來玩?咁就一定要訂「港澳船票套票」啦!MOP $404即包「心寒片場」門票1張同香港澳門來回船票1套(「香港-澳門」船票僅限於門票當天或提前一日使用;「澳門-香港」需於門票當日計算七日內來使用。),原價成MOP $584,而家慳咗成百幾蚊真係超值! 玩完驚到餓?我哋幫您諗埋~「心寒片場」星滙自助午餐套票 MOP $404(原價MOP $538),包「心寒片場」門票同自助午餐1位 (*僅限門票當日或翌日使用) ;或者選擇「嘉宴」餐飲禮券套票 MOP 404(原價MOP $544),包「心寒片場」門票同MOP $400餐飲禮券,等您可以盡情補充能量!(*僅限活動期間使用) 無論獨闖、組隊、定係遠道而來,總有一套啱您玩!立即預訂:https://s.ctm.net/jpvOc 玩「懼」萬聖節|一家大細放心玩~遊戲攤位+面部彩繪+免費爆谷! 萬聖節小朋友Cos得咁得意,點可以唔帶佢哋出嚟威?今個萬聖節就去「澳門新濠影滙一樓時代廣場」!場內設有多個《反斗奇兵》主題攤位遊戲,MOP$20換一個遊戲代幣,挑戰成功即有機會贏得Toy Story獨家禮品,大人細路都玩得開心! 新濠會員尊享優惠: MOP $200 換10個遊戲代幣,免費送「反斗奇兵三眼仔糖果桶」,小朋友可以拎住去Trick or Treat啦! 面部彩繪體驗:用2個遊戲代幣,即可為小朋友畫超應節嘅萬聖節彩繪,可愛定恐怖任您揀! 免費爆谷派發:喺時代廣場(DFS 附近)仲有免費派發爆谷,首200名客人更可獲《反斗奇兵》主題爆谷,送完即止! 遊戲攤位開放時間:2025年9月19日至11月2日(逢星期五至日) 時間:13:00 - 21:00 (面部彩繪體驗 & 爆谷派發時間:13:00 – 18:00 ) 地點:澳門新濠影滙1樓時代廣場 Trick or Treat?|糖果大放送! 小朋友最愛環節嚟啦!9月19日至11月2日期間(每日都有!),只要喺新濠影滙精選商戶門口大叫「Trick or Treat?」,即可免費拎糖!實現糖果大豐收~ 萬聖節點止有得玩?新濠影滙「搞怪美食」驚喜登場! 玩到肚餓?唔使驚!新濠影滙四間餐廳齊推萬聖節主題限定套餐,搞怪得黎又好味,絕對係視覺與味覺嘅雙重享受~ 載運美式餐室嘅木乃伊開心套餐 / 骷髏骨頭開心套餐 / 惡魔魅影開心套餐,隨餐仲送萬聖節公仔掛飾,即時補充您係鬼屋尖叫流失嘅能量! 甜品控必衝羅浮餅廊及輕食嘅造型蛋糕, 小編最期待嘅就係「骷髏朱古力紅桑子蛋糕」同「紅桑子十字架丹麥 」,造型驚悚但味道驚喜,保證您相機食先! 想同朋友Chill 住打卡? 巨星酒廊萬聖節Tea Set絕對唔輸蝕 — 「怪獸之眼」、「吸血南瓜」、「木乃伊手指」、「女巫紅寶石」… ……款款精緻得嚟帶點詭異,包您一邊驚一邊笑! 最後當然唔少得星滙餐廳自助餐,多款萬聖主題美食任您放題,仲有一系列可愛到「嚇死人」嘅甜品,等您視覺同味覺同時被攻擊! 驚聲睇好戲|萬聖節電影優惠 喺鬼屋尖叫完,點可以唔睇返場戲壓壓驚?活動期間憑當日「心寒片場」門票,或者著住萬聖節服飾,去「影滙戲院」買飛即享: 第二張戲飛只要 MOP 60元! (即場出示當日「心寒片場」門票或穿著萬聖節主題服飾即享優惠) 一邊食爆谷一邊睇戲,萬聖節之旅完美收官~ 活動日期:2025年9月19日至11月2日地點:澳門新濠影滙戲院票務處 今個萬聖節唔使諗去邊,新濠影滙包大人同細路盡興而歸!記得約實朋友、帶埋一家大細嚟玩啦!

最新文章

Ubuntu 的簡易日常更新

科技新知
MacauYeah・2025-12-17

早陣子跟新認識的朋友聊天,聽到他們因為要轉伺服器平台,煩惱如何做作業系統層面的定期更新。筆者亦都分享一下自己是如何做 Ubuntu OS 層面的定期維護。 沒錢,就用最原始的方式解決 因為Ubuntu也算是常見的linux品牌,所以基本有有商用軟件可以偵測OS的狀態,並針對它推送更新。不過如果你像筆者一樣,是個貧窮的革命家,那就只有土炮一點自己做鏡像點及做測試。 建立一個 ubuntu 的 deb 包 mirror。手動單次地用步 mirror,確保自己其他 server 同一個時間段都只會取得同一個更新。 停了 ubuntu 的 kernal 自動更新。不然的話,mirror 有更新,ubuntu 亦會偷偷地自動安裝了新的kernal,只是等待你的重啟。 使用一個測試機,先經 mirror 更新到最新的狀態。運行一段日子後,其他機再陸續更新。如果你投産環境有多於一種配置,就考慮要多個不同的測試機。更新指令直接做成 script,方便在其他機器中重複。 輪流 ssh 登入各台機,執行相同的更新指令。更新指令經 git 同步到其他機器。為確保不受 ssh 斷線的風除,必要時還需加入 tmux 。 多機器的煩惱 上述的做法雖然可行,不過當你有十台以上的機器,重複做 ssh, tmux, git checkout, script 互動,也是很累人。考慮一次性地全自動化執行,還是有必要的。筆者對上述的第四步驟,作出一些取捨,以確保更新速度足夠快,可以順暢地執行。 什麼是必需要更新的? 筆者觀察到,在 container 技術出現後,其實很多時安裝應用都不會直接在 OS 層安裝 deb / rpm 包,都是直接經 docker image 去做。所以OS層面,或者很多服務都不會被啟動。筆者亦發現,至少在ubuntu下,只更新kernel,對比無腦全更新所有 deb 包,會快很多很多。 如果可以,我們只更新kernel,再加對應的 container runtime,是不是更新對令相對地穩定,而且可以經外部統一管理。也就是不用在每一台機中進行 tmux + git checkout ,全數在外部推送 ssh 指令? 筆者就用 multipass VM + ssh key,表達一下執行概念。 ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 -- apt-get autoremove -y ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 -- apt-get update ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 -- apt-get install -y linux-generic linux-headers-generic linux-image-generic ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 -- reboot 上述最大的假設,是第一、三步,更新 kernel 時不會因為網絡問題導致 ssh 斷線,因為它們都是系統級別的改寫,中斷後並不能確保可以重來。第二步就很安全,隨時重來也沒有問題。 這樣,我們就可以在任一台管理機,經過一個 shell script for loop,更新所有其他機器。 如果我們對於網絡還是有些疑慮,我們也可以試用一次性排程式的方式去做。 ssh -i /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ubuntu@10.115.189.200 echo '/your/script/location' | at 08:00 PM 17.12.2025 這樣的好處是,我們可以連 tmux 的開啟也省略,git checkout 也可以經固定的 script 執行(只是很煩鎖)。但這也會有壞處,就是看不到執行的情況,只能事後檢查系統狀態,是否已更新過。 當然前述 ssh key 的方法也可以加入 git checkout 更加深化不同的更新 script,但這又會增大斷線可能。ssh key 還是以快速完成指令更實際。 註:因為網安原因,筆者把上述 script 中的 S U D O 關鍵字去掉,這樣 blog 才能發出。

善心婦人江邊「放生白米」 佛教協會:折損福報

宗教玄學
熊神進・2025-12-16

近日,遼寧丹東市振安區江邊出現離奇一幕,四五名大媽將約10幾袋白米倒入江中,還雙手合十跪拜念誦佛號,聲稱這是在「放生白米」。此舉引發社會廣泛批評,網友們紛紛說她們不僅浪費糧食,更污染環境。中國佛教協會也出言回應,就這種行爲不符合佛教教義,違背惜福理念。類似的「放生」行爲在各地時有所聞,「放生」猫咪、礦泉水等事件層出不窮。 讀者向我查詢“放生白米”給河中魚蝦吃是不是另類布施。從報道和佛教協會的回應來看,當事人可能是出于宗教祈願或還願的目的,筆者認爲她有需要瞭解“放生”的意義。將白米倒入江中,既無法救助生命,又浪費糧食、污染水體,本質上是一種形式化、甚至迷信化的行爲,背離了佛教倡導的“惜物惜福”與“護生”的本意。 在佛教傳統中,放生本意是出于對生命的慈悲,救助瀕危或受苦的衆生(如魚類、鳥類等),幫助它們重獲自由,同時培養人的平等心與仁愛。真正的放生應兼顧三點: 尊重生命——以生物福祉爲前提; 符合科學——不破壞生態平衡(如不放生外來物種); 注重實效——避免形式化,甚至催生“放生産業鏈”(如提前捕撈再售賣放生)。 現實中“奇葩放生”現象愈來愈多,除了放生白米、礦泉水,近年來各地還出現過不少引人爭議的案例: 放生外來物種:如巴西龜、清道夫魚、鰐雀鱔等,嚴重破壞本地生態; 放生環境不適生物:如將陸龜拋入水中、把淡水魚倒進大海,導致生物迅速死亡; “商業放生”産業鏈:有人專門捕捉野生動物賣給放生者,形成“捕捉—售賣—放生—再捕捉”的惡性循環; 放生毒蛇、老鼠等:威脅社區安全,引發公共危害。 爲何會出現這類行爲? 對宗教教義的誤解:部分人將“放生”簡單等同于“積累功德”,追求形式而忽略內涵; 功利化心態:希望通過放生換取健康、財運等“回報”,忽視了慈悲心的培養; 缺乏科學常識:不瞭解生態保護與生物習性的基本知識; 盲從與儀式化:受民間習俗或非正規宗教引導,將放生异化爲一種“祈福儀式”。 反思:如何正確看待“放生”? 中國佛教協會的回應明確指出了方向:放生需如理如法,以護生、惜物爲本。與其執著于形式,不如將慈悲心融入日常生活: 保護環境、節約資源本身即是“無畏施”; 參與動物保護、支持可持續生態項目; 通過教育倡導科學放生觀念,抵制功利化放生。 真正的福報,來自于對生命的尊重與對世界的善意,而非機械式的儀式。希望公衆在行善時,能多一份理性與智慧,讓傳統文化習俗與現代文明、自然法則和諧相融。近15年很多城鄉都參與烟供下施給十方衆生,如果時間允許你們亦可以在戶外做一盤烟供香給靈嬰、無主孤魂。

北京毒狗案引發的多維思考

宗教玄學
熊神進・2025-12-14

早二天跟民間一些寵物協會義工聊天,大家提起一宗火熱的「北京毒狗案」,當事人李女士經過幾年的訴訟終于成功爲一群狗兒討個公平,法院亦做了一個首例判决,投毒人張某某構成「投放危害物質罪」,判處有期徒刑4年,判决後很多愛護動物人士也釋然。 中國北京朝陽2022年發生一起駭人毒狗案,有人在社區惡意投毒造成11只寵物犬中毒,其中9只死亡。其中一位李姓女子的13歲寵物犬Papi也遭毒死,李女爲替愛犬討回公道,辭職自學法律在社群媒體發聲,聯合其他受害犬只主人提起訴訟,案件纏訟1000多天,終于在本月11日迎來一審判决,投毒的張姓男子被判處4年有期徒刑,張男當庭宣稱要提起上訴。 北京毒狗案的判决如同一顆投入平靜水面的石子,在動物保護領域激起了層層漣漪。當張姓被告因投放危險物質導致九隻犬只死亡而被判處四年監禁,這不僅是內地首例成功立案判刑的毒狗案,更折射出動物保護在法律天平上的微妙位移。以此爲鏡,反觀澳門《動物保護法》,我們不禁追問:這部法律是否足以構築一個對所有生命都心懷敬畏的倫理與法制空間? 澳門自2016年頒布《動物保護法》以來,標志著動物福利邁入法制化軌道。法律明確禁止虐待、遺弃動物,幷對飼主的責任作出規範,然而,其“足够性”却值得深思。廣度上,法律保護重心明顯向猫、狗等“伴侶動物”傾斜,對蛇、陸龜、小白鼠等“另類寵物”或實驗動物的專門保護條款則模糊乃至缺失。深度上,相比北京案例中依托《刑法》“投放危險物質罪”的嚴懲(四年監禁),澳門對殘酷對待動物行爲的懲處力度與社會危害性的匹配度,仍有提升空間。理念上,現行法律更像一種“管理法”,側重于人與特定動物關係的秩序維護,而非奠基于動物內在價值的“權利法”。這種局限,恰恰源于我們對“動物保護”定義與精神的理解尚未完全貫通。 何爲動物保護的真義?它不應止于對個別物種的垂憐,而應是對“生命共同體”的普遍尊重。其精神內核,至少蘊含三層維度:一是共情與仁慈,承認動物感知苦樂的能力,從而約束施加不必要的痛苦;二是生態敬畏,視動物爲生態鏈環中不可割裂的一環,關乎整體生態健康;三是文明標尺,一個社會對待最無言生靈的態度,衡量著其文明的高度與溫度的深度。在此意義上,動物保護的精神,旨在超越功利計算,培育一種對所有生命形式的基本關懷。 那麽,爲何法律與公衆視域常聚焦于猫狗?這背後是情感親疏、文化建構與實用價值的交織。猫狗作爲千年伴侶動物,與人類建立了深厚的情感紐帶,其“擬人化”特質易激發强烈的保護欲。文化叙事中,它們常被賦予忠誠、陪伴的象徵,而蛇、鼠等動物則多與負面隱喻相連。更現實的是,猫狗的保護運動往往擁有更龐大的社群支持與更響亮的話語權。然而,這種“偏愛”若固化爲法律的不公,則違背了保護精神的本源——生命尊嚴的平等考量。當法律對一隻受虐犬只伸出援手,却對同樣能感知痛苦的實驗鼠或作爲寵物的陸龜的苦難保持沉默,保護便陷入了倫理的狹隘。 北京毒狗案中,李女士們鍥而不捨的追索,不僅是爲伴侶討回公道,更是以公民行動叩問:法律能否成爲所有動物受害時的倚靠?澳門法律乃至更廣泛區域的立法,可從中獲得啓示:保護範圍應逐步擴展,基于科學認知(如動物感知能力)而非人類好惡來界定保護對象,爲“另類動物”提供底綫保障。法律責任需更嚴密,適當提升對惡性虐待行爲的懲戒力度,幷探索將嚴重虐待動物行爲納入更具威懾力的法律框架。公衆參與渠道應拓寬,鼓勵如李女士般的公民通過法律途徑維權,形成監督合力。教育倡導需先行,通過教育扭轉對某些物種的偏見,培養“衆生平等”的生態倫理觀。 歸根結底,動物保護法的演進,是一場從“偏愛”走向“普世”,從“管理”邁向“尊重”的文明跋涉。澳門的法律是一座重要的基石,但非終點。理想的圖景應是,法律不僅能對“Papi”的悲劇給予正義的迴響,也能爲一隻陸龜的安寧、一條蛇的生存,乃至實驗室中小白鼠的福利,投去關切的目光。當保護不再因物種而弃,當仁慈的邊界擴展至所有能感知苦樂的生靈,我們守護的,不僅是動物,更是人性中那份珍貴的悲憫與對和諧共生世界的承諾。這或許漫長,但每一份如北京案件中那般堅韌的努力,都在爲這條路鋪下一塊堅實的磚石。

從清史看玄學的玄

宗教玄學
熊神進・2025-12-08

#科學的盡頭就是玄學 早幾天在中國臺灣教學,講題是“天示清朝的幾宗奧秘」,今天有空整理一下,把教學內容跟讀者們共享。 一、史實真僞判定(玄學分析的前提)​ 核心史實均爲信史:​ 清朝建國始祖努爾哈赤以撫順新賓爲基地崛起(清永陵坐落于此,爲清朝龍脉發源地),溥儀 1950 年被關押于撫順戰犯管理所,地點完全對應;​ 開國時攝政王多爾袞輔佐順治(孤兒寡母爲孝莊太后與順治),亡國時攝政王載灃輔佐宣統(孤兒寡母爲隆裕太后與溥儀),權力結構完全一致;​ 首位皇后孝慈高皇后(葉赫那拉・孟古,皇太極生母,追封皇后),末位皇后孝定景皇后(葉赫那拉・靜芬,隆裕太后,光緒皇后),姓氏均爲葉赫那拉氏;​ 洪承疇(福建南安人)爲順治入關核心謀士,鄭孝胥(福建閩侯人)爲溥儀僞滿時期核心輔佐者,二人籍貫與 “入關 / 出山海關” 的動綫形成鏡像;​ 開國勁敵袁崇煥、孫承宗爲明末抗清名將,亡國勁敵袁世凱(逼宮退位)、孫中山(領導辛亥革命),姓名關鍵字 “袁”“孫” 完全重合。​ 非刻意附會的關鍵:這些對應跨越 268 年(1644-1912),涉及地域、血緣、姓名、權力結構等多重維度,且均有獨立史料佐證,排除 “事後編造” 可能,具備玄學分析的客觀基礎。​ 二、玄學機理解析 (一)風水:龍脉閉環與 “始止同源” 的能量守恒​ 龍脉發源地的 “因果閉環”:清永陵(撫順新賓)爲清朝龍脉正穴,堪輿學稱其 “左青龍(龍頭山)、右白虎(烟囪山)、前朱雀(蘇子河玉帶圍腰)、後玄武(啓運山來龍)”,四神俱備,爲 “天下第一福地”。努爾哈赤發家于此,是 “借龍脉之氣興邦”;溥儀關押于此,是 “龍脉之氣耗盡,始點即終點”,形成風水能量的閉環循環 —— 龍脉的 “生旺之氣” 從撫順啓動,最終在此消散,契合玄學 “氣脉周流不息,盛極而衰,衰極而返” 的規律。​ 山海關的 “陰陽門戶” 象徵:山海關爲中原與關外的咽喉,屬 “陰陽交界之地”。順治進關(陽進),是 “陽氣入宅,王朝肇始”;溥儀出關(陰出),是 “陰氣外泄,國運終結”。洪承疇、鄭孝胥均爲福建人,福建地處東南沿海,屬 “巽位”(易經八卦中巽爲風,主流動、變遷),兩人分別作爲 “進關”“出關” 的關鍵謀士,暗合 “巽風引動國運流轉” 的風水邏輯,印證 “地域氣場與國運綁定” 的玄學機理。​ (二)易經:“否泰交替” 與 “循環往復” 的節律​ 歷史循環論的易經內核:《周易・繫辭》言 “窮則變,變則通,通則久”,王朝興衰本質是 “否卦”(衰敗)與 “泰卦”(興盛)的交替。清朝開國與亡國的 “孤兒寡母 + 攝政王” 結構,對應易經 “家人卦”(風火家人,主家庭倫理與權力傳承)的正反象 —— 開國時 “家人和順,借勢興邦”(泰卦之象),亡國時 “家人失序,借勢亡邦”(否卦之象),形成 “同構反效” 的循環,契合鄒衍 “五德終始說” 中 “王朝更替必循循環節律” 的理論。​ 姓名關鍵字的 “象數對應”:易經認爲 “名者,命也”,姓名的象數與國運相關。開國勁敵 “袁(袁崇煥)、孫(孫承宗)”,亡國勁敵 “袁(袁世凱)、孫(孫中山)”,“袁” 字從 “衣” 從 “口”,象數爲 “坤”(坤爲地,主承載、終結);“孫” 字從 “子” 從 “小”,象數爲 “坎”(坎爲水,主流動、變革)。兩次 “袁孫爲敵”,暗合 “坤坎相激” 的象數組合 —— 開國時 “坤坎相激,破敵興邦”,亡國時 “坤坎相激,破邦亡國”,印證易經 “象數不變,作用方向隨國運反轉” 的規律。​ (三)推背圖:“天運定數” 與 “預言印證” 的隱喻​ 清朝興衰的圖讖暗示:《推背圖》第三十三象(網傳對應清朝),圖爲 “一船十人,旌旗八面”,“十人” 暗合清朝十位皇帝,“八面旗” 對應八旗制度,預示清朝 “始于八旗,終于十帝” 的定數。開國與亡國的輪回現象,是對這一圖讖的具象印證 ——“十人船” 的航行軌迹是 “從撫順出發,經山海關入中原,最終返回撫順”,暗合 “天運預設的輪回路徑”。 ​ 葉赫那拉氏的 “因果閉環”:葉赫那拉氏作爲 “首尾皇后”,暗合《推背圖》“女禍”(非貶義,指女性在國運中的關鍵作用)的隱喻。孝慈高皇后(孟古)生下皇太極,是 “葉赫那拉氏興清之始”;孝定景皇后(隆裕)簽署退位詔書,是 “葉赫那拉氏亡清之終”,形成 “一族興清,一族亡清” 的因果閉環,契合玄學 “因果循環,報應不爽” 的核心思想。需注意,推背圖的預言幷非 “精准預言”,而是對 “天運節律” 的隱喻性表達,清朝的輪回現象是 “天運節律的自然呈現”,而非刻意迎合預言。​ (四) 個人愚見 清朝開國亡國的 “完美輪回”,幷非偶然巧合,而是風水 “氣脉閉環”、易經 “循環節律”、推背圖 “天運定數” 三重玄學機理的叠加顯現:​ 從現象上看,是歷史事件的偶然對應;​ 從機理上看,是 “國運興替必循自然節律” 的必然 —— 龍脉的始止同源、易經的象數對應、天運的因果閉環,共同構建了這一 “輪回奇觀”。​ 玄學視角的核心幷非 “宿命論”,而是認爲 “王朝興衰既有人力可爲,亦有天運可循”,清朝的輪回現象正是 “人力與天運共振” 的結果:努爾哈赤借龍脉之氣興邦,是 “順天應人”;溥儀失德失政亡邦,是 “逆天違時”,最終形成 “始點即終點” 的輪回,印證玄學 “道法自然,周行不殆” 的終極規律。 筆者鑽研風水易經40多年,是巧合表像還是玄學玄機,這就交由讀者審判。​

你開始寫 Spring Boot 測試案例了嗎?

科技新知
MacauYeah・2025-11-29

雖然筆者過往做 spring boot framework 教學中,都有滲入一些測試用例。筆者也曾經困惑了很長一段時間,所以就獨立開一個主題,聊一下筆者在實務上對spring boot test 的理解。 測試案例究竟測試什麼? 測試用例 (test case) 是確保你的程式碼正確性與穩定性的重要步驟,但在 framework 下,並不是所有功能都很容易寫成測試。所以在討論 framework 測試之前,釐清測試的本質。 function input - business logic - function output 這意味著我們輸入某些資料(input),然後經過業務邏輯(business logic)的處理,最後產生結果輸出(output)。 我們的測試目標,其實就是確保業務邏輯正確。而我們的手段就是經檢查概定的輸入資料,核對輸出結果。 那麼只要我們可以生成輸入資料,就一定可以檢查輸出結果了吧?其實不是的,因為實務上的輸入和輸出沒有這麼簡單。筆者常接觸到的輸入輸出如下 輸入 function 輸入參數 系統狀態資料,例如:資料庫狀態、外部API結果。 輸出 function 輸出參數 寫入系統(影響到)的資料,例如:資料庫狀態、使用外部API時的輸入參數。 總之就是考慮了狀態機 (state machine) 的問題,每個狀態+外部輸入都是一個測試用例,然後核對狀態機去了下一個什麼狀態。 言下之意,我們就是暴力地生成輸入參數和模擬狀態資料,道理上就是可以進行測試。 Spring boot web framework 中,我們又會測試什麼? function input - business logic - function output在Spring boot web就變成如下 controller request - business logic - controller response在 Spring Boot test 中,我們可以用模擬的 MVC (MockMvc) 測試來驗證 controller 的行為。不過,其實進入 controller 前經過很多系統轉換,而這些道理上跟Framework的技術大相關,與業務邏輯小相關。所以為免折磨自己,可以將業務邏輯單獨封裝成服務(service)。之後直接測試服務 ,易寫也易讀。 controller request - service input - business logic - service output - controller response道理上 controller 能做的業務邏輯,服務 (service) 都可以無腦重現。這樣還可以重用服務,減少測試的數量。 如何實現輸入? 直接 new Object。大部份的情況下,因為業務是自己編寫的,應該都可以直接 new 出來。 經 json 檔讀入。如果輸入的參數量太多,逐個經 java new 是很耗時的,我們可以經 json 反序列化變成 Object。但這亦只限於自己可以操作/改寫的類。 Mockito 模擬那些無法簡易經 new 或 json 反序列化的 Object。例如:spring security authentication object 我們在使用時,其實只看到 interface。我們難似自己實現一個可以反序列化的類,那麼我們可以使用 Mockito 來模擬這些資料。一些外部API的結果,我們也可以用使 Mockito 來模擬。 什麼情況下不進行測試? 有些情況下,我們可能選擇不對某些功能進行測試,原因可能包括對功能的了解不足或是單純的懶惰。以下是一些例子: 僅進行配置的Function:如果你的 Function 只是在 Framework 中填寫配置,而且你並不太了解它的運作原理,可能就不需要進行測試了。例如,Spring boot web 中,需要大家配置一個SecurityFilterChain Object,它要求大家將 HttpSecurity 轉換為 SecurityFilterChain 。因為輸入的 HttpSecurity 是系統固定的參數,我們亦沒有檢查它的狀態。這種情況下,它的輸入及輸出,其實我們都沒有真正理解。我們硬測試的話,測試功能可能只流於表面。若我們真的要做測試,也是經過MockMvc進行端到端測試(end-to-end testing),測試它在事後的影響範圍。 單純的框架功能:例如資料庫的儲存庫介面(repository interface),雖然是在框架下生成的,對於自己手動調整的部份功能,筆者通常亦不會進行單獨測試,通常都會搭配業務邏輯一起進行。它可以使用 Mockito 進行模擬測試,或用測試環境的真實資料庫進行測試。 面對的挑戰 總括來講,筆者盡可能地把測試用例限定在業務邏輯中,就可以大大地降低寫測試的技術難度。但筆者還是有些問題並未完美解決。 測試用例的數量可能很多,因此共用與維護變得相當困難。逐個用例獨立編寫輸入也是很累的。對於 Mockito 的使用,筆者還是可免則免。因為要逐個功能模擬,編寫量就指數提高,這亦難似配合外部變化。一般來說,能優先使用測試環境或者 Docker 來模擬環境的,就盡量用。 離線開發、離線測試。系統依懶的外部功能越多,想做單機開發的難度就越高。即使前述有 Docker 測試,對於持續整合(CI)來講也是有一定難度。那麼這時,Mockito 就是一個可取的選擇。但這又回到編寫量及難以偵測外部變化問題。 希望這篇文章能幫助你更好地理解測試案例的編寫方向,並在Spring boot web開發中加入你自己的測試!

重入膠坑12-快靚正

手機‧電玩
MacauYeah・2025-11-27

筆者今年度,在高達模型制作上,一直針對在分享非噴塗的制作技巧之中。這主要是因為筆塗或素組所需的工具比較單純,而且筆塗使用水性顔料之下,更不會有異味出現,可以在家中安心操作。之前亦提過素組打磨對於對於水口覆蓋的極限問題,亦一度讓筆者認為[純素組打磨]是貼錢買難受,因為時間花出去,但效果不盡人意,還不算直剪不打磨。 經過一段時間的快速組合後(其實是筆者山積太多,所以快速清山積),筆者盡可能跳過那些效果不佳的步驟,保留一些更差異性明顯的工敍,嘗試做出人工花費少,但自己還能接受的作品。 不做取件表-但留意分部制作 雖然做取件表可以讓自己未來可以更專心剪件、規劃。但除非取件表是他人預制好的,或是自己要重複做同一款高達,不然自己弄,是很耗時間的。如果各位制作的只是HG的量,其實分部位直接剪,也很容易做到減少換版的次數,所以取件表可以不做。 不全部刻線-滲線後再執漏 不刻線,直接滲線,效果一定不完美的。但全部刻線,成本高,容錯也低。筆者經過三隻模的測試,似乎不刻線情況下,可以通過拭擦方式,取得7成的水性顔料滲線成功率。剩下的,就乖乖重新刻線再滲線。整體省了時間,不過就是要接受某些線修可以粗幼不等。這樣做的還有另一個大好處,就是減少刻線的出錯。 點綴式的膠貼或水貼 如果大家制作的作品,原本就有送貼紙(例如RG),一定要記得貼。如果沒有,也可參考市場上有沒有第三方貼紙。如果你買的是HG,雖然第三方水貼只是給RG用,但其實你也可以借來用於HG上。肩位,裙夾位,盾位,腳位,也是點綴的好地方。 薄刃剪二刀流 如果想不打磨,二刀流手法是必不可少的。只使用足夠鋒利的剪鉗,直接使用二刀流也可以大大地減少水口發白的情況。第一刀要保留足夠多的流通,避免拉扯。第二刀貼著水口再剪時,就要足夠慢,減少形變而産生的發白。二刀流可以變為多刀流,看大家需要。神之手也就很推薦的,但始終也是消耗品,如果有價錢上的考慮,可以投資低價位的薄刃剪。水口大一點,小一點,差異不太大,只要不發白,薄刃剪的效果就發揮得好了。 UC系列和最新的HGCE系列 不想補色的話,最好考慮元組的系列,因為結構簡單,所以原本分色做得還不錯。而最近的HGCE,分件也越做越多,想偷懶也是可以的。不過就2018之前推出的非元祖HG,大家就真的慎入,補色工作跑不掉。

docker swarm 回到最基礎的群集組建

科技新知
MacauYeah・2025-11-21

雖然筆者都知道,全世界在講 k8s ,全世界都叫筆者放棄 docker swarm,但無獨有偶,docker swarm 還是有使用的價值。 你只有單個服務在運行,只想要做冗餘或分流。快速地用 docker swarm 做最小可行性産品,推出市場。 傳統的HA功能做到了,但你沒有中央匯整日誌的功能。而你也不想把事情攪得太複雜,使用docker swarm 可以讓你在任何一個管理節點上查看不同 container 的日誌。 你的客戶只提供VM,他可能有自己的k8s平台,但不讓你使用。自建一套docker swarm ,先入場,事後擴展再要求客戶提供k8s,對於客戶來講,先證明系統是有價值的,在金錢成本上或能力上,一定是件比較可以接受的事。 筆者之前介紹過一系列的 docker swarm 教學,但生成群集的部份一直沒有做介紹。因為實在太簡單,所以一直都沒有收納在教學內容當中。但現在考慮其完整性,以及為了讓大家感受一下它有多簡單,所以重新寫了組建群集的步驟。 組成群集 以前各家不同的軟件,想要起一個群集,要左攪右攪,又要重啟。而docker swarm真的很簡單,只要各機中有 docker ,再在各機中順序打指令就好。 node 1 使用docker swarm init docker swarm join-token manager # node 1 > docker swarm init > docker swarm join-token manager To add a manager to this swarm, run the following command: docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxx xxx.xxx.xxx.xxx:2377 其餘的管理員節點就根據上述的提示,使用 docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxx xxx.xxx.xxx.xxx:2377 就好。只要總數的管理員節點有奇數個就可以了(包括當初的node 1)。即是1、3、5等都可以。這是因為在容錯的情況下,必需由管理節點作出多數決,才能容易地知道判斷是哪些節點出現問題。 如果不為容錯,只想增加可工作的機器,那麼我們只需要增加工作節點。我們可以在任何管理員節點生成docker swarm join-token worker > docker swarm join-token worker To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-yyyyyyyyyyyyyyyyyyyyyyy yyy.yyy.yyy.yyy:2377 若想要檢查各個節點的工作狀態,在管理員節點上執行 docker node ls 看到了。 docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION xxxxxxxxxxxxxxxxxxxxxxxxx * node1hostname Ready Active Leader 28.5.1 yyyyyyyyyyyyyyyyyyyyyyyyy * node2hostname Ready Active Reachable 28.5.1 全部教學請見 https://macauyeah.github.io/AProgrammerPrepares/VMDockerNotes/SwarmModeCommandCN.html

codeserver 在團隊間開箱即用就是最大的好處

科技新知
MacauYeah・2025-11-20

之前我們就有探討過 vs code 與 codeserver 的差別,初步結論就是 vs code 的 debug 功能比較完善。如果大家懂得 devcontainer 的使用形式,使用 vs code 應該可以得到最大的效益。就在筆者想跳過 codeserver 的時候,又有新朋友對 codeserver 有興趣。最主要的原因還是它可以一體化預安裝所有事,若大家使用筆者的image,有 docker 、有瀏覽器就已經可以開箱即用。 所以這裏,筆者也重新翻新了筆者版本的使用說明。有興趣使用的朋友可以直接跟 github readme 試用。 https://github.com/wingzero0/codeserverUbuntu 本次翻新,主要加入了常見問題。這些問題部份與 docker 的基本限制有關、部份則是筆者的 env 所限。 常見問題 FAQ 運行 node 應用時很慢 在 windows / mac 下,它們的 docker 是經過 VM 建出來的。若使用 bind mount ,其實是經過 VM 層面抄資料夾。普通 java 開發沒有大問題,但如果遇上 node_module ,就會出現極大效能問題。 node_module 最好還是放在 container 內的 mounted volume 中。本 project 預設的 docker-compose.yaml 就已經有 /home/ubuntu/sourcecode mounted volume ,有需要可以放在其內直接使用。 linux 則沒有這個問題,因為 docker 只是 linux 的一個 process ,可以直接連到資料夾。 mounted volume 權限問題 如果大家自定義 mounted volume ,注意 docker 預設會是 root 權限,本系統使用 local user ubuntu,有需要改為它。 chown -R 'ubuntu:ubuntu' YOUR_TARGE_FOLDER 若然code-server異常,需要重啟。在 host 可以使用 docker command,在 container 中,可能殺掉所有 process # at host, outside of code-server docker compose -f docker-compose.local.yaml stop docker compose -f docker-compose.local.yaml start # at container, inside of code-server killall5 -9 上/下載 上載檔案:可以經過拖拉的方式,把桌面的檔案拖進 code-server 的 Explorer 區域。 下載檔案:可以點選 code-server Explorer區域內的檔案,按滑鼠右鍵,選 Download 。

Will the China-US Tariff Trade War End in 2026?

宗教玄學
熊神進・2025-11-15

Trump announced that a 100% tariff will be imposed on Chinese goods exported to the United States starting from November 1st, and export controls will be implemented on "all critical software". Trump's new trade action is a response to China's significant expansion of export controls on rare earth elements.According to a Reuters report on October 17th, when US President Donald Trump was interviewed by FBN and asked whether such high tariffs are sustainable and what impact they might have on the economy, he responded, "This is unsustainable."The United States will impose an additional 100% tariff on Chinese products. Spokespersons of the chambers of commerce in Hong Kong and Macau believe that the goods for the US Thanksgiving have already been delivered. Moreover, most mainland Chinese, Hong Kong, and Macau merchants have relocated their factories in the United States to Southeast Asia, India, and other regions. Therefore, it is believed that the impact of this measure will not be significant. We attempt to use China's traditional "Bazi (Eight Characters) Theory" (八字理論)to predict whether the China-US tariff trade war will end in 2026.The United States was founded on July 4th, 1776, and the People's Republic of China was founded at 15:00 on October 1st, 1949.From the perspective of Bazi numerology, analyzing whether the China-US tariff trade war will end or ease in 2026 requires combining the five-element characteristics (五行特徵)of the Bazi of the two countries and the interaction of their annual fortunes.The Bazi of the United States is: Bing Shen(丙申), Jia Wu(甲午), Geng Yin(庚寅), Xin Si(辛巳). Geng Jin(庚金) is born in the Wu month(五月) (the fifth lunar month), where the fire element is strong, so Geng Jin (庚金)is restrained. However, the Shen Jin(申金) in the Year Pillar(年柱) and the Si Huo(巳火) in the Hour Pillar(時柱) contain the root of Geng Jin(庚金), and with the support of Xin Jin辛金, its own strength should not be underestimated. In its Bazi, the fire and wood elements are relatively strong, and the metal element also has a certain degree of strength, resulting in a slight imbalance of the five elements.The Bazi of China is: Ji Chou(己丑), Gui You(癸酉), Jia Zi(甲子), Xin Wei(辛未). Jia Mu (甲木)is born in the You month(酉月) (the eighth lunar month), where the metal element is strong and the wood element is weak. However, the Ji Chou(己丑) in the e Year Pillar(年柱) and the Xin Wei (辛未) in the Hour Pillar(時柱) contain earth, which generates metal. Additionally, the Gui You (癸酉) in the Month Pillar(月柱) forms a cycle where metal generates water and water generates wood, creating a certain circulation of the five elements. Although Jia Mu(甲木) is in a weak position, it has the support of Yin Xing (印星) and Bi Jie (比肩星), so its foundation is relatively stable.The year 2026 is the Bing Wu year(丙午年), which belongs to the fire element in the five elements. From the perspective of the US Bazi, Bing Huo (丙火)represents Qi Sha (七殺), and Wu (戊)represents Zheng Guan (正官). The simultaneous appearance of Qi Sha(七殺) and Zheng Guan(正官) symbolizes pressure, conflict, and change. In this year, the United States may face greater pressure and challenges in its foreign policies, and there may be volatility and adjustments in its trade policies. For China's Bazi, Bing Huo(丙火) represents Zheng Guan(正官) , and Wu Huo(午火) represents Shi Shen (食神). Shang Guan (正官)and Shi Shen (食神) symbolize innovation, change, and external communication. In this year, China may introduce new measures and ideas in its trade policies to respond to external pressure. From the perspective of the mutual generation and restriction of the five elements, the fire element of the Bing Wu year 2026 forms a stronger mutual generation relationship with the fire and wood elements in the US Bazi. The excessive fire energy may make the United States more aggressive in its trade policies, but at the same time, it may also trigger a series of problems due to excessive impulsiveness, forcing it to make adjustments. For China's Bazi, although fire represents Shang Guan and Shi Shen, it also has a certain mutual generation relationship with its own five elements. In this year, China may take more proactive measures to respond to the trade war and ease pressure through its own wisdom and strategies. Overall, the China-US tariff trade war may experience a relatively intense phase in 2026. However, precisely because both sides are facing different pressures and challenges, it may prompt them to re-examine their trade policies, thereby creating opportunities for a certain degree of easing. Nevertheless, Bazi numerology analysis is only a traditional cultural perspective and is for reference only. The actual trend of the trade war still needs to be comprehensively judged by combining more realistic factors such as politics and economy.