Loading...
2018. 1. 22. 20:08

Intel CPU Spectre ํŒจ์น˜(Retpoline) ์™€ ํ…Œ์ŠคํŠธ

์ง€๋‚œ Meltdown ์ทจ์•ฝ์  ํŒจ์น˜๋ฅผ ํ†ตํ•ด์„œ System Call ํ•จ์ˆ˜ ํ˜ธ์ถœ์‹œ 4๋ฐฐ์˜ ์„ฑ๋Šฅ์ด ํ•˜๋ฝ๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ทจ์•ฝ์ ์€ Intel CPU์—์„œ๋งŒ ์กด์žฌํ•˜๋Š” ์ทจ์•ฝ์ ์ด๋ฉฐ Kernel Page Table Isolation (KPTI) ํŒจ์น˜๋ฅผ ํ†ตํ•ด ์ทจ์•ฝ์ ์„ ๊ณ ์น  ์ˆ˜ ์žˆ์—ˆ๊ณ , AMD ๋ฐ ARM ํ”„๋กœ์„ธ์„œ์—์„œ๋Š” ์˜ํ–ฅ์ด ์—†์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Spectre ์ทจ์•ฝ์ ์€ ์ด์ „ ํฌ์ŠคํŠธ์—์„œ๋„ ์„ค๋ช…ํ•œ ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์„ค๋ช…๋“œ๋ฆฌ์ž๋ฉด, A ํ”„๋กœ๊ทธ๋žจ์ด B ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์นจ๋ฒ”ํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์œผ๋กœ, ํฌ๊ฒŒ๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์˜ OS๊ฐ€ Host OS์˜ ์ฃผ์†Œ ๋ฒ”์œ„๊นŒ์ง€ ์นจ๋ฒ”ํ•  ์ˆ˜๋„ ์žˆ๋Š” ๋งค์šฐ ๋ฌด์„œ์šด ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ Intel CPU ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, AMD, ARM CPU์—๋„ ์ทจ์•ฝ์ ์ด..

2018. 1. 8. 11:06

2017๋…„ Tistory Blog ๊ฒฐ์‚ฐ

2017๋…„์ด ์ง€๋‚˜๊ณ , ๋ฒŒ์จ 2018๋…„์ด ์™”์Šต๋‹ˆ๋‹ค. ์ •๋ง ์‹œ๊ฐ„ ๋น ๋ฅด๊ฒŒ ์ง€๋‚˜๊ฐ€๋„ค์š”. ์ €๋„ ์ด์ œ ์ทจ์—… ์‹œ๊ธฐ๊ฐ€ ๋˜์—ˆ๊ณ , ๊ทธ๋ ‡๋‹ค ๋ณด๋‹ˆ 2017๋…„์—๋Š” ์ €์˜ ๋ธ”๋กœ๊ทธ์˜ ํฌ์ŠคํŒ… ์ˆ˜๊ฐ€ ์ž‘๋…„์— ๋น„ํ•ด ์กฐ๊ธˆ ๋–จ์–ด์ง„ ๋ชจ์Šต์ด์—ˆ์ง€๋งŒ, ๊ทธ ์™ธ์˜ ํ†ต๊ณ„๊ฐ€ ๋‚˜๋ฆ„ ์ˆ˜ํ›จํ•ด์„œ ํ•œ ํŽธ์œผ๋กœ๋Š” ๋ฟŒ๋“ฏํ•œ ๋งˆ์Œ์ด ๋“œ๋„ค์š”. 5๋…„ ์ฐจ ๋ธ”๋กœ๊ทธ... ๋ฒŒ์จ ๋ธ”๋กœ๊ทธ๋ฅผ ํ•œ์ง€ 5๋…„์ด๋ผ๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ฐ”๋„ค์š”. ์ƒ๊ฐํ•ด๋ณด๋ฉด, ์ €๋Š” 2007๋…„ ์ฒ˜์Œ ํ‹ฐ์Šคํ† ๋ฆฌ์— ๊ฐ€์ž…ํ•˜์—ฌ ๊ณ„์ •์„ ์ด์ „ํ•œ ์ด๋ ฅ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ํ์‡„ํ•˜๊ณ , IT ๋ธ”๋กœ๊ทธ๋ฅผ ์“ฐ๊ธฐ ์‹œ์ž‘ํ•œ ๊ฒƒ์€ 2012๋…„๋ถ€ํ„ฐ์˜€๋˜ ๊ฒƒ ๊ฐ™๋„ค์š”. 20+ ํฌ์ŠคํŒ…... ์‚ฌ์‹ค ๋ธ”๋กœ๊ทธ๋ฅผ ํ•˜๋ฉด์„œ ํฌ์ŠคํŒ…์˜ ๊ฐฏ์ˆ˜๋Š” ๊ฑฐ์˜ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์—ฌ์œ ๋กœ์šด ์‹œ๊ฐ„์„ ์ ๋‹นํžˆ ์žก์•„ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์“ฐ๋Š” ํŽธ์ด๊ธฐ๋„ ํ•˜๊ณ , ๋˜ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์“ธ ๋•Œ ๋ฌด์—‡๋ณด๋‹ค ์‹ ์ค‘ํ•˜๊ฒŒ ๊ธ€..

2018. 1. 5. 17:06

Intel CPU Meltdown ์ทจ์•ฝ์  ํŒจ์น˜ 2์ฐจ ํ…Œ์ŠคํŠธ์™€ ๋งˆ๋ฌด๋ฆฌ

1์ฐจ ํ…Œ์ŠคํŠธ์— ์ด์–ด์„œ 2์ฐจ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. 2์ฐจ ํ…Œ์ŠคํŠธ๋Š” 1์ฐจ์—์„œ ์ง„ํ–‰ํ–ˆ๋˜ File I/O ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์›น ์„œ๋ฒ„, DBMS, ๊ทธ๋ฆฌ๊ณ  ์ƒ๊ฐ๋ณด๋‹ค ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์˜ค๋””์˜ค ์ธ์ฝ”๋”ฉ๊ณผ ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ ๋“ฑ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ง„ํ–‰ ์‚ฌํ•ญ- SQLite I/O Test (only HDD)- FLAC Audio Encoding- Opus Codec Encoding- nginx Benchmark- GCC Compile Test- File I/O Test ํ…Œ์ŠคํŠธ๋Š” ์ด 6๊ฐ€์ง€๋กœ ์ง„ํ–‰ํ•˜์˜€์œผ๋ฉฐ ๊ทธ ์ค‘ ๋งˆ์ง€๋ง‰ File system Test๋Š” ์–ด์ œ ์ง„ํ–‰ํ–ˆ๋˜ 4000๋ฒˆ์˜ ํŒŒ์ผ ์ƒ์„ฑ์„ ๋‹ค์‹œ ํ…Œ์ŠคํŠธํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. SQLite์˜ DBMS ํ…Œ์ŠคํŠธ๋Š” ์ €์˜ ๋…ธํŠธ๋ถ ํ™˜๊ฒฝ์ƒ HDD์—์„œ๋งŒ ์ง„ํ–‰..

2018. 1. 4. 17:32

Intel CPU ๋ณด์•ˆ ์ทจ์•ฝ์  ํŒจ์น˜๋กœ ์ธํ•œ ์„ฑ๋Šฅ ๊ฐ์†Œ์™€ 1์ฐจ ํ…Œ์ŠคํŠธ

์•ˆ๋…•ํ•˜์„ธ์š”. 2018๋…„ ์ฒซ ํฌ์ŠคํŒ…์ด๋„ค์š”. ๋ชจ๋‘๋“ค ์ƒˆํ•ด ๋ณต ๋งŽ์ด ๋ฐ›์œผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ƒˆํ•ด๋ถ€ํ„ฐ ๋ญ”๊ฐ€ ํฐ ์ผ์ด ํ„ฐ์ง„ ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ธํ…”์˜ ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ์—์„œ ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜์–ด ํ˜„์žฌ ๋ฆฌ๋ˆ…์Šค๋ฅผ ํฌํ•จํ•œ ์œˆ๋„ ์šด์˜์ฒด์ œ Redstone 3 ๋ฒ„์ „๋„ ํŒจ์น˜ ์กฐ์น˜๊ฐ€ ๋‚ด๋ ค์ง„ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ํŒจ์น˜๋ฅผ ํ•œ ๋’ค์— ์„ฑ๋Šฅ์ด 30% ๊ฐ์†Œํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์žˆ๋Š”๋ฐ์š”. ์–ด๋–ค ์ทจ์•ฝ์ ์ด๊ณ , ์™œ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์กฐ๊ธˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Meltdown, Spectre ์ด๋ฒˆ ์ทจ์•ฝ์ ์˜ ์ด๋ฆ„์€ ์œ„์™€ ๊ฐ™์€ ๋‘ ๊ฐœ ์ด๋ฆ„์˜ ์ทจ์•ฝ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ์ด ์ทจ์•ฝ์ ์€ ๊ตฌ๊ธ€์˜ ๋ณด์•ˆ๊ธฐ์ˆ ํŒ€์ธ Project zero ํŒ€์— ์˜ํ•ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.. Meltdown ์ทจ์•ฝ์ ์€ Intel CPU์— ์ ์šฉ๋œ OoOE(๋น„์ˆœ์ฐจ์  ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ) ๊ธฐ์ˆ ์˜ ๋ฒ„๊ทธ๋ฅผ ..

