일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- branch
- 그리디
- PROJECT
- Express.js
- JavaScript
- 백준 2623번
- ERD
- HTTP
- ucpc 2023 예선 d번
- ccw 알고리즘
- Github
- 더 흔한 색칠 타일 문제
- MongoDB
- ucpc 2024 예선 e번
- string
- insomnia
- koi 2002 중등부 1번
- MySQL
- map
- Next
- 자바스크립트
- 백준 28298번
- localstorage
- html5
- Prisma
- router
- 게임 서버 아키텍처
- pm2
- 백준 28303번
- ucpc 2023 예선 i번
- Today
- Total
목록분류 전체보기 (99)
dh_0e
2022년 UCPC 예선 J번 문제로, 문제를 처음 읽고 나서 STL sort에 cmp 함수 만들어서 제약을 걸어주면 되는 거 아닌가?라는 생각에 쉽게 풀릴 것 같았지만 제약이 생각대로 걸리지 않았고, 다음과 같은 방법으로 해결했다. 해결 방법 (에드혹) 원래 배열을 정렬이 끝난 배열과 비교하는 과정에서 A(정렬 전 배열의 i번째에 있던 값)와 B(정렬 후 배열의 i번째에 있는 값)가 있다고 가정하자.A = B라면 위치가 변하지 않은 것으로 확인할 게 없이 넘어가면 된다.A ≠ B라면 B의 정렬 전 위치에 있던 수가 C라고 하자. C = A라면 A와 B의 위치가 바뀐 것이므로 A x B가 제곱수인지 확인하면 된다. 하지만 C가 A가 아니라면?A, B, C 모두가 다른 것은 A ↔ B, B ↔ C 이런 ..
1. 확인하고 싶은 라인에 코드 중단점을 찍는다여러 개 찍어도 되며, 디버깅 중간에 찍어도 상관없다.for문에 찍을 경우 반복문이 끝날 때까지 중단되므로, 식을 세워 내가 원하는 값일 때만 중단하게끔 설정할 수 있다. 2. 디버깅 시작 or F5 클릭, 환경은 Node.js로 선택 3. 변수 및 중단점 진행 과정 확인 조사식: 식을 추가하여 값을 알고싶은 데이터를 확인할 수 있음변수명에 식을 추가한 값도 확인이 가능 (monsterHp + 100)호출 스택: 호출이 진행된 경로가 스택 형식으로 확인할 수 있음로드된 스크립트: 코드가 실행되면서 로드된 스크립트 파일을 확인할 수 있음중단점: 모든 중단점을 확인할 수 있으며 활성/비활성, 추가/삭제를 할 수 있음 4. 디버깅 툴을 활용하여 디버깅을 진행..
동기화가 고려되지 않은 멀티스레드 코드 예시 (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 값을 넣..