์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

๊ทธ๋ž˜ํ”ฝ์Šค ์ˆ˜์—… 5๋ฒˆ์งธ ๊ณผ์ œ์ธ 3D Viewing์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
[1] 3D objects๋“ค์ด ์ •์ง€ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ
1. ์นด๋ฉ”๋ผ๊ฐ€ ์ œ์ž๋ฆฌ์—์„œ ํšŒ์ „
2. ์นด๋ฉ”๋ผ๊ฐ€ VPN์„ ๊ณ ์ •์‹œํ‚จ ์ฑ„๋กœ ์˜†์œผ๋กœ ์ด๋™
3. ์ •์ง€ํ•œ ์นด๋ฉ”๋ผ์˜ ์คŒ์ธ, ์คŒ์•„์›ƒ
4. ์นด๋ฉ”๋ผ๊ฐ€ ํŠน์ •ํ•œ ๋ฌผ์ฒด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํšŒ์ „ํ•˜๋ฉด์„œ ๊ทธ ๋ฌผ์ฒด๋ฅผ ๋ฐ”๋ผ๋ณด๋ฉฐ ์นด๋ฉ”๋ผ๊ฐ€ ํšŒ์ „ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ
[2] ์นด๋ฉ”๋ผ์™€ ๋ฌผ์ฒด๊ฐ€ ๋™์‹œ์— ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ





*์ฃผ์š”์†Œ์Šค์ฝ”๋“œ

  • ์™ธ์ ์˜ ๋Œ€์ˆ˜์  ๊ณ„์‚ฐ(Algebraic operation of cross product)

  • 3D์ขŒํ‘œ์ƒ์—์„œ์˜ Vector ํด๋ž˜์Šค ์ •์˜


  • ๋ทฐ์ž‰์ขŒํ‘œ ๊ณ„์‚ฐ

    1. ๋ทฐ์ž‰์ขŒํ‘œ์˜ Z์ถ•์€ ์นด๋ฉ”๋ผ์˜ EyeX,Y,Z ์—์„œ CenterX,Y,Z์˜ ์ฐจ๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ๋‚˜์˜ต๋‹ˆ๋‹ค.(์นด๋ฉ”๋ผ์œ„์น˜์—์„œ ์นด๋ฉ”๋ผ๊ฐ€ ๋ณด๋Š” ์  ๋นผ๊ธฐ)
    2. View-Up Vector๋Š” ๋‹จ์ˆœํžˆ ์›”๋“œ์ขŒํ‘œ์ƒ์˜ Y์ถ•(0,1,0)์— ํ•ด๋‹นํ•˜๊ฒ ๊ตฌ์š”...
    3. VUP๊ณผ Z๋ฅผ ์™ธ์ ํ•˜๋ฉด X์ถ•์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ 
    4. ๋‹ค์‹œ z์ถ•๊ณผ X์ถ•์„ ์™ธ์ ํ•˜๋ฉด Y์ถ•์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    * ๋‹จ์œ„๋ฒกํ„ฐ๋Š” ๊ทธ๋ƒฅ ์—ฐ์‚ฐ์‹œ์— ํฌ๊ธฐ๋ฅผ ๋‚˜๋ˆ ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.



*๊ตฌํ˜„๋œ ๊ฒฐ๊ณผ์˜ ๋น„๋””์˜ค ์บก์ณ (์Œ์„ฑ ์„ค๋ช… ํฌํ•จ)




Discussion
์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์ œ์ผ ๊ณ ์‹ฌํ–ˆ๋˜ ๋ถ€๋ถ„์ด "์นด๋ฉ”๋ผ ์ œ์ž๋ฆฌ ํšŒ์ „" ๋ฐ "๋ฌผ์ฒด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํšŒ์ „"ํ•˜๋Š” ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
๋‹จ์ˆœํžˆ ์›”๋“œ์ขŒํ‘œ๊ณ„๊ธฐ์ค€์—์„œ X,Y,Z ์ถ• ํšŒ์ „์„ ํ•˜๋Š” ๊ฒƒ์ธ์ง€ ์นด๋ฉ”๋ผ์˜ ๋ทฐ์ž‰์ขŒํ‘œ์˜ ๊ธฐ์ค€์œผ๋กœ X,Y,Z์ถ•์ธ์ง€ ๋ช…์‹œ๋˜์–ด์žˆ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์›”๋“œ์ขŒํ‘œ๊ธฐ์ค€์—์„œ "๋ฌผ์ฒด๋ฅผ ๋ฐ”๋ผ๋ณด๋ฉฐ ์ด๋™ํšŒ์ „"์„ ํ•˜๋Š”๊ฒƒ์ด๋ฉด ๊ทธ๋ฆผ1(Z์ถ•๊ธฐ์ค€ ํšŒ์ „์˜ ๊ถค์ ๊ทธ๋ฆผ์€ ์ƒ๋žตํ–ˆ์Šต๋‹ˆ๋‹ค) ๊ณผ ๊ฐ™์ด ์นด๋ฉ”๋ผ๊ฐ€ ๊ถค์ ์„ ๊ทธ๋ฆฌ๊ฒŒ ๋˜์ง€๋งŒ ์นด๋ฉ”๋ผ์˜ ๋ทฐ์ž‰์ขŒํ‘œ์—์„œ ์ด๋™ํšŒ์ „์„ ํ•˜๊ฒŒ๋˜๋ฉด ๊ทธ๋ฆผ2(Y์ถ•๊ธฐ์ค€ ํšŒ์ „์˜ ๊ถค์ ๋งŒ ๋ช…์‹œํ–ˆ์Šต๋‹ˆ๋‹ค)์™€ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ทฐ์ž‰์ขŒํ‘œ๊ธฐ์ค€์œผ๋กœ ํšŒ์ „์„ ํ•˜๋ ค๋ฉด ๋‹ค์‹œ glLookatํ•จ์ˆ˜์˜ ๋‚ด๋ถ€๊ตฌํ˜„, ์ฆ‰, Cross Product๋“ฑ์˜ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋ทฐ์ž‰์ขŒํ‘œ๋ฅผ ์•Œ์•„๋‚ด์•ผ ํ–ˆ์œผ๋ฉฐ, ํšŒ์ „์‹œ์—๋„ ํ›จ์”ฌ ๋” ๋ณต์žกํ•œ ์—ฐ์‚ฐ์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์—ฐ์‚ฐ ์˜ค์ฐจ ๋•Œ๋ฌธ์ธ์ง€ ๊ทธ๋ฆผ2์™€ ๊ฐ™์ด ๊ตฌํ˜„์„ ํ•˜๊ฒŒ ๋˜๋ฉด ํผํฌ๋จผ์Šค๊ฐ€ ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค.(Center<๋ฐ”๋ผ๋ณด๋Š”์ >์˜ ์ขŒํ‘œ๊ฐ€ ๊ณ„์† ๋ฐ”๋€Œ๋”๊ตฐ์š” ๋น„๋””์˜ค์บก์ณ ๋งˆ์ง€๋ง‰๋ถ€๋ถ„์— "์ŠคํŽ˜์…œํฌ์Šค"์ฒ˜๋Ÿผ ์›€์ง์ด๋Š” ์žฅ๋ฉด์„ค๋ช…์—์„œ ์ž์„ธํžˆ ๋ณด๋ฉด ๋ฐ”๋ผ๋ณด๋Š”์ ์ด ์กฐ๊ธˆ์”ฉ ์›€์ง์ด๋Š” ๊ฑธ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.) ๊ทธ๋ž˜์„œ ๋งˆ์šฐ์Šค๋ชจ์…˜ ์„ค์ •์€ ๊ทธ๋ฆผ2์™€ ๊ฐ™์ด, ํ‚ค๋ณด๋“œ ์„ค์ •์€ ๊ทธ๋ฆผ1. ๊ณผ ๊ฐ™์ด ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Š” 3D์ƒ์—์„œ์˜ ํšŒ์ „์ด์ง€๋งŒ 2D ์„ธ๋ถ€๋ถ„์œผ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๊ฐ„๋‹จํ•œ 2DํšŒ์ „ ๋ณ€ํ™˜ ๊ณต์‹์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ์™ธ์— 3D๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค ๋ณด๋‹ˆ, ์ œ๊ฐ€ ๋™์˜์ƒ์„ ๋งŒ๋“ค์–ด ๋†“๊ณ ๋„ ์–ด๋–ป๊ฒŒ ์ž‘๋™๋˜๋Š” ๊ฒƒ์ธ์ง€ ๋„ˆ๋ฌด ํ˜ผ๋ˆ์Šค๋Ÿฌ์›Œ์„œ x,y,z์ขŒํ‘œ๋ฅผ ๊ทธ์—ˆ๊ณ  ๋”๋ถˆ์–ด xy,yz,xzํ‰๋ฉด์—๋„ ๋ฒ„ํ‹ฐ์ปฌ ์ฒ˜๋Ÿผ ์‹ค์„ ์„ ๋“œ๋ฌธ๋“œ๋ฌธ ๊ทธ์—ˆ์Šต๋‹ˆ๋‹ค(๋นฝ๋นฝํžˆ ์ฑ„์šฐ๋ฉด CPU์ ์œ ์œจ์ด ๋„ˆ๋ฌด ๋†’์•„์ ธ์„œ ํผํฌ๋จผ์Šค๊ฐ€ ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.)

