搜尋

搜尋結果

阿爾巴白松露巔峰盛宴-「澳門銀河」8 1/2 Otto e Mezzo BOMBANA 十一月呈獻
澳城餐飲
LifeMag Editor・2015-11-09

「澳門銀河」匯聚超過120家餐飲食府,提供正宗泛亞及國際餐飲選擇,成為一眾饕客的首選到訪熱點。踏入珍貴白松露的當造季節,「澳門銀河」高級意大利餐廳8frac12; Otto e Mezzo BOMBANA精心呈獻亞洲首次由兩名米芝蓮星級大廚Umberto Bombana和Enrico Cerea聯手炮製的六道菜意大利阿爾巴白松露巔峰盛宴。與此同時,多款由總廚顧問Umberto Bombana設計的阿爾巴白松露精美菜式亦於11月至12月中期間隆重推出,勢必叫一眾美食愛好者熱切期待。 8frac12; Otto e Mezzo BOMBANA一直秉持總廚顧問Umberto Bombana的經營理念。Umberto Bombana 被意大利Piedmontese Regional Enoteca Cavour譽為「白松露世界大使」,更憑著於香港創立8frac12; Otto e Mezzo BOMBANA而奪得米芝蓮三星殊榮,並且素有亞洲最佳意大利廚師的稱號。Umberto Bombana於11月聯同另一名米芝蓮三星名廚Enrico Cerea,共同設計出包含六道菜的阿爾巴白松露巔峰盛宴。Enrico Cerea從小愛好烹飪,多年以來一直匠心經營家族位於Bergamo的知名食府Da Vittorio,並且練就出爐火純青的廚藝心法。 這個萬眾期待的「米芝蓮三星雙雄巔峰盛宴」僅限於2015年11月12日、13日、14日及15日一連四晚,於「澳門銀河」8frac12; Otto e Mezzo BOMBANA隆重舉行。整個菜單分別由Umberto Bombana和Enrico Cerea精心設計,每一道菜式也選用最新鮮的食材製作,務求帶出最精緻的味道。多款巧手菜式包括由總廚顧問Umberto Bombana設計的慢煮鲍鱼片配以Calvisius Elite鱼子酱,法国布里斯鸡配以阿尔巴白松露;由名廚Enrico Cerea設計的阿爾巴白松露「卡布奇諾」;土豆丸子配以芝士醬汁,阿爾巴白松露。每道菜式均可佐以精心挑選的意大利佳釀,包括香檳酒,巴羅洛酒 Barolo ,馬沙拉白葡萄酒 Marsala ,務求讓賓客一次過嘗盡美酒佳餚,體驗滋味一夜。 銀河娛樂集團款客事務高級副總裁林展安先生表示:「『澳門銀河』熱烈歡迎兩大名廚Umberto Bombana和Enrico Cerea這個千載難逢的合作機會。此乃亞洲首次有兩名米芝蓮三星大廚攜手合作,為賓客帶來前所未有的星級盛宴。賓客將可以在今次8frac12; Otto e Mezzo BOMBANA 的「米芝蓮三星雙雄巅峰盛宴」中,感受獨一無二的滋味體驗。此外,他們亦可於11月份在8frac12; Otto e Mezzo BOMBANA 品嘗多款精選阿爾巴白松露菜式。」 「澳門銀河」8frac12; Otto e Mezzo BOMBANA於11月1日至12月15日特別推出多款精選菜式,全部以新鮮阿爾巴白松露製作,不含任何人造白松露油、白松露粉或白松露調味粉。當中包括「芝士蛋黃雲吞配里科塔芝士、菠菜 、榛子黄油與阿爾巴白松露」;「自製意式細絲麵配黃油、帕爾馬芝士及阿爾巴白松露」;「松露雪糕配栗子、意大利麵包及阿爾巴白松露」。 多款白松露精選菜式以及「米芝蓮三星雙雄巅峰盛宴」將為「澳門銀河」8frac12; Otto e Mezzo BOMBANA 添上無限星光,給賓客帶來前所未有的星級滋味,引領「澳門銀河」成為亞洲餐飲美食熱點。訂座電話: 853 8886 2169。

【澳門】大眾單車遊 2022
生活在我城
80後愛旅行✈️・2022-11-28

