TIL(Today I Learned) 5

[TIL] HTTP 상태 코드 설계

1. 주제 선택팀원들과 프로젝트 S.A 설계를 완료한 후, 설계가 적합한지 확인하기 위해 튜터님께 피드백을 받았다. 이 과정에서 API 설계의 응답(response) 부분을 성공과 실패로 나눠 상태코드로 표현한 부분에 대해 긍정적인 평가를 받았고, 동시에 에러 상태를 조금 더 구체화하면 좋겠다는 제안과 함께 HTTP 상태코드 설계와 RESTful 여부에 대한 논의가 이루어졌다.피드백 후, 프로젝트 마감 기한이 짧아 팀원들과 깊이 논의할 시간이 충분하지 않아 혼자 고민해보고 정리하고자 이 주제를 선택하게 되었다. 2. 고민한 내용왜 RESTful한 상태 코드를 사용해야 하는가?RESTful하지 않은 설계는 어떤 상황에서 사용하는가?상태코드를 설계할 때 클라이언트를 고려한 방식은 어떤 것인가?만약 RESTf..

[TIL] 고객과 통화 연관관계로 환전요청 만들기

프로젝트 요약 1. 프로젝트 목적RESTful API 설계 : Spring Boot와 JPA를 사용하여 CRUD API를 설계하고 구현데이터 검증 : Validation을 활용하여 입력값 검증 및 데이터 무결성 보장비즈니스 로직 분리 : 계층별 역할 분리를 통해 유지보수성 향상예외처리 : GlobalExceptionHandler를 통해 예외 처리 방식 학습JPQL 활용 : 데이터 조회 및 요약을 위한 JPQL 사용법 학습2. 프로젝트 구현 단계Lv0 : 프로젝트 설계API 명세서 작성 : postman 사용ERD 작성 SQL 작성Lv1 : 고객(User)과 통화(Currency) 복잡한 연관관계환전 요청 중간 테이블 생성필드 : 고객 고유 식별자, 환전 대상 통화 식별자, 환전 전 금액, 환전 후 금액,..

[TIL] 뉴스피드 프로젝트(백엔드 구현)

프로젝트 요약1. 프로젝트 목적협업 도구(Git & Github)를 사용하여 컨벤션 준수의 중요성 체득RESTful API 설계 및 JPA 기반 CRUD 구현Spring Boot와 JPA를 활용한 데이터 검증 및 인증/인가 로직 구현Cookie/Session을 활용한 인증 및 사용자 데이터 유효성 검증유지보수성이 높은 코드를 위한 비즈니스 로직 분리 및 예외처리2. 프로젝트 구현프로필 관리 : 사용자 프로필 CRUD, 비밀번호 변경, 본인확인 로직뉴스피드 게시물 관리 : 게시물 CRUD, 조회 시 생성일 기준 정렬, 페이지네이션사용자 인증 : 회원가입, 로그인, 로그아웃, 세션/쿠키 관리친구관리 : 친구 요청, 수락, 삭제 및 친구의 최신 게시물 조회뉴스피드 게시물 관리 : 조회 시 수정일 기준 정렬, ..

[TIL] 일정 관리 앱 만들기 & 기능 구현 develop

프로젝트 요약 1. 프로젝트 목적일정관리 앱 개발을 통해, RESTful API 설계 및 JPA 기반 CRUD 구현(데이터베이스 관리), 데이터 검증, 인증 기능 학습Cookie/ Session 을 활용한 인증/인가 로직 학습과 데이터 유효성 검증데이터 검증 및 비지니스 로직 분리로 유지보수성 연습기본적인 보안 개념과 인증 매커니즘을 명확히 이해2. 프로젝트 구현 단계Lv0 : 프로젝트 설계API 명세서 작성 : postman 사용ERD 작성 SQL 작성 : root 경로에 schedule.sql 만들어서 작성Lv1 : 일정 CRUD일정 저장, 조회, 수정, 삭제 기능 구현일정 필드작성 유저명, 할일 제목, 할일 내용, 작성일, 수정일작성/수정일 필드는 JPA Auditing 활용해서 적용LV2 : 유저..

[TIL] 일정 관리 앱 서버 만들기 & 기능 구현

프로젝트 요약 1. 프로젝트 목적데이터베이스와의 연동을 위해 JDBC를 사용해보며, 기본적인 SQL 쿼리 작성과 데이터 관리를 연습.CRUD(Create, Read, Update, Delete) 필수 기능은 모두 데이터베이스 연결 및 JDBC를 사용해 개발.일정 관리 애플리케이션을 만들며 CRUD 필수 기능을 구현하고, 적절한 상태코드를 반환 & 적절한 오류 코드 및 메세지 반환. 2. 프로젝트 구현 단계Lv0 : 프로젝트 설계API 명세서 작성 - postman 사용ERD 작성SQL 작성 - MySQL 사용Lv1 : 일정 생성 및 조회 기능일정 생성 - 할일, 작성자명, 비밀번호, 작성일, 수정일 데이터 포함작성일, 수정일은 날짜와 시간을 모두 포함전체 일정 조회 & 선택 일정조회수정일과 작성자명을 기..