搜尋

搜尋結果

【西雅圖。生活】華盛頓大學(University of Washington):紅磚建築下賞櫻花
走遍世界
原來世界這樣大・2018-04-09

在一年前買到去溫哥華的平機票,也造就了我回西雅圖的機會。過往太少不更事,那時候只想著「快點畢業,快點回香港」,到離開了才知道外國讀書的好。人嘛,總是有點遺憾。 這次回去探朋友之餘,趁有空順道走走西雅圖的景點,要是遊客打算遊西雅圖的,希望你也可以在這兒獲得一些重要的資訊啊! 在4月西雅圖也是櫻花盛放的季節,走在街道上,都是櫻花樹。不過櫻花樹比較集中的,就不得不提華盛頓大學University of Washington Seattle了。 在The Quad整個範圍都是盛放著燦爛的櫻花,一整花海使所有人都堆在這兒拍照。西雅圖的天氣還是這樣陰晴不定,本來下著毛毛細雨,走著走著又見到雲開始飄散,又看到藍天白雲了。想看到櫻花和藍天白雲的背景,還是要靠運氣! 除此之外,華盛頓大學是美國西岸最古老的大學,創建於1861年,是歷史悠久的學府。所以即使,不是櫻花季節,也值得前來參觀。華盛頓大學的建築是以紅磚的哥德式建築,甚有古典氣息。 而Suzzallo Library也是遊客必訪的地點,是美國大學之中排名第12名的藏書量,也是華盛頓大學校園中最大座的圖書館。不論是內部還是外牆,都經過精心打造。外牆刻的是18名史上的科學家及文人學者,為他們立像,以表示尊敬。 Suzzallo Library內的Reading Room有著教堂的五彩十色的玻璃窗,天花板伸延至七層樓高,一進去時那份宏偉叫人說不出話來,甚至有很多人說這個Reading Room很像《哈利波特》內的霍格華滋學校呢。 向前直視看到枱和椅子不斷的伸延,旁邊有著擺滿書藉的木製書架,整個感覺就如教堂般寧靜和祥和。學生仍然會在Reading Room 閱讀,所以進去時也要保持安靜。 雖然畢業於University of Washington, 但是在Tacoma分校。怪自己那時候太懶,跟Seattle分校沒緣,是我一個小小的遺憾。 一個不會踩單車的人靠著單車拍照,我在幹什麼?LOL

「時尚匯」購物中心浪漫情人節 時尚禮品 盡顯品味
購物‧時裝
Benjamin・2017-02-09

農曆新年剛剛結束,大家又馬不停蹄地為下一個節日準備了。這個專為天下有情人而設的節日,雖然浪漫醉人,但同時亦令人絞盡腦汁。什麼禮物既能盡顯心思又能為愛侶帶來驚喜相信是不少人的心聲。當大家還在苦思不下的時候,何不到「澳門銀河」綜合渡假城的「時尚匯」購物中心找點靈感,為摯愛送上一個時尚難忘的情人節作為澳門最具人氣的時尚購物熱點,「時尚匯」已精心搜羅多款別出心裁的禮品,不論是送給美麗動人的她,還是英俊瀟灑的他,都會令人喜出望外。 永恆之花 歌頌愛的故事 在情人節送上鮮花是很多情侶的「指定動作」,但鮮花的嬌艷美態只能維持數天。把花朵留在最燦爛一刻相信是不少收花者的願望。高級花藝 LE SEAN 的永生花系列,勢必帶領送花的新潮流。於情人節特別推出的小王子系列,用上最頂級的厄瓜多爾玫瑰,由專業花藝師人手製造,每朵燦爛奪目以及獨一無二。鑽石版的小王子系列更於保鮮玫瑰花的花瓣沾上鑽石粉,在玻璃罩的保護下高貴地綻放,在數年內都不會凋謝,為矢志不渝的愛情故事而高歌。 璀璨鑽飾 綻放迷人光芒 恆久不變的鑽石是雋永愛情的象徵。法國高級珠寶品牌 Chaumet 特別推出全新 Jeux de Liens及 Plume 系列款式,藉耀目鑽飾為愛侶送上甜蜜醉人的祝福。Chaumet Jeux de Liens 的玫瑰金吊墜及手鏈以粉紅色蛋白石或綠玉髓襯托美鑽,簡約優雅的設計滲透著時尚氣息,完美演繹品牌獨有的法式浪漫情懷。Plume 系列的訂婚鑽戒及婚戒,以羽毛作設計藍圖,輕盈簡潔,象徵無盡的愛與感情,也是一個相許一生的承諾。 國際高級珠寶品牌 Qeelin 亦趁著愛的季節,以全新色彩的 Ceramic Bo Bo 送達濃情蜜意。Bo Bo 中文諧音「寶寶」,別具「珍貴」、「寶貝」之意,象徵愛情的化身。破格時尚的黑色 Naughty Bo Bo 採用高科技陶瓷製作,鑲嵌珍貴寶石,歌頌刻骨銘心的愛情,更與 Snowy Bo Bo 18K 玫瑰金鑲白色陶瓷及鑽石心型的吊墜襯成型格注目的一對。 時尚皮具 提升個人格調 一件如藝術作品般的皮具產品,總是教人愛不釋手。更何況是以稀有皮革全人手工藝精製的手袋,更是女士摯愛。皮革工藝世家 kpny 的首家大中華區專門店亦開設於「時尚匯」,最具特色的手袋系列 Angelrsquo;s Wings,以鮮艷的撞色設計為充滿英氣的頂級鱷魚皮増添幾分女性嬌媚;設計精緻小巧的 Kiss 唇膏包使用矜貴的鴕鳥皮革以人手製作而成,內配有鏡子方便隨時塑造優雅的雙唇。 享譽全球的法國時裝配飾品牌 Roger Vivier 在情人節推出 TShirt Love Tattoo 系列,為優雅的Vivier 女孩插上愛的羽翼。一顆添上翅膀的紅心跳脫奔放,配搭「LOVE」字樣,就如熱戀中女孩子的心情一樣。TShirt Love Tattoo 系列包括 Sneaky Vivrsquo; 、Pilgrim 手拿包、運動鞋、高跟鞋和平底鞋,以飛翔的羽翼紅心綻放無比魅力與街頭風範。 情人節送禮物並不是他的特權;收禮物也不是她的專利。女生們何嘗不是為男伴送上一份體面禮物而毫無頭緒永恆經典的英國頂尖高級皮具及時尚品牌 Mulberry,受到來自城市的時尚靈感,以及英國鄉村工藝的薰陶,以最優質的皮革製成各式皮具用品,設計精美實用,且歷久常新。從卡片套、銀包、背包到公事包,應有盡有,必有一款適合都市型男。 濃情朱古力 盛載甜蜜愛意 相信不論是男生或女生,都難以抗拒朱古力的甜蜜誘惑。巴黎素有「浪漫主義之城」的美譽,來自巴黎的 La Maison du Chocolat 除了盛載濃濃的浪漫情懷,品質超卓的朱古力更備受推崇。朱古力總廚Nicolas Cloiseau以他非凡的手藝創造出巴黎主題系列及心型系列的情人節禮盒,主題禮盒含四種口味的朱古力,代表在巴黎一天內四段美好的時光;心型禮盒除包含經典無酒精朱古力蓉與果仁系列,還有一塊情人節限定心型朱古力。願大家能與特別的那位分享美妙的時刻。 由日起至 2 月 26 日,賓客只需消費滿指定金額,即可獲取各式美食餐飲禮劵,在「澳門銀河」的地道餐廳、精品咖啡店及米芝蓮星級食府大快朵頤,同時有機會贏取「時尚匯」購物禮券及酒店住宿,入住澳門 JW 萬豪酒店或「銀河酒店TM」的豪華客房。此外,所有參加者更可自動入選「每週大抽獎」,當中七位幸運兒更有機會贏取價值澳門幣 88,888 元的「時尚匯」購物禮券,所有獎品總值高達澳門幣 38,888,888 元。

