본문 바로가기

프로젝트6

[도파민 프로젝트] 개발일지 220821 [오늘 할 일] 1. 시나리오 작성 후 오늘 만들 기능 정하기 2. 로그인 기능 완료 - 예외처리 [오늘의 공부] 1. 스프링의 정석 - ch4 기능 하나 정해서 듣기- 져녁 자기전! 2. 데이터 모델링 - ER모델 Cardinality와 Optionality [오늘 한 일 & 알게 된 것] 로그인 구현 "아이디를 입력해주세요, 비밀번호를 입력해주세요." 이 메세지는 js로 처리하고, idpwdCheck만 서버로 통신하도록 했다. 로그인 실패 시, 기존 입력한 id가 여전히 뷰에 보이도록 Model을 통해서 보여주기 예외 처리 존재하지 않는 아이디를 입력하면, userDao.selectUserPwd에서 null이 반환되는데 여기서 예외를 어떻게 발생시킬지 고민이 있다. NullPointerExceptio.. 2022. 8. 21.
[도파민 프로젝트] 220820 개발일지 [오늘의 공부] 1. 자바의 정석 - 객체 지향 6장 복습 2. 데이터 모델링 - 20m, ER모델 Cardinality와 Optionality [오늘 한 일 & 알게 된 것] 1. 회원가입 - 아이디 중복 체크 메서드 만들기 이해가 안가는 부분. @Valid 붙은 객체만 Validator로 검사하는게 아닌가? 왜 @Valid 안붙인 요청값도 Validator를 거칠까? >> 디버깅을 해본 결과, 컨트롤러에 들어오는 모든 요청값들은 Validator의 supports 메서드를 거치고, @Valid를 붙인 객체만 validate 메서드를 거치는 것이었다. 이론으로 배웠을 때는 이 개념이 헷갈렸는데 디버깅을 해보니 개념이 확실히 와닿았다. 2. 회원가입 - 회원가입 완료 시 jsp 반환하기 회원가입 완료하면.. 2022. 8. 20.
[도파민 프로젝트]개발일지 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.
[220809] 데이터 모델링 이슈 정리 데이터 모델링 과정 중 고민과 이슈들을 정리해보았다. 논리 모델링 중 이슈 ISSUE1. Password_change(비밀번호 변경 이력)를 USER_SECRET의 이력으로 연결지어야하지 않을까? 결론 : 보안 상 이유로 USER_SECRET 과 연결지으면 안된다. USER_SECRET 엔티티는 보안적인 이유로 사용자의 비밀번호를 따로 빼둔 것이다. 관계에만 집중하느라 엔티티의 목적을 까먹었다. 관계만 보았을 때 USER_SECRET과 연결짓는 것이 맞겠지만 USER_SECRET은 보안이 제일 중요한 엔티티이기 때문에 다른 엔티티와의 관계를 최소화시키는 것이 좋다. ISSUE2. 신고 내역을 select로 count 하게 되면 모든 유저마다 select를 해야한다. 성능 문제 해결하기. 팀 회의를 통해 .. 2022. 8. 10.
[도파민 프로젝트] 주제 선정 및 UI 목업 [오늘 한 일] 1. 팀명 정하기 2. 아이디어 회의 3. 프로젝트 주제 정하기 4. 데이터 모델링 수업 오늘은 프로젝트 주제를 정했다. 팀 회의를 통해 다양한 의견들이 나왔다. 1) 컨텐츠가 어느 OTT에 있는지 보여주는 사이트 2) 온라인/ 오프라인 스터디 사이트 3) 야구장 배달 사이트 등... 주제는 OTT 추천 사이트로 정했다. 편한 분위기 속 어떤 기능을 넣을지에 대한 회의가 계속 되었다. " 프로필 꾸미기 기능을 넣자" "포인트 기능도 넣어서 포인트로 아이템을 구매하는 기능을 넣자." " 컨텐츠들에 대해 이야기할 수 있는 커뮤니티 기능도 넣자 " 등 많은 재밌는 아이디어들이 쏟아져 나왔다. 각자 아이디어를 정리한 후 UI 목업을 통해 본격적으로 프로젝트 구현를 시작했다. 확실히 손으로 간단히.. 2022. 8. 8.