搜尋

搜尋結果

Spring Web 異步 Api
科技新知
MacauYeah・2025-10-18

在設計網頁應用時,總會有某些功能,是特別消耗時間的,例如我們的應用要提供報表,或長時間搜索。如果,我們的 Web Api 的連結,要強制客戶端等待結果,那麼中途斷線需要重做的機會就變得很高,客戶端的體驗一定不太好。 面對這些情況,我們最好就把原本一個 API 功能分為三個 API 去做。 工作生成 API 查詢狀態 API 查詢結果 API 如果大家有信心,可以把2和3混合在一起,對於客戶端,也是一件好事。不過,2,3 因為回傳的結構可能不一樣,分開處理,程式碼會更易讀。 以下,筆者就以一個模擬報表生成的應用,去解釋如何設計可以即時回傳的 API。 source code springbootwebapiasync ReportController.java 詳細解析 假設我們有一個 ReportController,它負責處理與報告生成相關的 HTTP 請求,它提供三個核心 API 端點。 啟動報告生成端點 @PostMappingquot;reportJobcreatequot; public ResponseEntity createJob String uuid = String.formatquot;%d_%squot;, new Date.getTime, UUID.randomUUID.toString; CompletableFuture.runAsync gt; try orderStatus.putuuid, PROCESSING; Thread.sleep10000; 10second simulated delay reportService.genAndSaveReportuuid; orderStatus.putuuid, COMPLETED; catch InterruptedException e Thread.currentThread.interrupt; ; return ResponseEntity .accepted .headerHttpHeaders.LOCATION, quot;reportJobstatusquot; uuid .bodyMap.ofquot;uuidquot;, uuid, quot;status apiquot;, quot;apireportJobstatusquot; uuid, quot;download apiquot;, quot;apireportJobdownloadquot; uuid; 運作原理: 立即生成唯一的 uuid 來標識這次任務 在 CompletableFuture.runAsync 運行長時間的操作。 API 本身即時回傳了 HTTP 202 Accepted 狀態,告訴客戶端請求已被接受但尚未完成 在回傳的結果中,還有提示可以查詢狀態和查詢結果的API。 這種設計避免了 HTTP Gateway Timeout,因為回應是即時的 。 檢查進度端點 @GetMappingquot;reportJobstatusuuidquot; public ResponseEntity getStatus@PathVariablequot;uuidquot; String uuid String status = orderStatus.getuuid; if status == null return ResponseEntity.notFound.build; if COMPLETED.equalsstatus return ResponseEntity.statusHttpStatus.SEE_OTHER return ResponseEntity.ok .headerHttpHeaders.LOCATION, quot;apireportJobdownloadquot; uuid .bodyMap.ofquot;statusquot;, COMPLETED; return ResponseEntity.statusHttpStatus.ACCEPTED .bodyMap.ofquot;statusquot;, PROCESSING; 單純以 map orderStatus.getuuid 查看狀態結果。這個map 必需是多線程下使用還是安全的 ConcurrentHashMap。 下載結果端點 @GetMappingquot;reportJobdownloaduuidquot; public ResponseEntity download@PathVariablequot;uuidquot; String uuid String status = orderStatus.getuuid; if status == null COMPLETED.equalsstatus return ResponseEntity.notFound.build; else 下載檔案 如果大家並不計較是否需要重做失敗的請求,這個例子已經可以簡單地達到即時異步回傳的效果。如果大家還需求考慮請求是否有效完成,就需要用到 message queue 或其他 job server ,這就不是同一個網頁應用的操作範圍。 Reference source code springbootwebapiasync Building a LongRunning Async REST API in Spring Boot with 202 303 Status Codes

東歐闖蕩。十六湖國家公園, 克羅地亞
走遍世界
環球旅人 // BJM・2018-02-15

