ํธ๋ฆฌ๊ฑฐ ํธ๋ฆฌ๊ฑฐ ๋ช ์๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค DBMS๊ฐ ์๋์ผ๋ก ์คํํ๋ (์ฌ์ฉ์๊ฐ ์ ์ํ๋) ํ๋ก์์ DB์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ ํ ์ด๋ธ ์ ์์ ํํํ ์ ์๋ ๊ธฐ์ ์ ๋น์ฆ๋์ค ๊ท์น์ ์ํํ๋ ์ญํ DB ๊ฐฑ์ ๋ชจ๋ํฐ๋ง -> DB ๊ฐฑ์ ์ ํ์ ๊ณผ์ ์ ๊ฑฐ์นจ ํธ๋ฆฌ๊ฑฐ = '์ด๋ฒคํธ-์กฐ๊ฑด-๋์(ECA) ๊ท์น' E[Event] : ํธ๋ฆฌ๊ฑฐ๋ฅผ ํ์ฑํ ์ํค๋ ์ฌ๊ฑด(INSERT, DELETE, UPDATE) C[Condition] : ํธ๋ฆฌ๊ฑฐ๊ฐ ํ์ฑ๋์์ ๋ ํ์ธํ๋ ์กฐ๊ฑด(WHERE ๋ฌธ์ ์ฐ์ด๋ ๋ชจ๋ ์กฐ๊ฑด๋ฌธ) A[Action] : Condition์ด ์ฐธ์ด๋ฉด ์ํ๋๋ SQL๋ฌธ ์ฃผ์ํ ์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ์ํธ์์กด์ฑ ์ผ๊ธฐ ํธ๋ฆฌ๊ฑฐ์ ์ฐ์ ์ํ์ด ์ผ์ด๋ ์ ์์ Ex) CREATE TRIGGER RA..
REST์ ๊ฐ๋ REST๋? Representational State Transfer์ ์ฝ์ ์น์ ๊ธฐ์กด ๊ธฐ์ ๊ณผ HTTP ํ๋กํ ์ฝ์ ๊ทธ๋๋ก ํ์ฉํ๋ ๋ฐ์ดํฐ ์ก์์ ์ํคํ ์ฒ ์คํ์ผ ๋คํธ์ํฌ ์์์ Client์ Server ์ฌ์ด์ ํต์ ๋ฐฉ์ ์ค ํ๋ ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํ์ฌ ํด๋น ์์์ ์ํ(์ ๋ณด)๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ์๋ฏธ JSON ํน์ XML์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด ์ผ๋ฐ์ REST์ ๊ตฌ์ฒด์ ์ธ ๊ฐ๋ HTTP URI๋ฅผ ํตํด ์์์ ๋ช ์ํ๊ณ , HTTP Method๋ฅผ ํตํด ํด๋น ์์์ ๋ํด CRUD Operation์ ์ ์ฉํ๋ ๊ฒ์ ์๋ฏธ ์ฆ, ์์ ๊ธฐ๋ฐ์ ๊ตฌ์กฐ(ROA) ์ค๊ณ์ ์ค์ฌ์ Resource๊ฐ ์์ผ๋ฉฐ, HTTP Method๋ฅผ ํตํด Resource๋ฅผ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋ ์ํคํ ์ฒ CRUD Operatio..
ํด๋ฆฐ์ฝ๋ ํด๋ฆฐ์ฝ๋๋? '์ฝ๋๋ฅผ ์์ฑํ๋ ์๋์ ๋ชฉ์ ์ด ๋ช ํํ๋ฉฐ, ๋ค๋ฅธ ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋' ํ ๊ฐ์ง์ ๊ธฐ๋ฅ๋ง ๋งก๋๋ค. ๋จ์ํ๋ฉฐ, ์ง์ ์ ์ผ๋ก ํํํ๋ค. ํ๋์ ๋ชฉ์ ์ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ํ๊ฐ์ง์ฌ์ผ ํ๋ค. ์ค๋ณต X, ํํ๋ ฅ ๋์ด๊ธฐ, ์ด๋ฐ๋ถํฐ ๊ฐ๋จํ ์ถ์ํ ๊ณ ๋ คํ๊ธฐ ๋ฅผ ์ ๊ฒฝ์จ์ผํจ ์ฝ๋๋ฅผ ์ฝ์ผ๋ฉฐ ๋ณด์ด๋ ๊ธฐ๋ฅ์ ๊ฐ ๋ฃจํด์ด ๊ทธ๋๋ก ์ํํ๋ ๊ฒ ๊ฐ๋ ์ฑ์ด ๋๋ค๋ ๊ฒ์? ์ด๋ค ์ฌ๋์ด ๋ด๋ ์ฝ๋ ์์ ์ด ์ฌ์ ๋ฒ๊ทธ๋ฅผ ์ฐพ๊ณ , ๋ณ๊ฒฝ๋ ๋ด์ฉ์ด ์ด๋ป๊ฒ ์ํธ์์ฉํ๋์ง ์ดํดํ๊ธฐ ์ฌ์ ํด๋ฆฐ์ฝ๋๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ท์น 1. ๋ค์ด๋ฐ ๋ณ์, ํด๋์ค, ๋ฉ์๋์ ์๋๊ฐ ๋ถ๋ช ํ ์ด๋ฆ์ ์ฌ์ฉ elapsedTimeInDays, daySinceCreation, fileAgeInDays.. ์๋ชป๋ ์ ๋ณด๋ฅผ ์ ๋ฌํ ์ ์๋ ์ด๋ฆ์ ์ฌ์ฉํ์ง ์์ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉ..
๋ณํฉ ์ ๋ ฌ์ ๊ฐ๋ ๋ณํฉ ์ ๋ ฌ์ด๋? ํ๋์ ๋ฆฌ์คํธ๋ฅผ ๋ ๊ฐ์ ๊ท ๋ฑํ ํฌ๊ธฐ๋ก ์ต๋ํ ๋ถํ ํ๊ณ ๋ถํ ๋ ๋ถ๋ถ ๋ฆฌ์คํธ๋ฅผ ์์๋๋ก ํฉํ๋ ๋ฐฉ์์ด๋ค. ๋ถํ ๋ ๋ฆฌ์คํธ๋ฅผ ์์๋๋ก ํฉ์ณ์ ๋ด๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ๋ค. ๊ฐ์ฅ ์์ ๋จ์๋ก ์ ๋ฐ์ฉ ์ชผ๊ฐ ํ ๊ฐ์ฅ ์์ ๋จ์๋ถํฐ ๋ค์ ํฉ์ณ๋๊ฐ๋๋ฐ ์ด ํฉ์ณ๋๊ฐ๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ์ด ๋๋ค. Divide and Conquer Merge Sort์ ํด๊ฒฐ ์ ๋ต ๋ฌธ์ ๋ฅผ ์์ 2๊ฐ์ ๋ฌธ์ ๋ก ๋ถ๋ฆฌํ๊ณ ๊ฐ๊ฐ์ ํด๊ฒฐํ ๋ค์, ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์์ ์๋์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ ๋ต Divide and Conquer ๋ฐฉ์์ ๋๊ฐ ์ฌ๊ท ํธ์ถ์ ์ด์ฉํ์ฌ ๊ตฌํํจ ๋์ ๋ฐฉ์๊ณผ ๊ตฌํ 1. ๋ฐ์ดํฐ๋ค์ ์ ๋ฐ์ผ๋ก ๋๋๋ค. (๋ถํ ) 2. ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ์์ ๋จ์๋ก ๋ถํดํ ํ ๋งจ ๋ฐ์์ ๋ถํฐ ์ฐจ๋ก๋๋ก ํฉ๋ณ์ ์งํ..
๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ด๋? ํ๋์ ์ ์ ์์ ๋ชจ๋ ์ ์ ์ผ๋ก์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ์๊ณ ๋ฆฌ์ฆ Single source shortest paths problem ๋ก์ง ๋ชจ๋ ์ ์ ๋ค์ ์ฒ์์ ๋ฌดํ๋ ๊ฐ์ ๊ฐ๋๋ค. ์ ์ A์์ ์ ์ B๊ฐ ์ด์ด์ง๋ฉด ์ ์ A๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ + A์์ B๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ค. ๋ง์ฝ B๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ(์ฆ, A์์ B๋ก ์ด์ด์ง๋ ๋ค๋ฅธ ๊ฒฝ๋ก์ ์ํ ๊ฐ)๊ณผ 2๋ฒ์์ ๊ณ์ฐํ ๊ฐ๊ณผ ๋น๊ตํ์ฌ ํ์๊ฐ ๋ ์๋ค๋ฉด ๊ฐฑ์ ํ๋ค. ๊ฐ์ฅ ์์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์ ์ ๋ถํฐ ์ด์ด์ ๋ฐ๋ณตํ๋ค. (๊ฐ์ฅ ์์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์ ์ ๋ถํฐ ์์ํ๋ ์ด์ ๋ ์์ง ์์ ๊ฐ๋ถํฐ ์์๋๋ฉด ์ธ๋ชจ์๋ ์ฐ์ฐ์ด ์งํ๋๊ธฐ ๋๋ฌธ์ด๋ฉฐ, ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ป์ด๋ผ ์ ์๋ค.) ์์ ๊ฐ์ผ๋ก ๊ฐฑ์ ์ด ๋์ด์ผ ..