[ 분류 전체보기 ]
-
[과제] 일정 관리 앱 JPA내일배움캠프/과제 2025. 4. 4. 05:43
✅ 기본 구현 요구사항 (필수)1️⃣ 일정 CRUD일정 등록 시 저장 데이터:할일 제목할일 내용작성자명작성일/수정일 (날짜와 시간 포함)일정 고유 ID 자동 생성작성일과 수정일은 JPA Auditing 활용2️⃣ 유저 CRUD유저 등록 시 저장 데이터:유저명이메일작성일/수정일 (날짜와 시간 포함)유저 고유 ID 자동 생성작성일과 수정일은 JPA Auditing 활용일정과 작성 연관관계 구현3️⃣ 회원가입유저 비밀번호 필드 추가4️⃣ 로그인(인증)Cookie/Session을 활용해 로그인 기능을 구현이메일과 비밀번호를 활용해 로그인 기능을 구현회원가입, 로그인 요청은 인증 처리에서 제외예외처리로그인 실패 시 401 반환 🚀 도전 기능 (선택)1️⃣ 다양한 예외처리 적용Validation 적용 ex) @V..
-
[과제] 일정 관리 앱 만들기 도전 Lv5, Lv6내일배움캠프/과제 2025. 3. 25. 18:24
✅ Lv5. 일정 생성 및 조회1️⃣ 과제 조건설명예외 상황에 대한 처리를 위해 HTTP 상태 코드(링크)와 에러 메시지를 포함한 정보를 사용하여 예외를 관리할 수 있습니다.필요에 따라 사용자 정의 예외 클래스를 생성하여 예외 처리를 수행할 수 있습니다.@ExceptionHandler를 활용하여 공통 예외 처리를 구현할 수도 있습니다.예외가 발생할 경우 적절한 HTTP 상태 코드와 함께 사용자에게 메시지를 전달하여 상황을 관리합니다.조건수정, 삭제 시 요청할 때 보내는 비밀번호가 일치하지 않을 때 예외가 발생합니다.선택한 일정 정보를 조회할 수 없을 때 예외가 발생합니다.잘못된 정보로 조회하려고 할 때이미 삭제된 정보를 조회하려고 할 때 기존에 구현을 하면서 Exception을 처리하고 있어서 Lv5는 ..
-
[과제] 일정 관리 앱 만들기 도전 Lv4내일배움캠프/과제 2025. 3. 25. 18:15
✅ Lv4. 페이지네이션1️⃣ 과제 조건설명많은 양의 데이터를 효율적으로 표시하기 위해 데이터를 여러 페이지로 나눕니다.페이지 번호와 페이지 크기를 쿼리 파라미터로 전달하여 요청하는 항목을 나타냅니다.전달받은 페이지 번호와 크기를 기준으로 쿼리를 작성하여 필요한 데이터만을 조회하고 반환조건등록된 일정 목록을 페이지 번호와 크기를 기준으로 모두 조회조회한 일정 목록에는 작성자 이름이 포함범위를 넘어선 페이지를 요청하는 경우 빈 배열을 반환Paging 객체를 활용할 수 있음 2️⃣ 목록 조회 시 조건 매개변수 변경1. Paging 객체 생성public class CustomPageable { @Schema(description = "페이지 번호 (1부터 시작)", defaultValue = "1") ..
-
[과제] 일정 관리 앱 만들기 도전 Lv3내일배움캠프/과제 2025. 3. 25. 18:01
✅ Lv3. 연관 관계 설정1️⃣ 과제 조건작성자와 일정의 연결설명동명이인의 작성자가 있어 어떤 작성자가 등록한 ‘할 일’인지 구별할 수 없음작성자를 할 일과 분리해서 관리합니다.작성자 테이블을 생성하고 일정 테이블에 FK를 생성해 연관관계를 설정해 봅니다.조건작성자 테이블은 이름 외에 이메일, 등록일, 수정일 정보를 가지고 있습니다.작성자의 정보는 추가로 받을 수 있습니다.(조건만 만족한다면 다른 데이터 추가 가능)작성자의 고유 식별자를 통해 일정이 검색이 될 수 있도록 전체 일정 조회 코드 수정.작성자의 고유 식별자가 일정 테이블의 외래키가 될 수 있도록 합니다.2️⃣ 작성자 등록먼저 작성자 일정과 작성자를 연결하려면 작성자 정보가 있어야해서 작성자를 등록해준다. 1. Writer Entity 작성p..
-
[과제] 일정 관리 앱 만들기 필수 Lv2내일배움캠프/과제 2025. 3. 25. 13:09
✅ Lv2. 일정 수정 및 삭제1️⃣ 과제 조건선택한 일정 수정선택한 일정 내용 중 할일, 작성자명 만 수정 가능서버에 일정 수정을 요청할 때 비밀번호를 함께 전달합니다.작성일 은 변경할 수 없으며, 수정일 은 수정 완료 시, 수정한 시점으로 변경합니다.선택한 일정 삭제선택한 일정을 삭제할 수 있습니다.서버에 일정 수정을 요청할 때 비밀번호를 함께 전달합니다. 2️⃣ 트러블 슈팅이번엔 먼저 수정사항이 생각이 났다.Repository는 오직 DB와의 연결만을 구현하도록 하고 다른 로직을 제외하고 싶다는 생각이 들었다. 1. Repository기존에는 ScheduleResDto 를 return 해주었는데 Entity를 return 해주도록 변경하였고, findScheduleById에서 데이터가 없을 시 th..
-
[과제] 일정 관리 앱 만들기 필수 Lv1내일배움캠프/과제 2025. 3. 25. 12:41
✅ Lv1. 일정 생성 및 조회1️⃣ 과제 조건일정 생성(일정 작성하기)일정 생성 시, 포함되어야할 데이터할일, 작성자명, 비밀번호, 작성/수정일을 저장작성/수정일은 날짜와 시간을 모두 포함한 형태각 일정의 고유 식별자(ID)를 자동으로 생성하여 관리최초 입력 시, 수정일은 작성일과 동일전체 일정 조회(등록된 일정 불러오기)다음 조건을 바탕으로 등록된 일정 목록을 전부 조회수정일 (형식 : YYYY-MM-DD)작성자명조건 중 한 가지만을 충족하거나, 둘 다 충족을 하지 않을 수도, 두 가지를 모두 충족할 수도 있습니다.수정일 기준 내림차순으로 정렬하여 조회선택 일정 조회(선택한 일정 정보 불러오기)선택한 일정 단건의 정보를 조회할 수 있습니다.일정의 고유 식별자(ID)를 사용하여 조회합니다. 2️⃣ 일정..
-
[Spring] Web Application (1)Spring 2025. 3. 19. 01:18
✅ 웹 애플리케이션이란?우리가 사용하는 대부분의 웹 서비스는 웹 브라우저를 통해 접근이런 서비스의 핵심은 Web Application (웹 애플리케이션), 즉 서버에서 돌아가는 프로그램예시:구글 검색네이버 뉴스스파르타 코딩클럽 강의 플랫폼 ✅ 웹 시스템의 핵심 구성 요소 구분역할예시Web Server정적 파일 처리 (HTML, CSS, JS, 이미지 등)Apache, NginxWAS (Web Application Server)비즈니스 로직 처리 (로그인, DB 조회 등)Tomcat, JBoss, Jetty✅ Web Server란?정적인 파일 제공 (HTML, 이미지, JS, CSS 등)요청받은 파일 그대로 클라이언트에게 전달예시: www.google.com/index.html✔ 가장 유명한 Web Ser..
-
[Spring] RESTful APISpring 2025. 3. 19. 01:08
✅ REST란?REST (Representational State Transfer)자원을 URI로 표현하고HTTP Method로 행위(조회, 생성, 수정, 삭제)를 명확하게 구분해 API를 설계하는 방식웹의 기본 구조(HTTP 프로토콜)에 가장 잘 맞는 설계 방식 ✅ RESTful API란?REST 원칙을 지키며 만든 API → 직관적이고, 이해하기 쉬운 API 디자인🌱 RESTful API 기본 구조[HTTP Method] + [URI] → 의미 있는 하나의 행위행위HTTP Method예시 URI 의미조회 (Read)GET/users유저 목록 조회상세 조회GET/users/1id=1인 유저 조회생성 (Create)POST/users새 유저 생성수정 (Update)PUT / PATCH/users/1id..