Skip to content

Commit fc138c0

Browse files
committed
update README.md
1 parent 0c5578c commit fc138c0

1 file changed

Lines changed: 20 additions & 37 deletions

File tree

README.md

Lines changed: 20 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,20 @@
1-
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/EQ2AZDxh)
2-
# Seminar-2025-springboot-assignment
3-
4-
이번 한 학기 동안 에브리타임 클론코딩을 주제로 과제를 진행합니다.
5-
6-
3차시 과제에서는 좋아요 기능을 구현하고, 중복 요청이 들어오는 경우의 동시성 문제를 해결합니다.
7-
추가로, 시간이 겹치는 강의를 시간표에 동시에 추가했을 때의 동시성 문제를 해결합니다.
8-
9-
## 시작하기
10-
11-
0차시 과제에서와 같이 앞으로도 데이터베이스로 MySQL을 사용합니다. 로컬 서버를 띄우기 전 `docker compose up -d` 로 MySQL을 띄워주세요.
12-
13-
## 3차시 과제 - 게시글 좋아요 & 동시성 문제 해결
14-
15-
### 게시글 좋아요 기능
16-
17-
- 게시글 좋아요 추가
18-
- 사용자는 게시글에 좋아요를 누를 수 있습니다.
19-
- 좋아요는 게시글마다 한 개만 누를 수 있습니다.
20-
- 좋아요 추가 요청을 여러 번 보내도 에러를 내려주지 않습니다(멱등성).
21-
- 게시글 좋아요 취소
22-
- 사용자는 자신의 누른 좋아요를 취소할 수 있습니다.
23-
- 좋아요 취소 요청을 여러 번 보내도 에러를 내려주지 않습니다(멱등성).
24-
- 게시글에 좋아요 수를 포함해서 내려주기
25-
- 게시글 페이지네이션 조회 또는 단건 상세 조회 시, PostDTO에 좋아요 수를 포함해서 내려줘야 합니다.
26-
27-
### 시간표 동시성 이슈 해결
28-
29-
- 시간이 겹치는 두 강의를 시간표에 동시에 추가할 때, 두 강의 중 하나만 추가되어야 합니다.
30-
31-
### 테스트 작성
32-
- PostLikeIntegration이 새로 추가되었고, TimetableIntegrationTest에도 하나가 새로 추가되었습니다.
33-
- 새로 추가된 테스트와 기존의 모든 테스트를 통과하도록 작성해주세요.
34-
- 테스트 통과를 위해 DataGenerator::likePost()를 구현해주세요. 이와 관련 없는 테스트코드 변경은 하지 말아주세요.
35-
- Github classroom을 통한 자동 채점이 이루어집니다.
36-
- 수강생이 많기 때문에 코드 리뷰는 요청주신 분에 한해서 드립니다.
37-
- 제출 기한은 2025년 11월 26일 (수) 23:59 까지이며, 마지막 커밋 시각을 기준으로 합니다. Grace Day는 최대 2일 사용할 수 있습니다.
1+
# 23.5기 Spring 세미나 과제 4
2+
3+
1. AWS 가입 후, EC2 인스턴스 생성하여 접속하기
4+
1. 필요한 포트 개방 필요
5+
2. 프리티어로 t2.micro 하나 제공하는데, 이거는 좀 부족할 수도
6+
3. 비용 관리에 주의
7+
2. EC2 인스턴스에 k3s로 쿠버네티스 클러스터 만들기 (보너스: 여러 대의 컴퓨터를 하나의 클러스터로 만들기)
8+
3. 클러스터에 세미나 과제 애플리케이션 배포하기
9+
1. Github Actions를 사용해 CI/CD 구축
10+
2. MySQL 도 같이 배포 (Helm chart 사용하면 편해요)
11+
3. 이번 과제를 위한 Redis도 배포
12+
4. 안전한 로그아웃을 위해 Redis로 JWT blacklisting 구현하기
13+
1. logout api를 호출하면 인증에 쓰였던 토큰을 redis에 등록해서, 다음에 그 토큰으로 요청이 오면 차단해야 함
14+
2. Pod이 여러 개인 환경에서도 동작해야 함
15+
16+
- 과제 제출
17+
- kubectl으로 조회한 pod 목록 스크린샷
18+
- 요청을 보낼 수 있는 API endpoint
19+
- 12/7 까지
20+
- Grace day 4일 이상 사용 불가

0 commit comments

Comments
 (0)