2017. 11. 25. 22:12

Windows 10 Redstone 3 ์—์„œ ๋ฌด์ˆ˜ํžˆ ๋Š˜์–ด๋‚œ Svchost.exe ํ”„๋กœ์„ธ์Šค

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

2017. 11. 13. 11:10

Windows 10 ๊ฐ€์„ ์—…๋ฐ์ดํŠธ(Redstone 3) ์—์„œ์˜ ๋ณ€ํ™”

์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ ์ตœ๊ทผ์— ๋‚˜์˜จ Windows Fall Creators Update์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. Windows Fall Creators UpdateWindows Fall Creators Update๋Š” 2017๋…„ 10์›”์— ์ถœ์‹œ๋œ Windows 10 ์šด์˜์ฒด์ œ์˜ ๊ฐ€์„ ๋Œ€๊ทœ๋ชจ ์—…๋ฐ์ดํŠธ๋กœ ์ด ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด Windows 10 Redstone 3 ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ Windows ์—์„œ๋Š” ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž์˜ ์ˆ˜๋™์‹ ์—…๋ฐ์ดํŠธ ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด ์—…๋ฐ์ดํŠธ ์ดํ›„, MS๋Š” ์ „ํ†ต์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋˜ ๋Œ€๊ทœ๋ชจ ์—…๋ฐ์ดํŠธ ์ดํ›„ 1๊ฐœ์›”์ด ํ๋ฅธ ์ง€๊ธˆ, ํ‰์†Œ๋ผ๋ฉด ๋‚ด๋†“์„ ํ•ซํ”ฝ์Šค(๋ฒ„๊ทธ, ๋ณด์•ˆ ํŒจ์น˜)๋ฅผ ์ „ํ˜€ ๋‚ด์ง€ ์•Š๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‹ค์‚ฌ์šฉ ๊ฐ€๋Šฅํ•  ์ •๋„์˜ ์•ˆ์ •ํ™”๋œ ๋ฒ„์ „์€ ์•„๋‹ˆ๋ฉฐ..

[GP] C++ ์–ธ์–ด์—์„œ MQTT ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

์ด ๊ธ€์€ N.K Dev lab์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ง€๋‚œ ํฌ์ŠคํŠธ์— ์ด์–ด์„œ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํ™œ์šฉํ•œ MQTT ์‚ฌ์šฉ์— ๋Œ€ํ•ด ์ ์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ C++ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋„๋ก ํ•˜์ฃ . libmosquitto C++ ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•  MQTT ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ libmosquitto๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ libmosquitto ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด์•ผ๊ฒ ์ฃ ? ๊ทธ๋Ÿผ ์„ค์น˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. $ sudo apt install libmosquitto ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” libmosquitto ํŒจํ‚ค์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด์„œ libmosquitto๋ฅผ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•ด๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ์—์„œ๋Š” ์•„๋ž˜์˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์…”์„œ ์„ค์น˜ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Wind..

