搜尋

搜尋結果

盛夏八月, 在澳門品味西班牙桃樂絲, 享受微醺醉人時光
澳城餐飲
小燕品味・2024-08-23

陽光燦爛的盛夏, 讓我們一起在八月最後一個週五黃昏,參與一場微醺品酒盛會,於時尚典雅的澳門JW萬豪酒店大堂酒廊品味舉世聞名的西班牙桃樂絲酒莊(Familia Torres)八款各具特色的佳釀,以美酒佳餚歡送八月,喜迎九月的到來。 家傳戶曉的桃樂絲酒莊早前被英國權威雜誌國際酒飲評選為2024年度備受尊崇葡萄酒品牌榜單榜首,這是繼2014, 2015, 2017, 2018, 2021, 2022 以來第七次獲得此項殊榮。 自1870年,桃樂絲家族便在賓納戴絲地區(Penedes)古老的加泰隆尼亞(Catalonia)鎮釀造葡萄酒,深耕葡萄酒釀造與葡萄種植,以歡慶人生,關愛土地,延續傳承自根源流傳下來的傳統。家族使命始終貫徹初心:ldquo;我們致力於同一個目標:從土壤到餐桌,我們釀造出品質不凡的葡萄酒,旨在鼓勵人們在世界每個角落留下難忘的美酒經歷。rdquo; 桃樂絲家族至今傳承至第五代,早已成為西班牙最大的葡萄酒生產商,且不僅在西班牙、智利和美國加州擁有自己的酒園,並是行銷世界140多個國家和地區的國際化品牌。 2024年4月, 84歲高齡的老莊主米高middot;Amiddot;桃樂絲先生重臨中國,接受訪談時被問到桃樂絲家族保持自身優勢的秘訣是甚麼時,他就表示酒莊生產的葡萄酒品質非常穩定,且擁有全球性的網絡和分銷系統,可持續發展同時非常重要。 事不宜遲,讓我們率先劇透JW萬豪 桃樂斯酒莊品酒派對酒單。聽說這次酒商為了答謝知音者,都選用了多款桃樂絲多款旗艦酒款,喝完八款就真是值回票價了。 如果您是 Wine Society of Macau的會員,還將獲贈價值澳門幣150的禮品酒1份, 實在是太超值了,真的不要錯過這次優惠。 首先介紹三款必試酒款 Purgatori, Costers del Segre 2017 神曲紅葡萄酒 Purgatori神曲來自於西班牙一個海拔高聳、嚴峻氣候的產區Costers del Segre,酒標上印著天使將整桶酒帶走,傳說中『僧侶克服惡劣氣候條件釀造出第一桶酒,突然有一天整桶酒消失了,因為太好喝天使將全部都帶往天堂。』 飽滿、爆棚的果香除了原生葡萄品種Carinena、Garnacha之外,添加了Syrah增添單寧與深色水果、皮革、黑巧克力氣息 原本黑色莓果以及接近果乾的香氣,頃刻過後轉變果香主導交織著太妃糖、甘草、乾燥土壤複雜香氣,單寧細緻沒有大骨架, 但充滿了許多精緻的小結構。 Vivino:4.1 Decanter 95 Mas La Plana, Penedegrave;s 2016 馬斯拉普拉納赤霞珠黑牌紅葡萄酒 Mas La Plana (俗稱黑牌),桃樂絲酒莊黑牌紅酒 在1979年法國美食雜誌所主辦之葡萄酒奧林匹克,在最高等級之卡貝納品種比賽中,以更高分數比過同年份之法國頂級酒莊Chateau Latour及La Mission HautBrion勇奪冠軍而名震酒壇。 Mas La Plana富含深度且優雅,熟成於新法國新橡木桶中18個月,強烈的香氣展現了風土的經典特色,口感厚實,尾韻悠長的Mas La Plana,深櫻桃色澤,洋溢濃厚的咖啡香氣、松露、黑莓果醬香氣,帶有些許香料及甘草香,結構良好且單寧優雅緊實。 酒質 色澤深櫻桃紅,洋溢濃厚咖啡、甘草及淡薄奶油糖和土司烘培燻香,口感均衡,結構良好且單寧柔順在甜潤果味中引出可可豆、松露和香草複雜味道,後韻悠長,酒中豐富、健康的單寧適合搭配所有肉類。 評分 Robert Parkerndash; 93分 2015, James Suckling 93分2016 Torres 10 Imperial Reserve Brandy Cocktail Sidecar 桃樂絲10年白蘭地 側車Sidecar雞尾酒 首先介紹桃樂絲10年白蘭地,自1946年以來,酒莊精心釀造與長時間於橡木桶的熟成,讓這款白蘭地出類拔萃。 採用傳統的索雷拉(Solera system)釀造系統進行熟成。將成熟過程中所使用的酒桶分為數層堆放,最底層的酒桶存放最老的酒,最上層的酒桶存放最年輕的酒。每隔一段時間,酒廠會從底層取出一部份的酒裝瓶出售,再從上層的酒桶中取酒,依順序補足下層所減少的酒。透過這種特殊的陳釀系統,可以讓酒液同時兼具新酒的清新與老酒的醇厚,讓酒液保持一致的風味。「索雷拉」指的是陳釀過程中用到的酒桶或者其他容器。 隨著時間的累積,美國橡木桶優雅、圓潤的香氣與白蘭地和諧地融合。此款白蘭地散發著花朵的韾香與辛香料的香氣。口感圓滑且富含單寧,餘韻繚繞且悠長。 在是次品酒會上, 賓客將有機會以桃樂絲10年白蘭地調配側車Sidecar雞尾酒, 材料包括 50ml 白蘭地, 20ml 橙酒, 20ml 檸檬汁。 Sidecar是在1921年被發明的,由名聞遐邇的巴黎麗茲酒店,向酒客遞上第一杯Sidecar,當時的歐洲,依舊蔓延在二次大戰的烽火漫天之下,一位駐紮在法國巴黎的美國軍官,風塵僕僕地現身在麗茲酒店,叮囑調酒師以干邑白蘭地、君度橙酒、檸檬汁,調製出令他極為滿意的特製調酒。 Sidecar原本指的是摩托車旁副駕的側車,當時因無法知悉美國軍官的姓名,調酒師便以軍官所坐的側車Sidecar,為他獨特喜好的特調命名,從此Sidecar就被寫入了傳奇調酒的紀錄中,時至今日,這杯調酒依舊在燈紅酒綠的酒吧裡,綻放迷人的璀璨光芒。 當然, 品酒會上還有多款桃樂絲代表性酒款, 介紹如下 Sangre de Toro Cava NV 公牛血Cava汽泡酒 來自西班牙的桃樂絲家族,公牛血系列,正是桃樂絲家族的經典。它熱情歡快的特點,也向世界展現西班牙人民的生活方式。 採用傳統香檳釀造工藝,在精緻的淡黃色中,閃爍著奶油般豐富的氣泡,充滿花香和新鮮的果味。這是一款為慶典、浪漫晚餐和特殊時刻而準備的葡萄酒。 Vina Esmeralda Catalunya 2020 艾斯瑪瑞達白葡萄酒 小天使 產區: Catalunya 西班牙北部加泰羅尼亞 外觀:色澤淺黃帶青黃光彩,果味微甜而清新爽口,口感清雅,果味豐富,帶有青蘋果後韻。適合搭配鱷梨、海鮮雞尾酒、魚、甜瓜、醃肉和豬肉配甜醬。 香氣:香味特別芬郁,帶有荔枝、百香果、香蕉、玫瑰、香片及淡淡香料芬香以及芬芳的花卉如玫瑰、百合香氣,富含誘人的異國情調香味。 風味: 輔以控制發酵而來的氣息,風味絲柔多汁。 Fransola Sauvignon Blanc, Penedegrave;s 2014芬蘇拉單一園蘇維翁白葡萄酒 親近自然才能釀出品質完美的葡萄酒,這就是20年前酒莊選擇位於佩內德斯、有著優越環境的芬蘇拉做為葡萄園的原因。 夜晚冷涼、白天溫和的氣候十分適合葡萄藤生長,讓酒莊能收成品質最佳的白蘇維翁葡萄Sauvignon Blanc與帕雷亞達葡萄Parellada,並釀造出這款優雅平衡的葡萄酒。 這款獨特的白葡萄酒以白蘇維翁葡萄釀造,部分酒液經發酵後在美國新橡木桶中陳年。 異國水果百香果與綠無花果強烈複雜的香氣,與烤麵包、香草香在法國新橡木桶中陳年而得精緻完美的融合。葡萄酒的酸度帶來良好的平衡,餘韻悠長並帶些許花香。 Sangre de Toro Reserva, Catalunya 2015 公牛血特級珍藏紅葡萄酒 1954 年,Miguel Torres 先生已在該地尋求最珍貴的格那希葡萄Garnacha奧佳葡萄Carinena, 以釀造一款獨特且能表現當地風情的葡萄酒。於是,Toro誕生了,取名自古羅馬神話的酒神Baccus又被稱為下【公牛之子】。 一款令人愉悅的日常葡萄酒,散發出黑莓、李子、紅茶、皮革、香料和餡餅皮的香氣。 酒體飽滿,酸度清新,單寧柔順,餘味乾爽。 口感:李子、黑莓、黑胡椒、皮革、肉桂和雪松味道。 Torres Celeste Crianza, Ribera del Duero 2020 星空特選紅葡萄酒 一款華麗的葡萄酒,有著水果風味、良好酒體與飽滿色澤,如同斗羅河岸的星空般獨一無二。 在這個海拔895公尺高的地區,天上的星星與雲朵幾乎伸手可及,空氣中飄散著濃郁的花香,不論是日出或日落,陽光總是明亮耀眼,這裡就是星空紅酒的家鄉。 西班牙桃樂絲家族精心打造的首款斗羅河岸紅酒,在此誕生。 品飲筆記: 色澤如黑莓般深沉集中,香氣濃郁,成熟莓果的甜美香氣為首,甘草與些許黑胡椒的香料氣息則緊接其後。甫入口果味十足,單寧成熟圓潤,酒體飽滿,餘韻綿長。 看完所有酒款的介紹, 大家是否都非常期待享受這場充滿西班牙優質醇酒的魅力呢 現場還有多款精心設計的佐酒小食, 將讓大家這場味覺享受帶來完美句號。 mdash;mdash;mdash;mdash;mdash;活動訊息 mdash;mdash;mdash;mdash;mdash; 日期:2024年8月30日 下午630至900 地點:JW萬豪酒店大堂酒廊 價格:澳門幣268位(每位Wine Society of Macau會員將獲贈價值澳門幣150的禮品酒1份) 訂座 853 8886 6228 httpsbit.ly3WlBJGS #TorresWine #JWMacau #桃樂絲酒莊 #JW萬豪酒店

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 都己處理,只是必需要很懂處理版本衝突問題。

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