歐安利:土生葡人律師故事
人物專訪
鳳凰天空・2016-02-25

Text布布 Editor Joanna Lee Photo Franky 身著一套深藍色筆挺西裝,臉上掛著親切的笑容,立體而精緻的歐洲面龐,舉手投足間透著一股濃厚的優雅貴族氣質mdash;mdash;這便是今次的採訪對象,歐安利律師給我的第一印象:有涵養,謙和而睿智。從他的舉手投足間以及訪談中,都能夠領略到屬於他的獨特人格魅力。 澳門回歸轉折點的親歷者 歐安利是自1980年畢業於葡萄牙里斯本大學法律專業後,就在1982年開始從事法律工作了。澳門回歸前,他連任5屆澳門地區立法會議員,並曾任澳門基本法諮詢委員會副主任、澳門特別行政區籌備委員會委員、澳門特別行政區第一屆政府推選委員會委員等職,可謂經歷並見證了澳門回歸的整個過程。當提到澳門回歸期間他的任務時,歐安利很願意分享當時他的職責:ldquo;1990到1999年是回歸前的過渡期,當時的任務主要是使法律更加地當地語系化。rdquo;葡澳時期,澳門的法律基本上是五個大法典,是參照葡國法律來制定的。當地語系化的任務就是結合澳門的實際,讓法律更加地適合澳門。他說:ldquo;我們現在生活在全球化時代下的世界中,這也讓普通民眾更加容易地去接觸其他不同的立法框架了。這也正是我的一個初衷。就像大家所知道的,澳門是一個源自歐洲大陸,尤其是沿襲葡萄牙的立法系統。現如今,葡萄牙屬於歐盟,而歐盟又有許多的新的立法系統。澳門仿佛是彈丸之地,但是它的作用又是非常顯著的。毫無疑問,澳門屬於中國,然而就立法系統來說,澳門又不在中國的法制系統之下,也不等同於中國法律。就拿毗鄰的珠海來說,澳門也有許許多多和珠海不同的地方。作為彈丸之地的澳門,不可能也不現實去產生一個完全由自己創造的法律。rdquo; 提起當時的籌備工作,歐安利律師感慨道:ldquo;那時時間非常緊,並沒有想像中的充裕,所以我們整個團隊都要以非常高效的節奏去處理各項法律相關事情,所以在那期間我經常連續工作許多天不能休息,我的同事也跟我一樣的情況。但是幸運的是,我們把這一任務完成得令人滿意,這就夠了,也是非常值得紀念的。rdquo; 親歷了澳門回歸的歷史性時刻,歐安利更加感受到安定環境的來之不易。身為律師,他致力於國際比較法中,他說:ldquo;澳門極需國際比較法,不僅僅是國際法,更重要的是lsquo;比較rsquo;二字 。rdquo;問及為何要強調ldquo;比較rdquo;二字時,他這樣回答:ldquo;澳門當年面臨著許多的重大改變,就立法來說,我們需要一部與時俱進的做出相應改變的立法。要想做出改變,首先就要瞭解澳門的現實情況。它不是一個文字性的問題,不是僅僅關於書寫上的,或是好的文筆和正確的語法,它是關乎某個特定的社會現實,經濟的現實狀況。rdquo; 也許是律師職業自帶的放眼世界的屬性,歐安利特別提到澳門的地理位置的特殊性:ldquo;中國和葡萄牙都是世界上非常美麗的國家。自從我們與歐洲大陸有聯繫後,澳門,作為一個有著重要及特殊的先天地理優勢,是一個很好的聯結管道,可以將中西方的法律文化相融合,相借鑒。rdquo;畢竟,ldquo;中國不再是三十年前的中國了,中國的立法系統在這三十年的時間裡有重要的變化,而今中國有著非常好的現代立法系統。就立法來說,作為和歐洲大陸以及中國內地有著同樣緊密聯繫的地方,澳門是個絕佳的地理位置,去將一些新鮮的血液注入進來。rdquo; 卸下頭銜 返璞歸真 2004年,歐安利成為第一個加入中國籍的土生葡人。2008年,歐安利當選全國政協委員,是全國政協歷史上第一位土生葡人委員。ldquo;澳門特別行政區籌備委員會委員、律師業高等委員會副主席、澳門慈善會監事會主席、澳門貨幣暨匯兌監理署監事會主席、澳門政府司法委員會委員。歷任澳門第三、四、五屆立法會議員。曾任澳門基本法諮詢委員會委員、副主任。澳門特別行政區立法會議員、行政會委員hellip;hellip;rdquo;這麼多的光鮮亮麗有分量的頭銜,著實令人羡慕,其實都在描述同一個人,那就是歐安利大律師。這一個個非凡的頭銜,都訴說著那些年澳門的風雲變化,然而當問起他最中意哪個頭銜的時候,歐律師爽朗地笑笑說:ldquo;我最中意別人直接喊我啦,不要加頭銜。ldquo; 在談到ldquo;律師rdquo;這一職業時,許多人都會聯想到法庭上的雄偉辯論,精彩卓絕的辯詞,嚴肅穩重的角色。然而,在我們採訪談到有關澳門的文化時,歐安利rdquo;褪下了律師外袍ldquo;,又恢復到一個充滿著人文關懷的澳門居民角色了:ldquo;隨著地球村的不斷推進,澳門的經濟文化和周圍乃至世界的聯繫的確緊密了許多,也產生了許多很好的交流與碰撞。但是,我們亟需加強對澳門本土歷史概念的推廣與宣傳。澳門那大大小小的建築,的確在向我們訴說著它神秘的幾百年的歷史,我們也感知到它們的魅力。可是,年輕一代的澳門人,對於澳門四五百年的文化和歷史並沒有特別清楚的認知感。rdquo; 歐安利舉例說, 澳門今年有關於ldquo;澳門申遺十週年rdquo;系列的慶祝活動,比方各種各樣的展覽、活動推廣等等,但年輕的一代仿佛對此並不是特別熱衷,與此同時,我們亦很難向他們去解釋澳門本土的許多特色。 在談起年輕時代的他所經歷的事時,歐安利表示了無比的懷戀:rdquo;在我們那一代,我們那時的generation,周圍的房子呀建築呀都是低矮的,親戚朋友往來的也頻繁。那時我們有不同的音樂樂隊,許多年輕人聚在一塊兒。而今,這種人與人之間的聯繫沒有那麼強烈了,大概也是因為之後的人們不再在同一個地方生活的緣故吧。ldquo; 歐安利對澳門本土文化認同感的憂思,亦可看作是他作為澳門律師界四大才子的責任感,心系澳門:ldquo;放眼歐洲各國,你會驚訝地發現它們仿佛並沒有受到歲月的侵蝕mdash;mdash;教堂還是那座教堂,一磚一瓦,仿佛並沒有老去。但是澳門的lsquo;根rsquo;,卻並沒有像歐洲國家保存得那麼好,那麼樂觀。澳門的文化保存,這是個當下很急迫的事情,需要我們一同的努力,一同有意識地去維護、去營建一個環境。我有這份信心。rdquo;末了他強調,要想真正讓澳門的文化產業提起來,讓大家對澳門文化有種家的情結,一種溫暖的感動在的話,重點不在於教小孩子什麼語言,不在於你是說葡語還是普通話粵語亦或者英文mdash;mdash;重要的是一種人與人之間的touch,一種真正意義上的溝通。 後記:剛開始採訪時,稍顯緊張的我不知從何起頭,歐安利律師卻十分理解地開啟了話匣子,問我家鄉在哪裡,聽我提起了ldquo;杭州rdquo;二字,他親切地談起他每次去杭州的感受。這樣的家常式聊天,讓緊張的我放心下來,也更投入到採訪中去了。歐律師的關懷小輩的行為,在細節中可見一斑。百忙之中約到日程洽談,而到採訪結束時,他還不忘親切地問我有沒有採訪疑惑的地方,他關懷小輩,注重細節的態度,由此可見。