[GP] Android์—์„œ MQTT๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด ๊ธ€์€ ์ €์˜ Github Page์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ˆ๋…•ํ•˜์„ธ์š”. ์š”์ฆ˜ ์ทจ์—… ์‹œ์ฆŒ์ด ํ•œ์ฐฝ์ด๋‹ค๋ณด๋‹ˆ, ๋ธ”๋กœ๊ทธ์— ๊ธ€์“ฐ๋Š”๊ฒŒ ๋˜ ๊ฒŒ์„๋Ÿฌ์ง€๊ฒŒ ๋˜์—ˆ๋„ค์š”. ใ…œใ…œ ์˜ค๋Š˜์€ ์ง€๋‚œ ํฌ์ŠคํŠธ์— ์ด์–ด์„œ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•œ MQTT ๋ฉ”์‹œ์ง€ ๊ตํ™˜ - ์•ˆ๋“œ๋กœ์ด๋“œ ํŽธ์„ ํฌ์ŠคํŠธํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ์•„์ง MQTT์— ๋Œ€ํ•œ ๊ฐœ๋…์ด๋‚˜, Broker๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š์œผ์‹  ๋ถ„๋“ค์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ํ†ตํ•ด, ์ด์ „ ๊ธ€์„ ๋ฐ˜๋“œ์‹œ ๊ตฌ๋…ํ•ด์ฃผ์‹  ํ›„, ์ด ํฌ์ŠคํŠธ๋ฅผ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์•„์ง MQTT์— ์ž˜ ๋ชจ๋ฅด์‹ ๋‹ค๊ตฌ์š”? ์•„๋ž˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์…”์„œ ์ž์„ธํžˆ ์•Œ์•„๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. MQTT์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ Eclipse Paho MQTT ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ๋ฉ”์‹œ์ง€ ๊ตํ™˜์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” MQTT ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘์—์„œ๋„ ์ €ํฌ๋Š” Java์™€..

2017. 8. 28. 10:52

Linux์—์„œ MQTT Broker, Mosquitto ์„ค์น˜

MQTT๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ณด๋ ค ํ•˜์‹œ๋‚˜์š”? ๊ทธ๋ ‡๋‹ค๋ฉด, ๋จผ์ € ์•„๋ž˜์˜ ๊ธ€์„ ์ฝ์–ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. MQTT ํ”„๋กœํ† ์ฝœ ๊ฐœ๋…๊ณผ ์ดํ•ด ์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ MQTT์— ๋Œ€ํ•œ ๊ฐœ๋…๊ณผ ๊ฐ„๋‹จํ•œ ํŠน์ง•์„ ์†Œ๊ฐœํ•ด ๋“œ๋ ธ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์šฐ๋ฆฌ๋Š” MQTT Broker๋ฅผ ์„ค์น˜ํ•ด์„œ, ์ด๋ฅผ ๊ตฌ๋™ํ•ด๋ณด๊ณ  ์„œ๋น„์Šค๋ฅผ ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. MQTT Broker์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ, ๊ทธ ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ๋ณดํŽธ์ ์ด๊ณ  ๋ฌด๋‚œํ•œ mosquitto๋ฅผ ์„ค์น˜ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Mosquitto ์„ค์น˜ ๋ฆฌ๋ˆ…์Šค์—์„œ Mosquitto๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฆฌ๋ˆ…์Šค์˜ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ์— ์žˆ๋Š” Mosquitto ํŒจํ‚ค์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. $ sudo apt install mosquitto ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•˜์—ฌ ์œ„ ๋ช…๋ น์–ด๋ฅผ ํƒ€์ดํ•‘ํ•ฉ๋‹ˆ๋‹ค. $ sudo systemctl ..

2017. 8. 26. 15:57

MQTT ํ”„๋กœํ† ์ฝœ ๊ฐœ๋…๊ณผ ์ดํ•ด

์•ˆ๋…•ํ•˜์„ธ์š”. ์š”์ฆ˜ ์กธ์—… ์ค€๋น„๊ฐ€ ํ•œ์ฐฝ์ด์–ด์„œ, (ํ•‘๊ณ„์ง€๋งŒ.. ใ…œใ…œ) ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์ž์ฃผ ๋ชป์“ฐ๊ฒŒ ๋˜๋Š”๊ตฐ์š”. MQTT ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. MQTT๋Š” ์ œ๊ฐ€ ํ˜„์žฌ ์กธ์—… ์ž‘ํ’ˆ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ธ๋ฐ์š”. ์ฒ˜์Œ์—๋Š” XMPP ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ๊ตํ™˜ํ•˜๋ ค๊ณ  ํ•˜์˜€์œผ๋‚˜, ๊ต์ˆ˜๋‹˜์˜ ์กฐ์–ธ์œผ๋กœ MQTT ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MQTT๋Š” ๋ฌด์—‡์ผ๊นŒ, XMPP๋ž‘ ์ฐจ์ด๋Š”?์ œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ์—์„œ XMPP ๊ด€๋ จ ํฌ์ŠคํŠธ๋ฅผ ๋ณด์‹  ๋ถ„์ด์‹œ๋ผ๋ฉด, ์ด ๊ธ€๋„ ๋ฐ˜๋“œ์‹œ ์ฐธ๊ณ ํ•ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ ์ œ๊ฐ€ ์ฑ„ํŒ… ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด XMPP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. XMPP๋Š” ์˜ˆ์ „ Google Talk ๊ณผ Facebook Messenger ์—์„œ ์‚ฌ์šฉํ•œ ์ฑ„ํŒ… ํ”„๋กœํ† ์ฝœ๋กœ ํ˜„์žฌ๋Š” Hangouts ์„œ๋น„์Šค๋Š” XMPP์™€ ํ˜ธํ™˜..

