搜尋

搜尋結果

The Romeo and Juliet effect
玄學星相
熊神進・2016-08-02

When I first met Miss M, she was just an 18yearold girl with upward eyebrow tails. According to face reading, she was an independent and strongminded girl who would do whatever she wanted. Her parents once did not allow her to leave Macau for studying at a university in Taiwan, but she was still sent to study aboard by Macau government because of her outstanding performance. In the third year of university, she fell in love with an exchange student from Singapore. That boy has a complicated family, his mother was sentenced to 24 years in prison, and his older brother was a local ringleader. Of course Miss Mrsquo;s parents were opposed to their relationship, but the two lovers determined to break through all difficulties to carry on their faithful love till the end. The more opposition from her parents, the closer they became. When two people in love encounter difficulties and have to break up, it induces quot;the Romeo and Juliet effectrdquo;. Because they were unable to change her parentsrsquo; mind, they used ldquo;living togetherrdquo; to prove their true love. They thought that was love Lovers often have a mistaken view about love, they consider the strength of defeating outside difficulties especially parentsrsquo; opposition as the strength of love, and transform the sense of achievement of defeating parentsrsquo; opposition into the feeling of love. This year Miss M came to visit me and told me that she had already divorced. Certainly, there are many reasons for divorce, but I would like to remind you that, the impulsion of love triggered by living together to resist parentsrsquo; opposition usually cannot bear the test of setback. Once two lovers come across sad setback, there will be cracks in their love.

卡塔爾航空再出歐洲優惠!香港出發來回連稅HKD3,371起!
激安優惠
OHChance 旅遊誌・2016-03-09

今年想去歐洲的版友又可以睇睇,卡塔爾航空推出最新ge歐遊優惠,3月底至12月中出發,最低見3字!同大家報告下歐洲地區來回連稅價先: 阿姆斯特丹:HKD4,700巴黎:HKD4,267米蘭:HKD4,738威尼斯:HKD3,996法蘭克福:HKD4,490慕尼黑:HKD4,783維也納:HKD4,771布魯塞爾:HKD3,956馬德里:HKD4,243倫敦:HKD5,152愛丁堡:HKD5,893曼徹斯特:HKD5,432蘇黎世:HKD4,059日內瓦:HKD3,927伊斯坦堡:HKD3,371 (註:以上航點需經多哈轉機。另由於匯率變動因素,實際查到的最低價可能會與上述價錢有些許出入) 價錢很ok!3字尾4字頭飛轉歐洲真係幾得。列出的航點是比平時價平得多的,一些航點例如巴黎、慕尼黑,都有d 五千幾的,但因為只比一般平少少,就不列出來了。平飛數量不錯,想平飛歐洲一轉ge 版真心可以睇睇。 另外呢個優惠仲可以不同點來回架,例如米蘭入羅馬出。搵不同點平機票ge 方法是先就來回點找出最平的日子及航班,mark 低,再利用multicity 功能分別選返有平飛的日子同航班就ok。 【促銷公司】卡塔爾航空(Qatar Airways)【搭乘日期】3月22日至12月15日【開賣時間】已開賣,至3月14日2359【最長停留】1個月【航班限制】沒有【預訂網址】httpohchance.inforefqatarairways 價錢 Sample ndash; 香港經多哈飛阿姆斯特丹來回連稅HKD4,700

Spring Boot 04 - 進入http json api 世代
科技新知
MacauYeah・2024-05-23

