AppMaster ๋ ธ์ฝ๋ ํ๋ซํผ ์ต์ ์ ๋ฐ์ดํธ | 2023๋ 9์
์ฝ๋ ์๋ ์ฑ ๊ฐ๋ฐ ์ธ๊ณ์์ ๊ฐ๋ฐ์์ ๋น์ฆ๋์ค์ ํ์ ์ค์ด์ฃผ๋ ์ต์ ๊ฐ์ ์ฌํญ๊ณผ ๊ธฐ๋ฅ์ ์์๋ณด์ธ์.

์ด๋ฒ ๋ฌ์๋ AppMaster ์ฌ์ฉ์๋ฅผ ์ํ ๋ช ๊ฐ์ง ํ๋ฅญํ ์ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์ฌํญ์ ์๊ฐํ๊ฒ ๋์ด ๊ธฐ์๊ฒ ์๊ฐํฉ๋๋ค. ์ด๋ฒ 9์ ์ ๋ฐ์ดํธ๊ฐ ์ด๋ป๊ฒ ์ฑ ๊ฐ๋ฐ์ ๋์ฑ ์ฝ๊ณ ๊ฐ๋ ฅํ๊ฒ ๋ง๋๋์ง ์์๋ณด์ธ์.
AppMaster ๋ฅผ ํตํด ์ฑ ์ ์์ ๋ฏธ๋์ ๋ํด ์์๋ณด๊ณ ํํํด ๋ณด์ธ์!
๋ชจ๋ฐ์ผ ์์ ฏ
์ฐ๋ฆฌ๋ ์ฌ์ฉ์์๊ฒ ์ด๋ฌํ ํตํฉ ์ฑ ๊ตฌ์ฑ์์์ ๋ฏธ์ ์ธก๋ฉด๊ณผ ๊ธฐ๋ฅ์ ๋ํ ํฅ์๋ ์ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ก ์ค๊ณ๋ ์ผ๋ จ์ ์๋ก์ด ๋งค๊ฐ๋ณ์๋ฅผ ๋ชจ๋ฐ์ผ ์ฌ๋ผ์ด๋ ์์ ฏ์ ๋์ ํ๊ฒ ๋์ด ๊ธฐ์๊ฒ ์๊ฐํฉ๋๋ค. "active_track_color", "inactive_track_color" ๋ฐ "thumb_color"๋ผ๋ ๋งค๊ฐ๋ณ์๋ ์์ ฏ ์ฌ์ฉ์ ์ ์์ ๋ํ ํฌ๊ด์ ์ด๊ณ ๋ฏธ๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ด์งํ๊ธฐ ์ํด ์ ๋ต์ ์ผ๋ก ํตํฉ๋์์ต๋๋ค.
"active_track_color" ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ์ฌ๋ผ์ด๋ ํธ๋์ด ํ์ฑ ์ํ์ผ ๋ ์์์ ์ ์ํ์ฌ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ง๊ด์ ์ผ๋ก ๋ฐ์ํ๋ ๋์ ์ด๊ณ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ธ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ๋ฐ๋๋ก, "inactive_track_color" ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ผ์ด๋๊ฐ ๋นํ์ฑ ์ํ์ผ ๋ ํธ๋ ์์์ ์ง์ ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋์์ธ ๋ด์์ ์ผ๊ด์ฑ๊ณผ ์๊ฐ์ ์กฐํ๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค.
"thumb_color" ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ์ฌ๋ผ์ด๋ ์ธ์ด๋ ํธ๋ค์ ์์์ ๋ฏธ์ธ ์กฐ์ ํ์ฌ ์์ ฏ์ ๋ชจ์์ ๊ฐ์ธํ ๋ฐ ๊ฐ์ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ธ๋ฐํ ๋์์ธ ์ ์ด ์์ค์ ํตํด ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ฒฝํ๊ฒ ์๋ํ๊ณ ์ธ๋ จ๋๊ณ ์ ๋ฌธ์ ์ธ ์๊ฐ์ ์์ด๋ดํฐํฐ๋ฅผ ๋ฐ์ฐํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์๋ก์ด ๋งค๊ฐ๋ณ์๋ ๊ฐ๋ฐ์์ ๊ธฐ์ ์ ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ํ์ ๋๊ตฌ์ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ ค๋ ์ฐ๋ฆฌ์ ์ง์์ ์ธ ํ์ ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ฌํ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์์ฉํ๊ณ ์ฐฝ์์ ์ธ ์์ ฏ ๋์์ธ๊ณผ ๊ธฐ๋ฅ ๊ฐ๋ฅ์ฑ์ ์ด์ด ์ฑ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์๋ก์ด ์ฐจ์์ผ๋ก ๋์ด์ฌ๋ฆฌ์ธ์.
BP๋ฅผ ์ํ STF ์ด์
๋ํ ๋ฐฑ์๋์์ ๋น์ฆ๋์ค ํ๋ก์ธ์ค(BP)๋ฅผ ์ํ STF(Scheduled Task Force) ์์ ๊ตฌํ์ ๋ฐํํ๊ฒ ๋์ด ๊ธฐ์๊ฒ ์๊ฐํฉ๋๋ค. ์ด ์ ๋ต์ ์ถ๊ฐ๋ BP ์คํ์ ์ํด ์ฌ์ ์ ์๋ ์ผ์ ์ ํ์ฉํ๊ณ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ํํ๋ฉฐ ์์ฐ์ฑ์ ํฅ์์์ผ ํ๋ซํผ์ ์ด์ ํจ์จ์ฑ์ ํฅ์์ํต๋๋ค.
์ด๋ฒ ์ ๋ฐ์ดํธ๋ ๊ธฐ์ ๋ํฅ์ ์ ๋ํ๊ณ ์งํํ๋ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ ์ ์๋ ์ต์ฒจ๋จ ์๋ฃจ์ ์ ์ ๊ณตํ๋ ค๋ ์ฐ๋ฆฌ์ ๋ ธ๋ ฅ์ ๊ฐ์กฐํฉ๋๋ค. ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์๋ํํ๊ณ ์ต์ ํํ๋ ค๋ฉด ์ด ๊ธฐ๋ฅ์ ํ์ฉํ์ญ์์ค.
iOS์ ์๋ก์ด ๊ธฐ๋ฅ
์ต์ AppMaster ์ ๋ฐ์ดํธ๋ iOS ๊ฐ๋ฐ ํดํท์ ์ผ๋ จ์ ์๋ก์ด ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ํฅ์๋ ๊ธฐ๋ฅ์ ํตํด ๊ฐ๋ฐ์๋ iOS ํ๋ซํผ์ ์ํ ๋์ฑ ๊ธฐ๋ฅ์ด ํ๋ถํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
- BLE(Bluetooth Low Energy) ์ง์: IoT ์ฅ์น์ ์ํํ ํตํฉ๊ณผ iOS ์ฑ์ ํฅ์๋ ์ํธ ์์ฉ์ ์ํ BLE ๊ธฐ๋ฅ์ ์๊ฐํฉ๋๋ค.
- ํฅ์๋ JSON ์ฒ๋ฆฌ: JSON ๋ฐ์ดํฐ ๊ตํ ๋ฐ ์กฐ์์ด ๊ฐ์ํ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ ์์ ์ด ๋จ์ํ๋ฉ๋๋ค.
- ๋ฆฌํฉํฐ๋ง๋ ์ ๋ ฅ ๋ฉ์ปค๋์ฆ: ์ฌ์ฉ์ ์นํ์ ์ธ ์ ๋ ฅ ๋ฉ์ปค๋์ฆ์ด ํฅ์๋์ด iOS ์ฑ ์ ์ฒด์ ์ ์ฉ์ฑ์ด ํฅ์๋์์ต๋๋ค.
- ํ๋ฉด์ฉ ๋น์ฆ๋์ค ํ๋ก์ธ์ค(BP) ๋ธ๋ก: ์ฌ์ฉ์๋ BP ๋ธ๋ก์ ํตํด ์ํฌํ๋ก๋ฅผ ๊ฐ์ํํ๊ณ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ฌ ์์ฐ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
- ์ฐจํธ ํตํฉ: ๋ฐ์ดํฐ ์๊ฐํ๋ฅผ ์ํ ์ฐจํธ ํตํฉ์ ๋จ์ํํ์ฌ iOS ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ์ฌ์ฉ์ ์ฐธ์ฌ๋ฅผ ๊ฐํํฉ๋๋ค.
- BP ๋ธ๋ก์ด ํฌํจ๋ ์๋ช ํจ๋: ์ฌ์ฉ์์๊ฒ ์๋ช ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ iOS ์ฑ์ ์ํธ ์์ฉ ์ต์ ์ ๋์ฑ ํ์ฅํฉ๋๋ค.
์ด๋ฌํ ์ ๋ฐ์ดํธ๋ iOS ๊ฐ๋ฐ์์๊ฒ ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๋ ๊ฐ๋ ฅํ ํดํท์ ์ ๊ณตํ์ฌ ๊ทธ๋ค์ด ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ์ ๋์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ผ๋ฐ ์ ๋ฐ์ดํธ
- ์น ์ฑ์ WSS: ์น ์ ํ๋ฆฌ์ผ์ด์ ์ WSS(์น ์์ผ ๋ณด์)๋ฅผ ๋ํญ ๊ฐ์ ํ์ฌ ๋ฐ์ดํฐ ์ํธํ ๋ฐ ์ธ์ฆ์ ๊ฐํํ์ต๋๋ค. ์ด๋ฌํ ์ ๋ฐ์ดํธ๋ ๋ฐ์ดํฐ ๋ณด์ ๋ฐ ๋ณดํธ์ ๋ํ ์ฐ๋ฆฌ์ ์ฝ์์ ๊ฐ์กฐํ์ฌ ๋ณด๋ค ์์ ํ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํฉ๋๋ค.
- Docker ์ปจํ ์ด๋: ๋ชจ๋ ๊ฒ์ Docker ์ปจํ ์ด๋๋ก ์ด๋ํ์ฌ ์ฑ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์ ๊ทธ๋ ์ด๋ํ์ต๋๋ค. ์ด๋ ๋น๋ ์๋์ ๋ด๊ฒฐํจ์ฑ์ ๋ชจ๋ ํฅ์์ํต๋๋ค. ์ด์ AppMaster ์ฌ์ฉ์๋ ๋ ๋น ๋ฅธ ๊ฐ๋ฐ๊ณผ ํฅ์๋ ์์ ์ฑ์ ๋๋ฆด ์ ์์ต๋๋ค.
- ์ด๊ฑฐํ ๋ณ๊ฒฝ ์ฌํญ: ์ด๊ฑฐํ ์๋ณ์๊ฐ ์ด์ ๋ฌธ์์ด ํ์์ผ๋ก ์ ํ๋์์ต๋๋ค. ์ด ์ ๋ฐ์ดํธ๋ ์ฝ๋ ๋ช ํ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ ํฅ์์์ผ ๊ฐ๋ฐ์๊ฐ ๋ณด๋ค ์ง๊ด์ ์ด๊ณ ํํ๋ ฅ์ด ํ๋ถํ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์๋๋ก ํด์ค๋๋ค.
- ์๋ํฌ์ธํธ: ์ผ๊ด์ฑ์ ์ํด endpoints ์ ๋ฐ์ดํธํ์ต๋๋ค. ์ด์ URL ๋์ ์ฌ๋์๊ฐ ์๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ์๋ฒ๊ฐ ์ผ๊ด๋๊ฒ ์๋ตํฉ๋๋ค. ์ด๋ฌํ ๋ณํ๋ API ์ํธ ์์ฉ์ ๋จ์ํํ์ฌ ๋ ์ํํ๊ณ ์์ธก ๊ฐ๋ฅํ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํฉ๋๋ค.
์ต์ ์ฑ ๊ฐ๋ฐ์ ์งํํ๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ธฐ ์ํด ํ๋ซํผ์ ๊ธฐ๋ฅ์ ์ง์์ ์ผ๋ก ํฅ์์ํค๋ ๋์ ๋์ฑ ํฅ๋ฏธ๋ก์ด ์ ๋ฐ์ดํธ๋ฅผ ๊ณ์ ์ง์ผ๋ด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.


