網頁

2020/8/30

Spring Boot RabbitMQ @RabbitListener 簡單範例

Spring Boot RabbitMQ除了自行配置MessageListenerContainer及註冊MessageListener來收訊息外,也可使用@RabbitListener標註在方法上使其接收RabbitMQ的訊息。

Spring Boot Messaging with RabbitMQ 範例

本範例參考Spring官網Messaging with RabbitMQ,示範Spring Boot RabbitMQ的基本配置與傳送/接收訊息。

Spring @Transactional 標註在類別的效果

Spring處理交易管理的@Transactional注釋可標註在類別(class)或方法(method)前,標注在類別的效果如下。

2020/8/28

IntelliJ IDEA Maven 下載依賴函式庫原始碼 download dependency library source code

IntelliJ IDEA Maven預設只會下載依賴函式庫已編譯的jar,如果要查看原始碼的話就必須連同原始碼(source code)一起下載。

Spring Data JPA JpaRepository save() 與 saveAndFlush() 差別

使用Spring Data JPA的資料存取層會繼承JpaRepository,其儲存enity的方法有save()saveAndFlush(),兩者差別如下。

2020/8/27

2020/8/26

資策會結業五年心得

資策會Java班結業至今五年的心得。

Spring Boot H2 Database 初始資料

Spring Boot在H2資料庫產生初始資料的方式如下。

Spring Boot H2 Database Web Console

Spring Boot使用H2資料庫時自動配置了網頁控制台(web console)圖形化管理介面,使用方式如下。

2020/8/25

Mac install JDK by Homebrew

Mac使用Homebrew安裝JDK的方式如下。

Mac 找出已安裝的JDK find installed JDK

查看Mac中已安裝的JDK的方式如下。

Mac Homebrew 安裝 MySQL Workbench

本篇記錄在Mac用Homebrew安裝MySQL Workbench資料庫管理工具。

Docker 安裝MySQL

在Mac的Docker執行MySQL 8容器並連線。

2020/8/23

2020 奕兆有限公司面試

奕兆有限公司面試心得。

2020/8/22

Java synchronized block refactor 考題

最近面試的問題,測驗對於synchronized的理解。

Java test mock random 考題

最近面試的問題,主要是測試對單元測試中mock的概念及依賴注入替換物件的概念。

Java ThreadPoolExecutor maxPoolSize 考題

最近面試的筆試題中關於ThreadPoolExecutor的考題,測試對於ThreadPoolExecutorThread Pool生成thread的了解。

2020/8/21

Java HashSet and hashCode() 考題

最近面試的筆試題中關於HashSet的考題,測試面試者對於HashSetObject.hashCode()的了解。

資料庫 交易的悲觀鎖與樂觀鎖 Transaction pessimistic and optimistic locking

資料庫交易特性ACID中的交易隔離(Isolation)通常利用「鎖(locking)」來實現,目的為避免同一筆資料在併行交易(concurrent transaction)中被不同的交易同時修改以確保資料的完整性。

交易鎖又分為「悲觀鎖(pessimistic locking)」與「樂觀鎖(optimistic locking)」。

2020/8/20

Java Map hierarchy diagram

Java Map Framework hierarchy diagram - Java Map類別階層圖。

2020/8/19

為何在微服務中使用訊息佇列 Why use Messaging Queue in Microservices

在微服務架構(Microservice Architecture)中總是可以看到訊息佇列(Messageing Queue, MQ)技術的存在,為什麼微服務系統要使用MQ呢?

2020 景承科技 RawStone 面試

2020年7、8月間找工作,在104收到景承科技的面試邀請,應徵職位是[金融科技應用] Sr. Java Engineer

2020/8/16

戒菸成功心得

從2019年9月戒菸至今只差一個月就已經戒菸一年了,在此自行宣布戒菸成功。

2020/8/14

2020 新光證劵App電子下單股票交易成本試算

2020 新光證劵App電子下單股票交易成本試算如下。

Lombok @UtilityClass

Lombok lombok.experimental.UtilityClassv1.16.2推出的實驗功能,使用方法如下。

Apache Struts 1 簡介

Struts是Apache基金會開源的MVC框架。

2020/8/13

日誌 20200813

八月開始台灣第一高山銀行駐點工作,但待了不到一個月就提離職了。

2020/8/11

Oracle PL/SQL composite data types

Oracle PL/SQL的compsite data types(複合資料型態)是指儲存多個值的資料型態。

Oracle PL/SQL scalar data types

Oracle PL/SQL的scalar data types(純量資料型態)是指只儲存單一值的資料型態。

2020/8/10

Oracle PL/SQL test function return SYS_REFCURSOR

在PL/SQL block測試function回傳的SYS_REFCURSOR

Oracle PL/SQL MERGE statement in package function

Oracle 9i新增的MERGE語法搭配package function使用範例。

2020/8/9

Oracle SQL Developer 程式編輯器右側邊線 editor right margin

Oracle SQL Developer修改程式碼編輯器右側邊線位置的方式如下。

Oracle PL/SQL Nested Table FOR LOOP start index

Oracle集合(collection)型態中的Nested Table(表格類型)的index是從1開始起算。

2020 老婆送的生日禮物

2020年老婆送的生日禮物。

2020/8/7

Oracle PL/SQL Stored Procedure PLS-00428

在撰寫Oracle Stored Procedure時,出現
PLS-00428:在此SELECT敘述句中預期會出現一個INTO子句
PLS-00428: an INTO clause is expected in this SELECT statement.
錯誤的原因如下。

Git 設定提交名稱及信箱 setting commit username and email

Git commit(提交)程式碼時,需要提供提交者的usernameemail,設定方式如下。

2020/8/6

Oracle PL/SQL call function PLS-00221 error

在Oracle PL/SQL呼叫function時出現
PLS-00221: 'function_name' is not a procedure or is undefined
PLS-00221: 'function_name' 不是程序或未定義
錯誤的原因如下。

Oracle PL/SQL define Function in Package

Oracle define function in package

在Pacakge(套裝程式)中建立一個Function(函式)的方法如下。

ER-Model 系統權限的角色設計 Compound Role

最近工作的權限設計的角色的ER Model設計如下。

2020/8/5

Oracle LEAST function

Oracle LEAST函式可取得多個輸入參數中的最小值。

Oracle PL/SQL test Procedure in Package

本篇介紹如何以SQL測試Oracle套裝程式(Package)中的程序(Procedure)。

2020/8/4

SQL JOIN types

SQL查詢時用JOIN語法連接多個資料表,JOIN有以下幾種形式。

資料庫 交易的重要特性 ACID

關聯式資料庫的交易(Database Transaction)有四個重要特性簡稱為ACID

2020/8/1

20200801 臨時演員

今天和老婆又去當朋友的臨時演員。