Loading...
2016. 10. 30. 20:47

C++์—์„œ ์‹œ์ž‘ํ•ด๋ณด๋Š” OpenCV

What is OpenCV? OpenCV๋Š” Open Computer Vision์˜ ์•ฝ์ž๋กœ, ์‹ค์‹œ๊ฐ„ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์— ์ค‘์ ์„ ๋‘” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋ฉฐ, C, C++, Python ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋ณธ๋ž˜๋Š” Intel์ด ์ฃผ๋„์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜€์œผ๋‚˜ ํ˜„์žฌ๋Š” Intel์ด ์ „ํ˜€ ๊ด€์—ฌํ•˜์ง€ ์•Š๊ณ  ์žˆ๊ณ , Open Source Library์ž…๋‹ˆ๋‹ค. ๋ณธ๋ž˜ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ชฉ์ ์€ ๊ธฐ๊ณ„์˜ ์‹œ๊ฐ์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์„ ์—ฐ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด์—ˆ๊ณ , ํ˜„์žฌ๋Š” ๋จธ์‹  ๋Ÿฌ๋‹์—์„œ์˜ ์ด๋ฏธ์ง€ ์ธ์‹, ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ ๋“ฑ์— ์ด์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด ์™ธ์— CCTV์—์„œ ๋ฒ”์ฃ„์ž๋ฅผ ์บ์น˜ํ•˜๊ฑฐ๋‚˜ ์ด์ƒ ํ–‰๋™ ์š”๋ น์„ ๊ฐ์‹œํ•˜๊ณ  ์žˆ๋Š” ์ „๋ฌธ ๋ถ„์•ผ ๋“ฑ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. How to use OpenCV? OpenCV๋Š” Python, C, C++์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

2016. 10. 23. 18:18

๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•œ Python ์„ค์น˜ - Virtualenv, autoenv

์ด๋ฒˆ์—” Python์„ ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹ค. ์™œ Python์„ ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•ด์•ผ ํ• ๊นŒ์š”? Python์˜ ๋ฒ„์ „์€ ํ˜„์žฌ 2.7 ๋ฒ„์ „๊ณผ 3.x ๋ฒ„์ „์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์กฐ๊ธˆ ํ•ด๋ณด์‹  ๋ถ„๋“ค ์ค‘์— Java ๋ผ๋Š” ์–ธ์–ด๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋งŽ์ด ํ•ด๋ณด์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, ์ด๋Ÿฐ ๋ฒ„์ „์˜ ์ฐจ์ด์— ๊ต‰์žฅํžˆ ๋ฐ˜๊ฐ์„ ํ•˜๊ฑฐ๋‚˜ ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ  ์ค‘์— ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ๋ฐ”๋กœ "๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ"๋ผ๋Š” ๋…€์„ ๋•Œ๋ฌธ์ด์ฃ . ๋ฌผ๋ก  ๊ณต๊ฐœ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ์ตœ์‹  ๋ฒ„์ „์— ๋งž์ถฐ ์ˆ˜์ •์ด ๋˜๊ธด ํ•˜์ง€๋งŒ, ์ž์‹ ์ด ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๋‚ด์ง€ ํ”„๋กœ๊ทธ๋žจ์ด ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์“ฐ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋ฒ„์ „์„ ๋งž์ถ”๋ ค๋ฉด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ณ ๋ คํ•ด์•ผ๋  ์‚ฌํ•ญ์ด ๋งŽ์•„์ง‘๋‹ˆ..

2016. 10. 15. 15:22

Python ๊ฐœ๋ฐœ ํ™˜๊ฒฝ, ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜์™€ ๋น„๊ต(3) - PyCharm