關於水果那死路一條故事
專題報導
活該快樂 // Carmen Lo・2018-01-05

我很喜歡吃水果,而據說,水果的智商是超過150的。(這究竟怎樣算出來?) 曾經有人告訴我以下的故事,令我深深佩服,怎麼天底下有那麼一種東西,縱使死路一條,仍不失動人。 植物本身不可以到處跑,水果是植物的果實,她就像一個聰明的媽媽,把種子都安全地保護在身體裡。她知道所有生物都喜歡對自己有益、有好處、漂亮的東西,所以她犧牲自己,把自己變成營養價值很高的食物,並努力打扮,利用外表和香氣吸引這些生物的青睞,甘願讓牠們把自己吞下肚,將她的下一代帶到其他地方去。 故事未完,生物吞下水果,按道理,胃酸應該會把整個水果都溶掉,包括種子。並不是啊!水果給吃掉之後,繼續發揮媽媽的特質,利用酵素保護孩子,讓孩子能夠迅速逃到腸裡去,避過胃酸的破壞(一般食物需要2至4個小時才到腸部,但水果只需30分鐘就逃至腸部了!)。所以我們常看見排洩物裡有水果種子,沒有給強酸的胃液溶掉,是因為水果媽媽到最後一刻,也要確保孩子隨著排洩物回歸大自然,延續下一代。 多麼動人的說法。讓我每次拿起各種水果,都會好好欣賞她的外型和香味,想起她要保護孩子的故事。 我時常在想,當水果給其他生物吃掉的時候,她的心裡一定很感謝牠們把她的孩子帶到遠方。這樣,吃水果的時候,自己也會心存感恩的心情,水果也特別香甜。

