์๋ ํ์ธ์. ๋ถ ๊ฐ๋ฐ์ ์ ๋๋ค. ๋น์ ๊ณต์์ธ ์ ๊ฐ ํ์๋ก๋ ๋ฒ์จ 2๋ ์ผ ๋, ์ด์งํ ํ์ฌ์์ ๋ํ ํ๊ณ ๋ก ์ ๋๋ค.
์ด์ง
- ๋๋ ๋น์ ๊ณต์์ด๋ฉฐ, ๊ฐ๋ฐ ์ ๋ฌด๋ฅผ ์์ ํ ์ง ์ฝ 1๋ 6๊ฐ์๋ง์ ์ด์ด ์ข๊ฒ ์ฒซ ์ด์ง์ ํ๊ฒ ๋์๋ค.
- ์๋กญ๊ฒ ์ด์ง ํ ํ์ฌ๋ Sass ํํ์ EndToEnd ์ ์ ์ ๋น๋์ค ํ๋ซํผ ๊ณผ VOD์ Live ํ๋ซํผ ๊ฐ์ง๊ณ ์๋ ํ์ฌ์ด๋ค. ์ ์ง์ฅ๊ณผ ๋น๊ต๊ฐ ์๋ 100์ฌ๋ช ์ ์ง์๋ค์ด ์์ผ๋ฉฐ, ํด์ธ ๋ฒ์ธ๋ ๊ฐ์ง๊ณ ์๋ ์คํํธ์ ์ผ๋ก ์ด์ง์ ํ์๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐํ, Product Leader(๊ธฐํ, ๋์์ด๋), ์ฌ์ ํ, ๋ง์ผํ ํ, QAํ ๋ฑ ๋ค์ํ ํ์ด ์์ผ๋ฉด์ ๋๊ฒ ์ฒด๊ณ์ ์ผ๋ก ์๊ตฌ์ฌํญ๋ถํฐ ๊ฐ๋ฐ ๊ทธ๋ฆฌ๊ณ Product Release๊น์ง ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฌด ํ๋ก์ธ์ค๊ฐ ๋๋์ด์ง ํ์ฌ์ด๋ค.
์ ๋ฌด
- ๋๋ ์ฌ๊ธฐ์ VOD ๊ด๋ฆฌํ๋ BackEnd ๊ฐ๋ฐ์๋ก ์ด์งํ์ผ๋ฉฐ, ํ์ฌ์ ๊ฐ์ฅ ํฐ ํ๋ก์ ํธ ๋ด๋น์์ด๋ค. VOD ๊ด๋ฆฌํ๋ ๊ฐ๋ฐ์๋ ์ด 3๋ช ์ด์ ์ด์ฌํ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์๋ฅผ ํ๊ณ ์๋ค.
- ์ฃผ ์ธ์ด๋ก๋ PHP ์ด๋ฉฐ ํ๋ ์์ํฌ๋ก๋ Laravel, CodeIgniter๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
- docker, kubernates, ArgoCD ๋ฑ ๋ค์ํ CI-CD๋ก๋ ํํ์ด ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌ๋ ์งํํ๊ณ ์๋ค.
- Database๋ MySQL, Redis ๋ฑ ๋ค์ํ๊ฒ ์ฌ์ฉ ์ค์ ์๋ค.
์์ต๊ณผ์ ํ๊ณ ๋ก
- 12์์์ ์ฝ 3๊ฐ์๋์ ์ต์ํ์ง ์์ PHP๋ฅผ ํ์ฉํ์ฌ Laravel ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ์ฌ API ๊ฐ๋ฐ์ ๋ํ ์์ต๊ณผ์ ์ ๋ํ ํ๊ณ ๋ก์ด๋ค.
์ฝ 1๋ 6๊ฐ์ ๋์์ ์ฃผ์ธ์ด๋ก ์ฌ์ฉํ๋ Java๊ฐ ์๋ Php์ธ์ด๊ฐ ํ์ฌ์ ์ฃผ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ์ด์ ํด๋นํ๋ ๊ณผ์ ๋ฅผ ๋ถ์ฌ๋ฅผ ๋ฐ์์ผ๋ฉฐ, ์ฝ 3๊ฐ์ ๋์ Php ํ๋ ์์ํฌ์ธ Laravel ๋ฅผ ์ฌ์ฉํ์ฌ Blog ๊ด๋ จ API๋ฅผ ๊ฐ๋ฐ์ ํ์๋ค.
์ฒซ๋ฒ์งธ ๋ฌ์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๋ฐ ํ์๊ฐ์ ์ ๋ํ ํ๋ก์ธ์ค๋ฅผ ์ ์ ํ์๋ค. ์๋ํ๋ฉด Laravel ํ๋ ์์ํฌ์์๋ ๊ธฐ์กด Spring Boot๋ณด๋ค ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์์ ํด์ฃผ๊ธฐ ๋๋ฌธ์, ๊ทธ์ ํด๋น ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉ์ ํ๋ค๋ณด๋ ๋ง์ ๊ธฐ๊ฐ๋ค ๊ฑธ๋ ธ๋ค.
1์ฃผ์ฐจ์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํ์ ๋ํ์ฌ ๋ง์ ์๊ฐ์ ์๋นํด์ผํ๋ค. ์๋ํ๋ฉด ๋ผ๋ผ๋ฒจ์์ ์ง์ํ๋ Autnetication์ด๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ดํด๋๊ฐ ์ ํ ์์ด ๊ณต์ ๋ฌธ์๋ฅผ ์ฐพ์ผ๋ฉด์ ์ปค์คํ ์ค๋ฝ๊ฒ ๊ฐ๋ฐ์ด ์งํํ๋๋ผ ๋ฆ์ด์ก๊ธฐ ๋๋ฌธ์ด๋ค.
- Laravel์ ๊ธฐ๋ณธ ํจ์ค์๋ ํ์์ผ๋ก๋ Bcrypt๋ฅผ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ค์ DB์ ์ ์ฅ ๋ ๊ฐ๊ณผ ๊ฐ๋ฐ ์์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ตฌ๋ถํ๋ MD5 ๋ก์งํ๊ณ ๋ฐ์ดํฐ ๋งค์นญ์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ทธ ๋ถ๋ถ์ ๋ํ์ฌ ์ปค์คํ ์ด ํ์ํ์๋ค.
- ๋ก๊ทธ์ธ ์ JWT ํ ํฐ์ด ๋ฐํ์ ํด์ผํ๋๋ฐ, Laravel๋ ์ต๊ทผ 8๋ฒ์ ๋ถํฐ Sanctum์ด๋ผ๋ ๋๊ตฌ๋ฅผ ์ง์ํ๋ฉด์ Laravel ๊ตฌ๋ฒ์ ์์ ์ธ๋ถ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ jwt-auth๋ฅผ ์ฌ์ฉํด์ผ์ง๋ง, jwt ํ ํฐ์ ๋ฐํ ํ ์ ์์๋ค.
2์ฃผ์ฐจ์์๋ถํฐ๋ ๋ณธ๊ฒฉ์ ์ผ๋ก Laravel๋ง์ Auth, Middelware, Route ๋ฑ์ ํ์ฌ 1์ฃผ์ฐจ ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋ง๊ณผ ํจ๊ป API๋ฅผ ๊ฐ๋ฐ ์งํ ํ์๋ค.
3์ฃผ์ฐจ์๋ ๊ธฐ์กด ๊ฐ๋ฐ ์งํํ์๋ ์ฝ๋ ์ปจ๋ฒ ์ด์ ์ด ์งํ ํ์๋ค. 1์ฃผ์ฐจ์์ ๊ฐ๋ฐ ํ์๋ ๋ก๊ทธ์ธ ์ปค์คํ ๋ถ๋ถ์ ๋ค์ ์ฌ์์ ํ๋๋ก ์ปจํ์ ๋ฐ์๊ธฐ ๋๋ฌธ์ ๊ทธ์ ๋ํ์ฌ ๊ฐ๋ฐ ๋ฐ ์ปจ๋ฒ ์ด์ ์ด ์งํ ๋์๋ค.
์ด๋ ๊ฒ ์์ต๊ณผ์ ๋ฅผ ํ ๋ฌ์ ํ๋ค๋ณด๋ ๋ง์ ์๊ฐ์ด ๋ค์๋๊ฑธ๋ก ๊ธฐ์ตํ๋ค. ์๋ ์ธ์ด์ ์ฅ๋ฒฝ์ ๋ํ ๊ณ ๋ฏผ์ด ๋งก์๋ ์ฌ๋ ์ค์ ํ๋๋ก์จ, ์ธ์ด๋ฅผ ๊ทธ๋ฅ ์ผ๋ฐ์ ์ ๋ฐฐ์ฐ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐ์ด ๋ค์๋ ํ๋ฌ์ด์๋ค. ๊ฐ์ธ์ ์ผ๋ก ๊ผญ ํ๋์ ์ธ์ด๋ง ํ์ ๋ง๋ฅ ๋ฐ์ฌ๊ฐ ๋ ๊บผ ์๋๋ฉด ์ฌ๋ฌ๊ฐ์ง๋ฅผ ์ธ์ด๋ฅผ ์๋ฉด์ ์ด๋ป๊ฒ ํ์ฌ ๊ฐ๋ฐ์ ํ ๊ฒ์ธ์ง์ ๋ํ์ฌ ๋ง์ ๊ณ ๋ฏผ๊ณผ ์ด๋ป๊ฒ ์ฝ๋๋ฅผ ์ง์ผ์ง Bug๋ ์๋ํ๋ฉด์, ๋ค๋ฅธ 3์๊ฐ ๋ณผ ๋ ์ฃผ์์์ด๋ ๊ทธ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ดํด ํ ์ ์์๊น์ ๋ํ ๊ณ ๋ฏผ์ ํ๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ๋๊ฒ ๊ฐ์ฅ ํฐ ๊ณ ๋ฏผ์ด๋ผ๊ณ ์๊ฐ์ด ๋ค์๋ค
'๐ง๐ปโ๐ป Re:Mind > ๐ฅ ํ๊ณ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๊ณ ] ๋น์ ๊ณต์์ ์ข์ถฉ์ฐ๋ ๋ถ์ ๊ฐ๋ฐ์ ๋์ ๊ธฐ (0) | 2024.01.18 |
---|
์๋ ํ์ธ์. ๋ถ ๊ฐ๋ฐ์ ์ ๋๋ค. ๋น์ ๊ณต์์ธ ์ ๊ฐ ํ์๋ก๋ ๋ฒ์จ 2๋ ์ผ ๋, ์ด์งํ ํ์ฌ์์ ๋ํ ํ๊ณ ๋ก ์ ๋๋ค.
์ด์ง
- ๋๋ ๋น์ ๊ณต์์ด๋ฉฐ, ๊ฐ๋ฐ ์ ๋ฌด๋ฅผ ์์ ํ ์ง ์ฝ 1๋ 6๊ฐ์๋ง์ ์ด์ด ์ข๊ฒ ์ฒซ ์ด์ง์ ํ๊ฒ ๋์๋ค.
- ์๋กญ๊ฒ ์ด์ง ํ ํ์ฌ๋ Sass ํํ์ EndToEnd ์ ์ ์ ๋น๋์ค ํ๋ซํผ ๊ณผ VOD์ Live ํ๋ซํผ ๊ฐ์ง๊ณ ์๋ ํ์ฌ์ด๋ค. ์ ์ง์ฅ๊ณผ ๋น๊ต๊ฐ ์๋ 100์ฌ๋ช ์ ์ง์๋ค์ด ์์ผ๋ฉฐ, ํด์ธ ๋ฒ์ธ๋ ๊ฐ์ง๊ณ ์๋ ์คํํธ์ ์ผ๋ก ์ด์ง์ ํ์๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐํ, Product Leader(๊ธฐํ, ๋์์ด๋), ์ฌ์ ํ, ๋ง์ผํ ํ, QAํ ๋ฑ ๋ค์ํ ํ์ด ์์ผ๋ฉด์ ๋๊ฒ ์ฒด๊ณ์ ์ผ๋ก ์๊ตฌ์ฌํญ๋ถํฐ ๊ฐ๋ฐ ๊ทธ๋ฆฌ๊ณ Product Release๊น์ง ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฌด ํ๋ก์ธ์ค๊ฐ ๋๋์ด์ง ํ์ฌ์ด๋ค.
์ ๋ฌด
- ๋๋ ์ฌ๊ธฐ์ VOD ๊ด๋ฆฌํ๋ BackEnd ๊ฐ๋ฐ์๋ก ์ด์งํ์ผ๋ฉฐ, ํ์ฌ์ ๊ฐ์ฅ ํฐ ํ๋ก์ ํธ ๋ด๋น์์ด๋ค. VOD ๊ด๋ฆฌํ๋ ๊ฐ๋ฐ์๋ ์ด 3๋ช ์ด์ ์ด์ฌํ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์๋ฅผ ํ๊ณ ์๋ค.
- ์ฃผ ์ธ์ด๋ก๋ PHP ์ด๋ฉฐ ํ๋ ์์ํฌ๋ก๋ Laravel, CodeIgniter๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
- docker, kubernates, ArgoCD ๋ฑ ๋ค์ํ CI-CD๋ก๋ ํํ์ด ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌ๋ ์งํํ๊ณ ์๋ค.
- Database๋ MySQL, Redis ๋ฑ ๋ค์ํ๊ฒ ์ฌ์ฉ ์ค์ ์๋ค.
์์ต๊ณผ์ ํ๊ณ ๋ก
- 12์์์ ์ฝ 3๊ฐ์๋์ ์ต์ํ์ง ์์ PHP๋ฅผ ํ์ฉํ์ฌ Laravel ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ์ฌ API ๊ฐ๋ฐ์ ๋ํ ์์ต๊ณผ์ ์ ๋ํ ํ๊ณ ๋ก์ด๋ค.
์ฝ 1๋ 6๊ฐ์ ๋์์ ์ฃผ์ธ์ด๋ก ์ฌ์ฉํ๋ Java๊ฐ ์๋ Php์ธ์ด๊ฐ ํ์ฌ์ ์ฃผ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ์ด์ ํด๋นํ๋ ๊ณผ์ ๋ฅผ ๋ถ์ฌ๋ฅผ ๋ฐ์์ผ๋ฉฐ, ์ฝ 3๊ฐ์ ๋์ Php ํ๋ ์์ํฌ์ธ Laravel ๋ฅผ ์ฌ์ฉํ์ฌ Blog ๊ด๋ จ API๋ฅผ ๊ฐ๋ฐ์ ํ์๋ค.
์ฒซ๋ฒ์งธ ๋ฌ์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๋ฐ ํ์๊ฐ์ ์ ๋ํ ํ๋ก์ธ์ค๋ฅผ ์ ์ ํ์๋ค. ์๋ํ๋ฉด Laravel ํ๋ ์์ํฌ์์๋ ๊ธฐ์กด Spring Boot๋ณด๋ค ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์์ ํด์ฃผ๊ธฐ ๋๋ฌธ์, ๊ทธ์ ํด๋น ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉ์ ํ๋ค๋ณด๋ ๋ง์ ๊ธฐ๊ฐ๋ค ๊ฑธ๋ ธ๋ค.
1์ฃผ์ฐจ์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํ์ ๋ํ์ฌ ๋ง์ ์๊ฐ์ ์๋นํด์ผํ๋ค. ์๋ํ๋ฉด ๋ผ๋ผ๋ฒจ์์ ์ง์ํ๋ Autnetication์ด๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ดํด๋๊ฐ ์ ํ ์์ด ๊ณต์ ๋ฌธ์๋ฅผ ์ฐพ์ผ๋ฉด์ ์ปค์คํ ์ค๋ฝ๊ฒ ๊ฐ๋ฐ์ด ์งํํ๋๋ผ ๋ฆ์ด์ก๊ธฐ ๋๋ฌธ์ด๋ค.
- Laravel์ ๊ธฐ๋ณธ ํจ์ค์๋ ํ์์ผ๋ก๋ Bcrypt๋ฅผ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ค์ DB์ ์ ์ฅ ๋ ๊ฐ๊ณผ ๊ฐ๋ฐ ์์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ตฌ๋ถํ๋ MD5 ๋ก์งํ๊ณ ๋ฐ์ดํฐ ๋งค์นญ์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ทธ ๋ถ๋ถ์ ๋ํ์ฌ ์ปค์คํ ์ด ํ์ํ์๋ค.
- ๋ก๊ทธ์ธ ์ JWT ํ ํฐ์ด ๋ฐํ์ ํด์ผํ๋๋ฐ, Laravel๋ ์ต๊ทผ 8๋ฒ์ ๋ถํฐ Sanctum์ด๋ผ๋ ๋๊ตฌ๋ฅผ ์ง์ํ๋ฉด์ Laravel ๊ตฌ๋ฒ์ ์์ ์ธ๋ถ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ jwt-auth๋ฅผ ์ฌ์ฉํด์ผ์ง๋ง, jwt ํ ํฐ์ ๋ฐํ ํ ์ ์์๋ค.
2์ฃผ์ฐจ์์๋ถํฐ๋ ๋ณธ๊ฒฉ์ ์ผ๋ก Laravel๋ง์ Auth, Middelware, Route ๋ฑ์ ํ์ฌ 1์ฃผ์ฐจ ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋ง๊ณผ ํจ๊ป API๋ฅผ ๊ฐ๋ฐ ์งํ ํ์๋ค.
3์ฃผ์ฐจ์๋ ๊ธฐ์กด ๊ฐ๋ฐ ์งํํ์๋ ์ฝ๋ ์ปจ๋ฒ ์ด์ ์ด ์งํ ํ์๋ค. 1์ฃผ์ฐจ์์ ๊ฐ๋ฐ ํ์๋ ๋ก๊ทธ์ธ ์ปค์คํ ๋ถ๋ถ์ ๋ค์ ์ฌ์์ ํ๋๋ก ์ปจํ์ ๋ฐ์๊ธฐ ๋๋ฌธ์ ๊ทธ์ ๋ํ์ฌ ๊ฐ๋ฐ ๋ฐ ์ปจ๋ฒ ์ด์ ์ด ์งํ ๋์๋ค.
์ด๋ ๊ฒ ์์ต๊ณผ์ ๋ฅผ ํ ๋ฌ์ ํ๋ค๋ณด๋ ๋ง์ ์๊ฐ์ด ๋ค์๋๊ฑธ๋ก ๊ธฐ์ตํ๋ค. ์๋ ์ธ์ด์ ์ฅ๋ฒฝ์ ๋ํ ๊ณ ๋ฏผ์ด ๋งก์๋ ์ฌ๋ ์ค์ ํ๋๋ก์จ, ์ธ์ด๋ฅผ ๊ทธ๋ฅ ์ผ๋ฐ์ ์ ๋ฐฐ์ฐ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐ์ด ๋ค์๋ ํ๋ฌ์ด์๋ค. ๊ฐ์ธ์ ์ผ๋ก ๊ผญ ํ๋์ ์ธ์ด๋ง ํ์ ๋ง๋ฅ ๋ฐ์ฌ๊ฐ ๋ ๊บผ ์๋๋ฉด ์ฌ๋ฌ๊ฐ์ง๋ฅผ ์ธ์ด๋ฅผ ์๋ฉด์ ์ด๋ป๊ฒ ํ์ฌ ๊ฐ๋ฐ์ ํ ๊ฒ์ธ์ง์ ๋ํ์ฌ ๋ง์ ๊ณ ๋ฏผ๊ณผ ์ด๋ป๊ฒ ์ฝ๋๋ฅผ ์ง์ผ์ง Bug๋ ์๋ํ๋ฉด์, ๋ค๋ฅธ 3์๊ฐ ๋ณผ ๋ ์ฃผ์์์ด๋ ๊ทธ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ดํด ํ ์ ์์๊น์ ๋ํ ๊ณ ๋ฏผ์ ํ๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ๋๊ฒ ๊ฐ์ฅ ํฐ ๊ณ ๋ฏผ์ด๋ผ๊ณ ์๊ฐ์ด ๋ค์๋ค
'๐ง๐ปโ๐ป Re:Mind > ๐ฅ ํ๊ณ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๊ณ ] ๋น์ ๊ณต์์ ์ข์ถฉ์ฐ๋ ๋ถ์ ๊ฐ๋ฐ์ ๋์ ๊ธฐ (0) | 2024.01.18 |
---|