2017. 8. 2. 12:16

[GP] Android CustomView๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž

์ด ๊ธ€์€ ์ €์˜ Github Page์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฒŒ์จ 8์›”์ด ์‹œ์ž‘๋๋„ค์š”. ์˜ฌํ•ด ์žฅ๋งˆ๋Š” ๋ฌด์ฒ™ ๊ธธ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์•ˆ๋“œ๋กœ์ด๋“œ์˜ CustomView๋ฅผ ์ œ์ž‘ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์„ ์ ์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์‚ฌ์‹ค ๋””์ž์ธ์— ๋งŽ์ด ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ˜„์žฌ ๋งก๊ณ  ์žˆ๋Š” ์กธ์—… ์ž‘ํ’ˆ์—์„œ๋„ ํด๋ผ์ด์–ธํŠธ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์•ฑ ๋””์ž์ธ์— ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋œฏ์–ด๊ณ ์ณค์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ทธ๋‹ค์ง€ ๋””์ž์ธ์— ๋งŽ์ด ์‹ ๊ฒฝ๋„ ์“ฐ์ง€ ์•Š์•˜๊ณ , Android, android-support, material design์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•ด์ฃผ๋Š” View, Widget์„ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์“ฐ๋Š” ๊ฒƒ์ด ์ „๋ถ€์ด๊ณ , ๊ทธ ์ด์ƒ์€ ์ƒ๊ฐํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ๊ฐ€ ๋ณด๊ธฐ์—๋„ ์ œ๊ฐ€ ๋งŒ๋“  ์•ฑ์˜ ๋””์ž์ธ์ด ์ •๋ง ์ดˆ๋ผํ•˜๊ฒŒ ๋Š๊ปด์ง‘๋‹ˆ๋‹ค. ์•ฑ์˜ ํ’ˆ์งˆ..

2017. 7. 13. 20:56

์ž์‹ ์˜ Tistory ๋ธ”๋กœ๊ทธ ๊ฒ€์ƒ‰์— ์Œ์„ฑ ์ธ์‹ ๊ธฐ๋Šฅ์„ ๋„ฃ์–ด๋ณด์ž.

Tistory ๋ธ”๋กœ๊ทธ์—๋Š” ํฌ์ŠคํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ Tistory ๋ธ”๋กœ๊ทธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒ€์ƒ‰์ด ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ์š”. ๋ณดํ†ต ๊ฒ€์ƒ‰์€ ํ‚ค๋ณด๋“œ๋กœ ์ž์‹ ์ด ์ฐพ๊ณ ์ž ํ•˜๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๊ฒ€์ƒ‰์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 12 ~ 13๋…„๋„ ์ €์˜ ๋ธ”๋กœ๊ทธ์—๋Š” ๊ฒ€์ƒ‰ ๋ฐ•์Šค์— ์Œ์„ฑ ์ธ์‹ API๋ฅผ ์žฅ์ฐฉํ•œ ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Speech Input API for HTML5๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ์ธ๋ฐ์š”. ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์ด ๋งค์šฐ ์‰ฝ๊ณ  ํŽธํ•ด์„œ ๋ˆ„๊ตฌ๋‚˜ ๋”ฐ๋ผํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์œ„ ์†Œ์Šค๋ฅผ input ํƒœ๊ทธ ์˜†์— ๋ถ€์ฐฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์Œ์„ฑ ์ธ์‹ ๊ธฐ๋Šฅ์„ ํƒ‘์žฌ์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ์ฃ . ๋‹น์‹œ Google Chrome ๋ธŒ๋ผ์šฐ์ €์—์„œ ์œ ์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ์—ˆ๊ณ , ํƒœ๊ทธ ์†์„ฑ์œผ๋กœ..

