76 개의 글이 있습니다.
2025년 11월 07일 09:11
24-26_최민준 25-26_이재호 24-26_김준섭 23-26_김상윤 25-26_이효근 24-26_유호인 25-26_김선희 24-26_고규필 23-26_김여진 25-26_이서연 24-26_홍가을 25-26_정보운 25-26_정세린 25-26_추서연 22-26_손유진 son_yujin_
2025년 10월 31일 09:10
0. 목차 목표 회사 선택하기 (IT 대기업뿐만 아니라 스타트업도 고려해 본다, 가급적 사람인보다 원티드, 로켓펀치에서 회사를 찾아본 다) (3년 차를 요구한다고 정말 3년 이상만 지원할 수 있는 것이 아니다. 3년 차에 준하는 실력을 가진 사람을 찾는다는 뜻) 목표 우선순위 정하기 (여기서 목표란 회사의 규모, 연봉, 기술, 문화, 집과의 거리, 복지,…
2025년 10월 15일 09:10
+ Race Condition 조회 후 쓰기 작업이 많은 도메인 특성상 Race Condition이 발생할 수 있다. Pub/Sub 메시지 전파에는 약간의 지연(수 밀리초~수십 밀리초)이 존재하기 때문에, 극히 짧은 순간 동안 서로 다른 인스턴스가 다른 게임 상태를 볼 수 있다. 예를 들어 다음과 같은 동시성 문제가 발생할 수 있다: 이는 분산 환경에서 …
2025년 10월 14일 09:10
coffeeshout_infra_design 지난 글에서 이어집니다! Redis pub/sub Redis Pub/Sub의 동작 원리를 이해하면 왜 이 방식이 실시간 게임 동기화에 적합한지 명확해진다. Redis 내부 구조 Redis 서버는 C로 구현되어 있으며, Pub/Sub 기능은 내부적으로 매우 단순한 자료구조로 동작한다. Redis 서버의 구조체는…
2025년 10월 13일 09:10
단일 인스턴스 목표 TPS 커피빵은 게임 기반 실시간 서비스이기 때문에 유저 간의 양방향 통신을 위해 웹소켓 통신을 이용하고 있다. 웹소켓 통신의 경우 서버가 각 클라이언트의 구독 상태를 세션별로 메모리에서 관리하고 있는데, REST API와는 다르게 연결이 지속적으로 유지되면서 이벤트 브로드캐스팅과 메시지 라우팅을 처리해야 한다. 이 과정에서 동시 접속…
2025년 09월 28일 09:09
스크린샷 2025-09-28 오후 2.45.24.png스크린샷 2025-09-28 오후 2.45.33.png 0. 문제 원인 가설 세우기 P95가 15배 증가했는데, CPU, Memory 사용량이 정상 범위, 그럼 DB 관련 문제이지 않을까? DB 커넥션 풀 고갈 테이블 락 or 행 락 경합 (업데이트와 조회가 동시에) N+1 문 제 (커넥션 오래 점유) …
2025년 08월 30일 09:08
지난 회고: 우아한테크코스_7기_BE_레벨2_회고 레벨3도 끝났다. 가속도가 붙은 것처럼 시간이 점점 빨리 지나간다. 지난 8주간 내가 느꼈던 것들을 하나씩 톺아보자! 문제를 정의하고 요구사항을 파악하는 능력은 어떻게 기를까 레벨3 내내 머릿속에서 맴돈 질문이다. 아이디어를 내고, 팀원들을 설득하고, 기획을 세부화하고, 이를 실제로 구현하는 과정 전반에서…
2025년 08월 13일 09:08
문제 상황 mvp를 빠르게 만들고 테스트를 하던 중, 다른 앱을 사용하다가 다시 돌아오면 웹소켓 통신이 안된다는 것을 발견했다. 찾아보니 모바일이든 pc의 각각의 기기에서 앱을 전환할 때 환경에 맞게 백그라운드에서 웹소켓을 유지하는 시간이 달랐고, 테스트를 결과 아이폰이나 맥북 기준 대부분 4~5초이내로 연결이 중단되는 것 같다. 또 클라이언트 코드에서도…
2025년 08월 12일 09:08
how_spring_injects_httpsession 이 포스트를 읽고 오면 이해가 더 잘 됩니다! Spring에서 어떻게 WebSocket 연결을 수립할까? 그 과정을 찾아가보자. Spring에서 연결방식을 WebSocket으로 업그레이드 하는 방법 handshake 성공 후에는? 물리적 TCP 연결은 동일함 메시지들은 DispatcherServlet…