- ํ์ค ์๊ฐ : ์จํํธ์ ์ต์ํด์ง ํ๋์ธ์ ์ํ
์น ํ์ ๊ฒ์
์๋น์ค - ์๋น์ค ๋ช : ๋๋(Narang)
- ์ํ๊ธฐ๋ฅผ ๋ง์ดํ ํ์๋ค
- ํํ๋ก์ ํธ, ๋จ์ฒด์ํ์ ์์ํ๊ฒ ๋ ์ฌ๋๋ค
- COVID-19๋ก ์ธํด์ ํจ๊ป ์ผํ ์ ์๊ฒ ๋ ์ฌ๋๋ค
๐ ํ ๋น๋ฉ์ด ํ์ํ ๋ชจ๋ ์ฌ๋๋ค
์ฐ๋ฆฌ๋ ํ๋ก์ ํธ๋ ๋จ์ฒด ํ๋์์ ๋ชจ๋ฅด๋ ์ฌ๋๋ค๊ณผ ํ์ ๊พธ๋ ค ์ผ์ ์์ํ ๋ ์ด์ํจ์ ๋๋ผ๊ณค ํฉ๋๋ค. ๋๋
์ ์ด๋ฌํ ์ด์ํจ์ด ์ ๋๋ก ํด์๋์ง ์๊ณ , ํ๋ก์ ํธ๋ฅผ ์งํํ์ ๋ ์๊ธฐ๋ ๋ฌธ์ ์ ์ง์คํ์ต๋๋ค.
์ด ์ด์ํจ
์ ์๋ก์๊ฒ ์ค๋ก๊ฐ ๋ ๊น๋ด ์๊ฒฌ์ ์ ์ํ์ง ๋ชปํ๊ฑฐ๋, ์ํ์ง ์๋ ์๊ฒฌ์ ์ด์ฉ์ ์๊ฒ ๋์ํ์ฌ ํ๋ก์ ํธ์ ์งํ ๊ณผ์ ๊ณผ ์ฑ๊ณผ์ ๋ถ์ด์ต์ ์ด๋ํฉ๋๋ค.
๋ฐ๋ฉด ์ ์ ํ ์์ด์ค๋ธ๋ ์ดํน
์ผ๋ก ํ์๋ค๊ฐ์ ์น๋ฐ๊ฐ์ด ์๋ ์ํ์์ ํ๋ก์ ํธ๊ฐ ์งํ๋๋ฉด *1)์ผ์ ์ฑ๊ณผ๊ฐ ๋ ๋๊ณ , *2)์์ฌ๊ฒฐ์ ์ ๊ธ์ ์ ์ธ ๊ฒฐ๊ณผ๊ฐ ์๋ค๊ณ ํฉ๋๋ค.
์ฒ์ ํ์ ์ด๋ฃฌ ์ฌ๋๋ค์ด ํจ๊ณผ์ ์ผ๋ก ์์ด์ค๋ธ๋ ์ดํน์ ํ๊ฒ ํ์
- ๋น๋๋ฉด ์ํฉ์์ ์ง์ ๋ง๋์ง ์๊ณ ๋ ์ฆ๊ธธ ์ ์๋ ์จ๋ผ์ธ ์น ํ์ ๊ฒ์
- ๊ฐ๋จํ ๊ฒ์์ผ๋ก ์๋ก๋ฅผ ๋ ์ ์์๊ฐ๊ณ , ์์ด์ค๋ธ๋ ์ดํน์ ํจ๊ณผ
์์๋๋ก ํ, ๋ง์ดํ์ด์ง, ๋๊ธฐ์ค, ๊ฒ์๋ฐฉ, ๊ทธ๋ฆฌ๊ณ ๋งํผ์์ ์ฝ๋ง์ด๋ค์ ์์ฐ ์์์ ๋๋ค.
๐ ์์ฐ์์ youtube ๐
๐ ์ฐ์์ ๋ฐํ ์์ youtube ๐
WebRTC (Web Real-Time Communication)๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ์ ํ๋ฌ๊ทธ์ธ์ ๋์ ์์ด ์๋ก ํต์ ํ ์ ์๋๋ก ์ค๊ณ๋ API์ด๋ค.
W3C์์ ์ ์๋ ์ด์์ด๋ฉฐ, ์์ฑ ํตํ, ์์ ํตํ, P2P ํ์ผ ๊ณต์ ๋ฑ์ผ๋ก ํ์ฉ๋ ์ ์๋ค.
๐ ์ข ๋ ์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ
openVidu ๐
OpenVidu is a platform to facilitate the addition of video calls in your web or mobile application. It provides a complete stack of technologies very easy to integrate in your application. Our main goal is to allow developers to add real-time communications to their apps very fast and with low impact in their code.
WebRTC๋ฅผ ๋ณด๋ค ๊ฐ๋จํ๊ฒ ์ ์ฉํ ์ ์๊ณ , ๋ค์ํ ํ๋ ์์ํฌ์ ํธํ์ฑ์ด ๋์ openvidu๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์งํํ์ต๋๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์ openvidu tutorail ๋๋, ํ๋ก์ ํธ์ front ํด๋ ํ์์ gameroom ๋ฑ์์ ํ์ธ ํ ์ ์์ต๋๋ค.
๋๋
์์๋ ํ์ ํตํ๋ฅผ ๊ฐ๋ฅ์ผ ํ๊ธฐ ์ํด openvidu๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฒ์๋ฐฉ, ๋งํผ์, ๊ทธ๋ฆฌ๊ณ ์ฝ๋ง์ด๋ค์ ์ปดํฌ๋ํธ์์ openvidu๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ์ ๋น๋์ค ์คํธ๋ฆผ์ ์ง์ํ์ฌ ์ค์๊ฐ ์์ ํตํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์น์์ผ(WebSocket)์ ํ๋์ TCP ์ ์์ ์ ์ด์ค ํต์ ์ฑ๋์ ์ ๊ณตํ๋ ์ปดํจํฐ ํต์ ํ๋กํ ์ฝ์ด๋ค. ์น์์ผ ํ๋กํ ์ฝ์ 2011๋ IETF์ ์ํด RFC 6455๋ก ํ์คํ๋์์ผ๋ฉฐ ์น IDL์ ์น์์ผ API๋ W3C์ ์ํด ํ์คํ๋๊ณ ์๋ค. (์ด๋ฏธ์ง ์ถ์ฒ : http://www.secmem.org/blog/2019/08/17/websocket-socketio/)
์ผ๋ฐ์ ์ธ Ajax
ํต์ ๊ณผ ๋ค๋ฅด๊ฒ, ํน์ end point
๋ฅผ ๊ตฌ๋
ํ๋ฉด ์ข
๋จ์ง์ ๊ณผ ์ฐ๊ฒฐ๋ ๋ชจ๋ ํต์ ์ ์์ ํ ์ ์์ผ๋ฉฐ, ์ค์๊ฐ ์ํต์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋์ ์ค์๊ฐ ์ฑํ
๋ฑ์ ๋ง์ด ํ์ฉ๋๊ณ ์์ต๋๋ค. ์๋ ์ด๋ฏธ์ง๋ฅผ ํตํด ํต์ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ ์ดํดํ ์ ์์ต๋๋ค.
SockJS ๐
SockJS๋ WebSocket๊ณผ ์ ์ฌํ ๊ฐ์ฒด๋ฅผ ์ ๊ณตํ๋ ๋ธ๋ผ์ฐ์ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. SockJS๋ ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ์ฌ์ด์ ์งง์ ๋๊ธฐ ์๊ฐ, ์ ์ด์ค, ๋๋ฉ์ธ ๊ฐ ํต์ ์ฑ๋์ ์์ฑํ๋ ์ผ๊ด๋ ๋ธ๋ผ์ฐ์ ๊ฐ Javascript API๋ฅผ ์ ๊ณตํฉ๋๋ค.
์์ผ ํต์ ์ ๊ฐ๋ฅ์ผํ๊ธฐ ์ํ ์ฒซ ๋ฒ์งธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. SockJS
๋ก ํต์ ์ ํ์ํ end point
๋ก socket
๊ฐ์ฒด๋ฅผ ๋ฅผ ์์ฑํฉ๋๋ค.
Stomp.js ๐
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด WebSocket์ ํตํด STOMP ๋ธ๋ก์ปค์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ชจ๋ ํ์ฌ ํ๋กํ ์ฝ ๋ณํ์ ํฌํจํ์ฌ ์์ ํ STOMP ์ฌ์์ ์ง์ํฉ๋๋ค. ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ฉ์์ง ๋ธ๋ก์ปค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ WebSocket์ ํตํด STOMP ๋ฐ STOMP๋ฅผ ์ง์ํฉ๋๋ค.
์์ผ ํต์ ์ ๊ฐ๋ฅ์ผํ๊ธฐ ์ํ ๋ ๋ฒ์งธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. Stomp.js
๋ก ์์ฑ๋ socket
๊ฐ์ฒด๋ก๋ถํฐ stompClient
๋ฅผ ์์ฑํ๊ณ , ์ฐ๊ฒฐ ๋ฐ ๊ตฌ๋
, ์ ์กํฉ๋๋ค. ํ๋ก ํธ์์ ์์ผ์ ํตํด ์ ์ก๋ ๋ด์ฉ์ ๋ฐฑ์๋์์ ๋์ผํ endpoint๋ก ์ผ๊ด์ ์ผ๋ก ์์ ๋๋ฉฐ, ๋ฐฑ์๋์์ ์ด๋ฅผ ๋ค์ ํ๋ก ํธ๋ก ์ ๋ฌํฉ๋๋ค. ์ฑํ
์์ผ์ ๊ฒฝ์ฐ ์ถ๊ฐ์ ์ธ ์ฒ๋ฆฌ ์์ด ๋ฐ์ ๋ด์ฉ์ ๊ทธ๋๋ก ๋ชจ๋ ๊ตฌ๋
์์๊ฒ ๋ฐํํ๊ณ , ํฌํ๋ฑ ์ง๊ณ๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ ๋ฐฑ์๋์์ ๋ก์ง์ ํตํ ์ฒ๋ฆฌ ํ์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํฉ๋๋ค.
๋๋
์์๋ ์ฑํ
๊ณผ ๊ฒ์์ ์ค์๊ฐ ์ํ ๊ณต์ ๋ฐ ์งํ์ web socket์ ์ฌ์ฉํฉ๋๋ค. ์๋ก ๋ค๋ฅธ ์ฌ๋ฌ๊ฐ์ endpoint
๋ฅผ ๊ตฌ๋
ํ๊ณ , ๊ฐ๊ฐ์ ์ญํ ์ ๋ง๋ ๋ก์ง์ ๋์ด ๊ฒ์์ ์งํํฉ๋๋ค. ์์ธํ ์ฝ๋๋ back
ํด๋ ๋ด์ websocket
์ ํ์ ํด๋๋ฅผ ํ์ธ ํ ์ ์์ต๋๋ค.
-
model
์์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ์ค์ ํฉ๋๋ค. -
controller
๋ ๊ฐendpoint
์ ๊ทธ์ ํด๋นํ๋ method๋ฅผ ์ ์ํฉ๋๋ค. -
request
์์๋ ํ๋ก ํธ๋ก ๋ถํฐ ์์ ํ ๋ฉ์์ง์ ํ์ ๋ณํํ๊ฑฐ๋, ํ์ํ ํ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค. -
response
์์๋ ๋ฆฌํดํด์ผํ message์ ๋ง๊ฒ ํน์ ๋ก์ง์ ์ฒ๋ฆฌํฉ๋๋ค. ์ฑํ ์ธ ๊ฒฝ์ฐ์๋ ๊ทธ๋๋ก ๋ฐํํ๊ณ , ํฌํ์ ๊ฒฝ์ฐ ์ง๊ณ ํ ๋ฐํํฉ๋๋ค.
๋๋
์์๋ ๊ฒ์์ ์ฌ๋ฏธ์ ๋ํ๊ณ , ๋๋
๋ง์ ์ฐจ๋ณ์ ์ ๊ฐ๊ธฐ ์ํด ๋ค์ํ API๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Teachable Machine ๐
Teachable Machine์ ๋๊ตฌ๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฝ๊ณ ๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ ๋ง๋ค ์ ์๋๋ก ์ ์๋ ์น ๊ธฐ๋ฐ API์ ๋๋ค. ํน์ ๋์, ์์, ์ด๋ฏธ์ง ๋ฑ์ ํ์ต์์ผ ์ด๋ฅผ ๋ชจ๋ธ๋ก ์ถ์ถํ์ฌ ํด๋ผ์ฐ๋์ ์ ๋ก๋ํ๋ฉด, ์ฝ๋๋ด์์ importํ์ฌ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋๋
์์๋ Teachable Machine
์ ์ฌ์ฉํ์ฌ ๋งํผ์ ํ๋ ๋ฏธ์
์ ์ฌ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํ๋จ์ Nafia
์์ ์ค๋ช
ํฉ๋๋ค.
face API ๐
JavaScript face recognition API for the browser and nodejs implemented on top of tensorflow.js core
๋๋
์์๋ face api
์ ๋ค์ํ ๊ธฐ๋ฅ ์ค ์ ์ด๋ฏธ์ง์ ์๋ 2๊ฐ์ง ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค. land mark
์ emotion detection
์ ์ฌ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํ๋จ์ ๊ฒ์ ์ปจํ
์ค์์ ์๊ฐํฉ๋๋ค.
Web Speech API ๐
์น ์์ฑ API๋ ์ฌ์ฉ์๊ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑ ๋ฐ์ดํฐ๋ฅผ ํตํฉ ํ ์ ์์ต๋๋ค. Web Speech API๋
SpeechSynthesis
(ํ ์คํธ ์์ฑ ๋ณํ) ๋ฐSpeechRecognition
(๋น๋๊ธฐ ์์ฑ ์ธ์ )์ ๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ ๋ฉ๋๋ค.
Web Speech API๋ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉ ๊ฐ๋ฅํ api๋ก ๋ณ๋์ import ์์ด ๋ช ์ค์ ์ฝ๋๋ง์ผ๋ก ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ ์ ์๋ ์ข์ API์ ๋๋ค. ์ฌ์ฉํด๋ณผ ๊ฒ์ ๊ฐ๋ ฅํ ์ถ์ฒํฉ๋๋ค. ๋์ ์ธ์๋ฅ ๊ณผ ๋น ๋ฅธ ๋ฐ์์ฑ์ ๋ณด์ด๋ ์ข์ API์ ๋๋ค. ๋ค๋ง ์ด์ดํฐ ๋ฑ ๋ง์ดํฌ๊ฐ ์์ผ๋ฉด ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด ์ญ์ ๊ฒ์ ๋ด ํ์ฉ์ ์๋์์ ๊ธฐ์ ํฉ๋๋ค.
์ค์ ๊ฒ์ ์งํ ๋ฐฉ๋ฒ๊ณผ ๊ณผ์ ์ ๋ํ ์์์ ์ฌ๊ธฐ์ ํ์ธ ํ ์ ์์ต๋๋ค
๋งํผ์ ํ๋ ๋ฏธ์ ์ ๋งํผ์์๊ฒ๋ง ์ฃผ์ด์ง๋ ๋ฏธ์ ์ ๋๋ค. ๋งํผ์๋ ๋ฎ๋์ ์์ ์๊ฒ ์ฃผ์ด์ง ๋ฏธ์ ์ ์ํํด์ผํฉ๋๋ค. ๋ง์ฝ ๋ฏธ์ ์ ์ํํ์ง ๋ชปํ ๊ฒฝ์ฐ ๋ฐค์ด ๋์์ ๋ ์๋ฏผ์ ์ ๊ฑฐ ํ ์ ์์ต๋๋ค.
๋ฏธ์ ์ ๋ค์๊ณผ ๊ฐ์ด ํน์ ๋์์ ์ํํ๋ ๊ฒ์ ๋๋ค.
![๋งํผ์ ํ๋ ๋ฏธ์ ](README.assets/๋งํผ์ ํ๋ ๋ฏธ์ .gif)
ํ๋ ๋ฏธ์
์ ๋ํ ๋์ ์ธ์์ ์์ ๋งํ๋ teachable API
๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ ์ด๋ฏธ์ง๋ฅผ ํตํด ๋์์ ํ์ต์ํค๊ณ , ์ธ์ํ๋ ๊ณผ์ ์ ๋ณผ ์ ์์ต๋๋ค.
๊ด๋ จ ์ฝ๋๋ front
์ mafia.vue
์์ ํ์ธ ํ ์ ์์ต๋๋ค. ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋ ๋ชจ๋ธ์ ๊ฐ์ ธ์จ ํ, ์ด๋ฅผ ์ํ๋ ๋น๋์ค์ ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉํฉ๋๋ค. ๋์์ด ์ผ์นํ ๊ฒฝ์ฐ ์ผ์น๋ ์๊ฐ๋์์ ์นด์ดํธํ๊ณ ์นด์ดํธ๊ฐ ์ผ์ ํ์ ์ด์์ด ๋ ๊ฒฝ์ฐ ๋ฏธ์
์๋ฃ๋ผ๊ณ ํ๋จํฉ๋๋ค.
๐ฎ ์ด๋ฅผ ํตํด ๋งํผ์ ๊ฒ์ ์ํ ์ค ๋งํผ์์๊ฒ ํจ๋ํฐ๋ฅผ ๋ถ์ฌํ๊ณ , ์๋ฏผ์ด ๋งํผ์๋ฅผ ์ฐพ์๋ด๋ ๋ฐ ๊ฒฐ์ ์ ์ธ ํํธ๋ฅผ ์ฃผ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋งํผ์ ์ญํ ์ ๋ฐ์ ์ฌ๋์๊ฒ๋ ๊ฒ์์ ๋์ด๋๋ฅผ ์ ์ ํ ์กฐ์ ํ ์ ์์ผ๋ฉฐ, ๊ฒ์์ ์ฌ๋ฏธ๋ฅผ ๋ํ๋ ๊ธฐ๋ฅ์ ํฉ๋๋ค.
๊ฑฐ์ง๋ง ํ์ง ์์ดํ ์ ๋ชจ๋ ํ๋ ์ด์ด๊ฐ ์ฌ์ฉํ ์ ์๋ ์์ดํ ์ ๋๋ค. ํด๋น ์์ดํ ์ฌ์ฉ ๋ฒํผ์ ํด๋ฆญํ๊ณ , ํ์ฑํ๋ ์ํ์์ ์ํ๋ ์ฌ๋์ ๋น๋์ค๋ฅผ ํด๋ฆญํ๋ฉด 5์ด๊ฐ ํ์ ์ ๋ณํ๋ฅผ ๊ฐ์งํ์ฌ ์ ํ๋ ํ๋ ์ด์ด์ ๊ฑฐ์ง๋ง ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค. ๋์์ ์๋ ํ๋ฉด์ ํตํด ํ์ธํ ์ ์์ต๋๋ค.
๋๋
์ ๊ฑฐ์ง๋ง ํ์ง๋ฅผ ์ํด ์์์ ์ค๋ช
ํ face api
๋ฅผ ์ฌ์ฉํ์ต๋๋ค. face api์์๋ ๋น๋์ค ๋ด์์ ์ผ๊ตด์ ์ธ์ํ๊ณ , ์ผ๊ตด์์์ ํ์ ๋ณํ๋ฅผ ๊ฐ์งํ์ฌ ๋ฐํํ๋๋ฐ, ์ด๋ ํ์ ์ด ๋๋ฌด ์์ฃผ ๋ฐ๋๋ฉด ๊ฑฐ์ง๋ง๋ก ํ๋ณํ๊ฒ ํ์ต๋๋ค. ์ฝ์์์ ๋ณผ ์ ์๋ฏ์ด ์ผ๋ฐ, ํ๋ณต, ์ฌํ, ํ๋จ ๋ฑ๋ฑ์ ํ์ ์ ๋ถ๋ฅํ ์ ์์ต๋๋ค.
๊ด๋ จ ์ฝ๋๋ front
์ mafia ํ์์ OvVideo.vue
์์ ํ์ธ ํ ์ ์์ต๋๋ค. ๋น๋์ค์ faceAPI์ ๋ชจ๋ธ์ ๊ฐ์ ธ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ , ์ด๋ฅผ ํน์ ์๊ฐ๋์ ํ์ฑํํ์ฌ ์ธ์์ ์งํํฉ๋๋ค.
๐ฎ ์ด๋ฅผ ํตํด ๋งํผ์ ๊ฒ์ ์ํ ์ค ์๋ฏผ์ด ๋งํผ์๋ฅผ ์ฐพ์๋ด๋ ๋ฐ์ ๋์์ ์ฃผ์ด ๊ฒ์์ ์ฌ๋ฏธ ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๊ฑฐ์ง๋ง์ด๋ผ๊ณ 100% ์ ๋ขฐํ ์๋ ์๊ฒ ์ง๋ง, ์ฐธ๊ณ ์๋ฃ๋ก์ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ค์ ๊ฒ์ ์งํ ๋ฐฉ๋ฒ๊ณผ ๊ณผ์ ์ ๋ํ ์์์ ์ฌ๊ธฐ์ ํ์ธ ํ ์ ์์ต๋๋ค
๋ผ์ด๋๊ฐ ์์๋๋ฉด, ํ๋ ์ด์ด 2์ธ์ ์ ์์ด๋ฅผ ์ ํด์ผํฉ๋๋ค. ํ๋ฉด ์ฐ์ธก ์๋จ์ ์ ์์ด ํฌํ์ฐฝ์ ํตํด์ ๋ณธ์ธ์ ์ ์ธํ ๋ค๋ฅธ ํ๋ ์ด์ด์ ์ ์์ด ํฌํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. 1๏ธโฃ ์ ๋ ฅ์ฐฝ์ ์ ์์ด๋ฅผ ์ ๋ ฅํ์ฌ ์ ์์ด๋ฅผ ์ถ๊ฐํ๊ณ , 2๏ธโฃ ๋ฑ๋ก๋ ์ ์์ด ์ค์์ ๋ง์์ ๋๋ ์ ์์ด๋ฅผ ํฌํํ๊ณ 3๏ธโฃ ํฌํ ์๋ฃ ๋ฒํผ์ ๋๋ฆ ๋๋ค.
๋ชจ๋ ํ๋ ์ด์ด๊ฐ ํฌํ์๋ฃ๋ฅผ ๋๋ฅด๋ฉด ํด๋น ํ๋ ์ด์ด์ ์ ์์ด๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค. ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ ์ด์ด 2์ธ์ ์ ์์ด ์ ํ์ด ๋ชจ๋ ์๋ฃ๋๋ฉด ๊ฒ์์ด ์์๋ฉ๋๋ค.
๊ฒ์์ด ์์๋๋ฉด ์๋๋ฐฉ๊ณผ ์ง๋ฌธ์ ์ฃผ๊ณ ๋ฐ์ต๋๋ค. ์ค๋ฌด๊ณ ๊ฐ
์ฒ๋ผ ์ง๋ฌธ์ ํ๊ณ ๋๋ต์ ์ข
ํฉํ์ฌ ์ ๋ต์ ์ถ์ธกํฉ๋๋ค. ์ ๋ต์ ์์ฑ์ธ์์ผ๋ก ํ์ธ ๋ฉ๋๋ค.
์ ๋ต์ ์ ๊ฒ ๊ฐ์ ๊ฒฝ์ฐ, ์ ๋ต
์ด๋ผ๊ณ ๋งํ๋ฉด ์๋ ์ด๋ฏธ์ง ์ฒ๋ผ ์ ๋ต ์ธ์ ์ฐฝ
์ด ๋ํ๋ฉ๋๋ค.
์ด๋ ๋ด๊ฐ ์๊ฐํ๋ ์ ๋ต์ ์ธ์น ๊ฒฝ์ฐ ์ด๋ฅผ ์ธ์ํ์ฌ ๋ชจ๋ ์ฌ๋์ด ๋ณผ ์ ์๊ฒ ์๋ง์ด ์์ฑ๋๊ณ
์ ๋ต ์ฒดํฌ
๊ฐ ์งํ๋ฉ๋๋ค.
์ฝ๋ง์ด๋ค์์ ์ฒซ ๋ฒ์งธ ํน๋ณ ๊ธฐ๋ฅ์ ์ด๋ง ์ ์ ์์ด ์
๋๋ค. SBS ์๋ฅ ๋ฐ๋๋งจ
์์๋ ์ค์ ๋ก ๋ชจ์ ์์ ๋ถ์งํฌ๋ก ์ด๋ฆ์ ๋ถ์
๋๋ค. ๋๋
์์๋ ์ด์ ๊ฐ์ด ์ด๋ง์ ์ ์์ด๋ฅผ ๋ถ์ฌ์ฃผ์์ต๋๋ค.
์ด๋ face api
์์ ์ผ๊ตด์ ๋์ฝ์
๋ฑ ์ ๋ณด๋ฅผ ๋ฐํํ๋ randmark
๊ธฐ๋ฅ์ผ๋ก ๊ตฌํํ์ต๋๋ค. ์ฌ์ฉ์์ ๋น๋์ค๋ฅผ 1์ด ๋จ์๋ก ์ธ์ํ๊ณ ์ด๋๋ง๋ค ๋์ ์์น๋ฅผ ๋ฐํ ๋ฐ์ต๋๋ค. ์ด๋ ๋ฐํ๋ฐ์ ๋ ์์น์ ์ ์์ด์ ๊ธธ์ด ๋ฑ์ ๊ณ ๋ คํ๊ณ , 60px ์ ๋ ๋จ์ด์ง ๊ณณ์ ์ ์์ด๋ฅผ ๋์ด ์ด๋ง ์์ ์ ์์ด๋ฅผ ๋ถ์์ต๋๋ค. ์์ธํ ์์น ์กฐ์ ์ callmy
ํด๋ ๋ด์ OvVideo.vue
์์ ํ์ธ ํ ์ ์์ต๋๋ค.
๐ฎ ์ด๋ฅผ ํตํด ์ฝ๋ง์ด๋ค์ ๊ฒ์ ์งํ์ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ, ์์ ์ ์ ์์ด๋ ์ ์ ์๊ฒ๋ ???
๋ก ๋์ฒดํ๊ณ ๋ค๋ฅธ ํ๋ ์ด์ด์ ์ ์์ด๋ง ๋ณผ ์ ์๊ฒ ํ์ต๋๋ค.
์ฝ๋ง์ด ๋ค์ ๋ ๋ฒ์งธ ํน๋ณ ๊ธฐ๋ฅ์ ๋๋ค. ์ ๋ต ์ฒดํฌ๋ฅผ ์์ฑ์ธ์์ผ๋ก ํ์ฌ ๊ฒ์์ ํธ์์ฑ๊ณผ ์ฌ๋ฏธ๋ฅผ ์ฌ๋ ธ์ต๋๋ค. ๋ํ ์๋ฅ์์ ์๋ง์ด ๋์ค๋ ๊ฒ์ฒ๋ผ ๋ด๊ฐ ๋งํ ์ ๋ต์ด ๋ชจ๋์๊ฒ ํ๋ฉด ์๋์ชฝ ์๋ง์ฒ๋ผ ์์ฑ๋์ด ์๋๊ฐ์ ๋์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ํด Web Speech API๋ฅผ ์ฌ์ฉํ์๊ณ , ํน์ ์์ฝ์ด(์ ๋ต
) ๋ฅผ ์ค์ ํ์ฌ ๊ทธ ์ดํ์ ๋์ค๋ ๋จ์ด๋ก ์ ๋ต์ ์ฒดํฌํ๊ฒ ํ์ต๋๋ค. ์๋ ์์์ ํตํด ํ์ธ ํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ call mt name
ํด๋ ์์ callmy-stt.vue
์์ ํ์ธํ ์ ์์ต๋๋ค.
๐ฎ ์ด๋ฅผ ํตํด TV์์ ๋ดค๋ ๊ฒ์์ ์ค์ ๋ก ์งํ ํ ์ ์๊ณ , ์์ฑ์ธ์์ผ๋ก ์ ๋ต์ ์ฒดํฌํ์ฌ ์ฌ๋ฏธ์ ํธ์์ฑ์ ๋์ ๋๋ค. ๋ชจ๋์๊ฒ ๊ณต์ ๋๋ ์๋ง์ด ์์ฑ๋์ด ๊ด์ ์๋ค์ ๋ง์น TV๋ฅผ ๋ณด๋ ์์ฒญ์์ฒ๋ผ ์ฆ๊ธธ ์ ์์ต๋๋ค.
ํ๋ก์ ํธ ์งํ ๊ธฐ๊ฐ๋์ ์ ๋ฉด ๋น๋๋ฉด์ผ๋ก, ์จ๋ผ์ธ์ผ๋ก ์งํ๋์๊ธฐ์ ํนํ๋ ์งํ ๋ฐฉ์๊ณผ ์ํต ๋ฐฉ๋ฒ์ด ์ค์ํ์ต๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ Agile
๋ฐฉ๋ฒ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ , Jira๋ฅผ ์ฌ์ฉํ ์คํ๋ฆฐํธ ๊ด๋ฆฌ, Docs๋ฅผ ํ์ฉํ์ฌ ์ปค๋ฎค๋์ผ์ด์
๋ฆฌ์์ค๋ฅผ ์ค์์ต๋๋ค.
git flow ์ฌ์ฉ์ ์ํด ์ฐ์ํ ํ์ ๋ค
์ git flow ์ฌ์ฉ์ ์ฐธ๊ณ ํ์ต๋๋ค. ๊ฐ์ ๋งก์ ๊ธฐ๋ฅ์ ๋ง๊ฒ feature
๋ธ๋์น๋ฅผ ์์ฑํ๊ณ , ์๋ฃ๋ ๊ธฐ๋ฅ์ develop
์ mergeํ์ฌ ์ฌ์ฉํ์ต๋๋ค. ์ถฉ๋ ์ํฉ์ ์ต์ํํ๊ณ ์ ๋งค์ผ ์ค์ ์คํฌ๋ผ์ develop
์ต์ ๋ฒ์ ์ pull
๋ฐ๊ณ ์์ํ ๊ฒ์ ๊ฐ์กฐํ์ต๋๋ค.
๋ํ commit message
๋ [FE|jisu] mafia | ๊ฑฐ์ง๋ง ํ์ง๊ธฐ 5์ด ์ ํ, ๊ฒ์๋น 1ํ ์ฌ์ฉ ์ ํ ์ถ๊ฐ
์ ๊ฐ์ด ํต์ผํ์ฌ ์์ฑํ์ต๋๋ค.
๋งค์ฃผ ๊ธ์์ผ ์คํ ํ์์์ ์ฐจ์ฃผ์ ์งํ๋์ด์ผ ํ ์ด์๋ฅผ ๋ฐฑ๋ก๊ทธ์ ๋ฑ๋กํ์ต๋๋ค. ๊ธ์ฃผ์ ์๋ฃํ์ง ๋ชปํ ์ด์๋, ์์ผ๋ก ์งํํ ์ด์๋ค์ ์ถ๊ฐํฉ๋๋ค.
-
์ํฝ์ ๊ฐ์ฅ ํฐ ๋จ์์ธ ๊ธฐํ, ์ ์ ๊ด๋ฆฌ, ๋งํผ์, ์ฝ๋ง์ด๋ค์ ๋ฑ์ผ๋ก ๊ตฌ์ฑํ์์ต๋๋ค.
-
์คํ ๋ฆฌ๋ ์ค์ ์ ์ ํ๋ก์ฐ๋ฅผ ๊ณ ๋ คํ์ฌ
ํํ์ด์ง์์ ๋ก๊ทธ์ธ ์ฐฝ์ ํตํด ๋ก๊ทธ์ธ ํ๋ค
์ ๊ฐ์ด ์์ฑํ์์ผ๋ฉฐ, -
์ด์๋ ์คํ ๋ฆฌ๋ฅผ ์๋ฃํ๊ธฐ ์ํ ์์ ์ ๋ฌด ๋จ์๋ก ์์ฑํ์ต๋๋ค. ์๋ฅผ ๋ค์ด
๋ก๊ทธ์ธ ํผ ์์ฑ
,๋ก๊ทธ์ธ ํด๋ฆญ ์ action ์ ์
requestLogin ํจ์ ์ ์
Login token ๋ฐ๊ธ
๋ฑ์ผ๋ก ๊ตฌ์ฑํ์ต๋๋ค. -
์ํฝ๋งํฌ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด์๋ฅผ ๊ตฌ๋ณํ๊ธฐ ์ฝ๊ฒ ํ์ต๋๋ค.
-
๋ฌด์๋ณด๋ค ๋ด๋น์์ ์คํ ๋ฆฌ ํฌ์ธํธ ์ค์ , ํ์ฌ ์์ ์ค์ธ ๋ด์ฉ ์ง๋ผ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ๋ ๊ฒ์ ๊ฐ์ฅ ์ค์ํ๊ฒ ์๊ฐํ์ต๋๋ค.
๋ชจ๋๊ฐ ๊ณต์ ํด์ผํ ์๋ฃ ๋ฐ ๋งํฌ๋ ๋
ธ์
์ ์ ๋ฆฌํ์ต๋๋ค. ํนํ userflow
๋ api ๋ช
์ธ
์ ๊ฐ์ด ์ฌ๋ฌ๋ฒ ๋ค์ ๋ด์ผํ๊ณ ์ค์ํ ์ ๋ณด๋ค์ ํนํ ๋
ธ์
์ ๊ณต์ ํ์ฌ ๋ถํ์ํ ์ปค๋ฎค๋์ผ์ด์
๋ฆฌ์์ค๋ฅผ ์ค์ด๊ธฐ ์ํด ๋
ธ๋ ฅํ์ต๋๋ค.
๋ณ์์ ๋ฉ์๋์ naming rule, ์ธ๋ดํ ๊ณผ ์ค๋ฐ๊ฟ ๊ท์น, vue์์์ state์ props ์์๋ ์ค์ ํ์ต๋๋ค.
์๋ฒ๋ AWS EC2 ubuntu๋ฅผ ์ฌ์ฉํ์ต๋๋ค
-
openvidu ์๋ฒ : 8443
-
์๋น์ค ํฌํธ ๋ฒํธ : 443
์๋ก ๋ค๋ฅธ ๋์ปค ์ด๋ฏธ์ง๋ก ์ ์ฅ๋์ด ์์ด ๊ฐ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ์คํ์ํต๋๋ค.
ํ์ํ ์ด๋ฏธ์ง๋ค์ ์ค์ ์ docker-compose.yml ํ์ผ์ ์์ฑํฉ๋๋ค.
docker ๋ด๋ถ๋ ๊ฐ์ ๋คํธ์ํฌ๋ก ๋ฌถ์ด์ฃผ๊ธฐ ์ํด docker-compose๋ก ์คํํฉ๋๋ค.
Jenkins
๋ก CI/CD๋ฅผ ๊ตฌ์ถํ์ฌ develop ๋ธ๋์น์ push
์ด๋ฒคํธ ๋ฐ์์ buildํ๋๋ก ๊ตฌ์ฑํ์ต๋๋ค.
build ํ docker-compose๋ฅผ ์คํํ๋๋ก ํ์ต๋๋ค.
- Jenkins ๊ด๋ฆฌ > ์์คํ ์ค์
- Jenkins๊ฐ ์คํ์ค์ธ ์๋ฒ์ URL ์์ฑ
- Gitlab / Github URL ์์ฑ
- ssh๋ก ์๋ฒ์ ์ ์ํ๊ธฐ ์ํ ์ค์
- ํ๋ก์ ํธ ๋น๋ ์ค์ (gradle, nodejs)
- ํ๋ก์ ํธ ์์ฑ & ์ค์
- freestyle project ์์ฑ
- ์์ค์ฝ๋ ๊ด๋ฆฌ(repository, branch ์ค์ )
- ๋น๋์ ๋ฐ ์ค์ (Webhook ์ฐ๊ฒฐ์ํ token ๋ฐ๊ธ)
- ๋น๋ ํ๊ฒฝ์ค์ (command ์์ฑ)
- ๋น๋ ํ ์กฐ์น
Jenkins ํ๋ก์ ํธ > ๊ตฌ์ฑ > ๋น๋์ ๋ฐ์์ ๋ฐ๊ธํ ํ ํฐ์ Webhook ์ค์ ํ์ด์ง์ ์์ฑํ๊ณ ๋น๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ค์ ํ๋ค.
์๋ฒ๋ letsencrypt๋ฅผ ์ฌ์ฉํ์ฌ ssl ์ค์ ํ์ต๋๋ค. letsencrypt certonly --standalone -d [๋๋ฉ์ธ๋ช
]
๋ช
๋ น์ด๋ก ์ป์ keyfile์ ~/apps/narang/certificates/live/[๋๋ฉ์ธ๋ช
] ์ ๋ณต์ฌํฉ๋๋ค.
figma๋ฅผ ์ฌ์ฉํด ํํ์ด์ง์ ์ด์์ ์์ฑํฉ๋๋ค. ๊ด๋ จ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ๊ณ ํ๊ณ , ์๋น์ค ํน์ฑ์ ๋ง๊ฒ ์ ์ํ์ต๋๋ค.
์ปดํฌ๋ํธ ๋จ์๋ก ๋์์ธํ์๊ณ , ๊ฒ์์ ๋ฐฐ๊ฒฝ, ๋๋์ด
๋ ๊ทธ๋ ธ์ต๋๋ค. ๊ฒ์
์ ์ด์ ์ ๋ง์ถฐ ์น ์ฌ์ดํธ๋ณด๋ค๋ ์ฑ์ ๋น์ทํ ๋ชจ์ต์ผ๋ก ๊ตฌ์ฑํ์ต๋๋ค.
-
์์ฃผ ์ฌ์ฉ๋๋
dialog
๋ ๊ธฐ๋ณธ์ ์ธ ํ๋ง ๊ฐ์ถ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑํด๋ก๋๋ค. ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผslot
ํ๊ทธ๋ก ๋ถ๋ฌ์์ ์ฌ์ฉํฉ๋๋ค. -
Loading
ํ๋ฉด์ ๊ตฌ์ฑํ์ฌ ์ปดํฌ๋ํธ์ ์์๋ค์ด ๋ชจ๋ ๋ก๋ ๋๊ธฐ ์ ๊น์ง ์ฌ์ฉ์์ ๋์์ ์ ํํฉ๋๋ค.๋๋์ด
๊ฐ ๋ฅ์ค๋ฅ์ค ๋ ๋ค๋๋ ๋ชจ์ต์ผ๋ก ๊ตฌ์ฑํ์ต๋๋ค. -
ํด๋ฆญ ๊ฐ๋ฅํ ๋ชจ๋ ์์๋
cursor: pointer
๋ฅผ ์ถ๊ฐํ์ต๋๋ค. -
๋ฐ์ํ์ผ๋ก ๊ตฌ์ฑํ์ฌ ํ๋ฉด์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ฉด ๊ทธ์ ๋ง๊ฒ ์ปดํฌ๋ํธ๊ฐ ๋ค๋ฅด๊ฒ ๋ณด์ฌ์ง๊ฒ ํฉ๋๋ค.
- ๊น๋ด์ : ์ด๋ฒ ํ๋ก์ ํธ๋ก ๊น ํ๋ก์ฐ ์ง๋ผ์ ๊ฐ์ ํ์ ํด ์ฌ์ฉ์ ์ต์ํด์ง ์ ์์๊ณ ์ญํ ๋ถ๋ด์ ์ํด ์์ธํ๊ฒ ๊ธฐํํ๊ณ ์ ๋ฆฌํ๋ ๊ณผ์ ์ ํตํด ํ์ ํ๋ ๋ฐฉ๋ฒ ๋ํ ๋ฐฐ์ธ ์ ์์์ต๋๋ค. ํจ๊ป๋ผ๋ฉด ์ด๋ ํ ๊ฒ๋ ํด๋ผ ์ ์๋ค๋ ์์ ๊ฐ์ ์ป์ ์ ์์๊ณ , ๋ฐฐ์ธ์ ์ด ๋ง์ ํ์๋ค์ ๋ง๋ ์ ๋ํ ์ฑ์ฅํ ์ ์์์ต๋๋ค. ์ข์ ์ฌ๋์ ๋ง๋ ๊ฒ๋ ์ ๊ฒ ํฐ ํ์ด์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
- ๊ฐ์์ : ํ์๋ค ๋ชจ๋๊ฐ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํ ๋๋ถ์ ์ฉ๋์ฉ๋ฏธ ํ๋ก์ ํธ๋ก ์ ์ข ์ ๋ฏธ๋ฅผ ๊ฑฐ๋ ์ ์์์ต๋๋ค.๊ธฐ์ ์ ์ธ ๋ถ๋ถ ๋ฟ๋ง ์๋๋ผ ํ์ ๊ณผ์ , ๊ธฐํ๊ณผ ๋ฌธ์ํ์ ์ค์์ฑ ๋ฑ ๋๋ฌด ๋ง์ ๊ฒ์ ๋ฐฐ์ฐ๊ณ ํ ๋จ๊ณ ๋ ์ฑ์ฅํ ์ ์๋ ์๊ฐ์ด์์ต๋๋ค.ํ ๊ฐ์ง ์์ฌ์ ๋ ์ ์ ํ ๋ถ์๊ธฐ๊ฐ ๋๋ฌด ์ข์๋ ๋ฐ๋์ ์์์์ ์ธ ๋งํ ๋ถํ ์ฐ์ด ๋์ค์ง ์์ ๊ฒ ์์ฝ์ต๋๋ค.
- ๊น์คํ : ์ฒ์์๋ ์ด๋์ ๋ ๊ตฌํ์ด ๋ ์ง ๋ชฐ๋์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋จ ํ๋ช ๋ โ๋ชปํ ๊ฒ ๊ฐ๋คโ๊ณ ํ์ง ์๊ณ ์ด์ฌํ ํด์ ํ๋ก์ ํธ๋ฅผ ์ ๋ง๋ฌด๋ฆฌํ ์ ์์์ต๋๋ค. ํ์๋ค๊ณผ ํจ๊ป ๋งค์ผ ์์ผ๋ฉฐ ๊ฐ๋ฐํ ์ ์์ด์ ์ข์์ต๋๋ค. ํ์๋ค ๋๋ถ์ ๋ง์ด ๋ฐฐ์ ์ต๋๋ค ๋ชจ๋ ๊ณ ๋ง์์๐
- ๋ฐ์ง์ : ํผ์๋ผ๋ฉด ์ ๋ ๋ชปํ์ ํ๋ก์ ํธ. 5๋ช ์ด ๋ชจ๋ ์ํด์คฌ๊ธฐ์ ์ฑ๊ณตํ ์ ์์์ต๋๋ค. ํ์ํฌ์ ํ์ ์ ์ค์์ฑ ๊ทธ๋ฆฌ๊ณ ๊ฐ์์ ์ฅ์ ์ด ๋ชจ์ฌ ์๋ก์ ๋ถ์กฑํ ์ ์ ๋ณด์ํ๊ณ 500% ์ด์์ ์๋์ง๊ฐ ๋๋ค๋๊ฒ์ ์ฒด๊ฐํ์ต๋๋ค๋ค๋ค๋ค๋ค๋ค. ๊น ํ๋ก์ฐ, ์ง๋ผ๋ฅผ ์ฌ์ฉํด์ ๋น๋๋ฉด ์ํฉ์ด๋๋ผ๋ ํจ์จ์ ์ผ๋ก ์ํตํ๊ณ ํ์ ํ๋ ๋ฒ์ ์ตํ๋ค. ์ฒด๋ ฅ์ (์ ๋ชป์ )์ผ๋ก ์ ์ ์ ์ผ๋ก(์์๋จ) ๋ง์ด ํ๋ค์์ง๋ง, ๊ทธ๋งํผ ๋ง์ด ๋ฐฐ์ฐ๊ณ ์ฑ์ฅํ๋ค. ์ ๋ง ์ด์ ์ ์ผ๋ก ์ํ๋ค๊ณ ์๋ถํ ์ ์๋ค.
- ์ ๋์ค : ์ฌ๋ฐ๋ ํ๋ก์ ํธ๋ฅผ ๋ง์ ๋ง๋ ํ์๊ณผ ํ ์ ์์ด ํ๋ณตํ์ต๋๋ค. 6์ฃผ์ ์๊ฐ์ด ์ด๋ป๊ฒ ์ง๋๊ฐ๋์ง๋ ๋ชจ๋ฅผ ์ ๋๋ก ๋ชจ๋๊ฐ ํ๋ก์ ํธ์ ์ด์ ์ ์ด๊ณ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ์ค๊ฐ์ ํฌ๊ธฐํ๊ณ ์ถ์ ๋์๋ ์์ผ๋ฉด์ ํ์๋ ๋ชจ์ต์ ํ์ด ๋์ ๋ค์ ์ผ์ด์ค ์ ์์์ต๋๋ค.
- ๋๋ฒ๊ทธ์ ์ค์์ฑ
- ์ฝ์์ ์๋ณด์!!
- ๋ฐ๋ณต๋ฌธ์ด๋ ์ฌ๊ท๋ ์ข ๋ฃ์กฐ๊ฑด, basecase๊ฐ ์ ์ผ ์ค์ํจ!
- ๊ฐ๋ฐ์ ์ ๋ช
์ธ์๋ ๊ธฐํ์์ ์ค์์ฑ
- ๋์ถฉ ์ด๋ ๊ฒ ํ๊ณ ๊ฐ๋ฐํ๋ฉด์ ์กฐ์จํ์ํ๋ ๊ฑด ๊ต์ฅํ ์ํํ๋ค
- ์๋ก ๋จธ๋ฆฌ์์ผ๋ก๋ ์ดํดํ์ง๋ง ํ์ฒด๋ ๋ํ ์ผ์ ๋ค ๋ค๋ฅผ ์ ์๋ค.
- ์ ํํ๊ณ ๋ช ํํ ๋ชจ๋ธ, ๊ฐ์ฒด, ๊ฐ, ๋ณ์๋ ๋ฏธ๋ฆฌ ์ง์ ํ์ฌ ๋ฌธ์ํํด์ผํ๋ค.
- ๋น๋๋ฉด ํ๊ฒฝ์์ ์ปค๋ฎค๋์ผ์ด์
๋ฆฌ์์ค๊ฐ ๋๋ฌด ๋ง์ด ๋ ๋ค
- ๋ฌธ์ํํด์ ์ ๋ฆฌํ์
- ์น์์ค๋ ๋์ฝ๋ ์๋ฌดํผ ๋๋ฆฌ๋ค ๋์์ ํ๋ฉด ๊ณต์ ๋ฅผ ์ฌ๋ฌ๋ฒ ํ๋๊ฒ๋ ๋ถํธํ๋ค
- ๋ค ๊ฐ์ด ๋ฌ๋ผ๋ถ์ด์ผ ํ๋ ์ผ์ด ์๋๋ฉด ๋ถ์ ํ๊ณ , ๋ด๋น์๋ผ๋ฆฌ ์ปดํฉํธํ๊ฒ ํ์ ํ๊ธฐ
- [๋งค์ผ ๊ฒฝ์ , [ํ์ฌ ๋๋ฃ์ ์นํ ์๋ก ์ผ์ ์ฑ๊ณผ๋ ๋ ์ปค์ง๋ค]](: https://www.mk.co.kr/news/business/view/2015/07/634151/)
- ๋ฌธ์ง์, โsmart Icebreaker: ์๋ก์ด ๊ทธ๋ฃน ๊ตฌ์ฑ์ ๊ฐ์ ๋์ธ๋งค๋ ฅ์ ๊ฐํ์์ผ์ฃผ๋ ๊ฒ์ ์ธํฐ๋์ ์ฐ๊ตฌโ, KAIST ๋ฌธํ๊ธฐ์ ๋ํ์