搜尋

搜尋結果

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功能。 // src/main/java/io/github/macauyeah/springboot/tutorial/springbootwebapibasic/controller/HomeController.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 @RequestMapping("/api") public class HomeController { @GetMapping("/someRecord/{uuid}") public Map readSomeRecord(@PathVariable String uuid) { return Map.of("ret", "your uuid:" + uuid); } @PostMapping("/someRecord") public Map createSomeRecord(@RequestBody Map requestBody) { HashMap ret = new HashMap(requestBody); ret.put("ret", "got your request"); return ret; } } HomeController裏,完整的URL 其實為: GET http://localhost:8080/api/someRecord/{uuid} POST http://localhost:8080/api/someRecord URL中的api之後的路徑,都是定義在 HomeController 中,而前半的8080及context path,是使用預設值。在正式環境下,可能隨時會被重新定義。但我們做本地測試,只需要驗證預設值就可以了。 我們真的運行起程式mvn clean compile spring-boot:run,再使用最簡測試工具進行測試。Windows的朋友,可以選擇Postman作為測試,它有圖形介面。而linux的朋友,請用curl,預設安裝都會有。下列為方便表示測試參數,筆者選用curl。 測試GET,其中1234會自動對應到spring裏的uuid。 curl http://localhost:8080/api/someRecord/1234 # return {"ret":"your uuid:1234"} 測試 POST,其中的 -d 參數,會對應 spring裏的 @RequestBody, -H 參數則是設定 http header 的意思,我們就使用約定俗成的 json 作為 header 。 curl -X POST http://localhost:8080/api/someRecord -H "Content-Type: application/json" -d '{"requst":"did you get it?"}' # return {"requst":"did you get it?","ret":"got your request"} 上面的兩個操作,都回傳了我們輸入的資訊,這代表了我們成功用spring架起了http json api,而且正常讀入資訊。 Test Case 雖然我們可以正常地架起 api,但每次開發都要 postman / curl這種工具額外試一次,其實也有一些成本。而且 api 數量變大,或經多次修改後,就重複人手執行,就變得相當討厭。 面對這個問題,筆者會建議寫測試用例,即是Test Case,而且用Spring內置的@SpringBootTest來寫。 產生一個空的Test類,vscode中,最簡單可以Source Action => Generate Test,然後加入這次要測試的參數。 // src/test/java/io/github/macauyeah/springboot/tutorial/springbootwebapibasic/controller/HomeControllerTest.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.get("/api/someRecord/1234") .contentType(MediaType.APPLICATION_JSON); this.mockMvc.perform(requestBuilder) .andExpect(MockMvcResultMatchers.jsonPath("$.ret").value("your uuid:1234")) .andDo(MockMvcResultHandlers.print()); } @Test void testPostSomeRecord() throws Exception { String request = """ {"requst":"did you get it?"} """; RequestBuilder requestBuilder = MockMvcRequestBuilders.post("/api/someRecord") .contentType(MediaType.APPLICATION_JSON) .content(request); this.mockMvc.perform(requestBuilder) .andExpect(MockMvcResultMatchers.jsonPath("$.requst").value("did you get it?")) .andExpect(MockMvcResultMatchers.jsonPath("$.ret").value("got your request")) .andDo(MockMvcResultHandlers.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

【沖繩。那霸】├住宿┤ ホテルアートステイ那覇国際通り Hotel Art Stay Naha Kokusai Street
走遍世界
80後愛旅行✈️・2025-07-23

ホテルアートステイ那覇国際通り (Hotel Art Stay Naha Kokusai Street / 那霸藝術酒店) 是一間位於國際通上, 距離美榮橋站幾分鐘步程的酒店。 我們選擇住在這裡除了因為第一天下飛機坐車過來很方便,離國際通也很近外, 也因為第二天離我們要取車自駕的SIXT也超近的,拉著行李走幾步就到,這酒店的地理位置真的超好!! 「ホテルアートステイ那覇国際通り」是一間融合文化與藝術的設計型酒店,讓每位旅客在住宿期間都能感受到藝術氛圍。 (網路圖片) Lobby在地下一樓,除了樓梯外還有電梯,拖著行李也不用擔心 「ホテルアートステイ那覇国際通り」是一間融合文化與藝術的設計型酒店,讓每位旅客在住宿期間都能感受到藝術氛圍,體驗獨特的旅行感受。 酒店內放了很多藝術畫作,形成了這個特別的居住空間體驗。 前台旁邊是吃早餐的地方,也是一個免費的休息場所。 住客可以全天24小時免費使用咖啡機、茶、三品茶和泡盛酒。 最誇張的是這裡24小時免費無限暢飲8種泡盛酒!!! 還有每天下午 3 點至晚上 10 點,啤酒放題任喝。 喜歡喝酒或是品嚐不同酒類的朋友,應該超愛這裡的!! 大堂一角有個賣手信的地方 免費租借單車,可以騎著它輕鬆逛逛酒店周邊的地方。 還有各式各樣的物品可以免費借用,例如:床護欄、直髮器、足部按摩器、加濕器/空氣清淨機等等, 這應該是我入住過的酒店中,最多東西可以租借的一間。 大廳還有免費日用品,供住客領取。 洗衣機也是免費使用的 酒店3至10樓設有80間客房,每間客房都展出了來自泰國孤兒院的孩子們的繪畫作品; 而2樓設有9間客房,展出了9位攝影師的作品。 這次我們入住的是位於3樓的「禁煙雙人房」。 這次我們入住的是「禁煙雙人房」,面積約16平方米,空間不大,但地理位置確實非常好。 窗外就是繁榮的國際通,可以見證著白天繁榮、人山人海的景象;和晚上商店都關門後,寧靜和寂靜的國際通。 後者應該很少人會看得到吧 可以看得到房間的設施是比較舊一點,但環境是乾淨整潔的! 狹小的房間內有掛東西的鐵桿真的很方便!! 除了衣服還可以掛很多東西,節省很多空間呢! 還有真正的衣櫃 洗手間比較舊式,但同樣乾淨和應有盡有。 整體來就,「ホテルアートステイ那覇国際通り」的房間比較舊和小,但地理位置很好。 Lobby也有無限暢飲和有各式各樣的物品租借, 作為在沖繩那霸的住宿確實不錯!! ホテルアートステイ那覇国際通り 〒900-0013 沖縄県那覇市牧志1-3-43 050-1807-5264 https://www.resorts.co.jp/artstaynaha 2025年5月「禁煙雙人房」價錢 18,360 円 檢視較大的地圖

