TIL 22 (1): ์›น ๊ตฌ๋™ ๋ฐฉ์‹
TIL/JavaScript 2021. 8. 21. 17:44

์˜ค๋Š˜์€ Solo Day๋กœ ๊ฐœ์ธ์ ์œผ๋กœ ์ถ”๊ฐ€ ๊ณต๋ถ€๋ฅผ ํ•˜๋Š” ๋‚ ์ž…๋‹ˆ๋‹ค! ํ‰์ƒ์‹œ์— ๊ถ๊ธˆํ–ˆ๋˜ ์›น ๊ตฌ๋™ ๋ฐฉ์‹์ด๋‚˜ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๊ฐœ๋ฐœ์ž๋“คํ•œํ…Œ๋Š” ์ฝ”๋”ฉ ์‹ค๋ ฅ์ด ์ œ์ผ ์ค‘์š”ํ•˜๊ฒ ์ง€๋งŒ, ์ปดํ“จํ„ฐ ๊ด€๋ จ ์ „๊ณต์ž๋“ค์— ๋น„ํ•ด ๋น„์ „๊ณต์ž๋กœ์„œ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๋ถ€๋ถ„์ด ์ปดํ“จํ„ฐ ๊ด€๋ จ ๊ธฐ๋ณธ์ง€์‹์ด๋ผ ์ƒ๊ฐํ–ˆ์–ด์š”! ์ฝ”๋”ฉ ์‹ค๋ ฅ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์ด ์žˆ์ง€๋Š” ์•Š๊ฒ ์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋‚ด๊ฐ€ ๋งค์ผ ์“ฐ๋Š” ์ปดํ“จํ„ฐ์™€ ์›น์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋Š” ๊ฒƒ์ด ๋‚˜์ค‘์— ์ข‹์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹น ์›น ๊ตฌ๋™ ๋ฐฉ์‹๊ณผ ๊ด€๋ จํ•ด์„œ๋Š” MDN ๊ณต์‹๋ฌธ์„œ์™€ '๋น„์ „๊ณต์ž๋ฅผ ์œ„ํ•œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” IT ์ง€์‹'์„ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค! How the Web works - Learn web development | MDN How the Web..

TIL 20: React ๊ธฐ์ดˆ - State & Props
TIL/JavaScript 2021. 8. 13. 21:24