在預設Docker和K8s的容器主導世界裏面,其實一直都缺少了直觀的儲存空間。當你的程序需要讀寫故定的來源資料,該來源就必需是外部的穩定儲存空間,例如是資料庫、NFS。但資料庫、NFS等,要做到真的正穩定,其實就要走Cluster叢集模式,確保它們自己本身不是做成single point of failure 單點故障的元兇。 坊間,只要付得起錢,其實找個穩定的資料庫或NFS,也是有的。但如果你像筆者一樣,只有一塊或多塊【鐵】,就要試試開源的儲存引擎Ceph Storage。 Ceph Storage,有自己特有的CephFS格式,但也支援NFS httpsdocs.ceph.comenquincycephadminstall。也就是,只要我們有足夠多人力,道理上可以自己用實體機去模擬一個穩定的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】httpsdocs.ceph.comenreefcephadminstall#addinghosts 節章可能有些誤導,大家應該要看 【Host Management】中的【Adding Hosts】 httpsdocs.ceph.comenreefcephadmhostmanagement#cephadmaddinghosts 在每個節點內,可以直觀地連接地Ceph Dashboard,但若大家需要Port Forword,要注意你的Network Interface,筆者就只能經過預設的IPv4的public ip 進行ssh port forward,不能經過0.0.0.0。 Script 位置 httpsgithub.commacauyeahubuntuPackerImageblobmaininitCephCluster.sh