味遊四川。充滿驚喜的蜀道
澳城餐飲
蘇蘇・2018-10-02

從前蘇蘇一直都很怕吃辣,因為很怕辣得面紅耳赤、很怕辣得眼淚水不斷流、很怕辣得舌頭和喉嚨像著了火一樣,所以一直對辣避之則吉。不過開始寫餐廳體驗後,接觸吃辣的機會多了,有時要吃辣的真是無可避免,後來才發現,原來辣有很多種,絕不單一。 近年蘇蘇愛上了麻辣,既香且麻讓人胃口大開,更喜歡那香麻不嗆辣的口感,雖然蘇蘇還是只能吃一點辣,不過對於麻辣就有點吃上癮的感覺。 今年才開幕的澳門美獅美高梅酒店,裡面有多家星級餐廳,之前體驗過世界響負盛名的日式秘魯料理,對於他們獨特的香料、醬汁和配搭已經很喜歡,今次再來就是為了它 ~ 蜀道。 四川簡稱「蜀」,蜀道是中國古代政治、經濟、文化中心咸陽和長安通往邊遠之郡巴蜀的道路,學術意義上的蜀道,是指翻秦嶺過巴山、連接今陝西西安和四川成都的道路,因為四川盛產辣椒,所以不少的辣椒交易也是在這裡進行。餐廳外牆和大廳那連綿曲折的水墨畫牆猶如描繪出蜀道沿途風景,景致迷人,讓人神往。 趁時間尚早,客人沒有那麼多的時候,在餐廳內走走,發現天花板很高,感覺舒適,這裡洋溢的藝術氣息更結合了傳統與現代美學,幽雅漂亮。 每一張餐枱上也有仿古擺設,餐具也是一絲不苟。 餐廳主打正宗成都菜,麻辣和辛辣的菜式自然少不了,但原來不辣的菜式也不少選擇,這裡更有來自四川的專業茶藝師幫助我們揀選配合菜式的中國茶。 這一頓茶藝師為我們揀選了一款名為金毫駿眉的紅茶。 這是一款全程由人手製作的全發酵茶,採用的都是茶葉的芽尖,茶色金黃,入口甘爽,回甘味濃,亦帶點點蜜糖香味,這款茶咖啡因低,更有美容養髮之功效,蘇蘇一定要多喝一點。 蜀道精緻小品: 麻醬有機菜、時尚白肉卷、鮮花椒北極貝拌松茸 每一次蘇蘇去四川或東北餐館也會點麻醬青菜,愛它的麻醬香味,拌以新鮮蔬菜來吃十分爽口開胃,而且麻醬都是廚師自家製造的,不是假手於人。鮮花椒北極貝拌松茸絕對是一個驚喜,除了刺身之外,蘇蘇從沒有嚐過其他吃法,想不到北極貝可以配以新鮮花椒用作做成涼菜,而且新鮮花椒也是第一次看見,其他餐廳也只是用乾的,原來真的有差別。 時尚白肉卷是這3道前菜中最愛的,白肉卷不是只有肥肉,它肥瘦均勻,醬料惹味,帶點微辣,好吃得讓我們慾擺不能,最後追加了一盆。 國宴雞豆花 開始時蘇蘇以為這片白色的是豆腐,經服務員解釋後才知道這真是國宴中其中一道菜式,這是用雞肉打成的雞肉蓉,蘇蘇好奇的嚐一口,雖然沒有豆腐花那麼滑,但是一點肉渣也沒有,真是神乎奇技。原來雞豆花是四川特色傳統名菜之一,據傳在清末就已有這個菜式的記載,特色在於「形似豆花,吃雞不見雞」的新奇食感,猶如現今的分子料理一樣。蘇蘇再嚐一口佐以雲南松茸的高湯,雖然看似澄清如水但醇厚清甜,相信是蜀道的招牌菜式。 山胡椒汁大明蝦 蘇蘇很喜歡吃蝦,尤其是已經脫殼的,因為每一口都是肉,免卻麻煩。 這道選用的是越南3頭大明蝦,蝦肉鮮爽,個人認為山胡椒木來配搭海鮮最適合,可惜只有一只,滿足不了我的胃口,有點失落。 突然間,音樂轉換了,剛巧服務員在上菜,問她為什麼會這樣,原來變臉的演時間到了。 嘩。。。只是來吃個晚飯,竟然可以欣賞四川絕活? 而且還是一個很接近的距離!? 很驚喜啊! 他就只是與蘇蘇一枱之隔,雖然知道一點變臉的技巧,但是在這麼接近的距離,還是看不出他是如何做到的,真是拍案叫絕。 原來每晚大約8時(除了星期一),餐廳就會有變臉表演,想看的朋友不要錯過啊! 珍菌牛肉粒拼有機蘆筍 選用的是牛眼肉部位,這部位脂肪交雜呈大理石花紋狀。由於肋脊部的運動較少,眼肉肉質細嫩,吃起來的口感嫩口多肉汁。 成都擔擔麵 聽說這是不能不試的,麵條是自家新鮮製作,軟滑但有口感,那麻香的醬汁,十分惹味,對於蘇蘇來說雖然有點辣,最後還是將麵條一條不淨的全部往肚子裡推。 口中滿是辣的感覺,這時茶藝師預算奉上八寶茶,時間真是剛好。 八寶茶被中醫譽為養生茶,男女佳宜,它沒有固定的配方,一般會有紅棗、桂圓、枸杞、山楂、柿餅、花茶、紅糖、蘋果乾等等,但不管如何搭配,紅棗和枸杞都是少不免的材料。而蘇蘇這一晚喝的就有祁門紅茶、麥冬、玫瑰、紅棗、枸杞、桂圓、冰糖和羅漢果,因為天氣開始有點涼,這些就是適合秋天喝的八寶茶呢,也正好為蘇蘇解辣。 茶藝師更會在我們面前耍一點沖茶絕活,讓人目不暇給。 糍粑冰粉 剛才看著菜單,有一道名為糍粑冰粉的甜品,十分好奇這個究竟是什麼來的? 原來冰粉是四川人最愛的小吃(為什麼我之前沒有吃過?),材料包括有酒糟米、葡萄乾、糍粑、紅豆和冰粉,再配以紅糖水,糍粑其實就是糯米小糕,這道甜品口感層次豐富,香甜可口,而且蘇蘇更大愛糯米做的小點心,現在為之想念。 這一頓既驚喜又滿足,蘇蘇的回頭指數絕對是100%,菜單上這麼多選擇,下次一定要再來試別的,不過時尚白肉卷和糍粑冰粉一定要安歌。 最後服務員奉上一張卡紙給蘇蘇,原來是意見書,只要用手機掃一掃卡紙上的QR Code,就可以填寫內容,十分環保啊! 其實從今年美高梅的月餅禮盒包裝明顯發現,美高梅酒店有意加大力度宣揚環保訊息,但明白凡事不可以一步登天,就由微小的事情慢慢做起。 蜀道 地址: 澳門氹仔美獅美高梅酒店地下 電話: +853 8806 2358 營業時間: 11:00~15:00,18:00~23:00 衣著要求: 請穿著時尚休閒服裝。男士請穿著長褲、有袖上裝及閉口鞋。女士請勿穿著客房拖鞋。 ~~~~~~~~~~ 更多各地吃喝玩樂、美容、潮流、旅遊、演藝、文化或購物資訊、心情話語文章等,繼續以一文多發形式發放於中、港、澳三地多個高人氣時尚生活網站的專欄內,詳情請點擊蘇蘇的 新浪微博: 『蘇蘇的部落』http://www.weibo.com/susannakl/profile Facebook: https://www.facebook.com/sososusanna Instagram: http://instagram.com/sososusanna 時尚生活專欄: ELLE HK ELLE CHINA 中國瑞麗時尚網 澳門人氣資訊網站CTM。LifeMag 臺灣痞客邦 中國搜狐新聞網 (手機Apps) 聯絡及邀約: susannakL88@yahoo.com.hk

