210220 - 22일차

Structure of Knowledge·2021년 2월 20일
0

3일동안 뷰 디자인을 계속함.(삽질의 연속)
상품리스트페이지와 상세페이지 서비스 구현함. 디자인이 바뀌어서 로그인, 회원가입 서비스 다시 구현해야함.

아이디어, 특이사항

  1. 상품리스트에서 페이징네이션 하기 O

  2. 상품상세에서 댓글 서비스 비동기형식으로 구현하기

    1) B_ITEMID, M_EMAIL 참조.
    2) 등록번호(pk), 댓글내용, 평점, 등록일(댓글 수정할 때도 같이)
    3) 댓글 계층형으로 만들기.
    4) 새로운 평점(상품테이블) = (크롤링한 평점 * 100 + 새로 등록된 평점) / (새로 등록된 댓글 수 + 100)

  3. 로그인 코드는 로그인 유저정보와 함께 세션에 담아주기(로그인 성공의 경우) O

  4. 로그인할 때, 필수정보는 이름, 이메일, 비밀번호로 하기 O

  5. 자동 로그인 기능

  6. 회원가입 이용약관 동의

  7. ...

작업내용

  1. 테이블의 not null 컬럼을 null 허용으로 바꾸기
    : alter table TABLE_NAME modify COLUMN_NAME null;

  2. 수업시간에 배웠던 페이징에서 추가된 부분을 수정함.
    BookListResult 코드

BookListResult

cp : 현재페이지
ps : 한 페이지의 게시물 개수
totalCnt : 총 게시물 개수
totalPage : 총 페이지 개수

// 추가해야할 부분

rangeSize : 한 페이지의 안의 페이지 개수 5 (1 2 3 4 5)
startPage : 1
cp : 3
endPage : 5
prev : 이전 페이지 여부 (boolean) false 1 2 3 4 5 ... > 
next : 다음 페이지 여부 (boolean)  true 1 2 3 4 5 ... >
(기본값으로 true 를 설정해주자)


rangeSize : 임의지정 (5), 홀수일 때의 로직.

startPage : cp - rangeSize/2 
	    // cp == 1, 2 >> startPage = 1

endPage : startPage + rangeSize - 1 
	// cp == totalPage, totalPage -1 
	>> endPage = totalPage 	>>> next == false 
	>> startPage = endPage - rangeSize + 1

prev : cp < rangSize/2 + 1  >> prev = false
next : cp >= totalPage - rangSize/2	 >> next = false
    
위와 같은 로직을 바탕으로 페이지버튼을 완성함.
  1. 상품상세페이지의 댓글 부분을 비동기형식으로 처리하려함. (이 부분 아니면 내가 맡은 부분에서 Ajax를 쓸 부분이 없을 것 같아서...)

    1) 테이블 작성.
    2) 계층형으로 만들 때 디자인은?(난관.... 템플릿에서 적당한 디자인이 없네...)

profile
객체와 제어, 비전공자 개발자 되기

0개의 댓글