Skip to content

Commit 4132caf

Browse files
committed
문서 업데이트: FastAPI 가상환경 설정 및 서비스 종료 방법 추가, requirements.txt에 Pydantic 추가
1 parent 67b26c4 commit 4132caf

File tree

2 files changed

+36
-4
lines changed

2 files changed

+36
-4
lines changed

docs/01-python.md

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ python -m venv .venv
3030

3131
2. 가상환경 활성화 및 FastAPI 설치
3232

33-
# Windows
33+
### Windows
3434

3535
```bash
3636
.venv\Scripts\activate
3737
```
3838

39-
# macOS / Linux
39+
### macOS / Linux
4040
```bash
4141
source .venv/bin/activate
4242
```
@@ -52,7 +52,7 @@ pip install fastapi uvicorn
5252
FastAPI를 활용하여 소셜 네트워크 서비스의 모든 핵심 기능을 REST API로 구현합니다.
5353

5454
```text
55-
FastAPI를 사용하여 openapi.yaml 명세를 기반으로 소셜 네트워크 서비스의 백엔드 API를 구현해. openapi.yaml의 정의에 따라 포스트, 댓글, 좋아요 기능을 포함하는 모든 엔드포인트를 구현한다. 명세에 맞게 적절한 HTTP 메소드, 상태 코드, 요청/응답 형식을 구현하낟. Pydantic 모델을 사용하여 데이터 검증을 구현하고, 예외 처리도 포함해주세요. 데이터는 데이터베이스 없이 간단한 메모리로 관리한다.
55+
FastAPI를 사용하여 openapi.yaml 명세를 기반으로 소셜 네트워크 서비스의 백엔드 API를 구현해. openapi.yaml의 정의에 따라 포스트, 댓글, 좋아요 기능을 포함하는 모든 엔드포인트를 구현한다. 명세에 맞게 적절한 HTTP 메소드, 상태 코드, 요청/응답 형식을 구현하낟. Pydantic 모델을 사용하여 데이터 검증을 구현하고, 예외 처리도 포함해주세요. 데이터는 데이터베이스 없이 간단한 메모리로 관리한다. main.py 파일 하나에 모두 구현한다.
5656
```
5757

5858
### 가상환경으로 앱 실행
@@ -79,3 +79,34 @@ SQLite 데이터베이스를 사용하여 openapi.yaml 명세를 참고하여
7979

8080
서버를 재시작한 후에도 SQLite 데이터베이스에 저장된 포스트 데이터가 유지되는지 확인합니다.
8181

82+
## 서비스 종료
83+
84+
FastAPI 서버 등 현재 실행 중인 백엔드 서비스를 종료하려면, 터미널에서 **Ctrl + C**를 누르세요.
85+
이렇게 하면 서버가 정상적으로 종료되어 포트(예: 8000번)를 다른 백엔드 서비스가 사용할 수 있습니다.
86+
87+
만약 서버가 백그라운드에서 실행 중이거나 포트가 여전히 점유 중이라면, 아래 명령어로 프로세스를 확인하고 종료할 수 있습니다.
88+
89+
```bash
90+
lsof -i :8000
91+
kill <PID>
92+
```
93+
94+
lsof 명령어를 수행하면 아래처럼 나옵니다. "--reload" 옵션으로 서비스를 띄웠기 때문에 코드 변경을 감시하는 서버가 하나 더 띄워져서 두 개가 나옵니다.
95+
96+
```bash
97+
(base) tykimos@MacBook-Air-2 crewai % lsof -i :8000
98+
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
99+
Python 12707 tykimos 3u IPv4 0x9fddcce1c1588271 0t0 TCP localhost:irdmi (LISTEN)
100+
Python 12710 tykimos 3u IPv4 0x9fddcce1c1588271 0t0 TCP localhost:irdmi (LISTEN)
101+
```
102+
103+
이 경우 코드 변경 감시 서버만 종료하면 되지만 확인이 힘들다면 둘 다 종료시킵니다.
104+
105+
```bash
106+
kill 12707
107+
kill 12710
108+
```
109+
110+
그럼 다른 백엔드 서비스를 동일한 포트에서 실행할 수 있습니다.
111+
112+

python/requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
fastapi
2-
uvicorn
2+
uvicorn
3+
pydantic

0 commit comments

Comments
 (0)