๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 479

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

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด(DDL, DML, DCL)์— ๋Œ€ํ•ด ์„ค๋ช… - DDL (์ •์˜์–ด : Data Definition Language) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ์ •์˜, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ์–ธ์–ด ( alter, create, drop ) - DML (์กฐ์ž‘์–ด : Data Manipulation Language) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚ด์˜ ์ž๋ฃŒ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ๊ฐฑ์‹ , ์‚ญ์ œ๋ฅผ ์œ„ํ•œ ์–ธ์–ด ( select, insert, update, delete ) - DCL (์ œ์–ด์–ด : Data Control Language) : ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€, ๋ณ‘ํ–‰ ์ˆ˜ํ–‰ ์ œ์–ด, ๋ณดํ˜ธ์™€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์–ธ์–ด ( commit, rollback, grant, revoke ) 2. SELECT ์ฟผ๋ฆฌ์˜ ์ˆ˜ํ–‰ ์ˆœ์„œ 1. FROM - ๊ฐ ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•œ๋‹ค. 2...

๐Ÿšฉ 2024 / 02 TIL[Today I Learned] ํšŒ๊ณ 

๐Ÿ“Œ 2024 / 02 ์˜ค๋žœ๋งŒ์— ํšŒ๊ณ ๋ฅผ ์“ฐ๊ฒŒ ๋˜์—ˆ๋‹ค. 2์›”์— ๋„ฃ์€ ๊ณณ์— ํ•ฉ๊ฒฉํ•˜์—ฌ 3์›” 5์ผ์— ์˜๋“ฑํฌ๋กœ ๋ฉด์ ‘์„ ๋ณด๋Ÿฌ ๊ฐ”๋‹ค์™”๋‹ค. ๊ธฐ์ˆ ๋ฉด์ ‘์ด์—ˆ์ง€๋งŒ ๊ฑฐ์˜ ์ธ์„ฑ๋ฉด์ ‘์— ๊ฐ€๊นŒ์šด ๋ฉด์ ‘์ด์—ˆ๋‹ค. ๊ธฐ์ˆ ์ ์ธ ์งˆ๋ฌธ์„ ํ•˜๋‚˜๋„ ๋ฌผ์–ด๋ณด์ง€ ์•Š์•„์„œ ์กฐ๊ธˆ ์•„์‰ฌ์› ๋‹ค. ๋ฉด์ ‘ ๊ฒฝํ—˜์ด ๋ถ€์กฑํ–ˆ๋˜ ๊ฒƒ๋„ ์žˆ๊ณ  ๋˜๋Œ์•„๋ณด๋ฉฐ ์•ž์œผ๋กœ ์ค€๋น„๋ฅผ ํ•ด๋ณด๋ ค๊ณ ํ•œ๋‹ค. ๋ฉด์ ‘ ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ 1. ์ž์‹ ์˜ ์žฅ์ ์€ ? 2. ์™œ ์šฐ๋ฆฌํšŒ์‚ฌ๊ฐ€ ๋ฝ‘์•„์•ผ ํ•˜๋Š”์ง€ ? 3. ์˜†์˜ ๋‹ค๋ฅธ ์ง€์›์ž๋“ค๋ณด๋‹ค ๋‚˜์€์ ์ด๋‚˜ ๋ถ€์กฑํ•œ ์  4. ์šฐ๋ฆฌ ํšŒ์‚ฌ์— ์ง€์›ํ•œ ์ด์œ  5. ํ”„๋กœ์ ํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์™„์ˆ˜ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ด์œ  6. ํ”„๋กœ์ ํŠธ์—์„œ์˜ ์—ญํ•  7. ๋‹จ์  3๊ฐ€์ง€ ์งˆ๋ฌธ์ด ์ข€ ๋” ์žˆ์—ˆ๋Š”๋ฐ ๊ธฐ์–ต๋‚˜๋Š” ๊ฒƒ๋งŒ ์ ์–ด๋ณธ ๊ฒƒ์ด๋‹ค. ์ž์†Œ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋ฉด์ ‘์—์„œ ๋Œ€ํ™”ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์“ฐ๋Š” ์—ฐ์Šต์„ ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์šฐ์„  ๊ฒฝํ—˜์„ ์ˆ˜์น˜ํ™” ํ•˜๋Š” ๊ฒƒ,..

๐Ÿ“š [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 [ ๊ด€์ ์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ ] ๋จผ์ € ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ๋œปํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ๋ช…๋ น์–ด ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ์ž‘์—…์˜ ๋‹จ์œ„์ธ ๊ฒƒ์„ ์ž˜ ์ดํ•ดํ•ด์•ผ ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [6] [Data Base]

1. ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ํŠน์ง• ? 1. ์‹ค์‹œ๊ฐ„ ์ ‘๊ทผ์„ฑ (Real-Time Accessibility) - ๋น„์ •ํ˜•์ ์ธ ์งˆ์˜์— ๋Œ€ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์— ์˜ํ•œ ์‘๋‹ต์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ 2. ์ง€์†์ ์ธ ๋ณ€ํ™” (Continuous Evolution) - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋Š” ๋™์ . ์ฆ‰, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…(Insert), ์‚ญ์ œ(Delete), ๊ฐฑ์‹ (Update)์œผ๋กœ ํ•ญ์ƒ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•จ 3. ๋™์‹œ ๊ณต์šฉ (Concurrent Sharing) - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ชฉ์ ์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ์‘์šฉ์ž๋“ค์„ ์œ„ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ๋‚ด์šฉ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ 4. ๋‚ด์šฉ์— ์˜ํ•œ ์ฐธ์กฐ (Content Reference) - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•  ๋•Œ ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ์˜ ์ฃผ์†Œ๋‚˜ ์œ„์น˜์— ์˜ํ•ด์„œ๊ฐ€ ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [5] [Spring AOP]

1. Spring AOP ๋ž€? AOP๋Š” Aspect Oriented Programming ์˜ ์•ฝ์ž๋กœ ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋ถˆ๋ฆฐ๋‹ค. ๊ด€์  ์ง€ํ–ฅ์€ ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ์–ด๋–ค ๋กœ์ง์„ ๊ธฐ์ค€์œผ๋กœ ํ•ต์‹ฌ์ ์ธ ๊ด€์ , ๋ถ€๊ฐ€์ ์ธ ๊ด€์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ณด๊ณ  ๊ทธ ๊ด€์ ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ๊ฐ ๋ชจ๋“ˆํ™”ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋กœ๋“ค์–ด ํ•ต์‹ฌ์ ์ธ ๊ด€์ ์€ ๊ฒฐ๊ตญ ์šฐ๋ฆฌ๊ฐ€ ์ ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ๋œ๋‹ค. ๋˜ํ•œ ๋ถ€๊ฐ€์ ์ธ ๊ด€์ ์€ ํ•ต์‹ฌ ๋กœ์ง์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ–‰ํ•ด์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ๋กœ๊น…, ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๋“ฑ์„ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค. AOP์—์„œ ๊ฐ ๊ด€์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋กœ์ง์„ ๋ชจ๋“ˆํ™”ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ฝ”๋“œ๋“ค์„ ๋ถ€๋ถ„์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ชจ๋“ˆํ™”ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๋‹ค. ์ด๋•Œ, ์†Œ์Šค ์ฝ”๋“œ์ƒ์—์„œ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ๊ณ„์† ๋ฐ˜๋ณตํ•ด์„œ ์“ฐ๋Š” ์ฝ”๋“œ๋“ค์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ ์ด๊ฒƒ์„ ํฉ์–ด์ง„ ๊ด€์‹ฌ์‚ฌ (Crosscut..