【澳門月餅早鳥優惠推介】
澳城餐飲
Cheers!・2024-08-16

仲有一個月就過中秋啦!大家有冇心水嘅月餅呢?襯依家好多月餅仲做緊早鳥優惠, 小編就幫大家搵左幾間有早鳥優惠嘅月餅! 澳門麗思卡爾頓酒店 「月麗花朝」月餅禮盒 迷你奶黃月餅及迷你流心朱古力月餅兩款口味,MOP598 盒( 8件),於8月22日或之前可享早鳥優惠MOP 478 盒; 詳情:httpswww.galaxymacau.comzhhantoffersdiningritzcarltonmacaucreateremarkablememoriestouchelegancemidautumnfestival 澳門雅辰酒店月餅禮盒 雙黃白蓮蓉及金沙奶黃兩款傳統口味嘅月餅,MOP 368盒 ( 4 件),8月31日之前購買可享75折早鳥優惠; 詳情:httpswww.artyzen.comschotelsartyzengrandlapamacauoffersmidautumnmooncakes 澳門旅遊塔「中秋明月」月餅禮盒 融合澳門旅遊塔特色設計,四款傳統口味月餅:雙黃白蓮蓉月、雙黃陳皮豆沙月、陳皮香雙黃黑芝麻月、上品伍仁金華火腿月,於官網預訂可享早鳥優惠 MOP$280盒(4件); 詳情:httpswww.macautower.com.mozhhantproductmooncake 澳門新葡京酒店「銀月生輝」 迷你流心奶皇手工月餅禮盒,MOP 468 盒(6件),8月25日或之前預訂禮盒,即可享85折早鳥優惠! 詳情:httpswww.grandlisboa.comtcofferssilverlunamidautumndelights 澳門皇都酒店正宗上海月餅 酥皮豆沙月餅、酥皮鮮肉月餅、酥皮尊貴雙色,MOP 320盒,8月27日前或之前購買正宗上海月餅禮券,可享有高達75折早鳥優惠; 詳情:httpswww.hotelroyal.com.motcdiningauthenticshanghainesemooncakeearlybirddiscountupto25

