搜尋

搜尋結果

測試驅動開發 | 系統邊界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、檢查某些重要業務值會不會是空、確保後續部份可以正常使用,這是因為我們不能被外部系統的失誤而導致自身系統癱瘓。 其實測試驅動,本質上就是強逼大家想多一點,好好定義預期的行為,不論內部條件怎樣變化,都有一自動的檢收標準。

龍年,龍爺生氣了,過去100年,龍年是怎麽樣?
宗教玄學
熊神進・2024-04-11

近日筆者收到很多內地讀者查詢,他們都是玄學愛好者,大家對于「天象」的啓示有幾分擔心,有些還說「是不是龍爺生氣了?」筆者是公衆人物,不敢怪力亂神,只是把「學說」印證,喜歡的同學聽聽也是善哉。 在玄學上2024年陽曆2月4日才是龍年第一天開始不好意思,這是跟國家公布的日子不同,我們迎來甲辰龍年,甲木是天干之首,直沖向上,地支辰龍當權,土氣旺盛。在甲木透幹,干支相沖相克情况下,民間老風水師傅也雙手合什,提醒大家晚間做烟供,行大愛布施各地衆生。 龍年也是風水的下元第九運開始,凡是交接運之年月,都是有一些异象,這是不用過于恐懼,只要我們順「道」道,是自然,不逆 而行,我們多行善,不行霸權,愛衆生,我們就可以逢凶化吉。 龍年是十二年一次循環,在過去的一百年,龍年留下很多「人爲」的不人道歷史,1940年、1952年、1964年、1976、1988年的傷痛是給子孫留下惡因。 水逆從4月1日開始,水逆加速了權勢的毒火,海上紛爭全年擴展,擦鎗走火爲「赤馬紅羊」鋪路,龍的傳人要買單。 踏入農曆三月,立春日木火較旺,在風水九運「離火」下,中國香港第一個辰年辰月辰日辰時,佐敦道華豐大厦發生一場三級火,造成5死40傷,本身今年已經較「火旺」,再加上農曆踏入三月初一,辰、巳月在奇門巽宮屬木,農曆五月離九宮屬火,筆者推斷未來3個月香港火旺,仍有多宗火灾。 龍年幷不是只有中原地域才中伏,龍年是世界性的循環天體,今年各地都有不同程度的天灾地震,我們要行大愛,晚上做烟供布施衆生,廣結善緣。烟供是衆多善事中最簡易的一種亦是年青人常做的一種,讀者們可以把筆者的善知識轉去朋友圈,一人的力量很薄弱,只有集體行善,才是大愛,只有大愛,世界更美好。 辰月才剛剛開始,有危才有機,有動才會永恒,請大家不要過分恐懼。 我們可以通過做烟供回向給六道衆生以求平等受惠,减少灾劫,這是無上大愛。

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-02-06

