TIL

247일차(모험 156일차) - Github, 페이징 코드 수정

haedal-uni 2022. 5. 20. 22:21
728x90

Github

pr을 얼마나 자주할 것인가에 대해 팀원과 얘기를 나누다가 

아래와 같은 의문점이 생겼다.

 

a가 파일을 올렸다. b는 작업중이다. b가 pr을 하기 위해 pull을 받는다.  
이 때 b가 작업했던 파일이 이전파일로 덮어씌여지는 걸까?

 

문득 든 의문점을 해결하기 위해 직접 테스트 해봤다.

임의로 내 브랜치는 feature/me, 팀원 브랜치는 feature/team 이라고 생각한다. 

 

1. feature/me에서 임의로 a파일에 주석 코드를 추가하여 commit 한 후 

main 브랜치에서 pull을 받았을 때 a파일은 주석을 추가한 상태로 유지가 되었다.

 

2. 내가 feature/me에서 커밋한 a 파일을 main 브랜치에 pr을 했다.

팀원이 feature/team에서 b 파일을 commit 한 후 main에 pr을 했다.

feature/me에서 git pull origin main을 하게 되면 

a 파일은 내가 주석을 추가한 상태로 저장되어있고 

b 파일도 팀원이 주석을 추가한 상태로 바뀌어있다.

 

이로써 다른 팀원이 작성한 파일을 수정하지 않는 이상 충돌 날 일이 없다.

 

 

 

 

 

페이징 코드 수정

기존에 참고하던 페이지 대신 https://freehoon.tistory.com/112 를 보며

코드를 내가 원하는 값으로 나오게 변경하였고 

이를 이용해서 클라이언트에서 어떻게 보여줄지 감을 잡아갔다.

 

 

수정 전

endPage = (int) (Math.ceil(boards.getNumber() / (double) displayPageNum) * displayPageNum);
System.out.println("endPage : " + endPage);

startPage = (endPage - displayPageNum)+1; // 시작 페이지 번호
if(startPage <= 0) startPage = 1;
System.out.println("startPage : " + startPage);

prev = startPage == 1 ? false : true; // 이전 버튼 생성 여부
next = endPage * PAGE_POST_COUNT < boards.getTotalElements() ? true : false;  // 다음 버튼 생성 여부
//끝 페이지 번호 * 한 페이지당 보여줄 게시글의 갯수 < 총 게시글의 수 ? true: false

 

 

수정 후

❗ 최종 코드 이거 아님 주의 스프링 페이징 정리, MySQL DB 추가하기

nowPage = boards.getNumber()+1;
pageCnt = boards.getTotalPages(); // 전체 페이지 수
System.out.println("pageCnt = " + pageCnt);

startPage = (int) Math.ceil( nowPage / (double) displayPageNum ) *5+1;
System.out.println("startPage = " + startPage); // 1, 6, 11, 16

//endPage = boards.getTotalPages(); // 끝 페이지 번호
endPage = (int) (Math.ceil(displayPageNum / (double) displayPageNum) * displayPageNum);
// 끝 페이지 번호 = (현재 페이지 번호 / 화면에 보여질 페이지 번호의 갯수) * 화면에 보여질 페이지 번호의 갯수
System.out.println("endPage : " + endPage);

prev = startPage == 1 ? false : true; // 이전 버튼 생성 여부


// next 수정 필요
next = endPage > boards.getTotalPages();
if(endPage > boards.getTotalPages()) {
    endPage = boards.getTotalPages();
    next = false;
}

 

 

728x90