์ด๋ฒˆ ํฌ์ŠคํŠธ๋Š” PyCharm ์„ค์น˜ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ์•„์ง Python์„ ์„ค์น˜ํ•˜์ง€ ๋ชปํ•˜์…จ๋‹ค๊ตฌ์š”? ์•„๋ž˜์˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. Python ์„ค์น˜ ๋ฐฉ๋ฒ• ๋ณด๊ธฐ JetBrains PyCharmJetBrains ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ด๋ณด์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, ์œ ๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๊ทธ ๋งค๋ ฅ์— ์•„๋งˆ ๋งŽ์ด ๋งค๋ฃŒ๋˜์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. PyCharm์€ JetBrains์—์„œ ๊ฐœ๋ฐœํ•œ Python ๊ฐœ๋ฐœ IDE ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์œ„์—์„œ ๋งํ–ˆ๋‹ค์‹œํ”ผ ์œ ๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด์ง€๋งŒ, ๋ฌด๋ฃŒ๋กœ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋Œ€ํ•™์ƒ์˜ ๊ฒฝ์šฐ, 1๋…„์— ํ•œ ๋ฒˆ ์”ฉ ๋ผ์ด์„ผ์Šค ๊ฐฑ์‹ ์„ ํ†ตํ•ด ์ „ ๊ธฐ๋Šฅ์„ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. PyCharm์€ ๋งค์šฐ ๊น”๋”ํ•œ UI์™€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๋„๋ก ์ง€์›ํ•จ๊ณผ ๋™์‹œ์— django ๋“ฑ ์›น ๊ฐœ๋ฐœ์—๋„ ์œ ์šฉํ•˜..

2016. 9. 24. 14:54

Python ๊ฐœ๋ฐœ ํ™˜๊ฒฝ, ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜์™€ ๋น„๊ต(2) - Sublime Text 3

ํฌ์ŠคํŒ…์„ ํ•œ์ง€๊ฐ€ ์ฐธ ์˜ค๋ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•™๊ต ์ƒํ™œ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ๋‚˜์„œ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ ์ค€๋น„์™€ ๊ณผ์ œ๋“ค์ด ์ด๊ฒƒ์ €๊ฒƒ ์Œ“์ด๋‹ค๋ณด๋‹ˆ, ๋ธ”๋กœ๊ทธ ํ™œ๋™์„ ์†Œํ™€ํžˆ ํ•˜๊ฒŒ ๋˜๋„ค์š” ^^; ์˜ค๋Š˜์€ ์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ Python ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์น˜๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„์ง Python์„ ์„ค์น˜ํ•˜์ง€ ๋ชปํ•˜์…จ๋‹ค๊ตฌ์š”? ์•„๋ž˜์˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. Python ์„ค์น˜ ๋ฐฉ๋ฒ• ๋ณด๊ธฐ Sublime Text ์„œ๋ธŒ๋ผ์ž„ ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋Š” Jupyter์™€ ๋‹ฌ๋ฆฌ ์œ ๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด์ด์ง€๋งŒ, ๋ฌด๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐœ๋ฐœ ๋„๊ตฌ๊ฐ€ ์ •๋ง ์ข‹์€ ๊ฒƒ์€ ์œ ๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด์™€ ๋ฌด๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ธฐ๋Šฅ ์ฐจ๋ณ„์ด ์ „ํ˜€ ์—†์œผ๋ฉฐ ๋‹จ์ง€ ๋‹ค๋ฅธ ์ ์ด ์žˆ๋‹ค๋ฉด, ๊ตฌ๋งคํ•ด๋‹ฌ๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€๋” ๋ฟŒ๋ ค์ฃผ๋Š” ๊ฒƒ ๋ฟ์ž…๋‹ˆ๋‹ค. Sublime Text๋Š” UI๊ฐ€ ..

2016. 9. 6. 14:10

Python ๊ฐœ๋ฐœ ํ™˜๊ฒฝ, ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜์™€ ๋น„๊ต(1) - Jupyter

