분류 전체보기 (689) 썸네일형 리스트형 polyline encoding [1. 개요] polyline 을 표현하는 방법 중 하나로, lossy compression algorithm 이다. 데이터 손실이 있지만, 일련의 좌표를 단일 문자열로 저장할 수 있다. geojson 형태로 저장하는 것보다 효율적으로 저장 할 수 있다. 본문에서는 WGS84 좌표를 예시로 정리하도록 한다. [2. encoding flow] WGS84 좌표 하나에 대해서 아래와 같이 진행한다. ex) wgs84 좌표(lon, lat) 가 (127.1234567, 32.1234567) 이면, 127.1234567 하나에 대해서 부동소수점 좌표에 (1e+5) 를 곱하여 정수형으로 변환한다. => 소수점 5번째자리 까지만 encoding 한다. => 여기서 데이터 손실이 발생한다. => 더 큰 값을 곱해서 소.. 카프카 명령어 정리 [1. 개요] 카프카 설치 시, 기본적으로 제공하는 명령어를 통해 카프카 관리 [2. 주키퍼 관련 명령어] zookeeper-server-start.sh # 주키퍼 서버 실행 zookeeper-server-stop.sh # 주키퍼 서버 종료 zookeeper-shell.sh # 주키퍼 서버 접속 클라이언트 # 아래와 같은 형태로 서버 접속 정보를 입력할 수 있다. # -server ip:port zookeeper-security-migration.sh # [3. 카프카 관련 명령어] kafka-server-start.sh kafka-server-stop.sh kafka-run-class.sh # 다른 툴들은 결과적으로 이 명령어를 이용하여 실행 된다. # USAGE: kafka-run-class.bat .. topic 생성 시 유의 할 점 [1. partition 과 replication-factor] paritition 개수는 적어도 broker 개수 만큼 있어야 한다. => partition 및 replication-factor 가 모두 1 인 경우, => Leader 장애 발생 시, produce 및 consume 모두 동작하지 않는다.. partition 개수를 하나만 할 경우, replication-fator 는 broker 개수 만큼 설정해야 한다. => replication-factor 는 broker 개수를 넘길 수 없다. => partition 개수는 broker 개수를 넘길 수 있다. => 다른 broker 가 Leader 가 되어, produce 및 consume 이 가능해 진다. partition 개수 replicat.. rdkafka 빌드 [1. 개요] the Apache Kafka C/C++ client library librdkafka 는 C/C++ 환경에서 kafka 클라이언트 구현을 위한 라이브러리 로컬 환경에서 라이브러리 빌드 방법을 정리한다. [2. 개발환경] OS : Windows Compiler : mingw64 리눅스도 비슷한 방식으로 진행한다. [3. 라이브러리 빌드] wget https://github.com/confluentinc/librdkafka/archive/refs/tags/v2.1.1.zip # 혹은 git clone https://github.com/confluentinc/librdkafka 압축 해제 cd librdkafka-2.1.1 mkdir build cd build cmake .. -G "MinGW.. CMake command 정리 2 add_subdirectory (source_dir, [binary_dir], ...) => CMakeLists.txt 가 있는 디렉터리 경로를 source_dir 에 명시하도록 한다. => fd 이분 매칭. [9576] [1. 문제 설명] https://www.acmicpc.net/problem/9576 [2. 풀이 접근] 이분 매칭으로 접근하는 방법 사람에서 책 으로 연결리스트를 구축 # 이 과정에서 책 번호의 범위에 대한 조건이 반영 된다. 이 상태에서 이분 매칭을 구한다. 탐욕법으로 접근하는 방법 책 번호 범위가 가장 작은 사람 부터 책을 할당한다. # 정당성 입증 필요.. 이분 매칭에서 탐욕법을 적용하는 것이 아니라 이분 매칭 풀이법과 탐욕법으로 해결하는 방법이 있다고 보면 되고, 이분 매칭은 탐색 과정 의미를 알 필요가 있다. [3. 코드] 이분 매칭으로 구하는 방법은 생략. 이분매칭. [2188], [11375] [1. 문제 설명] https://www.acmicpc.net/problem/2188 https://www.acmicpc.net/problem/11375 [2. 풀이 접근] 각 그룹에 속한 정점 번호는 1부터 시작이므로, 배열의 크기는 각각 N+1, M+1 이 되어야 한다... 문제 11375 에 경우 인접 행렬은 1000x1000 크기의 배열이 필요하다. (dfs 시간복잡도) 인접 리스트가 좀 더 효율적이다. 속도 향상을 위해 다른 알고리즘을 적용할 수 있다. [3. 코드] [3-1. 코드] mysql 공간 쿼리 [1. 개요] mysql 자료형 중 geometry 를 처리하는 자료형에 대해 정리한다. POINT @ 단일 좌표 (X Y) LINESTRING @ POINT 의 집합, 선(곡선) 등을 표현 POLYGON @ 도형을 표현, POINT 의 집합 @ ESRI Shapefile 기준으로 작성해야 하는가(?) MULTIPOINT @ POINT 의 집합, polyline 혹은 polygon 을 표현하지 않고, 말 그대로 point 의 집합 MULTILINESTRING @ MULTIPOLYGON @ GEOMETRY @ 어떤 유형이든 저장 할 수 있다. GEOMETRYCOLLECTION [2. POINT] point 자료형을 표현(?) 혹은 table 에 insert 하기 위해서 사용하는 쿼리 ST_PointFrom.. 동적계획법. [11727] [1. 문제 설명] https://www.acmicpc.net/problem/11727 [2. 풀이 접근] 놓아야 하는 블록은 3가지 유형이 존재한다. 1*2 유형의 블록은 항상 같은 블록을 쌍으로 배치할 수 밖에 없다. 2*2 유형의 블록은 1*2 유형의 블록을 배치하는 경우와 같은 경우로 볼 수 있다. 위 두가지 블록을 배치하려면 적어도 남은 직사각형의 길이가 2 이상이 되어야 한다. 경우의 수를 따지는 문제로, 재귀의 종료조건 달성 시, 한가지 경우를 달성한 것이며, 이 때, 그 경우의 수 1을 반환하도록 한다. 부분 문제는 어떤 블록을 배치 시, 남은 직사각형을 어떻게 배치 할 지 결정하면 된다. f(n) = f(n-1) + 2*f(n-2) [3. 코드] 네트워크 유량. [11405] [1. 문제 설명] https://www.acmicpc.net/problem/11405 [2. 풀이 접근] [3. 코드] 이전 1 ··· 8 9 10 11 12 13 14 ··· 69 다음