๐Ÿ“š ์—ฐ์žฌ ์‹œ๋ฆฌ์ฆˆ

๊ตฌ๋ฌธ ์—๋Ÿฌ (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)์ œ์กฐ์‚ฌ์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œํ’ˆ ์ƒ์‚ฐ์„ ๋” ์ด์ƒ ํ•˜์ง€ ์•Š์ง€๋งŒ ํŒŒํŠธ๋„ˆ์‚ฌ์— ๋‚จ์€ ์žฌ๊ณ  ๋ฌผ๋Ÿ‰์ด ์žˆ๋‹ค๋ฉด ๊ตฌ๋งคํ•  ์ˆ˜๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. ์ œํ’ˆ ์ƒ์‚ฐ๋งŒ ์ค‘๋‹จํ•œ ๊ฒƒ์ด๋ฉฐ, ํ•ด๋‹น ์ œํ’ˆ..
Dev_sHu
'๐Ÿ“š ์—ฐ์žฌ ์‹œ๋ฆฌ์ฆˆ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)