本節,我們將會建立一個http服務,提供json api讓程式訪問。 下戴模版 我們跟上節一樣,使用Spring Initializr Maven 下載模版,但細節筆者就不再講啦。Dependency主要選擇 Spring Web Spring Boot DevTools 下載後,可以直接運行測試,可以用指令 mvn test 或經IDE運行。Spring會至少測試下能不能成功取用預設的8080端口。 Controller 我們若要實作 http json api,需要在 spring 中加入一個類,附註為 @RestController ,那方便起見,類名我們也命名為 XXXController 吧。作為示範,我們弄一個 HomeController.java ,裏面有最常見的 http GET, POST功能。 srcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapibasiccontrollerHomeController.java import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; ... other import @RestController @RequestMappingquot;apiquot; public class HomeController @GetMappingquot;someRecorduuidquot; public Map readSomeRecord@PathVariable String uuid return Map.ofquot;retquot;, quot;your uuidquot; uuid; @PostMappingquot;someRecordquot; public Map createSomeRecord@RequestBody Map requestBody HashMap ret = new HashMaprequestBody; ret.putquot;retquot;, quot;got your requestquot;; return ret; HomeController裏,完整的URL 其實為 GET httplocalhost8080apisomeRecorduuid POST httplocalhost8080apisomeRecord URL中的api之後的路徑,都是定義在 HomeController 中,而前半的8080及context path,是使用預設值。在正式環境下,可能隨時會被重新定義。但我們做本地測試,只需要驗證預設值就可以了。 我們真的運行起程式mvn clean compile springbootrun,再使用最簡測試工具進行測試。Windows的朋友,可以選擇Postman作為測試,它有圖形介面。而linux的朋友,請用curl,預設安裝都會有。下列為方便表示測試參數,筆者選用curl。 測試GET,其中1234會自動對應到spring裏的uuid。 curl httplocalhost8080apisomeRecord1234 # return quot;retquot;quot;your uuid1234quot; 測試 POST,其中的 d 參數,會對應 spring裏的 @RequestBody, H 參數則是設定 http header 的意思,我們就使用約定俗成的 json 作為 header 。 curl X POST httplocalhost8080apisomeRecord H quot;ContentType applicationjsonquot; d 'quot;requstquot;quot;did you get itquot;' # return quot;requstquot;quot;did you get itquot;,quot;retquot;quot;got your requestquot; 上面的兩個操作,都回傳了我們輸入的資訊,這代表了我們成功用spring架起了http json api,而且正常讀入資訊。 Test Case 雖然我們可以正常地架起 api,但每次開發都要 postman curl這種工具額外試一次,其實也有一些成本。而且 api 數量變大,或經多次修改後,就重複人手執行,就變得相當討厭。 面對這個問題,筆者會建議寫測試用例,即是Test Case,而且用Spring內置的@SpringBootTest來寫。 產生一個空的Test類,vscode中,最簡單可以Source Action =gt; Generate Test,然後加入這次要測試的參數。 srctestjavaiogithubmacauyeahspringboottutorialspringbootwebapibasiccontrollerHomeControllerTest.java import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.RequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultHandlers; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; @SpringBootTest @AutoConfigureMockMvc public class HomeControllerTest @Autowired private MockMvc mockMvc; @Test void testGetSomeRecord throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .contentTypeMediaType.APPLICATION_JSON; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.valuequot;your uuid1234quot; .andDoMockMvcResultHandlers.print; @Test void testPostSomeRecord throws Exception String request = quot;quot;quot; quot;requstquot;quot;did you get itquot; quot;quot;quot;; RequestBuilder requestBuilder = MockMvcRequestBuilders.postquot;apisomeRecordquot; .contentTypeMediaType.APPLICATION_JSON .contentrequest; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.jsonPathquot;$.requstquot;.valuequot;did you get itquot; .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.valuequot;got your requestquot; .andDoMockMvcResultHandlers.print; 最後就是執行 mvn test 或經IDE運行,應該都會得到所有測試都通過的結果。 mvn test # other test result ... INFO Tests run 2, Failures 0, Errors 0, Skipped 0, Time elapsed 0.368 s in io.github.macauyeah.springboot.tutorial.springbootwebapibasic.controller.HomeControllerTest # other test result ... 上面的程式碼很多,我們逐一來。 @SpringBootTest 寫在類的外面,代表執行這個測試類時,需要運行起整個Spring程序,當然也包括http的部份。 @AutoConfigureMockMvc 寫在類的外面,代表執行這個測試類時,可以模擬一些發向自己的 http 請求。 @Autowired private MockMvc mockMvc 寫在類的裏面,因為之前有定義了可以模擬 http 的請求,Spring在運行時為大家提供了那個所謂的模擬http client的實例。 MockMvcRequestBuilders,則是建造要測試的URL及Header參數。 MockMvcResultMatchers,則是檢查回傳的結果是否如遇期的一樣。 為何這個http client叫模擬 Mock 因為在測試用例中,可能連Controller 內部依賴組件也需要進一步模擬,這樣才能把測試目標集中在Controller裏,這也是單元測試的原意。只是本次的例子看不出模擬與否的差別。 MockMvcResultMatchers.jsonPath,這是用來檢測json的結構是否跟預期一樣。有些網路上的其他例子會簡寫成 jsonPath ,但因為vscode IDE的自動import功能比較差,筆者還是保留傳統的寫法。 如果大家覺得@SpringBootTest很難,想折衷地把其他測試方法,那麼把 postman curl好好管理起來,每次修改完程式,都完整地執行一次 postman curl ,也可以達到測試的效果。只不過大家還是要好好學會整合 postman curl,知道如何檢測json結構,什麼時候有錯,什麼時候叫測試通過,所以也要花一樣功夫來實現。 最後,大家千萬不要因為測試難寫而逃課,因為寫測試絕對地可以減輕日後重執行的工作量。除非你的程式碼即用即棄,否則都建議寫測試。測試跟寫文檔不一樣,有了測試也不能沒有文檔。好消息的是,文檔現在越來越多自動生成的工具,我們日後再找機會介紹。 Source Code spring boot web api basic

