๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (220)

JiYoung Dev ๐Ÿ–ฅ

[React] To-do List ๋งŒ๋“ค๊ธฐ (2023.05.23)

๐ŸŽˆ ๊ตฌ์„ฑํ•˜๊ธฐ ๐Ÿ“– ์ปดํฌ๋„ŒํŠธ 1. TodoList 2. TodoItem 3. TodoInput ๐Ÿ“– ์ปจํ…์ŠคํŠธ - TodoContext ์ „์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฐ’ 1. todos : ๋‚ด์šฉ, ์™„๋ฃŒ์—ฌ๋ถ€ (๊ฐ์ฒด๋กœ ์ €์žฅ) 2. newTodo : ๋‚ด์šฉ ๐ŸŽˆ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ (์ˆœ์„œ) 1) ํ™”๋ฉด์— ์ฒซ Todo ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ ์ปดํฌ๋„ŒํŠธ ์—ฐ๊ฒฐ ์ปจํ…์ŠคํŠธ ์—ฐ๊ฒฐ ์ปจํ…์ŠคํŠธ๋กœ ์‚ฌ์šฉํ•  ๊ฐ’ state๋กœ ์ €์žฅ ํ›„ ์ดˆ๊นƒ๊ฐ’ ์ง€์ •ํ•˜์—ฌ ์ถœ๋ ฅ๋˜๋„๋ก 2) ์ž…๋ ฅ์ฐฝ์— ๊ธ€์”จ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด newTodo์— ์ €์žฅ handleNewTodo() 3) Add ๋ฒ„ํŠผํด๋ฆญ์‹œ Todos์— newTodo ๊ฐ์ฒด ์ถ”๊ฐ€, input ํ…์ŠคํŠธ ์ฐฝ ๊ณต๋ฐฑ์œผ๋กœ addNewTodo() 4) add ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์ถ”๊ฐ€๋œ ๊ฐ์ฒด ํ™”๋ฉด์— ๋„์šฐ๊ธฐ addNewTodo() 5) delete ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋ฆฌ์ŠคํŠธ ์‚ญ์ œ d..

full stack/React 2023. 5. 24. 00:25
[React] context API (2023.05.22)

๐ŸŽˆ context API ์“ฐ๋Š” ์ด์œ  ๐Ÿ“– props์˜ ๋‹จ์  ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„ ์œ„์™€ ๊ฐ™์€ ๋ฐ์ดํŠธ ํ๋ฆ„์„ ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„ (one-way reactive data flow)์ด๋ผํ•˜๊ณ  react๋Š” ์ด๋Ÿฌํ•œ ํ๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ์žฅ์  1. ๊ด€๋ฆฌ์— ์šฉ์ดํ•จ 2. DOM๊ณผ์˜ ๊ถํ•ฉ - tree๊ตฌ์กฐ์˜ dom ๊ตฌ์กฐ์— ์œ ๋ฆฌํ•จ ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ๋‹จ์  ์ž์‹์š”์†Œ์—์„œ ๋ถ€๋ชจ์š”์†Œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์—†์Œ โš™๏ธ ๋ถ€๋ชจ์š”์†Œ๊ฐ€ ์ž์‹์š”์†Œ์˜ ๊ฐ’์„ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ท€์ฐฎ๋‹ค >> contextAPI๋ฅผ ์‚ฌ์šฉํ•จ ๐ŸŽˆ context API ๐Ÿ“– context API ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  props๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ๋ฒˆ ์‚ฌ์šฉํ•ด์•ผ ํ•จ ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ๋ณด๊ด€ํ•˜์—ฌ ๋Œ์–ด๋‹ค ์“ฐ๋Š” ๋ฒ• >> Context API ์žฅ์  : ์ „์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜..

full stack/React 2023. 5. 22. 19:53
[React] React ๋ณต์Šต (๊ฐœ๋… ~ context API๊นŒ์ง€) (2023.05.22)

์ง€๋‚œ์ฃผ๋ถ€ํ„ฐ ๋ฆฌ์•กํŠธ๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ๊ตฌ์กฐ์™€ ๋ฌธ๋ฒ•, ์“ฐ๋Š” ์ด์œ ์— ๋Œ€ํ•˜์—ฌ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์–ด ๋”ฐ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ! 1. ๋ฆฌ์•กํŠธ(React)๋ž€? ๋ฆฌ์•กํŠธ๋ž€, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ meta(๊ตฌ facebook)์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ฃผ๋กœ SPA(Single Page Application)์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ React๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ 1-1. ๊ธฐ์กด ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์˜ ๋‹จ์  1) HTML๊ณผ JS๊ฐ€ ๊ฐ€์ง„ ๋ถ„๋ฆฌ๊ฐ & ์ง๊ด€์ ์ด์ง€๋งŒ ๋„ˆ๋ฌด ๊ธด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ HTML ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” document.getElementById ๋“ฑ ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ธด ์ฝ”๋“œ ์ž‘์„ฑ์„ ํ†ตํ•ด ์š”์†Œ๋ฅผ ๋ถˆ๋Ÿฌ ์˜ฌ ์ˆ˜ ์žˆ์Œ ๋ฆฌ์•กํŠธ๋Š” HTML๊ณผ JS ๋ฌธ์„œ๋ฅผ ํ•ฉ..