澳門教育家陳康妮:淺談全球未來教育趨勢及創新案例
文化創意
陳康妮・2023-09-19

未來學習需要什麼改變?這是一個我們都應該關心的問題,因為教育不僅影響個人的發展,也影響社會的進步。在這個快速變化的世界,我們需要不斷學習新的知識和技能,以適應不斷變化的需求和挑戰。因此,我們需要重新設計學習歷程,讓學習更加有效、有趣和有意義。 《OECD學習指南針2030》 “OECD學習指南針2030” (Learning Compass 2030) 一個指引性的框架讓持份者參考究竟未來應如何裝備學生應付世界急速變化的環境。 在這篇文章中,我將分享一些全球未來教育趨勢及創新案例,希望能給大家一些啟發和參考。 全球未來教育趨勢 根據OECD 2021最新報告《回到教育的未來:經合組織關於學校教育的四種圖景》1,未來學校教育可能會出現以下四種圖景: 學校教育擴展(SCHOOLING EXTENDED):正規教育的參與繼續擴大,國際合作和技術進步支持更加個性化的學習,但學校教育的結構和過程仍然存在。 教育外包(EDUCATION OUTSOURCED):隨著社會更加直接地參與到公民教育中來,傳統的教育體系也隨之瓦解。學習通過更加多樣化、私有化和靈活的安排進行,數字技術是關鍵的驅動因素。 學校作為學習中心(SCHOOLS AS LEARNING HUBS):學校依然存在,但多樣化和實驗是常態。打開學校「圍牆」將學校與社區聯繫起來,有利於不斷變化的學習形式、公民參與和社會創新。 無邊界學習(LEARN-AS-YOU-GO):學習不再局限於特定的時間、地點或機構。學習者可以隨時隨地通過各種平台和資源進行自主和協作的學習,並通過可移動的證書和徽章展示他們的成就。 這四種圖景都有其優勢和挑戰,並且都需要不同程度的改變。我們需要思考我們希望實現哪種圖景,以及我們需要做什麼來實現它。 創新案例 在全球範圍內,有許多創新案例可以啟發我們重新設計學習歷程。以下是一些值得關注的例子: 美國:High Tech High2是一所以項目為基礎的公立學校,旨在培養學生的創造力、批判性思考、合作能力和溝通能力。學生通過跨學科、跨年級、跨文化的項目來探索真實世界的問題,並與社區和專家合作,展示他們的學習成果。 德國:Evangelische Schule Berlin Zentrum是一所以自主學習為核心的私立學校,旨在培養學生的自信、責任和社會參與。學生可以根據自己的興趣和目標選擇學習內容和方法,並與老師和同儕進行反饋和評價。學校還提供了各種課外活動,讓學生發展自己的才能和熱情。 上海:上海市第二十五中學是一所以創新教育為特色的公立學校,旨在培養學生的創新意識、創新能力和創新精神。學校通過開設創新課程、建立創新平台、組織創新活動、推動創新文化等方式,讓學生在不同領域和階段進行創新實踐,並與社會資源和國際夥伴進行交流和合作。 以上是我對全球未來教育趨勢及創新案例的分享,希望能對大家有所幫助。我相信,只要我們不斷探索、嘗試和改進,我們就能創造出更適合未來的學習歷程。 陳康妮Miss Chan Connie 澳洲墨爾本大學教育管理學碩士 愛爾蘭都柏林大學工商管理學士 澳門教育家 澳門教育專欄作家 澳門教育學作家:澳門教育創新 澳門國際培訓師(創新創業/全球職涯發展師)澳門兒童文學作家 澳門斷捨離學會主席