【韓國。首爾】※景點※ 明洞聖堂 明洞天主教堂 명동성당 ~ 在熙來攘往的街道上的一份莊嚴寧靜
走遍世界
80後愛旅行✈️・2018-05-18

明洞聖堂명동성당是天主教首爾總教區的主教座堂, 位於韓國首爾中區明洞。 其正式名稱為「天主教首爾總教區教座明洞大聖堂」천주교 서울대교구 주교좌 명동대성당 這座莊嚴肅穆的明洞聖堂就在首爾其中一個最繁華的街道「明洞」旁邊, 去明洞購物時千萬不要錯過走過來這個教堂裡面, 絕對能感受到繁華中的一份恬靜 韓巢照片 從明洞主街往小山坡上走, 又或者是看著南山塔的方向走, 就會見到明洞聖堂。 明洞聖堂建於1898年, 有過百年的歷史。 是韓國最早的教堂, 也是韓國最早的哥德式建築物。 目前被韓國列為史蹟 史蹟258號。 有別於一般用石頭建造的哥德式建築, 明洞聖堂是利用紅色的壁石建築, 呈現出獨特美感。 這座韓國第一座的歌德尖頂式建築, 高45米。 走進教堂內部, 我們去的時間剛好在舉行彌撒, 所以沒辦法好好的逛逛這座漂亮的教堂。 但是仍可以見到教堂內部有16米的回廊, 高高的天花板。 祭壇上方還有一幅大的玻璃窗畫。 ⭐如果想好好參觀教堂, 就要避開彌撒時間。 大教堂彌撒時間 星期日 0700, 0900, 1000, 1100, 1200, 1600, 1700, 1800, 1900 週一至週六 0630, 1830, 1900週一沒有 週六 1830 httpwww.mdsd.or.krbbscontent.phpco_id=5010 我在網上找了一些照片, 讓大家欣賞一下明洞聖堂。 這是上面照片中看到的祭壇, 和背後的玻璃畫。真的很美 韓巢照片 精緻漂亮的玻璃窗畫 韓巢照片 教堂地下還有一個小聖堂, 為安放殉教聖人遺骸的聖地。 除了單棟的教堂, 教堂旁邊還有「文化館」、用來舉辦婚禮的「家庭禮拜堂」、「咖啡廳」和一個位於地下的綜合文化空間「1898廣場」。 「文化館」 韓巢照片 舉辦婚禮的「家庭禮拜堂」 韓巢照片 「咖啡廳」 韓巢照片 「1898廣場」 它是一個綜合文化空間, 位於地下。 這裡有明洞聖堂的官方紀念品店、書店、雜貨店以及各種咖啡廳、餐飲店等。 韓巢照片 明洞聖堂 명동성당 👣 明洞聖堂 서울특별시 중구 명동길 74 명동2가 首爾特別市中區明洞街74 明洞2街 📱 httpwww.mdsd.or.kr ⏰ 週二 週五 0900 2030 ⏰ 週六 0900 2000 ⏰ 週日 0900 2100 ⏰ 週一不開放 💰 免費 🚇 地鐵2號線乙支路入口站을지로입구역5號出口, 步行約8分鐘 🚇 地鐵4號線明洞站명동역8號出口, 步行約10分鐘

走進魔法鎮 -- 蘇格蘭《哈利波特》蒸氣火車
環宇搜奇
莫雪・2021-12-14

