๐๐ปโโ๏ธํ๋ซ์์ด์ธ ์ค์ฟจ 2๋จ๊ณ ํ๋ก์ ํธ
3935 ๋จ์ด beginnersjavascriptreactwebdev
์๊ฐ
๋ฐ์์ ๋ํ ์ฐฌ๊ฐ
React๋ ๋ฐ๋๋ผ JavaScript์ ๋น๊ตํ ๋ ์ ์ ํ ๊ณต๊ธฐ์ ๋๋ค.
React์ ๊ตฌ์ฑ ์์ ๊ธฐ๋ฐ ๊ตฌ์กฐ์ ํ๋ ์์ํฌ๋ฅผ ๋ฐฐ์ฐ๊ณ ํ์ฉํ๋ฉด์ ์ ๋ Flatiron School ๋ถํธ์บ ํ์์ ๊ฐ์ฅ ๊ฐ๋ ฅํ ํ์ ์ป์๋ค๊ณ ๋๊ผ์ต๋๋ค. JavaScript๋ก ๋ด๊ฐ ์๊ณ ์๋ ๊ฒ(๋ด๊ฐ ๊ธฐ์ตํ๋ค๊ณ ์๊ฐํ๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ด!)์ ํ์ธํ๊ณ React์ ํ์ ํ์ฉํ์ฌ ์ฝ๋ฉ์ ๋ ๋ฐ์ ์ํค๋ ๊ฒ์ ๊ฐ์ฌํ์ต๋๋ค.
๋ฐฐ๊ฒฝ
๋ฌธ์ ํด๊ฒฐ
์ ๋ ์ด ํ๋ก์ ํธ์์ ๋ฌธ์ ํด๊ฒฐ์ ์ด์ ์ ๋ง์ถ ๋ฌด์ธ๊ฐ๋ฅผ ํ๊ณ ์ถ์์ต๋๋ค. ์ฐ๋ฆฌ ๊ทธ๋ฃน ๊ตฌ์ฑ์์ ๋ชจ๋ ํ๋์ ์ด์๊ณ ์ฐ๋ฆฌ ์ค ๋ ๋ช ์ ์ฃผ์์์ต๋๋ค.
๋ง์ API๋ฅผ ์ดํด๋ณธ ํ ์ฐ๋ฆฌ๋ ๋์์ ํ์ฌ ๋ ์จ๋ฅผ ๊ฐ์ ธ์จ ๋ค์ ๋ ์จ์ ๊ด๋ จ๋ ๋ค์ํ ์กฐ๊ฑด์ ๋ํด ์ท์ด ๋ค ๋จ์ด์ง๋ ๊ฒ์ ์ ์ํ๋ ์กฐ๊ฑด๋ถ ๋ ผ๋ฆฌ๋ฅผ ๋ ๋๋งํ๋ ์ฑ์ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ด ์๊ฐ์ Runner's World ์ก์ง์์ ๋์จ ๋ช ๋ ๋์ ๋์ฅ๊ณ ์ ์๋ ์ข ์ด ํ ์ฅ์์ ๋์์ต๋๋ค. ์ด๋ป๊ฒ ์๋ ๋ก๊ทธ๋ฅผ ๋์งํธ๋ก ๋ง๋ค ์ ์์๊น์?
ํ๋ก์ ํธ
๋ด๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ๊ธฐ์ฌ
์ด ํ๋ก์ ํธ์ ์ฃผ์ ์ด์ ์ค ํ๋๋ ์ฑ์ ์กฐ๊ฑด๋ถ ๋ ผ๋ฆฌ ๋ฐ ์ถ๋ ฅ์ ๋ ๋๋งํ๊ณ ๋์์ธํ๋ ๊ฒ์ด์์ต๋๋ค.
API ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ(๊ทธ๋ฆฌ๊ณ ํนํ "๋ง์", "๊ฑฐ์ ํ๋ฆผ"๋ฑ์ ๋ด๋ฌํฐ๋ธ์ ๋ํด ์ ํํ๊ฒ ๋ ๋๋ง๋ ๊ฒ์ ํ์ธํ๊ธฐ ์ํด ์ฌ๋ฌ ๋์๋ฅผ ํํค์น ํ) ๋ด๊ฐ ์ค์ ํ๋ ค๋ ์กฐ๊ฑด์ ๋ชฉํ๋ก ์ผ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์ ํญ๋ชฉ์ด ํฌํจ๋ฉ๋๋ค.
๋ค์์ ์ต๋์ ๋ํ ์ฝ๋์ ์์ ๋๋ค. ์๋ํ๋ฉด ์ค์๋ถ ์ง์ญ์ ๋ชจ๋ ์ฌ๋๋ค์ ์ต๋๊ฐ ์ธ๋ถ์์ ์ค์ ๋ก ๋๋ผ๋ ๋์๋ฅผ ๋ง์น๋ค๋ ๊ฒ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค!
function humidityCard () {
if (humidity <= 50 && humidity >= 64 && temp >= 60 && temp <= 79) {
return "It's humid today. Consider wearing lighter, breathable clothing.";
} else if (humidity <= 65 && humidity >= 74 && temp >= 80 && temp <= 89) {
return "The humidity could affect your run today, making it feel much hotter. Drink lots of water and wear lighter, breathable clothing.";
} else if (humidity <= 75 && temp >= 90) {
return "It's going to be a really hot one today with additional humidity! Drink lots of water, wear breathable clothing, and consider even running on the treadmill inside today."
} else {
return
}
}
์ด ๋ ๋๋ง์ ์ฌ์ฉํ์ฌ ์ฑ์์ง ์ท๋ ๋์์ธํ์ต๋๋ค. ๋ค์์ ๋ ์จ/์์ ์นด๋ ์ค ํ๋์ ์๋ฉด๊ณผ ๋ท๋ฉด์ ์์ ๋๋ค.
ํ์ ๋ฐ ํ๋ก์ ํธ ๊ด๋ฆฌ
์๋ง์ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๋ ์ง์ ๊ฒฝ๋ ฅ์ ๊ฐ๊ฒ ๋ ๊ฒ์ ๋งค์ฐ ์ด์ด ์ข์์ต๋๋ค. ๋ค์์ ์ด์ ๋ํ ๋ช ๊ฐ์ง ๋๊ตฌ์ ์๊ฐ์ ๋๋ค. ๊ฒฝํ์ด ํ์์ ์๋ํ๋ ๋ฐฉ์์ ๋ชจ๋ ์ฐจ์ด๋ฅผ ๋ง๋ค ๊ฒ์ ๋๋ค.
- ํธ๋ ๋ก
๋ชจ๋ ๊ฒ์ ๋ํ ์ฌ๋์ ์ํด ํ๋ฃจ๋ฅผ ์์ํ ๋ ๋ชฉํ๋ฅผ ์ค์ ํ๊ณ , ํ๋ฃจ ์ค๋ฐ์ ์ฌํ๊ฐํ๊ณ , ํ๋ฃจ๊ฐ ๋๋ ๋ ๋ ผ์ํ์ญ์์ค.
์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ชฉํ๊ฐ ์ ์๋ ์ฅ์๋ฅผ ๊ณต์ ํ๊ณ ๋น๋ฉดํ ๋ ํฐ ์์ ์ ๋ฌ์ฑํ๋ ๋ฐ ๋ชจ๋ ๊ธฐ์ฌํ ์ ์๋๋ก ํจ์ผ๋ก์จ ๋ง์ ์๊ฐ๊ณผ ์คํธ๋ ์ค๋ฅผ ์ ์ฝํ์ต๋๋ค. ์์ฌ ์ํต์ด ์ ๋ถ์ด๋ฉฐ Trello๋ ๊ทํ๊ฐ ์์ฌ ์ํต์ ํ๊ณ ์๋์ง ํ์ธํ๋ ํ๋ฅญํ ๋ฐฉ๋ฒ์ ๋๋ค.
- ๊ทธ๋ฃน ์ฝ๋ฉ
๋งํ๋ฉด ์ฐ์ฑ ์ ํ๊ณ ์ ์ ๋ฉ์ถ ๋ค์ ์ ์ฒด ํ์ผ๋ก ๋์์ ํฐ ํ๋ฉด์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ญ์์ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์ฌ๋ฌ ๋ฒ ํ๊ณ ์ ๋ฐ์ ์๊ฐ ์์ ๋ฌด์ธ๊ฐ๋ฅผ ์์๋ด๋ ๋ฐ ํฐ ์ฐจ์ด๋ฅผ ๋ง๋ค์์ต๋๋ค.
- ํ๋ด
๊ฐ๋ฅํ ํ ์์ฃผ git pull origin main์ ์ฌ์ฉํ๊ณ , ๋ฐ๊ณ ์์ ๋ ํ๊ณผ ์ํตํ์ธ์.
๋ณํฉ ๋ฐ ์ถฉ๋์ ํจ๊ป ์ํํ์ฌ ๋์ผํ ์ฝ๋๋ก ์์ ํ๊ณ ์๋์ง ํ์ธํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฒฐ๊ตญ ์๊ฐ๊ณผ ์ข์ ์ ์ค์ผ ์ ์์ต๋๋ค.
์ฌ์ด๋ ๋ ธํธ
์๋ค์ํผ, ์ฐ๋ฆฌ๋ ๋ก๊ทธ์ธ์ ๊ฐ์ง๊ณ ๋๋ฉด์ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐํ์ต๋๋ค. ์ด ๋ฐ์ดํฐ๊ฐ db.json ํ์ผ๋ก ์ด๋ํ๋ ๋์ ์์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํ๊ณ 3๋จ๊ณ ๋ฐ 4๋จ๊ณ์์ ๋ก๊ทธ์ธ์ผ๋ก ๋ ๋ง์ ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค.
๊ฒฐ๋ก
์ ๋ ์ด ํ๋ก์ ํธ, ์ ํ, ์ ๊ฐ ๋ง๋ ๊ฒ์ ์๋์ค๋ฝ๊ฒ ์๊ฐํ๋ ์ ๊ฒฝํ์ ์ข์ํ์ต๋๋ค. ๊ณ์ํด์ ์ฑ์ ๊ฐ์ ํ๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ฅผ ํตํด ๋์๊ฒ๋ ๋ช ๊ฐ์ง ๋ฏธ๋ ๋ชฉํ๊ฐ ์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ฒ ๋์์ต๋๋ค. ๋ถํธ์คํธ๋ฉ์ ๋ฐฐ์ฐ๊ณ ์ด์ฉ๋ฉด ์ต์ข ํ๋ก์ ํธ๋ฅผ ์ค๊ณํ๊ธฐ ์์ํ์ฌ Ruby๋ก ์ ํํ ๋ React์ ๋ํด ์๊ณ ์๋ ๊ฒ์ ์์ง ์๋๋ก ํ ์๋ ์์ต๋๋ค.
์์
์ ์ฅ์๋ฅผ ๋ณต์ ํ๊ณ ํ๋ก์ ํธhere๋ฅผ ํ์ธํ์ญ์์ค!
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐๐ปโโ๏ธํ๋ซ์์ด์ธ ์ค์ฟจ 2๋จ๊ณ ํ๋ก์ ํธ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/rachelmullen/flatiron-school-phase-2-project-dh9ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค