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

๋ฐ˜์‘ํ˜•





์›๋ฌธ : madchick.egloos.com

jruby๋‹˜ ๋ธ”๋กœ๊ทธ์— ๋†€๋Ÿฌ๊ฐ”๋‹ค๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๋ฉ‹์ง„ Java 3D ๊ฒŒ์ž„์—”์ง„์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค.. ์ž์‹ ๋“ค์˜ ์—”์ง„์˜ ์šฐ์ˆ˜์„ฑ์„ ํ™๋ณดํ•˜๊ธฐ ์œ„ํ•ด Quake 2 ์†Œ์Šค๋ฅผ ์ž๋ฐ”๋กœ ํฌํŒ…ํ•ด๋…ผ ์†Œ์Šค๋ฅผ ๊ณต๊ฐœํ–ˆ๋Š”๋ฐ, ์ด์•ผ ์ด๊ฑฐ ์ •๋ง ๋ฉ‹์ง€๋‹ค.. ๊ฐ„๋งŒ์— ์ดํด๋ฆฝ์Šค ๋„์›Œ์„œ ๋นŒ๋“œํ•ด ์‹คํ–‰์‹œ์ผœ๋ณด๋‹ˆ ๋ฉ‹์ง€๊ฒŒ ์ž˜ ๋Œ์•„๊ฐ„๋‹ค.. ์ง์ ‘ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์€ ์ด ๋ฉ‹์ง„ ๊ฒƒ์„ ๋งŒ๋“  ์‚ฌ๋žŒ๋“ค์˜ ํ™ˆํŽ˜์ด์ง€๋กœ ๋†€๋Ÿฌ๊ฐ€์„œ ์†Œ์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ณ , ์†Œ์Šค์— ๊ฐ™์ด ๋“ค์–ด์žˆ๋Š” ํ…์ŠคํŠธ ํŒŒ์ผ ๋‚ด์šฉ๋Œ€๋กœ ๋”ฐ๋ผํ•˜๋ฉด ๋œ๋‹ค.. (ํ™ˆํŽ˜์ด์ง€ ๊ตฌ๊ฒฝํ•˜๊ธฐ)
ํ™ˆ ํŽ˜์ด์ง€์— ๋†€๋Ÿฌ๊ฐ€๋ณด๋ฉด "Jake 2 Play Now" ๋ผ๋Š” ๋ฒ„ํŠผ์ด ์ขŒ์ธก ๋ฉ”๋‰ด ํ•˜๋‹จ์— ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ๋งŒ ํด๋ฆญํ•˜๋ฉด ์‹คํ–‰๋˜๋Š” ๋ชจ์Šต์„ ๊ตฌ๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.. ๋ณต์žก์Šค๋Ÿฝ๊ฒŒ ๊ฐœ๋ฐœํˆด ์„ค์น˜ํ•˜๊ณ , ์†Œ์Šค์ฝ”๋“œ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ณ , ๋นŒ๋“œํ•ด์„œ ์‹คํ–‰์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์—†๋‹ค.. Java Web Start ๋ผ๋Š” ๊ฒƒ์ด ๋ญํ•˜๋Š” ๋†ˆ์ธ๊ฐ€ ํ–ˆ๋”๋‹ˆ ์ด๋Ÿด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€ ๋ณด๋‹ค.. ์›น์„ ํ†ตํ•ด ๊น”๋”ํ•˜๊ฒŒ ์„ค์น˜๋˜๊ณ  ์‹คํ–‰๋˜๋Š” ๋ชจ์Šต์ด ๋ฉ‹์ง€๋‹ค..


