Skip to content

πŸ†μ•„λ°”νƒ€μž„ : Web RTC κΈ°μˆ μ„ μ΄μš©ν•œ λΈ”λΌμΈλ“œ λ―ΈνŒ… ν”Œλž«νΌ - πŸ₯‡SSAFY 7κΈ° κ³΅ν†΅ν”„λ‘œμ νŠΈ μš°μˆ˜μƒ 1λ“±(2022.08.26)

avatime/avatime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AVATIME

↑ GIF νŒŒμΌμ„ ν΄λ¦­ν•˜λ©΄ UCCλ₯Ό λ³Ό 수 μžˆμ–΄μš”!


λͺ©μ°¨

  1. μ„œλΉ„μŠ€ μ†Œκ°œ
  2. 기획 배경
  3. κΈ°λŠ₯ μ†Œκ°œ
  4. μ‹œμ—° μ˜μƒ
  5. 기술 μŠ€νƒ
  6. ν”„λ‘œμ νŠΈ 일정 및 μ‚°μΆœλ¬Ό
  7. 개발 멀버 및 회고



πŸΉμ„œλΉ„μŠ€ μ†Œκ°œ

μ„œλΉ„μŠ€ μ„€λͺ…

κ°œμš”

  • ν•œμ€„ μ†Œκ°œ : λ‚΄κ°€ λ§Œλ“  κ°€λ©΄μœΌλ‘œ λ―ΈνŒ…ν•˜μž
  • μ„œλΉ„μŠ€ λͺ… : AVATIME(μ•„λ°”νƒ€μž„)

νƒ€κ²Ÿ 🎯

  • COVID-19 둜 μΈν•΄μ„œ λ―ΈνŒ…μ— μ‰½κ²Œ μ°Έμ—¬ν•  수 μ—†κ²Œ 된 μ‚¬λžŒλ“€

  • κ°€λ²Όμš΄ λ―ΈνŒ…μ„ ν•˜κ³  싢은 μ‚¬λžŒλ“€

  • 재미있고 μƒˆλ‘œμš΄ λ―ΈνŒ…μ„ 해보고 싢은 μ‚¬λžŒλ“€

    πŸ‘‰ ** λ―ΈνŒ…μ„ ν•˜κ³  싢은 λͺ¨λ“  μ‚¬λžŒλ“€ **

🐹기획 배경

λ°°κ²½

일반적인 λ―ΈνŒ… μƒν™©μ—μ„œλŠ” μ™Έλͺ¨κ°€ 첫번째 νŒλ‹¨μš”μ†Œκ°€ λ˜μ–΄ μ™Έλͺ¨μ— μžμ‹ μ΄ μ—†λŠ” μ‚¬λžŒλ“€μ€ μ‰½κ²Œ μ„ μž…κ²¬μ„ 극볡 ν•  수 μ—†μŠ΅λ‹ˆλ‹€. AVATIME은 μ΄λŸ¬ν•œ μ™Έλͺ¨μ§€μƒμ£Όμ˜λ₯Ό νƒ€νŒŒν•˜κ³  λˆ„κ΅¬λ‚˜ 즐길 수 μžˆλŠ” λ―ΈνŒ…μ„ λ§Œλ“€κ³ μž ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

λΈ”λΌμΈλ“œ 아바타 λ―ΈνŒ…μ˜ μž₯점은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. λ¨Όμ €. 얼꡴이 가렀진 μƒνƒœλ‘œ λ‹€λ₯Έμ‚¬λžŒλ“€κ³Ό μ†Œν†΅μ„ ν–ˆμ„ λ•Œμ˜ ν˜ΈκΈ°μ‹¬μ΄ κ·ΉλŒ€ν™” 되며, 특유의 λΆ„μœ„κΈ°κ°€ μ£ΌλŠ” μ„€λ ˜μ„ λŠλ‚„ 수 있고, λ˜ν•œ λΈ”λΌμΈλ“œλΌλŠ” νŠΉμ„± λ•Œλ¬Έμ— λ―ΈνŒ…μ„ 해보지 μ•Šμ€ μ‚¬μš©μžλ‚˜, μ™Έλͺ¨κ°€ μž₯점이 μ•„λ‹Œ μ‚¬λžŒλ“€λ„ 뢀담없이 μ„œλΉ„μŠ€μ— μ ‘κ·Όκ°€λŠ₯ν•©λ‹ˆλ‹€.

