Loading...
2021. 1. 9. 16:38

[RxJava] RxJava๋กœ ์‹œ์ž‘ํ•˜๋Š” Java Reactive ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Java์—์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€์˜ ์ผ์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์—๋Š” ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. Java์—์„œ๋„ C++์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ select ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜๊ณ , Thread ๊ฐ์ฒด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ด์šฉํ•ด์„œ ๋™์‹œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋ฆฌ ํฐ ๊ณ ๋ฏผ์ด ๋  ๋ฌธ์ œ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Java๋กœ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ Python์ด๋‚˜ Go์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋น„ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ๋ฌด์ฒ™ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ๋‹จ์ˆœํ•˜๊ฒŒ Thread ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋งŒ ๊ณ ๋ คํ•œ๋‹ค๋ฉด ๊ทธ๋ฆฌ ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ์ž์›์„ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ์ด์Šˆ ๋“ฑ ์ฒ˜๋ฆฌํ•ด์ค˜์•ผ ํ•  ์ผ๋“ค์ด ๊ต‰์žฅํžˆ ๋งŽ์„ ๋ฟ๋”๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ์ง ๋‹คํ•˜๋”๋ผ๋„ ๋‚ด๊ฐ€ ๋งŒ๋“  ๋ฉ”์†Œ๋“œ๋‚˜ ํ•จ์ˆ˜๊ฐ€ ์Šค๋ ˆ๋“œ ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ทธ๋ ‡..

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

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

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..

2013. 8. 1. 11:48

Eclipse์™€ Genymotion์„ ์‚ฌ์šฉํ•œ Android ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

Eclipse๋กœ Android ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ด๋ณด์‹  ๋ถ„๋“ค์€ ํ•œ ๋ฒˆ ์ฏค์€ AVD๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•ด๋ดค์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ค๋ž˜ ์ „๋ถ€ํ„ฐ ํ•„์ž๋Š” AVD๊ฐ€ ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ณ  ์•ˆ์ •ํ™”๊ฐ€ ๋˜์ง€ ์•Š์€ ๋“ฏํ•˜์—ฌ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์„ ๊บผ๋ คํ–ˆ์ง€๋งŒ Windows ํ™˜๊ฒฝ์—์„œ๋Š” ADT์˜ ์ถ”๊ฐ€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ธ Intel x86 Accelator๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์กฐ๊ธˆ ์™„ํ™”๋œ ํ™˜๊ฒฝ์„ ์ œ๊ณต๋ฐ›๋Š”๋‹ค๊ณ  ์–˜๊ธฐ๋ฅผ ๋“ค์€ ๋ฐ” ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•„์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” OS๋Š” Ubuntu Linux์ด๋ฉฐ ์•„์ง Ubuntu์—์„œ๋Š” ์ด๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ์ตœ์‹  ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ด๋‹ฌ๋ผ๋Š” ๊ฒƒ๋„ ์•„๋‹™๋‹ˆ๋‹ค. AVD๋Š” Android์˜ ์ƒˆ ๋ฒ„์ „์ด ๋‚˜์˜ฌ ๋•Œ๋งˆ๋‹ค ๋ฐ”๋กœ๋ฐ”๋กœ SDK๊ฐ€ ๋‚˜์˜ค์ง€์š”. ๊ทธ๋ž˜์„œ ์ €๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ/๋””๋ฒ„๊น…์„ ํ•ด์•ผํ•œ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด, ์ œ๊ฐ€ ์“ฐ๋Š” ์•ˆ๋“œ๋กœ์ด๋“œํฐ์œผ๋กœ ๋””๋ฒ„๊น…์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ..