320x100

쿼리큘럼 개인적 정리 30

직렬화버퍼

Protocol Buffer https://jeong-pro.tistory.com/190 Protocol Buffer 원리로 배우는 고성능 직렬화, 역직렬화 전략! Protocol Buffer 예제 테스트(구글이 쓰는 프로토콜 버퍼가 무엇인가 프로토콜 버퍼(Protocol Buffer = protobuf)란 직렬화 데이터 구조다. (XML, JSON과 유사) 직렬화 데이터 구조를 알려면 직렬화(Serialization)가 뭔지 알아야한다. 꽤 긴데 천천히 설 jeong-pro.tistory.com Flat Buffer https://google.github.io/flatbuffers/ FlatBuffers: FlatBuffers Overview FlatBuffers is an efficient cross..

메모리 풀 / 프리리스트

메모리 풀은 미리 사용할 객체들을 할당해놓고 필요할 때 가져가고 사용 후엔 반환하며 쓰는 개념이다. 예전엔 다음과 같이 각 메모리들을 할당해두고 각 메모리에 다음 사용할 객체의 포인터 주소를 넣는 식으로 linked list로 구현한 버전을 찾아볼 수 있었다. template class ObjectPool { using uchar = unsigned char; public: static void* operator new(size_t size) { ScopeLock sl(&lock_); if (nullptr == free_list_) { alloc(); } auto* pAvailable = free_list_;// 할당해주는 블럭은 free 목록에서 제외 free_list_ = *reinterpret_ca..

게임의 길찾기

A* A-Star 알고리즘은 출발 지점부터 목표 지점까지 최단거리를 찾는 알고리즘이다. f(n) = g(n) + h(n)이라는 공식으로 정리되는데, 꼭지점 N까지의 경로 가중치(g(n))와 지점 n부터 목표 지점까지의 추정 경로 가중치의 합계이다. 현재 지점부터 8방위(↖↑↗→↘↓↙←)방향으로 순회하며 가장 작은 가중치를 찾아가며 반복한다. 한 번 방문한 지점은 방문 목록에 넣어 다시 방문하지 않도록 한다. 의사 코드 pq.enqueue(start_node, g(start_node) + h(start_node)) // 우선순위 큐에 시작 노드를 삽입한다. while pq is not empty // 우선순위 큐가 비어있지 않은 동안 node = pq.dequeue // 우선순위 큐에서 pop한다. if ..

이미지 조작 기술

https://sacstory.tistory.com/entry/%EB%B0%94%EC%9D%B4%EB%84%88%EB%A6%AC-%EC%9D%BD%EA%B8%B0 [C++] 이미지 바이너리 읽기 이미지의 구조를 한번 파악해 볼까 하고, jpg 파일을 열어보려고 프로그램을 만들었는데, text 파일을 Open시키는 것처럼 해서는 이미지 파일을 끝까지 열 수 없는 현상이 생겼다. C/C++ 언어는 최근 sacstory.tistory.com https://swstar.tistory.com/202#gref stb : C/C++ 이미지 처리 라이브러리 라이브러리 소개 이번에는 C언어 또는 C++ 프로그램에서 이미지 파일을 다루는 데 유용한 stb 라이브러리에 대해 얘기해볼까 합니다. JPEG, PNG, TGA, ..

이미지 파일구조

이건 잘 모르겠다. 그냥 URL로 대체해야겠다. https://m.blog.naver.com/yeonsu1936/222023024193 [프로젝트 | 자료조사] JPEG(JPG) 파일 구조 → marker 뒤의 2byte는 그 marker의 전체 길이 (2byte 포함) blog.naver.com https://yottu.tistory.com/20 4. JPEG 파일 속 들여다 보기 이제의 디지털 사진(P1010194.jpg)의 바이트 정보를 파악하여 실제로 어떤 포맷으로 파일이 구성되어 있고, 압축된 정보가 어떻게 저장되어 있는 지 살펴보고자 한다. 사진 데이터의 분석은 yottu.tistory.com https://thebook.io/006796/ch03/ Visual C++ 영상 처리 프로그래밍: ..

320x100