λͺ©μ  πŸ₯…

처음 λ§Œλ‚˜λŠ” μ‚¬λžŒλ“€λΌλ¦¬ 뢀담없이 μž¬λ―ΈμžˆλŠ” λ―ΈνŒ…μ„ ν•˜κ²Œ ν•˜μž

의의

  • λΉ„λŒ€λ©΄ μƒν™©μ—μ„œ 직접 λ§Œλ‚˜μ§€ μ•Šκ³ λ„ 즐길 수 μžˆλŠ” 온라인 λΉ„λŒ€λ©΄ λ―ΈνŒ…
  • 아바타λ₯Ό 톡해 μƒλŒ€λ₯Ό λ°”λ‘œ μ•Œ 수 μ—†λ‹€λŠ” μ„€λ ˜ ν˜ΈκΈ°μ‹¬ κΈ°λŒ€κ°
  • λ‚˜λ§Œμ˜ 아바타λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œμ„œ κ°œμ„±μ„ 뽐내고 μžμ‹¬κ° μƒμŠΉ

🐹기λŠ₯ μ†Œκ°œ

κΈ°λŠ₯μ†Œκ°œ-01 κΈ°λŠ₯μ†Œκ°œ-02 κΈ°λŠ₯μ†Œκ°œ-03 κΈ°λŠ₯μ†Œκ°œ-04 κΈ°λŠ₯μ†Œκ°œ-05 κΈ°λŠ₯μ†Œκ°œ-06 κΈ°λŠ₯μ†Œκ°œ-07 κΈ°λŠ₯μ†Œκ°œ-08 κΈ°λŠ₯μ†Œκ°œ-09 κΈ°λŠ₯μ†Œκ°œ-10 κΈ°λŠ₯μ†Œκ°œ-11 κΈ°λŠ₯μ†Œκ°œ-12 κΈ°λŠ₯μ†Œκ°œ-13 κΈ°λŠ₯μ†Œκ°œ-14 κΈ°λŠ₯μ†Œκ°œ-15 κΈ°λŠ₯μ†Œκ°œ-16 κΈ°λŠ₯μ†Œκ°œ-17 κΈ°λŠ₯μ†Œκ°œ-18 κΈ°λŠ₯μ†Œκ°œ-19 κΈ°λŠ₯μ†Œκ°œ-20 κΈ°λŠ₯μ†Œκ°œ-21 κΈ°λŠ₯μ†Œκ°œ-22 κΈ°λŠ₯μ†Œκ°œ-23

πŸΉμ‹œμ—° μ˜μƒ

νšŒμ›κ°€μž…

μ‹œμ—°μ˜μƒ-01-νšŒμ›κ°€μž…

메인화면

μ‹œμ—°μ˜μƒ-02-메인

λ§ˆμ΄νŽ˜μ΄μ§€

μ‹œμ—°μ˜μƒ-03-λ§ˆμ΄νŽ˜μ΄μ§€

아바타룸

μ‹œμ—°μ˜μƒ-04-아바타룸1 μ‹œμ—°μ˜μƒ-05-아바타룸2

λŒ€κΈ°λ°©

μ‹œμ—°μ˜μƒ-06-λŒ€κΈ°λ°©

λ°© μž…μž₯

μ‹œμ—°μ˜μƒ-07-λ°©μž…μž₯

아바타 선택 ν™”λ©΄ 및 λ―ΈνŒ…λ°© μž…μž₯

μ‹œμ—°μ˜μƒ-08-아바타선택화면

λ―Έλ‹ˆκ²Œμž„- 밸런슀 κ²Œμž„

μ‹œμ—°μ˜μƒ-09-λ°ΈλŸ°μŠ€κ²Œμž„

λ―Έλ‹ˆκ²Œμž„ - 물건 κ³ λ₯΄κΈ°

μ‹œμ—°μ˜μƒ-10-물건고λ₯΄κΈ°

μ΅œμ’… 선택

