본문 바로가기

국비교육

(146)
day40 - 0921 계층형 게시판 - 게시글과 답글이 계층 관계(종속 관계)를 갖는 게시판 - 계층형 게시판의 모든 글은 게시글 또는 답글 중 하나이다 - 계층형 게시판의 모든 글은 기본적인 게시글의 필드 외에 그룹(group), 상위글(parent), 차수(depth)를 추가로 갖는다 - 계층형 게시판에 모든 글은 상위글(parent)과 차수(depth)에 의해 게시글과 답글로 구분된다 1) 그룹(group) - 게시글일 경우 게시글의 번호 - 답글일 경우 답글이 달린 게시글의 번호 2) 상위글(parent) - 게시글이라면 상위글이 없으므로 null - 게시글에 달린 답글이라면 해당 게시글의 번호 - 답글에 달린 답글이라면 해당 답글의 번호 3) 차수(depth) - 게시글이라면 상위글이 없으므로 0 - 게시글에 달린 ..
day39 - 0920 페이징(Paging) 1) 현재 페이지 게시글 rownum의 시작과 끝 번호 관련 - Top N Query를 이용하여 작성일 기준 내림차순(최신순) 조회 결과의 갯수를 제한하여 View에 표시한다 - Top N Query의 rownum rn의 범위에 들어갈 바인드 변수의 값은 startRow()와 endRow() 메소드의 반환값으로 한다 - 현재 페이지의 첫 게시글 rownum과 마지막 게시글 rownum은 각각 startRow(), endRow()의 반환값과 같다 - 현재 페이지의 번호(page)와 페이지에 표시할 게시글의 수(size)에 대하여 startRow, endRow와의 관계는 다음과 같다 - startRow = endRow - (size - 1) - endRow = p * size ** 2)..
day38 - 0919 Interceptor를 이용하여 권한에 따른 게시판 접근 처리 1. 회원(관리자)만 게시글 작성, 수정, 삭제 페이지에 접근할 수 있도록 2. 공지 사항은 관리자만 작성하도록 3. 회원은 자기 자신이 쓴 게시글만 수정 및 삭제할 수 있도록 4. 관리자는 모든 게시글을 삭제할 수 있도록 (수정은 불가능) 1. 회원(관리자)만 게시글 작성, 수정, 삭제 페이지에 접근 InterceptorConfiguration 설정 추가 - 게시판 전체(/board/**)에 대한 접근을 제한한다 - 게시글 목록(/board/list)과 게시글 상세(/board/detail)에 대한 접근만 허용한다 @Configuration public class InterceptorConfiguration implements WebMvcC..
day37 - 0916 - 하루동안 게시판을 구현하는 과제가 있었음 (수업 X) - 해당 내용은 0919의 게시판 구현 부분임 게시판 구현 테이블 생성 게시판(board) - 회원이 작성하는 글 정보 - 회원 정보가 외래키로 존재해야함 - 회원이 탈퇴하면 작성한 글의 작성자를 제거 구성요소 - 글 번호(board_no) - 유일한 식별키, 시퀀스로 부여 - 작성자(board_writer) - 회원의 아이디 정보, 외래키로 설정 - 제목(board_title) - 글의 제목 (한글 100자 기준으로 설정) - 내용(board_content) - 글의 내용, 가능한 최대로 설정 (4000byte) - 작성일(board_writetime) - 작성된 시점의 데이터베이스 시각 - 수정일(board_updatetime) - 수정된 시점..
day36 - 0915 VO 활용 2. 관리자 페이지에 재생수가 많은 순서로 Top 10 출력 - 2가지 방법이 있다 1. 재생수를 기준으로 내림차순 정렬한 전체 조회 결과 중 일부만 View에 표시 (전체 조회 결과를 가져오기 때문에 성능이 떨어진다) 2. Top N Query를 사용 Top N Query를 사용하는 방법 MusicDao public interface MusicDao { // 추상 메소드 - 음원 Top 10 List selectTopTen(); } MusicDaoImpl @Repository public class MusicDaoImpl implements MusicDao { // 의존성 주입 @Autowired JdbcTemplate jdbcTemplate; // 추상 메소드 오버라이딩 - 음원 Top 1..
day35 - 0914 회원 관련 기능 - 회원 가입 : day29 - 0902 - 회원 목록 : day32 - 0907 - 회원 상세 정보 : day32 - 0907 - 회원 정보 수정 (관리자 기능) : day 33 - 0908 - 회원 탈퇴 (관리자 기능) : day 33 - 0908 - 로그인/로그아웃 : day34 - 0913 - 마이페이지 : day34 - 0913 ** 회원 Interceptor 설정 : day34 - 0913 ** 관리자 Interceptor 설정 : day34 - 0913 준비 - MEMBER 테이블 생성 - 회원 아이디 : member_id, 5 ~ 20자 영문 소문자, 숫자와 특수기호(_), (-)만 사용 가능 - 회원 비밀번호 : member_pw, 8~16자 영문 대 소문자, 숫자, 특수..
day34 - 0913 회원 관련 기능 - 회원 가입 : day29 - 0902 - 회원 목록 : day32 - 0907 - 회원 상세 정보 : day32 - 0907 - 회원 정보 수정 (관리자 기능) : day 33 - 0908 - 회원 탈퇴 (관리자 기능) : day 33 - 0908 - MEMBER 테이블 생성 - 회원 아이디 : member_id, 5 ~ 20자 영문 소문자, 숫자와 특수기호(_), (-)만 사용 가능 - 회원 비밀번호 : member_pw, 8~16자 영문 대 소문자, 숫자, 특수문자(!, @, #, $)를 각각 1개 이상 사용 - 닉네임 : member_nick, 한글로 시작하며 한글 or 숫자 가능, 총 10자 이내 - 생년월일 : member_birth, YYYY-MM-DD, 날짜 형식 - 전화..
day33 - 0908 회원 관련 기능 - 회원 가입 : day29 - 0902 - 회원 목록 : day32 - 0907 - 회원 상세 정보 : day32 - 0907 준비 - MEMBER 테이블 생성 - 회원 아이디 : member_id, 5 ~ 20자 영문 소문자, 숫자와 특수기호(_), (-)만 사용 가능 - 회원 비밀번호 : member_pw, 8~16자 영문 대 소문자, 숫자, 특수문자(!, @, #, $)를 각각 1개 이상 사용 - 닉네임 : member_nick, 한글로 시작하며 한글 or 숫자 가능, 총 10자 이내 - 생년월일 : member_birth, YYYY-MM-DD, 날짜 형식 - 전화번호 : member_tel, 대시 제외하고 010XXXXXXXX 형태 - 이메일 : member_email, 100b..