본문 바로가기

전체 글361

[테스트 & 리팩토링 4편] github pull request template 및 CodeReview 정리 목차는 테스트 & 리팩토링 목차 에 있습니다. [테스트 & 리팩토링 4편] github pull request template 및 CodeReview 정리 Code Review & Pull Request 생각 Pull Request 은 reviewer 들이 이해하기 쉽도록 작성해야 한다고 생각합니다. 그렇기에 코드는 될 수 있으면 짧게 기능 단위로 요청하는 것이 좋으며, 서로 연관된 기능들을 한 번에 올려야하는 경우 reviewer 들에게 양해를 구하고 올리는 comment 를 달아주는 것이 좋다고 생각합니다. Code Review 를 하는 입장에서는 공격적으로 하지않고, 친절하게 suggest 하는 식으로 review 를 달며, 괜찮다면 code example 을 같이 제안해주면 좋을 것이라 생각합니다.. 2022. 6. 27.
[테스트 & 리팩토링 3편] package layer, package import 정리 목차는 테스트 & 리팩토링 목차 에 있습니다. [테스트 & 리팩토링 3편] package layer, package import 정리 package layer 상위 레이어는 하위 레이어를 참조하도록 하며, 하위레이어는 상위레이어를 참조하지 않도록 하는게 좋습니다. 소스 코드의 응집성과 추후 유지보수 확장성을 위해 이 규칙을 지키는게 좋습니다. 예를 들면 아래와 같습니다. controller 에 있는 HelloDto.Request 라는 것을 그대로 service 쪽에 넘기면 추후 HelloDto.Request 가 변경될 경우 HelloService 에 영향을 줄 수 있습니다. 그렇기에 아래 처럼 HelloService 의 parameter 와 맞는 아규먼트로 변환해서 넘겨주는 것이 좋습니다. 즉, 하위레이.. 2022. 6. 27.
[Java 1편] stream 내에서 값이 제일 큰 객체 추출 source 는 Github 에 있습니다. 목차는 Java series 에 있습니다. [Java 1편] stream 내에서 값이 제일 큰 객체 추출 설명 stream 내에서 숫자 값이 제일 큰 객체를 추출합니다. max 와 Comparator.comparing 을 조합해 amount 가 가장 큰 객체를 추출합니다. source code package stream; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Comparator; import java.util.L.. 2022. 6. 27.
[jpa 3편] OneToOne 정리 목차는 jpa series 목차 에 있습니다. source 는 Github 에 있습니다. [jpa 3편] OneToOne 정리 OneToOne JoinColumn, mappedBy 상세 설명 JoinColumn 은 조인 대상이 되는 정보를 명시하는 annotation 입니다. JoinColumn(name = "외래키 이름", referenceColumn = "조인할 컬럼") referenceColumn 이 설정 되지 않으면 기본 값으로 조인할 테이블의 PK 가 설정 됩니다. 여기서는 Address 테이블의 address_id 로 설정 됩니다. (아래 예시 참조) 여기서 주의할게 JoinColumn(name = "외래키 이름") 은 Foreign Key 의 이름입니다. 실제 조인할 컬럼은 reference.. 2022. 6. 16.
[jpa 1편] jpa 개념 정리 목차는 jpa series 목차 에 있습니다. [Jpa 1편] jpa 개념 정리 Jpa 란? Java Persistence API 약자입니다. 자바 ORM 기술에 대한 API 표준 명세 입니다. ORM 사용을 위한 인터페이스를 모아둔 것 입니다. ORM 이란? Object Releational Mapping 으로서 객체와 관계형 데이터베이스 맵핑을 의미합니다. 패러다임의 불일치 문제 및 SQL 생성을 해주며, Object 와 RDB 를 맵핑해줌으로써 기존의 DB 접근 방식에 대한 개선된 점이 있습니다. Jpa 장점 코드 간결성 및 반복되는 작업 감소 예시는 다음과 같습니다. JDBC 를 이용해서 insert, update 를 한다고 가정합니다. update, insert 를 개발했는데 update, in.. 2022. 6. 16.
[spring 9편] rest api 정리 목차는 spring series 목차 에 있습니다. [spring 9편] rest api 정리 rest 란? Representational state transfer rest 는 스펙이 아니라 규칙의 집합입니다. HTTP 기반으로 자원에 접근하는 방법을 명시한 아키텍처 입니다. 자원은 DB 데이터, 이미지, 파일 등을 의미 합니다. URI 을 통해 자원을 명시하고, HTTP METHOD 를 통해 해당 자원에 대한 행위를 표현합니다. rest 특징 1. 서버에 있는 resource 는 고유 URI 를 가지고 있습니다. Member 테이블에 접근하고자 할 때, '/member/1 (GET)' URI 로 클라이언트에서 요청합니다. Address 테이블에 접근하고자 할 때, '/addr/1.. 2022. 6. 15.