發佈Docker Swarm App的選擇 - CI/CD系統的參與
科技新知
MacauYeah・2023-08-25

一段時間前,筆者就討論了一些Docker打包的程式的文章,也討論了一些Docker Cluster環境下的選擇。現在也是時候,可以分享一些對於發佈環境的可選空間。 CI/CD系統 CI/CD 全稱是continuous integration (CI) 和 continuous delivery (CD),字面上代表的持續地集成和發佈,實體上就是某台伺服器自動發佈APP。因為使用到Docker Cluster,不論前述什麼選擇 (前文連結 請點這裏),都會有多個node(節點)的出現。要發佈App,總不能一個個node逐個登入設定。所以我們需要一些CI/CD工具,把這個過程都自動化。 在筆者的認知上,CI/CD系統,由兩個部份組成,一個是取得Source Code(程式原始碼)的過程,一個是編譯或發佈Source Code的過程。Gitlab,Github,BitBucket等大型的代碼庫供應商,它們天生為了保存Source Code而提供服務的。不少CI/CD系統都可以跟它們整合,它們提供了存取Source Code的部份,剩下你只要能提供編譯或發佈的伺服器就好。 如果作為小型開發團隊,很少會有意願去自己花錢養一個編譯或發佈的伺服器。(極端地,如果我就是一人團隊,我用自己電腦編譯和發佈就好,伺服器能做的,我自己也能做。)好消息的是,Github提供了一個叫Github Action的CI/CD系統,即使你沒有自己的編譯專用的伺服器,Github Action也可以用Docker Image,提供一個臨時的編譯程序,用完就刪掉。詳細功能還請各位先查看官方教學,筆者也暫時只能零星使用經驗,無法給出有意思的架構。 如果對智慧財產權有高度重視,Source Code不能存放在公開的伺服器,那麼Gitlab Enterprise Edtion則是一個好選擇。運用Gitlab ee,你可以用自己的機器,造一個純本地的庫存伺服器。更強的是,它內建也有CI/CD系統,只要你有間置的伺服器,就可以作為編譯使用。筆者也是從這個方向著手,架設了自己的Gitlab Runner(Gitlab CI/CD系統)。在這裏,就分享一下與Docker Swarm整理的概念。 對於前述兩種選擇,GitLab Runner都可以做得到 底層程式打包成Image並運行在Swarm mode上,每次發佈的是App Binary(執行檔或核心檔案)。 把App直接打包成Image,並運行在Swarm mode上,每次發佈的是App Image。 CI/CD - 打包底層程式成為Image 在這個選擇下,其實就跟傳統自動化發佈的做法類似,只是發佈時,要多個node報行更新指令。如果你使用的底層程式原本就有支援多版本並行,這樣更新時就不用太操心rollback(回滾?)等操作。若系統不支援多版本並行,為求簡化,若遇到要rollback的情況,重跑過去舊的CI/CD操作也是一個做法。當然,我們也可以經過一些備份的操作,來保存被代替的程式,若在發佈過程中出問題,也可以手動重來,不過整件事就越來越複雜。 筆者發佈的基本思路是 使用docker image,編譯和打包App Binary。 使docker image做編譯的好處是,你可以比較放心地假設每次編譯時,你的編譯環境都是乾淨的。 傳送上述的結果至生產環境可以取用的地方。 跳入生產環境執行更新指令 這裏有些隱藏的管理成本,如果你生產環境中有多個node,最後那幾行指令就要多抄幾次。 CI/CD - 打包App成為Image 在這個選擇下,對比傳統自動化發佈的做法,現在要多做一步,就是要包裝自己的Image。不過好處是docker swarm有提供監測工具,在發佈過程每個分身會逐個更新,前一個分身更新成功後才會到下一個分身更新。而且 rollback等的操作,你可以靠docker做到。即是要手動rollback,也可以透過更正docker tags來達到,所以整體上來說沒有比傳統的麻煩。 筆者發佈的基本思路是 編譯App Binary。 打包成docker image。 經docker上傳image。 跳入生產環境執行更新指令。 對比傳統自動化發佈的做法,最後的更新指令,只要執行一次就可以。當然,原本在Docker Swarm中要管理的事還是要好好管理。 CI/CD - 備註事項 雖然CI/CD可以幫忙簡化更新的過程,但實際操作會比上述的例子複雜一些。因為通常對非技術型的外界用戶來說,一個Web App會包含很多不同的功能。上述的例仔,在實際情況下可能需要拆解成很多微服務來進行。所以對管理上還是有相當的挑戰。