被稱為「十六湖國家公園」的普利特維采湖群國家公園(克羅地亞 語:Nacionalni park Plitvička jezera),也叫「布里特威斯湖國家公園」,位於 克羅地亞 中部的喀斯特山區,創立於 1949 年,為東南歐歷史最悠久的國家公園,現在也是 克羅地亞 最大的國家公園。 公園內有許多有石灰岩沉積形成的天然堤壩,這些堤壩又形成了一個個湖泊、洞穴和瀑布。由於主要有 16 個湖泊,故公園又稱為「十六湖國家公園」。1979 年被聯合國教科文組織列為世界遺產。現在的普利特維采湖群國家公園是克羅地亞最大的觀光點。而在 1997 年,隨著國家公園的範圍擴大至一百點二平方公里,世界遺產的登錄範圍也隨之擴大。 整個國家公園,都是很多遊客必到的玩樂觀光點,而且通常都會在十六湖國家公園遊覽兩三天的。所以到了克羅地亞,如果沒去過十六湖國家公園,就不能說自己去過克羅地亞呀!(雖然克羅地亞的海岸區也是非常不錯的地方,尤其是擁有極佳阿德里亞海視覺的海岸古城。) 現是整個國家公園面積 294.82 平方公里(約澳門整個面積的 10 倍)。公園內的湖群呈帶狀分布在蜿蜒的峽谷中,並分為上、下湖區,上湖區包含 12 個湖泊,湖底是白雲石;下湖區湖底位於石灰石峽谷,有 4 個湖泊。各湖泊由一條水路相連,由於存在較大的落...... 閱讀全文 更多「東歐闖蕩」的其他文章 【編輯聲明】 由環球旅人製作,版權所有,不得抄襲。 環球旅人|Facebook|YouTube|Line@生活圈|Instagram|微博|Soundcloud|Flickr|footprint 歡迎關注微信公眾號:環球旅人 copy;Trafolife.com All Rights Reserved.

窮遊護膚 - 世上最便宜最方便的天然護膚方法 - 男女適合
美容
海闊天空 // Sio・2015-08-26

我流浪兩三年,當然不可能帶有無限SKII,進出撒哈拉、阿瑪遜時如果護膚品剛好用完也不能夠在邊境小鎮買到護膚品,所以後來我在途上學會用以天然方法護膚。大家應該不會像我那樣離家這麼久,但以下介紹的方法既便宜又方便,試試又何妨?至少你在旅遊時忘了帶面膜也不用再擔心 檸檬檸檬含有豐富維他命C,能夠幫助減細紋,去油脂,兼有美白功能。每早我會以幾滴檸檬汁加些少水塗面按摩,然後清水洗面塗日霜;而每晚我就會將檸檬汁混入潔膚產品洗面再塗晚霜。另外,每天都會喝杯檸檬温水,幫助身體排毒。 蛋白蛋白含有大量蛋白質,維他命及擴物質,有助收緊及更新皮膚,而且可以清去黑頭粉刺暗瘡。每星期一至兩次我會把蛋白塗於面上當作面膜,大概十五分鐘當蛋旦完全乾掉便如常洗面。 蜜糖蜂蜜含有葡萄糖、果糖、蛋白質等成分,可滋潤肌膚,亦有抗炎和修護肌膚的功效,內服外敷同樣有美容效果。用法跟蛋白,當作面膜塗於面上,大概十五分鐘後清洗即可。可注意是,用以純正蜂蜜才更見效。 熱水每個星期一次我會以熱水蒸氣蒸面,保持毛孔暢通,幫助清去污垢,同時吸收水分,使皮膚變得細滑。 橄欖油 橄欖油含各種維生素,有助保持水分並滋養肌膚。有時我也會在洗面之後後塗上丁點橄欖油,輕輕按摩臉部,又或用以熱毛巾敷面,讓皮膚更到光澤及彈性。而在冬天的時候,如果唇皮裂開,可塗上少量橄欖油幫助消除唇紋,兩三天後即重見光滑。 牛油果牛油果有超多優點,除可保濕潤膚,還可以幫助傷口修復,治療過敏、燒傷、皮疹和濕疹等皮膚問題,甚至舒緩蚊叮蟲咬。它可當作面膜試用,但由於它太美味了,我只會把它吃下,完全吸收營養。 好使好用的天然護膚療法,還有乳酪菠羅青瓜木瓜牛油果等等等等,大家不妨上網搜尋,見到方便快捷的方法記得通知我。還有,各類皮膚對於不同療法也有機會敏感不適,如有不妥就要停止。 不過除了外敷,最重要還是要注意飲食,多吃魚多吃水果多吃蔬菜,每天八杯水。雖然我又煙又酒又不想戒,飲食方面我蠻健康的。零食都是藍莓欖橄蕃茄仔,也不吃煎炸味精,而且閒時運動。說到底,身心健康,自然美麗。

