F-Lab 32

Week 12

Week 12 : ๋ณต์Šต, ๊ฐ์ฒด ์ง€ํ–ฅ, ๋””์ž์ธ ํŒจํ„ด ๋“ฑ โœ๏ธ ์ด์ œ ๋ฉ˜ํ† ๋ง ์ค‘๋ฐ˜์„ ํ–ฅํ•ด ๋‹ฌ๋ ค๊ฐ€๊ณ  ์žˆ๋‹ค. ์ง€๋‚œ ๋‚ ๋“ค์„ ๋˜๋Œ์•„ ๋ณด์•˜์„ ๋•Œ, ๋‚˜๋Š” ์ง€๋‚˜์˜จ ์‹œ๊ฐ„๋งŒํผ ์„ฑ์žฅ ํ–ˆ์„๊นŒ? ์š”์ฆ˜ ๋‹ค์‹œ ๋˜๋ฌป๋Š” ์‹œ๊ฐ„์ด ๋งŽ์•„์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด ํ•  ์ˆ˜๋ก, ๋‚ด๊ฐ€ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์ƒ๊ธฐํ•˜๋ฉฐ ์ž… ๋ฐ–์œผ๋กœ ๊บผ๋‚ผ ๋•Œ ๋งˆ๋‹ค ์ž์‹ ๊ฐ์ด ๋–จ์–ด์ง€๋Š” ๊ฒƒ์„ ๋Š๋‚€๋‹ค. (๋”๋‹ ํฌ๋ฃจ๊ฑฐ ํšจ๊ณผ์ธ๊ฐ€?) ์ด ๋ฌด๊ธฐ๋ ฅ์„ ์ด๊ฒจ๋‚ด๋ ค๊ณ  ๋งค์ผ ๋‹ค์งํ•˜์ง€๋งŒ ์‰ฝ๊ฒŒ ์ด๊ฒจ๋‚ด์ง€ ๋ชปํ•˜๋Š” ๋‚ด ์ž์‹ ์ด ํ•œ์‹ฌํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ~ ๋ถ€์ •์ ์ธ ์ƒ๊ฐ์€ ํ•˜์ง€ ์•Š๊ธฐ๋กœ ์˜ค๋ž˜ ์ „ ๋ถ€ํ„ฐ ์•ฝ์† ํ–ˆ์œผ๋‹ˆ๊นŒ ํ•‘ํฌ๋น› ๋ฏธ๋ž˜๋ฅผ ์ƒ๊ฐํ•˜๋ฉฐ ์˜ค๋Š˜ ๋‚˜๋ˆˆ ์ด์•ผ๊ธฐ๋“ค์„ ์ •๋ฆฌํ•ด๋ด์•ผ๊ฒ ๋‹ค! 1. Statement, SQL Injection ์ง€๋‚œ ์ฃผ์ฐจ์—์„œ ํ•ด๋‹น ์ฃผ์ œ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ–ˆ์ง€๋งŒ, SQL Injection ์— ๋Œ€ํ•œ ..

์‚ถ/F-Lab 2021.07.24

Week 11

Week 11 : Statement, PreparedStatement, MVC, DispatcherServlet โœ๏ธ ๋ฒŒ์จ 7์›” ์ค‘์ˆœ, ์—ดํ•œ ๋ฒˆ์งธ ๋ฉ˜ํ† ๋ง์„ ๋งˆ์ณค๋‹ค. ์ €๋ฒˆ ์ฃผ์™€ ์ด๋ฒˆ ์ฃผ๋Š” ๋ธ”๋กœ๊ทธ๋ž‘ ๋…ธ์…˜์— ์ •๋ฆฌํ•œ ๋‚ด์šฉ๋„ ์—†๊ณ  ์˜ค๋กœ์ง€ ์•„์ดํŒจ๋“œ์—๋‚˜ ๋„์ ๊ฑฐ๋ฆฐ ๋‚ด์šฉ ๋ฐ–์— ์—†์–ด์„œ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์ด ๊ฐ€๊นŒ์›Œ์งˆ ๋•Œ ๋งˆ๋‹ค ๋„ˆ๋ฌด ๊ธด์žฅ ๋๊ณ , ๊ทธ ๋งŒํผ ๊ธด์žฅ ํ–ˆ๋‹ค๋Š” ๊ฑด ๋‚ด๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”๊ฒŒ ์ ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ์ด๋ฒˆ ๋ฉ˜ํ† ๋ง๋„ ์–ด๋–ป๊ฒŒ ์ง€๋‚˜๊ฐ€๊ธฐ๋Š” ํ–ˆ์ง€๋งŒ ๋‚ด๊ฐ€ ๊ฒŒ์œผ๋ฅด๊ณ  ๋” ๋…ธ๋ ฅํ•˜์ง€ ๋ชปํ•ด์„œ ์กฐ๊ธˆ ์•„์‰ฌ์šด ์‹œ๊ฐ„์ด์˜€๋‹ค. ๋” ์‹œ๊ฐ„์„ ๋‚ด์„œ ์ดํ•ดํ•˜๋Š” ์‹œ๊ฐ„์„ ๋Š˜๋ ค์•ผ๊ฒ ๋‹ค. ์ด๋ฒˆ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์—๋Š” JSP ๊ด€๋ จํ•œ ๋‚ด์šฉ๋“ค์— ๋Œ€ํ•ด์„œ ์ฃผ๋กœ ์ด์•ผ๊ธฐ ๋‚˜๋ˆ„์—ˆ๋Š”๋ฐ, ํ•ด๋‹น ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค! 1. Statement, PreparedStateme..