選擇困難症人士必睇!10款 Samsung 5G 旗艦級手機平板選購攻略
手機‧電玩
Lifemagtechie・2020-12-19

趁 5G 快將在澳門盛行的時候,Samsung 就已經一口氣推出 10 款可兼容 5G 網絡的手機和平板電腦。其出色的效能表現和人性化設計,能夠迎合不同年齡層面和工作需要人士使用。想知邊款 Samsung 5G 手機平板最切合您的需要,就請繼續往下閱讀。 MOP3,500 有找入門級 5G 手機 您絕對無眼花看錯。這款 3,500 澳門元有找的 Samsung A42 5G,它的螢幕有 6.6 吋大,而且電池容量超大,用上兩日也不用擔心無電。它還配備四個多功能的主鏡頭,旗艦級 CPU 的運算速度,影相錄片也有出色的表現。 旗艦級5G手機系列 S20 Ultra 1億像素鏡頭,攝影效果媲美相機 鍾意在澳門周圍影相的朋友,選購能夠與專業相機一較高下的 Samsung Galaxy S20 Ultra 5G 必定能夠滿足您的需要。它的 1 億像素鏡頭能夠拍攝出非常細緻的超高像素相片,即使影相後需要進行裁剪和放大,亦能夠保持極高的仔細程度,不過預算方面就稍為高一些。 和 S20 Ultra 5G 不相伯仲的 Samsung Galaxy S20 5G 手機,同樣是擁有旗艦級別的 CPU 速度及高解像度屏幕。雖然 S20 5G 的螢幕稍為細一些,不過它的機身較輕巧,價錢方面相對低一些,而且也能夠拍攝出高質素的相片出來。 為報答粉絲們的支持,Samsung 特別推出粉絲版 Samsung S20 FE 5G。它擁有較好的遠距鏡頭,功能完整,價錢親民,誠意十足的旗艦規格,十分切合需要全方位功能人士的要求。 Samsung Galaxy S20 5G 的機背是採用玻璃制,手感極佳,而且是全 Samsung 5G 旗艦手機系列當中最輕巧的手機。雖然它的螢幕不算大,只有 6.2 吋,不過價格合理,而且能夠拍攝出不遜於同系列其他型號的 5G 手機,是一款 CP 值且值得入手的 5G 旗艦級手機。 針對商務用戶 旗艦機配置 S Pen 1 億像素相機 如果購買手機的動機是為了令工作更有效率的話,Samsung Galaxy Note 20 Ultra 5G 就是最好的選擇。它能夠支援商務用家最經常會用到的 S Pen,書寫起來十分順滑流暢。它還配備 1 億像素鏡頭、6.9 吋大螢幕及強大的性能規格,無論是要拍攝高像素相片或享受優質的打機體驗,都能夠稱心如意,它就是您正在尋找平衡生活和工作的旗艦手機。 同樣是搭配旗艦級規格的 Galaxy Galaxy Note 20 5G 也能夠支援 S Pen,雖然螢幕稍為細一些,不過它具備高像素及高倍數的變焦鏡頭,拍攝遠距離景物就會更勝一籌。 最強摺機系列 手掌握大芒手機 崇尚輕鬆出行的用家,選購 Samsung Galaxy Z Flip 5G 就最適合不過。它機身細小,而且可以摺疊,不會佔用好多空間,攜帶起來十分方便。雖然機身細細,但它依然擁有旗艦級規格功能及 6.7 吋大螢幕,影相錄片也能夠拍出最佳效果出來。 同樣是摺疊式手機的 Samsung Galaxy Z Fold 2 5G,它結合了智能手機和平板電腦的優點,能夠隨時輕鬆變身成理想姿態為您服務。打開後的螢幕有 7.6 吋,能夠同時開啟三款程式。高尚的外型,耐用的機身,最能夠吸引所有用家的眼球。 旗艦機配備 搭載巨芒 Tablet Samsung Galaxy Tab S7 5G 擁有 12.4 吋超大螢幕及頂尖的硬體配置,能讓用家享受前所未有的優質影音娛樂體驗。除此之外,它可以同時開啟5個工作視窗,還能夠支援文書處理必備的 S Pen,加上有超低延遲及順滑的螢幕,令書寫起來更加方便,工作效率更進一步提升。 以上就是 Samsung 現時推出在澳門巿面的 10 款 5G 手機及平板電腦,希望能夠幫助大家挑購心目中適合自身需要的 Samsung 5G 手機和平板電腦型號。 作者:IronMan

【日本。沖繩自駕】沖繩美麗海水族館
走遍世界
80後愛旅行✈️・2022-01-07