【日本。福岡】住宿推介-THE LIFE Hostel & bar lounge
旅遊情報
原來世界這樣大・2018-09-11

分享一下在福岡入住的THE LIFE hostel amp; bar lounge吧。以往的旅行,住宿都不是最重要,畢竟白天都是走出去到處玩,只要安全、舒服,有個寧靜的環境休息就好。而這間THE LIFE hostel amp; bar lounge看起來像酒吧、又像咖啡廳,別具型格。 我是在Agoda上面偶爾找到這間THE LIFE hostel amp; bar lounge。自己一個去旅行,多數我都會尋找Hostel的女生宿舍,自己要一個床位就好了,省錢嘛!而在福岡,Hostel的選擇有很多,我也是外貌協會會長,看到THE LIFE hostel amp; bar lounge的外型也忍不住按進去看詳情,當然價錢也不貴,大概是$200一晚,順理成章就決定把The LIFE Hostel當作是福岡的「落腳處」了! 不過THE LIFE Hostel的位置是有點尷尬,在JR衹園站前往步行7分鐘到達,而在JR博多站前往則步行10分鐘。我在剛下機的時候是在衹園站出閘,不過拿著行李都比較麻煩,加上我覺得步行7分鐘跟10分鐘分別其實不大,之後的日子都是直接步行到JR博多站,前往其他景點。 THE LIFE Hostel的位置不難尋找,唯一麻煩的是當時對出的馬路正在進行維修,在部分的招牌都擋住了,但跟著Google Map前往都是簡單和容易的。正打算入住THE LIFE Hostel的朋友不需要擔心。全白的外牆,配上粗黑色字體,也相當顯眼! 一打開門,THE LIFE Hostel給我的感覺跟別的Hostel不一樣,柔和的燈光的映照下,THE LIFE Hostel比起Hostel,更像是一間酒吧。 一樓的Open Area是以咖啡廳及酒吧經營,半夜睡不著的可以跟朋友坐在這兒的梳化聊天、喝酒,免得騷擾其他住客。而他們播放著Jazz Pop Rock Music,感覺很Chill呢! 而另一邊的則是酒吧,這邊在晚上特別的熱鬧呢!正如牌子上寫的「Life is good」,當然要有啤酒跟朋友好好暢談,不醉無歸吧! 在早上,這兒也有咖啡供應,不過我每天也想著要起711便利店的早餐,並沒有把THE LIFE Hostel的早餐放在眼內,哈哈~(早餐好像是要額外付費的) 而我所入住的是10人女子房間,是與咖啡廳和酒吧同層。雖是這樣,但通往房間也有兩道門,隔走酒吧那邊的音樂,感覺都挺不錯。 不過洗手間、洗澡的地方則是男女共用,要是怕不方便的都可以選擇自己一人的房間,有些也有自己的洗手間的,不過這些私人房間通常都比較搶手,所以要訂就要趁早了。沒有機會為房間拍拍照,但Agoda的照片都跟真實的差不多,大家可以參考一下啦! THE LIFE HOSTEL amp; BAR LOUNGE網站:httpsthelifehostel.comjp