梅西是國際知名球星,最近他在中國香港惹來一場小風波,筆者不是他的球迷,亦沒有興趣參與衆人的「是是非非」,筆者只是從八字中找了一些別家師傅的批命,跟大家聊聊南北半球人在算命時是不是需要更改月支專業術數,即是出生的月份。 那位師傅認爲「梅西」是 1987 年 6 月 24 日晚上 20 時 30 分出生。他生于 6 月,玄理當年的「芒種」是6月6日至7月6日之間,理應是火熱的丙午月。但,阿根廷位于「南半球」,6 月平均溫度10度至20度之間,不像北半球的攝氏28度以上,因此這位師傅認爲他的月令其實幷不是火旺的「午」,而應當是水旺的「子」。 6月24日是甲辰日,身主「甲」木,年、月透出「丁傷丙食」,他認爲如果月令在「午」,全域「食傷無制」,必然個性狂妄、持勢淩人;但,現實中的「梅西」其實是一個不擅言詞、甚至有些靦腆的人,這有點跟北半球的「午」 出了矛盾,甚至顛倒了我們的傳統思維。 如果用了南半球的「子」,「子」中藏「癸」,「癸」爲「正印」,子辰半合水局,形成强而有力的「傷官配印」,令「食傷」不再瘋狂,變得以球迷爲重。 另一派傳統算命師有自己解釋,他們認爲甲比幫身,午戌半會,木虛火旺,喜有刦印助身,月柱丙午,火天透地藏,得令得地,喜見濕土,命書雲,太過宜洩,不及喜生扶,故金水二神成爲「喜神」。 梅西的出生日是「甲辰」,在「甲辰」旬:甲辰、乙巳、丙午、丁未、戊申、己酉、庚戌、辛亥、壬子、癸醜,以「寅卯」爲空亡。這一「卯」 在年支,與月柱「子卯刑」,凡年月支沖空亡,不會出生在富二代,因年柱是16歲前的青少年時期。從資料中,「梅西」曾在少年時患上GHD,差一點變成「侏儒」,這便是「空亡」被刑。 資深的算命師認爲年柱代表一個人的早年運,若是命主日柱帝旺在年柱甲的帝旺在卯,說明即使「空亡」被刑,愈刑愈旺,運勢反而好,能够得到貴人之助。2011年辛卯爲帝旺年,地支午卯帝旺破,午卯均是桃花,代表人緣,主名聲受損大家可以翻查他在2011年的是非,命運就是這樣有趣,2023年2月4日立春前仍是兔年,干支癸卯,也是帝旺年,午卯又一次來刑,犯太歲的他在兔年最後一天受太歲星干擾,走回12年前名聲受損,是巧合又還是人爲,筆者不評論,留給大家聊聊。

街霸六-如何不要被【贏】成為競技遊戲唯一目標?
手機‧電玩
MacauYeah・2024-01-19

眾所週知,玩遊戲普遍都是圖開心。很多朋友玩遊玩競技遊戲時,【贏】都是一個很重要的樂趣指標,但競技總不可能每個人都贏,輸的人反而是大多數。所以競技遊戲若沒有其他樂趣,玩著玩著,就會越來越少參與者。 問題是,競技遊戲真的有其他方面的樂趣嗎 筆者認為是有的,但至少參與者的心態要放開。 就像求學不是求分數一樣,探索一門新知識比分高低要來得重要,玩遊戲也更是如此。以筆者玩街霸六的情況來講,可以探索的地方實在很多 目押、取消連技 對空 對策動力衝擊 對策突進 狗昇、防狗昇 打亂動、搶制Abare 壓起身 Meaty 安全跳 Safe Jump 立回 Neutral 確反 Punish 差合 Whiff Punish 打拆 Shimmy 最後才引伸不同的角色對策。 而大部份人都一定會陷入的低潮就是當等級越高,對手的熟練度就越高,對機制的理解就越深,然後就會對戰得越沮喪。筆者因為一些原由,看到別人都爬分時都有非常沮喪的練歷,也看到退遊戲的心路歷程分享。 筆者屬低分區,無條件指導別人如何進步,但筆者可以提的意見是,要逆向思維自己會輸,是因為對方是強者,跟強者對戰,其實是在學習、在感受。有時候,筆者也會因些微差距而輸了對局。有時候,筆者也會想,是不是對方運氣好。 但感謝街霸六的對戰大堂,只要對方願意,可以很方便的跟同一位對手重複對戰。經過重複對戰,你就會知道是不是真的只是對方運氣好。更重要的是,重複對戰可以有助於大家熟知對手的策略,只要有對策,對局就不一樣。就算當下無解,也可以在訓練室再進一步研究。 街霸六的對戰機制和訓練室的各項細微功能,是眾多手遊、什至是主機遊戲,都無法提供的。可以隨時與陌生對手匹配友誼賽,可以自定義對戰,可以重播比賽,觀看對手的輸入按鍵,訓練室還可以查幀表,錄動作,混合抽樣播放動作,讓你可以有目的性地實驗、練習反應對策。 在分數線機制上也有一些保障,不同角色分數獨立,打上特別段位後有一次跌級保障。讓大家在排名賽上,輸掉也不至於十分心痛。若果心理上實在受不住排名賽的壓力,友誼賽絕對低分爬上高分區的一個試招的好選擇。在對戰大堂的友誼賽中,很易會遇到比自己排名高的對手,多找對方實戰看看,輸了沒有成本,但贏得了經驗。

