2024/11 41

[내일배움캠프/백엔드] Spring 심화 개인과제 트러블 슈팅

- 어떤 현상을 발견했는가?1. @RequestParam으로 Enum 값 처리 postman 오류 2. @NotNull과 Bean Validation이 작동하지 않음 3. @PostMapping 어노테이션 사용 불가 오류 4. Project JDK is not defined 이런 장애가 생길 수 있다는 것을 인지1. @RequestParam으로 Enum 값 처리 postman 오류-@RequestParam이 enum 타입 값을 처리하지 못하거나 올바르게 매핑되지 않으면 400 Bad Request 오류가 발생한다는 것을 인지-클라이언트가 enum 문자열 값을 정확히 전달하지 않거나, 서버가 enum을 변환하지 못할 시에 발생 2. @NotNull과 Bean Validation이 작동하지 않음-Dto에서 ..

[내일배움캠프/백엔드] Spring 심화 개인과제 Lv0. API 명세 및 ERD, SQL 작성하기

API 명세서 작성  ERD 작성SQL 작성CREATE TABLE User ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(200) NOT NULL, email VARCHAR(200) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, modified_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);CREATE TABLE Currency ( id INT AUTO_INCREMENT PRIMARY KEY, currency_name VARCHAR(200) NOT NULL, exchange_r..

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

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

[내일배움캠프/백엔드] Spring 숙련. 뉴스 피드 프로젝트 발표

발표 ppt 자료 내가 맡은 부분인 게시물 조회, 정렬 관련해서 발표자 분이 원하는 형식으로 정리해서 보냈다.코드 발표는 어떻게 해야할 지 감이 잘 잡히지 않았는데, 이렇게 기능별로 설명하면 되는 구나~라고 생각하게 되었다. READ ME 처음 공부할때는 리드미가 뭔지도 몰랐는데 이제는 어떻게 하면 한눈에 정리할 수 있을지 고민하게 되고, 이 페이지만 봐도 어떤 프로젝트를 진행해서 이런 코드를 짰는지 알 수 있게 정리할 수 있게 된 것 같다.# News_Feed_project#### 뉴스피드 : 친구들의 가장 최근에 업데이트된 게시물들을 볼 수 있는 페이지## 뉴스피드 기능### 1. 프로필 관리#### *프로필 조회#### *프로필 수정##### -로그인한 사용자 본인만 사용자 정보 수정##### -비..

[내일배움캠프/백엔드] Spring 숙련. 뉴스 피드 프로젝트 트러블 슈팅

1. Git 충돌 해결1) 개요develop 브랜치에서 동시에 작업을 진행하면서 push, pull 하는 과정에서 다른 팀원이 작성한 내용을 pull로 가져올 때, 현재 작업하고 있던 내용과 충돌이 발생 2) 문제상황-모든 작업을 develop 브랜치에서 직접 진행을 하면서 문제가 생김-작업 중 서로 다른 파일을 수정하면서 충돌이 발생 3) 해결-작업을 개별 브랜치 feature에서 진행하도록 변경-작업 완료 후, 로컬에서 develop 브랜치로 병합하고, 충돌이 있다면 로컬에서 해결한 후에 git push-develop이 최신화되면 브랜치를 pull 받아 최신으로 유지하고 다시 feature에서 개발1. feature 브랜치 생성git checkout -b feature/2. 로컬에서 작업 후 병합gi..

[내일배움캠프/백엔드] Spring 숙련. 뉴스 피드 프로젝트 3일차

HTTP 상태 코드 정리 -프로젝트 설계 피드백을 받을 때 팀에서 사용하는 HTTP 상태코드에 대한 정의가 내려진 문서도 있으면 좋을 것 같다고 들어서 사용하는 상태코드에 대해서 정리만 해봤다. 200 OK요청이 성공적으로 처리되었음응답 본문에 결과가 포함GET 요청이나 일부 PATCH 요청에서 사용201 Created요청이 성공적으로 처리되었음새로운 리소스가 생성POST 요청에서 사용204 No Content요청이 성공적으로 처리되었으나 응답본문에 데이터가 없음DELETE 요청에서 사용400 Bad Request요청 데이터가 유효하지 않거나 형식이 잘못된 경우401 Unauthorized인증되지 않은 사용자가 리소스에 접근하려고 할 때 사용로그인 되지 않은 상태에서 요청을 보낼 경우403 Forbidd..

[내일배움캠프/백엔드] Spring 숙련. 뉴스 피드 프로젝트 개발시작

Git 충돌 해결 * 발생한 문제develop 브랜치에서 동시에 개발을 하여 commit, push, pull을 진행하는 과정에서 충돌 발생pull을 해서 가져올 때 시간이 맞지 않아서 충돌이 난 것 같음* 해결 방법각자 작업은 develop에서 바로 하는 것이 아니라 각자 feature branch에서 진행해야함작업 완료 후 로컬에서 먼저 develop 브랜치로 병합한 후에 origin에 push 및 pull이런 과정을 거치면 충돌을 최소화할 수 있음 게시물 조회 기능 개발 * 구현한 기능전체 게시물 조회최신순 정렬페이지에 10개의 게시물만 보이게 함특정 사용자의 게시물 조회최신순 정렬사용자의 id로 게시물 조회단일 게시물 조회게시물 id로 특정 게시물 반환세션 검증사용자가 로그인 상태인지 확인* 어려..