澳門家長教育|陳康妮:孩子們學習獨處是重要的一節課
文化創意
陳康妮・2023-06-06

在澳門,孩子們面臨著各種壓力和挑戰,需要具備良好的心理素質和自我調適能力。孩子們作為未來澳門的主人翁,也需要學習如何面對自己的情感和需求,如何與他人建立和諧的關係,如何發揮自己的潛能和創造力。而這些能力的培養,往往需要在一個人獨處的時候進行。因此,孩子們學習獨處是一門重要的課。 學習獨處可以幫助孩子們建立自信和自尊。孩子成長後就學會戴面具做人,為了討好和取悅別人,贏得了讚美,卻忽視了自己的真正感受。當面具與自己的世界越來越遙遠時,就會產生寂寞。寂寞是一種訊息,提醒我們不曾擁有自己的真實感覺。從小培養孩子一個人獨處時,可以有機會聆聽和面對自己的內在聲音,發現自己的優點和特質,增強自我認同和價值感。 學習獨處可以幫助孩子們培養思考和創造力。在現代教育中,往往過分強調知識的灌輸和成績的考核,忽略了孩子們的想像力和創造力。而在一個人獨處時,可以有更多的空間和時間去探索自己的興趣和潛能,去發問和解決問題,去嘗試和創新。例如,有些孩子喜歡閱讀、寫作、畫畫、玩樂器等,在這些活動中可以體驗到學習的樂趣和成就感。 學習獨處可以幫助孩子們建立更親密的關係。孤獨和親密是連體嬰,一體兩面。只有在一個人獨處時,才能真正面對自己、懂得自己的真實感受。而當一個人知道如何和自己相處時,內在會長出“勇氣”。愛人需要很大的勇氣,因為愛人的背後是負責任。當一個人可以把自己很真實地呈現出來,不需要戴面具,就可以與他人建立更深層的信任和理解,享受更高品質的親密關係。 孩子們學習獨處是一門重要的課,可以幫助他們在心理、認知和社會方面得到全面的發展。當然,學習獨處並不意味著孤立自己,而是要找到一種平衡和調和,既能享受自己的空間和時間,又能與他人保持良好的溝通和互動。作為家長應該尊重和支持孩子們的獨處需求,同時給予他們適當的指導和陪伴,讓他們在獨處中成長,在成長中獨處,學會獨處面對自己,可享親密真實感受。 學習獨處還可以幫助孩子們養成良好的生活習慣和自律能力。在一個人獨處時,沒有別人的干擾和影響,可以按照自己的節奏和喜好安排自己的時間和活動,培養自己的責任感和主動性。例如,有些孩子喜歡在一個人獨處時做運動、打掃房間、整理書籍等,在這些活動中可以鍛煉自己的身體和意志,提高自己的效率和品質。 當然,學習獨處也需要適度和平衡,不能過度或不足。過度的獨處可能導致孩子們孤僻、自閉、缺乏社交技巧等問題;不足的獨處可能導致孩子們依賴、焦慮、缺乏自信等問題。因此,作為父母和教育工作者,要根據孩子們的年齡、性格、興趣等因素,給予他們適當的引導和支持,讓他們在獨處中找到自己,在找到自己中享受獨處。 孩子們學習獨處是一門重要的課,它不僅可以幫助他們建立自信和自尊,培養思考和創造力,建立更親密的關係,還可以幫助他們養成良好的生活習慣和自律能力。在這個快節奏、高壓力、多變化的社會中,孩子們需要學會如何與自己相處,如何發現和發展自己的潛力,如何面對和解決各種問題。而這些能力的培養,往往需要在一個人獨處的時候進行。讓我們一起幫助孩子們學會並享受獨處吧! 陳康妮 Miss Connie 澳門資深教育學者大學講師港澳教師首席培訓師27年港澳義工首席培訓師27年澳門教育作家:出版書籍-澳門教育創新澳門教育專欄作家-大灣區時報澳門兒童文學作家澳門斷捨離學會主席澳洲墨爾本教育管理學碩士Melbourne University英國倫敦大學心理學學士University of London

陳康妮:澳門創新創業教育,既是機遇又是挑戰
文化創意
陳康妮・2022-12-18