高達模型,不噴塗還有什麼選擇?
手機‧電玩
MacauYeah・2025-10-09

之前筆者就高達模型中,籠統地比較不同的1144比例產品。現在筆者也正式入手更多不同的系列,看看有沒有哪些適合不同需求的玩家。 SD系列:Mobile Join Gundam 明盒盒蛋,拼裝模型,但不需要剪鉗也可以隨手取件。要補色、滲線或進行一步加工制作。優點是可動性高,官方有提供補色貼紙,但距離足夠分色,還是有一段距離。 筆者並不在意它的分色不完美,以這個不足百元的商品來講,可動性足夠讓筆者快樂一個下午。 SD系列:FW Gundam Converge 明盒盒蛋,有少量件需要拼裝,大部份都已經有預塗裝。因為制作比較精緻,人氣商品比MJG會再貴一點。但可動度就很低,幾乎只有手臂、手碗、頭的平轉,腿腰不可動。筆者購入這個系列的原因,主要是當時已經無力再自行塗裝,把它當完成品直接買回來當擺設,也是一番享受。 兩者二選一的話,筆者更偏好MJG,因為有可動性,強行把玩也勉強可玩,一起擺場景也更耐玩。而FW的話,它的優勢反而是選擇多,方便整個系列收藏。因為有塗裝,而且有少部份可動,想拍照也不是不可以,耐玩度不高就是了。 FW就筆者跟朋友交流,在另一個系列MSE的出現下,FW似乎不太受樂。不過筆者未入手過MSE,難以作比較。但外觀上,似是MJG的另一個版本,但沒有骨架。

【香港。食記】Le 188° 餐廳及酒廊
專題報導
原來世界這樣大・2018-09-10

香港下雨足足下了兩星期,下雨確實相當影響心情,下班後有鼓衝動想跑回家,但是既然朋友也沒有主動提出把飯局改期,只好乖乖應約。遠眺維港夜景,在那一望無際的天氣下,看著雨不停的下,還間中看到有閃電閃過。 但處於41樓的Le188餐廳內,卻有種被保護的感覺,還是給我心頭帶來一點溫暖。 每個星期都有駐場歌手彈奏及唱歌,相當有氣氛。在這個下雨天的晚上,音樂伴奏特別的悅耳。朋友紛紛到達,討論過後決定揀選幾份的A La Carte代替套餐,好讓份量方面更好掌握。 我們憑著Menu上的介紹揀選Crab Meat Salad 作為前菜,帶來了驚喜。單是用Cocktail 杯盛載,已經令我們相當喜歡了。這份蟹肉沙律的頂部是由墨魚汁做成的脆餅,入口香脆,感覺沈實。然後配著杯內的蟹肉沙律,還附有芒果、牛油果等等,味道新鮮。有人把墨魚汁脆餅叩碎,混入沙律內;有人卻先吃掉墨魚汁脆片,不論是哪個方法,都能感受到這道前菜的美味,是一流的前菜。 喜歡鵝肝的朋友可以選擇餐牌內的「荷蘭牛仔肉及鴨肝精選」,每款菜式都附上一件鴨肝,好讓鴨肝迷可以滿足一下。先為大家介紹這碟荷蘭牛仔尾清湯,是我當晚難忘的菜式。平時的牛尾湯都是跟蕃茄配搭,但LE188的卻把牛尾湯來點變化,改用清湯配搭牛尾,帶來清澈的口感。而一向吃慣香煎鵝肝的,這回把法國鴨肝一起放到湯當中,一改香口惹味的口感,配著田園蔬菜,更吃到鴨肝內的柔嫩細緻。比起平時吃到的很不一樣,值得一試! 這份碳燒牛仔扒也是從剛剛上述的餐牌內選擇的,不缺當然是法國鴨肝了。這份充滿碳烤香味的牛仔扒惹味十足,肉質軟腍幼嫩,旁邊的薯仔也相當的好吃。 這道法國黃油春雞來自法國一個地方Jura的家鄉菜,一呈上原隻雞時嗅到香濃的煙燻味,這份黃油春雞以黃酒醃製,吃的時候帶有少許的酒味,還帶有Rosemary的香味呢!讓我們看到製成的黃油雞後,廚師們便把它切成一份份,送到我們各人的面前。 淋上忌廉汁,黃油雞的肉質顯得更加滑嫩,相當的美味。 即使已經吃到飽飽,還是受不住甜品的引誘。對於這份Earl Grey Milk Chocolate Perfection,本來我是朱古力有點顧慮的,但小嚐一口,中間的Earl Grey Milk Chocolate 沒有所想的甜,可能是有伯爵茶味道中和一下吧。不得不讚的是檸檬青檸雪葩做得相當好吃,清新之餘也消除了膩感,不論是配剛剛的朱古力,還是蜜餞芒果都相當的搭配。 Le 188deg; 餐廳及酒廊北角油街23號港島海逸君綽酒店41樓

