[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ํŠธ๋ฆฌ๊ฑฐ์™€ ์ฃผ์žฅ
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 2020. 5. 19. 18:59

ํŠธ๋ฆฌ๊ฑฐ ํŠธ๋ฆฌ๊ฑฐ ๋ช…์‹œ๋œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค DBMS๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” (์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•˜๋Š”) ํ”„๋กœ์‹œ์ € DB์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ ํ…Œ์ด๋ธ” ์ •์˜์‹œ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋Š” ๊ธฐ์—…์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™์„ ์‹œํ–‰ํ•˜๋Š” ์—ญํ•  DB ๊ฐฑ์‹  ๋ชจ๋‹ˆํ„ฐ๋ง -> DB ๊ฐฑ์‹  ์ „ํŒŒ์˜ ๊ณผ์ •์„ ๊ฑฐ์นจ ํŠธ๋ฆฌ๊ฑฐ = '์ด๋ฒคํŠธ-์กฐ๊ฑด-๋™์ž‘(ECA) ๊ทœ์น™' E[Event] : ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ํ™œ์„ฑํ™” ์‹œํ‚ค๋Š” ์‚ฌ๊ฑด(INSERT, DELETE, UPDATE) C[Condition] : ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ํ™œ์„ฑ๋˜์—ˆ์„ ๋•Œ ํ™•์ธํ•˜๋Š” ์กฐ๊ฑด(WHERE ๋ฌธ์— ์“ฐ์ด๋Š” ๋ชจ๋“  ์กฐ๊ฑด๋ฌธ) A[Action] : Condition์ด ์ฐธ์ด๋ฉด ์ˆ˜ํ–‰๋˜๋Š” SQL๋ฌธ ์ฃผ์˜ํ•  ์  ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ์ƒํ˜ธ์˜์กด์„ฑ ์•ผ๊ธฐ ํŠธ๋ฆฌ๊ฑฐ์˜ ์—ฐ์‡„ ์ˆ˜ํ–‰์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Œ Ex) CREATE TRIGGER RA..

REST
Backend 2020. 5. 18. 00:51

REST์˜ ๊ฐœ๋… REST๋ž€? Representational State Transfer์˜ ์•ฝ์ž ์›น์˜ ๊ธฐ์กด ๊ธฐ์ˆ ๊ณผ HTTP ํ”„๋กœํ† ์ฝœ์„ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ Client์™€ Server ์‚ฌ์ด์˜ ํ†ต์‹  ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜ ์ž์›์„ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ƒํƒœ(์ •๋ณด)๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ์˜๋ฏธ JSON ํ˜น์€ XML์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์  REST์˜ ๊ตฌ์ฒด์ ์ธ ๊ฐœ๋… HTTP URI๋ฅผ ํ†ตํ•ด ์ž์›์„ ๋ช…์‹œํ•˜๊ณ , HTTP Method๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ž์›์— ๋Œ€ํ•ด CRUD Operation์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ ์ฆ‰, ์ž์› ๊ธฐ๋ฐ˜์˜ ๊ตฌ์กฐ(ROA) ์„ค๊ณ„์˜ ์ค‘์‹ฌ์— Resource๊ฐ€ ์žˆ์œผ๋ฉฐ, HTTP Method๋ฅผ ํ†ตํ•ด Resource๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋œ ์•„ํ‚คํ…์ฒ˜ CRUD Operatio..

[์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™] ํด๋ฆฐ์ฝ”๋“œ & ์‹œํ์–ด์ฝ”๋”ฉ
Computer Science/์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ 2020. 5. 15. 00:35

ํด๋ฆฐ์ฝ”๋“œ ํด๋ฆฐ์ฝ”๋“œ๋ž€? '์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์˜๋„์™€ ๋ชฉ์ ์ด ๋ช…ํ™•ํ•˜๋ฉฐ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ' ํ•œ ๊ฐ€์ง€์˜ ๊ธฐ๋Šฅ๋งŒ ๋งก๋Š”๋‹ค. ๋‹จ์ˆœํ•˜๋ฉฐ, ์ง์ ‘์ ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ํ•˜๋‚˜์˜ ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ•œ๊ฐ€์ง€์—ฌ์•ผ ํ•œ๋‹ค. ์ค‘๋ณต X, ํ‘œํ˜„๋ ฅ ๋†’์ด๊ธฐ, ์ดˆ๋ฐ˜๋ถ€ํ„ฐ ๊ฐ„๋‹จํ•œ ์ถ”์ƒํ™” ๊ณ ๋ คํ•˜๊ธฐ ๋ฅผ ์‹ ๊ฒฝ์จ์•ผํ•จ ์ฝ”๋“œ๋ฅผ ์ฝ์œผ๋ฉฐ ๋ณด์ด๋˜ ๊ธฐ๋Šฅ์„ ๊ฐ ๋ฃจํ‹ด์ด ๊ทธ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ ๊ฐ€๋…์„ฑ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์€? ์–ด๋–ค ์‚ฌ๋žŒ์ด ๋ด๋„ ์ฝ”๋“œ ์ˆ˜์ •์ด ์‰ฌ์›€ ๋ฒ„๊ทธ๋ฅผ ์ฐพ๊ณ , ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์ด ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›€ ํด๋ฆฐ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ทœ์น™ 1. ๋„ค์ด๋ฐ ๋ณ€์ˆ˜, ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ์— ์˜๋„๊ฐ€ ๋ถ„๋ช…ํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉ elapsedTimeInDays, daySinceCreation, fileAgeInDays.. ์ž˜๋ชป๋œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ ๋ฒ”์šฉ์ ์œผ๋กœ ์‚ฌ์šฉ..