澳門新濠影滙「玥龍軒」聯手香港「營致會館」米芝蓮晚宴,新派粵菜的獨特風味
生活在我城
Cheers!・2024-08-13

鍾意食粵菜的你要留意啦!「玥龍軒」times;「營致會館」聯手呈獻,澳門新濠影滙將迎來一場粵菜美食晚宴!香港米芝蓮兩星粵菜「營致會館」的蕭顯志師傅,聯手新濠影滙米芝蓮一星粵菜「玥龍軒」的黃煒皓師傅,於9月14日呈獻【星級四手晚宴】。兩位大廚將以四手合璧,堅守粵菜傳統,並由此推陳出新,共同推出私宴精選菜單。光聽到兩位師傅的名號及創新粵菜的好滋味,小編我已經迫不及待想要先嘗為敬~ 從8月15日起就可以開始接受預訂啦!成為「新濠風尚」會員更尊享9折優惠! 精選菜色: 黃金魚子醬前菜三小品 金魚子迷你焗釀蟹蓋 用帝皇蟹、花蟹、洋蔥、蝦、帶子和瑤柱製成餡料,配上黃金魚子醬,菜品鮮味更上一層樓! 鱘魚子百花乳豬件 香脆乳豬皮配上百花釀饅頭和黃金魚子醬,口感豐富特出,香脆又鮮美。 魚子醬煙燻加拿大帶子 加拿大帶子煎香外層後煙燻,加入蜜豆泥和黃金魚子醬,把煙燻香氣、帶子的嫩滑質感、魚子醬的奶油香味完美結合。 干邑文火安格斯牛肋肉拌鴛鴦蘆筍 美國安格斯牛肋肉加入干邑文火慢燜3小時,濃郁的牛肉香味和帶有淡淡干邑芳香,配上澳洲蘆筍,鮮甜爽脆。 橙香桃膠燕窩小丸子 改良傳統酒釀丸子加入香橙和燕窩,味道和口感提升。這道菜象徵把客人當成親朋好友,歡迎常來。 星級總廚: 米芝蓮一星粵菜「玥龍軒」行政總廚黃煒皓師傅 掌勺廿多年,堅守粵菜傳統的五滋六味:甜、酸、苦、辣、鹹、鮮,並在此基礎上加入現代創意,秉持不時不食的原則,不斷提升出品質量。 米芝蓮兩星粵菜「營致會館」行政總廚蕭顯志師傅 擁有逾45年的粵菜烹飪經驗,一直堅持傳統,以其獨特的烹飪技巧和精湛的海鮮烹飪能力,將食材的天然鮮味發揮得淋漓盡致,備受推崇。 立即預訂: 「玥龍軒」times;「營致會館」四手聯乘星級四手晚宴 日期:2024年9月14日 地點:玥龍軒,澳門新濠影滙巨星滙二樓2111號 價錢:六道菜晚宴每位澳門幣 2,088(「新濠風尚」會員尊享9折 ) 餐酒搭配額外每位澳門幣688 預約服務:853 8865 6560 詳情:httpss.ctm.net2`AMe

您有一封海島「型」夏泡泡派對邀請函
澳城餐飲
小燕品味・2024-08-09

2024的暑假轉眼已過了一半!隨著熱浪來襲,盛夏熱情高漲之際,鷺環海天度假酒店酷爽推出海島「型」夏泡泡派對,讓大家好好抓住夏日的尾巴,感受海島風情的魅力!無論是家庭親子歡樂、摯愛浪漫時光、良朋暢聚狂歡,皆可沉浸式參與一整天的泳池派對,享受連串精彩活動及體驗, 品味國際美食自助燒烤晚餐,暢飲啤酒及特色飲品。在此讓筆者為大家介紹一下派對攻略: 海島「型」夏泡泡派對 日期:2024年8月24日 早上11時至凌晨2時 價格:淨價澳門幣 664 成人;淨價澳門幣 332 小童 預訂及查詢:請致電 853 8899 1020 或 發送電郵至fbadmin@grandcoloane.com 雙人住宿套票 預訂日期:由即日起至2024年8月23日 入住日期:2024年8月24日 套票可尊享: 1晚住宿(8月24日) 海島「型」夏泡泡派對免費入場門票(8月24日) 享國際美食自助燒烤晚餐、暢飲啤酒及飲品(供應時間:晚上6時至晚上10時) 成人可享1支無酒精海島特飲及2杯免費飲品,小童可享1支無酒精海島特飲及1杯免費飲品 (供應時間:早上11時至晚上6時) 成人可享2杯免費雞尾酒或無酒精雞尾酒(供應時間:晚上10時至凌晨2時) 價格: 澳門幣 2,150 2位成人 澳門幣 2,400 2位成人及1位小童 澳門幣 2,650 2位成人及2位小童 預訂及查詢:請致電 853 8899 1198 或 發送電郵至 reservations@grandcoloane.com 全日盡享一系列遊戲 桌上足球、投籃挑戰、拋豆袋對決、水杯乒乓球挑戰及井字過三關 上午11時 ndash; 下午6時:享1枝無酒精海島特飲及2張免費飲品券 下午6時 ndash; 晚上10時:盡享國際美食自助燒烤晚餐、暢飲啤酒及飲品 晚上10時 ndash; 凌晨2時:享2張免費飲品券 活動節目及體驗 3pm330pm 美人魚體驗 330pm5pm 直立板互動體驗 5pm530pm 美人魚體驗 630pm715pm 美人魚表演 715pm720pm噴火特技秀 8pm830pm 澳門本地泳裝及度假品牌時裝秀 1030pm0030am 舞蹈表演 現場音樂表演 1pm5pm 美女DJ Luna電音演出 715pm8pm MOJO樂隊現場演唱 830pm915pm MOJO樂隊現場演唱 930pm1015pm MOJO樂隊現場演唱 1030pm2am 美女DJ Ice電音演出 鷺環海天度假酒店特別推出多款超值套餐,以供選擇。 鷺環海天度假酒店在多個地點安排免費穿梭巴士,以方便客人輕鬆前往! 另外,為了讓大家擁有更不一樣的海島假期,鷺環海天度假酒店特別呈獻海島住宿限時搶購,套票包括1晚客房住宿,以及澳門幣200元餐飲消費額,在各有特色的全景咖啡廳、觀海軒中餐廳、全景大堂吧、池畔酒吧享用佳餚。 推廣期間:由即日起至8月18日 入住期間:8月26日至12月31日 價格:可享30%折扣(由澳門幣 700 起) 預訂及查詢:請致電 853 8899 1198 或 發送電郵至 reservations@grandcoloane.com 觀海軒中餐廳 全景咖啡廳 池畔酒吧 鷺環海天度假酒店,位於澳門路環島,一直被譽為澳門的後花園,是文物遺產和自然美景,是澳門少有的自然度假酒店,既遠離塵囂,但距離路氹金光大道僅10分鐘路程。在這裡可以投入真正的度假體驗,俯瞰黑沙海灘及南中國海的優美景色,感受海島風情。 文末彩蛋 限時優惠以澳門幣 1,088 購買為期12個月的海島悠遊「食住歎」餐饗會員,即可尊享1晚尊貴客房住宿連雙人早餐、雙人海天下午茶套餐一份及澳門幣 200 餐飲禮券,更可於指定餐廳及酒吧享有低至8折優惠: 8折優惠 鷺環海天度假酒店:全景咖啡廳、全景大堂吧、觀海軒中餐廳 澳門雅辰酒店:薈景閣餐廳、灆泰國餐廳、金麗軒中餐廳及乘風廊酒吧 澳門旅遊塔會展娛樂中心 ( 僅限晚市):360deg;旋轉餐廳、南湖明月及皇家葡萄肴 85折優惠 澳門高爾夫球鄉村俱樂部:櫻花日本餐廳 珠海橫琴雅辰悅居酒店:思方匯餐廳咖啡館 禮遇總值高達澳門幣4,700 現在限時僅需澳門幣988即可享受,額外附贈餐飲全年低至8折優惠 資料及圖片提供 鷺環海天度假酒店 #鷺環海天度假酒店 #海島印記 #泡泡狂歡 #泳池派對 #夏日樂趣 #澳門活動 #早鳥優惠 #現場音樂 #美人魚體驗 #泳裝時裝秀 #直立板互動體驗 #自助晚餐 #暢飲啤酒 #GrandColoaneResort #MakingMemories #BubblyBash #PoolParty #AllBlue #Mermaid #DJ #AltaBella #SwimwearFashionShow #Sup #SummerFun #MacauEvents #EarlyBird #LiveMusic #DinnerBuffet #FreeFlowDrinks

Spring Data 關聯型態 02
科技新知
MacauYeah・2024-08-09

Presist and Casecade 前次的文章,講了一些Spring Data最基本的關聯概念,但當要正式儲存或刪除,就有些考慮完整性問題。平常我們在處理資料庫的關聯表格時,也需要面Foreign Key的正確性問題。同樣地,Spring Data也有這方面的考量,但它有提份一個很方便的CascadeType選項,可以簡化一些流程。 假設你只能存取Parent Repo,那你需要在Parent中,加入CascadeType.All。當repo.saveparent時,它就會順多把所有child的也一併進行Save,你也不需要有Child Repo的存在。 @OneToManymappedBy=quot;parentquot;, cascade = CascadeType.All List children = new ArrayList; 但在複雜的狀況下,例如你不想在更新parent的情況下,不小心弄到child,特別是經過public web下的API操作,你對web client的資料正確性有存疑,就不要使用CascadeType了。這也是筆者認為在大多數情況下,我們都會把Parent和Child的CRUD分開操作,然後根據需要使用各自的repo save。 如果你一定要用CascadeType.ALL CascadeType.REMOVE,就要再留意刪除的問題。為什麼?因為刪除 parent,其實指的是某個parent不再存在,但不代表child也要一起刪除,child的parent連結可以變為null,也有重新連結其他parent的可能。 如果大家確定需要共同刪除,就可以用CascadeType.ALL 或 CascadeType.REMOVE。 還有一個新的選擇,orphanRemoval = true,也有類似效果。 @OneToManymappedBy=quot;parentquot;, cascade = CascadeType.REMOVE List children = new ArrayList; or @OneToManymappedBy=quot;parentquot;, orphanRemoval = true List children = new ArrayList; or @OneToManymappedBy=quot;parentquot;, cascade = CascadeType.REMOVE, orphanRemoval = true List children = new ArrayList; 筆者測試過,混著用也是可以的。若大家看過其他教程,可能會覺得orphanRemoval = true 和 CascadeType 總是一起出現,但它們其實是分別操作的。單獨使用orphanRemoval = true,有時候則是為了不會出現無主的child,但這不代表parent和child的想要同步更新。 JPA Entity 的生命週期 Spring Data跟傳統的資料庫Selete,Create,Update,Delete SQL 語句有所不同。也就是這個不同,它的CascadeType比資料庫的Cascade Update和Cascade Delete更強大。 Spring Data 預設其實是使用 jakarta.persistence.EntityManager,每個Entity主要分為四個狀態 Transient New 不在EntityManager的掌控中 Managed 在EntityManager的掌控中,將會在下次flush時,變成sql create或update statement Detached 脫離EntityManager的掌控,不受flush影響 Removed 在EntityManager的掌控中,將會在下次flush時,變成sql delete statement 在Spring Data Jpa 以前,我們若要直接操作Hibernate,經常見到persist, remove的寫法 entityManager.persistentity; entityManager.removeentity; entityManager.detachentity; entityManager.mergeentity; 其實persist就是把處於Transient、Removed的entity,改為Managed。而remove就是把Managed改為Removed。detach,merge也類似,就是Managed,Detached之間互換。 EntityManager最強大的是,它可以讓程序員不需要再為Managed狀態下的entity操心,它會自動判別下次flush,應該create還是update,如果完全沒有改動的,連update也不會執行。 註,flush和commit也有不同,flush就是從java寫到資料庫中,在資料庫commit前,還可以使用rollback放棄。 而Spring Data,則是進一步簡化,它把persist改為save,remove改為delete,然後自動選擇flush的時機。 CascadeType 在解釋完Entity 的生命週期後,終於可以回到CascadeType了。這裏的CascadeType不是資料庫的Cascade操作,其實它是指EntityManager的狀態操作是否有傳遞關係。亦即是,persistparent時,要不要連同child也一起操作 我們查看 CasecadeType 的原始碼,就可以發現可以被傳遞的操作共有以下這些 PERSIST MERGE REMOVE REFRESH DETACH ALL 以上全部 這裏的 CasecadeType.PERSIST ,跟資料庫的 Cascade Update 是不一樣的。資料庫裏的 Cascade Update,是指當 Parent 的 Primary Key 有變,對應child的 Foreign Key也一起變。但因為 JPA Entity 的機制, Parent 的 Primary Key 不可以改變,理論上不會發生類似資料庫的 Cascade Update,頂多有 Cascade Delete。 CasecadeType.PERSIST 就像之前述的生命週期解說一樣, 把 parent和 child 一起拉到受管理的狀態。 註 CascadeType.REMOVE有點尷尬,似乎有更特別的使用規範。筆者測試過,在某些情況下,CascadeType.REMOVE無法處理ForeignKey問題,又或者是,刪除的順序不對。詳見 spring boot data deletion Reference entitylifecyclemodel spring boot data deletion

澳門斷捨離學會:推動聯合國可持續發展SDGs之暑期活動
文化創意
陳康妮・2024-08-09

澳門斷捨離學會: 推動聯合國可持續發展SDGs之暑期活動 活動概述 澳門斷捨離學會由2020年1月1日至今,每週三晚上78時在友誼大馬路的友誼大廈寫字樓2樓舉辦斷捨離活動。今年2024年7月8月 斷捨離暑期活動停不了,旨在持續鼓勵澳門市民清理家中不再需要的物品,並將它們回收或分享給有需要的人。通過這種方式,我們不僅減少了浪費,還促進了社區的可持續發展。 收取物品 澳門斷捨離學會接受以下物品的捐贈: 衣服 食物(沒過期) 嬰兒及幼童用品 長者日用品 寵物食品及用品 手袋飾物 護膚化妝 手提電腦及配件 電子產品(小型) 家庭小電器 電玩遊戲 電訊產品(小型) 玩具及遊戲(小型) 影音產品(小型) 結婚用品 防疫用品 不收取物品 澳門斷捨離學會不接受以下物品的捐贈: 大型傢俬及電器,輪椅,單車 二手床上用品 二手貼身用品和睡衣 毛公仔 舊鞋 雜誌、色情、暴力、或宗教內容的書籍和物品 藥品及醫療用品 食品類 已破損物品 澳門斷捨離學會推動聯合國可持續發展第4年 澳門斷捨離學會的暑假活動鼓勵市民參與共享經濟,通過捐贈和回收物品,為社區和環境做出積極的貢獻。讓我們一起支持這個美好的倡議,共同創建更可持續的未來!

Spring Boot 06 - Spring Boot Web 調試工具
科技新知
MacauYeah・2024-08-02

之前兩節,都一直在講怎樣寫code,也介紹了Test Case的好。若為初次接觸,Spring有很多設定需要摸索,若開始時就設定錯誤,對不少人來講都會有很大打擊。在這裏,筆者就介紹一些vscode和spring的工具,可以讓IDE多幫忙一下,減少走歪路的機會。 vscode插件 以下兩個插件,都在於提示用戶設定。 Spring Boot Dashboard vscjava.vscodespringbootdashboard 可以那它來運作spring boot app,省去找尋main 位置的麻煩 綜覽整個程式中的所有Bean Bean是一個很重要的元素,日後會再提及 若程式為Spring boot web,可以顯示所 http endpoint。 Spring Boot Tools vmware.vscodespringboot 檢查設定檔的設定值有沒有寫錯 (application.properties, application.yml) 綜覽檔案中的有以@為首的與spring相關的元素(檔案很大時就會有用) 可以在IDE運行spring時,查看@元素的bean資訊 not works , 加了actuator也是沒有看見 Spring Initializr(vscjava.vscodespringinitializr) 經網絡初始化spring 專案的依賴引用設定 Maven for Java vscjava.vscodemaven 若大家在使用Spring Initializr時,選取了maven作管理工具,那麼這插件就可以在後續幫忙更新引用。 若專案的Spring 及㡳層引用有變,vscode也需要它來引用更新。 這是java 開發工具包vscjava的其中一員,它的其他插件也可以順帶安裝。 調試工具 open api swaggerui 如果我們在開發Web http API ,其實都是為了該某個客戶端使用。但如果該客端明白我們的API該怎樣使用,大家總不會逐個連結,自行編寫使用手冊及範例吧。所以就有了open api 和 swaggerui 的旦生 。 open api,就是一個公認的使用手冊標準,我們只要在springweb中加入 springdocopenapistarterwebmvcui 的程式庫,就可以自動為我們的controller 生成 open api 的說明檔。 更強大的是,這個程式庫可以利用剛生成的open api,配上 swaggerui ,自動測生一個可供測試的頁面。這個頁面可以供碼農們直接操作,也會產生對應的 curl 指令,讓碼農們可以在任何的主機上重複。這樣,那麼是沒有太多解釋的說明文檔也可以使用。 做法很簡單,在pom.xml中加入依賴。 org.springdoc springdocopenapistarterwebmvcui 2.5.0 由於安全性問題,上述程式碼未能完整顯示,請參見文末完成Source Code 然後我們就可以加入Controller,運行 spring 後,我們可以在 httplocalhost8080swaggeruiindex.html 找到 swagger 的頁面,然後就可以在 ui 上測試API了。 躲在Proxy背後的 swagger 如果你跟筆者一樣,使用 codeserver 或 github codespaces ,你就不能很隨意地連接到 8080 端口。你只能經過Http Proxy去訪問。這樣 open api的原有的設定就不合用了。 這時我們需要自行修改 open api 的 bean,加入我們真正的根路徑。然後筆者使用 codeserver,而IDE只會在port 9000上執行,它對外的前置路徑會是 httplocalhost9000proxy8080。 @Bean public OpenAPI springShopOpenAPI Server server = new Server; server.setUrlquot;httplocalhost9000proxy8080quot;; return new OpenAPI.serversList.ofserver; 由於安全性問題,上述程式碼未能完整顯示,請參見文末完成Source Code 然後訪問 httplocalhost9000proxy8080swaggeruiindex.html,還會發現 quot;Failed to load remote configuration.quot; 。但你可以在 quot;explorequot; 搜尋欄位內貼上 httplocalhost9000proxy8080v3apidocs,再一次搜尋檔案,就回復正常了。 註:如果你熟習Nginx這類Reverse Proxy ,你的環境有條件直接修改 Request Header,加入XForwarded,就不用煩惱寫Bean了,也不用手動在explore裏重新修正apidocs的位置。詳見 httpsspringdoc.orgindex.html#howcanideployspringdocopenapistarterwebmvcuibehindareverseproxy Controller的繼承 Spring Controller的 @ 標記 Annotation ,其實支援繼承的。經Spring 生成的 api docs,也有如何效果。例如以下程式碼 public class ParentController @GetMappingquot;postfixquot; public String postfix return quot;this is postfixquot;; @RestController @RequestMappingquot;apiquot; public class ChildController extends ParentController @GetMappingquot;directquot; public String directCall return quot;direct resultquot;; 由於安全性問題,上述程式碼未能完整顯示,請參見文末完成Source Code 在ChildController的實例中,它會有兩個API,分別是 apidirect apiprefix 它支援Java Function Overwrite(覆寫),但不能改 @ 標記,以下就是一個錯的例子 @RestController @RequestMappingquot;apiquot; public class ChildController extends ParentController @GetMappingquot;Overwritequot; 把這個 @ 行刪了才能正常執行 public String postfix return quot;this is Overwritequot;; 由於安全性問題,上述程式碼未能完整顯示,請參見文末完成Source Code Source Code spring boot web api doc