沖繩美麗海水族館位於國頭郡的海洋博公園內, 水族館因有一個巨大的黑潮海洋而世界聞名。 一進來會見到一個巨大的玻璃缸, 種養著各種珊瑚和熱帶魚。而且這個大水池是沒有屋頂的, 就是可以讓沖繩的陽光自然照射, 並且採用開放式系統, 從水族館前的海水引入源源不斷的新鮮乾淨的海水。 ​ 大水池內有著各式各樣的海洋生物 ​ ​ ​ 往前走還有珊瑚和水母 ​ ​ 還有些水邊生物群 ​ ​ ​ 剛剛的地方是3樓, 繼續走我們會走到2樓, 眼前一定會被這個非常有名的黑潮之海吸引 黑潮是指日本近海最大的暖流, 因為海水溫度較高帶來了豐富的生態系統。在這裡可以看到成群的鯨鯊與鬼蝠魟在海中悠游。 是不是很壯觀 有人在旁邊做對比就知道這個水缸到底有多大 ​ 在黑潮之海旁邊有一家能看著這個quot;大海quot;進餐的餐廳, 邊吃東西邊有鯨鯊與鬼蝠魟在身邊游在游去, 感覺很奇妙 離開2樓的黑潮之海區之後, 來到1樓就是觀賞深海動物的區域了在這裡可以看到比較罕見生物。 ​ 海中也有螢火蟲 這些是能夠像螢火蟲般一閃一閃發亮的魚; 還有能夠反射紫外線, 發出燦爛螢光的珊瑚, 加起來就像螢火蟲般美 ​ 美麗海水族館是在海洋博公園內的, 離開在水族館後, 來到海洋博公園的其它地方, 看看其他的海洋生物。 海龜館​ ​ 海牛館 ​ ​ 沖繩美麗海水族館 沖縄美ら海水族館 沖繩美麗海水族館 國頭郡本部町石川424 GPS定位電話 0980482741 08302000 httpschuraumi.okinawatc

你開始寫 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進行端到端測試(endtoend testing),測試它在事後的影響範圍。 單純的框架功能:例如資料庫的儲存庫介面(repository interface),雖然是在框架下生成的,對於自己手動調整的部份功能,筆者通常亦不會進行單獨測試,通常都會搭配業務邏輯一起進行。它可以使用 Mockito 進行模擬測試,或用測試環境的真實資料庫進行測試。 面對的挑戰 總括來講,筆者盡可能地把測試用例限定在業務邏輯中,就可以大大地降低寫測試的技術難度。但筆者還是有些問題並未完美解決。 測試用例的數量可能很多,因此共用與維護變得相當困難。逐個用例獨立編寫輸入也是很累的。對於 Mockito 的使用,筆者還是可免則免。因為要逐個功能模擬,編寫量就指數提高,這亦難似配合外部變化。一般來說,能優先使用測試環境或者 Docker 來模擬環境的,就盡量用。 離線開發、離線測試。系統依懶的外部功能越多,想做單機開發的難度就越高。即使前述有 Docker 測試,對於持續整合(CI)來講也是有一定難度。那麼這時,Mockito 就是一個可取的選擇。但這又回到編寫量及難以偵測外部變化問題。 希望這篇文章能幫助你更好地理解測試案例的編寫方向,並在Spring boot web開發中加入你自己的測試!

陳康妮:在電子產品「誘惑」下,如何培養孩子愛上閱讀?
文化創意
陳康妮・2023-03-15

閱讀對於孩子的成長和發展有著重要的作用,它可以豐富孩子的知識、想像力和創造力,提高孩子的語言能力和思維能力,培養孩子的品格和情操。然而,在現代社會中,許多孩子因為受到電視、電腦、手機等媒體的影響,對於閱讀缺乏興趣和習慣。那麼,在澳門這個國際化的城市中,家長們該如何培養孩子愛上閱讀呢?以下是一些可能有用的建議: 營造良好讀書環境與氛圍 要想讓孩子喜歡閱讀,首先要給他們提供一個適合閱讀的環境和氛圍。家長可以在家裡設置一個專屬於孩子的書房或書角,放置一些適合孩子年齡和興趣的書籍、雜誌、漫畫等,並保持整潔、明亮、安靜。此外,家長也要給予孩子充分的時間和空間去自由地選擇和享受他們喜歡的書籍,不要強迫或限制他們。 陪同孩子一同討論讀書內容 要引起孩子的閱讀興趣,父母的陪伴不可或缺!因為孩子年紀尚小, 閱讀能力尚在建構中 ,因此需要父母 幫助孩子學習 。家長可以在選購或借閱書籍時,根據自己或者老師推薦來挑選合適且有趣味性高之書籍;也可以在每天晚上睡前或者周末假日時段安排親子共同看書時間;更重要地是,在看完書後與小朋友進行交流討論:例如問問小朋友喜歡哪些故事人物?故事中有什麼值得我們效仿或反思之處?故事中有沒有令你感動或驚奇之處?等等。這些問題不僅可以幫助小朋友理解故事內容及增加記憶力;也能夠刺激小朋友思考及表達能力;更能夠增加親密感及信任感。根據孩子的興趣選擇書籍 家長們要如何培養孩子的閱讀習慣, 書籍的選購是重點 ! 父母可以 根據孩子的興趣 ,選擇合適的書籍,比如:圖書、經典文學、科普知識、童話故事等。不要強求孩子看自己不喜歡或者不理解的書籍,否則會讓他們產生抵觸和厭惡。同時,也要注意書籍的難易度和質量,避免過於艱深或者低俗的書籍,影響孩子的閱讀效果和品味。 訂定每日家庭閱讀時間 陪伴孩子閱讀的好處,不僅能培養親子感情,同時還能 提升孩子的閱讀能力 。 如果家長們不知道該如何培養孩子閱讀習慣,可以先從 訂定每日的家庭閱讀時間 開始著手。例如,在早上起床前或者晚上睡覺前安排15分鐘到30分鐘左右的時間,與小朋友一起看書。這樣可以幫助小朋友建立固定且積極正面之閱讀習慣;也能夠增加小朋友對於閱讀之期待感及享受感。 鼓勵孩子表達觀後感 家庭閱讀時間結束後,父母可以鼓勵孩子表達對故事的觀後感,父母不僅可以 了解孩子的想法 ,同時也能把握機會,陪同孩子一同思考今天的收穫。例如:你從這個故事中學到了什麼?你覺得這個故事有什麼好玩或有趣之處?你對這個故事有什麼建議或改進之處?等等。這些問題可以幫助小朋友提高自己對於故事內容之理解力及評價力;也能夠培養小朋友對於自己及他人意見之尊重和包容;更能夠增強小朋友對於自己及他人成就之肯定和誇獎。 【作者簡介】陳康妮 Miss Connie澳門科技大學講師澳洲墨爾本大學主修教育管理學英國倫敦大學主修心理學美國國際培訓師(26年港澳培訓經驗)美國全球職涯發展師澳門資深教育家澳門教育專欄作家澳門教育學作家:書名:澳門教育創新澳門兒童文學作家(兒童科普)

