ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, Javascript. ํน์ ํ ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฐ ์์ด ์ธ์ด์ ์ ์ฝ์ ์์ง๋ง, ๊ฐ๋ฐ ๋ชฉ์ ์ ๋ฐ๋ผ ํนํ๋ ์ธ์ด๋ ์กด์ฌํ๋ค. C#์ ์๋์ฐ์ฆ ๊ฐ๋ฐ, Java๋ ์ฌ์ด ์ฝ๋์ ์์ ์ฑ ๋ฒ์ฉ์ฑ, Python์ ML. JavaScript๋ ์น์ด๋ค.
ํ๋์ ์ฐ์ ์ ์น์์ ์์ํด, ์น์ผ๋ก ๋๋๋ค. ๊ทธ๋งํผ ์ธํฐ๋ท๊ณผ ์น์ ๋ฒ์๋ ์๋นํ๊ณ ๋ ์ค์ํ๋ค. ๋๋ถ๋ถ์ ์ ์์๊ฑฐ๋๊ฐ ์ธํฐ๋ท์ผ๋ก ์ด๋ฃจ์ด์ง ๋งํผ, ๊ฐ๋ฐ์๋ ์ฌ์ฉ์์๊ฒ ํ์ํ ๊ธฐ๋ฅ์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์ ๊ณตํด์ผ ํ๋ค. ๊ฐ๋ฐ์๊ฐ ์ ํํ ์ ์๋ ํ๋ซํผ์ ๋ ๊ฐ์ง๋ค. ์น์ด๋ ์ฑ์ด๋. ์ฑ ๊ฐ๋ฐ์ ๊ฐ๋ฐ ๋น์ฉ์ด๋ ๋ณต์ก์ฑ๋งํผ์ด๋, ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ธฐ๋ ์ด๋ ต๋ค. ๋ฐฐํฌ๋ ์น๋งํผ ๊ฐํธํ์ง ์๋ค. ์ฌ์ง์ด ํ๋ซํผ ์ ์์๊ฒ ์ฌ์ฌ๊น์ง ๋ฐ์์ผ ํ๋ค. ๋ฐ๋ฉด ์น ๊ฐ๋ฐ์๋ ์ ํ์์๊ฐ ์๋ค. ๊ทธ๋๋ง ์๋ฒ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค๋ ๊ฒ ์ ํ์์๋๊น. ๊ทธ๋ง์ ๋ ํด๋ผ์ฐ๋, ์๋ฒ๋ฆฌ์ค ์๋๊ฐ ์ด๋ฆฌ๋ฉฐ ์น ๊ฐ๋ฐ์ ๋ ์ฌ์์ง๋ ์ถ์ธ๋ค.
์น์ ๋ฌด์กฐ๊ฑด JavaScript๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ์น ๋ธ๋ผ์ฐ์ ๋ ์ค์ง JS๋ง ํด์ํ ์ ์๋ค. ์น์ JS์์ด ๋ฌด์ฉ์ง๋ฌผ์ด๋ค. ํํธ์ผ๋ก ์น ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ํด์ ๋ฌด์กฐ๊ฑด JS๋ง ์จ์ผ ํ๋ค๋ ๊ฒ ์ ์ฝ์ฌํญ์ผ์ง ๋ชจ๋ฅด๋, JS๋ง ์์๋ ์น ๊ฐ๋ฐ์ ๋๋ถ๋ถ์ ๋ง๋ค์ด๋ผ ์ ์๋ค. ์๋, 100%๋ฅผ JS ์ธ์ด ํ๋๋ก ์ปค๋ฒํ ์ ์๋ค. ๊ทธ๋งํผ ์น์์์ JS์ ์
์ง๋ ๋จ์ฐ ๋
๋ณด์ ์ด๋ค.
๊ทธ๋ฌ๋ค๋ณด๋ ๊ฐ๋ฐ์๋ค์ JS๋ก ์ฌ๋ฏธ๋ ํ๋ก์ ํธ๋ค์ ๋ง๋ค์ด๋ธ๋ค. ์ด ํฌ์คํธ์์๋ JS๋ก ํ ์ ์๋ ์ฌ๋ฏธ๋ ํ๋ก์ ํธ, ์ ๋ฐํ ํ๋ก์ ํธ๋ค์ ์๊ฐํด๋ณด๋ ค๊ณ ํ๋ค. ์, ์ฐธ๊ณ ๋ก ์น์ฌ์ดํธ ๊ฐ๋ฐ์ ์ ์ธํ๋ค. (๋๋ฌด ๋ปํ์์)
0. ๋๋ถ๋ถ์ ์น์ฌ์ดํธ
์์ํ๋๊ฑด ๋๋ถ๋ถ ๊ฐ๋ฅํ๋ค. ์ด ํฌ์คํธ์์ ๋ค๋ฃจ์ง๋ ์๊ฒ ์ง๋ง, JS๋ ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ๋ฅผ ์ ์ํ ๋ ์ฒ์ ๋ง์ฃผํ๋ ํ๋ฉด์ ๋ด๋นํ๊ณ ์๊ณ , Node๋ฅผ ํ์ฉํด์ ์๋ฒ ์ธก ์ธ์ด๋ก๋ ํ์ฉํ ์ ์๋ค.
1. ๊ฒ์ ๊ฐ๋ฐ
JS์๋ ๊ฐ๋ ฅํ Canvas๋ฅผ ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ๊ณตํ๋ค. Canvas๋ ํฝ์ ๋จ์๋ก ํธ์งํ ์ ์๊ณ ๋ค์ํ ๊ทธ๋ฆฌ๊ธฐ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค. ๋ณ๋์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด๋ ๊ฐ๋จํ ์ฝ๋ฉ ์ง์๋ง ์๋ค๋ฉด ์ง๋ ์ด๊ฒ์, ํ ํธ๋ฆฌ์ค๋ฑ์ ์ฝ๊ฒ ๋ง๋ค์ด๋ผ ์ ์๋ค. ๊ทธ๋ ๋ค๊ณ 2D๊ฒ์๋ง ๋ง๋ค ์ ์์ง๋ ์๋ค. 3D๊ฒ์ ๋ํ ์ง์ํ๋ค. ThreeJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํด์ ๊ฐ๋จํ FPS๊ฒ์, ํญ์คํฌ๋กค๊ฒ์๋ฑ์ ๋ง๋ค์ด๋ผ ์ ์๋ค. ํ๋ คํ ๊ทธ๋ํฝ๋ ๋ฌผ๋ก ๊ฐ๋ฅํ๋ค.
์๋ ์์์ ๋์ค๋ ํ๋ฉด ๋ํ ThreeJS๋ก ๊ตฌํํ ์น์ฌ์ดํธ๋ค.
https://www.youtube.com/watch?v=F78qEg68Fzs&ab_channel=%EB%8B%AC%EA%B1%B0%EB%B6%81%EC%9D%B4
2. ํฌ๋ก์ค ํ๋ซํผ ๋ฐ์คํฌํฑ ๊ฐ๋ฐ
Electron. ์ ๋ง ์ฝ๊ฒ JS๋ง์ผ๋ก๋ ๋ฐ์คํฌํฑ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค. ์๋์ฐ, ๋งฅ, ๋ฆฌ๋ ์ค๊น์ง ์ง์ํ๋ค. ํ์๋ ์์ํธ์ง ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ๊ณ ์๊ณ , ๋ฌด์๋ณด๋ค ๊ฐ๋ฐ์ ์ค์ค๋ก ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฐ ์์ด ๋ถ๋ด์ด ๋ํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ดํฐ๋ธ์์ ์ง์ํ๋ ๊ธฐ๋ฅ์ ๋๋ถ๋ถ ์ฌ์ฉํ ์ ์๊ณ , ์๋ ์ํํธ์จ์ด ์ ๋ฐ์ดํธ, ์ธ์คํจ๋ฌ, ๋ฐฐํฌ, ๋ฒ๊ทธ ๋ฆฌํฌํธ ๋ฑ์ ๋ณ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์ผ๋ ํธ๋ก ์ ํ์ฉํด์ ๊ฐ๋ฐํ ์ํํธ์จ์ด๋ ๋์ค์ฝ๋, ํผ๊ทธ๋ง, Vscode ๋ฑ์ด ์๋ค.
3. ๋จธ์ ๋ฌ๋
TensorflowJS, BrainJS ๋ฑ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฑ์ ํ์ฉํ๋ฉด CNN์์ ์ ๊ฐ์ ์ ์ ํ๋ผ๋ฏธํฐ๋ก๋ ์ถฉ๋ถํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ์ ์๋ ๋จธ์ ๋ฌ๋ ์ ๊ฒฝ๋ง์ ํ์ตํ๊ณ ํ์ต๋ ๋ชจ๋ธ์ ์คํ์์ผ ๋ณผ ์ ์๋ค. ์์ง ์ฑ๋ฅ์์ ์ ์ฝ์ด ์์ง๋ง, NPU์ ๋ฐ์ , ๋ชจ๋ฐ์ผ ML ์ฑ๋ฅ์ ํฅ์๋ฑ์ผ๋ก ์ธํด ์๋นํ ๊ฐ์ ์์ ์ด ์ด๋ฃจ์ด์ง๊ณ ์๋ค. ์ด ๋ถ์ผ์์ ํ์๊ฐ ๋์ค์ฝฐ์ด์์ ์์ฑํ ํฌ์คํธ๊ฐ ์์ผ๋ ํ๋ฒ ๋๋ฌ๋ณด์๊ธธ ๊ถํ๋ค.
https://disquiet.io/@hhj/makerlog/6311
์๋ ๊ทธ๋ฆผ์ ๊ตฌ๊ธ mediapipeํ์์ ์ ๋ณด์ธ ๋จธ์ ๋ฌ๋ ์๋ฃจ์ ์์ ์ด๋ค.
4. ์ฑ ๊ฐ๋ฐ
์์ JS๋ก ๊ฐ๋ฐํ๊ธฐ๋ ์ด๋ ต์ง๋ง ์น๋ทฐ๋, RN ๊ฐ์ ์ธ๋ถ ๋๊ตฌ๋ฅผ ํ์ฉํ๋ฉด ์ผ๋ง๋ ์ง ๊ฐ๋ฐํ ์ ์๋ค. ๊ทธ์ค์์๋ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๊ฐ ๊ฐ์ฅ ์ ๋ช
ํ๋ฐ, ๋ฆฌ์กํธ์ ๋ฌธ๋ฒ์ ๊ทธ๋๋ก ๋ฐ๋ฅด๋ ๋ง์ ๋ณํ ์์ด ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋๋ก ๋์์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ ๋ฐฐํฌํ ๋์ฏค ๋๋ฉด ๊ณจ๋จธ๋ฆฌ ์ฉ๋๋ค. ํ์๋ 2~3๋ฒ RN์ผ๋ก ์ฑ์ ์ถ์ํด ๋ณธ ๊ฒฝํ์ด ์๋๋ฐ ์ฐ์ ์๋๋ก์ด๋ ์ฑ์ผ๋ก ํฌํ
ํ๋ ค๋ฉด ์๋๋ก์ด๋ SDK๊ฐ ํ์์ ์ด๊ณ SDK๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ฌด๊ฑฐ์ด ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ๋ฐ๋ก ์ค์นํด์ฃผ์ด์ผ ํ๋ค. ๊ฐ๋ฐ์ ์ํ ํ๊ฒฝ์ค์ … ์ง๋ฃจํ๊ธฐ ์ง์ด ์๋ค.
์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Flutter๊ฐ ๋จ๊ณ ์๋ค์ง๋ง, JS๊ฐ ์๋๊ธฐ์ pass.
RN์ผ๋ก ๋ง๋ ํ๋ก์ ํธ๊ฐ ๊ถ๊ธํ๋ค๋ฉด ์๋ ์ฌ์ดํธ ์ฐธ๊ณ . ๋์ค์ฝ๋(์ JS์ฌ๋), ํ์ด์ค๋ถ, MS์คํผ์ค๋ฑ์ด ํ์ฉํ๊ณ ์๋ค.
https://reactnative.dev/showcase
5. ํฌ๋กฌ ์ต์คํ ์
ํฌ๋กฌ์ ๋ธ๋ผ์ฐ์ ์ ์ ์จ์ 64%(2020)๋ค. ๊ทธ์ผ๋ง๋ก ๋
๋ณด์ ์ธ ์์น๋ผ ํ ์ ์๋๋ฐ, ๊ทธ๋งํผ ํฌ๋กฌ ์ต์คํ
์
์ ํ์ฉ๋๋ ์ฅ๋ ์๋๋ค. DOM์ ๊ฑด๋๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ์น์ฌ์ดํธ ๋ด์ ๋ฌด์์ด๋ ๋ฐ๊พธ๊ฑฐ๋ ์์ ํ ์ ์๋ค. ์ด๋ฅผ ํ์ฉํ ๋ํ์ ์ธ ํ๋ก์ ํธ๊ฐ ์ ๋๋ธ๋ก.
'๐ป๊ธฐ์ > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ์ ๊ฐ๋ฐ์๋ฅผ ์ํ JavaScript ๊ธฐ์ด ๋ฉด์ ์ง๋ฌธ (2024๋ ) (31) | 2024.02.28 |
---|---|
[ ThreeJS ] OBJLoader object ์์น ์ด๋ (0) | 2022.04.21 |
[ NodeJS ] javascript-obfuscator ์๋ฐ์คํฌ๋ฆฝํธ ๋๋ ํ (0) | 2021.12.24 |
[ PeerJS ] WebRTC ๋ฅผ ํธํ๊ฒ ๋ค๋ค๋ณด์ (0) | 2021.11.18 |
[ Javascript ] Solvedac API๋ก ๋ฐฑ์ค ์ฌ์ฉ์ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ (1) | 2021.09.29 |