搜尋

搜尋結果

澳門金沙的高雅扒房推出誘人新菜式
澳城餐飲
LifeMag Editor・2015-11-24

高雅香蕉船 波士頓龍蝦 咯嗲 美國腹肉牛扒青油醋汁 阿拉斯加蟹腳 澳門金沙reg;屢獲殊榮的高雅扒房最近推出了一系列令人垂涎的新菜式,當中包括豪華豐盛的美味海鮮及肉類,以及讓人難以忘懷的甜品等,確保來澳搜尋美食的食客能享有最佳選擇。高雅扒房主廚Luis Silva表示:「高雅扒房一直以來被認定為港澳地區最好的扒房之一。對我們而言,為賓客提供優質的服務及最高品質的食材同等重要。我們擁有許多忠實的顧客,所以希望不斷更新菜單,讓他們再次光顧,同時亦讓首次光臨的顧客可享受到在其他地方無法品嚐的美食。」高雅扒房推出的新菜式,迎合顧客對這間屢獲殊榮的扒房在菜式選擇及質素上的要求。 高雅扒房菜單新增菜式包括: 波士頓龍蝦咯嗲:鮮美的龍蝦尾肉配上濃郁的自製千島醬、拌羅馬生菜、苦白菜心及黑橄欖。 美國腹肉牛扒青油醋汁:腹肉牛扒亦稱為屠夫牛扒,以肉味濃郁見稱。牛扒搭配自家制的青油醋汁,以橄欖油、白醋、蒜頭、歐芹及奧勒岡香草調配而成,具南美特色風味。 阿拉斯加蟹腳:阿拉斯加蟹腳以冰鎮或香烤的方式烹調,伴以海帶蛋黃醬、紅酒醋及新鮮檸檬。 香烤雜錦海鮮:海鮮拼盤包括焗波士頓龍蝦一隻、焗蟶子兩隻、焗蘇格蘭生蠔三隻、焗大蝦一隻以及焗中蝦四隻,伴以檸檬牛油汁及岩鹽,適合兩位享用。 高雅香蕉船:高雅扒房招牌甜品,以朱古力、雲呢拿及士多啤梨雪糕製成,灑上碎杏仁、朱古力醬及鮮奶油、伴以手指餅及甜酒櫻桃。 英式層疊紅莓奶凍:在浸泡過櫻桃白蘭地的海綿蛋糕上鋪上以啫喱包裹著的水果及吉士,再於最頂層放上紅桑子、士多啤梨以及藍莓。 高雅奶酪拼盤: o 伊泊斯奶酪﹝Eacute;poisses﹞是一種味道濃烈而未經高熱殺菌法處理的牛奶製成的奶酪。來自伊泊斯村莊,這個村莊位於法國的科多爾,在第戎及奧賽爾中間。 o 米莫雷特奶酪﹝Mimolette﹞是一種以牛奶製成的奶酪,歷來產於法國里爾市附近。 o 龐特伊維克奶酪﹝Pontl'Eacute;vecirc;que﹞以未經壓縮處理的生牛奶製成,產自諾曼第省卡爾瓦多斯的龐特伊維克附近區域位於多維爾和利西厄之間。 o 拼盤包括以上幾款特選奶酪,搭配自製提子面包、蜂巢蜜及柚子啫喱。 高雅扒房是澳門首間傳統美式扒房,並獲2015年度《Hong Kong Tatler》雜誌選為最佳餐廳之一,同時榮獲2014年《Wine Spectator》雜誌「卓越大獎」及2014胡潤總統獎「最佳西餐廳」的得主。餐廳亦於2015年榮獲TripAdvisor頒發之「卓越獎」,以及最近更於 TripAdvisor獲評選為澳門排名第一的餐廳。高雅扒房的開放式廚房設計可讓賓客欣賞才華洋溢的廚師為客人準備餐廳的招牌菜式。預約請致電853 8983 8222。

Spring Data 關聯型態 01
科技新知
MacauYeah・2024-07-16

