Git 브랜치 전략의 필요성 코드 관리의 효율성 작업의 독립성 안정성 유지 코드 리뷰 및 품질 관리 배포 및 롤백의 용이성 Feature Branch 기준 브랜치(master, main)에서 새로운 feature 브랜치 생성 머지 후 불필요한 feature 브랜치는 삭제 각 기능별로 브랜치를 나누는 협업방식 Github Flow 기준 브랜치에서 새로운 브랜치 생성 기준 브랜치는 항상 배포 가능한 상태 유지 PR를 생성 후 코드리뷰 요청 Git Flow 프로젝트의 코드 관리와 릴리스를 체계적으로 진행하는 방법론 Master : 프로덕션 환경에 배포되는 안정적인 코드가 저장되는 브랜치 Develop : 개발중인 코드를 관리하는 브랜치 Feature : 새로운 기능 개발을 위한 브랜치 (Develop 브랜치로..
Soptmakers에서, 끝말잇기 기능을 구현했다. 처음 MVP는 모든 회차의 끝말잇기 목록을 보이도록 하기로 했다. 무한 스크롤을 구현할때는 limit, cursor, hasNext와 같은 필드가 필요하다. limit : 페이지 사이즈 cursor: 읽고 싶은 행의 데이터 개수 hasNext: 스크롤 이후 그 뒤의 데이터가 남아있는지 없는지 판단하는 필드 문제점 발생 전체 조회하는 경우에, 중복되는 데이터가 보이게됨 limit은 10 cursor는 10, 20, 30~ 의 값으로 요청 이 과정에서, (0 ~ 10) (10 ~ 20) (20 ~ 30) 중간의 값들이 중복되는 현상 발생 📍Offest Based Pagination @Repository @RequiredArgsConstructor publi..
JPA 개요 Persistence Java 객체(에 포함되어있는 데이터)를 데이터베이스를 통해 저장 및 관리함으로써 객체의 영속성을 보장함 Java Persistence API Object-Relational Mapping(ORM) 을 실행하기 위한 Java 표준 API Entity로 정의된 Java 객체와 데이터 베이스 사이의 mapping 방법을 설정(annotation 이용) 설정된 Mapping에 따라 Java객체를 DB에 저장, 수정, 삭제 검색 할 수 있는 Interface 제공 -> EntityManager JDBC API나 Data Mapper (ex: MyBatis)의 대안 Java 중심의 데이터 관리가 가능해진다. Persistence Provider (JPA Provider) JPA의..