[TIL/React] 2023/08/29
1\. ver2 ๐ขlayout์ ํ๋ฆ์ ๋์น ๊ฒฐ๊ณผ๋ ์ฒ์ฐธํ๋ค. ๊ด์ฐฎ๋ค ์์ ํ๋ฉด ๋๋๊น. ์ฐจ๋ถํ ๊ณ ๋ฏผ์ ๋ น์ฌ๋ผ ver2 ํ์ผ์ ๋ง๋ค์๋ค.์ต์๋จ App.js์์๋ ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ํฌํจํ ์ฌ๋ฌ ํ์ด์ง๋ค์, PageContainer๋ผ๋ ์ปดํฌ๋ํธ๋ก ๊ฐ์ธ๊ณ ์๋ค.PageCont
1. ver2 ๐ข

layout์ ํ๋ฆ์ ๋์น ๊ฒฐ๊ณผ๋ ์ฒ์ฐธํ๋ค. ๊ด์ฐฎ๋ค ์์ ํ๋ฉด ๋๋๊น. ์ฐจ๋ถํ ๊ณ ๋ฏผ์ ๋ น์ฌ๋ผ ver2 ํ์ผ์ ๋ง๋ค์๋ค.

์ต์๋จ App.js์์๋ ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ํฌํจํ ์ฌ๋ฌ ํ์ด์ง๋ค์, PageContainer๋ผ๋ ์ปดํฌ๋ํธ๋ก ๊ฐ์ธ๊ณ ์๋ค.

PageContainer๋ก ๊ฐ์ธ์ง ๋ชจ๋ ํ์ด์ง๋ค์, ํค๋์ ํธํฐ๊ฐ ๋์ค๊ฒ ๋ ๊ฒ์ด๋ค. PageContainer์ ํต์ฌ์ content์ ์๋๋ฐ, ์ต์ ๋์ด์ ๋์ด๋ฅผ ๋ทฐํฌํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค์ ํ๊ณ 'flex-grow: 1' ์ ์ ์ฉํ๊ณ ์๋ค.

1) 100vh์ 100%๋ฅผ ์ฌ์ฉํ๋ ๊ฑด์ ๋ํ์ฌ...
๊ฐ์ฅ ๋จผ์ ์์ ๋ณธ ๊ณณ์ ComponentWrapper๋ฅผ ๋ก๊ทธ์ธ ํ์ด์ง์ ๋์ด์ ์ฌ์ฉํ๋ ๋ถ๋ถ์ด์๋ค. ๊ธฐ์กด์๋ ์ธ๋ผ์ธ ๋ถ๋ถ์ 'minHeight: 100vh'๊ฐ ์๋๋ผ 'height: 100%'๊ฐ ์ ์ฉ๋๊ณ ์์๋ค. ๊ฐ์ฅ ๋ฐ๊นฅ wrapper์ธ PageContainer์์ ์ต์ ๋์ด๋ฅผ 100vh๋ก ์ค์ ํ์ผ๋, ๊ทธ๋๋ก ํ์ wrapper์์๋ 100%๋ฅผ ์ ์ฉํ๋ฉด ๋์ง ์๊ฒ ๋๋ ๋ ผ๋ฆฌ์๋ค.
ํ์ง๋ง 'height: 100%'๋ฅผ ์ ์ฉํ๋ฉด '์ปจํ ์ธ ์ ๋์ด์ ๋ํ 100%'๋ฅผ ์ฐจ์งํ๊ฒ ๋์ด์, ๊ฒฐ๊ณผ์ ์ผ๋ก PageContainer์ ์ ๋ฐ์ ๋๋ฅผ ์ฐจ์งํ๊ฒ ๋๋ค. 'minHeight: 100vh'๋ฅผ ์ธ๋ผ์ธ์ ์ถ๊ฐํด์ ๋ทฐํฌํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ด๋ฐ์ ์์นํ๋๋ก ์ค์ ํ๋ค.
โ ํ๋ง๋๋ก page container ๋ด๋ถ์์ ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ wrapper๋ ๋ด๊ฐ ์ํ๋ ๋งํผ ๋ณ๋๋ก height๋ฅผ ์ค์ ํด์ค์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
2) input์ด wrapper ๋ฐ๊นฅ์ผ๋ก ํ์ด๋์ค๋ ๊ฑด์ ๋ํ์ฌ...

input๊ณผ button์ ๋ชจ๋ form ํ๊ทธ ๋ด๋ถ์ ์์นํด ์๋ค. ๊ณ ๋ก width์ padding์ ๋๊ฐ์ด ์ ์ฉํ๋ฉด, ์ํ๋๋๋ก ๋์ผํ ํฌ๊ธฐ์ input๊ณผ button์ด ๊ทธ๋ ค์ง์ง ์๊ฒ ๋๊ณ ์๊ฐํ๋ค.
๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด 'box-sizing: border-box'๋ฅผ ํตํด input๊ณผ button์ ๊ท๊ฒฉ์ ๋ง์ท๋ค.
1. ์์ ๋ ๋ชจ์ต ๐ข



2. validation ์ฒ๋ฆฌ ์ฐ์ต ๐
validation์ ๊ดํ ํ์ผ์์๋, ์ ํจ์ฑ ๊ฒ์ฌ๋ง!์ํ๊ณ , ์๋ฌ์ ๊ดํ ์ง์ ์ ์ธ ์ฒ๋ฆฌ๋ ํ์ด์ง ๋๋ ์ปดํฌ๋ํธ์์ ์ํํ๋ ๊ฒ์ด ๋ชฉํ์๋ค.