2017. 6. 29. 16:01

Virtualenv๋ฅผ ์‚ฌ์šฉํ•œ Tensorflow ์„ค์น˜

Tensorflow๋ฅผ 0.8 ๋ฒ„์ „๋ถ€ํ„ฐ ์‚ฌ์šฉํ–ˆ์—ˆ์ง€๋งŒ, ์–ด๋Š์ƒˆ ์™€์„œ ๋ณด๋‹ˆ ๋ฒŒ์จ ์ •์‹ ๋ฆด๋ฆฌ์ฆˆ 1.0 ๋ฒ„์ „์„ ์ถœ์‹œํ•˜๊ณ , ์ด์ œ๋Š” CPU ๋ฒ„์ „์ด 1.2๊นŒ์ง€ ์˜จ ์ƒํƒœ๋”๊ตฐ์š”. ์ƒˆ์‚ผ์Šค๋Ÿฝ๊ฒŒ๋„ ์ •๋ง ์‹œ๊ฐ„์ด ๋นจ๋ฆฌ ๊ฐ€๊ณ  ์žˆ๋‹ค๋Š” ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค. What is Tensorflow ?์ด ์‹œ์ ์—์„œ Tensorflow๋ฅผ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„๋“ค์€ ์•„๋งˆ ์—†์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐ๋˜์ง€๋งŒ, ํ˜น์‹œ๋ผ๋„ ์ด ๋ถ„์•ผ์— ์ฒ˜์Œ ํ•ด๋ณด์‹œ๊ณ , ๋ง‰์ƒ ์ฒ˜์Œํ•ด๋ณด๋Š”๋ฐ, ๋˜ ๋ญ”์ง€ ๋ชจ๋ฅด๋ฉด ๊ณค๋ž€ํ•˜๊ฒ ์ฃ ? ๊ทธ๋ž˜์„œ ๊ฐ„๋‹จํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ณด๋ฉด์„œ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Tensorflow: ํ…์„œํ”Œ๋กœ์šฐ๋Š” Google์—์„œ ๊ฐœ๋ฐœํ•ด์„œ ๋‚ด๋†“์€ ๋”ฅ๋Ÿฌ๋‹/๊ธฐ๊ณ„ํ•™์Šต ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋ณธ๋ž˜ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Python ์–ธ์–ด๋งŒ์„ ์ง€์›ํ•˜์˜€์ง€๋งŒ, ์ •์‹ ๋ฒ„์ „์ธ 1.0 ๋ฒ„์ „์„ ๊ณต๊ฐœํ•œ ์ดํ›„์—๋Š” Java, C, Go ์–ธ์–ด์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ..

[GP] Unix Thread์˜ ๊ธฐ๋ณธ์„ ๋‹ค์ ธ๋ณด์ž

์ด ๊ธ€์€ ์ €์˜ Github Page์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๊ธ€์„ ์จ์˜จ์ง€ ๋ฒŒ์จ 4๊ฐœ์›”์ด ์ง€๋‚ฌ์ง€๋งŒ, ํ•™๊ต ์ƒํ™œ๊ณผ ์„ฑ์  ๊ด€๋ฆฌ ๋“ฑ์œผ๋กœ ์ธํ•ด ์ปจํ…์ธ ๊ฐ€ ๋งŽ์ด ๋ถ€์กฑํ•˜์—ฌ ์ด๋ฆฌ์ €๋ฆฌ ์ƒ๊ฐํ•ด ๋ณธ ๊ฒฐ๊ณผ, ์ด ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ์— ์ œ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๋ชจ๋“  ๊ฐœ๋ฐœ ์ง€์‹๋“ค์„ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์šฉ๋„๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๊ฒ ์ง€๋งŒ, ์ฃผ ์šฉ๋„๋Š” ์‚ฌ๋žŒ์˜ ๊ธฐ๋ณธ์ ์ธ ํŠน์„ฑ์ธ ๋ง๊ฐ ํŠน์„ฑ ๋•Œ๋ฌธ์ด๊ฒ ์ฃ ? ใ…Žใ…Ž ์˜ค๋Š˜์€ Unix Programming์— ๋Œ€ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜์—ฌ, pthread๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์™œ ์“ฐ๋ ˆ๋“œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ƒ๊ณ ์š”? ๊ทธ๋ ‡๊ตฐ์š”. ์˜ฌํ•ด๋Š” ์œ ๋‚œํžˆ ์ œ ํ”„๋กœ์ ํŠธ, ๊ณผ์ œ ๋“ฑ์—์„œ ๋ชจ๋‘ ์“ฐ๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋–„๋ฌธ์ด๋ผ๊ณ  ์ด์•ผ๊ธฐ ํ•˜๊ณ  ์‹ถ๋„ค์š”.. ์ด ๊ธ€์„ ์ฝ์–ด๋ณด์‹œ๊ธฐ ์ „์—, Thread์— ๋Œ€ํ•œ ๊ธฐ์ดˆ์ ์ธ ๊ฐœ๋…์ด ์ˆ™์ง€๋œ ์ƒํ™ฉ์—์„œ ์ฝ๊ธฐ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค..