澳門2023創新創業教育之遇見 近年來,澳門的教育水準不斷提高,教育事業蒸蒸日上,如何讓澳門的教育品質又好又快地發展,在我看來,創新創業教育就顯得尤為重要。 從澳門發展的科學性和合理性來講,創新創業教育要遵循“以人為本”的教育發展理念,需要遵循教育自身發展的客觀規律、人才培養規律與人才成長規律,積極處理好教育自身發展與經濟社會發展的相互關係,為澳門經濟的轉型升級提供有效的人才供給和智力支撐。創新創業教育在依循內在發展邏輯變革要素。從人才的流動性和集聚性來看,人才資源是創新創業活動中最為活躍、最為積極的因素,學校不僅要培養人才、培訓人才、輸出人才,也要引進人才、流動人才和服務人才,創新創業教育是一種終身、全程教育,要促進教師、企業技術人員在學校一企業之間的雙向流動,促進師生同創,激發雙刨主體的創造力和主動性。創新創業教育對澳門的學校而言,既是機遇,又是挑戰。 學校要在打造面向全體學生的創新創業基礎課程的基礎上,開放進階型創新創業課程選課機制,讓學生在教師的指導下,根據自身的需求狀況,制訂自己的創新創業課程計畫。對於有創新創業實踐需要的學生,可以選擇到澳門的企業或者孵化機構進行實習;對於有專業需求的學生,可以提供融合創新創業內容的專業課程,在提升專業能力的同時提高創新創業意識。充分利用各類資源,建立好分層分類的創新創業課程體系來滿足不同學生的多樣化需求,以便貼合區域多層次的人才需求。在這過程中,首先是要完善校外導師聘任機制,引入企業家、企業高級管理人才、投資專家或相關政府工作人員等具有豐富實戰經驗的一線精英為兼職創新創業導師,借助澳門建設宜居宜業宜遊的有利形勢吸引境外人才,為學生講授產業結構、行業背景、業內實務等內容。其次,要提高教師在學生創新創業過程中的參與度;例如學習國際知名灣區學校師生共創的創新創業專案運作模式;加強創新創業導師在創業指導工作方面的績效評定,調動專業教師的積極性,鼓勵有創業實踐經驗的教師輔助學生運營創業專案等等。最後,要重視澳門職業教育的發展,作為一種與普通教育具有同等重要地位的教育類型,職業教育對澳門教育的創新發展有著重要的意義,職業教育高質量發展意味著職業教育通過彰顯其獨特的課程教學內容、獨特的教學與學習方式,並通過提供符合標準及市場需求的職業資格證書、技能等級證書,鼓勵優秀者進行設計產品,獲取專利的形式對學習者產生吸引力,進而增強職業教育的社會吸引力。總之,職業教育高質量發展意味著通過技能發展規劃與政策,有效實現市場需求與技術技能人才供給之間的平衡,最終服務與支持澳門地區經濟的蓬勃發展。 未來,澳門的創新創業型人才培養構成要素要緊密結合澳門的發展實際,既要在總體規模上滿足澳門社會創新發展需求,同時也要優化其內部規模結構,如不同專業的創業規模,不同領域的創業規模,甚至是創新創業教育體系的建設要結合澳門的產業特色,依託澳門的創新創業資源進行打造。充分吸收自由流通的人才、資本、資訊、技術等創新要素,建立起分層分類的創新創業教育體系,讓不同需求的學生在不同創新創業課程中得到滿足,進而為澳門教育事業提供源源不斷的內驅動力。 【作者簡介】 陳康妮 Miss Connie 澳門科技大學講師 澳洲墨爾本大學主修高等教育管理學畢業 澳門資深教育管理學專家 澳門教育作家(教育創新) 澳門兒童文學作家 澳門國際培訓師- 從事國際培訓師工作26年 全球職涯發展師- 澳門斷捨離群組創辦人 (群組合共26000人)

聯想流 ── 繪本《有麻煩了!》的燙斗印變形記
文化創意
繪本與棋@黃庭熾・2021-05-03

  繪本《有麻煩了!》是個胡思亂想的故事,是個坐在課室窗邊的孩子仰望浮雲的故事,是成語杞人憂天的現代喜劇版本......   反覆去形容這個故事,我的意思是,我喜歡它。   喜歡它由簡而繁、自尋煩惱 ── 傻的可愛。不是掛著鼻涕、搖搖欲墜的孩子那種傻,是一種深入淺出的天真,一種深刻觀察生活的抽象表達,要不然怎麼能從一個燙斗印,娓娓道出一個「天馬行空」的故事 ── 不是說笑,裡頭還真有「火箭墜落」!   燙衣服的時候,小女孩一恍神,就在奶奶親手織就、媽媽最喜愛的桌布上留下了不可磨滅的印痕,她慌極了,於是接連產生出一串想法,皆離不開燙斗印的變化......   這其實是一個極好的範例,解釋了聯想是甚麼,創意是甚麼,創造力是甚麼......這些皆不是無中生有,均是從一件事物遷移化為另一件事物的過程和結果,所以滄海桑田雖是形容極大的變化,卻也是大自然創造力的結果。   另一本繪本《跑跑鎮》也有異曲同工之妙。 延伸閱讀:哐!《跑跑鎮》上的創意寫作   我們也可以隨著創作者的筆觸,師法他的創意路徑,來衍生出讀者自身的創作。   所以繪本《有麻煩了!》安排的閱讀實踐,就是邀請讀者也在燙斗印上「做文章」:決定燙斗印的變化,來完成一幅四格漫畫。   讀者們的創意可令人驚喜了!   一組家庭描繪奇遇的故事:一艘「太空船」墜落海底,駕駛員被巨大「章魚」劫持,幸得「魔鬼魚」的仗義救援,最終抵達了深海「城堡」。   又一組家庭描繪了時間的故事,別出心栽地安排了一棵樹,描畫了它在春雨綿綿中、又在驕陽夏日中、在呼呼秋風中、也在皚皚白雪中。   一個小朋友認為燙斗印的形狀似窗,既是看世界的地方、亦為心情的出口,她描畫了日常的喜怒哀樂,以太陽象徵開心、雷霆暴雨喻傷心、滿樹辣椒畫傷心、蝴舞花間表示快樂,媽媽則為她裝飾了窗簾,包容了她的如波起伏的情緒。   有些書讀了,你會更喜歡作者,有些書讀了,你會更喜歡自己,我認為繪本《有麻煩了!》屬後者。 你可以從這些地方借閱到這本繪本: 中央書庫、中央圖書館、何賢公園圖書館、望廈圖書館、氹仔、路環圖書館 ── 實際館藏情形可以透過澳門公共圖書館館藏查詢系統瞭解。

