본문 바로가기

전체 글362

[spring 16편] Rest Template, WebClient 정리 source 는 Github 에 있습니다. 목차는 spring series 목차 에 있습니다. [spring 16편] Rest Template, WebClient 정리 RestTemplate 동작방식에 대해 공부할려고 검색하다가 WebClient 내용이 많이 나와 같이 정리했습니다. RestTemplate 은 spring 5.0 부터 버그나 마이너한 이슈만 유지보수한다고 안내해주고 있습니다. NOTE: As of 5.0 this class is in maintenance mode, with only minor requests for changes and bugs to be accepted going forward. Please, consider using the org.springframework.web.. 2022. 12. 15.
[spring 15편] spring inject bean into enum 정리 source 는 Github 에 있습니다. 목차는 spring series 목차 에 있습니다. [spring 15편] spring inject bean into enum 정리 inject bean into enum 무엇이며, 어떨 때 사용하는가? enum 에 bean 을 주입하는 방법에 대해 정리했습니다. 예를 들면, enum 에서 공통된 동작인데 구현체는 다르다면 사용하면 좋을 것 같습니다. 아래 예제와 같이 MemberType 별로 별도 할인 정책을 가져가야하는 부분이 있다면 사용하면 좋을 것 같습니다. source 아래 예시를 설명하자면 MemberType 의 GOLD, SILVER member 의 할인율을 가져오는 예시입니다. enum 의 Inner class 를 만들어서 bean 을 가져와서 e.. 2022. 12. 10.
[Java 10편] Functional Interface 정리 source 는 Github 에 있습니다. 목차는 Java series 에 있습니다. [Java 10편] Functional Interface 함수형 인터페이스란? 1개의 추상 메소드 interface 입니다. Functional Interface 는 자바의 람다식에 접근하기 위함입니다. @Test public void functionalInterfaceTest01() throws Exception { FunctionalInterfaceSample func = message -> System.out.println(message); func.helloWorld("HelloWorld..."); } public interface FunctionalInterfaceSample { public abstract v.. 2022. 12. 1.
[DB 14편] MySQL Index Hints 정리 목차는 DB 목차 에 있습니다. [DB 14편] MySQL Index Hints 정리 예시에 사용된 DDL, DML MySQL Index Hints 인덱스 힌트는 옵티마이저에게 인덱스를 어떻게 선택해야하는지에 대한 정보를 주는 옵션입니다. IGNORE 해당 인덱스를 사용하지 않도록 옵티마이저에게 정보를 전달합니다. IGNORE INDEX 예시 쿼리 # 힌트 사용 전 explain format = tree select tm.* from team t, team_member tm where tm.team_id = t.team_id and tm.name = 'member-1' and t.team_id = '1' ; # 힌트 사용 explain format = tree select tm.* from team t .. 2022. 11. 29.
[DB 13편] MySQL 옵티마이저 힌트 정리 목차는 DB 목차 에 있습니다. [DB 13편] MySQL 옵티마이저 힌트 정리 아래 예시에 사용된 DDL, DML 옵티마이저 힌트 옵티마이저를 컨트롤 할 수 있는 방법 중의 하나이며, 개별 구문내에서 사용 가능합니다. /*+ … */ 로 사용가능합니다. ex) select /*+ … HINT */ 사용할 때, 주의사항으로는 테이블에 alias 가 있을 경우 alias 명을 써줘야 합니다. JOIN_FIXED_ORDER 조인순서를 강제합니다. 사용법은 select /*+ JOIN_FIXED_ORDER () */ 이며, 쿼리에 입력된 순으로 조인순서를 강제합니다. HINT 적용 전 쿼리 및 실행계획 조인 순서가 team, team_member, member_addr 순으로 조인된 것을 알 수 있습니다. #.. 2022. 11. 29.
[DB 12편] MySQL 실행계획 2탄 (실행계획 상세) 목차는 DB 목차 에 있습니다. [DB 12편] MySQL 실행계획 2탄 (실행계획 상세) MySQL 실행계획 1탄 과 연결됩니다. 예시에 사용된 테이블 DDL, DML TEAM : TEAM_MEMBER = 1 : n # DDL CREATE TABLE `team` ( `team_id` bigint NOT NULL AUTO_INCREMENT, `team_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`team_id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci CREATE TABLE `team_member` ( `team_member.. 2022. 11. 28.