Switch / Steam Deck / Mobile 使用體驗大比拼 (三)
手機‧電玩
MacauYeah・2023-12-14

上兩期,筆者從機身重量、續航性兩方面,對於遊戲機身便攜性的影響,今期最後一期,就從穩定性方面去討論,最後再做一個綜合影響。 沒有對比也就沒有傷害 Mobile Smart Phone 筆者所講的穩定性,其實就是正常運行一個遊戲,不會出現閃退的情況,讓你可以正正常常玩完一款遊戲。但因為Mobile原本是多用途機器,你玩著玩著,可以就要跳出遊戲回覆信息,但再次回到遊戲後,能不能正常運行的不知道。 大部份iOS遊戲,因為舊iphone機能限制,基本上跳出去後,都因為不夠RAM,回來後遊戲會重置。除非你打死不切換,否則一款遊戲沒有頻繁auto save功能,根本玩不下去。Android可能會好一點,有不同機型可以選擇,多一點RAM總是安全一點。 強行地用Linux運行Windows的黑科技 Steam Deck 老實說,Windows已經不夠穩定,用Linux運行Windows Game,會比較穩定嗎?不過最幸運的是,Steam Deck有技術支援,更有社群支援,各遊戲經過Steam官方驗證,連續遊玩下閃退情況都很少。不穩定的原因,反而是Steam Deck主機本身。 在筆者遊玩的經驗中,待機後再打開,有一定機會率會整個遊戲閃退。這些問題在遊玩大作,特別是3A大作,會引來一個很不愉快的體驗。因為它們的auto save位置點一般都是以情節點來做考量,而以上班族來講,三步一待機的使用情境也很常見,那麼觸發閃退的機會率就很高。某次啟動會隨機引起閃退遊戲,真的欲哭無淚。 筆者也翻查過網上的資料,一年多前就有這個問題存在,而官方亦無法根治。筆者在寫稿的途中,還在測試坊間一些可能的補救方式,但因為時間不長,不敢說這問題是可以解決的。 穩定發揮 Switch Switch在穩定性真的無可挑剔,多次待機後都沒有太多問題。完全貼合它的市場定位在家可以隨時在電視玩,出外也可以四處走。隨時隨地停,隨時隨地再開。最多最多都是遊玩實體卡帶時,因為接觸不良而閃退。但這些不可避免的,因為實體卡始終是物理型態存在,跟著Switch四處奔波,難免會出問題。但下載數位版,存放於SD卡就不會有閃退。至少SD卡不會像實體卡會經常替換,所以出問題的機會也較少。 綜合體驗 其實討論了幾個方面,筆者都從是省心遊玩的角度出發去討論。 Mobile在裝備上會最少煩惱,想最輕鬆出問,這個是不二選擇,但考慮玩非課金類遊戲就最沒有保障。 Steam Deck優點是移動堡壘,若你玩的是高性能需求的遊戲,你只能選它。但想隨時玩就未必做得到。 Switch 在重量和穩定性上面最有優勢,考量延續性體驗,這個是首選。

澳門探店/頌鉢SPA舒壓體驗/來自大自然療癒
有機健康
明珠・2022-08-24

