분류 전체보기48 [도파민 프로젝트]개발일지 220818 [오늘의 공부] 1. 스프링의 정석 - @ExceptionHandler 강의 듣고 정리 [오늘 한 일 & 알게된 것] 1. 회원가입 - Validator로 검증 후, 검증 실패 시 ajax로 에러 메세지 출력하기 @RequestBody 가 @Valid 보다 먼저 작동해서 Date 타입인 btdt를 입력받을 때, 매핑이 되지않아 InvalidFormatException 이 발생했다. 해결방법>> btdt를 String으로 바꿔주자. DB에서도 VARCHAR타입으로. 에러 메세지를 어떻게 응답할 것인가. join 메서드에서는 두 가지의 리턴값이 있다. 검증 실패 시 map에 key는 에러 코드, value는 에러 메세지를 담아 리턴. 검증 성공 시 "success_join"을 반환 해결 방법>> 검증 실패 .. 2022. 8. 18. [도파민 프로젝트] 개발일지 220817 [오늘 할 일] 1. 회원가입 기능 - WebDataBinder 로 검증, 검증 메세지 띄워주기 [오늘의 공부] 1. 자바의 정석 - 예외 처리 [오늘 한 일& 알게 된 것] 회원가입 - 요청 데이터 검증하기. 에러 메세지 출력하기 1. JoinController 작성 후 join 메서드 작성. @PostMapping("/join") @ResponseBody public String join(@Valid @RequestBody UserDto userDto, BindingResult result){ //검증 실패면 if (result.hasErrors()) { return "joinForm"; } //검증 성공 시 회원가입 성공. retrun "redirect:/success_join"; } @Valid를.. 2022. 8. 17. SQL문 정리 테이블 컬럼 보기 show colums from [테이블명]; 테이블 속성 삭제 alter table [스키마명].[테이블명] drop [속성명]; 제약 조건명 보기 - 제약 조건명 찾아서 복사 select * from information_schema.table_constraints; 기존 속성에 pk 조건 추가 alter table [스키마명].[테이블명] modify column 속성명 속성타입 primary key; fk 연결 끊기 alter table USER_SECRET drop foreign key FK_USER_TO_USER_SECRET_1; fk 연결 하기 alter table USER_SECRET add foreign key (user_id) references USER (user_id.. 2022. 8. 11. [220809] 데이터 모델링 이슈 정리 데이터 모델링 과정 중 고민과 이슈들을 정리해보았다. 논리 모델링 중 이슈 ISSUE1. Password_change(비밀번호 변경 이력)를 USER_SECRET의 이력으로 연결지어야하지 않을까? 결론 : 보안 상 이유로 USER_SECRET 과 연결지으면 안된다. USER_SECRET 엔티티는 보안적인 이유로 사용자의 비밀번호를 따로 빼둔 것이다. 관계에만 집중하느라 엔티티의 목적을 까먹었다. 관계만 보았을 때 USER_SECRET과 연결짓는 것이 맞겠지만 USER_SECRET은 보안이 제일 중요한 엔티티이기 때문에 다른 엔티티와의 관계를 최소화시키는 것이 좋다. ISSUE2. 신고 내역을 select로 count 하게 되면 모든 유저마다 select를 해야한다. 성능 문제 해결하기. 팀 회의를 통해 .. 2022. 8. 10. [Spring]쿠키(Cookie) 1. 쿠키란? - 이름과 값으로 구성된 정보 - 클라이언트를 식별하기 위해 사용 - 아스키 문자만 저장 가능 (한글은 URL인코딩해서 저장해야함.) - 처음 요청할 때 서버에서 생성 후 브라우저에 저장 - 유효기간 이후 자동 삭제 1. 클라이언트가 서버에 처음 요청 2. 서버에서 쿠키 생성 후 응답헤더에 쿠키를 추가하여 응답 HTTP/1.1 200 Set-Cookie:id=qqqqq Content-Type: text/html;charset=UTF-8 Content-Language: ko-KR 3. 브라우저에 쿠키 저장 4. 다음 요청 시 쿠키를 요청 헤더에 넣어서 요청. POST /ch1/login/loing HTTP/1.1 Host: localhost Connection: keep-alive Cooki.. 2022. 8. 9. [Spring] redirect와 forward 컨트롤러에서 뷰로 넘겨줄 때 총 세가지 경우가 있다. 일반적으로 뷰이름을 반환하는 경우 redirect를 반환하는 경우 forward를 반환하는 경우 총 세 가지 경우의 차이점에 대해 알아보도록 하자. 1. 일반적으로 뷰이름을 반환하는 경우 1. "/register/add"로 요청 2. DispatcherServlet이 입력부분 처리하고 Controller에게 전달 3. Controller가 "registerForm"(뷰이름)을 반환하여 다시 DispatcherServlet에게 전달 4. InternalViewResolver가 뷰의 진짜 경로를 반환 (ex) /WEB-INF/views/registerForm.jsp) 5. JstlView에게 전달, JstlView가 모델을 registerForm.jsp에.. 2022. 8. 9. 이전 1 ··· 3 4 5 6 7 8 다음