๐คฏ ํํธ 2: ํผ๋์์ ์ ์ ํด๋ฆญ์ผ๋ก: Angular๋ฅผ ํ์ค ์ธ๊ณ์ ์ฐ๊ฒฐํ๊ธฐ (๊ทธ๋ฆฌ๊ณ ์ด์๋จ๊ธฐ)
Source: Dev.to
๋ฒ์ญํ ํ ์คํธ๋ฅผ ์ ๊ณตํด ์ฃผ์๋ฉด ํ๊ตญ์ด๋ก ๋ฒ์ญํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์๊ฐ
๊ณ์ํด์โฆ ์ด์ ์ง์ง ํผ๋์ด ์์๋์ด์ ๐
์ด์ ํฌ์คํธ์์๋ ๋ก๊ทธ์ธ๊ณผ ํ์๊ฐ์
์ด ๊ฐ๋ฅํ ์จ๋ผ์ธ ํ๋ก์ ํธ๋ฅผ Render์ ๋ฐฑ์๋, Netlify์ ํ๋ฐํธ์๋, Railway์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋๊ณ ์ด์ํ์ด์. ๋ ํ๋ณตํด. ๊ธฐ๋ป. ์๋ํ๋ฉด ๋ฐ๋ก ์ฌ๊ธฐ์ ์ง์ง ์ข์ ๋ถ๋ถ์ด ์์๋๊ฑฐ๋ ์: ์ฑ์ด โ์์ ํ๋ฉดโ์ ๋จธ๋ฌด๋ฅด์ง ์๊ณ ์ค์ ๋ฐ์ดํฐ์ ํจ๊ป ์ด์๊ฐ๊ธฐ ์์ํ๋ ๊ฑฐ์ฃ . โ๋ชจ๋ ๋ชฉ(mock) ์ํโ์์ โ์ด์ ์ง์ง๋คโ๋ก.
Mock ๋ฐ์ดํฐ ๋ง๋ค๊ธฐ
๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ค, ๋๋ ํต์ฌ์ธ ์์ ์ ํ์ต๋๋ค:
- ๐ Mock ๋ฐ์ดํฐ๋ฅผ ์์ฑํด์ ์ฑ์ ์นด๋๋ค์ ํ์ํ ์ ์๊ฒ ํ์ต๋๋ค.
์? ์ฌ๊ธฐ์ @for, @if์ @switch๋ฅผ ๋ง์๊ป ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค. ์ฒ์์ผ๋ก Angular๊ฐ ๋จ์ํ ์ด์ํ ์ด๋ก ์ด ์๋๋ผ ์๊ฐ์ ์ผ๋ก ์๋ฏธ๊ฐ ์๊ธฐ๊ธฐ ์์ํ๋ค๋ ๋๋์ ๋ฐ์์ต๋๋ค. ํ์ง๋ง ๋ฌผ๋ก โฆ ๊ทธ๊ฑด ๊ฑฐ์ง์ด์์ต๋๋ค.
Angular๋ฅผ ์ค์ ๋ฐฑ์๋์ ์ฐ๊ฒฐํ๊ธฐ
๋ค์ ๋จ๊ณ๋ ๋ช ํํ์ต๋๋ค:
- ๐ ๋ชจํฌ(mock) ์ฌ์ฉ ์ค๋จ
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์๋ถํฐ ๋ด ์ถ์ด ๋ณต์กํด์ก์ต๋๋ค. ์์ ์์ ์ ๋๋ก ์ค๋ช ํ๊ธฐ ์ ์ ์๋ํด๋ดค์ด์(์ ํ์ ์ธ ๋ด๊ฐ ์์ ๋๊ฐ๋ ๋ชจ์ต ๐ ).
- ์๋น์ค๋ ์ด๋์ ๋๋๊ฐ
- ํ๋ก๋ฐ์ด๋๋ ์ด๋ป๊ฒ ์ค์ ํ๋๊ฐ
- environments๋ ์ด๋ค ์ญํ ์ ํ๋๊ฐ
- ์ ์ด๋ค ๊ฒ์ ์ปดํฌ๋ํธ์ ๋๊ณ , ์ด๋ค ๊ฒ์ ๋์ง ์๋๊ฐ
๊ฒฐ๊ณผ
์น๊ตฌ์ธ ๊ทธ๋ ๊ณ ๋ฆฌ์ค(ChatGPT)์ ์ฌ๋ฌ ์ฐจ๋ก ์ธ์ด ๋คโฆ ๋์์ ํ์ง๋ง ์์ ํ ์ดํดํ์ง ๋ชปํ์ด์.
๋ช ์ฐจ์๊ฐ ์ง๋ ๋ค, ๊ต์๋์ด ์ ํํ ์ค๋ช ํด ์ฃผ์ จ์ต๋๋ค:
- ์๋น์ค๋ ์ด๋ป๊ฒ ์ฐ๊ฒฐํ๋๊ฐ
- ๋ชจํฌ๋ฅผ ์ด๋ป๊ฒ ๊ต์ฒดํ๋๊ฐ
- Angular ํ๋ก์ ํธ๊ฐ ๊ฐ์ ธ์ผ ํ ํ์ผ์ ๋ฌด์์ธ๊ฐ
- ๊ฐ๊ฐ์ ์ฉ๋๋ ๋ฌด์์ธ๊ฐ
๊ทธ๋ ๋๋ โAHHHH ์ด์ ์๊ฒ ์ด.โ ๋ผ๊ณ ์ธ์ณค์ต๋๋ค. ์ฝ๋๋ฅผ ๋ค์ ๊ฒํ ํ์ฃ โฆ ์ง์ ํ ์คํธํด๋ดค๊ธฐ ๋๋ฌธ์. ๋น๋ก์ ๋ด๊ฐ ๋ฌด์์ ํ๊ณ ์์๋์ง ์ง์ง๋ก ์ดํดํ์ต๋๋ค. ๊ทธ ์ฐจ์ด๋โฆ ์์ฒญ๋ฌ์ด์.
Formularios reactivos
๋ฆฌ์กํฐ๋ธ ํผ์์๋ ๊ฐ์ ์ผ์ด ์ผ์ด๋ฌ์ด์. ์ด๋ฏธ AI์ ๋์์ผ๋ก ๋ง๋ ๊ฒ์ด ์์์ต๋๋ค:
FormGroupReactiveFormsModule- Validaciones
- Estados como
touched,dirty,valid,invalid
ํ์ง๋ง ๋ง๋ฒ ์ฃผ๋ฌธ์ ๋ชจ๋ฅธ ์ฑ ๋ง๋ฒ์ ์ฐ๋ ๊ฒ๊ณผ ๊ฐ์๊ณ , ๊ต์๋์ด ์ค๋ช ํด ์ฃผ์ค ๋๊น์ง๋ ๊ทธ๋ ์์ต๋๋ค.
๐ง ๋ ํด๋ฆญ
๊ทธ๋์ ๋๋ ์ด ์ ์ ๊ฐ์กฐํ๊ณ ์ถ์ด์: AI๋ ์ ๋ง ํฐ ๋์์ด ๋์ง๋ง, ๊ทธ๊ฒ์ด ์๋ํ๋ค๋ ๊ฒ๊ณผ๋ ๋ณ๊ฐ์ ๋๋ค. ๋ฐฐ์ด ๊ฒ์ ์์ ์ ๋๊ณ ์ดํดํ์ฌ ๋จ์ํํ์ธ์. Keep it simple (ํ์ง๋ง ์ ๋ ์ฒ์์ ๊ทธ๊ฑธ ๋ฌด์ํ์ด์ ๐ ).
์ผ๋ฐ์ ์ธ ์ค๋ฅ
๋ด ํ๋ก์ ํธ๋ ์ฌ๋ฌ ๊ฐ๋ ์ ์์ ๋๊ฐ๋ฉด์ ๊ณ ์ ์ ์ธ ์ค์๋ฅผ ์ ์ง๋ ๊ธฐ ๋๋ฌธ์ ๋ณต์กํด์ก์ด์:
- ๐ ์์๋ถํฐ ์์ด๋์ด๋ฅผ 100โฏ% ๋ช ํํ ํ์ง ์์ ๊ฒ.
ํ์ด์ง, ๋ถ๋ชจ/์์ ์ปดํฌ๋ํธ, ๋ผ์ฐํธ ๋ฐ ์๋ก ์ค๊ฐ๋ ๋ฐ์ดํฐ ์ฌ์ด์์โฆ ์ ๋ง ์ฝ๊ฒ ์๋ง์ด ๋ ์ ์์ต๋๋ค.
๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋๋ฌด ์ ๊ทํ๋์ด ์์๋ค. ๋ชจ๋ ๊ฒ์ด ์๋ก ์์กดํ๋ค. ๋ฐฑ์๋์์๋ โ์์๊ฒโ ๋ณด์์ง๋ง, ๋ฌธ์ ๊ฐ ๋์๋ค.
์๋ฐฉํฅ ๋ฐ์ธ๋ฉ๊ณผ ๊ทธ ๋๋ผ์ด ์๊ฐ
์์ ์์ ์๋ฐฉํฅ ๋ฐ์ธ๋ฉ์ ๋ฐฐ์ ์ ๋, ์ฒ์์ ์ ํ ์ดํด ๋ชปํ์ด์(์ง์ง). ํ์ง๋ง ์ ๋ ๊ณ ์ง์ด ์์ด์. ๋ช ์๊ฐ ํโฆ ๊ฐ์๊ธฐโฆ
- ๐ โ์ด๊ฒ ๋ฐ๋ก ๋ด ํ๋ก์ ํธ์ ์ด๋ฒคํธ๋ฅผ ๋ง๋ค ๋ ํ์ํ ๊ฑฐ์ผ.โ
๋ฐ์ดํฐ ํ์
๋๋ฌธ์ (๋ง์ date, Angular๊ฐ ํ๋จ ๐
) ์ด๋ ค์์ด ์์์ง๋ง ํด๋์ด์. ๋ฉฐ์น ๋์ ์ดํด ๋ชปํ๋ ๊ฒ์ด ๊ฐ์๊ธฐ ์๋ฏธ๊ฐ ํตํ ๋โฆ ์์ํ ๋ง๋ฒ์ด์ฃ .
์ฑ์ ํ์ฌ ์ํ
๋ด ํ๋ก์ ํธ๋ ์๋ฒฝํ๊ฑฐ๋ ์์ฃผ ๊น๋ํ์ง๋ ์์ง๋ง, ์๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ ๋์๊ฒ๋ ์์ฒญ๋ฉ๋๋ค.
ํ์ฌ ์ฑ์ ๋ค์์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- ๋๋ฉ ํ์ด์ง
์ด ๋ชจ๋ ๊ฒ์ด ๋ค์๊ณผ ์ฐ๊ฒฐ๋ฉ๋๋ค:
- Angular (ํ๋ก ํธ์๋)
- FastAPI (๋ฐฑ์๋)
- Railway์ MySQL (๋ฐ์ดํฐ๋ฒ ์ด์ค)
- JWT ์ธ์ฆ
์ด ๊ณผ์ ์์ ๊ฐ์ฅ ํ์ค์ ์ธ ๊ฒ
๊ฐ์ฅ ํ๋ค์๋ ๊ฒ์ ์ฝ๋๋ฅผ ์ฐ๋ ๊ฒ์ด ์๋์๋ค. ๊ทธ๊ฒ์:
- ๊ธธ์ ์๋ค
- ๋ฌผ๊ฑด์ ๋ถ์๋ค
- ๋ฌด์์ ๊ฑด๋๋ ธ๋์ง ๋ชจ๋ฅธ ์ฑ 2โฏ์๊ฐ ๋์ ๋ญ๊ฐ๋ฅผ ๊ณ ์น๊ธฐ
- AI์ ์ง์๋ฅผ ๋ฐ๋ฅด๋ค ๋ ์ ํ๋๋ค
- โ์๋ํด์ผ ํ โ ๊ฒ์ด ์ ์๋ํ์ง ์๋์ง ์ดํดํ์ง ๋ชปํจ
ํ์ง๋ง ๋ํ:
- ๋์์ ์์ฒญํ๋ค
- ๋จ์ํจ์ผ๋ก ๋์๊ฐ๋ค
- ๊ต์๋ค์ด ๊ฐ๋ฅด์น๋ ๊ฒ๊ณผ ๋น๊ตํ๋ค
- ์๋ํ๊ณ , ๋ถ์๊ณ , ๋ค์ ๋ง๋ค๋ค
๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์:
- ๐ ํฌ๊ธฐํ์ง ์๊ธฐ.
๋ช ๋ฌ ์ ์ ๋๋ ์ด๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๊ฒ ๊ธ๊ฐ์ด๋ค ๐
์ฑ ํ ์คํธ ๋ฐฉ๋ฒ
๐ ์ด์ ์ฑ์ ํ ์คํธํ ์ ์์ต๋๋ค (์์ง ํ ์ผ์ด ๋ง๊ณ ๊ฐ์ ํ ์ ๋ ๋ง์์, ์๊ณ ์์ต๋๋ค).
๋ง์ ๋ฐ๋ณต, ๋ฒ๊ทธ, ๋ฆฌํฉํฐ๋ง, ๊ทธ๋ฆฌ๊ณ ์กด์ฌ๋ก ์ ์๊ธฐ ์๊ฐ๋ค์ ๊ฒช์ ๋คโฆ
Angular ํ๋ก ํธ์๋
๊ตฌ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด, ๋ค์ ๋ฐ๋ชจ ์ฌ์ฉ์๋ก ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค:
- ์ฌ์ฉ์:
laura.lopez@demo.com
์ ์ฉํ ๋งํฌ
- ํ๋ก ํธ์๋ (์ค์ ์ฑ):
- ํ๋ก ํธ์๋ ์ฝ๋:
- ๋ฐฑ์๋ ์ฝ๋: