Loading...
2016. 7. 19. 01:48

SBCS, MBCS์™€ WBCS / ์œ ๋‹ˆ์ฝ”๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์ค‘์š”ํ•œ ์ด์œ 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Charset์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Charset ๋ถ€๋ถ„์€ ์กฐ๊ธˆ ๋‚ด์šฉ์ด ๋งŽ์œผ๋ฉด์„œ๋„ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—, ์ž˜ ์ˆ™์ง€ํ•˜์‹œ๊ณ , ๋ชธ์— ๋ฒ ์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ MBCS์™€ WBCS๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์ ˆํžˆ ์กฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋ด…์‹œ๋‹ค. ๋ณดํ†ต ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ฝ”๋”ฉ์„ํ•˜๊ฑฐ๋‚˜ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋ฉด, "์ธ์ฝ”๋”ฉ"์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋งŽ์ด ๋“ฃ๊ฒŒ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ ์ž‘์„ฑ์—์„œ์˜ ์ธ์ฝ”๋”ฉ์€ Charset(์บ๋ฆญํ„ฐ์…‹)์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด๊ณ , ๋™์˜์ƒ ์ž‘์—…์—์„œ๋Š” ์˜์ƒ ํฌ๋งท ๋“ฑ์„ ์˜๋งˆํ•˜๋Š” ๊ฒƒ์ด์ง€์š”. ์ฝ”๋”ฉ์—์„œ ๋˜ํ•œ Charset์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์—๋Š” ASCII ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , ์ง€๊ธˆ์€ ๊ฐ•ํ™”๋˜๊ณ , ํŽธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€์š”. ํ•˜์ง€๋งŒ Linux์— ์žˆ์—ˆ์„ ๋•Œ๋Š” ์ž˜ ๋ชฐ๋ž์—ˆ๋Š”๋ฐ, Windows์—์„œ ์™€๋ณด๋ฉด ..

Win32 API์˜ ์ž๋ฃŒํ˜•

์ด์ œ๋ถ€ํ„ฐ ์šฐ๋ฆฌ๋Š” Windows API๋ฅผ Win32 API๋ผ๊ณ  ์ •์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์€ x86์ธ 32๋น„ํŠธ ๊ธฐ๋ฐ˜์˜ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒ๋“œํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Win32์™€ Win64์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ฐจํ›„์— ๋ณ„๋„์˜ ํฌ์ŠคํŒ…์„ ํ†ตํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. #include ์šฐ๋ฆฌ๋Š” Windows API๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์œ„ ํ—ค๋” ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์ฃ , ์ด ํ—ค๋” ํŒŒ์ผ์„ ์ด์šฉํ•ด์„œ ๊ฐ„๋‹จํ•œ ๋ฉ”์‹œ์ง€ ์ฐฝ์„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋„ ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ MessageBox์˜ ์ธ์ž ๊ฐ’์—์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž๋ฃŒํ˜•๋“ค์ด ๋‚˜์™”๋Š”๋ฐ์š”. MessageBoxA(_In_opt_ HWND hWnd, _In_opt_ LPCSTR lpText, _In_opt_ LPCSTR lpCaption, _In_ UINT uType); ์ž ..

2016. 6. 12. 20:45

Windows API ์™€์˜ ๋งŒ๋‚จ

