스파르타코딩클럽
-
[팀프로젝트] 육조판서 플레이트 마무리스파르타코딩클럽/스프링 팀 프로젝트 - News Feed 2023. 11. 28. 21:03
KPT를 작성 의무를 갖지 않은 평범한 팀원이기 때문에 개인적으로 프로젝트를 마무리하면서 느낀점을 적어본다. 1. 코드의 문제 프로젝트를 하며 발생한 모든 문제가 시큐리티에서 파생되어 나왔다. 지금 기억나는 것만 해도 ROLE_USER 권한을 넣지 않아 발생한 문제라던가 비밀번호를 쓰지않기 때문에 return null을 적었더니, 전혀 쓰지않음에도 불구하고 nullPointerException을 발생했던것 그리고 로그인 당시 필터에서 로그인할지, 컨트롤러에서 로그인할지를 정하지 않아서 로그인이 되지 않던 것까지. 시큐리티를 맡은 입장으로서 merge 후에 에러가 터질때마다 참 난감했다. 다른 팀원분이 말씀하셨듯이 기능별로 나눠 구현하는것은 간단한 CRUD 정도에서는 가능했지만 시큐리티 같은 코드 전체에 ..
-
정규식 검증 테스트코드 실패스파르타코딩클럽/스프링 개인 프로젝트 - 기본 CRUD 2 2023. 11. 21. 19:58
진행과정 중 에러사항 기술 1. username, password 정규식 검증 회원가입 정규식이 잘 적용되는지 확인하기 위해 테스트코드를 작성해보았으나, // "ID는 최소 4자 이상, 10자 이하이며 알파벳 소문자(a~z), 숫자(0~9)로 구성되어야 한다." // "비밀번호는 최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성되어야 한다." @Test void successTest() { SignupRequestDto testrequestDto = new SignupRequestDto(); testrequestDto.setUsername("abcde"); testrequestDto.setPassword("abcAbc123"); // 예외 안생기면 성공 asser..
-
최종 피드백스파르타코딩클럽/스프링 개인 프로젝트 - 기본 CRUD 2023. 11. 17. 18:11
피드백 내용 피드백 내용을 고쳐야할 점과 단순히 아쉬운 부분에 따라 순서를 변경해보았다. 개인 과제 직접 구현하는게 쉽지 않을 수도 있는데 완성하느라 고생하셨습니다. 반드시 고쳐야 할 점 1. rest api 설계에는 어느정도 업계에서 사용하는 규칙이 있습니다. 이를 엄격히 사용하기 보단 케이스에 따라 유동적으로 사용하긴 하는데 기본적인 원칙을 지키는게 좋습니다. -> API 명세를 신경써서 준비하지 못한게 아쉽다. 다음 프로젝트에서는 노력을 기울여 작성하겠다고 반성한다. 2. git 사용도 적절하지만 커밋 제목을 어떤기능을 구현했는지를 적는게 좋을 것 같네요 -> 매 프로젝트에서 지적받는 커밋메세지. 이번엔 내용을 제대로 적었다고 생각했는데 커밋메세지 양식을 찾아 보니 어림도 없다는 걸 깨달았다. 그나..
-
스프링프로젝트2 1일차스파르타코딩클럽/스프링 개인 프로젝트 - 기본 CRUD 2 2023. 11. 16. 21:11
프로젝트 개요 이전 스프링 프로젝트1 (게시판 CRUD) 을 바탕으로 기능을 추가구현하여 Todo 애플리케이션 제작 구현사항 특징 1. 회원가입 2. 로그인 3. 기존의 CRUD에 회원정보 추가 4. 댓글기능 추가 5. 완료기능 표시 6. JWT 토큰을 활용하여 수정, 삭제시 비밀번호 대신 토큰을 검증 7. HTML 파일 작성 과제가 주어진지 대략 일주일이 지난 오늘 첫 삽을 떴다. 저번 CRUD 구현에 대략 12시간 정도 걸렸기에 이건 한 4일정도면 충분하지 않을까라는 안일한 생각에 스프링을 복습하며 최대한 스프링을 이해한 상태에서 시작하고자 하였다. 그리고 저번 프로젝트가 상당히 마음에 들지 않았기에 CRUD부터 처음부터 다시 시작하기로 하였다. CRUD를 다시 만들면서 느낀점은 두번째 인데도 생각보..
-
[개인프로젝트] API 명세 작성 및 최종제출스파르타코딩클럽/스프링 개인 프로젝트 - 기본 CRUD 2023. 11. 6. 20:16
기능 Method URL request response 설명 게시물 등록 POST /api/post { "index": 8, "userName": "_user_name", "password":"1234" "title": "updated_title", "content": "updated_content", "createdAt": "2023-11-06T18:24:25.204669", "modifiedAt": "2023-11-06T18:24:25.204669" } { "index": 8, "userName": "_user_name", "title": "updated_title", "content": "updated_content", "createdAt": "2023-11-06T18:24:25.204669", "..
-
[개인프로젝트] ERD 작성스파르타코딩클럽/스프링 개인 프로젝트 - 기본 CRUD 2023. 11. 6. 05:05
ERD란? Entity-Relationship Diagram 의 약자. 데이터베이스에서 엔티티 및 그 관계를 시각적으로 표현한 다이어그램 데이터베이스의 구조와 관계를 설명하기 위해 시각적으로 표현 Entity란? 데이터의 집합을 의미 저장되고 관리되어야하는 데이터 유무형의 대상을 지칭 Entity의 특징 유일한 식별자를 갖고 있어야한다. 2개 이상의 인스턴스가 있어야한다. 반드시 속성을 가지고 있어야한다. 다른 entity와 최소 한 개 이상의 관계가 있어야한다. Entity의 종류 공부 하는 김에 마저 정리 엔티티는 유형, 무형에 따른 종류, 발생하는 시점에 따라 나뉜다. 유형과 무형에 따른 종류 종류 설명 유형 엔티티 지속적으로 사용되는 엔티티 개념 엔티티 물리적 형태가 없는 엔티티. 개념적으로 사용..
-
[개인프로젝트] Use Case Diagram 이란?스파르타코딩클럽/스프링 개인 프로젝트 - 기본 CRUD 2023. 11. 5. 22:14
"스파르타 익명 게시판 서버 만들기" 개인프로젝트 구현사항 Use Case Diagram API 명세 ERD 구현 세부 사항 게시글 작성 제목, 작성자명, 비밀번호, 작성내용, 작성날짜를 저장 저장한 게시글을 반환받아 확인할 수 있다. (비밀번호는 볼 수 없음) 게시글 조회, 게시글 전체 조회 비밀번호는 볼 수 없음 게시글 수정 제목, 작성자명, 작성내용 수정 게시글 수정 요청시 비밀번호를 함께 전달하며, 비밀번호가 일치할때만 수정 가능 게시글 삭제 비밀번호를 함께 전달하여, 일치할 경우 삭제 가능 게시글 수정, 삭제 요청시 비밀번호가 일치하지 않을경우 Status Code, Error 메시지 정보 반환 프로젝트 진행 순서는 Use Case Diagram -> ERD -> API 명세 -> 코드 작성 순..