๊ฐœ๋ฐœ/โ›ต ํ•ญํ•ด99

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Today I Learned ๐Ÿ“š โœจ ๋ฐ์ดํ„ฐ ๋ฐ”์ด๋”ฉ์ด๋ž€? ๋‘ ๋ฐ์ดํ„ฐ ํ˜น์€ ์ •๋ณด์˜ ์†Œ์Šค๋ฅผ ์ผ์น˜์‹œํ‚ค๋Š” ๊ธฐ๋ฒ•์œผ๋กœ, ํ™”๋ฉด์— ๋ณด์ด๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ธŒ๋ผ์šฐ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ(์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด)๋ฅผ ์ผ์น˜์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, MVC ๋ชจ๋ธ์—์„œ model๊ณผ view๋ฅผ ์„œ๋กœ ๋ฌถ์–ด model๊ณผ view์˜ “์ž๋™ ๋™๊ธฐํ™”” ์‹œํ‚ค๊ธฐ ๋ผ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค โœจ ์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์–‘๋ฐฉํ–ฅ ๋ฐ”์ธ๋”ฉ์ด๋ž€, ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ”์ธ๋”ฉ๊ณผ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํ”„๋กœํผํ‹ฐ ๋ฐ”์ธ๋”ฉ์ด ๊ฒฐํ•ฉ๋œ ํ˜•ํƒœ๋ฅผ ๋งํ•œ๋‹ค. ์žฅ์  : ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ๋ Œ๋”๋ง ํ•ด์ค„ ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ์™€ ๊ด€๋ จํ•œ ์ฝ”๋“œ๊ฐ€ ํ•„์š” ์—†์–ด์ ธ์„œ ์ฝ”๋“œ๊ฐ€ ์งง์•„์ง„๋‹ค. ⇒ ์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์€ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ์„ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๊ฐ์ง€ํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€, ..
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Today I Learned ๐Ÿ“š โœจ Redux – Middleware vs Context API ๋ฏธ๋“ค์›จ์–ด Redux ์—๋Š” ๋ฏธ๋“ค์›จ์–ด(Middleware)๋ผ๋Š” ๊ฐœ๋…์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋•์Šค๋กœ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํ•  ๋•Œ์—๋Š” ์šฐ๋ฆฌ๊ฐ€ [userReducer] ๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ ๋•Œ ์ ‘ํ–ˆ๋˜ ๊ฐœ๋…์ธ reducer ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋•์Šค์˜ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ก์…˜ ๊ฐ์ฒด๊ฐ€ ๋ฆฌ๋“€์„œ์—์„œ ์ฒ˜๋ฆฌ๋˜๊ธฐ ์ „์— ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ์ž‘์—…๋“ค์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด.. -ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ์•ก์…˜์ด ๋ฌด์‹œ๋˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -์•ก์…˜์„ ์ฝ˜์†”์— ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜, ์„œ๋ฒ„์ชฝ์— ๋กœ๊น…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -์•ก์…˜์ด ๋””์ŠคํŒจ์น˜ ๋์„ ๋•Œ ์ด๋ฅผ ์ˆ˜์ •ํ•ด์„œ ๋ฆฌ๋“€์„œ์—๊ฒŒ ์ „๋‹ฌ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -ํŠน์ • ์•ก์…˜์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๋‹ค๋ฅธ ์•ก์…˜์ด ๋ฐœ์ƒ๋˜๋„๋ก ํ•  ์ˆ˜ ..
โญ React(๋ฆฌ์•กํŠธ) ์—์„œ ๋ฐฐ์—ด ๋ฐ˜๋ณต๋ฌธ ์“ฐ๊ธฐ ์ด๋ฒˆ ์ฃผ์— ์ฃผ์–ด์ง„ ๊ฐœ์ธ ๊ณผ์ œ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ผ๋Š”๋ฐ, ๊ณต๋ถ€ํ•  ๋•Œ๋Š” ์ˆ ์ˆ ์ˆ  ์ ํžˆ๋˜ ์ฝ”๋“œ๊ฐ€ ๊ฐ‘์ž๊ธฐ ๊ฝ‰! ๋ง‰ํ˜”๋‹ค. ๋ฐ”๋กœ ๋ฐฐ์—ด ๋•Œ๋ฌธ์ด์˜€๋Š”๋ฐ, return () ์•ˆ์—์„œ for๋ฌธ์„ ๋ถˆ๋Ÿฌ ๋‚ผ ์ˆ˜ ์žˆ๋‚˜, ์—†๋‚˜์— ๋Œ€ํ•œ ์˜๋ฌธ๊ณผ ๋Š˜ ์ƒ map()์œผ๋กœ๋งŒ ๋ฐ˜๋ณต๋ฌธ์„ ๋งŒ๋“ค์–ด๋‚ด๋˜ ๋ฒ„๋ฆ‡์œผ๋กœ ํ•œ์ฐธ์„ ํ—ค๋งค์˜€๋‹ค. ์ผ๋‹จ, ๋ชป ๋ถˆ๋Ÿฌ๋‚ธ๋‹ค! ใ…Ž ์—ญ์‹œ๋‚˜ ๊ธฐ์–ต์— ์—†์—ˆ๋˜ ์ด์œ ๊ฐ€ ํ™•์‹คํ•˜๊ฒŒ ์žˆ์—ˆ๋‹ค. for๋ฌธ ์ž์ฒด๋ฅผ return () ๊ฐ’ ์•ˆ์—์„œ ๋ถˆ๋Ÿฌ๋‚ผ ์ˆ˜ ์—†์ง€๋งŒ ํ•จ์ˆ˜๋กœ ์œ„์—์„œ ์“ฐ๊ณ  JSX๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœ์„ ํ•  ์ˆœ ์žˆ๋‹ค! ๊ฐœ์ธ ๊ณผ์ œ๋กœ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ์ผ์ฃผ์ผ ํ‰์ ์„ ์ฃผ๋Š” ํ”„๋กœ์ ํŠธ์ธ๋ฐ, ์•ž์„  ๋ฉ”์ธ ํŽ˜์ด์ง€์— ๋œจ๋Š” ํ‰์ ์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์€ ๋žœ๋ค ์ˆซ์ž๋ฅผ ๋ฝ‘์•„์„œ ๐Ÿ’œ๐Ÿค ์ด๋ชจํ‹ฐ์ฝ˜์„ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์—ˆ๋‹ค. ์ด ๋•Œ ๋žœ๋ค์œผ๋กœ..
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Today I Learned ๐Ÿ“š โญ๋ผ์ดํ”„ ์‚ฌ์ดํด์ด๋ž€? ๋ผ์ดํ”„ ์‚ฌ์ดํด์„ ์ด์•ผ๊ธฐ ํ•˜๊ธฐ ์ „์— ‘๋ฆฌ์•กํŠธ’์˜ ํŠน์ง•์ ์ธ ๋ถ€๋ถ„์„ ๋จผ์ € ์ด์•ผ๊ธฐ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” View ์ค‘์‹ฌ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. html๋‹จ์œ„ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๊ฐ์ฒด๋กœ ์ƒ๊ฐํ•˜๋Š” DOM์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•˜์œ„ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฑธ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ ํŠธ๋ฆฌ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ˆ˜์ •๋  ๋•Œ๋งˆ๋‹ค ๋ชจ๋“  DOM์„ ๋’ค์ง€๊ณ  ์ˆ˜์ •ํ•  ๊ฑธ ์ฐพ๊ณ  ์ˆ˜์ •ํ•œ๋‹ค๋ฉด ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ๋“ค์ด ์—„์ฒญ ๋งŽ์ด ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ๋Š” ์ด ๋ถ€๋ถ„์˜ ๋ณด์•ˆํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ์ด๊ฒŒ ๊ฐ€์ƒDOM์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด DOM๊ณผ ์–ด๋–ค ํ–‰๋™ ํ›„ ์ƒˆ๋กœ ์—…๋Žƒ๋œ ๋ถ€๋ถ„์ด ๊ฐ€์ƒDOM์— ํ‘œํ˜„๋˜๊ณ  ๋‘ ๊ฐ€์ง€๋ฅผ ๋น„๊ตํ•ด์„œ ์ˆ˜์ •๋œ ๋ถ€๋ถ„์€ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ๋“ค์ด ์ผ์–ด๋‚  ํ•„์š”๊ฐ€ ์—†๊ฒ ์ฃ ? ..
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Weeky I Learned ๐Ÿ“š โญ ECMAScript ๋ž€? JavaScript๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด ECMAScript ๋ผ๋Š” ๋‹จ์–ด๋ฅผ ํ•œ๋ฒˆ์ฏค์€ ๋ณด๊ฒŒ ๋  ๊ฒ๋‹ˆ๋‹ค. ๋‘ ์šฉ์–ด๊ฐ€ ๋ฏน์Šค๋˜์–ด์„œ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ—ท๊ฐˆ๋ฆฌ๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๊ทธ ๋‘ ๊ฐ€์ง€ ์šฉ์–ด์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ECMA ์ธํ„ฐ๋‚ด์…”๋„ ๐Ÿ‘‰๐Ÿป ์ •๋ณด ํ†ต์‹ ์— ๋Œ€ํ•œ ํ‘œ์ค€์„ ์ œ์ •ํ•˜๋Š” ๋น„์˜๋ฆฌ ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ์ž…๋‹ˆ๋‹ค ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒ๊ฒจ๋‚˜๊ณ  ์„œ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ์–ด๋‚ด๊ธฐ ์œ„ํ•ด ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ์‹œ๊ธฐ์— MS์˜ IE๊ฐ€ JScript ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝ์„ ๋”ํ•ด์„œ ๋งŒ๋“ค์–ด๋ƒ…๋‹ˆ๋‹ค. ์ด ๋•Œ ์ด๋ฏธ Javascript๋Š” ์กด์žฌํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๋‘ ๊ฐ€์ง€์˜ ์Šคํฌ๋ฆฝํŠธ๋Š” ์‹œ๊ฐ„์ด ํ๋ฅผ์ˆ˜๋ก ๋‹ฌ๋ผ์ ธ๊ฐ€๊ณ  ๋”์šฑ ํ˜ผ๋ž€์„ ๊ฐ€์ค‘ํ•˜์ž ECMA ์ธํ„ฐ๋‚ด์…”๋„์—์„œ ์ด๋Ÿฐ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์— ๋Œ€ํ•œ ํ‘œ์ค€์„ ๋‚ด๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค..
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Today I Learned ๐Ÿ“š โญ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋Š” ์–‘์ธ ๊ฒƒ ๊ฐ™๋‹ค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋Š” ๊พธ์ค€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฑธ ํ•œ๋ฒˆ ๋” ๊นจ๋‹ฌ์•˜๋‹ค. ํ•˜๋ฉด ํ•  ์ˆ˜๋ก ์‚ฌ๊ณ ์˜ ๋ฐฉ์‹์ด ๋‹ค์–‘ํ•ด์ง€๋Š” ๊ฒƒ ๊ฐ™๊ณ . ํ™•์‹คํžˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ์—๋Š” ๋‹จ์ˆœํžˆ ๋จธ๋ฆฌ๋กœ๋งŒ ์ƒ๊ฐ๋งŒ ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋…ธํŠธ์— ๊ฐ„๋‹จํžˆ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๊ฑฐ๋‚˜ ์ƒ๊ฐ์„ ์ ์–ด ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋นจ๋ฆฌ ํ’€ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋„ ๊นจ๋‹ฌ์•˜๋‹ค. ๋…ธํŠธ์— ์ ์–ด ๋‚ด๋ ค๊ฐ€๋‹ค ๋ณด๋ฉด ์•ˆ ํ’€๋ฆฌ๋˜ ๊ฒƒ๋„ ๋ญ”๊ฐ€ ์ž˜ ๋ณด์ด๋Š” ๋А๋‚Œ์ด ๋“ ๋‹ค. ์˜ค๋Š˜ ๋กœ๋˜ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ 1์‹œ๊ฐ„ ์ด์ƒ์ด ๊ฑธ๋ ธ์ง€๋งŒ ๊ฒฐ๊ตญ์€ ํ’€์–ด๋ƒˆ๊ณ , note taking ๋„ ์—„์ฒญ ๋งŽ์ด ํ–ˆ๋‹ค. โญ ์†Œํ†ต์˜ ๋ฐฉ์‹ ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ 2์ฃผ์ฐจ์— ๊ฒช๊ฒŒ ๋  ์ง€ ๋ชฐ๋ž๋Š”๋ฐ, ๋ถˆ๋งŒ์ด ์žˆ๋‹ค๋ฉด ๋งค๋‹ˆ์ €์—๊ฒŒ ์ด์•ผ๊ธฐ๋ฅผ ํ•ด์„œ ํ’€์–ด ๋‚˜๊ฐ€์•ผ ํ•  ๋ฌธ์ œ์ธ๊ฑฐ ๊ฐ™์€๋ฐ, ์ด๊ฑธ ๊ทธ๋ ‡๊ฒŒ ๋ชจ๋‘๊ฐ€ ๋ณด๋Š” ์•ž์—์„œ ..
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Today I Learned ๐Ÿ“š โญ ๋ฐฐ์—ด์ด ๋‚˜ํƒ€๋‚ฌ๋‹คํ•˜๋ฉด ์ƒ๊ฐ๋‚˜๋Š” for๋ฌธ ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ๋ถ€์—ฌ๋ฐ›์•˜๊ณ , ํ•˜๋‚˜์”ฉ ํ’€์–ด๋ณด๊ณ  ์žˆ๋Š”๋ฐ ๋ฐฐ์—ด๋กœ ํ•˜๋Š” ๋ฌธ์ œ๋งŒ ๋‚˜์™”๋‹คํ•˜๋ฉด ์ž์—ฐ์Šค๋ ˆ for๋ฌธ์„ ์“ฐ๊ณ  ์žˆ๋‹ค. ์ด์ œ ์ง€๊ฒน๊ธฐ๊นŒ์ง€ํ•œ for๋ฌธ. ๋ฌธ์ œ์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ ์–ด๋–ค ๋ฌธ์ œ๋Š” for๋ฌธ์„ ์“ฐ๋ฉด ํšจ์œจ์ ์ด๊ธฐ๋„ํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋Š” ์จ์„œ ํ’€๊ณ  ์‹ถ์€๋ฐ ์˜ค๋ฅ˜๊ฐ€ ๊ณ„์† ๋‚˜๋‹ˆ๊น, ๋‚ด์žฅํ•จ์ˆ˜ ๋•Œ๋ฌธ์ธ๊ฑด์ง€, ์˜คํƒ€๊ฐ€ ์žˆ๋Š”๊ฑด์ง€, ๋‚ด๊ฐ€ ์“ฐ๋Š” ํ•จ์ˆ˜์— ํ™•์‹ ์ด ์—†์–ด์„œ ๊ณ„์†ํ•ด์„œ ํšŒํ”ผ๋งŒ ํ•˜๊ฒŒ ๋œ๋‹ค. ์˜ค๋Š˜ ํ•จ๊ป˜ ๊ณต๋ถ€ํ•˜๋Š” ํŒ€์› ์ค‘ ํ•œ ๋ถ„์ด reduce() ๋ผ๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ค„ ์ˆ˜ ์žˆ๊ฒ ๋ƒ๊ณ  ๋ฌผ์–ด๋ณด์…”์„œ ๋”ฐ๋กœ ๊ฒ€์ƒ‰์„ ํ•ด๋ดค์—ˆ๋‹ค. reduce()ํ•จ์ˆ˜๋Š” ๊ทธ์ € ๋ฐฐ์—ด์˜ ์š”์†Œ์˜ ์ „์ฒด ํ•ฉ์‚ฐ์„ ๊ตฌํ•˜๊ฑฐ๋‚˜, ์ตœ๊ณ ๊ฐ’์„ ๊ตฌํ•  ๋•Œ ์ผ๋Š”..
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Today I Learned ๐Ÿ“š โญ ์ƒˆ๋กœ์šด ์ฃผ -! ์ƒˆ๋กœ์šด ํŒ€์›๋“ค! ์ƒˆ๋กœ์šด ์ฃผ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๋Š” ์ฃผํŠน๊ธฐ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๊ธฐ์ดˆ์ ์ธ ๊ณต๋ถ€๋ฅผ ํ•˜๋Š” ์ฃผ๊ฐ„์œผ๋กœ ์ฃผํŠน๊ธฐ๋กœ ‘๋ฆฌ์•กํŠธ’๋ฅผ ์„ ํƒํ•œ ๋‚ด๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝ ๋ฌธ๋ฒ•์„ ๋‹ค์งˆ ์ˆ˜ ์žˆ๋Š” ์ฃผ์ด๊ธฐ๋„ ํ•˜๋‹ค. ์ด๋ฏธ ์ œ๊ณต๋ฐ›์€ ์ˆ˜์—…๋“ค์€ ๋ณธ ์ƒํ™ฉ์ด๊ณ  ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฑ…์„ ์ด๋ฒˆ์ฃผ์— ๋…ํŒŒํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์ƒˆ๋กœ์šด ํŒ€์„ ๋ถ€์—ฌ๋ฐ›๊ณ , ๋‚˜๋Š” ์ด ํŒ€์˜ ํŒ€์žฅ์ด ๋˜์—ˆ๋‹ค! ๋ญ๋ž„๊นŒ, ์ง€๋‚œ ์ฃผ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธํ•˜๋ฉด์„œ ์‹œ๊ฐ„ ๋ถ„๋ฐฐ๋ผ๋˜๊ฐ€, ํ๋ฆ„๋„๋ฅผ ๋จธ๋ฆฟ์†์œผ๋กœ ๊ทธ๋ฆฌ๋Š” ์—ญํ• ์„ ํ–ˆ์—ˆ๋Š”๋ฐ (ํŒ€์žฅ๋„ ์•„๋‹ˆ์˜€์ง€๋งŒ) .. ์ด๋ฒˆ์—” ์ง„์งœ๋กœ ๊ทธ๋ž˜์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์™”๋‹ค. ์ƒˆ๋กœ ๋งŒ๋‚œ ํŒ€์›๋“ค๊ณผ ๊ฐ„๋‹จํ•œ ์ž๊ธฐ์†Œ๊ฐœ๋„ ์—†์ด ์ด๊ฒƒ์ €๊ฒƒ ๊ณ„ํš์„ ์ด์•ผ๊ธฐํ–ˆ๋˜ ๋‚˜ .. ใ…Ž ์„ฑ๊ฒฉ์ด ๊ธ‰ํ•ด๊ฐ€์ง€๊ณ  ์ด๊ฑฐ์› ใ…Ž โญ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฒฉํŒŒ! ํ•ญํ•ด99..
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Weekly I Learned ๐Ÿ“š โญ1์ฃผ์ฐจ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ๋งˆ๋ฌด๋ฆฌ ๊ธˆ์š”์ผ ์ž์ •๊นŒ์ง€์˜€๋˜ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋А๋ผ. 4-5์ผ์€ ์ง„์งœ ์ƒˆ๋ฒฝ 3์‹œ์—๋‚˜ ์ž ์— ๋“ค ์ˆ˜๊ฐ€ ์žˆ์—ˆ๋‹ค. ๋•๋ถ„์— TIL๋„ ์“ธ ์‹œ๊ฐ„์ด ์—†์—ˆ๋‹ค. ๋ชจ๋“ ๊ฒŒ ๋งˆ๋ฌด๋ฆฌ ๋œ ์ง€๊ธˆ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ํšŒ๊ณ ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ชฐ์•„์น˜๋“ฏ์ด ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ๋ญ˜ ์–ป์„ ์ˆ˜ ์žˆ์„๊นŒ? ๋ผ๋Š” ์ƒ๊ฐ์„ ํ•ด๋ดค๋Š”๋ฐ, ํ”ผ๋“œ๋ฐฑ ์‹œ๊ฐ„์— ํ•  ์งˆ๋ฌธ๋“ค์„ ์ค€๋น„ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ๋‚ด์šฉ์„ ๋ฌธ์„œํ™”์‹œํ‚ค๋ฉด์„œ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์šฐ๋ฆฌ๊ฐ€ ์ง  ์ฝ”๋“œ๋ฅผ ๋ณผ ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์—ˆ๋‹ค. ์„œ๋กœ๊ฐ€ ์ง  ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•˜๊ณ , ๋งˆ์ง€๋ง‰๊นŒ์ง€ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•  ์‹œ๊ฐ„์„ ๊ฐ€์ง„ ๊ฑด ์ •๋ง ์ข‹์•˜๋‹ค. ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ˜‘์—…์œผ๋กœ ๋๋งˆ์ณค๋‹ค๋Š” ๋ฟŒ๋“ฏํ•จ๊ณผ ์ด๋Ÿฐ ์ฝ”๋“œ๋ฅผ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ–ˆ๋‹ค๊ณ ?! ๋ผ๋Š” ๊ฐ๊ฒฉ๊ณผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒ๊ฐ์ด ๋“ค..
๋ณธ ํฌ์ŠคํŒ…์€ ์ง€๋‚œ 11์›”์— ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค โญ ์›น ์Šคํฌ๋ž˜ํ•‘ ํŒ€ ํ”„๋กœ์ ํŠธ๋กœ ์„œ๋กœ ํ•ด์•ผํ•  ๊ฒƒ ๋“ค์„ ๋‚˜๋ˆ„๋ฉด์„œ ์–ด์ฉ์ง€ ๋‚˜๋„ ๋ชจ๋ฅด๊ฒŒ ๋ฉ”์ธ ํŽ˜์ด์ง€์™€ ์ƒ์„ธํŽ˜์ด์ง€์— ๊ฑธ์นœ ์›น ์Šคํฌ๋ž˜ํ•‘ ์ž‘์—…์„ ํ•˜๊ฒŒ๋˜์—ˆ๋‹ค. ๋‹ค๋“ค ํ•ด๋ณด๊ณ  ์‹ถ์€๊ฒŒ ์žˆ๋‹ค๊ณ  ํ•ด์„œ ๋„๋งก์•„ํ•˜๊ฒŒ ๋œ ๊ฒƒ์ธ๋‹ค. ๊ทธ ๋™์•ˆ ํ˜ผ์ž ๋…ํ•™์œผ๋กœ ํ•ด๋ณด์ง€ ๋ชป ํ•œ ๊ฒƒ์ด์—ฌ์„œ ์กฐ๊ธˆ ๋‘‘ํ”๋‘‘ํ”ํ–ˆ๋‹ค ์›น ์Šคํฌ๋ž˜ํ•‘(web scraping)์ด๋ž€? ์›น ์‚ฌ์ดํŠธ ์ƒ์—์„œ ์›ํ•˜๋Š” ๋ถ€๋ถ„์— ์œ„์น˜ํ•œ ์ •๋ณด๋ฅผ ์ปดํ“จํ„ฐ๋กœ ํ•˜์—ฌ๊ธˆ ์ž๋™์œผ๋กœ ์ถ”์ถœํ•˜์—ฌ ์ˆ˜์ง‘ํ•˜๋Š” ๊ธฐ์ˆ ์„ ์ด์•ผ๊ธฐํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์šฉ์–ด์™€ ์œ ์‚ฌํ•œ ๋А๋‚Œ์œผ๋กœ ์“ฐ์ด๋Š” ๋‹จ์–ด๊ฐ€ ์›น ํฌ๋กค๋ง์ด๋‹ค. ํ˜ผ์šฉํ•ด์„œ ์“ฐ๊ณ  ์žˆ์ง€๋งŒ. ์›น ํฌ๋กค๋ง(web crawling) ์€ ์ž๋™ํ™” ๋ด‡(bot)์ธ ์›น ํด๋กœ๋Ÿฌ๊ฐ€ ์ •ํ•ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ธŒ๋ผ์šฐ์ง•ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‚ด๊ฐ€ ํ•œ ๊ฒƒ์€ ์›น ์Šคํฌ..
๋ณธ ํฌ์ŠคํŒ…์€ ์ง€๋‚œ 11์›”์— ์—…๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค ์ •๋ณดDB ๋งŒ๋“ค๊ธฐ ์šฐ๋ฆฌ ํŒ€ ํ”„๋กœ์ ํŠธ์—๋Š” ์œ ์ €db, ๋ฆฌ๋ทฐdb, ์ •๋ณดdb ์ด 3๊ฐ€์ง€๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ๋‚˜๋Š” ๊ทธ ์ค‘์— ์ •๋ณด db๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ๋งŒ๋“ค๊ฒŒ ๋˜์„œ ํ•˜๋ฃจ์˜ ๊ณ„ํš์„ DB ๋ฐ์ดํ„ฐ๋ฅผ ๊ธ์–ด์™€์„œ ๋ณด๋‚ด๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ–ˆ๋‹ค. DB๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฑธ ๋จธ๋ฆฟ์†์œผ๋กœ ์ƒ๊ฐ๋งŒ ํ–ˆ์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ณ„ํš์„ ์งœ๋‹ค๋ณด๋‹ˆ ์šฐ์„  DB ๋จผ์ € ๋งŒ๋“ค์–ด ๋‘๋Š”๊ฒŒ ์—ฌ๋Ÿฌ๋ชจ๋กœ ํŽธํ•  ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ ํŒ€ ํ”„๋กœ์ ํŠธ์˜ ๊ธฐํš์ด ์ œ๋Œ€๋กœ ๋ ์ง€ ํ™•์ธ์„ ํ•ด์•ผํ–ˆ๊ธฐ์— ๋ชฝ๊ณ DB๋กœ ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ ์›น ํฌ๋กค๋ง๋ถ€ํ„ฐ ํ–ˆ๋‹ค. ๋‚˜ ํฌํ•จ ๋‹ค๋ฅธ ํŒ€์› ํ•œ๋ช…๋„ ๊ฐ™์€ ํŽ˜์ด์ง€์˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ๊ฐ์ž ๊ฐ™์€ ์‚ฌ์ดํŠธ์˜ ์›น ํฌ๋กค๋ง๋ถ€ํ„ฐ ํ•ด๋ณด๊ธฐ๋กœ ํ•˜๊ณ  2์‹œ๊ฐ„ ์ •๋„ ๋’ค์— ๋‹ค์‹œ ๋งŒ๋‚˜์„œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๊ธฐ๋กœ ํ–ˆ๋Š”๋‹ค. ์šฐ๋ฆฌ ๋‘˜ ๋‹ค ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ db๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ๋‹ค. ๋ฌผ๋ก ..
๋ณธ ํฌ์ŠคํŒ…์€ ์ง€๋‚œ 11์›”์— ์—…๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. โญ 1์ฃผ์ฐจ ํ”„๋กœ์ ํŠธ : ์ „์‹œ ๋ญํ•˜๋‹ˆ? (์ „์‹œํšŒ ๋ฆฌ๋ทฐ ์‚ฌ์ดํŠธ) ์™€์ด์–ดํ”„๋ ˆ์ž„ ์ž‘์„ฑ โœ” 1์ฃผ์ฐจ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ๊ณ ์•ˆ๋œ ์•„์ด๋””์–ด๋ฅผ ์ฒด๊ณ„ํ™”์‹œํ‚ค๋Š” ๊ฒƒ์œผ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ๋‹ค. ๋‚ด๊ฐ€ ์ƒ๊ฐ์ง€ ๋ชปํ•œ ์•„์ด๋””์–ด์™€ ๊ธฐ๋Šฅ๋ถ€๋ถ„๋“ค์„ ํ•จ๊ป˜ ์ƒ๊ฐํ•ด๋‚˜๊ฐ€๋‹ค๋ณด๋‹ˆ ์ด๋ฏธ ๊ทธ๋Ÿด์‹ธํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ํƒ„์ƒํ•œ ๊ธฐ๋ถ„์„ ๋А๊ผˆ๋‹ค. โญ ํŒŒ์ด์ฌ jinja2 ์‚ฌ์šฉ๋ฒ• Jinja2 is a templating engine for Python. jinja๋Š” python ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์šฉ ์›น ํ…œํ”Œ๋ฆฟ ์—”์ง„์ด๋‹ค. Flask๋กœ ์›น์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , jinja2๋Š” ๊ทธ ์†์—์„œ ์‹ค์žฌํ•˜๋Š” ์–ด๋–ค ํŒŒ์ผ์— ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ์ง‘์–ด๋„ฃ์–ด์„œ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝ์‹œ์ผœ์„œ html๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์—”์ง„์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ajax๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋˜ ๊ฒƒ์„ jinja2..
๋ฐ(Ming) ๐Ÿˆ‍โฌ›
'๊ฐœ๋ฐœ/โ›ต ํ•ญํ•ด99' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (4 Page)