์‚ถ/F-Lab 2021.07.16

Week 10

Week 10 : DBMS, Servlet, Session, Cache โœ๏ธ 7์›”์˜ ์ฒซ ์งธ ์ฃผ ๋ฉ˜ํ† ๋ง! ์ด๋ฒˆ ์ฃผ ๊ธฐ๋ก์€ ํ˜„์ƒ์— ์น˜์—ฌ ์‹œ๊ฐ„์„ ๋ณด๋‚ด๋‹ค ๋ณด๋‹ˆ ๋ฉ˜ํ† ๋ง ๋‹น์ผ์— ์ž‘์„ฑํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. (์‚ฌ์‹ค ๊ฒŒ์œผ๋ฅธ๊ฑฐ๋‹ค.) ๊ทธ๋ฆฌ๊ณ  JSP ์ฑ…์„ ๋‹ค ์ฝ์–ด๋ณด๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ์ดํ•ด๋˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„๋„ ๋งŽ์•„์„œ ๋‹ค ์ฝ์ง€ ๋ชปํ–ˆ๋‹ค. (์ •๋ง ๊ฒŒ์œผ๋ฅธ๊ฑฐ๋‹ค.) ๊ทธ๋ž˜์„œ ๋ฐ˜์„ฑ์˜ ์‹œ๊ฐ„์„ ์กฐ๊ธˆ ๊ฐ€์ง€๊ณ  ๋ฉ˜ํ† ๋งํ•œ ๋‚ด์šฉ์„ ๋Šฆ๊ฒŒ๋‚˜๋งˆ ๊ธฐ๋กํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” Servlet, DBMS, Session, Cache ๋“ฑ์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ์ •๋ฆฌํ•ด๋ณด์ž! 1. JSP Output Buffer JSP ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ”๋กœ ์‘๋‹ตํ•˜์ง€ ์•Š๊ณ  ๋ฒ„ํผ๋ผ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๊ฒฐ๊ณผ๋ฅผ ์Œ“์•„๋‘์—ˆ๋‹ค๊ฐ€ ํ•œ ๋ฒˆ์— ์‘๋‹ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ..

์‚ถ/F-Lab 2021.07.10

Week 9