์†Œ์Šค์ฝ”๋“œ ๊ฐ์ƒ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ํ”„๋กœ๊ทธ๋žจ์€
  1. Eclipse : ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฒ„์ ผ์€ 3.1.2์ธ๋ฐ, ์ตœ์‹ ๋ฒ„์ ผ์€ ์•„๋‹๊ฑฐ๋‹ค.. ์„ค์น˜ํ•œ์ง€ 1๋…„์€ ๋„˜์€ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ.. 3.x ๋ฒ„์ ผ๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ์—†์ด ๋นŒ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ๊ฐ™๋‹ค..

  2. JDK : ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ ผ์ธ 1.5๋ฅผ ์„ค์น˜ํ•˜๋ผ๊ณ  ํ•œ๋‹ค.. ํ•˜์ง€๋งŒ, 1.4 ๋ฒ„์ ผ์—์„œ๋„ ์‹คํ–‰๋˜๋Š”๋ฐ ๋ฌธ์ œ๋Š” ์—†๋Š” ๊ฒƒ ๊ฐ™์•„์„œ (Jake 2 Play Now๋กœ ์‹คํ–‰๋˜๋Š” ๋ชจ์Šต์„ ๊ตฌ๊ฒฝํ–ˆ๋Š”๋ฐ JDK ์ตœ์‹ ๋ฒ„์ ผ์„ ์„ค์น˜ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋Š” ๋‚˜์˜ค์ง€ ์•Š์•˜์—ˆ๋‹ค.. ๋‚ด ๋…ธํŠธ๋ถ์— JDK 1.4๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์—ˆ๋Š”๋ฐ..) ์†Œ์Šค์ฝ”๋“œ ๋นŒ๋“œ๋„ 1.5 ์„ค์น˜์—†์ด ํ•ด๋ดค๋‹ค..
    ์ง€๊ธˆ ์ฐธ์—ฌ์ค‘์ธ ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์ด JDK 1.4๋กœ ์„ธํŒ…์ด ๋˜์–ด ์žˆ๋Š”๋ฐ, ๊ดœํžˆ JDK 1.5๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๊ฐ€ ์•ˆ๋˜๋ฉด ๊ณจ์น˜ ์•„ํ”Œ ๊ฒƒ ๊ฐ™์•„์„œ๋ฆฌ.. ๋ฌผ๋ก  JDK๋ฅผ 1.4์™€ 1.5๋ฅผ ๋ชจ๋‘ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋„๋ก ์„ธํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ํ™•์‹คํ•˜์ง€ ์•Š์•„์„œ ๋ชจํ—˜์„ ํ•ด๋ณด๊ธด ์‹ซ์—ˆ๋‹ค.. ์š”์ฆ˜์—” ์ด๋Ÿฐ ์ €๋Ÿฐ ์‹คํ—˜ํ•ด๋ณผ ์‹œ๊ฐ„์ด ๋„‰๋„‰์น˜ ๋ชปํ•˜๊ฑฐ๋ฉ..

  3. Quake 2 : ๊ฒŒ์ž„์ด ์‹คํ–‰๋˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋“ค ๋•Œ๋ฌธ์— ํ•„์š”ํ•˜๋‹ค.. ์ •ํ’ˆ์ด ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์ง€๋งŒ, ๊ทธ๋ƒฅ ๋Œ๋ ค๋ณด๋Š” ์ •๋„๋ผ๋ฉด ๋ฐ๋ชจ๋ฒ„์ ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„ ์„ค์น˜ํ•ด๋„ ๋œ๋‹ค.. ๋ฐ๋ชจ๋ฒ„์ ผ์˜ ๊ฒฝ์šฐ ์ œ์ผ ์ฒ˜์Œ ์‹œ์ž‘ ๋ถ€๋ถ„์˜ ๋งต ๋ช‡๊ฐœ๋งŒ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋‹ค..


