๊ฐœ๋ฐœ 23

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [17] [TCP/UDP]

1. TCP / UDP TCP์™€ UDP๋Š” OSI์˜ 4๊ณ„์ธต์ด์ž TCP/IP์˜ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ „์†ก๊ณ„์ธต์€ ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต์‹ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ๋ฐ์ดํ„ฐ์˜ ์ „๋‹ฌ์„ ๋‹ด๋‹นํ•œ๋‹ค. TCP (Transmission Control Protocol) ์ •์˜๋Š” ์ธํ„ฐ๋„ท์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์„ธ์ง€ ํ˜•ํƒœ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด IP์™€ ํ•จ๊ผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. TCP์˜ ํŠน์ง• - ์—ฐ๊ฒฐ ์ง€ํ–ฅ ๋ฐฉ์‹์œผ๋กœ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉ - 3-way handshake ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  4-way handshake๋ฅผ ํ†ตํ•ด ํ•ด์ œ - ํ๋ฆ„ ์ œ์–ด ๋ฐ ํ˜ผ์žก ์ œ์–ด - ๋†’์€ ์‹ ๋ขฐ์„ฑ (IP ํ”„๋กœํ† ์ฝœ์—์„œ๋Š” ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ TCP์—์„œ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ) - UDP๋ณด๋‹ค ์†๋„๊ฐ€ ๋Š๋ฆผ TCP์˜ ์—ฐ๊ฒฐ ๊ณผ์ • (3-w..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [16] [์šด์˜์ฒด์ œ]

1. ์šด์˜์ฒด์ œ์˜ ์—ญํ•  - CPU ์Šค์ผ€์ค„๋ง & ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ - ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ - ๋””์Šคํฌ ํŒŒ์ผ ๊ด€๋ฆฌ - I/O ๋””๋ฐ”์ด์Šค ๊ด€๋ฆฌ * ํ”„๋กœ์„ธ์Šค๋ž€ ? ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด, ์‹คํ–‰์„ ์œ„ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ด๋ฃจ์–ด์ง€๊ณ , ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์œผ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค. ์ด ์ˆœ๊ฐ„๋ถ€ํ„ฐ ํ”„๋กœ์„ธ์Šค๋ผ ๋ถˆ๋ฆฐ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ชฉ์  ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•จ 2. CPU ์Šค์ผ€์ค„๋ง CPU ์Šค์ผ€์ค„๋ง์€ ์–ธ์ œ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์— CPU๋ฅผ ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ž‘์—…. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ CPU ์ด์šฉ๋ฅ ์€ ๋†’๊ฒŒ, ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์— ๋งŽ์€ ์ผ์„ ํ•˜๊ฒŒ, ์ค€๋น„ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ ๊ฒŒ, ์‘๋‹ต์‹œ๊ฐ„์€ ์งง๊ฒŒ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [15] [JPA]

1. JPA ๋ž€? JPA๋Š” ์ž๋ฐ” ์ง„์˜์—์„œ ORM(Object-Relational Mapping) ๊ธฐ์ˆ  ํ‘œ์ค€์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ์Œ์ด๋‹ค. ์‹ค์งˆ์ ์œผ๋กœ ๊ตฌํ˜„๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ตฌํ˜„๋œ ํด๋ž˜์Šค์™€ ๋งคํ•‘์„ ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. JPA๋ฅผ ๊ตฌํ˜„ํ•œ ๋Œ€ํ‘œ์ ์ธ ์˜คํ”ˆ์†Œ์Šค๋กœ๋Š” Hibernate๊ฐ€ ์žˆ๋‹ค. ORM(Object-Relational Mapping) ? ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๊ณ ์žˆ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ Class์™€ RDB์˜ ํ…Œ์ด๋ธ”์„ ๋งคํ•‘ํ•œ๋‹ค๋Š” ๋œป์ด๋ฉฐ, ๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ์ฒด๋ฅผ RDB ํ…Œ์ด๋ธ”์— ์ž๋™์œผ๋กœ ์˜์†ํ™” ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณด๋ฉด๋œ๋‹ค. ์žฅ์  1. SQL๋ฌธ์ด ์•„๋‹Œ Method๋ฅผ ํ†ตํ•œ DB๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด, ๊ฐœ๋ฐœ์ž๋Š” ๊ฐ์ฒด ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ 2. Query์™€ ๊ฐ™์ด ํ•„..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [14] [์•Œ๊ณ ๋ฆฌ์ฆ˜]

1. ๋™์  ๊ณ„ํš๋ฒ•(DP, Dynamic Programing) ์ด๋ž€ ? ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด, ๋ฌธ์ œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ‘ธ๋Š” ๋ฐฉ๋ฒ• ๋™์  ๊ณ„ํš๋ฒ•์—์„œ๋Š” ์–ด๋–ค ๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์–ด, ๋‹ต์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๊ณ„์‚ฐํ•˜๋Š” ๋Œ€์‹  ํ•œ ๋ฒˆ๋งŒ ๊ณ„์‚ฐํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์žฌํ™œ์šฉํ•˜๋Š” ๋ฉ”๋ชจ์ด์ œ์ด์…˜(Memoization) ๊ธฐ๋ฒ•์œผ๋กœ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๋™์  ๊ณ„ํš๋ฒ•์ด ๊ฐ–๋Š” 2๊ฐ€์ง€ ์กฐ๊ฑด 1. ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„(์ž‘์€) ๋ฌธ์ œ ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๋Š” ๋‚˜๋ˆ ์ง„ ๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ๋กœ, ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ์ค‘๋ณต ๊ณ„์‚ฐ์„ ์—†์•ค๋‹ค. 2. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ๊ฒƒ์€ ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๊ฐ€ ๋ถ€๋ถ„ ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๋“ค๋กœ์จ ๊ตฌ์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 2. ๋ฒ„๋ธ” ์ •๋ ฌ(Bubble Sort) ๋ž€ ? ๋ฒ„๋ธ” ์ •๋ ฌ์€ ์„œ๋กœ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [12] [ Docker ]

1. ๋„์ปค๋ž€ ? ๋„์ปค(Docker)๋Š” ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ์— ๋ฆฌ๋ˆ…์Šค ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ์‰ฝ๊ฒŒ ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ด๋‹ค. ๋„์ปค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋„์ปค ์—”์ง„ ํ˜น์€ ๋„์ปค์— ๊ด€๋ จ๋œ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋„์ปค ์—”์ง„(Docker Engine)์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์ฃผ์ฒด๋กœ์„œ ์ด ์ž์ฒด๋กœ๋„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ณ  ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋„์ปค์˜ ํ”„๋กœ์ ํŠธ์ด๋‹ค. ๋„์ปค ์ƒํƒœ๊ณ„์— ์žˆ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋“ค์€ ๋„์ปค ์—”์ง„์„ ์ข€ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์— ๋ถˆ๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„์ปค์˜ ํ•ต์‹ฌ์€ ๋„์ปค ์—”์ง„์ด๋‹ค. Virtual Machine (๊ฐ€์ƒ๋จธ์‹ ) vs Docker Container (๋„์ปค ์ปจํ…Œ์ด๋„ˆ) ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ๊ณผ ๋„์ปค์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ๊ธฐ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [11] [์ž๋ฐ” ์ปฌ๋ ‰์…˜ / Collection Framework]

1. ์ปฌ๋ ‰์…˜์ด๋ž€ ? ์ปฌ๋ ‰์…˜์€ ๋งŽ์€ ๋ฐ์ดํ„ฐ ์š”์†Œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋œปํ•˜๋ฉฐ, ArrayList, LinkedList, HashMap ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ปฌ๋ ‰์…˜๋“ค์€ ์ œ๋„ค๋ฆญ(generics) ํ˜•์‹์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด ์ปฌ๋ ‰์…˜๊ณผ ํ•จ๊ป˜ ์ œ๋„ค๋ฆญ์— ๋Œ€ํ•ด์„œ๋„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ์ด๋Ÿฐ ์ปฌ๋ ‰์…˜์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ํด๋ž˜์Šค๋“ค์ด ์žˆ์œผ๋ฉฐ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค๋“ค์˜ ์ข…๋ฅ˜์™€ ์ƒ์† ๊ณ„์ธต๋„๋Š” ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™๋‹ค. 2. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์žฅ์  1. ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹คํ˜•์„ฑ์„ ์ด์šฉํ•œ ๊ฐ์ฒด์ง€ํ–ฅ์  ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๊ธฐ์—๋„ ํŽธ๋ฆฌํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค. List list = new ArrayList(); list = new LinkedList(); ์ด๋ ‡๊ฒŒ List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‹ค๋ฅธ ํด๋ž˜..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [10] [์ž๋ฃŒ๊ตฌ์กฐ]

1. ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ? ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ฌถ์Œ์„ ์ €์žฅํ•˜๊ณ , ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ ๊ฒƒ 2. ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ? 1. ๋ฐ์ดํ„ฐ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ , ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 2. ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํŠน์ • ์ƒํ™ฉ์— ๋†“์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์— ํŠนํ™”๋˜์–ด ์žˆ๋‹ค. 3. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ข…๋ฅ˜์™€ ๊ตฌ๋ถ„ ์„ ํ˜•๊ตฌ์กฐ - ๋ฐฐ์—ด(Array) - ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(LinkedList) - ์Šคํƒ(Stack) - ํ(Queue) ๋น„์„ ํ˜•๊ตฌ์กฐ - ํŠธ๋ฆฌ(Tree) - ๊ทธ๋ž˜ํ”„(Graph) Stack, Queue, Tree, Graph๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์Šคํƒ [Stack] LIFO(Last In First Out) ์ฆ‰, ์Šคํƒ์€ ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ ๊ฒƒ์ด ๊ฐ€์žฅ ๋จผ์ €๋‚˜๊ฐ€๋Š” ํ›„์ž…์„ ์ถœ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [9] [Servlet]

1. Servlet ์ด๋ž€ ? ์„œ๋ธ”๋ฆฟ์ด๋ž€ ๋™์  ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์ด๋‹ค. ์›น์„ ๋งŒ๋“ค ๋•Œ Request, Response์—๋Š” ๊ทœ์น™์ด ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ์›น ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ํ๋ฆ„์„ ๊ฐ„๋‹จํ•œ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๋งŒ์œผ๋กœ ์ฒด๊ณ„์ ์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. Servlet์˜ ์ฃผ์š” ํŠน์ง• ํด๋ผ์ด์–ธํŠธ์˜ Request์— ๋Œ€ํ•œ ๋™์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปดํฌ๋„ŒํŠธ HTML์„ ์‚ฌ์šฉํ•ด Response Java์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์ด์šฉ MVC ํŒจํ„ด์—์„œ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ด์šฉ java.servlet.http.HttpServlet ํด๋ž˜์Šค๋ฅผ ์ƒ์† UDP ๋ณด๋‹ค ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค HTML ๋ณ€๊ฒฝ ์‹œ Servlet์„ ์žฌ ์ปดํŒŒ์ผ ํ•ด์•ผํ•จ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ž€? ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ž€ ์„œ๋ธ”๋ฆฟ์„ ๋‹ด๊ณ  ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์ปจํ…Œ์ด๋„ˆ์ด๋‹ค. ํด..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [8] [OSI 7 Layer]

1. OSI 7 Layer OSI 7 ๊ณ„์ธต์€ ๋„คํŠธ์›Œํฌ์—์„œ ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ 7 ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋‚˜๋ˆˆ ์ด์œ ๋Š” ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 7๋‹จ๊ณ„ ์ค‘ ํŠน์ •ํ•œ ๊ณณ์— ์ด์ƒ์ด ์ƒ๊ธฐ๊ฒŒ ๋˜๋ฉด ๋‹ค๋ฅธ ๋‹จ๊ณ„์˜ ์žฅ๋น„๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฑด๋“ค์ง€ ์•Š๊ณ  ์ด์ƒ์ด ์ƒ๊ธด ๊ณ„์ธต๋งŒ ๊ณ ์น˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. PC๋ฐฉ์—์„œ ์ˆ˜๊ฐ•์‹ ์ฒญ์„ ํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. - PC๋ฐฉ์˜ ๋ชจ๋“  ์ปดํ“จํ„ฐ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด -> ๋ผ์šฐํ„ฐ(๋„คํŠธ์›Œํฌ ๊ณ„์ธต) ๋ฌธ์ œ - ๋‚ด PC๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. -> ์ˆ˜๊ฐ•์‹ ์ฒญ ์‚ฌ์ดํŠธ(์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต)์˜ ๋ฌธ์ œ ์ด๋ ‡๊ฒŒ ํŠน์ •ํ•œ ๊ณ„์ธต์˜ ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” 3๊ณ„์ธต ๋ถ€ํ„ฐ ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. 3๊ณ„์ธต - ๋„คํŠธ์›Œํฌ ๊ณ„์ธต (Network Layer) ์ด ๊ณ„์ธต์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์€ ๋ฐ์ดํ„ฐ๋ฅผ ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [7] [@Transactional / AOP]

@Transactional ๊ณผ AOP์˜ ๊ด€๊ณ„ + Proxy ๊ฐ์ฒด spring ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์‹ค์ œ๋กœ @Transactional ๋งŒ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ํ•˜๋ฉด์„œ aop์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋‹ค ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ, ๋กœ๊น… ๋“ฑ์„ aop๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š”๋ฐ ๋กœ๊น…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ–ˆ์–ด๋„ ํŠธ๋žœ์žญ์…˜์€ ๋”ฐ๋กœ ๊ตฌํ˜„ํ•œ ์ ์ด ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 1. Transaction [ ํŠธ๋žœ์žญ์…˜ ] / AOP [ ๊ด€์ ์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ ] ๋จผ์ € ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ๋œปํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ๋ช…๋ น์–ด ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ์ž‘์—…์˜ ๋‹จ์œ„์ธ ๊ฒƒ์„ ์ž˜ ์ดํ•ดํ•ด์•ผ ..