澳門教育家陳康妮:學會識別和理解你的利益相關者
文化創意
陳康妮・2020-08-24

【作者簡介】 陳康妮 Miss Connie,大學講師,現任澳門作家協會秘書長。澳州墨爾本大學主修高等教育管理學,澳門高等教育管理學專家。主力高等教育管理學的教育硏究。澳門教育專欄作家,澳門兒童文學作家。 陳康妮提出「澳門創新創業教育」概念。希望將創新創業的教育帶給澳門的每一位大學生。充分學習國外學校的優點,同時保持澳門本土特色,創造最好的未來大學,也給迷茫的大學生未來的學習以及人生建議。讓澳門的學生走向世界! 1,首先明白你的利益相關者 作為一個新興的社會企業家,你要進行複雜的社會變革的關鍵部分是學會識別和理解你的利益相關者。 你如何有效地全面了解利益相關者及其背景? 當你為世界的變化而努力時,如何培養自己的內部變化?有研究社會創新的外國學者將通過重點介紹與社會變革過程中與利益相關者合作所需的有效方法和特定工具,來幫助大學生在這條雙向道路上導航。研究學者將對系統思維和以人為本的設計概念進行解碼,並啟動組成的社會企業家教育課程。 2,外國研究社會創新學者探討了將大學生對社會企業的願景變為現實的系統方法中至關重要但經常被誤解的步驟:清楚地理解和定義大學生的任務。今年疫情我教創新時會將幫助大學生確定流程中看似簡單但至關重要的方面,我會叫學生完成任務: 教學生如何實現他們的想法,問他們表述如何做到,問他們如何做些不同的事情才能實現它,然後設計有效的“行為圖”。 學生將展示如何構成社會創新過程的基礎,該過程可幫助學生建立創新點子,可複制的模型,學生可以一直使用該模型進行大規模的測試。 如果學生是投資者,則同樣的方法也可以幫助學生進行投資調查。 3,成功領導者取得真正影響的心態是什麼? 大學生將主持有關影響評估的有用方法的有效會議。學生將討論如何避免在影響測量中容易出錯的幾種方法。我將幫助參與者確定對自己的社會企業而言重要的衡量標準。該會議包括預先錄製的有關構建變革理論的練習,並鏈接到資源以幫助企業開發自己的影響管理系統。 (圖片作者:澳門資深攝影家 高影陳) 我會分享現今社會的創新經驗,創造一種成功的方法來衡量其組織的影響力。有同學在電影歌曲使用相同的語言字幕進行了創新,研究和本地化。學生將借鑑社會故事,討論影響評估在支持將想法轉化為政策和最終擴大規模方面的作用。 (圖片作者:澳門資深攝影家 高影陳) 4,課堂上我會分享社會創新教育方法的核心思想是人才驅動影響力。 無論大學生是剛剛開始新的創業,還是正在發展現有的非營利組織或社會企業,課堂上幫助大學生切實思考如何吸引最優秀的人才來完成你的使命和願景,包括聯合創始人,志願者,團隊成員 ,其他組織和資金合作夥伴。過去課堂亦有分享揭開籌款神秘面紗,並教大學生如何與能貢獻人才和金錢的籌資者找到有機契合。 (圖片作者:澳門資深攝影家 高影陳)

澳門教育家陳康妮:淺談澳門STEM教育創業家的產生
文化創意
陳康妮・2020-07-07

【作者簡介】 陳康妮 Miss Connie ,大學講師,澳州墨爾本大學主修高等教育管理學,澳門高等教育管理學專家。主力高等教育管理學的教育硏究。澳門教育專欄作家,澳門兒童文學作家-小妮老師。 二十四年來,她致力於港澳推動教育管理事業,過去在港澳專注實踐大學中小學及幼兒教育管理至今,主力研究高等教育管理學。教育管理經驗全面涵蓋。現時陳康妮潛心硏究世界各地高等教育管理。過去五年曾前往北京瞭解教育創新及到芬蘭和澳洲學習先進高等教育管理理念。 陳康妮提出「澳門教育創新」概念。希望將創新的教育帶給澳門的每一位學生。充分學習國外學校的優點,同時保持澳門本土特色,創造最好的未來大學,也給迷茫的大學生未來的學習以及人生建議。讓澳門的學生走向世界! 近年澳門STEM 教育成爲澳門教育界的重要主流。結集科學(Science)、科技(Technology)、工程 (Engineering) 和數學 (Mathematics),讓澳門大學生加強數理化根基,培訓未來澳門創科人才,發掘澳門大學生的跨學科能力、發揮創意和抗逆力。 自成為學校創新創業的指導老師。今年頭半年閱過過百個澳門大學生創新創業建議書。他們對澳門創立公司,定立澳門未來願景是採用體驗式創業方法,對澳門未來世界充滿天馬行空的創新點子。作為他們的指導老師,內心充滿驚喜。 其中有一組澳門大學生設計以澳門活動教學為題,建立遙距網上澳門教學平臺,讓澳門家長和孩子安坐家中學習編碼技術。我十分期待這組學生成為澳門的STEM 教育創業家。 STEM 教育將會是未來澳門所需的新工作技能之一,作為老師希望澳門大學師生趁早進入STEM 世界 與澳門小孩一同接觸STEM教育。

