๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

ํŽ˜์ด์ง€๋„ค์ด์…˜์ด๋ž€? - ์ฑ…์˜ ํŽ˜์ด์ง€์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ ์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ ํŽ˜์ด์ง€๋„ค์ด์…˜์˜ ์ข…๋ฅ˜ - ์˜คํ”„์…‹ ๊ธฐ๋ฐ˜ - ์ปค์„œ ๊ธฐ๋ฐ˜ ์˜คํ”„์…‹ ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€ ๋„ค์ด์…˜ ์˜คํ”„์…‹์€ ํ•œ๋งˆ๋””๋กœ '์ง€๊ธˆ๊นŒ์ง€ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜` ๋ฆฌ๋ฏธํŠธ(limit)๋Š” ๋” ๋ฐ›์•„์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜ ์˜คํ”„์…‹ ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€ ๋„ค์ด์…˜์˜ ๋ฌธ์ œ์  ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด 21~30๋ฒˆ๊นŒ์ง€ ๋ฐ›์•„์™€์•ผ ํ•˜๋Š”๋ฐ 20~29๊นŒ์ง€ ๋ฐ›์•„ 20์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๋ณต๋˜๊ฒŒ ๋œ๋‹ค. ๊ธ€์ด ์‚ญ์ œ๋˜๋ฉด 21๋ฐ์ดํ„ฐ๊ฐ€ ๋ˆ„๋ฝ๋˜๊ฒŒ ๋œ๋‹ค. ์ปค์„œ ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€๋„ค์ด์…˜ ์ปค์„œ = ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’ = ์ง€๊ธˆ๊นŒ์ง€ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•œ ์ฑ…๊ฐˆํ”ผ ์ปค์„œ ๊ธฐ๋ฐ˜์˜ ์žฅ์ : ์œ„์˜ ๋ฌธ์ œ๋“ค์ด ํ•ด๊ฒฐ๋œ๋‹ค. ์ปค์„œ ๊ธฐ๋ฐ˜์˜ ๋‹จ์ : ์„œ๋ฒ„์ž…์žฅ์—์„œ๋Š” ๊ตฌํ˜„ํ•˜๊ธฐ ๊นŒ๋‹ค๋กญ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์˜คํ”„์…‹์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด ์˜คํ”„์…‹์€ ๋ฐ›์•„์˜จ ๊ฐœ์ˆ˜ ๊ธฐ์ค€ ์ปค์„œ..
ยท react
useEffect์™€ useRef๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ Œ๋”๋ง์˜ ์ด์œ ๋ฅผ ๋ฐํž ์ˆ˜ ์žˆ์Œ. memo๋ฅผ ์‚ฌ์šฉ ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ useMemo์‚ฌ์šฉ react developers tool์—์„œ ์ „๋ถ€๋‹ค ์ดˆ๋ก์ด๋ฉด ์ตœ์ ํ™”๊ฐ€ ๊ธ‰ํ•˜์ง€๋Š” ์•Š์Œ. ํ•˜์ง€๋งŒ ๋นจ๊ฐ„์ƒ‰์ด๋ฉด ์ตœ์ ํ™”๋ฅผ ํ•ด์•ผํ•จ
fetch('url') .then((response) => response.text()) .then((result) => console.log(result)); ๋ธŒ๋ผ์šฐ์ € api ์ด๋ฏ€๋กœ fetch() ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. response.text()๋„ promise๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ then()์„ ์‚ฌ์šฉํ•œ๋‹ค. fetch()๋Š” promise ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ then์„ ์ด์šฉํ•˜๋ฉด response๊ฐ€ ๋„์ฐฉํ–ˆ์„๋•Œ์˜ ํŠน์ • ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
ยท react
๋ฆฌ์•กํŠธ๋กœ ๋ฐฐ์—ด์„ ๋ Œ๋”๋ง ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ๊ตฌ๋ฅผ ๋งˆ์ฃผ์น˜์‹  ์ ์ด ์žˆ๋‚˜์š”? Warning: Each child in a list should have a unique "key" prop. ๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†”์— ์ด๋Ÿฌํ•œ ๊ฒฝ๊ณ ๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฆฌ์•กํŠธ์—์„œ ๋ฐฐ์—ด์„ ๋ Œ๋”๋ง ํ•  ๋•Œ ๋ Œ๋”๋งํ•œ ๋ฆฌ์ŠคํŠธ๋“ค์˜ ์ถ”๊ฐ€, ์‚ฝ์ž…, ์‚ญ์ œ์˜ ๊ธฐ์ค€์„ Key Prop์„ ์ด์šฉํ•ด์„œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ ์–ด์ฃผ์ง€ ์•Š์•„์„œ ๋‚˜ํƒ€๋‚˜๋Š” ์˜ค๋ฅ˜ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด์„œ ์˜ํ™”๋ฆฌ๋ทฐ๋“ค์ด ์žˆ๋Š” ๊ฒŒ์‹œํŒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์˜ํ™” ๋ฆฌ๋ทฐ๋“ค์„ ๋ Œ๋”๋ง ํ•˜๋Š”๋ฐ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ? ์ด๋•Œ key prop์„ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š๊ณ  ๋ฆฌ๋ทฐ์— ์žˆ๋Š” inputํƒœ๊ทธ ์•ˆ์— ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๊ทธ ๋ฆฌ๋ทฐ๋ฅผ ์‚ญ์ œํ–ˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๋ฆฌ๋ทฐ๋Š” ์‚ญ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์–ด๋„ input ํƒœ๊ทธ ์•ˆ์˜ ํ…์ŠคํŠธ๋Š” ๋‹ค๋ฅธ ..
ยท react
1. UI๊ฐ€ ๋ณต์žกํ• ์ˆ˜๋ก DOM ์กฐ์ž‘์ด ๋งค์šฐ ๋ถˆํŽธํ•ด์ง„๋‹ค. ํŽ˜์ด์Šค๋ถ ๊ฐ™์ด UI๊ฐ€ ๋งŽ๊ณ  ์ด๋ฒคํŠธ๋„ ๋งŽ์€ ์›น์—์„œ๋Š” DOM ์กฐ์ž‘์ด ๋งค์šฐ ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋ น ํƒœ๊ทธ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— ์ปจํ…์ธ ์™€ ํด๋ž˜์Šค ์ด๋ฆ„์„ ๋„ฃ๋Š”๋‹ค๊ณ  ํ•˜๋ฉด ๋ฒŒ์จ ์ฝ”๋“œ๊ฐ€ 3์ค„ ์ด์ƒ์ž…๋‹ˆ๋‹ค. ํ”ํžˆ ๋ช…๋ นํ˜• ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•˜์ฃ . ํ•˜์ง€๋งŒ ๋ฆฌ์•กํŠธ๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ์„ ์–ธ์ ์œผ๋กœ ์ž‘์„ฑํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค. 2. SPA 1๋ฒˆ์˜ ์—ฐ์žฅ์„ ์œผ๋กœ์„œ SPA๋ฅผ ์“ฐ๋ฉด DOM์กฐ์ž‘์ด ๋งค์šฐ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ผ์–ด๋‚˜๋Š”๋ฐ ์ด๋•Œ ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•˜์—ฌ ๋งค์šฐ ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฆฌ์•กํŠธ๋กœ ์‰ฝ๊ฒŒ SPA๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3. ์ œ๋กœ์ดˆ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์ž๋ฉด ํŽ˜์ด์Šค๋ถ ์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๊ฟจ๋”๋‹ˆ ์ ์šฉ์ด ์•ˆ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ๋‹‰๋„ค์ž„์„ ๋ฐ”๊ฟจ๋Š”๋ฐ ๋‚ด ํ”„๋กœํ•„์—๋Š” ์ œ๋Œ€๋กœ ๋ณ€๊ฒฝ๋œ ๋‹‰๋„ค์ž„์ด ๋ณด์—ฌ์ง€๊ณ  ..
ยท react
์‹œ์ค‘์— ๋งŽ์€ ๋ฆฌ์•กํŠธ ๊ฐ•์˜๋“ค์˜ ๋Œ€๋ถ€๋ถ„์€ CRA๋ถ€ํ„ฐ ์‚ฌ์šฉํ•˜์—ฌ webpack์— ๋Œ€ํ•œ ์„ค์ •๊ณผ ๋ฐ”๋ฒจ์˜ ๋Œ€ํ•œ ์„ค์ •์„ ๊ฐ€๋ฅด์น˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋ฆฌ์•กํŠธ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋“ค์„ ์„ค๋ช…ํ•œ๋‹ค. ๋‚˜๋Š” ์ฒ˜์Œ์— ์ด๋Ÿฌํ•œ ๊ฐ•์˜์— ๋ถˆ๋งŒ์„ ๋А๊ผˆ๊ณ  ํ˜ผ์ž ๊ตฌ๊ธ€์—์„œ CRA์—†์ด ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ๋งŒ๋“œ๋Š” ๋ฒ•์„ ์ฐพ์•˜์—ˆ๋‹ค. ์ด๋Ÿฐ ๊ฐ•์˜๋“ค์€ ๊ทธ์ € ๋ฆฌ์•กํŠธ์˜ ๊ธฐ๋Šฅ๋“ค์„ ๋‚˜์—ดํ•˜์—ฌ ๊ฐ€๋ฅด์น˜๊ฒ ๋‹ค๋Š” ๊ฑฐ๊ณ  ๊ทธ๋ ‡๋‹ค ๋ณด๋‹ˆ ๊ฐ•์˜๋ฅผ ๋“ค์—ˆ๋‹ค ํ• ์ง€๋ผ๋„ ์ฐจํ›„์— ๊ฐ•์˜๋ฅผ ๋ณด๊ณ  ์–ป์€ ์ง€์‹์œผ๋กœ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ํ€„๋ฆฌํ‹ฐ๊ฐ€ (์‹ฌํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด)๋งค์šฐ ๊ตฌ๋ ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ .. ๊ทธ๊ฑด ๋ฐ”๋กœ ๊ธฐ๋ณธ์„ ์•ˆ ๋‹ค์ ธ์„œ ๊ทธ๋ ‡๋‹ค. ๋ฆฌ์•กํŠธ์—์„œ state๊ฐ€ ๋ญ”์ง€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•ด์•ผ ํ•˜๋Š”๋ฐ ๋‹จ์ˆœ ๊ธฐ๋Šฅ๋งŒ์„ ์„ค๋ช…ํ•˜๋Š” ๊ฐ•์˜์—์„œ๋Š” ๊ทธ๋Ÿฐ ์ข…๋ฅ˜์˜ ์Šต๋“์€ ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค. ๊ทธ ์™€์ค‘์— ๋‚˜๋Š” ์ œ๋กœ์ดˆ๊ฐ•์˜๋ฅผ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค ์›นํŒฉ ์„ค์ •์„ ๊ฐ€๋ฅด์นœ๋‹ค๋‹ˆ!! ์—ฌ๊ธฐ์„œ ๋ถ€ํ„ฐ ๋‹ค๋ฅธ ๊ฐ•์˜..
์•ˆ๋…•ํ•˜์„ธ์š”!!์˜ค๋Š˜์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ œ๊ฐ€ ๋งŒ๋“  flappy bird ๊ฒŒ์ž„์„ ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.์ง€๋‚œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‹ฌ๋ ฅ ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ ์ดํ›„ ์˜ค๋žœ๋งŒ์ด๋„ค์š”.์˜ค๋Š˜์€ ์ง€๋‚œ๋ฒˆ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ’€์†Œ์Šค๋ฅผ ๊ณต์œ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.์ €๋Š” ๊ฒŒ์ž„์„ ๋งŒ๋“ค๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ด ์ •๋„์˜ ๊ฒŒ์ž„์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์‹ค๋ ฅ์ด ๋œ ๊ฒƒ์— ๋ฟŒ๋“ฏํ•จ์„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค.๊นƒํ—ˆ๋ธŒ ๋งํฌ๋ฅผ ์˜ฌ๋ฆดํ…Œ๋‹ˆ ์—ฌ๋Ÿฌ ๋ถ„๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ’€์†Œ์Šค๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ค๋ ฅ์„ ๋†’์ด๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋์œผ๋ฉด ์ข‹๊ฒ ๋„ค์š”!์ดํ›„์—๋„ ํŒฉ๋งจ ๊ฒŒ์ž„์ด๋‚˜ ํฌ์ผ“๋ชฌ ๊ฒŒ์ž„ ๋“ฑ๋„ ์—…๋กœ๋“œํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์†Œ์Šค์ฝ”๋“œhttps://github.com/kimtaejin3/Flappy_Bird_Clone GitHub - kimtaejin3/Flappy_Bird_Clone: Flappy Bird๊ฒŒ์ž„ scratch๋ถ€ํ„ฐ ๋งŒ๋“ค๊ธฐFlap..
[๋ฌธ์ œ์  - ๊ฐœ์„ ์ ] JS๊ฒŒ์ž„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ฐฉ์‹คํžˆ ํ•˜์˜€์ง€๋งŒ ๋ฆฌ์•กํŠธ์— ๋Œ€ํ•œ ๊ณต๋ถ€๊ฐ€ ๋งŽ์ด ๋ถ€์กฑํ–ˆ๋˜ ํ•œ ์ฃผ์˜€๋‹ค. ๋˜ JS๋ฌธ๋ฒ•๋„ ๊ธฐ๋Œ€๋งŒํผ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด์ง€ ๋ชปํ–ˆ๋‹ค. [์–ด๋–ป๊ฒŒ ํ• ๊นŒ?] ๊ทธ๋ž˜์„œ ์•ž์œผ๋กœ๋Š” ๋ฆฌ์•กํŠธ ๊ณต๋ถ€์˜ ๋น„์ค‘์„ ๋งŽ์ด ๋Š˜๋ ค๋„ ๋ฌด๋ฆฌ๊ฐ€ ์—†๊ฒ ๋‹ค ์‹ถ์–ด ๊ทธ๋ ‡๊ฒŒ ํ•  ์˜ˆ์ •์ด๋‹ค. ๋˜ ๋ฆฌ์•กํŠธ๋‚˜ JS ๋ฐฐ์šด๊ฒƒ์„ ํ—ˆ์ ‘ํ•˜๋‹ค๊ณ  ํ• ์ง€๋ผ๋„ ๋ธ”๋กœ๊ทธ์— ํฌ์ŠคํŒ…ํ•˜์ž. 1์ฃผ์ผ์— 1๋ฆฌ์•กํŠธ 1JS ํฌ์ŠคํŒ…์„ ๋ชฉํ‘œ๋กœ ํ•˜์ž.
๊น€ํƒœ์ง„
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (12 Page)