2017. 6. 26. 14:55

Scene Builder 8.3.0 ์‚ฌ์šฉ์‹œ, Segmentation Fault ์˜ค๋ฅ˜ ์กฐ์น˜ ๋ฐฉ๋ฒ• (Ubuntu)

์ตœ๊ทผ์— ์ œ๊ฐ€ ์šฐ๋ถ„ํˆฌ๋ฅผ ๋‹ค์‹œ ์ƒˆ๋กœ ์„ค์น˜ํ•˜๊ฒŒ ๋˜๋ฉด์„œ, ๊ธฐ์กด์— ์žˆ๋˜ ๊ฐœ๋ฐœ ๋„๊ตฌ, ๋ฌธ์„œ ํŽธ์ง‘๊ธฐ ๋“ฑ์„ ๋‹ค์‹œ ์„ค์น˜ํ•ด์•ผ ๋˜๋Š” ์ผ์„ ๋งž์ดํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์˜ค๋Š˜ JavaFX ์ฝ”๋”ฉ์„ ์œ„ํ•ด Scene Builder๋ฅผ ์„ค์น˜ํ•ด ์‹คํ–‰ํ•˜๋‹ˆ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์— ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ , ๋ฌด์–ธ๊ฐ€ ๊ฐ’์„ ์ฃผ์ง€ ์•Š์•„์„œ ๊ทธ๋Ÿฐ๊ฐ€ ์‹ถ์–ด, IntelliJ IDEA ํ”„๋กœ๊ทธ๋žจ๊ณผ ์—ฐ๋™ํ•˜์—ฌ ์‹คํ–‰๋„ ์‹œ์ผœ๋ดค์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๋˜‘๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์˜ ์›์ธ์›์ธ์„ ํ™•์ธํ•ด๋ณด๊ณ ์ž, gdb ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ดค์Šต๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•˜๊ฒŒ ๋ถ„์„ํ•ด๋ณด์ง„ ์•Š์•˜์ง€๋งŒ, ์–ด๋”˜๊ฐ€ ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ ‘๊ทผํ•˜๋ ค๋‹ค๊ฐ€ ์‹คํŒจํ–ˆ๊ฑฐ๋‚˜, NULL์„ ์ฐธ์กฐํ•œ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์˜ ํ•ด๊ฒฐํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์˜์™ธ๋กœ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” Sce..

2017. 6. 23. 17:40

[GP] Android, ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ์—์„œ UI ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด ๊ธ€์€ ์ €์˜ Jekyll ๋ธ”๋กœ๊ทธ์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜ ํฌ์ŠคํŠธ๋Š” ์–ด์ œ์— ์ด์–ด์„œ, ์“ฐ๋ ˆ๋“œ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๊ณ„์†ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ UI ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋‹ค๋ณด๋‹ˆ, UI ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋งŽ์ด ์œ ๋ช…ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋Š” Windows ์ชฝ์˜ ์ด์•ผ๊ธฐ๋ฅผ ๋งŽ์ด ์„ž์–ด๋ณด์ž ํ•ฉ๋‹ˆ๋‹ค. ์ฝ์œผ์‹ค ๋•Œ, ์ดํ•ด๊ฐ€ ์กฐ๊ธˆ ์•ˆ๋˜์‹œ๋Š” ๋ถ€๋ถ„๋„ ์žˆ์„ํ…Œ๋‹ˆ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. UI ๋ฆฌ์†Œ์Šค๋ฅผ Sub Thread์—์„œ ์ง์ ‘ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ. ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์—๋Š” UI๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. UI๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž๋“ค์ด ํ„ฐ์น˜ํ•˜๋Š” ๋ฒ„ํŠผ, ํ…์ŠคํŠธ ๋ฐ•์Šค ๋“ฑ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งํ•˜๋Š”๋ฐ์š”. ์ฃผ๋กœ ๊ฐ„๋‹จํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ด UI๋ฅผ ๋ฉ”์ธ ์“ฐ๋ ˆ๋“œ์—์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•ฑ์ด ์ปค์ง€๊ฒŒ ๋˜๋ฉด, ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋  ์ˆ˜ ์žˆ๊ณ , ํ•ด๋‹น ์“ฐ๋ ˆ๋“œ์—์„œ UI๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ..

