Yun Blog

기술 블로그

생산성 향상 - 비기는 없다

들어가기 앞서 생산성에 대해서 더 정확히는 생산성을 위해서 많은 것들을 도입하는데 왜 다 실패하는 것인지에 대해서 이야기해보고 싶다. 나는 2016.05 년부터 사회에 나와서 이제 3년 2개월 정도 프로그래밍 경험이 있다. 이런 짧은 경험으로 생산성과 프로세스에 대해서 논하는 게 조금은 부끄럽지만 내 생각을 한번 글로 정리해보고 싶어 이렇게 포스팅을 ......

테스트 코드 작성에 대한 나름의 고찰

해당 코드는 Github를 확인해주세요. 스프링 기반으로 많은 테스트 코드를 작성하면서 느꼈던 나름의 고찰과 어려움을 정리하는 포스팅입니다. 사실은 테스트 코드 작성 시 효율적인 방법을 소개하는 포스팅을 진행하려 했으나 이런저런 고민들 때문에 명확한 결론이 나지 않아서 이런 고민들을 정리한 포스팅입니다. POJO 테스트는 언제나 옳다 이전에 포스팅......

JPA Fetch Join 적용시 limit 동작하지 않는 이슈

JPA-Tip

결론부터 말씀드리면 Pagealge + Fetct Join을 이용해서 페이징 처리 시 특정 조건의 경우 limit이 발생하지 않아 테이블 FULL Scan 진행해서 애플리케이션 단에서 limit을 조정하는 경우가 있습니다. 성능에 막대한 영향을 주기 때문에 조심해야 합니다. 조건 주문 1 : 제품 N OneToMany 관계에 대해서 Pageagle ......

Spring Actuator 기초 설정

Actuator

해당 코드는 Github에 공개되어 있습니다. 스프링은 Actuator를 이용해서 애플리케이션 상태를 종합적으로 모니터링할 수 있습니다. 의존성 주입 123dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator'} actuator 호......

인텔리제이 Spring Boot Run Gradle에게 위임하기

IntelliJ Tip

인텔리제이에서 Gradle Spring Boot Run을 실행시킬 경우 out 디렉토리가 생성됩니다. Gradle 플러그들이나 Task 작업에 추가적인 것들이 out 디렉토리에 반영이 되지 않습니다. 인텔리제이에서는 Sprong Boot Run 작업을 Gradle에게 위임하는 옵션이 있습니다. 이 옵션으로 인텔리제이에서 Gradle을 사용하여 Run......

Spring Guide - Directory

패키기 구조 가이드

해당 코드는 Github를 확인해주세요. 패키지 구성은 크게 레이어 계층형, 도메인형 이렇게 2 가지 유형이 있다고 생각합니다. 각 유형별로 간단하게 설명하고 제 개인적인 Best Practices를 설명하겠습니다. 계층형 123456789101112131415└── src ├── main │   ├── java │   │   └─......

Spring-JPA Best Practices step-16 - Querydsl를 이용해서 Repository 확장하기 (2)

Querydsl를 이용해서 Repository 확장하기

해당 코드는 Github를 확인해주세요. JpaRepository의 쿼리 메서드를 통해서 간단한 쿼리들을 아래 예제 처럼 쉽게 만들수 있습니다. 12345678910public interface AccountRepository extends JpaRepository<Account, Long> { boolean existsByE......

Gradle 기반 멀티 모듈 구성하기

전체 코드는 Github에서 확인할 수 있습니다. 멀티 모듈 구성 12345678910111213141516├── admin-api│   ├── out│   └── src├── api│   ├── out│   └── src├── build.gradle├── core│   ├── build│   ├── out│   └── src├── gradle│   ......

Spring Boot 여러 서버 실행 하기

IntelliJ Tip

(IntelliJ 사용법 Tip 전체 보기[https://github.com/cheese10yun/IntelliJ] 단축키 cmd + F11로 edit configuration 검색합니다. 해당 edit configuration 으로 들어갑니다. 왼쪽 상단의 + 버튼을 클릭합니다. Spring Boot을 선택합니다. 상단의 Name 이름을......

Spring Cloud Config 살펴보기

스프링 5.0 마스터를보고 정리한 자료 입니다. 전체 코드는 Github에서 확인할 수 있습니다. 스프링 클라우드 컨피그는 중앙 집중식 마이크로서비스 구성을 지원한다. 여기서 두 가지 중요한 구성 요소의 조합이다. 스프링 클라우드 컨피그 서버 : 버전 관리 리포지토리로 백업된 중앙 집중식 구성 노출을 지원한다. 스프링 클라우드 컨피그 클라이언트 ......