[์ •๋ ฌ] Merge Sort
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2020. 5. 2. 22:53

๋ณ‘ํ•ฉ ์ •๋ ฌ์˜ ๊ฐœ๋… ๋ณ‘ํ•ฉ ์ •๋ ฌ์ด๋ž€? ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‘ ๊ฐœ์˜ ๊ท ๋“ฑํ•œ ํฌ๊ธฐ๋กœ ์ตœ๋Œ€ํ•œ ๋ถ„ํ• ํ•˜๊ณ  ๋ถ„ํ• ๋œ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ํ•ฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋ถ„ํ• ๋œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ํ•ฉ์ณ์„œ ๋‹ด๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•„์š”ํ•˜๋‹ค. ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„๋กœ ์ ˆ๋ฐ˜์”ฉ ์ชผ๊ฐ  ํ›„ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„๋ถ€ํ„ฐ ๋‹ค์‹œ ํ•ฉ์ณ๋‚˜๊ฐ€๋Š”๋ฐ ์ด ํ•ฉ์ณ๋‚˜๊ฐ€๋Š” ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ์ด ๋œ๋‹ค. Divide and Conquer Merge Sort์˜ ํ•ด๊ฒฐ ์ „๋žต ๋ฌธ์ œ๋ฅผ ์ž‘์€ 2๊ฐœ์˜ ๋ฌธ์ œ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  ๊ฐ๊ฐ์„ ํ•ด๊ฒฐํ•œ ๋‹ค์Œ, ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„์„œ ์›๋ž˜์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ „๋žต Divide and Conquer ๋ฐฉ์‹์€ ๋Œ€๊ฐœ ์žฌ๊ท€ ํ˜ธ์ถœ์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•จ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ๊ตฌํ˜„ 1. ๋ฐ์ดํ„ฐ๋“ค์„ ์ ˆ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. (๋ถ„ํ• ) 2. ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„๋กœ ๋ถ„ํ•ดํ•œ ํ›„ ๋งจ ๋ฐ‘์—์„œ ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ํ•ฉ๋ณ‘์„ ์ง„ํ–‰..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ฐฑ์ค€ 1753๋ฒˆ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐฐ๋‹ฌ
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2020. 4. 26. 00:39

๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐœ๋… ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ํ•˜๋‚˜์˜ ์ •์ ์—์„œ ๋ชจ๋“  ์ •์ ์œผ๋กœ์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ Single source shortest paths problem ๋กœ์ง ๋ชจ๋“  ์ •์ ๋“ค์€ ์ฒ˜์Œ์— ๋ฌดํ•œ๋Œ€ ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค. ์ •์  A์—์„œ ์ •์  B๊ฐ€ ์ด์–ด์ง€๋ฉด ์ •์  A๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ + A์—์„œ B๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ๋งŒ์•ฝ B๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ’(์ฆ‰, A์—์„œ B๋กœ ์ด์–ด์ง€๋Š” ๋‹ค๋ฅธ ๊ฒฝ๋กœ์— ์˜ํ•œ ๊ฐ’)๊ณผ 2๋ฒˆ์—์„œ ๊ณ„์‚ฐํ•œ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์—ฌ ํ›„์ž๊ฐ€ ๋” ์ž‘๋‹ค๋ฉด ๊ฐฑ์‹ ํ•œ๋‹ค. ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ •์ ๋ถ€ํ„ฐ ์ด์–ด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค. (๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ •์ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ด์œ ๋Š” ์ž‘์ง€ ์•Š์€ ๊ฐ’๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋ฉด ์“ธ๋ชจ์—†๋Š” ์—ฐ์‚ฐ์ด ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋ฉฐ, ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด๋‚ผ ์ˆ˜ ์—†๋‹ค.) ์ž‘์€ ๊ฐ’์œผ๋กœ ๊ฐฑ์‹ ์ด ๋˜์–ด์•ผ ..