๊ณต๊ฐœ๋œ C ์†Œ์Šค์ฝ”๋“œ
์™€ ์†๋„๋ฅผ ๋น„๊ตํ•ด๋ณด๋ฉด, ์ฐจ์ด๋ฅผ ๊ฑฐ์˜ ๋Š๋‚„ ์ˆ˜ ์—†์„ ์ •๋„๋กœ ์ž˜ ๋Œ์•„๊ฐ„๋‹ค.. ํ™ˆํŽ˜์ด์ง€์—์„œ ๋ฒค์น˜๋งˆํฌ ๋ถ€๋ถ„์„ ๋ณด๋ฉด C ์ฝ”๋“œ์™€์˜ ์†๋„๋น„๊ต๋ฅผ ํ•ด๋†จ๋Š”๋ฐ, ์ผ์ • ์ •๋„์˜ ํ•˜๋“œ์›จ์–ด๋งŒ ๊ฐ–์ถฐ์ง€๋ฉด ์˜คํžˆ๋ ค C ์ฝ”๋“œ๋ณด๋‹ค๋„ ๋” ๋น ๋ฅธ ์ƒํ™ฉ์ด ๋œ๋‹ค.. ์ด์ œ ์ž๋ฐ”๋กœ๋„ 3D ๊ฒŒ์ž„์„ ๋งŒ๋“œ๋Š”๋ฐ ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๊ณ  ํ•˜๋Š”๋ฐ, ๊ธ€์Ž„ ๋‚ด๊ฐ€ ๋ณด๊ธฐ์—” ๊ทธ ๋ฐ˜๋Œ€์ด๋‹ค.. ์ž๋ฐ”๊ฐ€ ์ฒ˜์Œ ๋“ฑ์žฅํ•œ๊ฒŒ ๋‚ด๊ฐ€ ๋Œ€ํ•™ 4ํ•™๋…„๋•Œ์ธ 96๋…„๋„ ์ธ๋ฐ, ์ด์ œ ์ •๋ง ๋”ฑ 10๋…„์ด ์ง€๋‚ฌ๋‹ค.. ํ•˜์ง€๋งŒ, 10๋…„์ด ์ง€๋‚˜๋„๋ก ํ˜„์žฌ๊นŒ์ง€๋„ VM์˜ ์†๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ๋ชปํ•œ ์ƒํƒœ๊ณ , ๊ทธ ๋•Œ๋ฌธ์— 3D ๊ฒŒ์ž„๋ถ„์•ผ๋Š” ์ž๋ฐ”๊ฐ€ ๋˜๋„ค ์•ˆ๋˜๋„ค ๋…ผ๋ž€์ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.. Quake 2์™€ Jake 2๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ด์   ๊ฐ€๋Šฅํ•˜๋‹ค๋ผ๋Š” ์ฃผ์žฅ์€ ์ข€ ์„ค๋“๋ ฅ์ด ์—†๋Š” ๊ฒƒ์ด Quake 2๊ฐ€ 10๋…„์ „ ๊ฒŒ์ž„์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.. ์š”์ฆˆ์Œ์˜ 3D ๊ฒŒ์ž„๋“ค์€ Quake 2์™€ ๋น„๊ตํ•˜๋ฉด ํ›จ์”ฌ ๋” ํ™”๋ คํ•œ 3D ํ™”๋ฉด์„ ์š”๊ตฌํ•œ๋‹ค.. ์ด์ œ์„œ์•ผ 10๋…„์ „ ๊ฒŒ์ž„์„ ๋”ฐ๋ผ ์žก๊ณ ์„œ ์ž๋ฐ”๋„ 3D ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•˜๋Š”๊ฑด ์ข€.. ๋ฌผ๋ก , 2D ๊ฒŒ์ž„๋งŒ ์žˆ๋˜ ์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ์—์„œ ์ด์   Quake 2 ์ •๋„์˜ ๊ทธ๋ž˜ํ”ฝ์ด (Quake 2 ๊ทธ๋ž˜ํ”ฝ์ด ์ง€๊ธˆ ๋ด๋„ ํ—ˆ์ ‘ ์“ฐ๋ ˆ๊ธฐ ์ •๋„๋Š” ์•„๋‹ˆ๋‹ˆ..) ๊ฐ€๋Šฅํ•œ ๊ฒŒ์ž„๋“ค์ด ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์€ ์ •๋ง ๊ธฐ์œ ์ผ์ด๊ธด ํ•˜๋‹ค.. ๊ทธ๋ฆฌ๊ณ  Quake 3, Quake 4 ๋“ฑ์˜ ์†Œ์Šค๊ฐ€ ์ž๋ฐ”๋กœ ํฌํŒ…๋˜์–ด C์™€ ๋™๋“ฑํ•œ ์†๋„๋กœ ์‹คํ–‰๋˜๋Š” ๋‚ ์ด ๋‹ค๊ฐ€์˜ค๋Š” ์†๋„๊ฐ€ ์ ์  ๋นจ๋ผ์งˆ ๊ฒƒ์ด๋‹ค.. ํ•˜์ง€๋งŒ, ์š”์ฆ˜์˜ ๊ฒŒ์ž„๋“ค์€ ๊ฐ€์žฅ ์ตœ์ ํ™”, ์ตœ๋Œ€ํ•œ์˜ H/W ์„ฑ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด๋‹ค ๋” ํ™”๋ คํ•œ ๊ทธ๋ž˜ํ”ฝ๊ณผ ์›€์ง์ž„์„ ๋งŒ๋“ค์–ด ๋‚ด๋Š”๋ฐ ์ง‘์ค‘ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง์€ ์ž๋ฐ”์—์„œ์˜ 3D ๊ฒŒ์ž„์€ ๊ฐˆ๊ธธ์ด ๋จผ ๊ฒƒ ๊ฐ™๋‹ค.. ์ž๋ฐ”๋กœ ๋งŒ๋“ค์–ด์ง„ ์˜คํ”ผ์Šค ํ”„๋กœ๊ทธ๋žจ๋„ ๋‚˜์™”์œผ๋‹ˆ ์ด์ œ ๊ณง 3D ๊ฒŒ์ž„ ๋ถ„์•ผ์—๋„ ๊ธฐ๋Œ€๋ฅผ..