青年小孩齊紮堆!據說這是澳門最落地最實操的演講培訓!
其他
澳門生活圈・2018-07-24

「我是演講家」全國大賽澳門賽區 #講述好故事 #凝聚正能量 #「我是演講家」全國大賽 #有你參與更精彩 「我是演講家」全國大賽澳門賽區已經進入了複賽階段,由528位參賽者挑選出100位繼續進行下一輪角逐。 日前,大會特別安排了兩場共8小時的專業培訓予參賽者,全面提升選手們的演講能力。 首場複賽培訓由前統計局局長鄺碧芳女士分享如何「讓數字說話」、著名作家胡錦漢先生分享「欲窮千里目」- 詩詞融入演說的技巧、「我是演講家」籌委會主席黎俊文先生分享「會講故事得天下」。 三位嘉賓分享多年演講心得和經驗,讓參賽者將「數字、詩詞、故事」融入演講,大大提升演講的吸引力、說服力和感染力。 第二場複賽培訓大會請到澳門青年商貿發展協會會長廖信君先生分享如何「散發激情與正能量」、身心語言程式學高級執行師何雁婷女士分享「金莎朱古力演講術」、著名教育工作者楊穎虹女士分享如何讓你的演講「發光」。 三位嘉賓分享寶貴的演講心法及技巧之餘,為參賽者注入滿滿的熱情和使命感,令每位參賽者都滿載而歸。 兩次複賽培訓順利完成後,參賽者將面對100進30的嚴峻考驗。最終15強即踏上2018年9月1日舉行的澳門總決賽舞台,也有機會獲得代表澳門出戰11月全國大賽總決賽的資格! 大會特別邀請到人稱Ben Sir的歐陽偉豪博士擔任大會決賽評判及特別演講嘉賓。 想一睹決賽選手的出色表現 或Ben Sir風趣幽默的演講風采 馬上登錄Facebook上大會專頁購票 門票收益扣除成本後將撥捐「澳門展現真我協會」 幫助弱智人士建立自信及融入社會 想了解更多活動詳情 FB搜索:我是演講家

賭場,不是你想像中這樣簡單
玄學星相
熊神進・2017-10-13

他,稱苦主吧,他的學歷不高, 但正財運卻非常好,他中年置業,有車子有房子有妻子有孩子,只缺腦子,如果五子歸位,他是幸福的男人。很可惜,他在七月十四日出生,肚上有一粒大大的痣,他曾經一個人在山區住,吸取了很多陰氣,陰氣又叫負能量,當男人天不怕地不怕,迷信自己可以把鬼神踢走的時候,他最基本是有一些保護自己的力量(例如宗教,法器),很遺憾,他沒有這方面的想法,筆者為此,建議他注意下列三件事: 他找了一座破財屋(今年破財位在南,明年在北),入住後,一年內已失去幾百萬賭款,他發呆了,發瘋了,腦袋發熱,心中想“翻本”,眼中都是錢,筆者明白他的焦急,他想給家人安樂,卻犧牲了自己智慧,把血汗錢幾百萬送到澳門賭場,他不是澳門玄學家,他不知道賭場背後是有風水師傅把脈(筆者是澳門風水師,天天在忙,難道一點都不知道個中因由?)人家投資是億元做單位,賭是邪門,是偏門,開賭不信邪,你信嗎?風水差的房子,去賭,是太冒險,他肖猴,今年是雞年,猴屬金,雞屬金,金是忌神,明年是狗年,狗年見天狗,天哭,筆者有點不安,如果沒有占卜失准,明年是苦年,家中有苦事出現。他在大門入口位,擺放十隻吸財象,象牙向門外,這是很重要。 去年他犯太歲,一般來說家庭是共業,他很愛家人,給家人金錢是經濟上的支援,但家人需要的,是經文的回向,是燒香去化業困,他沒有做好。當父離世後,他沒有燒 祖先功德香,他什麼都沒有做,只是埋怨自己命運不好。苦主啊,人來世上就是帶業,佛家說,你種下什麼因,就有什麼果,苦主因無明,沒有給慈父做超度,他欠了父親一場債。筆者希望他痛定思痛,今年開始燒 祖先功德香,這香,是向父親表示歉意,這香是向父親深深感恩。 他跟羊朋友合作做一個工程,他真的要明白,羊屬土,猴屬金,他的一生中有很多貴人,亦有不少誘他去賭的朋友,他可以跟合作夥伴努力把工作做好,2022年,2026年會有貴人再來,幫他脫胎換骨。 他跟女婿關係很一般,而女婿心中對他的行為是有微言,他是知道的,幸好他善良,沒有不安。他下半生走的是旅遊運,他會去很多地方,也會跟朋友去嫖,在此,請原諒筆者收筆前留一言,他會因色中伏,他在夢中已有警兆,只因他不知道。 命運是掌握在強者手上,並不是決定在玄學家口中,熊老師只是善心提點有緣人,ta應該積極面對人生,而不是消極逃避問題。熊老師已為有緣人關上命盤,並祝福她。 如有任何問題,歡迎聯絡: 林小姐: 13726267799(晚8時後) 熊神進:澳門 853-66618785 Facebook: https://www.facebook.com/熊神進風水法器店-Master-Mickey-Hung-Fortune-Workshop-252635158482455/ 中國澳門風水掌相學會會長(政府註冊) 公共微信: macaumasterxiong 淘寶風水法器店:http://macauhung.taobao.com 頭條作者