full stack/React 2023. 5. 22. 19:48
[JSP/Servlet] Maven (2023.05.22)

๐ŸŽˆ Build ํฉ์–ด์ง„ ์ž์›๋“ค์„ WAS๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋กœ ๋งž์ถฐ์ฃผ๋Š” ๊ฒƒ ex. ํ™”๋ฉด์— ๋ณด์—ฌ์•ผ ํ•˜๋Š” ๊ฒƒ์€ web-app ๋‚ด๋ถ€์— ๋“ค์–ด๊ฐ€์•ผ ํ•จ. WEB-INF๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง์ ‘ ์ ‘๊ทผ ๋ถˆ๊ฐ€ํ•œ ๊ณณ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์„ ์ €์žฅ ๊ณผ๊ฑฐ์—๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ–ˆ์Œ >> ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ ๋งŒ๋“ค์–ด์ง„ ๋„๊ตฌ >> ๋นŒ๋“œ ๋„๊ตฌ ๐Ÿ“– ๋นŒ๋“œ๋„๊ตฌ โš™ Ant ์ž๋ฐ” ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ๋ฅผ ์ž๋™ํ™”ํ•ด์ฃผ๋Š” ๋นŒ๋“œ ํˆด โš™ Maven ์ž๋ฐ” ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ๋ฅผ ์ž๋™ํ™”ํ•ด์ฃผ๋Š” ๋นŒ๋“œ ํˆด ์ปดํŒŒ์ผ๊ณผ ๋นŒ๋“œ๋ฅผ ๋™์‹œ์— ์ˆ˜ํ–‰, ํ…Œ์ŠคํŠธ๋ฅผ ๋ณ‘ํ–‰ํ•˜๊ฑฐ๋‚˜ ์„œ๋ฒ„ ์ž์›์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์ œ๊ณต Ant๋ฅผ ๊ฐ„ํŽธํ™”ํ•œ ๊ฒƒ - Ant์˜ ๊ฒฝ์šฐ - Maven์˜ ๊ฒฝ์šฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ์„ ์ง์ ‘ ๋‹ค์šด๋ฐ›์•„ ๋„ฃ์–ด์ฃผ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ pom.xml์— ์ ๊ธฐ๋งŒ ํ•˜๋ฉด ๋จ ๐ŸŽˆ Maven ์‹ค์Šต ๐Ÿ“– Maven ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ Gr..

full stack/Back-End 2023. 5. 22. 14:10
[JSP/Servlet] Web MVC (2023.05.19)

๐ŸŽˆ ๋””์ž์ธ ํŒจํ„ด(Design Pattern) ์˜์‚ฌ์†Œํ†ต ์ˆ˜๋‹จ์˜ ์ผ์ข… ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ์—์„œ ํŠน์ • ๋ฌธ๋งฅ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•ด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ์ฑ… ์†Œ์Šค๋‚˜ ๊ธฐ๊ณ„ ์ฝ”๋“œ๋กœ ๋ฐ”๋กœ ์ „ํ™˜๋  ์ˆ˜ ์žˆ๋Š” ์™„์„ฑ๋œ ๋””์ž์ธ์€ ์•„๋‹ˆ๋ฉฐ ๋‹ค๋ฅธ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ์— ์“ฐ์ด๋Š” ํ…œํ”Œ๋ฆฟ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์‹œ์Šคํ…œ์„ ๋””์ž์ธํ•  ๋•Œ ๊ณตํ†ต๋œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ์— ์“ฐ์ด๋Š” ํ˜•์‹ํ™”๋œ ๊ด€ํ–‰ ๐ŸŽˆ ์›น ๋””์ž์ธ ํŒจํ„ด ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ๊ณผ ์œ ์ง€๋ณด์ˆ˜์˜ ํŽธ๋ฆฌ์„ฑ์„ ์œ„ํ•ด์„œ ์ •ํ•ด์ง„ ์•ฝ์†๋Œ€๋กœ ๊ตฌ์กฐ๋ฅผ ๋””์ž์ธ ํ•˜๋Š” ๊ฒƒ Spring ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋Š” MVC ํŒจํ„ด์ด ๊ธฐ๋ณธ ๐ŸŽˆ MVCํŒจํ„ด ๐Ÿ“– ์›น MVC ํŒจํ„ด 2๊ฐ€์ง€ โš™๏ธ Model1 view, controller ๋ชจ๋‘ jsp์—์„œ ์ž‘์„ฑ โš™๏ธ Model2 view๋Š” jsp (htm..

full stack/Back-End 2023. 5. 19. 14:51