Week 9 : ๋„คํŠธ์›Œํฌ, ํ”„๋ก์‹œ, ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ โœ๏ธ 6์›”์˜ ๋งˆ์ง€๋ง‰ ๋ฉ˜ํ† ๋ง! ์–ด๋Š ์ƒˆ ๋ฒŒ์จ ๋ฉ˜ํ† ๋ง์„ ์‹œ์ž‘ํ•œ์ง€ ๋‘ ๋‹ฌ์ด ์ง€๋‚ฌ๋‹ค. ๋งŽ์€ ๊ฑธ ๋ฐฐ์šด ๊ฒƒ ๊ฐ™์œผ๋ฉด์„œ๋„ ์•„์ง ๋ถ€์กฑํ•˜๋‚˜ ์ ์ด ๋งŽ์€ ๊ฒƒ ๊ฐ™๋‹ค. ์ด๋ฒˆ ์ฃผ ๋ถ€ํ„ฐ ๋ณธ๊ฒฉ์ ์œผ๋กœ JSP ๊ด€๋ จํ•˜์—ฌ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฃผ๋กœ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์ด๋‚˜ HTTP ํ†ต์‹ , Servlet ๋“ฑ์„ ๊ณต๋ถ€ํ–ˆ๊ณ , ํ•ด๋‹น ๋‚ด์šฉ์— ๋Œ€ํ•ด์„œ ๋ฉ˜ํ† ๋ง์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ๋ฉ˜ํ† ๋งํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค! 1. L4, L7 Switch ๋จผ์ € L4, L7 Switch ๋Š” ์ „์†ก ๊ณ„์ธต์— ์†ํ•˜๋Š” ์Šค์œ„์น˜ ์žฅ๋น„์—์„œ ๋ถ„๋ฆฌ ๋ถ„์‚ฐ ์ž‘์—…์„ ์œ„ํ•œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐฉ๋ฒ•์„ ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋‚˜๋ˆˆ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ์ด๋ฆ„์ด Switch ๋ผ๊ณ  ํ•ด์„œ ํŠน์ •ํ•œ ์žฅ๋น„๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค! (์ง€๊ธˆ๊นŒ์ง€ L4, L7 Switch ์™€ ๋กœ๋“œ ๋ฐธ..

์‚ถ/F-Lab 2021.07.02

F020 - L4 Switch

โœ๏ธ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ OSI 7 Layer, TCP/IP ๋ชจ๋ธ์— ๋Œ€ํ•ด ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ๊ณผ ์„œ๋ฒ„ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ฃผ์ œ๊ฐ€ ๋‚˜์™”๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๋‹น ์ฃผ์ œ๋กœ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋ฉด์„œ ๋Œ€๋ถ€๋ถ„์˜ ์šฉ์–ด๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๊ธฐ์— ์ด๋ฒˆ ์‹œ๊ฐ„์„ ํ†ตํ•ด์„œ L4 ์Šค์œ„์น˜์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค! ๊ฐ ๊ณ„์ธต ๋ณ„ ์‚ฌ์šฉ๋˜๋Š” ์žฅ๋น„ ๐Ÿ“ L1 - ํ—ˆ๋ธŒ, ๋ฆฌํ”ผํ„ฐ : ๋น„ํŠธ ์‹ ํ˜ธ๋ฅผ ์ „๊ธฐ ์‹ ํ˜ธ ๋ฐ”๊ฟ” ์†ก์‹ ํ•˜๊ฑฐ๋‚˜ ๊ทธ ๋ฐ˜๋Œ€๋กœ ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์— ์†ก์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋น„ํŠธ ์‹ ํ˜ธ๋กœ ๋””์ฝ”๋”ฉ ํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด์— ์†ํ•˜๋Š” ์žฅ๋น„๋กœ๋Š” ํ—ˆ๋ธŒ, ๋ฆฌํ”ผํ„ฐ ๋“ฑ์ด ์žˆ์œผ๋ฉฐ ๊ณผ๊ฑฐ์˜ ํ—ˆ๋ธŒ(๋”๋ฏธ ํ—ˆ๋ธŒ)๋Š” ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์žฅ๋น„์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•œ ์žฅ๋น„๋Š” ํ—ค๋”๋ฅผ ํ•ด์ฒดํ•˜์—ฌ MAC ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ์ฃผ์†Œ์™€ ์ž์‹ ์˜ ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ..

Network 2021.06.28

Week 8

Week 8 : ์Šคํ„ฐ๋””์Šคํ„ฐ๋””์Šคํ„ฐ๋”” โœ๏ธ 6์›” ๋„ท์งธ ์ฃผ ๋ฉ˜ํ† ๋ง! ์ด๋ฒˆ ์ฃผ์—๋Š” ํ•จ๊ป˜ํ•˜๋Š” ๋ฉ˜ํ‹ฐ๋‹˜๊ณผ ์ž์นญ ๋ชจ๊ฐ์—ช ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ณผ์ œ๋กœ ์ฃผ์–ด์ง„ ์ฃผ์ œ๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์˜จ๋ผ์ธ์œผ๋กœ ๋ชจ์—ฌ์„œ ์ฃผ์ œ๋ฅผ ์ •ํ•˜๊ณ  ํ•ด๋‹น ์ฃผ์ œ๋ฅผ ๊ฐ์ž ์ฃผ์–ด์ง„ ์‹œ๊ฐ„๋งŒํผ ๊ณต๋ถ€ํ•œ ๋‹ค์Œ ๊ฐ์ž ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ, ์ฒ˜์Œ ํ•ด๋ณด๋Š” ๋ฐฉ์‹์ด์˜€์ง€๋งŒ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์Šคํ„ฐ๋”” ๋ฐฉ๋ฒ•๋ณด๋‹ค ํ›จ์”ฌ ์ง‘์ค‘๋„ ์ž˜๋˜๊ณ  ๋ฌด์—‡๋ณด๋‹ค ์„œ๋กœ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋ฉด์„œ ์ •๋ฆฌ๋˜๋Š” ๊ณผ์ •์ด ์žˆ์–ด์„œ ์ •๋ง ์ข‹์•˜๋‹ค! ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์˜ค๋Š˜ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์—๋„ ๋ชจ๋ฅด๋Š” ๋‚ด์šฉ์ด ๋‚˜์™€์„œ ์ ์ž–ํžˆ ๋‹นํ™ฉํ–ˆ์ง€๋งŒ.. ๋ชจ๋ฅด๋Š” ๋‚ด์šฉ์€ ๊ณต๋ถ€ํ•˜๋ฉด ๋˜๋‹ˆ๊นŒ! ์ด์ œ ์˜ค๋Š˜ ๋ฉ˜ํ† ๋ง ํ•œ ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด์ž! 1. OSI 7 Layer ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ๊ณ„์ธต ๋ณ„๋กœ ๋‚˜๋‰˜์–ด ๋†“์€ ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. OSI ..

์‚ถ/F-Lab 2021.06.25

F019 - Socket

โœ๏ธ ์ด์ „ ์‹œ๊ฐ„์— IO์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ๊ณผ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ๊ณผ๋Š” ์ „ํ˜€ ๊ด€๋ จ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ํ•˜๋‚˜ ๋‘˜ ์”ฉ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋‹ˆ ํ•˜๋‚˜์˜ ๋ฟŒ๋ฆฌ์—์„œ ์‹œ์ž‘๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๊ทธ ์—ฐ์žฅ์œผ๋กœ Socket ํ†ต์‹ ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. Socket Socket(์ดํ•˜ ์†Œ์ผ“)์€ ๋ฌด์—‡์ผ๊นŒ? ์ผ์ƒ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ฝ˜์„ผํŠธ ์†Œ์ผ“์ผ ์ˆ˜๋„ ์žˆ๊ณ , ์ „๊ตฌ๋ฅผ ๋ผ์šฐ๋Š” ์†Œ์ผ“์ผ ์ˆ˜๋„ ์žˆ๊ณ , ์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์†Œ์ผ“์ด๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋“ค์˜ ๊ณตํ†ต์ ์€ A์™€ B๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์กด์žฌ๋ผ๋Š” ๊ฒƒ์ด๋‹ค. A socket is an endpoint for communication between two machines. ์†Œ์ผ“์€ ๋‘ ๊ธฐ๊ธฐ ๊ฐ„์˜ ํ†ต์‹ ์„ ์œ„ํ•œ ์—”๋“œํฌ์ธํŠธ์ด๋‹ค. - Java 8 Referenc..

Programming/Java 2021.06.22

Week 7

Week 7 : ๋” ๊ผผ๊ผผํžˆ ์ •๋ฆฌํ•˜๊ธฐ โœ๏ธ 6์›” ์…‹์งธ ์ฃผ ๋ฉ˜ํ† ๋ง! ์ง€๋‚œ ๋ช‡ ์ฃผ ๋™์•ˆ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ•˜์ง€ ๋ชปํ•ด์„œ ์ด๋ฒˆ ์ฃผ๋Š” ์ •๋ฆฌ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•œ ์ฃผ๋ฅผ ๋ณด๋ƒˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๋Š” IO์™€ NIO์— ๊ด€๋ จํ•œ ๋‚ด์šฉ๋“ค์„ ๊ณต๋ถ€ํ–ˆ๋Š”๋‹ค. ์ •๋ฆฌํ•  ๋•Œ๋Š” ์ด์ œ ์ข€ ์ดํ•ด๊ฐ€ ๋˜๋Š”๊ตฌ๋‚˜ ํ–ˆ๋Š”๋ฐ, ๋ง‰์ƒ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์— ์ง์ ‘ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ์–ด๋ฒ„๋ฒ„ ๊ฑฐ๋ฆฌ๋ฉด์„œ ์š”์ ์„ ๋ฒ—์–ด๋‚œ ์ด์•ผ๊ธฐ๋งŒ ํ–ˆ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ๋Š๋ผ๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ๋ธ”๋กœ๊ทธ ์„œ์น˜ํ•˜๋ฉด์„œ ๊ธ€๋กœ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์ด ๋” ๋งŽ์•„ ํฌ๊ฒŒ ์™€๋‹ฟ์ง€ ์•Š์•˜๋˜๊ฒŒ ๊ฐ€์žฅ ํฐ ์ด์œ ๊ณ  ๋‘ ๋ฒˆ์งธ ์ด์œ ๋Š” CS์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ•ด์„œ ์ดํ•ด์— ๋Œ€ํ•œ ์†๋„๊ฐ€ ๋Šฆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋งŽ์€ ๋ฐ˜์„ฑ์˜ ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋Š” ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์ด์˜€๋‹ค..๐Ÿ˜ฟ ๊ทธ๋Ÿผ์—๋„ ๊ธฐ๋กํ•˜์ง€ ์•Š์œผ๋ฉด ๊นŒ๋จน์œผ๋‹ˆ๊นŒ ๋ฉ˜ํ† ๋ง ๋‚ด์šฉ์„ ๊ธฐ๋กํ•ด๋ณด์ž! 1. ..

์‚ถ/F-Lab 2021.06.18

F018 - Serializable (์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™”)

โœ๏ธ ์—…๋ฌด๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ Domain ํด๋ž˜์Šค์— Serializable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ดค๋˜ ๊ฒฝํ—˜์ด ์žˆ๋Š”๋ฐ, ๋‹น์‹œ์—๋Š” ์™œ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ฐพ์•„๋ณด์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœํ–ˆ์—ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Serializable ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์–ด๋–ค ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๊ณต๋ถ€ํ•ด๋ณด์ž Serializable public class SerializableTest implements Serializable { ... } ์‚ฌ์ „์  ์˜๋ฏธ๋กœ๋Š” ์ง๋ ฌํ™”๋ผ๋Š” ๋œป์„ ๊ฐ€์ง„๋‹ค. ์ง๋ ฌํ™”๋Š” ๋ฌด์—‡์ผ๊นŒ? ๋ชจ๋ž˜์‹œ๊ณ„ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋ž˜๋ญ‰์น˜๊ฐ€ ์ข์€ ํ†ต๋กœ๋ฅผ ํ†ต๊ณผ ํ•  ๋•Œ ๊ฐ๊ฐ์˜ ์•Œ๊ฐฑ์ด๋กœ ๋‚˜๋‰˜์–ด์ ธ ์ง€๋‚˜๊ฐ€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Š” Serializable ๊ณผ ๋น„์Šทํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์™ธ๋ถ€์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ Stream ์ด์šฉํ•˜์—ฌ ํ†ต์‹ ํ•˜๋Š”๋ฐ, ์ด ๋•Œ Str..

Programming/Java 2021.06.16

F017 - Blocking, Non-Blocking / Synchronous, Asynchronous

โœ๏ธ ์˜ˆ์ „์— Node.js๋ฅผ ์ž ๊น ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ธฐ์ดˆ ์ง€์‹์„ ์Œ“๋Š”๋‹ค๊ณ  ํ•ด๋‹น ๊ฐœ๋…์„ ์Šค์ณ ์ง€๋‚˜๊ฐ€ ๋“ฏ ์ฐพ์•„ ๋ดค๋˜ ๊ธฐ์–ต์ด ์žˆ๋‹ค. ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌ๋„ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ, ๋‹น์‹œ์—๋Š” Thread์™€ Process ๊ทธ๋ฆฌ๊ณ  ์ด๋กœ ์ธํ•ด ์šด์˜์ฒด์ œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์กฐ๊ธˆ๋„ ์•Œ์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ „ํ˜€ ์ดํ•ด๊ฐ€ ์•ˆ๋œ ์ƒํƒœ๋กœ ๊ธ€๋งŒ ์ •๋ฆฌํ–ˆ์—ˆ๋‹ค. (๋ณต๋ถ™ ์ˆ˜์ค€) ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๊ทธ๋ž˜๋„ ์œ„์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ๋ฏธ์•ฝํ•˜๊ฒŒ๋‚˜๋งˆ ์ •๋ฆฌ๊ฐ€ ๋˜์—ˆ์œผ๋‹ˆ ์ด๋ฅผ ๋ฐœํŒ์œผ๋กœ ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ, Blocking๊ณผ Non-Blocking์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด์ž! Blocking / Non-Blocking Blocking : ์–ด๋– ํ•œ ํ–‰์œ„์— ์˜ํ•ด ์ž์‹ ์˜ ํ–‰์œ„๋ฅผ ์ด์–ด์„œ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜ ๋ง‰ํžˆ๋Š” ๊ฒƒ. Non-Blocking : ์–ด๋– ํ•œ ํ–‰์œ„์— ๊ตฌ์•  ๋ฐ›์ง€ ์•Š๊ณ  ์ž์‹ ์˜ ํ–‰์œ„๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ. Sync /..

Programming/Java 2021.06.15