๊ตฌ๋ฌธ ์๋ฌ (Syntax Error)ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฌธ๋ฒ์ ์ด๊ธ๋๋ ๋ฌธ์ฅ ๋๋ฌธ์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ “Syntax Error”๋ผ๊ณ ํ๋ค. ์ฃผ๋ก ์ธ๋ฏธ์ฝ๋ก ์ด ์๋ ์ฝ๋ก ์ ์ฌ์ฉํ๋ค๊ฑฐ๋ {} ์ค๊ดํธ๊ฐ ์๋ชป ๋ฃ์ด์ ธ์๋ค๊ฑฐ๋ ๋ฑ ๋ค์ํ ๊ฒฝ์ฐ๊ฐ ์์ง๋ง IDE์์ ์๋์ ์ผ๋ก ํด๋น ๊ตฌ๋ฌธ ์ค๋ฅ๋ฅผ ์ก์์ฃผ๊ธฐ ๋๋ฌธ์ (๋นจ๊ฐ ๋ฐ์ค!!) ํฌ๊ฒ ๋ฌธ์ ๋๋ ๋ถ๋ถ์ ์๋ค. ๋ฌผ๋ก IDE๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ฝ๋ฉ์ ํด๋ ์ปดํ์ผ ๊ณผ์ ์์ ์ ๋ถ ๊ฒ์ถ๋๊ธฐ ๋๋ฌธ์ ๋ฌธ๋ฒ์ด ํ๋๋ผ๋ ํ๋ ธ๋ค๋ฉด ํ๋ก๊ทธ๋จ์ด ์ ์์ ์ผ๋ก ์ปดํ์ผ๋์ง ์๋๋ค. ๋
ผ๋ฆฌ ์๋ฌ (Semantic Error / Logical Error)๋ฌธ๋ฒ์ ์ค๋ฅ๊ฐ ์๋๋ฉฐ ์ปดํ์ผ ๋ฐ ์คํ๋ ์ ์์ ์ผ๋ก ์งํ๋์ง๋ง ๊ฐ๋ฐ์๊ฐ ์๋ํ ๋๋ก ์คํ๋์ง ์๋ ํ๋ก๊ทธ๋จ ๋ก์ง ์์ ๋
ผ๋ฆฌ์ ์ธ ์ค๋ฅ์ด๋ค.int a = 3, b = 9..
1) ๋ผ์ด๋ธ๋ฌ๋ฆฌ (Library) (1) ์ ์๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ํด ํ์ํ ๊ธฐ๋ฅ์ ๋ชจ์ ๋์ ์ํํธ์จ์ด์ด๋ฉฐ, ๊ฐ๋จํ๊ฒ ๋งํ์๋ฉด ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฐ๋ฐํ๋๋ฐ ์์ด ์ ์ฉํ ์ปดํฌ๋ํธ๋ค(Components)์ ์งํฉ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ฌ๊ธฐ์ ์ปดํฌ๋ํธ๋ ํด๋์ค, ํจ์, ๋ณ์ ๋ฑ ๊ทธ ๋ชจ๋ ๊ฒ๋ค์ด ๋ ์ ์๋ค. (2) ํน์ง ์ฌ์ฌ์ฉ์ฑ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฌ์ฉ์ด ํ์ํ ๊ธฐ๋ฅ์ผ๋ก ๋ฐ๋ณต์ ์ธ ์ฝ๋ ์์ฑ์ ์์ ๊ธฐ ์ํด ์ธ์ ๋ ์ง ํ์ํ ๊ณณ์์ ํธ์ถํ์ฌ ์ฌ์ฉํ ์ ์๋๋ก ์ฃผ๋ก Class๋ Function์ผ๋ก ๋ง๋ค์ด์ง๋ค. ๋ํ, ๊ธฐ์กด์ ๋ง๋ค์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌํ์ฉํจ์ผ๋ก์จ ๊ฐ๋ฐ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ ์ค์ผ ์ ์๋ค. ๋
๋ฆฝ์ฑ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ ์ฌ๋ถ๋ ๊ฐ๋ฐ์ ์ ํ์ฌํญ์ด๋ฉฐ, ์๋ก์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ๋ฐ ์์๋ ์๊ฒฉํ ๊ท์น์ ๋ฐ๋ก ์ธ์ธ ํ์๊ฐ ์๊ธฐ์..
๊ฐ๋ฐ ํ๊ฒฝ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ผ๋ฉฐ, ๊ผญ ๋ชจ๋ ํ๊ฒฝ์ ๊ฐ์ถ ํ์๋ ์๊ณ ํ๋ก์ ํธ ํ๊ฒฝ์ ๋ฐ๋ผ์ ๊ฐ ํ๊ฒฝ์ ํฉ์น๊ฑฐ๋ ์๋ตํด๋ ๋๋ค. ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ (Local env)๊ฐ๋ฐ์ PC์ ์ค์น๋ ์๋ฒ ํ๊ฒฝ์ “Local env” ๋ผ๊ณ ํ๋ฉฐ ์ด Local ํ๊ฒฝ ๊ตฌ์ถ ์์ ๊ฐ์ฅ ์ฃผ์ํด์ผ ํ ์ ์ ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ๊ฐ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒ์ด๋ค. ์๋ก ๋ค๋ฅธ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์์
ํ ์ฝ๋๋ฅผ Merge ํ ๋, Local ํ๊ฒฝ์์ ์ ์๋ํ๋ ์ฝ๋๊ฐ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. (ex. ๋ค๋ฅธ ๋ฒ์ ์ JVM์ ์ฌ์ฉํ๊ฑฐ๋ ๋ค๋ฅธ ๋ฌธ์ ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ๋๋ฑ) ๊ฐ๋ฐ ํ๊ฒฝ์ ํ์คํ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๊ฒ ์ง๋ง ์ ์ฒด ๊ฐ๋ฐ ํ๊ฒฝ (ex. JDK, Elipse, Library๋ฑ)์..
์คํ (False Positive), ๋ฏธํ (False Negative) ๋ค์ํ ๋ถ์ผ์์ ์ฌ์ฉ๋๋ ์ฉ์ด์ด์ง๋ง ํ์ง์ ๊ดํ ๋ด์ฉ์ด๋ฏ๋ก IDS (์นจ์
ํ์ง ์๋ฃจ์
) ๊ธฐ์ค์ผ๋ก ์ ์ํ ์์ ์ด๋ค.True Positive์ ์ ํจํท์ ์ ์์ผ๋ก ํ์งํ๊ธฐ์ ๋ฌธ์ ๊ฐ ๋์ง ์์ False Positive์ ์ ํจํท์ ๋น์ ์์ด๋ผ๊ณ ํ์งํ๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ๋ ๊ฒฝ๊ณ ๊ฐ ๋จ์ ์ด๋ฅผ ํ์ธํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์๊ธฐ๊ธด ํ์ง๋ง ๊ณต๊ฒฉ์ด ์๋๋ฏ๋ก ์น๋ช
์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์ง๋ ์๋๋ค. True Negative๋น์ ์ ํจํท์ ๋น์ ์์ผ๋ก ํ๋จํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ํ๋จํ์๊ณ ์ด์ ๋์ฒ๊ฐ ๊ฐ๋ฅํ๊ฒ ํจ False Negative๋น์ ์ ํจํท์ ์ ์์ผ๋ก ํ๋จํ์ฌ ์๋ฌด๋ฐ ๋ก๊ทธ๋ ๊ฒฝ๊ณ ๋ฅผ ๋จ๊ธฐ์ง ์์ ํธ์คํธ๊ฐ ๊ณต๊ฒฉ์ ๋นํ ์ํ์ด ๋ฐ์ํ๋ฏ๋ก False Negative๋ฅผ ์ค์ด๋ ๊ฒ์ด ๊ฐ์ฅ ..
ํฌํ
(Porting)์ํํธ์จ์ด๋ฅผ ์๋ ์ค๊ณ๋ ๋ฐ์ ๋ค๋ฅธ ์ปดํจํ
ํ๊ฒฝ (CPU, ์ด์์ฒด์ , ์๋ ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ)์์ ๋์ํ ์ ์๋๋ก ๋ณํํ๋ ๊ฒ์ ๋งํ๋ค.์ด ์ฉ์ด๋ ์ํํธ์จ์ด๋ ํ๋์จ์ด๊ฐ ๋ค๋ฅธ ํ๊ฒฝ์์ ์ฌ์ฉํ ์ ์๊ฒ ๋ณ๊ฒฝ๋๋ ๊ฒ์๋ ํด๋นํ๋ค. ์๋ ๋ป์ ํญ๊ตฌ (Port)๋ฅผ ๋งํ๋ฉฐ ๋ค๋ฅธ ์ ์ฐฉ์ฅ (Platform)์ผ๋ก ์ง์ ์ฎ๊ธด๋ค๊ณ ํด์ ํฌํ
(Porting)์ด๋ผ๋ ํํ์ด ์๊ธด ๊ฒ์ผ๋ก ์ถ์ ๋๋ค. ๐ ex. ์๋์ฐ์ฉ์ผ๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ [ํ์ปด์คํผ์ค ํ๊ธ]์ ๋ฆฌ๋
์ค์ฉ์ผ๋ก ํฌํ
ํ๋ค. ๋ฐฑํฌํ
(BackPorting)์ํํธ์จ์ด ์์คํ
๋๋ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ ์ต์ ๋ฒ์ ์์ ์ผ๋ถ๋ฅผ ๊ฐ์ ธ์ ๋์ผํ ์ํํธ์จ์ด์ ์ด์ ๋ฒ์ ์ผ๋ก ์ด์(Porting)ํ๋ ๊ฒ์ ๋งํ๋ฉฐ, ์ด๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ์ ์ง ๊ด..
ํํน (Hooking)์ด๋ํํน์ด๋ ์ด์ ์ฒด์ ๋ ์์ฉ ์ํํธ์จ์ด ๋ฑ์ ๊ฐ์ข
์ปดํจํฐ ํ๋ก๊ทธ๋จ์์ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์ ๊ฐ์ ๋ฐ์ํ๋ ํจ์ ํธ์ถ, ๋ฉ์์ง, ์ด๋ฒคํธ ๋ฑ์ ์ค๊ฐ์์ ๋ฐ๊พธ๊ฑฐ๋ ๊ฐ๋ก์ฑ๋ ๋ช
๋ น, ๋ฐฉ๋ฒ, ๊ธฐ์ ์ด๋ ํ์๋ฅผ ๋งํ๋ค. ์ด ๋, ์ด๋ฌํ ๊ฐ์ญ๋ ํจ์ ํธ์ถ, ์ด๋ฒคํธ ๋๋ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ ์ฝ๋๋ฅผ ํ
(์์ด: hook)์ด๋ผ๊ณ ํ๋ค. ์ฆ, ํํน์ (๋์ฏ๋์ ๋ฌผ๊ณ ๊ธฐ๋ฅผ ๋๋ ๊ฐ๊ณ ๋ฆฌ์ฒ๋ผ) ํน์ ํจ์ ์ฝ๋๋ฅผ ๊ฐ๋ก์ฑ์ ์ํ๋ ํ์(์ฒ๋ฆฌ)๋ฅผ ํ ํ์ ์๋์ ์ฝ๋๋ก ๋๋ ค์ฃผ๋ ๊ฒ์ผ๋ก ๋ค์ํ ๋ณ์กฐ๊ฐ ๊ฐ๋ฅํ ๊ธฐ์ ์ด๊ธฐ์ ํฌ๋์ปค๋ค์ด ์ค๋ ์ ๋ถํฐ ์์ฃผ ์ฌ์ฉํด์๋ ๊ธฐ๋ฒ์
๋๋ค. ๐ ํน์ ํ API๋ฅผ ํํนํ์ฌ ํด๋น API์ ๋ฆฌํด๊ฐ์ ์กฐ์ํ๋ ๋ฑ์ ๋์์ ์ํ) ๋์ ๋ฐฉ์์ผ๋ฐ์ ์ผ๋ก ํ
(Hook)์ ์ํํธ์จ์ด๊ฐ ์ด๋ฏธ ์คํ์ค์ผ ๋ ์ฝ..
Product LifeCycle์์ฉ H/W ๋ฐ S/W๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด Life Cycle๋ฅผ ์ฒดํฌํ์ฌ ๊ณต์ ์ง์์ด ์ธ์ ๊น์ง ์ง์๋๋์ง ํ์ธํ ํ์๊ฐ ์๋ค. ์ด ๋, ์ฌ์ฉ๋๋ ์ฉ์ด๊ฐ EOS, EOL๋ก ์ผ๋ฐ์ ์ผ๋ก ์ ํ์ ์์ฐ ์ค๋จ์ ์ ์ธํ ๋์๋ EOS์ด๊ณ ๊ณต์ ์ง์ ์ค๋จ์ ์ ์ธํ ๋์๋ EOL์ ๊ณต์งํ๋ค. ์ ํ์ ์์ฐ ์ค๋จํ๋ค๊ณ ํด์ ๊ณต์ ์ง์๊น์ง ๊ฐ์ด ์ค๋จํด๋ฒ๋ฆฐ๋ค๋ฉด ๊ธฐ์กด์ ์ ํ์ ๊ตฌ๋งคํ๋ ์ฌ์ฉ์๋ค์ ๋ถ๋ง์ด ๋์์ง๊ธฐ ๋๋ฌธ์ EOS ๊ณต์ง ์ดํ ์ผ์ ๊ธฐ๊ฐ์ ๋ ๋ค์์ EOL์ ๊ณต์งํ๊ฒ ๋ฉ๋๋ค. H/W Product LifeCycleEOS (End of Sale)์ ์กฐ์ฌ์์ ๊ณต์์ ์ผ๋ก ์ ํ ์์ฐ์ ๋ ์ด์ ํ์ง ์์ง๋ง ํํธ๋์ฌ์ ๋จ์ ์ฌ๊ณ ๋ฌผ๋์ด ์๋ค๋ฉด ๊ตฌ๋งคํ ์๋ ์์ต๋๋ค. ์ ํ ์์ฐ๋ง ์ค๋จํ ๊ฒ์ด๋ฉฐ, ํด๋น ์ ํ..