์˜ค๋Š˜์€ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ, Windows API์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์„ ํ•˜๊ณ ์žํ•ฉ๋‹ˆ๋‹ค. ์—ฌํƒœ๊นŒ์ง€ ์ €๋Š” Linux์™€ ์นœ์ˆ™ํ•ด์˜ค๋ฉด์„œ, Windows๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์žˆ๋Š” ํŽธ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ํ•™๊ต ๊ณผ์ œ๋‚˜ ์ผ๋ฐ˜์ ์ธ ์—…๋ฌด ๋“ฑ์„ ๋ณด๋‹ค๋ณด๋ฉด, Windows๋Š” ํ”ผํ•  ์ˆ˜ ์—†๋Š” ์กด์žฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ Windows Kernel ์ชฝ์—๋„ ๊ด€์‹ฌ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Windows API๋Š” ์ œ๊ฐ€ C ์–ธ์–ด๋ฅผ ๋ฐฐ์› ์„ ๋•Œ๋งŒํ•ด๋„ ์•„์ง ํ•œ์ฐฝ ๋ชฐ๋ž๋˜ ์‹œ์Šคํ…œ์ด์˜€์Šต๋‹ˆ๋‹ค. ์ด Windows API๋ฅผ ์•Œ๊ฒŒ ๋œ ๊ฒƒ์€ GDB๋ฅผ ์‚ฌ์šฉํ•˜๋˜ Linux์˜ ๋””๋ฒ„๊ฑฐ๊ฐ€ Windows์—์„œ๋Š” OllyDbg๋‚˜ Immunity Debugger๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋ถ€ํ„ฐ Unix๋‚˜ Linux์™€ ๋‹ฌ๋ฆฌ Windows ์—๋Š” ํŠน๋ณ„ํ•œ API ๋ชจ๋“ˆ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค..

2016. 4. 3. 13:17

GCC Stack Smashing Protector

C ์ปดํŒŒ์ผ๋Ÿฌ์—๋Š” ๊ต‰์žฅํžˆ ์ข…๋ฅ˜๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. Dev C Compiler, Visual C Compiler, GNU C Compiler .... ๋ญ ๊ทธ ์™ธ์—๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€์š”? ์˜ค๋Š˜์€ Buffer Overflow๋ผ๋Š” ๊ฒƒ์„ ์ฃผ์ œ๋กœ ์‹œ์ž‘ํ•˜์—ฌ, GNU C Compiler์— ์กด์žฌํ•˜๋Š” Stack Smashing Protector๊ฐ€ ์–ด๋–ค ๊ฒƒ์ธ์ง€๋ฅผ ์„ค๋ช…ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž, ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์ œ๊ฐ€ ์ž‘์„ฑ์„ ํ•ด์„œ ์ด๋ ‡๊ฒŒ ์ž…๋ ฅ์„ ๋ฐ›๊ณ  ๋‚ฌ๋”๋‹ˆ, ์œ„์™€ ๊ฐ™์ด ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฟœ์–ด๋ƒ…๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ์š”? ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ ๋ถ„์„ํ•ด๋ด…์‹œ๋‹ค. ๋ฐฐ์—ด์„ ์ด์šฉํ•ด์„œ, 1๊ฐœ์˜ ๊ณต๊ฐ„์„ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ๊ธด ํ–ˆ์ง€๋งŒ, i ์˜ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด, ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(?) ๊ทธ๋ฆฌ๊ณ , fibonacci ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์จ์„œ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด..

2015. 10. 27. 01:11

Eclipse๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ PHP ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