isValidLogIn ํจ์๋ email ๋๋ password ์ค, ํ ํ๋๋ง ์๋ฌด ๊ฐ์ด ์ ๋ ฅ๋์ง ์์๋ false๋ฅผ returnํ๋ค. ๋ชจ๋ ํ๋๊ฐ ๋ค ์ฑ์์ง ๊ฒฝ์ฐ์ ํํ์ฌ true๋ฅผ return ํ๋ค.
index.js๋ TIL์ ์์ฑํ๋ฉด์ ๋ณด๋๊น ๊ตณ์ด ์ ๋ฐ๋ก ๋ง๋ค์๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ด์จ๋ ๊ฐ๊ฐ์ ์ ํจ์ฑ ๊ฒ์ฌ ํจ์๋ค์ validation์ด๋ผ๋ ์์์ ๋ด์์ exportํ๋ ์ญํ ์ ์ํํ๋ค.

๋ก๊ทธ์ธ ํ์ด์ง์ ์ ์ถ ๋ฒํผ์์ ์ง์ ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ค. case๋ ๋ค์ ๋ค ๊ฐ์ง๋ค.
1. email ํ๋๊ฐ ๋น -> ์ฝ์์ true, alert ๋ฑ์ฅ 2. password ํ๋๊ฐ ๋น -> ์ฝ์์ true, alert ๋ฑ์ฅ 3. email, password ํ๋๊ฐ ๋ชจ๋ ๋น -> ์ฝ์์ true, alert ๋ฑ์ฅ 4. email, password ํ๋๊ฐ ๋ชจ๋ ์ฑ์์ง -> ์ฝ์ ์ ๋ ฅ ์์, ํด๋น alert ๋ฑ์ฅ ์ ํจ
1)

2)

3)

4)

ํ ์คํธ ์๋ฃ!, ์ด์ ํ๋ก์ ํธ์ ์ ์ ์ฉํ ์ผ๋ง ๋จ์๋ค.
ํ๊ณ ๐ต
๋ฐ๊ฟ ์ ์๋ ๊ฒ์ ๋ฐ์๋ค์ด๋ ํ์จํจ์, ๋ฐ๊ฟ ์ ์๋ ๊ฒ์ ๋ฐ๊พธ๋ ์ฉ๊ธฐ๋ฅผ, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ฐจ์ด๋ฅผ ๋ถ๋ณํ๋ ์งํ๋ฅผ ์ฃผ์ต์์.
-๋ผ์ธํ๋ ๋๋ถ์ด, ํ์จ์ ๋น๋ ๊ธฐ๋ ไธญ
More to read
Amazon VPC Architecture ์ดํดํ๊ธฐ
์๋ก์ด ํ๋ก์ ํธ๋ฅผ ๊ธฐํํ๋ฉฐ, ๊ฐ๋ฐ์์ ๋ฌด์์ ๊ฐ์ฅ ๋จผ์ ๊ณ ๋ฏผํด์ผ ํ๋์ง ๋ค์ ๋์๋ณด๊ฒ ๋์์ต๋๋ค.ํ๋๋ ํ๋ก ํธ์๋๊ฐ ๋ชจ๋ ์ค๊ณ์ ์ถ๋ฐ์ ์ด๋ผ๊ณ ๋ฏฟ์์ต๋๋ค. ์ ์ ๊ฐ ๋ฌด์์ ๋ณด๊ณ , ์ด๋ค ํ๋ฆ์์ ๋จธ๋ฌด๋ฅด๊ณ ์ดํํ๋์ง์ ๋ํ ์ดํด ์์ด ์๋น์ค๋ฅผ ๋ง๋ ๋ค๋ ๊ฑด ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ๊ธฐ
'์์ฌ์ดํธ'ํ๋ก ํธ์๋ ๊ด์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ์ดํดํ๊ธฐ
์ค๋๋ง์ ๋ฐฉ๋ฒ๋ก ์ ๊ดํ ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค. ์ต๊ทผ ์ํฉ์ ์ด๋ ์ต๋๋ค. SSAFY์์๋ ํ๋ฃจ์ ์์ฒญ๋ ์์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ค์ ๊ณผ์ ๋ก ์ํํ๊ฒ ๋ฉ๋๋ค. ๊ทธ ๊ณผ์ ์์, '๊ตฌํ๋ ฅ'์ด ๋งค์ฐ ๋จ์ด์ง๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ์์ ํ ์ด๋ ค์ด ๋ฌธ์ ๋ผ๋ฉด '์์ฌ์'์ด๋ผ๋ ๊ฐ์ ์กฐ์ฐจ ๋๋ผ์ง
SubnetVPC ์ค๊ณ์ ์์: IP์ Subnet
๋ฐ๋ณต๋๋ ๋ฃจํด ์์์ ์ป์ ์์ ๊ฐ์ ๋ฐํ ์ผ์, ์ด์ ๋ ๊ธฐ์ ์ ์คํํธ๋ผ์ ๋ํ๊ธฐ ์ํ ๊ฐ์ธ ํ๋ก์ ํธ์ ์ฐฉ์ํ๊ณ ์ ํฉ๋๋ค.์ด๋ฒ ํ๋ก์ ํธ์ ๋ชฉํ๋ ๋จ์ํ ํฌํธํด๋ฆฌ์ค ๊ตฌ์ถ์ ๋์ด, ์ค์ ์๋น์ค ์์ค์ ๋ธ๋ก๊ทธ ์์คํ ๊ตฌํ๊ณผ ๋ค๊ตญ์ด ์ฒ๋ฆฌ ์ ์ฉ ๋ฑ ์ค๋ฌด์ ๊ฐ๊น์ด ์ญ๋์ ํ ๋จ๊ณ