[GP] Android AIDL ์„ ์‚ฌ์šฉํ•œ Activity ์™€ Service ํ†ต์‹ 

์ด ๊ธ€์€ ์ €์˜ Github Page์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ˆ๋…•ํ•˜์„ธ์š”. ์ฒ˜์Œ์œผ๋กœ Android ํฌ์ŠคํŠธ๋ฅผ ์“ฐ๊ฒŒ ๋˜์—ˆ๋„ค์š”. ์•ˆ๋“œ๋กœ์ด๋“œ ํฌ์ŠคํŠธ๋ฅผ ์ปค๋ฆฌํ˜๋Ÿผ๋ณ„๋กœ ํฌ์ŠคํŒ…์„ ํ•ด๋ณผ๊นŒ ๋ผ๋Š” ์ƒ๊ฐ๋„ ํ–ˆ์—ˆ์ง€๋งŒ, ์ปค๋ฆฌํ˜๋Ÿผ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ์—์„œ๋„ ๋งŽ์ด ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์ด๊ณ  ๋˜ ์–ด๋ ต์ง€ ์•Š์€ ๋‚ด์šฉ์ด๊ธฐ์— ์ปค๋ฆฌํ˜๋Ÿผ์ด๊ธฐ ๋ณด๋‹ค๋Š” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๋ถ€๋ถ„์„ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ์ฒ˜์Œ ํฌ์ŠคํŠธ๋ฅผ AIDL๋กœ ์‚ผ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AIDL ? AIDL์€ Android Interface Definition Language์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•œ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ๋ณธ๋ž˜๋Š” Android IDL์€ Corba์˜ IDL ๊ธฐ๋Šฅ์„ ๊ทธ๋Œ€๋กœ ๋ฌ˜์‚ฌํ•œ ๊ฒƒ์ด๋ฉฐ RPC ํ†ต์‹ ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ด ํฌ์ŠคํŠธ์—์„œ ๋‹ค๋ฃฐ ์ฃผ์ œ๋„, Ac..

2017. 4. 10. 22:46

Windows API๋กœ ์‹œ์ž‘ํ•ด๋ณด๋Š” ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์•„์ง ์†Œ์ผ“์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋ชจ๋ฅด์‹œ๊ฒ ๋‹ค๊ตฌ์š”? ์•„๋ž˜์˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ Socket ํฌ์ŠคํŠธ๋ฅผ ๋ฏธ๋ฆฌ ์ฝ์–ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ - Socket ์•ˆ๋…•ํ•˜์„ธ์š”. ์—ฌ๊ธฐ๋Š” Windows ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค. ์œ„ Socket์˜ ๊ฐœ๋… ํฌ์ŠคํŠธ์™€ ๋”๋ถˆ์–ด, Windows API๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— Windows API์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๊ฐ™์ด ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜์…จ๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ , ๊ธ€์„ ์จ ๋‚˜๊ฐ€๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. WinSock2Windows Socket์€ BSD Unix ํ˜ธํ™˜์„ ์œ„ํ•ด ๊ทธ ๊ฐœ๋…์€ ๊ต‰์žฅํžˆ ๋น„์Šทํ•˜์ง€๋งŒ, Windows ์šด์˜์ฒด์ œ์— ๋งž์ถฐ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, ์†Œ์ผ“์€ ํŠน์„ฑ์ƒ ์ปค๋„์— ์š”์ฒญํ•˜์—ฌ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์—, ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ์œ ๋‹‰์Šค์™€ ๋‹ฌ๋ฆฌ Window..