iBeauty,位於主教巷,為一間結合多種美容養生養髮一站式服務的店,店內乾淨衛生,柔和的燈光及優雅別緻的環境,讓人即時放鬆下來,本人今日就試做了近期超級熱門的頌鉢療癒浸沉式SPA體驗。 步驟 填寫一張身體狀況的調查表,讓美容師更好地了解當下的身體情形,以及平常身體的痛點與宿疾。 美容師會先讓顧客選自己喜歡精油的味道,店內有數十款精油可供選擇,而每款精油都有不同的功效,本人就試了葡萄柚精油,味道非常清香好聞,並具有美白緊緻的效果。 首先頭部舒壓按摩,再結合頌鉢音療,美容師會敲響鉢,讓鉢的泛音環繞住頭部周圍,形成一種震動共鳴,頭皮舒服地微微發麻。 美容師再用熟練的手法進行全身的推滑、深按、擠壓、撥揉,達到經絡、筋膜、肌肉層層鬆綁,疏通骨縫囤積乳酸造成的疲勞,再把缽放到身體上,從上背、腰部、臀部、大腿、腳底一路下滑,每一個部位都會敲擊缽,讓聲波直接貼在身體上傳遞震動。無形的音波以宛如海浪般低沉的規律,漣漪般擴散到五臟六腑,霎時間全身舒服地癱軟下來。 頌鉢所發出的聲音能夠和大自然本身的頻率產生共鳴,能夠改善睡眠不好、壓力、抑鬱的情緒都能得到安撫,再結合ibeauty美容師的獨特手法,瞬間就把一切壓力,全身的疲勞和疼痛一掃而空。如果你喜歡按摩,一定要嘗試! Tips 地址:澳門主教巷5號iBeauty 葡文書局附近 預約電話 853 63936608 Wechat:iBeauty_Macau     FacebookI Beauty 專利防脫活髮middot;韓式抗衰老middot;美體Spa 護理

兒童護身五行吊墮
宗教玄學
熊神進・2022-01-06

#2022年小孩吊墜# 很多讀者給我的助理李小姐查詢微信13726267799, 為什麼2022年沒有一件護身符給小朋友的, 大家對娃娃的關心, 難道熊老師不知道嗎? 真是遺憾, 因為我的客戶群都是各國的藝人, 商界, 遠的不說, 就是昨天, 昨天有一位北京知名藝人, 她找我的助理, 下了一宗大的訂單, 數量之大令我做不來。 我的初心都是建議小孩子在臥室擺放一件「兒童護身五行吊墮」。 在玄學上, 父母給孩子, 除了物質, 還有的是精神, 責任、栽培以及無償的愛。父母給孩子三件禮物: 1 給孩子起名。 2 給孩子正能量的房子。 3 給孩子一件吉祥物。 「幸福兒童護身銀吊墜」是筆者設計, 這種吊墮是925純銀製造, 我的概念是依據佛教《大白傘蓋佛母》的咒來做基礎, 因為筆者很愛孩子, 相信佛母的慈悲也是愛孩子。我刻意鏤空吊墮中間, 在過去的期間,我留心一下,印度、斯里蘭卡的父母喜歡放一些香料進去, 亞洲父母喜歡放一些符灰進去, 而中國的父母喜歡放一些米進去。在吊墮上下方有穿繩扣, 我們根據小孩的出生年、月、日、時間去配一條長壽綿絮五種顏色, 至於下方的扣,我們就交由孩子的父母按自己喜歡去為孩子選取合適的吊墮了,這種設計,把父母的愛和佛母的愛都灌入「幸福兒童護身銀吊墜」,多殊勝。 正面是《大白傘蓋佛母心咒》吽瑪瑪吽尼梳哈, 字不在多, 師傅會根據小孩的姓名、出生資料開光護身法器,及上許願香祝福, 這功德, 是殊勝。 嚴格來說, 小孩的護身法器是掛在臥室, 小孩觸摸不到的地方就可以。「幸福兒童護身銀吊墜」直徑23mm, 為了安全考慮, 小孩吞了會造成氣道阻塞而窒息, 風水師傅要求父母注意注意擺放位置, 這是善心提醒。 父母亦可以請一條給自己, 寫下姓名, 出生資料就可以。 父母為孩子請, 必須把孩子的姓名, 出生資料寫下來, 老師會根據使用者八字來選長壽綿絮五種顏色。 這條法寶可以增加小孩的正能量,化解孩子八字中的凶星帶來負能量。例如小孩命中有血光星、牢獄星等,建議每月燒一枝 阿彌陀佛 贖罪香,理念更強。