JavaFX ๊ธฐ๋ฐ Local-First ํ ๋คํธ์ํฌ ํ ํด๋ก์ง ๋ถ์ ๋๊ตฌ ์ค๊ณ
๐ Real-Life Debugging Story + Home Network Analysis: Peekyport ๐ซฃ
AI ์์ฝ
Context
์์ฉ ๋คํธ์ํฌ ๋ถ์ ๋๊ตฌ์ ๋์ ๋น์ฉ๊ณผ ๋ณต์ก์ฑ์ผ๋ก ์ธํ ์ง์ ์ฅ๋ฒฝ ์กด์ฌ. ๊ฐ์ธ ํ ๋คํธ์ํฌ ๋ณด์ ๊ฐ์์ฑ ํ๋ณด๋ฅผ ์ํด ๋ก์ปฌ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ ๊ฒฝ๋ ๋ถ์ ํ๊ฒฝ ํ์์ฑ ๋๋.
Technical Solution
- JavaFX ๊ธฐ๋ฐ Thick-client ๊ตฌ์กฐ ์ค๊ณ๋ฅผ ํตํ Direct OS Integration ๋ฐ ์ต์ ์์กด์ฑ footprint ๊ตฌํ
- Nmap ๋ฐ tshark ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํตํฉ์ ํตํ Lightweight ๋ฐ Deep Scan ๋ชจ๋ ๋ถ๋ฆฌ ์ด์
- pcap ํ์ผ ์ํฌํธ ๊ธฐ๋ฅ์ ํตํ ์ฝ 2,000๊ฐ ํจํท ๋จ์์ ํธ๋ํฝ ๋ถ์ ๋ฐ ๋๋ฐ์ด์ค ๊ฐ ํต์ ๊ฐ์ํ
- ์ธต๋ณ ๋ ์ด์ด ๊ฐ๋ ์ ๋์ ํ Draggable Topology ์ธํฐํ์ด์ค๋ก ๋ฌผ๋ฆฌ์ ๋คํธ์ํฌ ๊ตฌ์กฐ ๋งคํ
- Local Storage ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ก ์ธ๋ถ ์๋ฒ ์ ์ก ์๋ ๋ณด์ ์ค์ฌ์ ๋ฐ์ดํฐ ๊ฒฉ๋ฆฌ ํ๊ฒฝ ๊ตฌ์ถ
์ค์ฒ ํฌ์ธํธ
1. ๋คํธ์ํฌ ์ค์บ ๋ฒ์์ ๋ฐ๋ผ Lightweight์ Deep Scan ๋ชจ๋๋ฅผ ๋ถ๋ฆฌํ์ฌ ๋ฆฌ์์ค ํจ์จ์ฑ ํ๋ณด
2. pcap ํ์ผ ๋ถ์ ์ ๋ถ์ ๋์ ํจํท ์๋ฅผ ์ ํํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ถํ ๋ฐฉ์ง ๋ฐ ์ฒ๋ฆฌ ์๋ ์ต์ ํ
3. ๋ฌผ๋ฆฌ์ ํ๊ฒฝ(์ธต, ๋ฐฉ)์ ๋ฐ์ํ Topology UI ์ค๊ณ๋ฅผ ํตํด ๋คํธ์ํฌ ๋ ผ๋ฆฌ ๊ตฌ์กฐ์ ์ง๊ด์ ํ์ ์ ๋
4. Local-first ๋ฐ์ดํฐ ์ ์ฅ ์ ๋ต์ ํตํด ํ ๋คํธ์ํฌ ๋ฏผ๊ฐ ์ ๋ณด์ ์ธ๋ถ ์ ์ถ ์ฐจ๋จ