์žฌ๋ฏธ์‚ผ์•„ "์นด์šดํ„ฐ์ŠคํŠธ๋ผ์ดํฌ"๋‚˜ "์ŠคํŽ˜์…œํฌ์Šค"์™€ ๊ฐ™์€ FPS 3D๊ฒŒ์ž„์—์„œ์˜ ์กฐ์ž‘์„ ๋น„๋””์˜ค์บก์ณ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—์„œ Demonstrationํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ณผ์ œ๋ฅผ ํ†ตํ•ด ์ˆ˜์—…์‹œ๊ฐ„์— ์ด๋ก ์œผ๋กœ ๋ฐฐ์› ๋˜ ๋ถ€๋ถ„์„ ์ข€ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  3D๊ฒŒ์ž„์ œ์ž‘์„ ํ•˜๊ณ  ์‹ถ์€ ๋งˆ์Œ์ด ๋“ค ์ •๋„๋กœ ํฅ๋ฏธ๋กœ์šด ๊ณผ์ œ์˜€์Šต๋‹ˆ๋‹ค. ^^


๊ทธ๋ฆผ1. ์›”๋“œ์ขŒํ‘œ ๊ธฐ์ค€


๊ทธ๋ฆผ2. ์นด๋ฉ”๋ผ์˜ ๋ทฐ์ž‰์ขŒํ‘œ ๊ธฐ์ค€



* ์†Œ์Šค๋Š” ํ•˜๊ธฐ ๋งํฌ์— ์žˆ์Šต๋‹ˆ๋‹ค.

http://goo.gl/VH3UU




๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•


๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ถ„์„


๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ํ™œ์šฉํ•œ ์ปค๋„ ๋ช…๋ น

http://www.ibm.com/developerworks/kr/library/l-system-calls/


๋ฆฌ๋ˆ…์Šค ๋ถ€ํŒ… ํ”„๋กœ์„ธ์Šค

http://www.ibm.com/developerworks/kr/library/l-linuxboot/index.html


Boot loader showdown: LILO์™€ GRUB ์ดํ•ดํ•˜๊ธฐ

http://www.ibm.com/developerworks/kr/library/l-bootload.html




๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

Lynda.com - iOS SDK Essential Training (2012)



๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

Restlet Framework๋ฅผ ํ†ตํ•ด์„œ,

๊ฐ„๋‹จํžˆ Restful API๋ฅผ ๋งŒ๋“ค๊ณ  ์„œ๋น„์Šคํ•  ์ˆ˜ ์žˆ๋‹ค.

