일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ccw 알고리즘
- 그리디
- pm2
- localstorage
- PROJECT
- map
- branch
- MySQL
- Github
- 백준 9527번
- html5
- 게임 서버 아키텍처
- 자바스크립트
- Next
- vector insert
- string
- insomnia
- MongoDB
- HTTP
- ERD
- trie
- 트라이
- Prisma
- router
- 이분 탐색
- Keys
- DP
- 그래프 탐색
- Express.js
- JavaScript
- Today
- Total
목록전체 글 (132)
dh_0e

동기화가 고려되지 않은 멀티스레드 코드 예시 (JAVA)public class CounterTest { private static int counter = 0; public static void main(String[] args) throws InterruptedException { Thread[] threads = new Thread[10]; // 동기화 없이 실행 for (int i = 0; i { for (int j = 0; j 위 코드를 실행시키면 counter 값이 10000이 아니라 그에 못 미치는 99xx 값이 나온다.이는 데이터 경합 즉, Race condition이 발생한 결관데 동시에 counter 변수의 값을..

최종 프로젝트로 서버를 만들어 캠프에서 제공된 클라이언트에 연결하는 과정을 진행하다 ProtoBuf 패킷 통신 중에 에러가 발생했다. 평범한 버그가 아니라 확률 게임처럼 10번 시도에 5~7번 꼴로 버그 발생..OnRecvCompleted Failed Google.Protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field. This could mean either that the input has been truncated or that an embedded message misreported its own length. at G..

Protocol buffer로 디코딩이나 인코딩 과정에서 변수를 단일 값으로 전송할 때, 그 값이 0인 경우 빈 값을 보내는 문제가 발생할 수 있다.이는 주로 인코딩 과정에서 0 값을 특별한 값으로 처리하거나, 디코딩 과정에서 0 값을 제대로 해석하지 못하는 경우에 발생한다. Default사실 Protocol buffer(proto3) 문법에서 default 값을 넣어주는데, numeric(숫자) type은 모두 0이 default 값이라 이러한 오류가 발생한다.데이터를 default 값으로 설정하면 어차피 받는 입장에서 값이 없으면 default로 생각하면 되기 때문에 바이트를 조금이라도 줄이기 위해 실제 바이트에서 직렬화되지 않는다.디코딩/인코딩 과정 중에 데이터에서 명시적으로 default 값을 넣..
stringstream문자열에서 동작하는 스트림 클래스입력 스트림인 istringstream, 출력 스트림인 ostringstream의 기능을 둘 다 포함하고 있음공백이나 '\n' 개행문자를 기준으로 값을 분리해줌string type의 문자열에서 원하는 자료형의 데이터를 추출할 수 있게 해줌 헤더 파일을 선언하고 사용 문자열을 공백, '\n'을 기준으로 분리#include #include #include using namespace std;int main(){ string n; string str = "abc d ef\n gh i1 2 3"; stringstream stream; stream.str(str); // = "stream=str" while(stream >> n..
이번 팀 프로젝트는 저번에 팀 프로젝트로 만든 타워 디펜스 게임 클라이언트를 조금 변형시켜 멀티 플레잉 게임으로 만드는 것이다. 마찬가지로 웹소켓으로 서버를 열고, 다양한 기능을 추가하였다. 서버 기능 명세 (필수 구현)더보기🛠 클라이언트 기능 명세 (필수 구현)WebSocket 기반의 코드 완성하기제가 지금 여러분들에게 제공드리는 클라이언트 코드는 전부 WebSocket 기반으로만 서버와 통신을 할 수 있는 코드입니다.하지만, 대부분의 코드가 비어있거나 TODO로 처리된 부분이 많기 때문에 이 부분을 완성해주셔야 합니다!클라이언트에 하드코딩 된 게임 서버 주소 변경클라이언트 코드 곳곳에 http://15.165.15.118:3000 가 하드코딩이 되어있는데요. 이 하드코딩 된 테스트 서버 주소를 여러..