📅 2024-01-30
TODO
[프로그래머스]
[Spring_AM]
강의다시보고 로직이해하기
- 작업 28, doJoin에 ResultData 적용 (70%)
- 작업 29, ResultData에 제네릭 추가, doModify, doDelete 에 적용 (90%)
- 작업 30, 로그인 기능 구현, HttpSession (100%)
- 작업 31, 로그아웃 기능 구현, doWrite 수정, DB 스키마 업데이트 (95%)
- 작업 32, doWrite 할 때 작성자의 정보 저장, write,modify,delete 로그인 체크 (100%)
- 작업 33, doJoin 로그인체크 (100%)
- 작업 34, doModify, doDelete 권한체크 (100%)
[추가로 한 것]
- 작업 35, article/doModify의 권한체크를 Service에서 대신하도록 (90%)
- 작업 36, ResultData에 dataName 추가, SQL 로거 추가 (100%)
- 작업 37, JSP 연결 (100%)
- 웹크롤링 / 웹스크래핑 구글링 (100%)
- 벨로그 정리 (100%)
컴파일타임 / 런타임
컴파일타임 -> 편집과정
런타임 -> 실행과정
제네릭
제네릭 타입
예) < DT> ResultData
의미: 타입 나중에 정하겠다~
로그인 기능
로그인 상태 체크 -> 중복 로그인 x o
입력 null 체크 o
없는 아이디 o
비번 틀림 △ -> 망할 .equals!!!!
- 여기서 .equals 대신 != 로 계속 삽질함...
Member member = memberService.getMemberByLoginId(loginId);
if (member == null) {
return ResultData.from("F-3", Ut.f("%s(은)는 존재하지 않는 아이디입니다", loginId));
}
if (member.getLoginPw().equals(loginPw) == false) {
return ResultData.from("F-4", Ut.f("비밀번호가 일치하지 않습니다"));
}
}
.equals 랑 == 차이 찾아보기
String은 기본타입이 아닌 객체라서 .equals로 비교해줘야 함.
기본타입들은 ==로 비교 가능.
객체타입끼리 어떻게 비교하는지 찾아보기.
로그아웃 기능
removeAttribute 사용 o
로그인상태 아닌데 로그아웃하려고하면
로그인 후 이용하라고 나와야함 o
권한체크
요구사항:
- 작성자 -> 글 남길 때 같이
- 로그인 체크
- 권한체크 -> 수정/삭제
글 남길 때 작성자 개념 추가
- article 테이블에 작성자 컬럼 추가? JOIN? 일단 Join 안하고!
- article 테이블에 작성자 컬럼추가하고 id넣고 o
- 작성자 닉네임 표시-> member 테이블이랑 join하기
로그인체크
- doWrite o
- doModify o
- doDelete o
로그인아이디와 작성자아이디 체크