你每天睡眠好嗎?假日補眠有幫助嗎?
其他
皓芯・2022-04-18

在人的一生中,幾乎花了三分之一的時間在睡眠上,雖然我們每天都會睡眠,但在我們睡著的時候,大腦依然忙碌著。睡眠時,是大腦執行記憶確認功能、是幫我們「清洗」清除大腦代謝物的時機。 睡不夠是現代人普遍的現象,很多人熬夜或睡眠不足,總想著利用「假日補眠」。然而,研究分析顯示,睡眠問題不僅會影響人的情緒、注意力不集中、甚至能影響人的免疫系統。 每年,世界睡眠學會(World Sleep Society)針對大眾的睡眠健康需求,為ldquo;世界睡眠日rdquo;(WSD, World SleepDayreg;)制定年度主題。希望透過各樣活動,提高人們對於健康睡眠的認識和關註,呼籲大家一起來正視睡眠健康的重要性,保持規律又優質的睡眠,可以改善身心健康。然而,人為什麼要睡覺呢? 本書作者馬修.middot;沃克(Matthew Walker),神經科學家暨心理學教授,也是「人類睡眠科學中心」的創立者,主要研究在於探討睡眠,對人類健康和疾病的影響。他致力於傳播科學,向大眾宣揚睡眠的驚人力量,經常接受各大媒體訪談,包括國家地理頻道、BBC等。此外他曾擔任美國國家籃球協會(NBA)、英格蘭足球超級聯賽的睡眠顧問等,目前身兼Google生命科學部門的睡眠科學家。 這是一本介紹睡眠的科學書籍,本書介紹了許多經過科學驗證的睡眠知識,從科學的角度告訴我們睡覺的重要性;本書可說是他彙整數十年來的睡眠研究成果,書中節錄許多關於睡眠的臨床實驗,解釋大腦的睡眠功能,告訴我們睡覺對身體和心靈的好處,與缺乏睡眠和熬夜對身體的影響;最後還提供了增進睡眠品質、如何睡好覺的方法,帶領讀者認識睡眠的重要! 本書更入選微軟創辦人mdash;比爾蓋茲的2019年年度選書之一,他說這是本「重要而且引人入勝的好書」。 還記得最近一次不用鬧鐘就醒來,是什麼時候嗎?你有想過人為什麼要睡覺?你每天的睡眠時間達標了嗎?為什麼人上了年紀睡眠時間會變短呢?以上問題皆可在本書中找到答案。 本書作者馬特.沃克在TED的精彩演講影片   《為什麼要睡覺?:睡出健康與學習力、夢出創意的新科學》 作者:馬修.沃克 原文作者: Matthew Walker 譯者: 姚若潔 出版社:天下文化 出版日期:20190130 ISBN:9789864796311 訂購地點 一書齋 圖片來源 網絡圖片、 自由健康網、HEHO 健康網