走進魔法鎮 蘇格蘭《哈利波特》蒸氣火車 蘇格蘭 Fort William 蒸氣煤炭小火車, 坐落在全英國 最高的山Ben Nevis山腳的一個小鎮, 也是傳說中魔法學校經過並且進入的第四個站 《哈利波特》, 亦是歐洲ldquo;最佳火車之旅rdquo;之一; 站尾是個美麗漁村小鎮 Mallaig。 行程到了魔法鎮Fort William當天, 我們提早了一個半小時往火車站現場排隊, 以便能順利購得《哈利波特》火車票, 感受見證一次《哈利波特》 這個足夠經典的蒸氣火車, 於格籣芬南高架橋上進行大轉彎。 火車全程1.5小時, 尾站是小鎮Mallaig亦是個美麗漁村港口小鎮。 列車上, 我們急不及待, 各人各自找個靠窗有利位置, 盡覽沿途風光, 或是捕捉列車經過的美景, 探頭窗外留影一番。 浮想一下畫面 ~ 像在電影中穿梭西高地線上最著名的段落, 坐下的車廂彷彿便置身魔法世界, 和其他學生一起回霍格華茲上課了嗎 沿途經過的盡是蘇格蘭一些美麗、 令眾人讚嘆不已的風景,而有些風景也曾在電影中出現過。 仲夏時分, 依然涼風習習, 典型歐陸氣候, 好不舒暢。 而我們旅途上自駕的路上, 往往便遇上怡人風景及別緻的房子。 經過的大橋, 便是位於蘇格蘭西部高地的格籣芬南大橋。 大橋建於1897年至1901年間,至今已經有一百多年的歷史。 而這裡已經成為各地哈利波特迷到英國幾乎是必去朝聖景點之一了。 一眾夥伴們亦是熱切期待著名作家羅琳筆下的哈利波特魔法之旅。 尤其是電影中Fort William有輛特快列車穿越蘇格蘭高地, 著名的景點包括格籣芬南高架橋,現在身處正正這輛列車, 感覺夢幻, 充滿期待的一個半小時, 我管它叫「夢幻號」吧 Fort William蒸汽小火車每年 5月至10月才開動營運的, 而此段時間又分兩種情況,平日每天一班,高峰時節每天兩班, 可能有些日期週末是沒有小火車的,想看小火車的粉絲要在出發前網上先查好時間喔! 蒸汽小火車在經過大橋時, 會放慢速度,並且會噴出蒸氣, 非常吸力地為魔法之旅添上氣氛 列車到達尾站,, 悠逛漁村小鎮Mallaig, 美麗且繁忙的漁港和渡輪碼頭港口, 嚐魚味濃炸魚塊和薯條, 看海鷗飛舞拍岸來回; 望小鎮上一片間間色彩充滿雅緻英式房屋; 聽鎮上街頭音樂演出者妙曼作曲, 投入至旁若無。 魔法鎮 蘇格蘭《哈利波特》 蒸氣火車「夢 幻 號」之旅, 依依不捨不願有停站的追夢之旅 #菲林形狀棧道# #蘇格蘭尼斯湖# 【編輯聲明】 本篇文章、相片版權屬作者所有,經由版權持有人授權CyberCTM.com發表。 聯絡及邀約 irene801802@hotmail.com

向宇宙下訂單!《小象歐利找弟弟》
文化創意
繪本與棋@黃庭熾・2021-03-04

  小噴火龍的生日願望是重新決定自己的主食,小象屬意的生日禮物則是一個「弟弟」。 延伸閱讀:《小噴火龍和白米飯》的生活美學   人們常常會用夢寐以求去形容人對某事某物的渴望,在小象歐利的夢裡,則有簇擁著他的成群「弟弟」,他自己則為一位調度有方的「哥哥」。這個弟弟不必是另一隻小象,所以牠離家出走四處求索。   歐利找弟弟的過程照直說是坎坷,他遇到鸛、青蛙、貓、蝙蝠等動物,大多數他遇到的「人」都願意幫他、或懷抱著善意,但涉及另一個「人」感情、意願的事,又豈會那麼順遂、都盡如人意呢?所以在失望與希望來回又折返之間,歐利的心智倒是堅強了、耐挫力變頑強了。   人如果沒有成長,又怎能成為一位「哥哥」呢?人若成長了,那麼任何相較於「你」經驗尚淺的人,都是該照顧的「弟弟」。用這個角度來觀察,動物們耐著性子幫助歐利實現他的願望,則是一種社區性的「手足情深」。 延伸閱讀:迎難而上!《我的名字叫國王》   幾乎每一場冒險的終點都是安全到家,但歐利連回家的歷程都難逃坎坷。我請伴著歐利找弟弟的小讀者推測,急於回家的小象將會遇到甚麼意外?有孩子相信,在歐利死心之前,他當收獲旅途的成果;有孩子揭示,眾裡尋他,「妹妹」早已抵家、哭聲哇哇;有孩子樸素地認為,任何一場冒險都不過是出格的學習日,回家都應該休息看電視節目......   讀萬卷書,行萬里路 ── 說的是經驗澆灌了幼苗、閱歷會豐富人生,故事裡小象如是,生活裡孩子如是。 你可以從這些地方借閱到這本繪本: 中央書庫、何東圖書館、望廈圖書館、氹仔圖書館 ── 實際館藏情形可以透過澳門公共圖書館館藏查詢系統瞭解。