์ƒ๊ฐ๋ณด๋‹ค ๊ธ€์„ ์•ˆ์“ด์ง€ ๊ฝค ์˜ค๋ž˜๋œ ๋“ฏ ํ•˜๋„ค์š”;; ์˜ค๋Š˜ ์ƒˆ๋ฒฝ์€ ์ œ๊ฐ€ 2๋…„ ์ „์— ์ž ๊น ์นดํ…Œ๊ณ ๋ฆฌ๋งŒ ๋งŒ๋“ค์–ด ๋†“๊ณ  ๋ฌตํ˜€๋‘์—ˆ๋˜ PHP ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์กฐ๊ธˆ์”ฉ ์ฑ„์›Œ๋‚˜๊ฐ€๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด์ „์—๋„ PHP๋กœ ๊ณ„์† ๊ฐœ๋ฐœ์„ ์ญ‰ ํ•ด์™”์—ˆ๊ณ , ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” JSP๋‚˜ ASP/ASP.NET์— ๋น„ํ•˜์—ฌ PHP๋ฅผ ์ฃผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ ์„œ๋ฒ„๋ฅผ ํ•œ ๋Œ€ ๋‘๊ณ  ์›น ์„œ๋ฒ„๋กœ ์›๊ฒฉ ์ ‘์†ํ•ด์„œ vim์ด๋‚˜ nano ์—๋””ํ„ฐ๋กœ ์ˆ˜์ •ํ•˜๊ธฐ์— ์—ฌ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ฌ์šฉ๋„ ๊ฝค ๋ถˆํŽธํ•ด์„œ ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ์ด ๋ฐ”๋กœ ์ดํด๋ฆฝ์Šค์˜€๋Š”๋ฐ์š”. ์‚ฌ์‹ค ์ €๋Š” ์ดํด๋ฆฝ์Šค๋กœ ์ฃผ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ํŽธ์ž…๋‹ˆ๋‹ค. ์ผ๋‹จ ์ œ๊ฐ€ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์šด์˜์ฒด์ œ์ธ ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์–ด๋–ค ์–ธ์–ด์˜ IDE ํŽธ์ง‘๊ธฐ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ๊ทธ๋Ÿฐ๋ฐ, ์ œ๊ฐ€ ํ˜„์žฌ ์“ฐ๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๋กœ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ตฌ๋™..

2013. 10. 2. 12:53

Google Web Designer 1.0 Beta

๋œป๋ฐ–์— ๋“ฃ์ง€ ๋ชปํ•œ Google์—์„œ ๋งŒ๋“  ์›น ์—๋””ํ„ฐ ํ”„๋กœ๊ทธ๋žจ์˜ ๋“ฑ์žฅ์ด๋„ค์š”;; ์ €๋งŒ ๋ชป๋“ค์€ ๊ฒƒ์ผ๊นŒ์š”? ์–ด์จŒ๋“  ์‚ฌ์šฉ์„ ํ•ด๋ณธ ํ›„๊ธฐ๋ฅผ ์ ์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Google Web Designer๋Š” ํ˜„์žฌ Beta Release ์ž…๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ(OS)๋Š” Windows์™€ Mac์—์„œ ์ง€์›๋˜๋ฉฐ Linux๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. UI๋Š” Adobe PhotoShop๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ ์›น ๋””์ž์ด๋„ˆ์ธ ๋งŒํผ Code๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„ ๋งˆ์šฐ์Šค๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„ํŽธํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๊ฒ ์ง€์š”? ํ•˜์ง€๋งŒ ์—ญ์‹œ Code๋กœ ์ง์ ‘ ์“ฐ๋Š” ๊ฒƒ๋งŒํผ ๋งค๋ ฅ์ ์ด์ง€ ๋ชปํ•˜๊ตฐ์š”.. (?) ๊ทธ ์™ธ CSS๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜๋„, ์ด๋ฒคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜๋„ ์žˆ๊ณ , ๊ธฐ์กด HTML ํŽธ์ง‘๊ธฐ์™€๋Š” ๋‹ค๋ฅธ Webkit ์—๋””ํ„ฐ๋ผ๊ณ  ๋ณด๋ฉด ์‰ฌ์šธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์— ๋ณด๋ฉด ์ง์ ‘ HTML5๋กœ ..

2013. 8. 12. 12:41

Boost thread Library