Java ์ง„์˜์—๋Š” JAX-RS( http://ko.wikipedia.org/wiki/JAX-RS ) ๋ผ๋Š” Restful service์˜ ํ‘œ์ค€ ๊ทœ๊ฒฉ์ด ์žˆ๊ณ 
์ด๊ฒƒ์ด ๊ตฌํ˜„์ฒด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋‹ค. (๋˜ ๋‹ค๋ฅธ ์ž๋ฐ”์ง„์˜ ๊ตฌํ˜„์ฒด๋กœ Resteasy, Jersey ๋“ฑ์ด ์žˆ์Œ)

๊ตฌ๊ธ€์‹ ์— ์—ฌ์ญค๋ณด๋‹ˆ Restlet framework ์— ๋Œ€ํ•œ ํ•œ๊ธ€ ์„ค๋ช…์ด ๋งŽ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค.




โ–ฉ IBM ์‚ฌ์ดํŠธ์— ์„ค๋ช…๋œ Restful Web service ๋งŒ๋“ค๊ธฐ

--> ํ˜„์žฌ Restlet framework 2.1๋ฒ„์ „๊นŒ์ง€ ๋‚˜์™€์žˆ๋Š”๋ฐ,
์•„๋ž˜ ์„ค๋ช…๊ธ€์—๋Š” old version (์•„๋งˆ๋„ 1.x ๋Œ€) ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๋ช…์ด ๋˜์–ด์žˆ์œผ๋‚˜,
์„ค๋ช…์„ ๋”ฐ๋ผ๊ฐ€๋ฉด ์ „๋ฐ˜์ ์ธ Rest์˜ ๊ฐœ๋…๊ณผ ์–ด๋–ค ์‹์œผ๋กœ ๊ตฌํ˜„์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฐ์„ ์žก์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

http://www.ibm.com/developerworks/kr/library/tutorial/j-rest/index.html


โ–ฉ Manning (์ถœํŒ์‚ฌ) ์˜ in Action ์‹œ๋ฆฌ์ฆˆ ๋ถ€๋ก ์†Œ์Šค์ฝ”๋“œ (์ฑ…์ด ์•„์ง ์ถœํŒ ๋˜์ง€ ์•Š์•˜์Œ)

(์ธํ„ฐํŒŒํฌ ๋ฐœ๋งค์˜ˆ์ • ์ฑ… ์‚ฌ์ง„ ํผ์˜ด)

http://www.manning.com/louvel/REiA.zip

์†Œ์Šค์ฝ”๋“œ๋ฅผ ์—ด์–ด์„œ ์ฐฌ์ฐฌํžˆ ๋ถ„์„ํ•ด๋ณด๋ฉด ๊ฐ์„ ์žก์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค!


โ–ฉ ๊น€๋ฌธ๊ทœ๋‹˜์˜ ๋ธ”๋กœ๊ทธ ๋‚ด ์„ค๋ช…๊ธ€

๊ฝค๋‚˜ ๋„์›€์ด ๋œ๋‹ค. ^^

http://www.iamcorean.net/32





๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

 

์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ• :: ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ

 

 

์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์€ ํฌ๋กœ์Šค(Cross) ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด๋‹คํฌ๋กœ์Šค ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด๋ž€ ๊ฐœ๋ฐœํ•  ๋•Œ์™€ ์‹คํ–‰ ๋•Œ์— ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค์—ฌ๊ธฐ์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ํ™˜๊ฒฝ์„ ํ˜ธ์ŠคํŠธ(host) ํ™˜๊ฒฝ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ํ™˜๊ฒฝ์„ ํƒ€์ผ“(Target) ํ™˜๊ฒฝ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

 

โ€ป ์•ˆ๋“œ๋กœ์ด๋“œ์— ๋‚ด์šฉ์€ ๋‹ค์Œ ํฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ  : What is Android?

โ€ป Android ๊ฐœ๋ฐœํˆด์ด ๋™์ž‘ํ•˜๋Š” ํ™˜๊ฒฝ

   Windows XP(32bit), Windows Vista(32bit/64bit), Windows 7(32bit/64bit)

   Mac OS X 10.3.8 ์ดํ›„(x86ํŒ๋งŒ)

   Linux Ubuntu Dapper Drake

 

โ€ป ์šฉ์–ด

ADT : Android Development Tools

AVD : Android Virtual Device

Android DDMS : Android Dalvik Debug Monitor Server

ADB : Android Debug Bridge

 

 

A. ์œˆ๋„์šฐ์—์„œ Eclipse IDE ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

A.1. Android ๊ฐœ๋ฐœํ™˜๊ฒฝ์— ํ•„์š”ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•œ๋‹ค.

    * Android SDK

      Version : 2.1   /  1.6   /   1.5

      Download : http://developer.android.com/sdk/index.html

      ์••์ถ•์„ ์ ๋‹นํ•œ ์œ„์น˜์— ํ•ด์ œํ•œ๋‹ค. (D:\AndroidDev\android-sdk-windows)  

 

    * Java SE Development Kit (JDK6)

      Download : http://java.sun.com/javase/downloads/widget/jdk6.jsp

    

    * Eclipse IDE for Java Developers

      Download : http://www.eclipse.org/downloads/

        ๋”ฐ๋กœ ์ธ์Šคํ†จ ํ•„์š”์—†๊ณ ์ ๋‹นํ•œ ํด๋”์— ํ•ด์ œํ•œ๋‹ค.(D:\AndroidDev\eclipse)

 

 

 

A. 

2. Eclipse์—์„œ Andorid ๊ฐœ๋ฐœํˆด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๊ธฐ

   Eclipse๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค

   Help > Install New Software... ์„ ํƒํ•œ๋‹ค.

 

   Install ์ฐฝ์—์„œ [Add...]๋ฒ„ํŠผ์„ ์„ ํƒํ•˜๊ณ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ฌ์ดํŠธ๋ฅผ ๋“ฑ๋กํ•œ๋‹ค.

      Name : Android plugin

      Location :     

http://dl-ssl.google.com/android/eclipse/

 

 

Install ์ฐฝ์—์„œ Work with ์—  ์œ„์—์„œ ๋“ฑ๋กํ•œ ์‚ฌ์ดํŠธ๋ฅผ ์„ ํƒํ•œ๋‹ค.

   ์•„๋ž˜ ํ™”๋ฉด๊ณผ ๊ฐ™์ด Developer Tools๋ฅผ ์ฒดํฌํ•˜๊ณ , [Next >]๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

  Install Details์—์„œ Android DDMS, Android Developement Tools ๋ฅผ ์„ ํƒํ•˜๊ณ ,

  [Next >] ๋ฒ„ํŠผ์„ ์„ ํƒํ•œ๋‹ค.

์„ค์น˜์ค‘...

A. 

2. Eclipse์—์„œ Android SDK์˜ ๊ฒฝ๋กœ ์ง€์ •ํ•˜๊ธฐ

    Eclipse๋ฅผ ์‹คํ–‰ํ•˜์—ฌ Window > Perferences๋ฅผ ์„ ํƒํ•œ๋‹ค.

    Android ๋ฅผ ์„ ํƒํ•˜๊ณ  SDK Location ์— ์œ„์—์„œ Android SDK ์„ค์น˜ํ•œ ํด๋”๋ฅผ ์„ ํƒํ•œ๋‹ค.

    (์—ฌ๊ธฐ์„œ๋Š” D:\AndroidDev\android-sdk-windows๋กœ ์„ค์ •)


A. 

3. 

Eclipse์—์„œ Windows > Android SDK and AVD Manager ์„ ํƒํ•œ๋‹ค.

   Available Packages๋ฅผ ์„ ํƒํ•˜๊ณ  ์„ค์น˜ํ•  SDK๊ณผ Google API๋ฅผ ์ฒดํฌํ•œ๋‹ค.

   [Install Selected]๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.


   Accept All์„ ์„ ํƒํ•˜๊ณ , [Install Accepted]๋ฒ„ํŠผ์„ ์„ ํƒํ•œ๋‹ค.


   ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด [Yes] ๋ฒ„ํŠผ์„ ์„ ํƒํ•˜๊ณ  ADB๋ฅผ ์žฌ์‹œ์ž‘ํ•œ๋‹ค.


A. 

4. ์ด์ œ Virtual Device๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

    

Android SDK and AVD Manager ์ฐฝ์—์„œ Virtual Devices๋ฅผ ์„ ํƒํ•˜๊ณ ,

   [New...]๋ฒ„ํŠผ์„ ์„ ํƒํ•œ๋‹ค.

  Create new AVD์ฐฝ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๊ณ , [Create AVD]๋ฒ„ํŠผ์„ ์„ ํƒํ•œ๋‹ค.

  ์—ฌ๊ธฐ์„œ SD Card ์‚ฌ์ด์ฆˆ๋ฅผ ๋„ˆ๋ฌด ํฌ๊ฒŒ ์„ค์ •ํ•˜๋ฉด ํ•ด๋‹น Virtual Device๋ฅผ ๊ตฌ๋™(Android ๋ถ€ํŒ…)ํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ์†Œ๋น„ํ•˜๊ณ  ๋ถ€ํŒ…์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ํ•˜๋ ค๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์„ค์ •ํ•œ๋‹ค์—ฌ๊ธฐ์„œ๋Š” ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ๋™ํ•  ๊ฒƒ์ด๋ฏ€๋กœ SD ์นด๋“œ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๋ฅผ 64MB  ๋˜๋Š” 128MB ์ •๋„ ์„ค์ •ํ•œ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๋ฉด Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ธํŒ… 

 ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

 

 

B. Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ/์ปดํŒŒ์ผ/์‹คํ–‰

B.1. Eclipse ์—์„œ File > New > Android Project ๋ฅผ ์„ ํƒํ•œ๋‹ค.

   ์•„๋ž˜ ํ™”๋ฉด๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜๊ณ , [Finish]๋ฒ„ํŠผ์„ ์„ ํƒํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

   ( 

HelloWorld ๋ผ๋Š” 2.1 ๋ฒ„์ „ ํ”Œ๋žซํผ์—์„œ ๋Œ์•„๊ฐ€๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์˜ˆ)


- Application Name : ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฉ”์ธํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด๋ฆ„
- Package Name : Java
์˜ ํŒจํ‚ค์ง€๋ช…ํŒจํ‚ค์ง€๋Š” ์ปจํ…Œ์ด๋„ˆ์— ํฌํ•จ๋œ ํƒ€์ž…์˜ ๊ณ ์œ ์˜ ์‹๋ณ„์ž ๋ฐ ์ ‘์† ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ
- Create Activity : 
์•ˆ๋“œ๋กœ์ด๋“œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œˆ๋„์šฐ๋ฅผ ์ œ์–ดํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ด๋ฆ„. Activity๋Š” UIํ™”๋ฉด์„ ์ œ์–ดํ•˜๋Š” ํด๋ž˜์Šค.


๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.


  Eclipse์—์„œ Run > Run ์„ ์„ ํƒํ•˜๊ณ 

  Run As ์—์„œ Android Application์„ ์„ ํƒํ•˜๊ณ , [OK]๋ฒ„ํŠผ์„ ์„ ํƒํ•˜๋‹ค.


Android SDK and AVD Manager๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์—ฌ๊ธฐ์„œ ๊ธฐ์กด ๋“ฑ๋กํ•ด ๋‘” AVD๋ฅผ ์„ ํƒํ•˜๊ณ 

[Start...]๋ฒ„ํŠผ์„ ์„ ํƒํ•œ๋‹ค.

๋“œ๋””์–ด Android๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ™”๋ฉด์„...


(์—ฌ๊ธฐ์„œ ์ปด์‚ฌ์–‘์— ๋”ฐ๋ผ ์‹คํ–‰์†๋„๊ฐ€ ๋งŽ์ด ์ฐจ์ด๋‚œ๋‹ค.

๋งŒ์ผ ๋ถ€ํŒ… ์‹œ๊ฐ„์ด ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜(3๋ถ„์ด์ƒ๊ฑธ๋ฆฌ๋‹ค๋ฉด 

  

 AVD์˜ SD ์นด๋“œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์ฆˆ๋ฅผ ๋„ˆ๋ฌด ํฌ๊ฒŒ ์„ค์ •ํ•œ ๊ฒƒ์ด ์•„๋‹Œ์ง€ ํ™•์ธํ•ด๋ณธ๋‹ค์—ฌ๊ธฐ์„œ ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ๋™ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ 64mb ๋˜๋Š”128mb์ •๋„๊ฐ€ ๋ฌด์•ˆํ•˜๋‹ค์ด ์ด์ƒ์œผ๋กœ ์„ค์ •ํ–ˆ๋‹ค๋ฉด ์ดํด๋ฆฝ์Šค์˜

Android SDK and AVD Manager ์ฐฝ์— ๊ฐ€์„œ ์‹คํ–‰ํ•˜๋ ค๋Š” AVD์˜  SD ์นด๋“œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์ฆˆ๋ฅผ ์กฐ์ •ํ•˜๋ฉด ๋ถ€ํŒ…์†๋„๊ฐ€ ๋นจ๋ผ์งˆ ๊ฒƒ ์ด๋‹ค.

๋ถ€ํŒ…์ด ์™„๋ฃŒ๋˜๊ณ ์œ„์—์„œ ์ƒ์„ฑํ•œ HelloWorld๋ผ๋Š” ์• ํ”Œ๋ฆฌ์บ์ด์…˜์ด ์‹คํ–‰๋œ๋‹ค.

 

๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ HelloWorldํ•˜๋ฉด ๋๋‚œ๊ฑฐ ์•„๋‹Œ๊ฐ€?ใ…‹ใ…‹

 

iPhone App. ๊ฐœ๋ฐœ์˜ ๊ฒฝ์šฐ Mac OS๊ฐ€ ํ•„์š”ํ•˜๊ณ ์‹ค์ œ ํ•˜๋“œ์›จ์–ด์— ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐฐํฌํ•  ๋•Œ๋„ ์• ํ”Œ ๋ณ„๋„์˜ ์ธ์ฆ์„ ๊ฑฐ์ณ์•ผ ํ•˜๋‚˜

Android App. ๊ฐ™์€ ๊ฒฝ์šฐ ๊ฐœ๋ฐœํ™˜๊ฒฝ(์œˆ๋„์šฐ/๋ฆฌ๋ˆ…์Šค/Mac)์˜ ๊ฑฐ์˜ ์ œ์•ฝ์ด ์—†๊ณ ๋ฐฐํฌ๋„ USB๋กœ ๊ฐ€๋Šฅํ•˜๋„๊ณ  ํ•˜๋‹ˆ ์กฐ๋งŒ๊ฐ„ ๋งŽ์€ App.๊ณผ ๊ทธ๋Ÿฐ ์• ํ”Œ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ๋งŽ์€ ํˆด์ด๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์Ÿ์•„์ ธ ๋‚ ์˜ฌ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค๊ฐœ์ธ์ ์œผ๋กœ Android ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด Java ๊ณ„์—ด์ด๋ผ

 GUI ๋””์ž์ด๋„ˆ๊ฐ€ iPhone GUI ๋””์ž์ด๋„ˆ๋‚˜ Visual Studio (Mobile Window ๊ฐœ๋ฐœํˆด)์™€ ๊ฐ™์€ ํˆด์— ๋น„ํ•ด ๋‹ค์†Œ ๋ถˆํŽธํ•œ ๊ฒƒ ์–ด์ฉ”์ˆ˜๊ฐ€ ์—†๋‹คํ•˜์ง€๋งŒAndroid๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์˜คํ”ˆ์†Œ์Šค์ด๋‹ˆ ์ˆ˜๋…„๋‚ด์— iPhone์„ ๋›ฐ์–ด ๋„˜์„ ์ •๋„๋กœ ๋ฐœ์ „ํ•˜์ง€ ์•Š์„๊นŒ 

์กฐ์‹ฌ์Šค๋Ÿฐ ๊ธฐ๋Œ€๋ฅผ ํ•ด ๋ณธ๋‹ค.

 

๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

์ถœ์ฒ˜ : http://systemscoaching.kr/62


๊ธฐ์–ต๋ ฅ์ด ์ ์  ๋‚˜๋น ์ง„๋‹ค. ์ดํ•ดํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ๋‚˜์ค‘์— ํ•„์š”ํ•˜๋ฉด ๋‹ค์‹œ ๊บผ๋‚ด์„œ ๋‹ค์‹œ ๊ณต๋ถ€ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์ด Open Source Software์˜ ๊ฐœ๋…์ด๋‹ค. ์ด ํฌ์ŠคํŠธ๋Š” ํ•„์ž์˜ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋œ ๊ฒƒ์œผ๋กœ, ์–ด๋–ค ๋ฒ•์ ์ธ ์กฐ์–ธ๋„ ๋‹ด๊ณ  ์žˆ์ง€ ์•Š๊ณ , ์ด ํฌ์ŠคํŠธ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜๋Š” ๊ฒƒ์€ ๋…์ž์˜ ์„ ํƒ์ด๋ฉฐ, ํ•„์ž๋Š” ์–ด๋–ค ๋ฒ•์ ์ธ ์ฑ…์ž„๋„ ์ง€์ง€ ์•Š๋Š”๋‹ค.

 

์†Œํ”„ํŠธ์›จ์–ด ๋ผ์ด์„ผ์Šค ์ •์ฑ…

Open Source

ํ†ต๋…์ ์œผ๋กœ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ๋ˆ„๊ตฌ๋‚˜ ์ˆ˜์ •ํ•˜๊ณ  ์žฌ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งํ•œ๋‹ค. ์›์ž‘์ž๊ฐ€ ์ง€์ •ํ•œ ๋ผ์ด์„ผ์Šค ์กฐ๊ฑด๋งŒ์„ ์ง€ํ‚ค๋ฉด, ๊ธฐ์—…์—์„œ๋„ ์ƒ์šฉ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. GPL, LGPL, BSD, MPL, Apache ๋“ฑ์ด ์œ ๋ช…ํ•œ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด์„ผ์Šค ์ •์ฑ…์ด๋‹ค.

 

Closed Source (Proprietary Source)

์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ์žˆ์ง€ ์•Š๊ณ , ์ €์ž‘๊ถŒ์ž๊ฐ€ ํ†ต์ œ๊ถŒ์„ ํ–‰์‚ฌํ•  ์ˆ˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งํ•œ๋‹ค. ์ €์ž‘๊ถŒ์ž์™€์˜ ํ˜‘์˜(๊ณ„์•ฝ)์—†์ด ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์žฌ ๋ฐฐํฌํ•  ์ˆ˜ ์—†๋‹ค. ์ฃผ๋กœ ๊ธฐ์—…์ด๋‚˜ ๊ธฐ์—…์ง‘๋‹จ์— ์˜ํ•ด ๋…๋ฆฝ์ ์œผ๋กœ ์†Œ์œ ๋˜๋ฉฐ, ๋ผ์ด์„ผ์‹ฑ์„ ํ†ตํ•ด ๋ˆ์„ ๋ฒŒ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.

 

Free Software

โ€œFree lunchโ€, โ€œFreedomโ€ ์—์„œ ์‚ฌ์šฉ๋œ โ€œFreeโ€์˜ ์˜๋ฏธ๋Š” ์„œ๋กœ ๋‹ค๋ฅด๋‹ค. ์˜คํ”ˆ์†Œ์Šค๋Š” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ณต๊ฐœํ•œ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๊ฐ•ํ•˜๊ณ , ํ”„๋ฆฌ์†Œํ”„ํŠธ์›จ์–ด๋Š” โ€œ์‚ฌ์šฉ์˜ ์ž์œ โ€์˜ ์˜๋ฏธ๊ฐ€ ๊ฐ•ํ•˜๋‹ค. ํ˜น์ž๋Š” โ€œOpen source is a development methodology; free software is a social movement.โ€ ๋ผ๊ณ  ๋งํ•œ๋‹ค.

 

Shared Source

3rd Party๋“ค๊ณผ ๊ณ„์•ฝ์„ ํ†ตํ•ด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ณต๊ฐœํ•˜๋Š” ์ˆ˜์ค€์„ ์ •์˜ํ•œ Microsoft์˜ ๋ผ์ด์„ผ์Šค ์ •์ฑ…์ด๋‹ค. ๊ณ„์•ฝ์˜ ํ˜•ํƒœ์— ๋”ฐ๋ผ, ์™„์ „ Closed Source ๊ณ„์•ฝ, Source Code ์ฐธ์กฐ ๊ฐ€๋Šฅ ๊ณ„์•ฝ, ์ˆ˜์ • ๋ฐ ์žฌ๋ฐฐํฌ ๊ฐ€๋Šฅ ๊ณ„์•ฝ์œผ๋กœ ๋‚˜๋ˆ„์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์˜ ์žฅ์ 

a. ๋ฐฉ๋Œ€ํ•œ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ ? ์ „์„ธ๊ณ„ ๊ฐœ๋ฐœ์ž๋“ค์ด ์˜คํ”ˆ๋œ ํ† ๋ก ์„ ํ†ตํ•˜์—ฌ ํ•ด๋‹น ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์กฐ, ๋ฒ„๊ทธ ํŒจ์น˜, ๊ธฐ๋Šฅ์„ ๊ณ„์† ๋ฐœ์ „์‹œํ‚จ๋‹ค. ์ „์„ธ๊ณ„์˜ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ ๊ฐœ ๋˜๋Š” ๋ช‡๊ฐœ์˜ ๊ธฐ์—…์ด ์ฐธ์—ฌํ•œ ํด๋กœ์ฆˆ๋“œ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๋น„ํ•ด ํ›จ์”ฌ ๋งŽ์€ ๊ฐœ๋ฐœ์ž ๋ฆฌ์†Œ์Šค๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

b. ๋น ๋ฅธ ๊ฐœ๋ฐœ ๋ฐ ํ’ˆ์งˆ ๊ฒ€์ฆ ? ์ „์„ธ๊ณ„ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฐธ์—ฌํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์˜ ์†๋„๋‚˜ ๋ฒ„๊ทธ ํŒจ์น˜์˜ ์†๋„๋ฉด์—์„œ ํด๋กœ์ฆˆ๋“œ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๋น„ํ•ด ํ›จ์”ฌ ๋น ๋ฅด๋‹ค.

c. ๋” ํฐ ์—์ฝ”์‹œ์Šคํ…œ ? ํด๋กœ์ฆˆ๋“œ์†Œ์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฐ–๋Š” ํ์‡„ํ˜• ๊ฐœ๋ฐœ ์ƒํƒœ๊ณ„์— ๋น„ํ•ด์„œ?์ „ํ†ต์ ์ธ  ๊ฐ‘์„๊ด€๊ณ„์—์„œ ์†”๋ฃจ์…˜/์šฉ์—ญ ์—…์ฒด๋“ค์„ ์ค„์„ธ์›Œ ๋ด์•ผ ์†์œผ๋กœ ๊ผฝ์„ ์ˆ˜ ์žˆ์„ ์ •๋„์ด๋‹ค?, ์˜คํ”ˆ๋œ ์†Œ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒ์šฉํ™” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋งŽ์€ ๊ธฐ์—…๋“ค์ด ์กด์žฌํ•œ๋‹ค.

d. ํ‘œ์ค€ ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ? POSIX, SVR4, BSD Socket๊ณผ ๊ฐ™์€ ์‚ฐ์—… ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์‚ฐ์—…/์‹œ์žฅ๊ฐ„์˜ ๊ฒฝ๊ณ„๋ฅผ ํ—ˆ๋ฌผ์–ด ๋œจ๋ฆฌ๊ณ , ๊ธฐ์กด ๊ฐœ๋ฐœ ๊ฒฐ๊ณผ๋ฌผ๋“ค์˜ ์žฌํ™œ์šฉ์„ฑ์„ ๋†’์—ฌ ์ค€๋‹ค.

e. ์†Œ์Šค์ฝ”๋“œ ์ œ๊ณต

f. ๋น„์šฉ ์ ˆ๊ฐ

 

GPL(General Public License)

 

 

 

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ GPL ๋ผ์ด์„ผ์Šค ์ •์ฑ…์„ ์„ ํƒํ•œ๋‹ค๋ฉด, โ“ ์ €์ž‘๊ถŒ์„ ํ‘œ์‹œํ•˜๊ณ  โ“‘ ๋ฌด๋ณด์ฆ (No warranty) ์กฐํ•ญ์„ ํ‘œ์‹œํ•˜๊ณ  โ“’ GPL๋กœ ๋ฐฐํฌ๋จ์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค. ์ž์‹ ์ด๋‚˜ ์ œ 3์ž์˜ ํŠนํ—ˆ๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ฐœ๋ฐœํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ GPL๋กœ ๋ฐฐํฌํ•œ๋‹ค๋ฉด, ์ž์‹ ์˜ ํŠนํ—ˆ์— ๋Œ€ํ•œ Royalty๋ฅผ ์ฒญ๊ตฌํ•  ์ˆ˜ ์—†๊ณ , ์ œ 3์ž๋„ ํŠนํ—ˆ์— ๋Œ€ํ•œ Royalty๋ฅผ ์ฒญ๊ตฌํ•  ์ˆ˜ ์—†๋‹ค?์ œ 3์ž์˜ ํŠนํ—ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค๊ณ  GPL๋กœ ๋ฐฐํฌํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด, ํŠนํ—ˆ๋ฅผ ๊ฐ€์ง„ ์ œ 3์ž์—๊ฒŒ ์‚ฌ์ „ ๋™์˜๋ฅผ ์–ป์–ด์•ผ ํ•œ๋‹ค*. GPL๋กœ ์„ ์–ธ๋œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ์ฝ”๋“œ (Derived Work)๋Š” GPL ์กฐ๊ฑด์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค. GPL๋กœ ์„ ์–ธ๋œ ์ฝคํฌ๋„ŒํŠธ๋ฅผ ๋งํฌํ•œ (Static, Dynamic Link ๋ชจ๋‘์— ํ•ด๋‹น) ์ƒ์œ„ Application์€ GPL ์กฐ๊ฑด์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.


* GPLed ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋Š” ์ž์‹ ์ด ์ฑ„์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์— ๋Œ€ํ•œ ํŠนํ—ˆ๊ถŒ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ์ž˜ ๋ชจ๋ฅธ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์— ํŠนํ—ˆ๊ถŒ์ž๋Š” GPL ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž ๋ณด๋‹ค๋Š”, GPL ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์—…์— ํŠนํ—ˆ ์†Œ์†ก์„ ํ•œ๋‹ค. ์ด๋Š” ๊ฒฝ์ œ๋…ผ๋ฆฌ๋กœ์„œ, ๊ฐœ์ธ๋ณด๋‹ค ๊ธฐ์—…์— ์ฒญ๊ตฌํ•ด์•ผ ๋ˆ์ด ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Ÿฐ ์ˆจ์–ด ์žˆ๋Š” ํŠนํ—ˆ๊ถŒ์˜ ์œ„ํ—˜์„ฑ์„ ์‚ฌ์ „์— ์ฐพ์•„ ์ฃผ๋Š” ํˆด์ด BlackDuck็คพ์˜ ProtexIP์ด๋‹ค.

 

LGPL (Lesser GPL)

 

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ LGPL ๋ผ์ด์„ผ์Šค ์ •์ฑ…์„ ์„ ํƒํ•œ๋‹ค๋ฉด, โ“ ์ €์ž‘๊ถŒ์„ ํ‘œ์‹œํ•˜๊ณ  โ“‘ ๋ฌด๋ณด์ฆ (No warranty) ์กฐํ•ญ์„ ํ‘œ์‹œํ•˜๊ณ  โ“’ LGPL๋กœ ๋ฐฐํฌ๋จ์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค. LGPL ์„ ์–ธ๋œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ์ฝ”๋“œ๋Š” ๋‹ค์‹œ LGPL๋กœ ๋ฐฐํฌ๋˜์–ด์•ผ ํ•œ๋‹ค. LGPL ์„ ์–ธ๋œ ์ฝคํฌ๋„ŒํŠธ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ Static Link/Dynamic Linkํ•˜๋Š” Application์€ ๋‹ค์‹œ LGPL๋กœ ๋ฐฐํฌ๋  ํ•„์š”๋Š” ์—†๋‹ค. ๋‹ค๋งŒ, ์ฝคํฌ๋„ŒํŠธ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์ƒ์œ„ Application์— Static Link๋ฅผ ํ–ˆ์„ ๊ฒฝ์šฐ, ์ˆ˜์ •๋œ LGPLed ์›๋ณธ(Static Link๋œ Component)์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ๋Š” ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค (Section 6).

 

Linux System Architecture

 

์ผ๋ฐ˜์ ์œผ๋กœ Linux System์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Kernel Space์™€ User Space๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. Kernel ์ž์ฒด๋Š” GPL์ด๋ฉฐ, Kernel๊ณผ Static์œผ๋กœ ์—ฎ์ด๋Š” Device Driver๋„ ๋‹น์—ฐํžˆ GPL์ด ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋ฐ˜๋ฉด, Kernel๊ณผ System Call์„ ํ†ตํ•ด์„œ ์ ‘๊ทผํ•˜๋Š” User Space์˜ Application๋“ค์€ ๋ผ์ด์„ผ์Šค ์ •์ฑ…์„ ์ž์œ ๋กญ๊ฒŒ ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๋‹คํ–‰ํžˆ๋„ User Space์—์„œ ๊ตฌ๋™ํ•˜๋Š” ์ฃผ์š” Open Source Library๋“ค์€ 99%๊ฐ€ non-GPL๋กœ ์„ ์–ธ ๋˜์–ด ์žˆ์–ด์„œ, ์ด๋“ค์„ Linkํ•ด์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์†Œ์Šค ๊ณต๊ฐœ์— ์˜๋ฌด๋Š” ์—†์–ด์ง„๋‹ค.

 

๋Œ€ํ‘œ์ ์ธ Linux Middlewares

 Middleware or Library

Function

Licenses

glibc

Standard C library

LGPL

libg++

Standard C++ library

LGPL

Qt

Graphics framework

LGPL/Proprietary

libjpeg

Jpeg library

IJG's free license

ffmpeg

Multimedia Framework (Codecs)

LGPL

Gstreamer

Multimedia Framework

LGPL

 

libc

Android์—์„œ๋Š” Linux์—์„œ ๋Œ€ํ‘œ์ ์ธ C Runtime์ธ glibc๋‚˜ uclibc๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , bionic libc๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋“ค์€ LGPL๋กœ ์„ ์–ธ๋˜์–ด ์žˆ์œผ๋‚˜, ์–ด๋–ค ์ด์œ ์—์„œ์ธ ์ง€ ๋ชฐ๋ผ๋„, Android์—์„œ๋Š” ๋ผ์ด์„ผ์Šค๋ฌธ์ œ๊ฐ€ ์ „ํ˜€ ์—†๋Š” bionic์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๋•Œ๋ฌธ์—, gcc๋กœ ์ปดํŒŒ์ผ๋˜๋Š” Native C์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ๋ณต์žกํ•œ NDK(Native Development Kit) ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค.

 

Qt

QT๋Š” ํŠน์ดํ•˜๊ฒŒ Dual ๋ผ์ด์„ผ์Šค ์ •์ฑ…์„ ์ทจํ•˜๊ณ  ์žˆ๋‹ค. ๊ณผ๊ฑฐ๊นŒ์ง€๋งŒ ํ•ด๋„, OSI(Open Source Initiative)์˜ ์ธ์ •์„ ๋ฐ›์ง€ ๋ชปํ–ˆ๋˜ QPL์ด๋ผ๋Š” ์˜คํ”ˆ์†Œ์Šค ์ •์ฑ…๊ณผ ํด๋กœ์ฆˆ๋“œ์†Œ์Šค ์ •์ฑ…์˜ ๋‘๊ฐ€์ง€ ์ •์ฑ…์„ ์ทจํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. QT์˜ ์ €์ž‘๊ถŒ์ž์ธ Trolltech์ด 2008๋…„ Nokia์— ์ธ์ˆ˜๋˜๊ณ , 2009๋…„์—์„œ์•ผ QT๋ฅผ LGPL QT์™€ Proprietary QT๋กœ ๊ตฌ๋ถ„ํ•˜์˜€๋‹ค.

 

libjpeg

libjpeg์€ IJG(International JPEG Group)์˜ ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฅธ๋‹ค (์•„๋ž˜ ๊ทธ๋ฆผ). ์†Œ์Šค๋ฅผ ๊ณต๊ฐœํ•  ์˜๋ฌด๋Š” ์—†๋‹ค.

 

Linux Device Drivers

Linux์—์„œ Device Driver๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค: Direct kernel driver & Binary module.  ์ „์ž๋Š” Kernel itself๋ผ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, GPL๋กœ ์„ ์–ธ๋œ Linux Kernel์— ๋Œ€ํ•œ Derived works์— ๊ฐ„์ฃผ๋˜๊ณ , ๋‹น์—ฐํžˆ GPL๋กœ ๊ฐ™์ด ๋ฐฐํฌ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋ฐ˜๋ฉด, ํ›„์ž๋Š” ๋ถ€ํŠธ ์ดํ›„์— Device๊ฐ€ ์‚ฌ์šฉ๋  ๋•Œ ๋กœ๋“œ๋˜๋Š” Module๋ฐฉ์‹์ด๋‹ค ? "Modules were originally conceived as inserted extentions to a running Linux kernel". ๋งŽ์€ ๊ธฐ์—…๋“ค์ด Module driver๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ฐฐํฌํ•˜๊ณ  ์†Œ์Šค๋ฅผ ๊ณต๊ฐœํ•˜๊ณ  ์žˆ์ง€๋Š” ์•Š์œผ๋ฉฐ, ํ˜„์žฌ๋กœ์„œ๋Š” ์œ ์ผํ•˜๊ฒŒ Driver ์†Œ์Šค๋ฅผ ๊ณต๊ฐœํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ„์ฃผ๋˜๊ณ  ์žˆ์œผ๋‚˜, Linux community์—์„œ๋Š” ์ด ๋ฐฉ๋ฒ•์„ ๋†“๊ณ  ๊ณ„์† ๋…ผ์Ÿ ์ค‘์ด๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ ๋‚ด Ubuntu ๋„ท๋ถ์—์„œ Module๋กœ ๋กœ๋“œ๋œ Driver๋“ค์ด๋‹ค. (console# lsmod)

 

 

Dynamically loadable driver module์€ Memory allocation, bus enumeration, disable/enable interrupts & preemption, networking service, debugging ๋“ฑ์˜ Kernel Service๋ฅผ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค. ์ฆ‰, Kernel๊ณผ ๋ถ„๋ฆฌ๋œ Standard external kernel symbol์„ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•œ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ ๋‚ด ๋„ท๋ถ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Standard external kernel symbol ๋“ค์ด๋‹ค. (colsole# gedit /proc/kallsyms)

 

Module Driver์—์„œ๋„ ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋‹ค. GPL ์„ ์–ธ๋œ Linux Driver๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋ฉด, ์•„๋ฌด๋ฆฌ Module๋กœ ๋กœ๋“œํ•œ๋‹ค๊ณ  ํ•ด๋„, Derived works๋กœ ๊ฐ„์ฃผ๋˜๋ฉฐ, ์ด๋Š” ์†Œ์Šค๋ฅผ ๊ณต๊ฐœํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. Linux Driver๋ฅผ Module๋กœ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” From Scratch(๋งจ๋•…์— ํ—ค๋”ฉ)๋กœ ๊ฐœ๋ฐœํ•ด์•ผ ํ•œ๋‹ค.

 

 

๊ธฐ์—…์—์„œ GPLed, LPGLed ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ™œ์šฉ๊ณผ ํ™œ์šฉ ์‚ฌ์‹ค ๊ณต๊ฐœ

๊ธฐ์—…์—์„œ ์ƒ์šฉ์œผ๋กœ GPL, LPGL ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ƒ์šฉ ์ œํ’ˆ์˜ ํƒ‘์žฌ๋ฅผ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ์ „์ˆ ํ•œ ๋ฐ”์™€ ๊ฐ™์ด, GPL, LGPL ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Œ์„ ๊ณต๊ฐœํ•ด์•ผ ํ•œ๋‹ค. ๋‹จ๋ง์ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์— ์ปค๋‹ค๋ž—๊ฒŒ ์จ ๋ถ™์ผ ํ•„์š”๋Š” ์—†์ง€๋งŒ, ์ ์–ด๋„ ์„ค๋ช…์„œ, ๋ณด์ฆ์„œ ๋˜๋Š” ๋ถ€ํŠธ ๋ฉ”์‹œ์ง€ ๋“ฑ์— ํ‘œ์‹œํ•ด์•ผ ํ•œ๋‹ค. ๋˜, ์†Œ์Šค๋ฅผ ๊ณต๊ฐœํ•ด์•ผ ํ•  ์˜๋ฌด๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์˜จ/์˜คํ”„๋ผ์ธ ๋ฏธ๋””์–ด๋ฅผ ํ†ตํ•ด ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์˜๋ฌด๋ฅผ ์ดํ–‰ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋Š” FSF(Free Software Foundation)์™€ ๊ฐ™์€ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด์„ผ์Šค ์ •์ฑ… ๊ฐ์‹œ์ž๋“ค๋กœ ๋ถ€ํ„ฐ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค. FSF์™€ ๊ฐ™์€ ๊ธฐ๊ด€์ด ์‹ค์ œ ๋ฒ•์ ์ธ ํ–‰๋™์„ ์ทจํ•˜์ง€๋Š” ์•Š์œผ๋ฉฐ, ์‹ค์ œ ๋ฒ•์ ์ธ ํ–‰๋™์„ ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์ฒด๋Š” ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ €์ž‘๊ถŒ์ž์ด๋‹ค. ๊ธฐ์—…์ด ์˜คํ”ˆ์†Œ์Šค ํ™œ์šฉ ์‚ฌ์‹ค์„ ๊ณต๊ฐœํ•˜์ง€ ์•Š์•„์„œ ์ƒ๊ธฐ๋Š” ์œ„ํ—˜์€ ์‹ฌ๊ฐํ•œ "๋ช…์˜ˆ ์‹ค์ถ”"์ด๋‹ค.

 

์š”์ฆ˜์€ Embedded System ์—์„œ๋„ Linux๋‚˜ ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ™œ์šฉ๋„๊ฐ€ ์ ์  ๋†’์•„ ์ง€๊ณ  ์žˆ๋‹ค. ๊ตญ๋‚ด ๋Œ€๊ธฐ์—…๋“ค์—์„œ๋Š” 3rd Party๋กœ ๋ถ€ํ„ฐ ๊ณต๊ธ‰๋˜๋Š” ์†”๋ฃจ์…˜๋“ค์— ๋Œ€ํ•œ ์˜คํ”ˆ์†Œ์Šค๊ฐ€ ๋ชฐ๊ณ  ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์œ„ํ—˜์„ ์‚ฌ์ „์— ์ œ๊ฑฐํ•˜๊ณ ์ž Blackduck็คพ์˜ ProtexIP์™€ ๊ฐ™์€ ์†”๋ฃจ์…˜์„ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ ๊ณ„์† ์—…๋ฐ์ดํŠธ๋˜๋Š” BlackDuck ๋ณธ์‚ฌ์˜ DB์„œ๋ฒ„์— ์ ‘๊ทผํ•˜์—ฌ, ๊ฒ€์ฆํ•˜๊ณ ์ž ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์˜ ์œ„ํ—˜(Violation) ์—ฌ๋ถ€๋ฅผ ๊ทธ๋ž˜ํ”ฝ์œผ๋กœ ํ‘œ์‹œํ•ด ์ฃผ๊ณ , ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€ ์ค€๋‹ค. Source ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Binary  ๋„ ์™„๋ฒฝํ•˜์ง„ ์•Š์ง€๋งŒ Violation์„ ์žก์•„ ๋‚ธ๋‹ค. ์œ ์‚ฌ ํˆด๋กœ๋Š” Palamida็คพ์˜ ์†”๋ฃจ์…˜๋„ ์žˆ๋‹ค.

 

 

RTOS์—์„œ์˜ Linux Driver ์ฐธ์กฐ ํ™œ์šฉ

GPL ์„ ์–ธ๋œ Linux Driver๋ฅผ ์ฐธ์กฐํ•˜์—ฌ RTOS Device Driver๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์€ ์ ˆ๋Œ€ ์ง€์–‘ํ•ด์•ผ ํ•œ๋‹ค. Linux Driver๋ฅผ ์ฐธ์กฐํ•ด์„œ RTOS Device Driver๋ฅผ ๋งŒ๋“ค๊ณ  ๋งˆ์น˜ ์ง์ ‘ ๊ฐœ๋ฐœํ•œ IP(์„ค๊ณ„์ž์‚ฐ)์ธ์–‘ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ œ๊ณตํ•ด์„œ๋„ ์ ˆ๋Œ€ ์•ˆ๋œ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ์œ„ํ—˜์ด ์กด์žฌํ•˜๋Š”๋ฐ, ์ฒซ์งธ๋Š” ์›์ž‘์ž์— ๋Œ€ํ•œ ์ €์ž‘๊ถŒ๋ฒ• ์œ„๋ฐ˜์ด๋ฉฐ, ๋‘˜์งธ๋Š” Proprietary RTOS ์ž์ฒด, Runtime, Proprietary Application๊นŒ์ง€๋„ ๋ชจ๋‘ GPL๋กœ ๊ฐ„์ฃผ๋˜์–ด ํšŒ์‚ฌ ๋‚ด์˜ ๋ชจ๋“  Proprietary IP์— ๋Œ€ํ•œ ์†Œ์Šค๋ฅผ ๊ณต๊ฐœํ•ด์•ผ ํ•ด์•ผ ํ•˜๋Š” ์œ„ํ—˜์ด๋‹ค.

 

๊ฒฐ๋ก , ์š”์•ฝ ์ •๋ฆฌ

 ์˜คํ”ˆ์†Œ์†Œ ํ™œ์šฉ

๋ผ์ด์„ผ์Šค

์„ค๋ช…

GPL ๋ณต์‚ฌ/์ˆ˜์ •

GPL

์ˆ˜์ •๋ฌผ์˜ ์†Œ์Šค์ฝ”๋“œ ๊ณต๊ฐœ

GPL Library์— ๋งํฌ

GPL

Library์˜ ์ˆ˜์ •์ฝ”๋“œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ด์™€ ๋งํฌ๋˜๋Š” Application์˜ ์†Œ์Šค์ฝ”๋“œ๋„ ๊ณต๊ฐœ  (๋‹คํ–‰ํžˆ๋„ 99%์˜ Linux Runtime Library๋Š” non-GPL๋กœ ์„ ์–ธ๋˜์–ด ์žˆ์Œ)

LGPL Library์— ๋งํฌ

์„ ํƒ

์˜๋ฌด์‚ฌํ•ญ ์—†์Œ

Linux Kernel๊ณผ ์ •์ƒ์ ์ธ System Call์„ ์ด์šฉํ•˜๋Š” ์ƒ์œ„ Application

์„ ํƒ

์˜๋ฌด์‚ฌํ•ญ ์—†์Œ

Linux Kernel๊ณผ Direct Static Call์„ ์ด์šฉํ•˜๋Š” ์ƒ์œ„ Application

GPL

Static link๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Linux device driver๋Š” Kernel์˜ Derived works๋กœ ๊ฐ„์ฃผ๋จ์œผ๋กœ ์†Œ์Šค ๊ณต๊ฐœ

Dynamically loadable driver module (standard kernel symbols/interfaces ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ)

์„ ํƒ

์ด๋ฏธ GPL๋กœ ์„ ์–ธ๋œ Driver code๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ์†Œ์Šค๊ณต๊ฐœ ์˜๋ฌด ์—†์Œ

 

์ฐธ๊ณ ๋ฌธํ—Œ

a. William Weinberg and Jason Wacha, Jan. 2004, MontaVista Software, Building Embedded Applications with GPL/LGPL Software
b. Wikipedia

๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

 

 

 

๊ผฌ๋งˆ ์•„๋‚˜ํ‚จ์„ ๋ณด๋ฉด์„œ ์ฝฐ์ด ๊ณค ์ง„๊ณผ  ์•„๋‚˜ํ‚จ์˜ ์—„๋งˆ๊ฐ€ ๋‚˜๋ˆ„๋Š” ๋Œ€ํ™”์ž…๋‹ˆ๋‹ค.

 

 

 

โ€œ๊ณตํ™”๊ตญ์—์„œ๋งŒ ํƒœ์–ด๋‚ฌ๋”๋ผ๋„ ๊ทธ๋ฅผ ์ผ์ฐ์ด ์•Œ์•„๋ดค์„ํ…๋ฐโ€ฆโ€ฆโ€

--> ๊ณตํ™”๊ตญ์—์„œ ์•ˆ ํƒœ์–ด๋‚ฌ๊ณ  ์ผ์ฐ ๋ชป ์•Œ์•„๋ด„. ์ฆ‰ ํ˜„์žฌ์™€ ์ƒ๋ฐ˜๋˜๋Š” ์–˜๊ธฐ.

 

image

๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

์•ˆ๋“œ๋กœ์ด๋“œ ๋ธ”๋ž™๋งˆ์ผ“์ธ

www.applanet.net

๋Š” ๋ถˆ๋ฒ•์ •๋ณด์‚ฌ์ดํŠธ๋กœ ๋ถ„๋ฅ˜๋˜์–ด์„œ ์ ‘์†์‹œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋œฌ๋‹ค.

 

tor project๋ฅผ ํ†ตํ•ด์„œ

์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

https://www.torproject.org/dist/torbrowser/tor-browser-1.3.24_en-US.exe

 

๋‹ค์šด๋ฐ›์•„ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด

 

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œจ๊ฒŒ๋˜๊ณ 

๋ฒˆ๋“ค๋กœ Firefox๊ฐ€ ๋‚ด์žฅ๋˜์–ด์žˆ๊ธฐ๋•Œ๋ฌธ์— ํŒŒ์ด์–ดํญ์Šค๊ฐ€ ์‹คํ–‰์ด๋ฉ๋‹ˆ๋‹ค.

 

์šฐ์ธกํ•˜๋‹จ์— Tor Enabled ๋ฅผ ํ™•์ธํ•˜๊ณ 

www.applanet.net ์— ์ ‘์†ํ•˜๊ฒŒ๋˜๋ฉด!

 

๋‘๋‘ฅ

 

 

๋ฐ˜์‘ํ˜•

+ Recent posts