筆者從事軟體工程師的工作,使用 Java 開發 Spring Boot 後端程式。如今看了一些徵才訊息,覺得自己有不少知識要補。然而若未整理學習紀錄,除了容易忘記,也會導致面試時難以回答。藉由參加鐵人賽,希望能溫故知新。內容預計會包含 Java 語言的 API、Spring Boot 的功能,以及串接如資料庫、訊息佇列等常見的外部服務。
在昨天的文章,我們設計出兩張資料表的一對多關係,而本文會以學生選課為情境,引進「中間表」的概念,實作出較複雜的「多對多關係」。 一、多對多關係 在完成資料庫的...
發送郵件是相當常見的功能,許多網路平台光是註冊會員就要寄確認信給使用者了。或者是忘記密碼、購物網站下單、銀行的對帳單等情境,也都會透過 email 來通知。 本...
昨天說明了如何發送純文字郵件。然而在商業平台,大多會設計 HTML 郵件,看起來較美觀且專業,也有人稱它為「EDM」。本文會示範發送 HTML 郵件,以及嵌入圖...
昨天示範了如何發送 HTML 郵件,並嵌入圖片。然而昨天的郵件內容可說是 hard code,在面對開發需求,如何根據不同情境,產生對應的 HTML 內容並發送...
身為後端工程師,開發 RESTful API 給前端呼叫是相當常見的事,然而我們有時也會想使用其他第三方 API。例如想實作展示天氣預報的功能,可使用「氣象開放...
昨天的文章介紹了 RestTemplate 的操作方式,並存取一些測試用的 API。而本文將分享 2 個串接外部服務的實例,出處均來自於筆者工作中遇到的需求。分...
今天要介紹的是「CommandLineRunner」與「ApplicationRunner」,它們可以在 Spring Boot 應用程式啟動完成後,自動執行一...
在分散式架構的系統中,會有多個應用程式在運行各自的服務。而程式間會有傳遞資料的行為,也就是「通訊」。訊息佇列讓我們在請另一方的服務處理任務時,能以非同步的方式進...
昨天的進度是安裝 RabbitMQ,並準備 Spring Boot 專案與之連接。而本文會以最小的規模實作「傳送資料到 MQ」與「從 MQ 拿取資料做處理」的過...
昨天的文章實作了簡單的 Simple 與 Worker 模式。而接下來將加入「交換機」(exchange)這項元素,讓 producer 在發送訊息到多個 qu...