본문 바로가기

분류 전체보기

(694)
[C++] struct byte align [1. 개요]구조체 작성 시, 메모리 접근 및 구조체 크기 개선을 위한 byte align 관련 하여 정리한다.[2. 예제]#include struct A { char a; // 1byte int b; // 5byte char c[2]; // 7byte};struct B { char a; // 1byte int b; // 5byte char c; // 6byte};struct C { char a; // 1byte char c; // 2byte int b; // 6byte};struct AA { char a; // 1byte char c[2]; // 3byte int b; // 7byte};i..
아호코라식. [10256] [코드]
CMake 작업 환경 구성 [1. 개요]CMake 기반 C++ 작업 환경 구성 시, 필요한 부분을 정리한다.[2. C/C++ 관련 property]View -> Command palette -> C++ 검색 하면, Edit configuration 이 검색되는데,일단, UI 기반에서 필요한 부분을 설정한다.Compiler pathIntelliSense modeInclude path[3. CMake 관련 설정]CMakeLists.txt 가 있는 위치에서 VSCode 실행 시, cmake 가 알아서 수행되는데,경우에 따라서는 cmake 실행 시 필요한 파라미터가 누락되어 작업 환경이 오염될 수 있다.그래서, cmake 실행이 안되도록 할 필요가 있다.필요 시에만, 사용자가 수동으로 실행하는게 더 나은 듯.CMakeLists.txt 가..
트라이. [5052] [1. 문제 설명]https://www.acmicpc.net/problem/5052[2. 풀이 접근]공통 된 접두어가 있는 경우 해당 목록은 일관성이 없다고 볼 수 있다.트라이를 이용하여, 공통된 접두어가 있는지 확인 할 수 있다.[3. 코드]
C++ 참조자 처럼 사용하기(?) [1. 개요]C++ 참조자와 비슷한 개념이 rust 에도 있다고 생각하는데, C++ 참조자와 같은 패턴을 rust 에서도 사용하려니, 잘 안되서 정리해본다.[2. 간단한 예제]fn main() { let mut myarray: [u32; 4] = [0; 4]; println!("{:?}", myarray); myarray[0] = 1; // 직접 접근하여 값을 수정. println!("{:?}", myarray); let rv = &myarray[0]; // 0번째 원소의 참조자, 읽기만 가능함. println!("{:?} {:?}", rv, *rv); let rv = &mut myarray[1]; // 1번째 원소의 mutable 참조자. // rv = 2; ..
map 과 unordered_map 의 차이점. [1. 개요]std::map 은 이진 탐색 트리를 기반으로 한다.search 연산을 대상으로 로그의 시간복잡도를 갖는다.std::unorderd_map 은 해시 테이블을 기반으로 한다.key 에 대한 hash 함수가 잘 정의 된다면, search 연산을 대상으로 일반적으로 상수 시간의 시간 복잡도를 갖는다. 그러나 key 를 대상으로 iterate 시 차이점이 있는데,map 은 key 가 정렬 조건 상 앞서는 것 순서대로 조회 할 수 있지만,unordered_map 은 그렇지 않다. (그래서 unordered_map 인 듯.)또, 경우에 따라서, unordered_map 이 map 보다 더 많은 메모리를 사용 할 수 있다. [2. 예제]#include #include #include #include co..
정적 라이브러리 생성 및 링킹.. [1. 개요]g++ -v --help 를 통해서, 모든 옵션을 확인 할 수 있다.[2. 코드 구조]main.cppcalc\s1.cpps2.cpputil.hpp[3. 절차]calc 라이브러리를 빌드하도록 한다.main.cpp 컴파일 시 calc 라이브러리를 링킹 하도록 한다.A. 라이브러리 빌드cd calcg++ -c s1.cpp s2.cpp# 컴파일 및 어셈블까지 하고, 링킹은 하지 않는다.# *.cpp 로 해도 된다.ar rcus libcalc.a *.o# 각 object 파일을 명시해도 된다. (s1.o  s2.o ...) # 현재 디렉터리에 있는 모든 object (.o) 파일을 하나의 파일로 묶어준다.# 일반적으로, .a 파일은 static 라이브러리 파일을 의미한다.# 일반적으로 ,lib.a 형..
chrono 타이머 [1. 개요]C++ 애플리케이션 작성 시, 여러가지 타이머 관련 예제 정리[2. 예제]
filebeat troubleshooting [1. 사례 및 해결 방안]Q) 윈도우 서버의 filebeat 를 새로 설치했다. ( 버전 업 하기 위해 )filebeat 를 윈도우 서비스에 등록하고 실행하였는데,Error 1067: The process terminates unexpectly 라는 문구와 함께, 정상 실행되지 않았다. A) C:\ProgramData\filebeat\logs\filebeat 를 삭제하도록 한다.https://discuss.elastic.co/t/cannot-start-filebeat-as-windows-service/142135
shard 재배치 [1. 개요]index 를 구성하는 shard 를 다른 node 로 옮길 필요가 있는 경우가 있을 경우,특정 node 의 disk 를 확보하기 위해,특정 index 의 primary 와 replica shard 가 배치 된 노드를 잠시 중단해야 하는 경우...[2. 절차]옮길 shard 확인 GET _cat/shards index_name / shard_name / shard_type / state  / docs_nr / disk_space / ip / node_nameshard 의 stateINITIALIZINGRELOCATINGSTARTEDUNASSIGNEDshard 옮기기POST _cluster/reroute shard 상태 확인GET _cat/shards/{index_name}shard 의 siz..