์‚ผ์ผ๊ฐ„ ๋‚˜๋ˆ ์„œ ๋ฆฌ์•กํŠธ ๊ธฐ์ดˆ๋ฅผ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค! ํ•˜๋ฃจ์— ๋ชจ๋“  ๋‚ด์šฉ์„ ๋ฐฐ์šฐ์ง€ ์•Š์œผ๋‹ˆ๊น ๋ฐฐ์› ๋˜ ๋‚ด์šฉ๋“ค์ด ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ฃผ๋ง์— ๋งˆ์ € ํ•œ๋ฒˆ ์ญ‰ ํ›‘์–ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋‹ด์ฃผ์— HA์žˆ์–ด์„œ ์ด์™ธ์˜ ๋‚ด์šฉ๋“ค๋„ ๋” ๊ณต๋ถ€ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„์š”! ๊ทธ๋ž˜์„œ ์ฃผ๋ง์ด...์—†์–ด์งˆ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹คใ…  ์ผ๋‹จ ์˜ค๋Š˜์€ State์™€ Props์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํฌ๊ฒŒ ๋ณด๋ฉด State๋Š” ๋ณ€ํ™”ํ•˜๋Š” ์†์„ฑ์ผ ๋•Œ ์‚ฌ์šฉํ•˜๊ณ , Props๋Š” ๋ณ€ํ™”ํ•˜์ง€ ์•Š๋Š” ์†์„ฑ์ผ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. State State์˜ ์žฅ์ ์œผ๋กœ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด HTML์ด ์ž๋™์œผ๋กœ ์žฌ๋ Œ๋”๋ง ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ƒˆ๋กœ๊ณ ์นจ ์•ˆํ•ด๋„ ์•Œ์•„์„œ ์Šค๋ฌด์Šคํ•˜๊ฒŒ ์ž˜ ๋ Œ๋”๋ง์ด ๋ฉ๋‹ˆ๋‹ค. state ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” useState๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. import { us..

TIL 19: React ๊ธฐ์ดˆ - SPA
TIL/JavaScript 2021. 8. 12. 18:48

SPA SPA๋Š” Single Page Application์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ํŽ˜์ด์ง€๋ฅผ ์˜ฎ๊ธธ ๋•Œ ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•˜๋‚˜์˜(Single) ํŽ˜์ด์ง€ ๋‚ด์—์„œ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ›์•„์„œ ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ™”๋ฉด์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐ ์žฅ์ : ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ๋ณ€ํ•˜๋Š” ๋ถ€๋ถ„๋งŒ ๋กœ๋”ฉํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ๋ถ€ํ•˜ ๊ฑธ๋ฆด ํ™•๋ฅ  ๋‚ฎ์Šต๋‹ˆ๋‹ค. ๋‹จ์ : ๋น„์–ด์žˆ๋Š” HTML์— ๋น„ํ•ด JavaScript ํŒŒ์ผ์€ ๋ฌด๊ฒ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์œผ๋กœ ์ธํ•ด ๋กœ๋”ฉ ์‹œ๊ฐ„ ๊ธธ์–ด์ง‘๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”์—๋Š” ์ข‹์ง€ ์•Š๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  ๊ฒ€์ƒ‰์—”์ง„์˜ ์ž‘๋™๋ฐฉ์‹์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž๋ฉด ๊ฒ€์ƒ‰ ๋กœ๋ด‡์ด ์›นํŽ˜์ด์ง€์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„์„ ํ†ตํ•ด ๊ฒฐ๊ณผ๊ฐ’์— ์ธ๋ฑ..

TIL18: React ๊ธฐ์ดˆ
TIL/JavaScript 2021. 8. 11. 20:27

Section 1์˜ ๋งˆ์ง€๋ง‰ ๊ณผ์ • React์— ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฝํ—˜ ์žˆ์œผ์‹  ๋ถ„๋“ค์ด ๋Œ€๋ถ€๋ถ„ ๊ณ ์ฐจํ•จ์ˆ˜๋ž‘ React๋ถ€๋ถ„ ์–ด๋ ต๋‹ค๊ณ  ํ•˜์…จ๋Š”๋ฐ, ์ •๋ง React๋Š” ์–ด๋ ค์› ์–ด์š”... ์ต์ˆ™ํ•ด์ง€๋ฉด ์˜คํžˆ๋ ค HTML CSS DOM ๋”ฐ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ํŽธํ•  ๊ฒƒ ๊ฐ™์€๋ฐ ์•„์ง์€ ์†์— ์•ˆ์ต๋„ค์š”ใ… ใ… ใ…  ๋ณต์Šต ๋งˆ์ € ์—ด์‹ฌํžˆ ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค! ๋ฆฌ์—‘ํŠธ (React) React๋Š” ํ”„๋ก ํŠธ์•ค๋“œ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ JavaScript ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ํฌ๊ฒŒ 3๊ฐ€์ง€ ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์„ ์–ธํ˜•: JSX๋ฅผ ํ™œ์šฉํ•ด์„œ ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค. HTML CSS JS๋กœ ๋‚˜๋ˆ  ์ ๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ๋ช…์‹œ์ ์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. 2. ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜: ์ปดํฌ๋„ŒํŠธ๋กœ ๋ถ„๋ฆฌํ•˜๋ฉด ์„œ๋กœ ๋…๋ฆฝ์ ์ด๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ธฐ..

TIL 17: ๊ณ ์ฐจํ•จ์ˆ˜
TIL/JavaScript 2021. 8. 11. 00:26

์˜ค๋Š˜์€ ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์šฐ๋ฉด์„œ ํด๋กœ์ €์™€ ๋น„์Šทํ•˜๋‹ค๋Š” ๋А๋‚Œ์„ ๋งŽ์ด ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. Java Script์—์„œ์˜ ํ•จ์ˆ˜๋Š” ์ผ๊ธ‰๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ผ๊ธ‰๊ฐ์ฒด(first-class citizen)๋Š” ํŠน๋ณ„ํ•œ ๋Œ€์šฐ๋ฅผ ๋ฐ›๋Š” ๊ฐœ์ฒด๋กœ์„œ ์กฐ๊ฑด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋‚˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์•ˆ์— ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌํ„ด ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‹ค๋ฅธ ํ•จ์ˆ˜(caller)์˜ ์ธ์ž(argument)๋กœ ์ „๋‹ฌ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ฝœ๋ฐฑ ํ•จ์ˆ˜(callback function)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ด์žฅ๋œ ๊ณ ์ฐจํ•จ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฟ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ ์ผ๋ถ€๋Š” ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์ฝ”ํ”Œ๋ฆฟ์„ ํ•  ๋•Œ๋Š” ์ฃผ๋กœ filter, map, reduce ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋กœ๊น… ๋๋‚˜๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋“ค ์ถ”๊ฐ€์ ์œผ๋กœ ๋” ํ•ด..

TIL 16: ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ์ด๋ฒคํŠธ ๊ฐ์ฒด
TIL/JavaScript 2021. 8. 9. 19:07

์˜ค๋Š˜์€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ํŽ˜์ด์ง€ ๋งˆ์ € ์™„์„ฑํ•˜๊ณ , ์ด๋ฒคํŠธ ๊ฐ์ฒด์— ๋Œ€ํ•ด ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์ฃผ๋ง์— ์‚ด์ง 1์ฃผ์ฐจ์— ๋ฐฐ์šด ์ฝ”ํ”Œ๋ฆฟ ๋‚ด์šฉ ๋ณต์Šตํ•˜๊ณ , ํŽ˜์–ด๋ถ„์ด๋ž‘ ํ•จ๊ป˜ ๋‘์‹œ๊ฐ„ ์ •๋„ ์‹œ๊ฐ„์„ ๋” ๋‚ด์„œ ์ด ์‚ฌ์ดํŠธ๋ฅผ ์™„์„ฑํ•ด๋ณด์•˜์–ด์š”! ์ผ๋‹จ Bare Minimum ์ด์ƒ์œผ๋กœ ๋” ๋งŽ์€ ๊ฒƒ๋“ค์„ ํ•ด๋ƒˆ๊ธฐ์— ๋งŒ์กฑ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ํ•ญ์ƒ ๊ธฐ๋ณธ๊ธฐ๊ฐ€ ๋‹ค์ ธ์ง€๋„๋ก ์ฃผ์˜ํ•˜๋ฉฐ ๊ณต๋ถ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ๊พธ๋ฉฐ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋””์ฆˆ๋‹ˆ๋ฅผ ์ข‹์•„ํ•ด์„œ ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์•˜์–ด์š”! ๋‚˜๋ฆ„ ๋™์˜์ƒ, ์• ๋‹ˆ๋ฉ”์ด์…˜, Flexbox, Validation Check ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ๋„ฃ์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” HTML, CSS, DOM ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ œ๋Œ€๋กœ ๋œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ๋” ๋งŽ์€ ๊ฒƒ๋“ค์ด ํ•„์š”ํ•˜๊ฒ ์ง€๋งŒ ๋ณด์ด๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋ดค์„ ๋•Œ๋Š” ์–ผ์ถ” ๊ฐ–์ถœ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š”..