ํ์ฌ์์น์ ์์์ข ๋ฅ ๊ทธ๋ฆฌ๊ณ +a ๋ก ์ต์ ์ ์์์ ์ ์ฐพ์๋ณด์
์ฒซ ์์ฑ, ์ต๋ ์ผ์ฃผ์ผ๊ฐ ์์ด๋์ด๋ง ๋ด๋ณผ ๊ฒ
- ๋๋ ํด๊ทผํ๊ณ ๊ทธ๋ถ๊ณผ ํจ๊ป ๋ฌด์์ ๋จน์ผ๋ฉด ์ข์์ง ์๊ฐ์ด ๋์ง ์๋๋ค.
- ๋ฏธ๋ฆฌ ์๊ฐ์ํ๊ณ ๊ณํ์๋ค๊ณ ํผ์ด ๋๋ค.
- ๊ทธ๋๋ ๋ ์ ๋ฌด์๊ฐ์ ์๊ฐํ ์ ์๋ค! ๊ฐ๋ฐ์ ์ด์ฌํ!
- ์ง๊ธ๋ ํผ๋๊ณ ๋จผ๊ธธ ๋์์ ๊ณต๋ถํ ๊ฒธ ํ๋ฒ ๋ง๋ค์ด๋ณธ๋ค.
- ๋ชจ๋ ์๋ก ์ ํ๋ ๊ธฐ์ ์ด๊ธฐ ๋๋ฌธ์ Study Log ์์ฑํ๊ธฐ
- ๊พธ์คํ๊ฒ + ๋ฐ๋๋ผ์ธ ์ก๊ธฐ
- ๋ฒ์จ ์ค๋๋ง์ ๋ค์ด์ด. ๊ทธ๋์ ๊พธ์คํจ์ ์ํด ๋ ์ง๋ ์๊ฐ์ ์ ํ ํ์๊ฐ ์์.
- ์งํํ๋ค๋ณด๋ ๊ณต๋ถ ๋ชฉ์ ์ผ๋ก ์์ํ ํ๋ก์ ํธ๋ผ ๋ค๋ฅธ ์ฌ์ดํธ์ API๋ฅผ ์กฐํํ๊ฑฐ๋ ํฌ๋กค๋งํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ ํ์๊ฐ ์์.
- ์๋น์ค ๋ชฉ์ ์ด ์๋๋ฐ ์ด๋ ์๊ฐ ๊ทธ๋ ๊ฒ ์งํํ๊ณ ์์์.
- ๋ชจ๋ ์ง์ ๊ตฌํํด๋ณด๋ฉฐ ๋ผ๋ผ๋ฒจ๊ณผ ์ข์ ๋์์ธ ํจํด์ ์ตํ๋ ๊ฒ์ด ๋ชฉ์ .
- ์ ์๋. ์๋น์ค ๊ฐ๋ฅํ๋๋ก ํด์ผํ๋ค๋ ์๊ฐ.
-
JWT Auth
-
์์์
- CRUD
- ๊ฒ์ ๋ฐ ํํฐ๋ง
-
์์์ ์ข์์
- ๋ฆฌ์คํธ
- ์ถ๊ฐ, ์ญ์
-
์ถ์ฒ ๊ธฐ๋ฅ
- ๋ ์จ, ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ
-
์ ์ ๋ณ ๊ธฐ๋ฅ ์ถ๊ฐ
- ์ฌ์ฅ๋
- ์จ์ดํ ์ธ์, ์์๋๊ธฐ์๊ฐ, ์ฌ๋ฃ์์ง ๋ฑ ํด๋ฌด ๋ฑ๋ก
- ํ์
- ํ์ ๊ณผ ๊ฐ๋จํ ๋ฆฌ๋ทฐ
- ์ฌ์ฅ๋
-
๊ฒ์ ์์
docker-compose up -d --build
composer install
cp .env.example .env
php artisan key:generate
-
Repository pattern
-
๋ชฉ์
domain
๊ณผpersistent layer
์ ๋ถ๋ฆฌ- ์ฆ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ์ผ ์์คํ , ์ธ๋ถ ์๋น์ค ๋ฑ์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ก์ธ์ค ํ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณต
- ๋ชจ๋ธ๊ณผ ์ปจํธ๋กค๋ฌ ์ฌ์ด์ ๋ธ๋ฆฌ์ง๋ฅผ ๋ง๋ค๊ณ , ๋ชจ๋ธ์ด ์ธ๋ถ ๋ฐ์ดํฐ์ ํต์ ํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ฑ ์์ ์์ค๋ค
-
์ฅ์
- ๋ฐ์ดํฐ ์์ธ์ค ๋ก์ง์ ์ค์ ์ง์คํ๋ก ์ฝ๋ ์ ์ง ๊ด๋ฆฌ ์ฉ์ด
- ์ฝ๋ ์ค๋ณต ๊ฐ์
- ๋น์ฆ๋์ค ๋ฐ ๋ฐ์ดํฐ ์ก์ธ์ค ๋ก์ง ๋ณ๋ ํ ์คํธ
- ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ์ฑ ๊ฐ์
-
์ฌ์ฉ ๋ฐฉ๋ฒ
- RepositoryInterface ์์ ๋ฉ์๋ ์ ์
- Repository ์์ Eloquent ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๊ตฌํ
- Eloquent๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด ๊ฐ์ ์์น์ ๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ถ๊ฐํ๊ณ ๊ตฌํ๋ถ๋ง ์๋ก ์์ฑ
- Ex) App\Repository\Mongo\UserRepository
- Controller ๋ Repository์ ๊ตฌํ์ ์ฌ์ฉ
-
๊ท์น
- 1 Repository : 1 Interface
new
ํค์๋ ๋์ ํญ์Dependency Injection
์ ์ฌ์ฉํ๋ผ. ํ์ ์ ๊ตฌํ์ด ์๋์ธํฐํ์ด์ค
๋ฅผ ์ฃผ์ ํ๋ผ. ๋จ์ํ ์คํธ ์์ฑ์ด ์ฌ์์ง๋ค.- ๋ฉ์๋๊ฐ ๋ง์
Repository
์์ ์ฌ์ฉ๋ ๊ฒฝ์ฐBaseRepository
์ ๊ตฌํํ๋ผ. - ์์ฑ์์ ๋ชจ๋ธ์ ์ฃผ์
ํ ๋
Static Class
๋ฅผ ์ฌ์ฉํ์ง ๋ง๋ผ. ๊ทธ๋ฌ๋ฉด ๋จ์ํ ์คํธ์์ ์ฝ๊ฒmock
ํ ์ ์๋ค.
-
๊ฒฐ๋ก
Repository Class
๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ณณ์์๋Eloquent
๋ฅผ ์ฌ์ฉํ๋ฉด ์๋๋ค.- Laravel์์
Eloquent
๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์์ง์ผ๋ก ๋ฐ๊ฟ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ๋ค๋ฉด ๋ง์ด๋ค. - ํด๋น ํฌ์คํธ์ ๋๊ธ์์๋ ์ ์ ์๋ฏ์ด ๊ฒฐ๊ตญ ๋ค๋ฅธ ๊ณณ์์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต๋ค.
- ๊ฒฐ๊ตญ ์ด ๋ฐฉ์์ ๋ชฉ์ ์
๋ผ๋ผ๋ฒจ
์์ ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก์ถฉ๋ถํ ๋์
ํ์ง์Repository Pattern
์ ๊ตฌํํ๋๋ก ํ ๊ฒ์ด๋ค.
- Laravel์์
-
์ต์ข ๊ฐ๋ฐ ๊ท์น
- ๋ฐ์ดํฐ ์์ง์ ๋ฐ๊พผ๋ค๋ ์๊ฐ์ ํ์ง ์๋๋ก ํ๋ค.
- ๋ฐ์ดํฐ ์ก์ธ์ค๋ ์ต๋ํ
Repository
๋ฅผ ํตํด์ ์ ๊ทผํ๊ณ , ๊ทธ๋ก ์ธํด ๋ก์ง์ ์ค๋ณต์ ๊ฑฐ ๋ฐ ์ ์ง๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ค. - ๋ชจ๋ธ์
Repository Class
์๋ง ์ฃผ์ ํ์ฌ ์ฌ์ฉํ๋ค.
-
-
๊ทธ๋ ๋ค๋ฉด ๋น์ฆ๋์ค ๋ก์ง ์์ฑ์ ์ด๋์์ ํ ๊ฒ์ธ๊ฐ?
Service
๋ ์ด์ด๋ฅผ ์ถ๊ฐํ๋ค.Controller
->Repository
๋๋Controller
->Service
->Repository
๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ค.