13๋…„๋„์— ์ œ๊ฐ€ ํ•™๋ถ€ ์ˆ˜์—…์—์„œ Python์„ ์›์–ด ์ˆ˜์—…์œผ๋กœ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋•Œ๋งŒํ•ด๋„ ๊ต์žฌ๊ฐ€ ๊ฑฐ์˜ ๋„คํŠธ์›Œํฌ ๊ต์žฌ ์ˆ˜์ค€์œผ๋กœ ๋‘๊บผ์› ์—ˆ๋Š”๋ฐ ์ˆ˜ํ•™์ ์ธ ๋‚ด์šฉ๋„ ๋งŽ์•˜๊ณ , ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ํ•˜๋Š” ๋“ฑ์˜ ๋‚ด์šฉ๋„ ๋งŽ์ด ์žˆ์—ˆ์ง€๋งŒ ํฌ๊ฒŒ ๊ด€์‹ฌ์„ ๊ฐ–์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์ตœ๊ทผ์— Machine Learning์„ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋‹ค์‹œ Python์„ ์ ‘ํ•™๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ์š”. ์˜ˆ์ „์—๋„ ๊ทธ๋ ‡์ง€๋งŒ ์ง€๊ธˆ์€ ๋” ๋œจ๊ฑฐ์šด ์–ธ์–ด๊ฐ€ Python์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.. ์–ด๋Š ์ปจํผ๋Ÿฐ์Šค๋‚˜ ๋ฐœํ‘œ๋ฅผ ๊ฐ€๋„ Tensorflow ๋‚ด์ง€ Django์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” Python ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํฌ์ŠคํŒ…์„ ํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. Python ์„ค์น˜์™€ ์‹คํ–‰ Python์€ Linux, Mac OS X, Windows ์–ด๋””์„œ๋“ ์ง€ ์ด์šฉ์ด ๊ฐ€๋Šฅํ•œ ์ž์œ ๋กœ..

2016. 8. 31. 01:09

HANDLE ๊ตฌ์กฐ์ฒด์™€ Kernel Object๋ฅผ ์ด์šฉํ•œ ์œˆ๋„์šฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด ์ด์ œ ๋ณธ๊ฒฉ์ ์ธ ์ฝ”๋”ฉ์— ๋“ค์–ด๊ฐ€๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. HANDLE ๊ตฌ์กฐ์ฒด HANDLE ๊ตฌ์กฐ์ฒด๋Š” ์ „ ํฌ์ŠคํŠธ์—์„œ ์ ํ˜€์žˆ์—ˆ๋‹ค์‹œํ”ผ Kernel object๋ฅผ ๊ฑด๋“œ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ฒด์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋งŒ์•ฝ, ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ฝ๊ฑฐ๋‚˜, ์“ฐ๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ฐ๋Š” ๋ฐ˜๋“œ์‹œ HANDLE ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ค ๊ฐœ์ฒด๋ฅผ ๊ฑด๋“œ๋ฆฌ๊ณ  ์‹ถ์€์ง€๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. #include int _tmain(int argc, TCHAR* argv[]) { HANDLE hFile = CreateFile(); } ์˜ˆ๋ฅผ ๋“ค์–ด ํŒŒ์ผ์„ ๊ฑด๋“œ๋ฆฌ๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ, CreateFile API๋ฅผ ์ด์šฉํ•ด์„œ ๊ธฐ์กด์— ์žˆ๋Š” ํŒŒ์ผ์„ ์ฝ๋˜์ง€, ์•„๋‹ˆ๋ฉด ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์—ฌ WriteFile API๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค..

2016. 8. 29. 21:16

HANDLE ๊ตฌ์กฐ์ฒด์™€ Kernel Object

