본문 바로가기

개인 공부용/sparta-schedule5

도전과제 과정 도전과제를 마무리했다. 이번에는 3개의 브랜치로 나눠서 작업을 했다. 근데 마지막에 challenge에서 main브랜치로 옮길 때 커밋내역을 안 지워서 커밋이 32개인 상태로 main에 올라가게 되었다.필수과제만 올릴 땐 잘 올렸는데 실수했다 .. https://github.com/roqkfchqh/Scheduler/tree/main GitHub - roqkfchqh/SchedulerContribute to roqkfchqh/Scheduler development by creating an account on GitHub.github.com여튼 리드미도 완성하고 제출까지 완...ㄹ...를 하려 하는데 난 왜 이런걸 맨 마지막에 발견하니 항상.. 한두번이 아니다 ㅠㅠ 글을 왜이렇게 못읽지그리 어려운 작업은.. 2024. 12. 9.
(도전과제 시작) author 테이블 만들기, custom exception 추가 레벨 3이다. 테이블이 하나가 추가가 되고, FK를 적절히 사용해야 한다.처음에 만들어둔 erd대로 db를 수정하고 시작하면 된다.우선 author 테이블을 추가해주고,ide에서 외래 키도 추가해준다.짠 그리고, author 클래스 작업에 앞서서 일단 예외처리를 먼저 빨리 설정해주고싶었다.예외처리를 그동안 badinputexception("오류요")로 대충 퉁쳤다. "오류요"가 더 늘어나면 이제부터 수정할 때 힘들어질 게 뻔하니까 예외클래스 먼저 만들어놓고 시작하자.@Getterpublic class CustomException extends RuntimeException { private final ErrorCode errorCode; public CustomException(ErrorCod.. 2024. 12. 5.
트러블슈팅 : 필수과제 버그 수정 몰랐는데 jdbc는 jpa처럼 entity를 자동생성해주지 않아서 테이블을 미리 만들어놓고 시작해야되더라..자꾸 swagger에서 500 서버연결 오류가 나서 코드도 고쳐보고 했는데 안되길래 찾아보니.. 일단 이게 문제인 듯 했다.뭐 그 덕에 코드 구조도 싹다 고쳤다. response 단에도 dto만들어주고, controller에서도 ResponseEntity로 값을 반환하도록 고쳤다.combinedDto를 만들어서 password와 name,content를 같이 받는 경우 / password만 따로 받는 경우를 분리했다.또한 responseEntity를 사용해 올바른 http코드로 값을 반환하도록 했다. delete의 경우 nocontent()로 204코드를 반환한다.아무튼 좀 더 restful한 ap.. 2024. 12. 5.
Lv1, Lv2 api 프로젝트때 썼던거 복붙해서 날먹하려고 했는데 jpa가 아니라 jdbc로 해야해서 처음부터 만들어야한다.(..)일단 entity와 @id, @generatedvalue를 못 쓴다.repository 또한 jdbc에서는 Dao가 그 역할을 하고, 직접 쿼리문을 작성해줘야 한다.@Getter@Setter@ToString@AllArgsConstructor@EqualsAndHashCode(of = "id") //id필드를 비교대상으로 둠.(고유성을 id로 판단, PK라는뜻)public class Schedule { public Schedule(){ this.id = UUID.randomUUID(); this.created = LocalDateTime.now(); .. 2024. 12. 4.
일정 관리 앱 프로젝트 시작 우선 기본세팅들, postgresql db 만들고, 포트와 환경변수 등등 세팅을 다 하고 dev브랜치 만들어서 푸시부터 하고 시작한다.ㅇㅅㅇ자 이제 그럼 어떻게 만들거냐 고민을 좀 해보자면일단 ERD부터 대강 작성하고 시작해야 될 것 같다.API는 일정 생성, 수정, 삭제, 불러오기(페이징)을 중심으로 차차 늘려나가서 프로그램이 완성되면 명세서를 작성하면 될 것 같고..테이블은 일정, 작성자 이렇게 두개로 나눠서 작성자의 PK가 일정의 FK가 되도록 하면 될 듯 하다.여기서 최근에 api 프로젝트에서 적용해본 ip를 unique key로 도입해봐야겠다.일단 이정도로.. ip와 email을 unique로 만들어서 ip가 바뀔 시 인증과정을 만들어봐야겠다. 2024. 12. 4.