Boost ๋‘ ๋ฒˆ์งธ, ์˜ค๋Š˜์€ ์“ฐ๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €, ์“ฐ๋ ˆ๋“œ๋ผ๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„์˜ ๋‹จ์œ„๋ฅผ ์ผ์ปซ๋Š” ๋ง์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต์˜ ํ”„๋กœ์„ธ์Šค๋“ค์€ ํ•œ ๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ๊ฒฝ์šฐ์— ๋”ฐ๋ฅธ ํฐ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ๋ผ๊ณ  ์–˜๊ธฐํ•ฉ๋‹ˆ๋‹ค. Boost์—์„œ ์“ฐ๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์•„๋ž˜์˜ ํ—ค๋”ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. #include or #include ๋จผ์ € ๊ฐ„๋‹จํ•œ ์“ฐ๋ ˆ๋“œ ์ฝ”๋“œ๋กœ ์‹œ์ž‘ํ•ด๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค. t ๋ผ๋Š” ์“ฐ๋ ˆ๋“œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ hello ํ•จ์ˆ˜์˜ ๋‚ด์šฉ์„ ์“ฐ๋ ˆ๋“œ๋กœ ํ‘œํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„ ์‹คํ–‰๋˜๋Š” ์“ฐ๋ ˆ๋“œ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ ์™€์„œ ์ถœ๋ ฅํ•ด ์“ฐ๋ ˆ๋“œ๋ฅผ ์ข…๋ฃŒํ•œ ํ›„์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์™€์„œ ์ถœ๋ ฅํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์ข…๋ฃŒ ํ›„์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ถœ๋ ฅํ•œ ์ด์œ ๋Š” ์ •ํ™•..

2013. 8. 7. 15:55

Java Puzzlers - Scraping the Bottom of the Barrel (Google I/O 2011)

ํฌํ„ธ์„ ๋Œ์•„๋‹ค๋‹ˆ๋˜ ์ค‘์— ์žฌ๋ฐŒ๋Š” Java ์š”์†Œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ Google I/O 2011์— ์žˆ์—ˆ๋˜ Java Puzzler๋ผ๋Š” ๊ฒƒ์ธ๋ฐ์š”. ์ด ์˜์ƒ์—์„œ๋Š” ๋ฐœํ‘œ์ž JOSH BLOCH, JEREMY MANSON ๋‘ ์‚ฌ๋žŒ์ด 6๊ฐ€์ง€์˜ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ํผ์ฆ์„ ๋ฐœํ‘œํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๊ทธ ์ฒซ ๋ฒˆ์งธ, Time for a Change, ์˜์ƒ์— ๋‚˜์˜จ ์†Œ์Šค๋Œ€๋กœ ์ž…๋ ฅํ–ˆ์„ ๋•Œ, ๊ฑฐ์Šค๋ฆ„ ๋ˆ์€ ์–ผ๋งˆ์ž…๋‹ˆ๊นŒ? ๋ผ๋Š” ๋ฌธ์ œ์ง€์š”. ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€, ์ž๋ฃŒํ˜•์ด double์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฑฐ์Šค๋ฆ„๋ˆ์€ 0.8999999999999999๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ์š”?Java์—์„œ double ์—ฐ์‚ฐ์€ ์ •ํ™•ํ•œ ๊ฐ’์„ ์ œ๊ณตํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉฐ, big decimal์„ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Big Decimal์„ ์‚ฌ์šฉํ•ด ๋‹ค์‹œ ํ•œ ๋ฒˆ ์—ฐ์‚ฐ์„ ํ•ด..

2013. 6. 9. 13:20

ํŒŒ์ผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ

์ด ์ฝ”๋“œ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. C ์—์„œ๋Š” fopen์ด๋ผ๋Š” ํ•จ์ˆ˜, Python์—์„œ๋Š” file์ด๋ผ๋Š” ๊ฒƒ์œผ๋กœ ๋ฐ›์•„๋‚ด์ง€์š”. ์‹ค์ œ๋กœ ๋ฆฌ๋ฒ„์‹ฑ์„ ํ•  ๋•Œ ์ด ์ฝ”๋“œ๋Š” ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ตญ๋‚ด์˜ ๋Œ€๋ถ€๋ถ„ ์•…์„ฑ์ฝ”๋“œ๋Š” Microsoft Windows์—์„œ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ์ฝ”๋“œ ๋ถ„์„์„ ํ•  ๋•Œ๋„ ์ด ์ฝ”๋“œ๋Š” ์ •๋ง ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์œ„ ํ™”๋ฉด์ฒ˜๋Ÿผ ์ฝ”๋“œ ์ž‘์„ฑ ํ›„ ๋””๋ฒ„๊ทธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ์•„๋ž˜ ํ™”๋ฉด์ฒ˜๋Ÿผ TEST.txt๋ผ๋Š” ํŒŒ์ผ์ด ํ•œ ๊ฐœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ •์ƒ์ ์œผ๋กœ ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์…จ๋‹ค๋ฉด, ํŒŒ์ผ์„ ์—ด์–ด๋ด…์‹œ๋‹ค. ๊ทธ๋Ÿผ ํŒŒ์ผ์— ์œ„์—์„œ ์ž‘์„ฑํ•œ 'DISK FILE OPEN, WRITE, CLOSE"๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ txt ํŒŒ์ผ ์•ˆ์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‘์šฉํ•œ๋‹ค๋ฉด ๋” ๋งŽ์€ ๊ณณ์— ์“ฐ์ผ ์ˆ˜ ์žˆ๊ฒ ์ง€์š”?

2013. 6. 2. 13:26

๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์ฐพ์•„๋‚ด๋Š” ์ฝ”๋“œ

์–ด์…ˆ๋ธ”๋ฆฌ์–ด ํฌ์ŠคํŒ…์„ ์ฒ˜์Œํ•ด๋ณด๋Š”๋ฐ, ์ƒ๋‹นํžˆ ๋‚œ๊ฐํ•˜๋„ค์š”. ๊ธ€์„ ์–ด๋–ป๊ฒŒ ํฌ์ŠคํŒ…ํ•ด์•ผ ์‰ฝ๊ฒŒ ์„ค๋ช…์ด ๋ ์ง€... ใ…Žใ…Ž; ์ผ๋‹จ ์–ด๋Š ์ •๋„ ์ง€์‹์ด ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•œ ๊ธ€์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ ์–ด ๋‚ด๋ ค๊ฐ€๋ด…๋‹ˆ๋‹ค... ์œ„ ์ฝ”๋“œ๋Š” ์ œ๊ฐ€ ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ์— ์ž…๋ ฅํ•œ ์ˆซ์ž ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆซ์ž๋ฅผ ์ฐพ์•„๋‚ด๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ๊ฐ ์ˆซ์ž๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•ด CX์— 5๊ฐœ๋ฅผ ๋ถ€์—ฌํ•ด์ฃผ๊ณ , ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ์—์„œ ์ˆซ์ž 5๊ฐœ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋„๋กํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ ์ˆซ์ž๋ฅผ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด, JA ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๊ตํ•˜๋„๋ก ํ•˜๊ณ , ๋งˆ์ง€๋ง‰ ์ตœ์ข…์œผ๋กœ ๊ตฌ๋ณ„๋œ ์ตœ๋Œ“๊ฐ’์„ AL ์ฃผ์†Œ์— ์ €์žฅํ•˜์—ฌ HIGHEST๋กœ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ์—์„œ HIGHEST๋Š” 0010 ์ฃผ์†Ÿ๊ฐ’์— ์ €์žฅํ˜ธ๋„๋ก ์…‹ํŒ…๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์œ„ debug ํ™”๋ฉด ์ฒ˜๋Ÿผ 0010 ๊ฐ’์ด 60์œผ๋กœ ๋ฐ”๋€Œ์–ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์—ฌ๊ธฐ์„œ ..

Boost Random Number Generator Library