雲系統持續更新,大家選擇是什麼?
科技新知
MacauYeah・2026-01-30

在開始之前,筆者先解釋一下自己對Linux發佈策略的理解。筆者之前以為自己都尚算了解,但到了兩難問題時,才開始反思。所以都不禁懷疑自己的基本觀念有沒有問題,如果大家覺得筆者多少有些理解上的錯誤,請留言糾正。 普通軟件的發佈 主要分為穩定(Stable GA, 測試(Edge Alpha Beta),特定版本。穩定、測試版本也可能有多個不同的分支,但它們主要是指不同環境下的選擇。通常安裝時,都會安裝最後的穩定、測試,除非最後版本有明顯Bug,我們需要回覆到再去的一個穩定版本。 當我們每次都更新到最後的穩定版本,我們稱之為rolling release. 以docker 官方建議的方式,我們在ubuntu底下,可以看到它的有很多結果回傳。 apt list allversions dockerce Listing... Done dockercenoble,now 529.1.41ubuntu.24.04noble amd64 installed dockercenoble 529.1.31ubuntu.24.04noble amd64 dockercenoble 529.1.21ubuntu.24.04noble amd64 dockercenoble 529.1.11ubuntu.24.04noble amd64 dockercenoble 529.1.01ubuntu.24.04noble amd64 dockercenoble 529.0.41ubuntu.24.04noble amd64 dockercenoble 529.0.31ubuntu.24.04noble amd64 dockercenoble 529.0.21ubuntu.24.04noble amd64 dockercenoble 529.0.11ubuntu.24.04noble amd64 dockercenoble 529.0.01ubuntu.24.04noble amd64 dockercenoble 528.5.21ubuntu.24.04noble amd64 dockercenoble 528.5.11ubuntu.24.04noble amd64 dockercenoble 528.5.01ubuntu.24.04noble amd64 dockercenoble 528.4.01ubuntu.24.04noble amd64 ... 我們可以選擇過去某個版本,但通常無腦update,就會去到最後一個版本。 Ubuntu的發佈策略 我們換個package看看,如果只看重要軟件的話,例如kernel,我們沒有什麼可以選擇 apt list allversions linuximagegeneric Listing... Done linuximagegenericnobleupdates,noblesecurity,now 6.8.090.91 amd64 installed linuximagegenericnoble 6.8.031.31 amd64 apt list allversions linuximagevirtual Listing... Done linuximagevirtualnobleupdates,noblesecurity,now 6.8.090.91 amd64 installed,automatic linuximagevirtualnoble 6.8.031.31 amd64 除了可選擇數量外,另一個最大的不同是,kernel的自身版本其實固定在 6.8.0,就算更新,都是同一個版本的ubuntu補丁版,並不是官方kernel的bug fix版。筆者認為,這應該就是所謂的point release的策略。 (如果大家安裝物理機的話,kernel可能會是6.14,筆者大部份都是VM,還是比較舊的版本。筆者保證,6.8.090.91與 6.8.031.31之間,曾經是有多個不同版本的。但現在沒法下載回來,除非之前大家有安裝過。) 但相同情況,我們找另一個package看看,由 ubuntu 自己打包的docker 版本,雖然可以選擇的數量是有限的,但它們的版本是不斷更新的,而且不是hotfix版,還有大版本更新。 apt list allversions docker.io Listing... Done docker.ionobleupdates,now 28.2.20ubuntu124.04.1 amd64 installed docker.ionoblesecurity 27.5.10ubuntu324.04.2 amd64 docker.ionoble 24.0.70ubuntu4 amd64 雖然版本是跟著官方docker最新版本,但也有持續跳級更新。如果真的要分類,筆者應該會把它歸類為 rolling release。 Rolling release vs Point release 花了一些時間看例子之後,終於開始討論我們自己的更新策略了。rolling release,最主要的原因是,舊版本無人再免費維護了,有什麼bug,都在最新版本中修復,但也因此有機會出現不相容的情況。point release,最主要的原因是為了維持極強的穩定和兼容版本,這亦代表,除官方專家出手,否則很難有舊版本的bug fix。 那麼我們有什麼選擇? 有point release,當然跟point release,因為程式不可能天天做調整。除非大家想要新功能再升級版本。 沒有point release,就手動自己選擇hotfix版或小版本升級。在升級大版本前,一定要做整合測試。若追求極致的穩定,升級大版本時就不要原機升級,要另起爐灶,似兩個相對獨立的環境並行過渡。如果有container版本,就用container隔離,一般java等都可以這樣建獨立環境。 沒有point release,也沒有可隔離的並行環境:其實 docker 接近這類。對它應的OS層的存取,雖然可以用VM隔離,但通常都不實際。因為重新安裝OS, 設定外部環境,成本很高。docker 在中 lab 並行升級是可以,但投産環境並行真的不實際。沒有辦法之下,筆者還是原機升級。頂多是lab中實現更多的整合測試。

重入膠坑2
手機‧電玩
MacauYeah・2024-11-21

水性漆上色 雖然筆者已經砌模型很久了,但很少試著自行上色。但多得模型開模技術的進步,以及水性漆、補色筆的出現,模型預設的分色再加上少量自行補色,就已經效果不錯了。以下是筆者完全使用水性漆+補色筆重塗的作品。打灰底後全部重新上色,白色為水性漆海棉干掃,紅色、藍色、黃色則為Marker筆。 海棉干掃要注意幾點,因為是白色,遮蓋力弱,一定要多層掃。而家每層一定要足夠輕透。筆者太貪,想半小時內就掃第二層,效果不是特別好。有條件的話,放個半天會好一點。感覺上白色遮蓋力弱,掃完第三層後,第四、五層的差別就不太大。大家可以自行取捨。 關於刮漆 大家留意自己的補色筆是不是水性,若果為水性,就跟水油的刮漆情況差不多。再加上小制作的情況下,使用補色筆都是為了方便,九成都不會預先打灰底,所以附著力會更弱。把玩時要更小心。(感謝賢者模型工作室關於水性油的選擇及指導。) 拍照把玩 作為經驗尚淺的筆者來看,老實講,在「上色」與「把玩」之間,還找不到共存的地方。前面已經提到,刮漆是會發生的問題,那怕大家用的是油性漆。更什的是,即使大家只打磨、素組、滲線,把玩多了也是會斷關節的。當花了一百小時精心制作,然後玩壞了,可痛心阿。若換成金錢來衡量,100元的高達模型,找代工精修上色,最後埋單可能要400以上,跟買一隻入門的成品模型差不多。所以大家在把玩之前,一定要做心理準備,斷了,就讓他去吧。塑膠,始㚵是不耐操。 雖然模型易壞,但放著不玩,就跟鹹魚沒有分別。所以筆者就拼著一去無回頭的決心,把高達模型扭下去(但也的確扭壞了兩三隻高達)。在這裏分享一些拍照的姿勢。 支架 拍照環境光不可控的情況下,不要拘泥於背景及支架。有條件搭個攝照棚,打光充足,誰不想。但條件不允許就要要拘泥那些了,找個有燈光的地板,手持拍照就好。選擇手持的原因是,拿得比較穩,重力干涉的因素較少,可以容易地調整模型的面向,使光源看來起比較充足。 構圖 如果是戰鬥模型,例如是高達,盡量選一些對角線構圖,會讓模型看來起更猛。另一個重點就是手機不要貼太近拍照,因為會變型。至少距離一個成人的手位,最後再把圖栽成合適的大小。或者在一個遠的位置,再使用1.5倍或2倍放大,拍出來的效果就跟肉眼感覺得差不多了。手機太近,一定是筆者卡關的問題,好不容易筆者才發現這一點。

陳康妮建議澳門教師設計自己人生
文化創意
陳康妮・2024-02-01

2024年1月26日 星報 陳康妮建議澳門教師設計自己人生 近日,澳門知名教育家陳康妮在一場教師演講會上。呼籲澳門教師要設計和引導自己的人生,以提升教育品質和學生的學習成果。陳康妮的獨特觀點引起了與會者的廣泛關注和討論。陳康妮多年來一直致力於教育改革和教師專業發展。在這次教師演講會上,她重點強調了教師個人發展和自我實現的重要性,並提出了一系列具體建議。 首先,陳康妮鼓勵教師要深入思考自己的人生目標和價值觀,並將之融入到教育工作中。她認為,教師不僅僅是知識的傳授者,更是學生成長的引路人。通過將自身的價值觀和人生經驗融入到教學中,教師能夠更好地影響學生,激發他們的學習興趣和潛能。 其次,陳提出了教師專業發展的重要性。她主張教師應該不斷學習和更新知識,並積極參與專業培訓和交流活動。同時,她鼓勵教師要善於反思和自我評估,不斷提升教學效果和學生的學習成果。只有不斷追求進步和專業成長,教師才能夠更好地適應教育環境的變化,並為學生提供更優質的教育服務。此外,陳康妮強調了教師的自我管理和平衡。她指出,教師工作壓力大,需要面對各種挑戰和困難。因此,教師需要學會管理自己的情緒和壓力,保持身心健康。她建議教師要培養興趣愛好,保持良好的工作與生活平衡,以提高自己的幸福感和工作效能。 陳康妮在演講的結尾處表示,她深信澳門的教師具有巨大的潛力和影響力。只有當教師能夠設計並引導自己的人生,將個人價值和教育使命相結合,他們才能夠真正成為優秀的教育者,為學生的成長和社會的進步做出更大的貢獻。 陳演講獲得了與會者的一致好評。許多教師表示受益匪淺,對於自己的教育理念和專業發展有了新的思考。他們紛紛表示將努力實踐陳康妮的建議,提升自己的教學能力和對學生的影響力。澳門教師也對陳康妮女士的演講表示關注和支持。他們表示將積極推動教師專業發展和提供相應的培訓和支持措施,以提升澳門教師的整體素質和教育品質。對於澳門的教師們而言,陳的演講無疑是一次重要的啟示,他們將努力提升自己的教育專業水平,為澳門的教育事業做出更加卓越的貢獻。

[推介] 首抽無限十連抽|最後克勞迪亞
手機‧電玩
MacauYeah・2021-02-25

筆者玩了十多天,為大家簡介一下這款台港澳新代理「克勞迪亞」吧 復古像素風格 有著像素風格的「克勞迪亞」,雖然官方宣傳是RPG遊戲,但筆者試玩後,更像「傳奇系列」Tales of series的動作角色扮演。 遊戲因為是直版顯示,比較難以全統方式去錄影做介紹,所以這次都會以文字方式分享為主。 特點: 首抽無限十連抽 所謂無限,就是讓你放棄當前的抽卡結果,玩家可以一直重刷,刷到滿意為止,雖不然讓你完美抽卡,但你有不斷換卡的機會。所以你至少可以等出一現一張好卡再結束 英雄無分卡片Rank 個個英雄都獨具特色,不存在官方定義的強角弱角,大家可以放下心中包伏,練你想練的角色。 體力不是無限送,但也不會快到刷幾場就用完 正常關卡要消耗藍魂和紅魂來出戰,藍魂和紅魂可以經過冷卻時間來收集。藍魂、紅魂亦有收集上限,不像其他遊戲會送體力補償到你用也用不完。 劇情過場動畫不錯,能開耳機的玩家就享受更大,BGM不錯 動畫比其他手遊的彩繪+文字的方式要生動,美中不足的是,支線的劇情過去就找不回來。 每日活動都很有挑戰,也不是無腦的一天可以從新角變滿等 初玩感受 這是一款可以自動放養或手動衝Rank的遊戲,如果是衝忙的上班族,可以用自動技能,每日打打主線,看看支線,但獎勵不會特別豐厚;有多點時間的朋友,可以手動挑戰一些關卡,著重練不同角色,打算自己的隊伍。 下載連結 android, ios 封面照片來源, 巴哈姆特

Design Pattern: Observer / Subscribers - Push vs Pull
手機‧電玩
MacauYeah・2023-09-29

相信一般入行IT不久的朋友,都會知道IT系統更新時,有推和拉push、pull兩種方式。特別是Programer,對於觀察者模式又或者是訂閱者模式Observer Subscriber 會有更多的使用經驗,例如OS programing要處理event bus,Mobile App要做的推送通知Push Notification。 但一般來說,很少人討論推和拉push、pull的問題,筆者就著一些踩過的坑來說說差異。 首先,在一個通訊相對穩定的系統中,Push、Pull都很好用。例如同一個OS內,它的socket或pipe可以看作很穩定,可以假設那些要廣播的消息可以正常傳遞出好。但好用歸好用,這個模式對於越來越複雜的交互系統都有一個無法明確處理的問題:怎樣去處理觀察者訂閱者自己的操作失敗問題。 對於非IT行業的讀者來說,只要你接觸過手機即時聊天程式IM,如whatsapp, wechat, facebook messenger應該都會遇到一個問題就是:你收到OS提示通知,但打開聊天程式卻看不到新的對話內容;又者是你連續收到多個同一個內容的提示通知,那怕你已經讀過了。這些都代表了,手機端當初時沒有好好即時回應是否已經操作成功,不需要重複通知的問題。有可能是手機當時掛了,也有可能是網絡不太好。 上述的例子,對一般人來說,可能影響不太。因為重複收到訊息,又或是漏了訊息,也不會怎樣。但對於業務系統,例如定期收費,多收一次又或是少收一次,都會引起某部份關係者的不滿,即使事後有退費機制,但有些匯率問題,始終會有差異。在傳統架構上,有規模的公司系統都可能會使用內部的中央資料庫等做交易transaction管理,整個過程,都要嚴謹地記錄廣擴是否成功、觀察者自己的操作是否成功。 在近代,分散式系統又或是微服務的出現,令上述的中央資料庫無法實行。如何好好地重新定義好Transaction管理,就是一大挑戰。筆者最近亦實作了一個要在微服務的上廣播的觀察者模式,但雪上加霜的是,在互聯網的環境下,廣播的消息沒法保證可以正常傳遞出好。觀察者訂閱者可能已經正常收到消息,也做了相應的操作,只是來不及回應,網路就斷了。這令重複發送信號的可能增加了。 如果說,要以平民的方式去實作這類廣播,Pull會比較有大的容錯。廣播者只是通知觀察者訂閱者來拉資料,保證廣播當時的資料量可以盡量地少。廣播者開放盡量大的查閱權,觀察者訂閱者可以自由決定事後更新要取得的資料量。但這樣每個觀察者訂閱者都要重做一次同步機制,不過好處是,主動權在於他們自己手上。 相對地,Push的容錯就低一點,但要付出的成本也跟Pull差不多。因為網路環境,大家要重現一個基於TCPIP而有commitrollback的難度較大。當網路出現斷線,廣播者無法確定是否需要重做。在重複收到訊號時,最後還是需要觀察者訂閱者來決定怎樣處理重複記錄。但比Pull好的是,Push可以限制單次訊號的傳送量,也可以確保觀察者訂閱者一定收到特定的記錄。 上述就是筆者在這一年來遇過的坑,如有什麼不足,很歡迎大家一起來作更多討論。