๊ทธ๋Ÿด ์‚ฌ๋žŒ์€ ๊ฑฐ์˜ ์—†๊ฒ ์ง€๋งŒ, Jake 2 ์†Œ์Šค๋ฅผ JDK 1.4์—์„œ ๋Œ๋ ค๋ณด๋ ค๋Š” ์‚ฌ๋žŒ์€..
  1. ์ดํด๋ฆฝ์Šค๋ฅผ ์‹คํ–‰์‹œํ‚จ ํ›„ CVS ํผ์ŠคํŽ™ํ‹ฐ๋ธŒ๋กœ ์ „ํ™˜ํ•ด์„œ CVS ์ ‘์†์„ ํ•œ๋‹ค..
    (์ƒˆ CVS repository๋ฅผ ์•„๋ž˜์˜ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•ด ๋งŒ๋“ ๋‹ค.)
    host : jake2.cvs.sourceforge.net
    repository path : /cvsroot/jake2
    user : anonymous
    password : ์—†์Œ
    connection type : pserver

  2. ์ ‘ ์†์ด ๋˜๋ฉด ํŠธ๋ฆฌ์— HEAD ๋ผ๊ณ  ๋ณด์ผ ๊ฒƒ์ด๊ณ  ๊ทธ ๋ฐ‘์— jake2๋ผ๊ณ  ์žˆ๋‹ค.. ๋งˆ์šฐ์Šค ์šฐ์ธก ํด๋ฆญ์„ ํ•ด์„œ Checkout As.. ๋ฅผ ์„ ํƒํ•˜๊ณ  ์›ํ•˜๋Š” ์›์ŠคํŽ˜์ด์Šค ๋ช…, ํŒŒ์ผ ๊ฒฝ๋กœ ๋“ฑ์„ ์ž…๋ ฅํ•˜๋ฉด ์ดํด๋ฆฝ์Šค์šฉ ์›์ŠคํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์„ ํƒํ•œ ๊ฒฝ๋กœ์— ์†Œ์ŠคํŒŒ์ผ๋“ค์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์ค€๋‹ค

  3. Java ํผ์ŠคํŽ™ํ‹ฐ๋ธŒ์—์„œ src/jake2/Jake2.java ๋ฅผ ๋งˆ์šฐ์Šค ์šฐ์ธก ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ Run As -> Run์„ ์„ ํƒํ•˜๋ฉด ๋‹ค์ด์–ผ๋กœ๊ทธ ์ฐฝ์ด ํ•˜๋‚˜ ๋œฌ๋‹ค.. Java Application์„ ์„ ํƒํ•˜๊ณ  "New" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์˜ต์…˜๋“ค์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ Arguments ํƒญ์„ ์„ ํƒํ•œ ํ›„์— VM arguments ๋ถ€๋ถ„์—
    -Xmx80M -Dsun.java2d.noddraw=true
    -Djava.library.path=lib/jogl/windows;lib/joal/windows;lib/lwjgl/windows
    ๋ผ๊ณ  ์ž…๋ ฅ์„ ํ•œ๋‹ค..

  4. ๋นŒ ๋“œ๋ฅผ ํ•ด๋ณด๋ฉด ์—๋Ÿฌ๊ฐ€ ์šฐ์ˆ˜์ˆ˜ ๋–จ์–ด์งˆ ๊ฒƒ์ธ๋ฐ assert (f >= 0) : "negative time and cursor bug"; ์ด๋Ÿฐ ๊ตฌ๋ฌธ ๋•Œ๋ฌธ์ด๋‹ค.. Java 5 ๋ถ€ํ„ฐ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋ฌธ๋ฒ•์ธ๊ฐ€๋ณธ๋ฐ, ์ž˜ ๋ชจ๋ฅด๊ฒ ๊ณ .. ์ด๋Ÿฐ ์ ๊ฒ€๋ฌธ์€ ์—†์–ด๋„ ์‹คํ–‰๋˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋‹ˆ ๋ชจ๋‘ ์ฃผ์„์ฒ˜๋ฆฌ.. ๊ทธ์™ธ์— ๋งŽ์€ ๊ฒฝ๊ณ ๋“ค์ด ๋–จ์–ด์ง€๋Š”๋ฐ ๊ฑด JDK 1.5๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•ด๋„ ๋‚ ๋งŒํ•œ ๊ฒƒ๋“ค์ด๋‹ˆ ๋ฌด์‹œ..

  5. ๋˜ ํ•˜๋‚˜์˜ ์—๋Ÿฌ๋Š” JDK 1.4์—๋Š” ์—†๋Š” System.nanoTime() ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ..
    base = (long)(System.currentTimeMillis() * 1000000); ์ด๋Ÿฐ ์‹์œผ๋กœ nanoTime์„ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์—์„œ๋Š” ๋ฐ€๋ฆฌํƒ€์ž„์„ ๋‚˜๋…ธํƒ€์ž„์ฒ˜๋Ÿผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ”์คฌ๋‹ค.. 2๊ตฐ๋ฐ๋งŒ ์ฃผ์„์ฒ˜๋ฆฌํ•ด์ฃผ๊ณ  ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค..

  6. Q2DataDialog.java ํŒŒ์ผ์˜ ์ปจ์ŠคํŠธ๋Ÿญํ„ฐ ๋ถ€๋ถ„์„ ๋ณด๋ฉด Quake 2 ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋“ค์ด ์žˆ๋Š” ๊ฒฝ๋กœ์˜ ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š”๋ฐ, ๋งค๋ฒˆ ์ง€์ •ํ•ด์ฃผ๊ธฐ ๊ท€์ฐฎ์œผ๋ฏ€๋กœ ๋‚ด ํ•˜๋“œ๋””์Šคํฌ์˜ ๊ฒฝ๋กœ๋ฅผ ์ด๊ณณ์— ํ•˜๋“œ์ฝ”๋”ฉ ํ•ด๋ฒ„๋ ธ๋‹ค..
    // dir = home + sep + "Jake2" + sep + "baseq2";
    dir = "C:\\Project\\madchick\\Game\\Quake II\\baseq2";