由體育局、中國澳門單車總會主辦的quot;大眾單車遊quot; 已經有幾年的歷史 之前有因為疫情停辦過,但我也已經是第34次參與了。 這次的「2022大眾單車遊」在2022年11月27日舉行, 路線由奧林匹克體育中心出發,途經氹仔、路環多個地點,到達終點氹仔海濱休憩區廣場,全程約二十公里 基本上跟以往的路線相約。 活動由上午9時正由奧林匹克體育中心三人籃球場側空地出發 (澳門日報圖片) 記憶中每次的大眾單車遊天氣都不是太好,今年年初的新春單車遊是只有幾度的低溫,之前也曾遇過雷暴警告要取消或延遲起步等。 昨天的天氣雖然是烏雲密佈,但也不至於要下雨,能準時出發已經不錯了! 整個行程是由奧林匹克體育中心三人籃球場側空地出發,經學院路進入新城大馬路、路氹城大馬路、生態保護區、蓮花海濱大馬路,再由石排灣馬路轉往熊貓館位置轉入聯生海濱路,進入單車徑,以氹仔海濱休憩區廣場為終點,全程約二十公里。 路況基本上沒有什麼上下坡,也是主辦單位精心為參加者準備的吧。 由於整段路都有交通警員開路及指揮交通,因此並沒有太多的位置可以休息, 參加者也不是可以隨便停下來休息再繼續的,所以如果平時完全沒有運動的朋友也不太建議參加。 總之要按自己體力而行! 整個行程都是在騎單車,所以也拍不到什麼照片 大概就是這樣可以安全的在路面上騎單車

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

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

Beame 積極開拓國際市場 香港商人范榮彰博士太平紳士引領高質素箍牙服務 冀讓世界各地更多人受惠
CTM企業動向
范榮彰博士太平紳士・2024-05-30

由前東華三院總理香港商人范榮彰博士太平紳士創辦的 Beame 是一家香港牙科公司,致力於為客人實現健康美麗的笑容,提供更多人性化的箍牙解決方案,同時推動牙科行業的發展,並在國際舞台上擴展其業務。 Beame 擴展海外業務 提供全球高質素箍牙服務 Beame 團隊由一群資深香港醫療界人士組成,憑藉他們對牙科服務及牙齒矯正的專業知識和先進技術,Beame 在中環、K11、Times Squares、觀塘、南昌及沙田等地設有六家諮詢點,提供箍牙和其他服務諮詢及保養等服務。此外,Beame 的專業團隊擁有豐富的經驗和專業知識,他們會根據每位客戶的需求和期望,利用最新的技術和先進設備,提供個性化的治療方案,確保獲得最佳的箍牙效果。 國際級醫療設備保證品質 Beame 在深圳開設的自有光店,成為該公司在香港以外的首家分店。深圳自有光店提供全科牙科服務,包括全瓷牙齒貼面、藍光美白、植牙、洗牙等。所有療程由香港醫療團隊管理和設計,並使用國際級醫療設備,確保顧客獲得最佳的治療效果。顧客可以在香港和深圳各分店享受服務,同時獲得保養和諮詢服務,讓他們擁有健康美麗的笑容。 范榮彰致力推動牙科產業的發展 除了在香港和深圳,Beame 正在積極擴展海外業務,計劃在澳洲、澳門、台灣、新加坡、馬來西亞和泰國等地開設分店,以滿足不同地區對高質素箍牙服務的需求。這一擴張將使更多人能夠享受到方便快捷的牙齒矯型服務,同時推動牙科產業的發展,為當地經濟帶來增長。 范榮彰博士:希望能夠改善大家的口腔健康 Beame 創辦人范榮彰博士太平紳士表示:「隨著全球人口老化,牙科需求會越來越大,我們致力於提供優質的齒科服務,讓更多人了解並正視牙齒問題的重要性。我們希望能夠改善大家的口腔健康,同時亦為世界各地創造更多機會。」 Beame 的願景是成為世界領先的牙齒護理品牌,並為更多人提供優質的口腔護理服務。他們致力於改善人們的口腔健康,提升他們的自信心和生活質素。通過拓展海外業務,Beame 將為更多人帶來燦爛的笑容,同時為社會經濟發展做出積極貢獻。