์ด ๋‚ด์šฉ์„ ์“ฐ๊ธฐ ์ „์— ๋งŽ์ด ๊ณ ๋ฏผ์„ ํ–ˆ๋˜ ๊ฒƒ์€ ๋‹ค๋ฆ„์ด ์•„๋‹Œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ์šด์˜์ฒด์ œ ์ปค๋„์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ด์•ผ๊ธฐ๋ฅผ ํฌ์ŠคํŒ…์„ ํ•ด์•ผํ• ๊นŒ, ํ•˜์ง€ ์•Š์•„๋„ ๋ ๊นŒ ๋ผ๋Š” ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ•œ ์ฑ„ ์ด ๋‚ด์šฉ์„ ๋ฐ”๋กœ ๋‹ค์ด๋ ‰ํŠธ๋กœ ํฌ์ŠคํŒ…ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ์ด ํฌ์ŠคํŒ…์„ ๋ณด์‹œ๊ธฐ ์ „์—, ๋ฐ˜๋“œ์‹œ ์šด์˜์ฒด์ œ ์ปค๋„์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ดํ•ด์™€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๊ธฐ์ดˆ์ ์ด๊ณ , ๊ธฐ๋ณธ์ ์ธ ๋ถ€๋ถ„์„ ์ˆ™์ง€ ํ›„, ์ด ํฌ์ŠคํŠธ๋ฅผ ๋ณด์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Kernel Object์ปค๋„ ์˜ค๋ธŒ์ ํŠธ๋ผ๋Š” ๊ฒƒ์€ ๋ง ๊ทธ๋Œ€๋กœ ์ปค๋„ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” Windows์—์„œ ์ปค๋„ ์•ˆ์— ์กด์žฌํ•˜๋ฉฐ ๊ทธ์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋Š” ๋ฆฌ์†Œ์Šค ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ธ”๋ก์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ํ•œ ๋ฒˆ ์ด์•ผ๊ธฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ ์ปค๋„์—๋Š” ์‹œ์Šคํ…œ์˜ ์šด์˜์„ ์œ„ํ•ด, ํŒŒ์ผ, ํ”„๋กœ์„ธ์Šค, ์“ฐ๋ ˆ๋“œ๊ฐ€ ์กด์žฌ..

2016. 8. 11. 22:20

Windows 10 ๋ ˆ๋“œ์Šคํ†ค 1 ๋ฒ„์ „์—์„œ SSH ์„œ๋ฒ„ ์‚ฌ์šฉ๊ณผ ์ฃผ์˜์‚ฌํ•ญ

์œˆ๋„์šฐ10 ๋ ˆ๋“œ์Šคํ†ค1 ๋ฒ„์ „์ด ์ถœ์‹œ๋œ ์ดํ›„, ์ €๋Š” ์ด๋Ÿฐ์ €๋Ÿฐ ์ผ๋กœ Windows๋กœ ๋ถ€ํŒ…์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ์˜ค๋Š˜ ์–ด์ฉŒ๋‹ค๋ณด๋‹ˆ ์ œ ๋…ธํŠธ๋ถ์— ์—„์ฒญ๋‚œ ํ—›์ ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ–์—์„œ ๋…ธํŠธ๋ถ์„ ์“ฐ๋‹ค ์ด๋ก€์ ์œผ๋กœ ์ผ์–ด๋‚œ ์ผ.. ์˜ค๋Š˜ ๋ฐ–์— ๋…ธํŠธ๋ถ์„ ๋“ค๊ณ ๋‚˜๊ฐ€์„œ ์ž‘์—…์„ ํ•˜๋˜ ์ค‘, ๊ณต๊ฐœ Wi-Fi๋ฅผ ์“ฐ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ์ €๋Š” ํ•ญ์ƒ ๊ณต๊ฐœ Wi-Fi๋ฅผ ์“ฐ๊ธฐ ์ „์—, ๊ฒ€์‚ฌํ•ด๋ณด๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ํฌํŠธ ๋ฒˆํ˜ธ ์ฒดํ‚น์ธ๋ฐ์š”. ์™œ ์ด๊ฒƒ์„ ์ฒดํ‚นํ•˜๋ƒ๋ฉด, ํ˜น์‹œ๋ผ๋„ Windows์˜ ๊ฒฝ์šฐ, ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ๋‚˜๋„ ๋ชจ๋ฅด๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ–ˆ๋Š”๋ฐ, KMS Emulator ๋“ฑ๊ณผ ๊ฐ™์€ ์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ์ด ์„ค์น˜๋˜์—ˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐœ Wi-Fi๋Š” ๋ˆ„๊ตฌ๋‚˜ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํฌํŠธ๋ฒˆํ˜ธ ํ•˜๋‚˜ํ•˜๋‚˜๋ผ๋„ ์กฐ์‹ฌํ•ด์•ผ๊ฒ ์ฃ ? ๊ทธ๋Ÿฐ๋ฐ, ์—ฌํƒœ๊นŒ์ง€ Windows์—์„œ ๋ณด..

2016. 8. 10. 22:34

PHP์—์„œ DBMS๋ฅผ ์—ฐ๋™ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•, PDO