μ‹œμ—°μ˜μƒ-11-μ΅œμ’…μ„ νƒ

🐹기술 μŠ€νƒ

1. webRTC

webRTCλž€?

WebRTC (Web Real-Time Communication)λŠ” μ›Ή λΈŒλΌμš°μ € 간에 ν”ŒλŸ¬κ·ΈμΈμ˜ 도움 없이 μ„œλ‘œ 톡신할 수 μžˆλ„λ‘ μ„€κ³„λœ API μž…λ‹ˆλ‹€. μŒμ„± 톡화, μ˜μƒ 톡화, P2P 파일 곡유 λ“±μœΌλ‘œ ν™œμš©λ  수 μžˆμŠ΅λ‹ˆλ‹€. ![webRTC](https://cdn.ttgtmedia.com/rms/onlineimages/how_webrtc_works-f.png)

openvidu

WebRTCλ₯Ό 보닀 κ°„λ‹¨ν•˜κ²Œ μ μš©ν•  수 있고, λ‹€μ–‘ν•œ ν”„λ ˆμž„μ›Œν¬μ™€ ν˜Έν™˜μ„±μ΄ 높은 openviduλ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

적용

AVATIME μ—μ„œλŠ” λ―ΈνŒ…μ‹œ 화상 톡화λ₯Ό ν•˜κΈ° μœ„ν•΄ openViduλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

2. Web Socket

web Socketμ΄λž€?

webSocket

μ›Ή μ†ŒμΌ“μ€ μ‚¬μš©μžμ˜ λΈŒλΌμš°μ €μ™€ μ„œλ²„ μ‚¬μ΄μ˜ μΈν„°μ•‘ν‹°λΈŒ 톡신 μ„Έμ…˜μ„ μ„€μ •ν•  수 있게 ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€. κ°œλ°œμžλŠ” μ›Ή μ†ŒμΌ“ APIλ₯Ό 톡해 μ„œλ²„λ‘œ λ©”μ‹œμ§€λ₯Ό 보내고 μ„œλ²„μ˜ 응닡을 μœ„ν•΄ μ„œλ²„λ₯Ό ν΄λ§ν•˜μ§€ μ•Šκ³ λ„ 이벀트 쀑심 응닡을 λ°›λŠ” 것이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

적용

AVATIME μ—μ„œλŠ” μ‹€μ‹œκ°„ μƒνƒœ 곡유λ₯Ό μœ„ν•΄ λ‹€μŒ μ„Έ λΆ€λΆ„μ—μ„œ webSocket을 μ‚¬μš©ν•©λ‹ˆλ‹€.

  1. μ±„νŒ… (μ „μ²΄μ±„νŒ…, μ„±λ³„μ±„νŒ…)
  2. λ°© λͺ©λ‘ν™”λ©΄ -> 방의 μƒνƒœ(μ°Έμ—¬ μœ μ € 수, κ²Œμž„μ‹œμž‘μœ λ¬΄)λ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ κ³΅μœ ν•©λ‹ˆλ‹€.
  3. 아바타 선택화면 -> λ‹€λ₯Έ μ‚¬μš©μžκ°€ μ–΄λ–€ 아바타λ₯Ό μ„ νƒν–ˆλŠ”μ§€ μ‹€μ‹œκ°„μœΌλ‘œ μ•Œ 수 있고 아바타 쀑볡 선택을 막을 수 μžˆμŠ΅λ‹ˆλ‹€.

3. Facemesh

MediaPipe Face MeshλŠ” λͺ¨λ°”일 κΈ°κΈ°μ—μ„œλ„ μ‹€μ‹œκ°„μœΌλ‘œ 468개의 3D μ–Όκ΅΄ λžœλ“œλ§ˆν¬λ₯Ό μΆ”μ •ν•˜λŠ” μ†”λ£¨μ…˜μž…λ‹ˆλ‹€. λ¨Έμ‹  λŸ¬λ‹(ML)을 μ‚¬μš©ν•˜μ—¬ 3D μ–Όκ΅΄ ν‘œλ©΄μ„ μΆ”λ‘ ν•˜λ―€λ‘œ μ „μš© 깊이 μ„Όμ„œ 없이 단일 카메라 μž…λ ₯만 있으면 λ©λ‹ˆλ‹€. 이 μ†”λ£¨μ…˜μ€ νŒŒμ΄ν”„λΌμΈ μ „λ°˜μ— 걸쳐 GPU 가속과 ν•¨κ»˜ κ²½λŸ‰ λͺ¨λΈ μ•„ν‚€ν…μ²˜λ₯Ό ν™œμš©ν•˜μ—¬ 라이브 κ²½ν—˜μ— μ€‘μš”ν•œ μ‹€μ‹œκ°„ μ„±λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

κΈ°μˆ μŠ€νƒ-facemesh

(좜처: https://google.github.io/mediapipe/solutions/face_mesh.html)

4. Three js

Three.jsλŠ” νŠΉμ • μ›Ή λΈŒλΌμš°μ €λ‚˜ ν”ŒλŸ¬κ·ΈμΈμ— μ˜μ‘΄ν•˜μ§€ μ•Šκ³  μžλ°”μŠ€ν¬λ¦½νŠΈ μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ μ›Ή μ»¨ν…μΈ μ˜ ν•œ λΆ€λΆ„μœΌλ‘œμ„œ κ·Έλž˜ν”½ 처리 μž₯치(GPU)μ—μ„œ κ°€μ†λ˜λŠ” 3차원 컨텐츠λ₯Ό λ§Œλ“€ 수 μžˆλ„λ‘ ν•΄μ€λ‹ˆλ‹€.

κΈ°μˆ μŠ€νƒ-threejs

(좜처: https://threejs.org/)

적용

AVATIME μ—μ„œλŠ” Facemesh APIλ₯Ό μ μš©ν•΄ μΆ”μΆœν•œ 3D μ–Όκ΅΄ λžœλ“œλ§ˆν¬λ₯Ό Threejs 라이브러리λ₯Ό 톡해 μ‚¬μš©μžμ˜ μ–Όκ΅΄ μœ„μ— 마슀크λ₯Ό κ·Έλ €λƒ…λ‹ˆλ‹€.

κΈ°μˆ μŠ€νƒ-02

μΆ”κ°€λ‘œ, μ‚¬μš©μžκ°€ κ·Έλ¦° 이미지λ₯Ό μ μš©ν•˜μ—¬ AVATIME 의 마슀크 κΈ°λŠ₯을 μ™„μ„±ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. μ™Όμͺ½μ€ μ‚¬μš©μžκ°€ 직접 κ·Έλ¦° μ•‘μ…˜κ°€λ©΄ 이미지 파일이고, 였λ₯Έμͺ½μ€ ν•΄λ‹Ή νŒŒμΌμ„ μ μš©ν•œ μ‹œμ—° μ˜μƒμž…λ‹ˆλ‹€.

κΈ°μˆ μŠ€νƒ-μ•‘μ…˜κ°€λ©΄ κΈ°μˆ μŠ€νƒ-02

μœ„ κΈ°μˆ μ€ μ•„λž˜ 깃헙을 μ°Έκ³ ν•˜μ—¬ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

https://github.com/samarthgulati/ar-face-filters

5. 개발 ν™˜κ²½

κΈ°μˆ μŠ€νƒ-01

6. CI/CD 배포 ν™˜κ²½

κΈ°μˆ μŠ€νƒ-02

πŸΉν”„λ‘œμ νŠΈ 일정 및 μ‚°μΆœλ¬Ό

ν”„λ‘œμ νŠΈ 일정

일정

ν”„λ‘œμ νŠΈ 진행

1. Git flow


Git flow μ‚¬μš©μ„ μœ„ν•΄ sourcetree ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜μ˜€κ³  μš°μ•„ν•œ ν˜•μ œλ“€μ˜ git flow을 μ°Έκ³ ν–ˆμŠ΅λ‹ˆλ‹€. front 와 back 으둜 λ‚˜λˆ„μ–΄ faature의 ν•˜μœ„ 브랜치λ₯Ό μ‚¬μš©ν•˜μ˜€μœΌλ©° 맀일 μ˜€μ „ 슀크럼 이후 back λΈŒλžœμΉ˜μ™€ front 브랜치둜 merge ν•˜μ—¬ μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.
commit messageλŠ” feat(λŒ€κΈ°λ°©): μ±„νŒ…λ°© κ΅¬ν˜„ κ³Ό 같이 ν†΅μΌν•˜μ—¬ μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.
μ†ŒμŠ€νŠΈλ¦¬


2. Jira


맀주 μ›”μš”μΌ μ˜€μ „ νšŒμ˜μ—μ„œ 금주의 진행 이슈λ₯Ό λ°±λ‘œκ·Έμ— λ“±λ‘ν–ˆμŠ΅λ‹ˆλ‹€. 전주에 μ™„λ£Œν•˜μ§€ λͺ»ν•œ μ΄μŠˆλ‚˜, μ•žμœΌλ‘œ 진행할 μ΄μŠˆλ“€μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

  • 에픽은 νšŒμ›, λ―ΈνŒ…, 섀계 λ“±μœΌλ‘œ κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€.
  • λ ˆμ΄λΈ”μ€ BE, FE, full 으둜 κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€.
  • μŠ€ν† λ¦¬λŠ” λͺ…ν™•ν•œ 전달을 μœ„ν•˜μ—¬ API λͺ…μ„Έμ„œ μž‘μ„±μ™€ 같이 μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.
  • μž‘μ—…ν˜„ν™©μ„ μ‹€μ‹œκ°„μœΌλ‘œ 지라에 λ°˜μ˜ν•˜μ—¬ ν˜„μž¬ νŒ€μ›μ΄ μ–΄λ–€ μž‘μ—…μ„ ν•˜κ³ μžˆλŠ”μ§€, 일정에 λ”œλ ˆμ΄κ°€ μžˆλŠ”μ§€ ν•œ λˆˆμ— μ•Œμ•„λ³Ό 수 있게 ν–ˆμŠ΅λ‹ˆλ‹€.
    지라

ν”„λ‘œμ νŠΈ μ‚°μΆœλ¬Ό

1. Figma

ν”Όκ·Έλ§ˆ

2. ERD

erd

3. API λ¬Έμ„œ

api

🐹개발 멀버 및 회고

κ°œλ°œλ©€λ²„

  • 민경욱 : 맑은 것을 λκΉŒμ§€ ν•΄λ‚΄λŠ” νŒ€μ›λ“€ 덕뢄에 λ“ λ“ ν•˜κ²Œ μ˜μ§€ν•˜λ©° κΈ°νšν–ˆλ˜ 만큼 λ¬΄μ‚¬νžˆ 마무리 ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 첫 κΈ°νšμ„ λ‹¨λ‹¨ν•˜κ²Œ ν•΄μ•Όν•˜λ©° λ¬Έμ„œν™”λ„ κΌΌκΌΌν•˜κ²Œ μž‘μ„±ν•΄μ•Ό 이후 일정이 μˆœνƒ„ν•˜κ²Œ 진행될 수 μžˆλ‹€λŠ” 것을 λ°°μ› μŠ΅λ‹ˆλ‹€. λ”λΆˆμ–΄ 밝은 λΆ„μœ„κΈ°λ‘œ μ„œλ‘œμ˜ 의견이 μ‘΄μ€‘λ°›λŠ” ν™˜κ²½μ—μ„œ κ°œλ°œν•˜λŠ” 것이 κ²°κ³Όλ¬Ό ν–₯상에 도움이 λ˜λŠ” 것을 λ°°μ› μŠ΅λ‹ˆλ‹€. Django κ°€ 메인 ν”„λ ˆμž„μ›Œν¬μ˜€μ§€λ§Œ Springboot 둜 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©° μ—¬λŸ¬ ν”„λ ˆμž„μ›Œν¬λ“€μ˜ νŠΉμ§•μ„ μ•Œκ²Œ λμŠ΅λ‹ˆλ‹€. λ˜ν•œ Git κ³Ό Jira λ₯Ό κ²½ν—˜ν–ˆκ³ , 브랜치 관리λ₯Ό 직접 μˆ˜ν–‰ν•˜λ©° νŒ€μ›λ“€μ˜ μ½”λ“œ 상황을 ν•œ λˆˆμ— νŒŒμ•…ν•˜λŠ” κ²½ν—˜μ΄ μ’‹μ•˜μŠ΅λ‹ˆλ‹€. 그리고 μƒˆλ²½ λŠ¦κ²ŒκΉŒμ§€ κ°œλ°œν•˜κ³  밀잠 μ€„μ—¬κ°€λŠ” λͺ¨μŠ΅μ— μ‚΄μ•„μžˆμŒμ„ λŠκΌˆμŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ 곳에 내놓기에 μžλž‘μŠ€λŸ¬μš΄ ν”„λ‘œμ νŠΈκ°€ μƒκ²Όλ‹€λŠ” 사싀이 μ’‹μŠ΅λ‹ˆλ‹€.

  • κΉ€μ°¬μ˜ : 6λͺ…μ˜ νŒ€μ›λ“€κ³Ό ν•¨κ»˜ μ°Έμ—¬ν•œ 첫 λŒ€κ·œλͺ¨(?) ν”„λ‘œμ νŠΈμ˜€μŠ΅λ‹ˆλ‹€. Web RTCλΌλŠ” κΈ°μˆ μ„ μ΄μš©ν•˜μ—¬ 직접 화상 λ―ΈνŒ… μ„œλΉ„μŠ€λ₯Ό κΈ°νšν•˜κ³  κ°œλ°œν•˜λŠ”κ²Œ 쉽지 μ•Šμ•˜μ§€λ§Œ, νŒ€μ›λ“€μ΄ μžˆμ–΄μ„œ κ°€λŠ₯ν–ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€. 6μ£ΌλΌλŠ” μ‹œκ°„ λ™μ•ˆ κ°œλ°œμ„ 진행 ν•˜λ©΄μ„œ IT μ„œλΉ„μŠ€λ₯Ό κ°œλ°œν•˜λŠ” 일련의 과정을 κ²½ν—˜ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 기쑴에 파이썬만 μ‚¬μš©ν•˜λ‹€κ°€ μžλ°” κ΄€λ ¨ ν”„λ ˆμž„μ›Œν¬μ— λŒ€ν•œ 이해λ₯Ό ν•  수 μžˆμ—ˆκ³ , Gitμ΄λ‚˜ Jira와 같은 ν˜‘μ—… νˆ΄λ„ 배울 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ§ˆμ§€λ§‰μœΌλ‘œ 직접 배포λ₯Ό ν•΄λ³΄λ©΄μ„œ Dockerκ°€ μ™œ ν•„μš”ν•œμ§€, μ  ν‚¨μŠ€κ°€ 정말 νš¨μœ¨μ„ μ¦κ°€μ‹œν‚¬ 수 μžˆλŠ” νˆ΄μ΄κ΅¬λ‚˜ ν•˜λŠ” 것도 λŠλ‚„ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 무엇보닀도 νŒ€μ›λ“€ κ°„μ˜ μ†Œν†΅κ³Ό λ°°λ €ν•˜λŠ” λͺ¨μŠ΅λ“€ 덕뢄에 쒋은 κ²°κ³Όλ₯Ό μ–»μ–΄λ‚Ό 수 μžˆμ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

  • μ΄μ§€λ‚˜ : 이번 ν”„λ‘œμ νŠΈμ—μ„œ WebRTC, Web Socket, JPA λ“± 처음 μ ‘ν•΄λ³΄λŠ” κΈ°μˆ λ“€μ΄ λ§Žμ•„ μ²˜μŒμ—λŠ” νž˜λ“€μ—ˆμ§€λ§Œ, νŒ€μ›λ“€ λͺ¨λ‘κ°€ 적극적으둜 μ°Έμ—¬ν•œ 덕뢄에 6μ£ΌλΌλŠ” 짧은 μ‹œκ°„ λ™μ•ˆ κ³„νšν•œ 것듀을 λͺ¨λ‘ κ΅¬ν˜„ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 특히 gitκ³Ό JIRA와 같은 ν˜‘μ—…νˆ΄μ˜ 적극적인 μ‚¬μš©μ„ 톡해 μ˜€ν”„λΌμΈμ—μ„œμ˜ λ§Œλ‚¨μ΄ μ μ—ˆλ˜ μƒν™©μ—μ„œλ„ μ›ν™œν•œ μ†Œν†΅μ„ ν•˜λŠ” 법을 배울 수 μžˆμ–΄ μ’‹μ•˜μŠ΅λ‹ˆλ‹€. 쀑간에 κ°€μ‘± 여행을 κ°€μ„œλ„ μ°Έμ—¬ν–ˆμ„ 만큼 μ΅œμ„ μ„ λ‹€ν•΄ μ—΄μ •μ μœΌλ‘œ μž„ν–ˆκΈ° λ•Œλ¬Έμ— 개인적으둜 ν›„νšŒ μ—†λŠ” ν”„λ‘œμ νŠΈκ°€ λ˜μ—ˆμŒμ€ 물둠이고, μ•žμœΌλ‘œ 제 μžμ‹ μ„ μ†Œκ°œν•  λ•Œ λ‹Ήλ‹Ήν•˜κ²Œ BackEnd ν”„λ‘œκ·Έλž˜λ¨ΈλΌκ³  ν•  수 μžˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€. 우리 νŒ€μ›λ“€μ˜ μ•žλ‚ μ— 늘 ν–‰μš΄μ΄ ν•¨κ»˜ν–ˆμœΌλ©΄ μ’‹κ² κ³ , λ‹€μŒ ν”„λ‘œμ νŠΈλŠ” 더 λ°œμ „λ˜κ³  μ™„μ„±λœ 결과물을 λ‚΄κ³  μ‹ΆμŠ΅λ‹ˆλ‹€!

  • 이주영 : 처음 μ ‘ν–ˆλ˜ Web RTCλΌλŠ” κΈ°μˆ μ„ μ‚¬μš©ν•˜λŠ” ν”„λ‘œμ νŠΈλΌ 걱정이 μ•žμ„°μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ„±μ‹€ν•˜κ³  유λŠ₯ν•œ 멋진 νŒ€μ›λ“€μ„ λ§Œλ‚˜ 큰 어렀움 없이 ν”„λ‘œμ νŠΈλ₯Ό 진행할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  νŒ€μ›λ“€μ΄ 적극적으둜 μ°Έμ—¬ν•΄μ€€ κ²°κ³Ό 만쑱슀러운 μ„œλΉ„μŠ€ κΈ°νšμ„ ν•  수 μžˆμ—ˆκ³ , ν”„λ‘œμ νŠΈ 초반의 μ—΄μ • κ·ΈλŒ€λ‘œ 개발, ν…ŒμŠ€νŠΈ, 배포 λ‹¨κ³„κΉŒμ§€ μ΄μ–΄λ‚˜κ°ˆ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
    개인적으둜 이 ν”„λ‘œμ νŠΈλŠ” λŒ€ 성곡이라고 μƒκ°ν•©λ‹ˆλ‹€. κ·Έ μ΄μœ λŠ” ν”„λ‘ νŠΈ/λ°± μ—”λ“œ νŒ€μ›λ“€ λͺ¨λ‘ 각 뢄야에 재미λ₯Ό 느끼고, 더 κ³΅λΆ€ν•˜κ³  μ‹Άλ‹€λŠ” μš•κ΅¬λ₯Ό 느끼게 ν•΄μ€€ μœ μ΅ν•œ κ²½ν—˜μ΄ λ˜μ—ˆλ‹€κ³  μƒκ°ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. κ·Έ 원동λ ₯은 νŒ€ ꡬ성원 ν•˜λ‚˜ν•˜λ‚˜κ°€ 쒋은 νŒ€μ›μ΄ λ˜μ—ˆκΈ° λ•Œλ¬Έμ΄ μ•„λ‹κΉŒ μƒκ°ν•©λ‹ˆλ‹€. λͺ¨λ“  νŒ€μ›λ“€μ—κ²Œ κ°μ‚¬ν•˜λ‹€λŠ” 말을 ν•˜κ³  μ‹Άκ³ , λͺ¨λ‘λ“€ κ³ μƒν•˜μ…¨μŠ΅λ‹ˆλ‹€~~

  • μ •κ±΄μš° : FrontEnd μ„Έ λͺ… λͺ¨λ‘ Reactλ₯Ό μ‚¬μš©ν•΄λ³΄μ§€ μ•Šμ•„μ„œ μŠ€ν„°λ””λ₯Ό μ§„ν–‰ν•˜λ©° ν•™μŠ΅ λ‚΄μš©μ„ κ³΅μœ ν–ˆλ˜ 것이 κ°œλ°œν•˜λŠ” 데에 큰 도움이 된 것 κ°™μŠ΅λ‹ˆλ‹€. 이번 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ React, TypeScript와 μΉœν•΄μ§ˆ 수 μžˆμ–΄μ„œ μ’‹μ•˜κ³ , ν‰μ†Œμ— μ‚¬μš©ν•΄λ³΄μ§€ λͺ»ν–ˆλ˜ μ—¬λŸ¬ APIλ₯Ό μ μš©ν•¨μ— 따라 ν”„λ‘œμ νŠΈ 퀄리티가 μ˜¬λΌκ°€λŠ” 것을 보고 개발의 재미λ₯Ό λŠκΌˆμŠ΅λ‹ˆλ‹€.
    μ—¬λŸ¬ λͺ…κ³Ό ν•¨κ»˜ν•˜λŠ” 첫 μ›Ή ν”„λ‘œμ νŠΈμ—¬μ„œ μ„€λ ˜ 반 κ±±μ • 반 μ΄μ—ˆλŠ”λ°, μ—΄μ‹¬νžˆ μ°Έμ—¬ν•˜λŠ” νŒ€μ›λ“€μ„ λ§Œλ‚˜μ„œ ν”„λ‘œμ νŠΈλ₯Ό 잘 마무리 ν•  수 μžˆμ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€. λ‹€μŒ ν”„λ‘œμ νŠΈλ„ μƒˆλ‘œμš΄ κΈ°μˆ λ“€κ³Ό ν•¨κ»˜ 재밌게 ν•˜κ³  μ‹Άμ–΄μš”!

  • μ±„μœ€μ„  : 쒋은 νŒ€μ›λ“€μ„ λ§Œλ‚˜ ν–‰λ³΅ν–ˆμŠ΅λ‹ˆλ‹€!! 기술적인 λΆ€λΆ„λΏλ§Œ μ•„λ‹ˆλΌ νŒ€μ›Œν¬, ν˜‘μ—…, μ†Œν†΅μ˜ μ€‘μš”μ„±μ— λŒ€ν•΄ 많이 κ³ λ―Όν•˜κ³  또 많이 배우고 μ„±μž₯ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. TS와 Reactλ₯Ό 처음 μ‚¬μš©ν•΄λ³΄λ©°, μ‹œν–‰μ°©μ˜€λ„ κ²ͺμ—ˆμ§€λ§Œ νƒ€μž…μ„ λͺ…μ‹œν•΄μ€€ λ‹€λŠ” 것이 μ–Όλ§ˆλ‚˜ 큰 μž₯점인지 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€.
    ν”„λ‘œμ νŠΈ κΈ°κ°„λ™μ•ˆ μ΅œμ„ μ„ λ‹€ν–ˆκΈ°μ— AVATIME에 λŒ€ν•œ 아쉬움은 μ—†μŠ΅λ‹ˆλ‹€! μ œκ°€ 보기에도 멋진 ν”„λ‘œμ νŠΈμΈ 만큼 μ—¬λŸ¬λΆ„μ΄ 보싀 λ•Œλ„ κ·Έλ ‡κ²Œ 느껴쑌으면 μ’‹κ² μŠ΅λ‹ˆλ‹€. μ•žμœΌλ‘œ 더 많이 배우며 μ–΄λ””μ„œλ‚˜ 쒋은 νŒ€μ›μΌ 수 μžˆλŠ” ν”„λ‘ νŠΈμ—”λ“œ 개발자둜 μ„±μž₯ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

About

πŸ†μ•„λ°”νƒ€μž„ : Web RTC κΈ°μˆ μ„ μ΄μš©ν•œ λΈ”λΌμΈλ“œ λ―ΈνŒ… ν”Œλž«νΌ - πŸ₯‡SSAFY 7κΈ° κ³΅ν†΅ν”„λ‘œμ νŠΈ μš°μˆ˜μƒ 1λ“±(2022.08.26)

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published