์—ญ ์‹œ, ์ž๋ฐ”์ฝ”๋“œ์˜ ๊ฐ€์žฅ ํฐ ๋งค๋ ฅ์€ Write Once, Run Everywhere.. ํ•ญ์ƒ ๋ชจ๋“  ์ƒํ™ฉ์—์„œ ๊ทธ๋Ÿฐ๊ฑด ์•„๋‹ˆ์ง€๋งŒ, Jake 2์˜ ๊ฒฝ์šฐ๋Š” ์•„์ฃผ ๋Œ€ํ‘œ์ ์ธ ์ ์šฉ ์˜ˆ.. ํ•œ๋ฒˆ ๋นŒ๋“œํ•˜๋ฉด ์œˆ๋„์šฐ์ฆˆ, ๋ฆฌ๋ˆ…์Šค, OS X ๋“ฑ์˜ ํ™˜๊ฒฝ์—์„œ ๋‹ค ์ž˜ ๋Œ์•„๊ฐ€๋Š” ์‹คํ–‰์ฝ”๋“œ๊ฐ€ ๋‚˜์˜จ๋‹ค.. ์ด๊ฑด ์ •๋ง ๋งค๋ ฅ์ ์ธ ๋ถ€๋ถ„์ด๋‹ค..

2008.08.28
๋…ธํŠธ๋ถ์„ ํฌ๋ฉงํ•ด ์ƒˆ๋กœ ์„ธํŒ…์„ ํ•ด๋ณด๋Š”๋ฐ, ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ์–‘์ƒ์ด ์ข€ ํ‹€๋ฆฌ๋‹ค.. ์• ํ”Œ๋ฆฟ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š”๋ฐ, ์ด๊ฑด ๋ฌด์‹œํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์˜ค๋ฅ˜๋“ค์€ ๋ชจ๋‘ assert ๊ด€๋ จ๋œ ๋ถ€๋ถ„์ธ๋ฐ, ๋ชจ๋‘ ์ฃผ์„์ฒ˜๋ฆฌ~

์”~ ๊ทผ๋ฐ, ์•„๋ฌด๋ฆฌ ํ•ด๋„ ์ƒˆ ์†Œ์Šค๋กœ๋Š” ๋นŒ๋“œ๊ฐ€ ์ž˜ ์•ˆ๋œ๋‹ค.. ์  ์žฅ..
๋ฐ˜์‘ํ˜•

+ Recent posts