Map 에 대한 이터레이션fun main() { val binaryReps = TreeMap() for (c in 'A'..'F') { val binary = Integer.toBinaryString(c.code) // 'A'.code == 65 ==> 이진표현값으로 binaryReps[c] = binary // binaryReps.put(c, binary) } for ((letter, binary) in binaryReps) { println("$letter = $binary") } }자바에서의 TreeMap 과 구조가 거의 비슷합니다.해당 코드는 A ~ F 까지의 이진값을 맵구조에 저장합니다.트리맵은 map 구조의 키 에 정렬을 줄 수 있다는 장점이 있습니다리스트(List) 에 대한 이터레이션과 인덱..
1. @Mock의미@Mock 어노테이션은 Mockito에게 해당 필드를 모의 객체로 만들어야 함을 알림.사용 시기테스트할 클래스의 외부 의존성을 모킹할 때 사용함. @Mock private CartPersistence cartPersistence; @Mock private CartMapper cartMapper; 2. @InjectMocks의미@InjectMocks 어노테이션은 테스트 대상 클래스의 인스턴스를 생성하고, 모의 객체를 해당 클래스의 필드에 주입함.사용 시기테스트할 클래스의 인스턴스를 생성하고 모의 객체를 주입할 때 사용함. @InjectMocks private CartServiceImpl cartService; 3. when(...)의미when 메서드는 모의 객체의 메서드가 호출됐을 때 어..
동시성을 고려하여 pessimisstic lock 을 통해 select 이후 해당 행에 대한 잠금을 수행하고, 업데이트 delete 등을 수행하였다.그렇다면,,? 서비스를 테스트할때는 어떻게 동시적으로 서비스를 수행하는 사용자에 대한 고려를 반영할 수 있을까 고민이 되었다.병렬처리를 위한 Java ExecutorService 와 Future 여러 스레드를 사용하여 비동기 작업을 수행하고 결과를 관리할 수 있도록 해주는 컴포넌트입니다.ExecutorService 와 그 역할Java 의 쓰레드 풀을 관리하는 서비스쓰레드의 생성, 실행 및 종료를 관리할 수 있다.int numberOfThreads = 100; ExecutorService executorService = Executors.newFixedThre..
출고 배송 도착 등의 로직을 별도 DB 에 구성해둘 수 있다.데이터베이스 구성데이터베이스에서는 Order와 OrderStatus 두 개의 테이블을 구성하여 주문과 주문 상태를 관리합니다.Order 테이블: 주문 관련 정보를 저장하며, ORDER_STATUS 필드를 통해 현재 주문의 상태를 기록합니다.OrderStatus 테이블: 가능한 주문 상태와 그에 대한 설명을 저장합니다. OrderStatus 테이블의 CODE_NAME 필드에 정의된 상태 값만이 Order 테이블의 ORDER_STATUS 필드에 기록될 수 있습니다.어플리케이션 로직어플리케이션에서는 ORDER_STATUS라는 ENUM 클래스를 사용하여 주문 상태를 관리합니다.ENUM 클래스: DB의 OrderStatus 테이블과 동일한 상태 값을 가..
현재 버전Java 11Spring Boot 2.7.xschema.sql-- 테이블 생성 SQL - SHOPPING_CART CREATE TABLE SHOPPING_CART ( `ID` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'pk값', `USER_ID` VARCHAR(200) NULL COMMENT '유저ID', `PRODUCT_ID` BIGINT NULL COMMENT '상품ID', `QUANTITY` INT NULL COMMENT '장바구니 상품 수량', `CREATED_DATE` TIMESTAMP NULL COMMENT '생성일', `UPDATED_DATE` TIMESTAMP NULL COMMENT '수정일', PRIMARY KEY (ID) );DB에 입력-- auto..
스크립트 파일 준비-- truncate.sql TRUNCATE TABLE your_table_name; -- schema.sql CREATE TABLE your_table_name ( ... );truncate.sql 파일 → schema.sql 로 table create 순서application.properties 파일에 스크립트 경로 설정spring.datasource.schema=classpath:truncate.sql,classpath:schema.sql Uploaded by N2T