사실 글쓰기를 좋아하고 글 하나를 쓸 때도 제대로 써야한다는걸 알면서 코딩 공부에 지쳐서 지금까지 TIL을 너무 대충 써왔다는 생각이 든다.
튜터님이 직접오셔서 까지 말씀해주시니까 더 제대로 작성해야겠다는 생각이 든다.
나만의 TIL 형식을 만들자
지금까지 간단한 줄글과 함께 오늘 기억해야할 것을 한 두개 정도 적는 데 그쳤다. 하지만 TIL은 달리보면 단순 일기가 아닌 하루를 정리하며 성장하는 나를 만들기 위한 하나의 작업물이라 생각해야한다.
이를 위해서 TIL의 기본 틀을 만들고 지켜 데이터가 쌓이는 느낌을 스스로 주고자 한다.
- 트러블 슈팅은 개발에서 발생한 에러만 작성하는 것이 아니다. 개발 상에서 발생한 문제가 없다면 팀프로젝트, 개인 프로젝트, 학습 등에서 발생한 문제 혹은 궁금한 점을 적어보자
오늘 학습한 내용
오늘은 어제 특강으로 들었던 웹소켓에 대해 한번 더 짚고 넘어가는 시간이었다. 지금까지 했던 프로젝트 들에서는 HTTP 방식을 사용하여 단방향으로 통신을 하는 방법을 사용했었다. 단방향 통신이란 클라이언트에서 요청을 보내면 서버가 요청에 대한 응답을 보내는 일방적인 방식으로 클라이언트의 요청이 없으면 서버에서도 데이터를 보낼 방법이 없다.
즉, 서버에서도 데이터를 보낼 수 있도록 방법을 바꾼 것이 웹소켓이며 지속적인 연결을 유지하며 자유로운 데이터 교환이 가능하다.
실시간 통신이 가능하기에 요청-응답을 반복하는 HTTP 방식에 비해 네트워크 자원을 덜 소모하며, 데이터 전송 속도가 빠르고 연결에 대한 부담이 적다는 점 또한 있다.
웹소켓 동작 방식에서는 핸드셰이크 방식이 있으며 웹 소켓이 HTTP 요청을 통해 서버에 연결을 보내고 서버의 승인이 나면 HTTP 연결이 웹소켓 연결로 전환된다.
학습한 내용에 대한 추가 정보
웹소켓의 핸드셰이크 방식을 공부하면 자연스럽게 TCP 방식에 대해 알게 된다.
TCP : 신뢰성과 연결성을 지향하는 프로토콜, 특징으로 핸드셰이크, 소켓 방식
TCP 방식은 OSI 7계층 중 4계층인 전송 계층에서 사용되는 통신 방식으로 전달한 데이터가 잘 도착했는지 확인하는 방식을 통해 데이터의 신뢰성있는 통신을 가능하게 한다.
이때 클라이언트와 서버 사이의 통신을 시작하기 위해서는 "3way Handshake"를 사용하고, 모든 연결을 마친 후 통신을 종료하기 위해서는 "4way Handshake"를 사용한다.
트러블 슈팅
축구 게임을 만드는 팀 프로젝트를 하면서 선수 생성, 선수 가챠, 선수 강화와 같은 기능을 만드는 router 파일을 작성하는 과정에서 하나의 브랜치를 둘이서 사용하며 충돌이 자주 발생하는 현상이 발생했었다.
왜 충돌이 발생했나?
같은 파일을 같은 브랜치에서 작업하며 변경된 내용이 있어 로컬 브랜치와 원격 브랜치의 내용이 달라 충돌이 발생
해결 방법
1. 다른 브랜치를 사용해서 파일을 업데이트(이 방식을 사용할 시 merge 할때 에러가 발생할 수 있음 - mark resolve를 통해 수정 후 적용 가능
2. 적절히 pull을 사용한 뒤 push를 할 것
'Dev.Game > TIL' 카테고리의 다른 글
[TIL] 웹소켓을 이용한 사이드뷰 게임 만들기 (0) | 2024.12.12 |
---|---|
[TIL] 게임 개발 이전에 기획에 대한 고찰 (0) | 2024.12.11 |
[TIL] 오늘 3줄 요약(feat. 프로젝트 발표) (0) | 2024.12.09 |
[TIL] 풋살 온라인 프로젝트를 마무리하며 (0) | 2024.12.06 |
[TIL] 어쩌다 보니 스페셜을 해버린... (1) | 2024.12.05 |