์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋‹ค๋ณด๋ฉด, DBMS์™€ ์—ฐ๋™ํ•ด์•ผ ๋  ์ผ์ด ์ƒ๊น๋‹ˆ๋‹ค. ํŠนํžˆ ๋™์  ์‚ฌ์ดํŠธ ๋“ฑ์˜ ๊ฒŒ์‹œํŒ์„ ์ด์šฉํ•˜๋Š” ์œ ํ˜•์˜ ์‚ฌ์ดํŠธ๋“ค์€ ๋”์šฑ ๊ทธ๋Ÿฌํ•˜์ง€์š”. ์ตœ๊ทผ ์ œ๊ฐ€ ์ƒˆ๋กœ์šด ๋‹จ์ผ ํŽ˜์ด์ง€ ๊ตฌ์ถ•์„ ํ•˜๊ฒŒ ๋˜๋ฉด์„œ, PHP์—์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ DBMS์™€ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜๋Š”๋ฐ, ์ด ๋ฐฉ๋ฒ•์ด ์ƒ๊ฐ๋ณด๋‹ค ์œ ์šฉํ•˜๋‹ค ์ƒ๊ฐํ•˜์—ฌ ํฌ์ŠคํŒ…ํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฐฉ์‹์˜ DBMS ์—ฐ๋™์ €๋Š” PHP ์–ธ์–ด๋ฅผ C ์–ธ์–ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋˜์–ด ์žˆ์–ด์„œ ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋”ฉํ•˜๋Š” ์Šต๊ด€์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์œ„์™€ ๊ฐ™์ด ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑํ•  ๋•Œ๋Š” ์„ ํƒ์ ์œผ๋กœ DB ์„œ๋ฒ„ ์—ฐ๊ฒฐ์— ์‹คํŒจํ–ˆ์„ ๊ฒฝ์šฐ, ์กฐ๊ฑด๋ฌธ์„ ์ž‘์„ฑํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ด์•ผ ํ–ˆ์œผ๋ฉฐ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด php_fpm socket ์„œ๋ฒ„์—์„œ ์ง์ ‘ ์˜ค๋ฅ˜๋ฅผ ๋ฟœ๋Š”๋ฐ, ์›ฌ๋งŒํ•ด์„œ die ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๋ฆฌ์†Œ์Šค๋ฅผ ..

2016. 8. 4. 23:09

WSL(Windows Subsystem for Linux) - ์œˆ๋„์šฐ์— ๋“ค์–ด๊ฐ„ ๋ฆฌ๋ˆ…์Šค๋Š” ์–ด๋–ค ๊ฒƒ์ผ๊นŒ?

๋“œ๋””์–ด Windows์— bash shell์ด ํƒ‘์žฌ๋œ ๋ชจ์Šต์„ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด bash shell์—์„œ ์–ผ๋งˆ ๋งŒํผ์˜ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๊ณ , ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ•œ ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Bash shell์€ Windows 10 1์ฃผ๋…„ ์—…๋ฐ์ดํŠธ๋ณธ ์ดํ›„๋ถ€ํ„ฐ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WSL ์„ค์น˜ Linux๋Š” ์ œ์–ดํŒ์— ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ์—์„œ ์™ผ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” [Windows ๊ธฐ๋Šฅ ์‚ฌ์šฉ / ์‚ฌ์šฉ ์•ˆํ•จ[ ์—์„œ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ Windows Subsystem for Linux ํ˜น์€, Linux ํ•˜์œ„ ์œˆ๋„์šฐ ์‹œ์Šคํ…œ์„ ์ฒดํฌํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. Linux ์„ค์น˜WSL์ด ์„ค์น˜๋˜์—ˆ๋‹ค๋ฉด, ๋ช…๋ น ํ”„๋กฌํฌํŠธ ์ฐฝ์„ ์—ด์–ด bash ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์‹œ์ผœ ์ค๋‹ˆ๋‹ค. Linux๋Š” Ubuntu 14.04 ๋ฒ„์ „์ด ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ์œ„ ํ™”๋ฉด์ฒ˜๋Ÿผ ..