hannal
@hannal
Students
83
Reviews
15
Course Rating
4.9
1999๋ ๊ฒ์ ๊ฐ๋ฐ์ ์์์ผ๋ก ์ง๊ธ๊น์ง ์ํํธ์จ์ด๋ฅผ ๋ง๋ค๊ณ ์๋ค.
2007๋ ์ ๊ตญ๋ด ์ต์ด๋ก ์ฐ์ฌํ Django ๊ฐ์ข๋ฅผ ๊ฒ์ฌํ๋ฉฐ ํ์ด์ฌ์ผ๋ก ์ํํธ์จ์ด๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฐ๋ฐํ๊ธฐ ์์ํ๊ณ , ์ฌ๋ฌ ์คํํธ์ ์์ ๊ฐ๋ฐ ๋ฆฌ๋๋ CTO๋ฅผ ์ญ์ํ๋ค.
2003๋ ๋ถํฐ ํ๋ ์ด๋ผ๋ ํ๋ช ์ผ๋ก ํ๋ํ๊ณ ์์ผ๋ฉฐ, ์ต๊ทผ์๋ ์ธ๊ณต์ง๋ฅ, ํ์ต, ์ฝ์นญ์ ๊ด์ฌ์ ๊ฐ๊ณ ํธ๋ฉ์บ ํ(https://puddingcamp.com) ์ปค๋ฎค๋ํฐ๋ฅผ ๊ฐ๋ฐํด ์ด์ ์ค์ด๋ค.
์ฌ๋ฏธ๋ฅผ ์ค์ํ๊ฒ ์ฌ๊ฒจ ์ฃผ๋์ด ํด๋จธ๋ฆฌ์คํ(Junior Humarista, ์ผ๋ช ์ ๋จธ ๊ฟ๋๋ฌด)๋ฅผ ์งํฅํ๋ฉฐ, ๊ธฐ๊ณ๊ฐ ํ ์ผ์ ์ฌ๋์ด ํ์ง ๋ง์๋ ์ ์กฐ๋ก ์ํํธ์จ์ด ์์ง๋์ด๋ง์ ํ๋ค.
๊ฒ์ ์ ๊ณ์ ์ธํฐ๋ท, ๋ชจ๋ฐ์ผ ์ ๊ณ๋ฅผ ๋๋๋ค๋ค ์ต๊ทผ์๋ ์๋ฒฝ 9์์์ 10์ ์ฌ์ด์ ๊ฒ์ ํ์ฌ์ ์ถ๊ทผํด ๊ธ๋ก๋ฒ ๊ท๋ชจ์ ํ๋ซํผ ์์ง๋์ด๋ง์ ํ๊ณ ์๋ค.
Courses
Reviews
- [Daily Reading Challenge] <From Planning to Launch with FastAPI> with the Author
- [Daily Reading Challenge] <From Planning to Launch with FastAPI> with the Author
- [Daily Reading Challenge] <From Planning to Launch with FastAPI> with the Author
- [Daily Reading Challenge] <From Planning to Launch with FastAPI> with the Author
- [Daily Reading Challenge] <From Planning to Launch with FastAPI> with the Author
Posts
Q&A
4์ฃผ 1ํ์ฐจ ๊ณผ์
๋ ์์์ ์ฉ๋๋ฅผ ๊ตฌ๋ถํด์ ์ค์ ํ์๋๊ตฐ์. ๐
- 0
- 2
- 20
Q&A
4์ฃผ 5ํ์ฐจ ๊ณผ์
ํ์ธํ์ต๋๋ค. ๐glob์ผ๋ก ์ผ๊ด ์ญ์ ํ๋ ์ฒด๊ณ๋ฅผ ์ธ์ฐ์ จ๊ตฐ์. ๐ ๊ฒฝ๋ก ์ฒด๊ณ์์ ๊ฐ์ธ์ ๋ณด ์ ์ถ๊ฐ ๋์ง ์๊ฒ ๊ตฌ์ฑํ๋ ๋ฑ ์ ์์ ์ ๊ณ ๋ คํ๋ค๋ฉด ๊ตฌํ ํธ์์ฑ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
- 0
- 1
- 19
Q&A
4์ฃผ 5ํ์ฐจ ๊ณผ์ ์ ์ถ
ํ์ธํ์ต๋๋ค. ๐
- 0
- 2
- 27
Q&A
4์ฃผ 4ํ์ฐจ ๊ณผ์ ์ ์ถ
๊ผผ๊ผผํ๊ฒ ์๋๋ฆฌ์ค๋ฅผ ์ธ์ฐ์ จ๊ตฐ์. ๐
- 0
- 2
- 37
Q&A
refresh() ๋ฉ์๋์ ํฝ์ค์ฒ์ ๋ํด ์ง๋ฌธ์ด ์์ต๋๋ค.
์ด ์คํ ์์๋ฅผ ๊ฒฐ์ ํ๋ ํ๋ก์ธ์ค์ ๋ํด์๋ ๊ถ๊ธํฉ๋๋ค!์คํ ์์๋ ์์กด์ฑ ์ฃผ์ ์์ ๋๋ค. client_with_auth ์ host_user_calendar ์์กด์ฑ ์ฃผ์ (pytest fixture)์ ์ ์ธํ๋ฉด, host_user_calendar ํฝ์ค์ฒ๊ฐ ๋จผ์ ์คํ๋์ง์. pytest๋ฅผ ์คํํ๋ฉด fixture ์์กด์ฑ ๊ทธ๋ํ๋ฅผ ํ์ฑํ๋๋ฐ, FastAPI์ ๋ง์ฐฌ๊ฐ์ง๋ก fixture ์์กด์ฑ ์์๋ฅผ ๋ฐ๋ฆ ๋๋ค. ( pytest.mark.usefixture ๋ autouse ์ต์ ๋ ์ฐ์ ์์์ ์ํฅ์ ๋ฏธ์น๋๋ฐ, ์ผ๋จ ์ฌ๊ธฐ์์ ์์กด์ฑ ์ ์ธ์ ๋ฐ๋ฅธ ์์๋ง ์ค๋ช ๋๋ ค๋ ์ดํดํ์ค ๋ฏ ํด์ ์๋ตํฉ๋๋ค. ๐ )๊ทธ๋ ๋ค๋ฉด ์ฒจ๋ถํ์ ์ด๋ฏธ์ง์์๋ ์ง๋ฌธํ์๋ ์์๋ผ๋ฉด, ํ ์คํธ ํจ์์์ client_with_auth ์ host_user_calendar ๋ฅผ ํจ๊ป ์ ์ธํ๋ ๊ฒฝ์ฐ๋ฅผ ์ผ๋์ ๋์ ๊ฒ ๊ฐ์๋ฐ, ์๋ง ๋งค๊ฐ๋ณ์ ์์์ผ ๊ฒ๋๋ค. ๊ทธ๋ฐ๋ฐ ํด๋น host_user ๊ฐ์ฒด๋ ๋ฐํ๋์ง ์๊ณ host_user_calendar ํฝ์ค์ฒ์ ๋จ์์๊ฒ ๋์ด ์ ๊ทผํ ์ ์์ผ๋ ๋ฌด์๋ฏธํ ํ๋์ด๋ผ๊ณ ๋ณด์ฌ์ก์ต๋๋ค.์๋ฌธ์ ์ฌ์ธํ๊ฒ ๊ฐ์ง์ จ๋ค์. ๐ ์ด๋ pytest์ TestClient์ ๋์ ํน์ฑ์ ๊ธฐ์ธํ๋ ์ํฉ์ด๊ธด ํฉ๋๋ค. ์ค์ ํ๊ฒฝ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๊ฐ ๊ตฌ๋๋ ์ํฉ๊ณผ ์ฌ์ฉ์๊ฐ API๋ฅผ ํธ์ถํ๋ ์ํฉ์ ์๋ก ๋ ๋ฆฝ๋๊ณ ๋ถ๋ฆฌ๋ ์ํฉ์ ๋๋ค. ๊ทธ๋์ ๋ง์ํ์ ๋๋ก ์๋ฏธ์์ต๋๋ค.ํ์ง๋ง, ํ ์คํธ ๋์ ์ํฉ์์๋ ์ด๋ค์ด ํ ํ๋ก์ธ์ค(pytest ํ๋ก์ธ์ค)์์ ๋ค๋ฃจ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์ ๋์ผํ ๋งฅ๋ฝ ์์์ ๋์ํฉ๋๋ค. ์๋ํ๋ฉด, pytest์ ์ ์ธํ SQLAlchemy ์ธ์ ๊ฐ์ฒด๋ฅผ ํฝ์ค์ฒ, pytest ํ ์คํธ ํจ์, TestClient๊ฐ ๋ชจ๋๊ฐ ๊ณต์ ํด์ ์ฌ์ฉํ๋ฉฐ ๋์ํ๊ณ ์์ต๋๋ค. TestClient ๊ฐ์ฒด๋ FastAPI ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๊ณ , FastAPI ๊ฐ์ฒด์ ์์กด์ฑ์ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ ์ฃผ์ ํ๋ ์ธ์ ๊ฐ์ฒด๋ fixture ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์ธ์ ๊ฐ์ฒด์ ๋์ผํ๊ฑฐ๋ ์. ๊ทธ๋์ pytest fixture์์ host_user์ calendar ๋ฐ์ดํฐ๊ฐ ์ ์ฌ๋์ง ์์ ์ํ๋ผ๋ ๊ฑด, TestClient๊ฐ FastAPI ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด ๋์ํ๋ ํ๊ฒฝ๊ณผ ๋์ผํ ์ธ์ ๊ฐ์ฒด ์ํฉ/๋งฅ๋ฝ์ ๋๋ค.์ ๋ฆฌํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๊ตฌ๋ํด ๋คํธ์ํฌ๋ก HTTP ์ฐ๊ฒฐ์ ํธ์ถํ๋ ์ค์ ํ๊ฒฝ๊ณผ ๋์ผํ๊ฒ ๋์ํ๋ ๊ฒ ์๋๋ผ ๋น ๋ฅด๊ฒ ๋์์ํค๊ธฐ ์ํด ASGI ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด ์ค์ ํ๊ฒฝ์ฒ๋ผ ๋์ํ๋ ํน์ฑ์ ๋ํ ์์ํจ์ ๊ฐ์ง์ ๊ฒ๋๋ค. ๐ ๊ทธ๋์ ์ด ๊ฒฝ์ฐ์, HTTP API ๊ด์ ์ผ๋ก ๋ณด๊ธฐ๋ณด๋ค๋ pytest ๋งฅ๋ฝ์์ ๋์ผํ SQLAlchemy ์ธ์ ๊ฐ์ฒด๊ฐ ๋ฐ๋ผ๋ณด๋ ORM ๊ฐ์ฒด ์ํ๋ก ๋์ ์ํฉ์ ๋จธ๋ฆฌ ์์ ๊ทธ๋ฆฌ์๋ฉด ๋ช ํํด์ง์ค ๊ฑฐ์์.
- 0
- 2
- 37
Q&A
4์ฃผ 3ํ์ฐจ ๊ณผ์
์๊ณ ํ์ จ์ต๋๋ค. ๐
- 0
- 2
- 30
Q&A
4์ฃผ 2ํ์ฐจ ๊ณผ์ ์ง๋ฌธ
์ฑ ์์๋ ์ผ์ ์ด ์ ๊ฐ์ ์์๋์ด ํ ์๊ฐ ๋์ ์งํ๋๋ค๋ ์ ์ ๋ก ํ์์ฌ๋กฏ์ ์๊ฐ ์ค๋ณต ๊ฒ์ฌ๋ฅผ ๊ตฌํํ์ต๋๋ค. ๊ทธ๋์ 18์ 30๋ถ์ ์์ํด์ 40๋ถ๋์ ํ๋ ํ์์ฌ๋กฏ์ ๊ฒฝ์ฐ, ์ฑ ์ ๋์จ ์ง์๋ฌธ์ผ๋ก๋ ์ค๋ณต ๊ฒ์ฌ๊ฐ ์์ ํ ๋์ง ์์์. ๊ณผ์ ๋ ์ด์ ๋ํ ๊ตฌํ์ ๋ด๋๋ฆฐ ๊ฑฐ์์. ๐
- 0
- 3
- 33
Q&A
4์ฃผ 1ํ์ฐจ ๊ณผ์
ํ๋จ์ ์ ๋ณด ์์ฒ์ ํ๋๋ก ํต์ผํ๋ ์ ํ์ ํ์ จ๊ตฐ์. ๐
- 0
- 2
- 32
Q&A
4์ฃผ 1ํ์ฐจ ๊ณผ์
is_host ๋ ํธ์คํธ ์๊ฒฉ ๊ฒ์ฆ์ฉ, calendar ๊ด๊ณ ๋ฐ์ดํฐ๋ ํธ์คํธ ์ค๋น์ ๊ฐ์ ์ํ ๊ฒ์ฆ์ฉ์ผ๋ก ์ฐ์๋ ๊ฑฐ๊ตฐ์. ๐
- 0
- 2
- 27
Q&A
4์ฃผ 3ํ์ฐจ ๊ณผ์
๊ธฐ์ ์๊ตฌ์ฌํญ์ ์ ๊ธฐ์ ํ์ จ์ด์. ์ด ์๊ตฌ์ฌํญ์ PostgreSQL๋ก ๊ตฌํํ๋ค๋ฉด ์กฐ๊ฑด๋ถ ๊ณ ์ณ๊ฐ ์ ์ฝ์ผ๋ก ์ถฉ์กฑํ ์ ์์ต๋๋ค. ๐ ์กฐ๊ฑด๋ถ ๊ณ ์ณ๊ฐ ์ ์ฝ์ ์ง์ํ์ง ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์ : SQLite ๋ฑ)๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์์ ๊ฒ์ฌํ๊ฑฐ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ณ ์ณ๊ฐ ์ ์ฝ์ ํ์ฉํ ์ ์์ง์. ์๋ฅผ ๋ค์ด, ๋ถํน์ ์ด๋ ฅ(revision)์ ์ ์ฅํ๊ณ , ๊ณ ์ณ๊ฐ ์ ์ฝ์ when, timeslot_id, revision์ผ๋ก ๋ฌถ์ด์ ์ค์ ํ ํ, ์์ฝ ์ํ์ธ ๋ถํน์ revision์ ๊ณ ์ ํ๋ค๋ฉด SQLite์์๋ ๊ณ ์ณ๊ฐ ์ ์ฝ์ผ๋ก ๋ฌด๊ฒฐ์ฑ์ ์ถฉ์กฑํ ์ ์์ง์.
- 0
- 2
- 40