筆者身邊的朋友,首次接觸 ORM 的關聯型態時都會覺得很難,筆者自己也是。但在好好地理順它的設計時,就會覺得其實很簡單。 因為篇輻很長,我們先以Code First的角度,先體驗一下ORM程式讀取的便捷性,以及解決一個常見的序列化問題。 雙向存取 例如一個Parent,有好幾個Child @Entity public class Parent ... Parent Primay Key @OneToManymappedBy=quot;parentquot; List children = new ArrayList; TODO add remove @Entity public class Child ... Child Primay Key @ManyToOne Parent parent; 上述的寫法很簡潔,ORM會為你自動加入join column,處理關聯的載入。在讀取Parent時,它的所有Children就可以直接在Java層面讀取,在讀取Child時,它的Parent也隨時取得。也就是,開發人員只要經SQL準備其中一方的資料,另一方並不需要手動準備,它就可以自動按需載入。 RESTFul API 坑雙向存取 Spring Data在Java層面的雙向存取,已經做到很方便。但經常坑到我們的是Spring Data與RESTFul API的混合應用。當我們嘗試經API回傳我們的Parent Json時,API會很聰明地把關聯的Children也變成Json回傳。但他也會把child中的parent不斷重複變成json,變成無限輪迴。 坊間有兩種不同的解決方案,可以防止無限輪迴。 讓Json可以認得已經序列化的元素。@JsonIdentityInfo 讓Json只可以單向序列化serialization。@JsonManagedReference, @JsonBackReference, @JsonIgnore 筆者兩個方向都試過,但首個方法並不通用,至少它不能算是一般常見的無腦Json結構。它需要伺服器、客戶端都懂這如何經IdentityInfo認得重複出現的元素。 而單向序列化,是筆者現時的通用解。在設計RESTFul READ API時,筆者就會決定到底是Parent自動回傳Child,還是Child自動回傳Parent。決策的考慮因素,主要在於是否可以簡化Client的API調用次數。通常從Parent出發,自動回傳Child,可以節省API調用。但如果是選項性的結果List of Value,就倒過來。有時候,遇著API需要雙向設計,就只好自己設計DTO資料傳輸對象 Data transfer object, DTO。 例如Parent API,就原封不動回傳原本的元素 @Entity public class Parent ... Parent Primay Key @OneToManymappedBy=quot;parentquot; List children = new ArrayList; @Entity public class Child ... Child Primay Key @ManyToOne @JsonIgnore Parent parent; Child API,就反過來引用。 public class ParentDTO ... Parent Other fields except children public class ChildDTO ParentDTO parent; ... Child Other fields 這種DTO,看起來很麻煩。但其實Spring有提供一個簡便的複制DTO功能,它可以把自動複制兩個class中有同一名稱、同一型別的欄位到另一個class上,不需要逐個欄位明文寫出來。 BeanUtils.copychild, childDTO; BeanUtils.copyparent, parentDTO; childDTO.setParentparentDTO 因為child、childDTO中的parent欄位型別不同,BeanUtils.copy會自動忽略,其他欄位就會自動複制。 註 其實古早的網頁系統設計,DTO的概念一直存取。只是現在RESTFul API的流行,很多框架已經提向便捷的Json轉換。若然平時只需Json單向存取,筆者還是省略DTO的建立。

軟件發行也需要維修基金?
手機‧電玩
MacauYeah・2024-05-13

筆者參與軟件開發,都己經有好一定年期。面對軟件開發週期,最痛苦的並不是研發階段。好多打機的朋友,可能會以為軟件應該跟遊戲差不多吧,開發完就頂多修BUG,然後全心地投入下一個項目的開發。要持續花時間更新?不可能,微軟不也是幾年要求重買一次新版的Office套裝嗎?幾年也要另外花錢升級OS。概然全部都要另外花錢買,不就是一個全新的項目嗎? 其實除了微軟這種夠大夠惡的龍頭公司外,其他都不是這樣運作的。例如我們現在很常用的手機OS,不論Android, iOS,其實只要硬件支緩,就不需要用戶成本就可以升級的。其內的App應用,也因為手機OS的升級,也要持續升級。所以不論你是哪一層的開發者,好大機會都要一直維護已發佈的軟件版本,好讓它可以在不同環境下運作。而這個維護成本,就看你低層的供應商有多進取、有多佛心。現在基本免費的供應商都會大刀闊斧地改功能。大家要留意,是改功能,不是加功能。也就是有些功能過去有,現在使用模式整個有改變,你不得不重寫自己的軟件。 所以筆者現在最頭痛的是,如何為公司維護這些沒法帶來新收入,而又要不斷支付時間和金錢的訂制軟件。 技術上,一定有很多討論,但在於只關心行政的老闆的角度下,根本聽不懂。在於開發者的角度,也需要很長期的實務經驗才能有好一點的佈署。扣除技術,在本質上,若然各利害關系人都曾經考慮過,大家應該都會有更好的預期。 軟件有生命週期,而且這個重複得越來越快。由開發到發佈穩定版本的時間、人力、金錢最高。因為環境變遷,重回開發的機會越來越多,不斷地重複。 需求狠心地下架過氣軟件。過氣軟件,要麼更新,要麼淘汰。但不是所有軟件都受歡迎,值得投放時間。這個在老闆視角下,他很懂。但老闆通常做不了的是,狠心放棄升級不了的軟件。老闆經常覺得,只要軟件放著不更新,就不會有成本。錯,因為老闆只會記得倉庫中曾經有一個軟件可以做到某個功能,可以給賣給某個客戶。但當你拿出來時,才發現不能直接用,還是很焦急地找人更新。 軟件開發,跟很多其他類型工程很像。不是隨時看看圖表,就可以回憶前世今生。舊軟件要救,要花時間先摸索當初的開發工具、環境,追查問題原因,或許最後可只改一句指令就解問題,但總體成本會令人無法接受。 軟件的可複制性不如以前。很多老闆會認為,你之前開發過一次,抄過來做點少改動,不就可以當一款新的應用嗎?因為原來軟件沒有維護,大部份過氣的軟件,即使你有原始碼,你也未必能找到適合的編譯環境來做改動。想要改動?還是老老實實做先更新。 所以,大家對於軟件維護,應該要像物業管理一樣,要預留一部份費用為維修基金。可能還是有老闆會講,怎麼可以預留到這麼多錢去做維修?所以,筆者更加建議,不是要做一個完美的萬能軟件,要鎖定核心功能。沒化更新的,就放棄、止蝕。