본문 바로가기
SW Jungle [예림]/Project

[Project 나만의 무기] - 회고 02.13 일 D-27 (1주차 끝)

by novxerim 2022. 12. 30.

https://velog.io/@yerimii11/Project-%EB%82%98%EB%A7%8C%EC%9D%98-%EB%AC%B4%EA%B8%B0-%ED%9A%8C%EA%B3%A0-02.13-%EC%9D%BC-D-27 2022년 2월 14일에 작성된 게시글 아카이브입니다.  (사유: 블로그이전)

 

[Project 나만의 무기] - 회고 02.13 일 D-27 (1주차 끝)

SocketIO, WebSocket, WebRTC 강의 마무리함. \- 다 듣고 서버랑 연결해서 폰으로도 켜보자!! → 완료 \*\*Socket.IO 가 동작 → 그 중 webSocket사용 - 서버에 signaling, 위치 정보 가져옴그 이

velog.io


📖 02.13 일요일

1. 공부 진행 상황

  • SocketIO, WebSocket, WebRTC 강의 마무리함.
    - 다 듣고 서버랑 연결해서 폰으로도 켜보자!! → 완료
  • **Socket.IO 가 동작 → 그 중 webSocket사용 - 서버에 signaling, 위치 정보 가져옴
    그 이후 WebRTC를 통해 ptp 방식으로 서로 영상, 오디오, txt 소통하게 하는 것 요점**
  • JS Basic
    • 🌼 Promise
      • JS 비동기를 간편하게 처리하도록 도와주는 오브젝트
      • 정해진 장시간의 기능을 수행 후 성공메시지, 결과물 전달 or 에러 전달
        ex) 정글 5기 알림 신청버튼 → 5기 오픈 날짜까지 대기 → 해당일 자동 이메일발송
    • 🌼 Async, await
      • await은 async 안에서만 사용할 수 있다
    • 🌼 var, let, const
      • var : JS의 초창기 변수 선언 방법. 중복 선언이 안되어 코드가 꼬이기 쉽다.
      • let : 보완 버전. 같은 이름의 변수는 에러로 뜨기 때문에 중복을 거르기 쉽다.
      • const : 똑같이 중복 걸러지고, 변수에 할당된 데이터가 변경되지 않는다.
        ex) const num = 20  const num = 30 변경 안된다.
  • Algorithm 완전탐색(진행중)

2. 기술적 고민

  • 어제의 고민
    • 좌표값 저장은 어떤식으로 해야할지?
      → 프론트 코드 이해하고 내일 서버로 일부 옮기기로 함
    • 화상통화 구현할 때, 좌표값에 따라 on 되도록 해야할텐데...
      → 맞음. 캐릭터간의 거리가 가까워 질 때 화상통화 영상이 뜨게 하면 됨.
    • 실시간 채팅 기능도 오늘 영상에서 배운 socket.io 코드로 적용시켜야한다..!
      • WebRTC의 DataChannal을 사용하면 socket.IO없이도 채팅 가능,
      • WebRTC만으로도 가능하다. emit, on으로 메시지 데이터를 주고받으면 됨.
  • WebRTC에서 makeConnection 같은 함수들이 다 app.js에서 쓰여지고있는데 이걸 프론트쪽에서 다 하는건가?? 백은 딱히 받는 코드가 없네
    아무래도 WebRTC가 서버를 거치는 구조가 아니다보니 그런 것 같다. → 맞음.
  • 웹소켓 - 서버쪽, 클라이언트쪽 두개가 열린다. 두쪽 다 붙여줘야함
  • 화상 영상이 느려지는지 보고 느려지면 다대다 찾아보고 서버 게임서버랑 별개로 진행.
    그리고 걷는게 느려지면 안됨. → 내일 화상통화 코드 추가해보고 구현 후 다시 상의!
  • SocketIO 룸이 지금 한 소켓에 다 있는데, url 파라미터에 맞춰 넣어서 룸을 분리하자.
    → 강의에서 공부한 room 메모 보면서 코드 수정해보자.
  • 다대다 화상통화 구현을 어떤 것으로 사용할지? WebRTC - Mesh, MCU, SFU가 있는데 각각 장단점이 있다
    • Mesh는 다대다에 취약하고 MCU는 실시간에 취약하다.
      우리는 SFU를 사용하는게 적절할 것 같다고 판단했다.
      • 그런데 SFU의 방식을 사용할 만큼의 클라이언트 수가 우리 프로젝트에서 필요할까?
      • 영상연결 인원을 5명정도로 제한하면 SFU, MCU 방법을 적용할 만큼의 서버를 감당하지 않아도 되지 않을까?
        → 웬만하면 서버 부담 없도록 Mesh로 구현하자.

3. 성찰

  • 주말에 여유를 가져도 되는걸까?
  • 집에 들어가면 바로 폰 놓고 자려고 노력하자.
  • 나는 그동안 주어진 것을 공부하는 데에만 익숙했고, 주어진 것에 대해서만 잘 하고, 완벽하려고 했다.
    그때문에 첫 정글 입학시험에서 주어진 입학자료의 이론을 빠삭하게 공부했다고 자신했었는데, 자료에 나와있지 않은 코드를 직접 만들어내는 것은 나에게 익숙치 않은 문제였다.
    그렇게 정글에 입성 후의 모든 날들이 나에게는 그동안 내게 주어져있던 고정된 틀을 깨부수는 시간들이었다.
  • 백/프론트 기술을 나눠서 어디가 양이 많고 하기보다는 기능별로 나눈다고 생각하고, 다 해본다고 생각하자.
  • 오늘은 최소 집중 시간 1시간을 지켰고, 주말 내내 순공부시간 10시간을 채웠다. 수고했따!
 

댓글