Boost Library์˜ ๋žœ๋คํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค. ๋ณดํ†ต C์–ธ์–ด์—์„œ ๋‚œ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ํ•˜๋ฉด, rand()/srand()๋ฅผ ์‚ฌ์šฉํ•˜์…จ์„๊ฒ๋‹ˆ๋‹ค. ์ข€ ๋” ๋ง๋ถ™์—ฌ์„œ time.h๋ฅผ includeํ•˜์—ฌ time๊นŒ์ง€ ์ผ๋˜ ์‚ฌ๋žŒ๋“ค๋„ ์•„๋งˆ ๋Œ€๋ถ€๋ถ„์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋จผ์ € Boost Documentation์— ์ ํ˜€์žˆ๋Š” ๋žœ๋คํ•จ์ˆ˜์— ๋Œ€ํ•ด ์ ์–ด๋ดค์Šต๋‹ˆ๋‹ค. ๋‚œ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹ค์–‘ํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ๋ฌธ์ œ์˜์—ญ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 1. ๊ณ„์‚ฐ (์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๋ชฌํ…Œ์นผ๋กœ๋ฆฌ ์ ๋ถ„) 2. ๊ฒŒ์ž„ (์ ์˜ ์›€์ง์ž„)3. ๋ณด์•ˆ (๊ฑด์ƒ์„ฑ)4. ํ…Œ์ŠคํŠธ (๋ฌด์ž‘์œ„ํ•œ ํ™”์ดํŠธ ๋ฐ•์Šค ํ…Œ์ŠคํŠธ) ๋ฌธ์ œ์˜์—ญ์˜ ์š”๊ตฌ์— ๋”ฐ๋ฅธ ๋‚œ์ˆ˜ ์ƒ์„ฑ์ž์˜ ๋‹ค์–‘ํ•œ ๋ณ€ํ™”. 1. ๋น„๊ฒฐ์ •์  ๋‚œ์ˆ˜์ƒ์„ฑ์ž2. ์˜์‚ฌ๊ฒฐ์ • ๋‚œ์ˆ˜์ƒ์„ฑ์ž3. ์ค€ ๋‚œ์ˆ˜์ƒ์„ฑ์ž ๋žœ๋คํ•จ์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ ๋ชฉํ‘œ 1..

Boost Library

์ œ๊ฐ€ ๋“ฃ๋Š” ์ˆ˜์—…์€ ์•„๋‹ˆ์ง€๋งŒ, ์ž๋ฃŒ ๊ตฌ์กฐ ์‹œ๊ฐ„์— ์ด๋ก  ์œ„์ฃผ๋กœ ์ˆ˜์—…์„ ํ•˜๋Š” ๊ต์ˆ˜๋‹˜๊ณผ ๋‹ฌ๋ฆฌ ์‹ค๋ฌด์— ๋งž๊ฒŒ ์ˆ˜์—…์„ ํ•˜๋Š” ๊ต์ˆ˜๋‹˜์ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ทธ ๊ต์ˆ˜๋‹˜์€ ์ž๋ฃŒ ๊ตฌ์กฐ ์‹œ๊ฐ„์— Boost Library๋ฅผ ์ด์šฉํ•˜๋ผ๊ณ  ํ•˜์‹œ๋Š”๊ตฐ์š”. ๊ทธ๋ž˜์„œ http://www.boost.org/ ์—์„œ Boost Library์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค... Boost๋Š” C++ Library๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ชจ์•„๋†“์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“  ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” OS๋Š” Windows, Linux ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜์—ฌ ๋ฆฌ๋ˆ…์Šค์— ์„ค์น˜ํ•ด ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค๋งŒ, ๋ช‡๋ช‡ Windows ์œ ์ €๋“ค์€ Visual Studio์™€ ์—ฐ๋™ํ•˜์…”์„œ ํ•˜๋Š”๋ฐ, ์ตœ๊ทผ์— ๋‚˜์˜จ 2012 ๋ฒ„์ „์—๋Š” ์ž˜ ์•ˆ๋œ๋‹ค๋Š” ์–˜๊ธฐ๋„ ์žˆ๋”๊ตฐ์š”.....