320x100

전체 글 435

Release 프로그램의 비정상 종료시 덤프를 무조건 남기기

가끔 Release 모드로 빌드한 프로그램이 비정상 종료될 때 덤프가 안남는 경우가 있다.그럴 땐 마이크로소프트에서 만든 해당 툴을 사용해 프로세스를 감시하면, 비정상 종료시 덤프가 발생한다. 다운로드https://learn.microsoft.com/ko-kr/sysinternals/downloads/procdump 실행procdump.exe -mp -w -e -h -64 ProcessName.exe D:\Folder\ -mp: mini dump plus (full dump는 오래 걸림)-w: 대상 프로세스가 실행될 때까지 대기-e: 프로세스 내에서 처리되지 않는 exception 발생시 dump-h: 응답 없음 발생시 dump-64: 64비트 dump

ibd 파일로 데이터 복구하기

mysql 에서 저장된 데이터들은 테이블이름.ibd 파일로 저장된다.해당 파일로 다른 곳에서의 복구를 위해선 해당 파일과 테이블의 스키마가 필요하다. t_table 이란 이름으로 예를 들어보자. 1. 복구할 DB에 테이블 스키마로 빈 테이블 생성CREATE TABLE t_table[구조].... 2. 빈 테이블의 데이터 파일 연결 해제ALTER TABLE t_table DISCARD TABLESPACE;FLUSH PRIVILEGES; 3. 빈 테이블 ibd 위치에 내가 복구하려는 ibd 파일 복사 및 사용 권한 부여cp /home/myaccount/t_table.ibd /var/lib/mysql/databasename/chown mysql:mysql t_table.ibd 4. 테이블에 데이터 파일 연결A..

DB/MYSQL 2024.04.28

Elastic search에 C++로 데이터 입력시에 발생한 문제 1

Elastic search에 C++ http client로 데이터를 밀어넣었을 때, 첫 번째 Post는 정상이였고, 그 이후부터 다음과 같은 에러가 발생했다. { "error": { "root_cause": [ { "type": "content_type_header_exception", "reason": "java.lang.IllegalArgumentException: only one Content-Type header should be provided" } ], "type": "content_type_header_exception", "reason": "java.lang.IllegalArgumentException: only one Content-Type header should be provided"..

카테고리 없음 2024.01.05

Redis 다중 설치하기

1. Redis 설치하기 (최신버전용) sudo apt-get update sudo add-apt-repository ppa:redislabs/redis sudo apt update sudo apt install -y redis-server 2. Redis 설정 파일 복사 sudo cp /etc/redis/redis.conf /etc/redis/redis-2.conf (중복X) 3. 복사한 conf 파일 수정 sudo vim /etc/redis/redis-2.conf (중복X) // 중복 방지용 port 6379 => port 6380 (중복X) pidfile /var/run/redis/redis-server.pid => /var/run/redis/redis-server-2.pid (중복X) logfil..

OS/Linux 2023.11.28

UTF-8 문자열 관리

C++20부터 char8_t, u8string등 UTF-8을 지원하기 위한 타입이 추가되었으나, 다른 라이브러리와의 호환등을 위해 개인적으론 아직 char와 string을 주로 사용하고 있다. UTF-8에서 한글은 3바이트를 사용하는데, UTF-8 문자 "가" 는 각 바이트에 234, 176, 128로 저장된다. 유니코드표에서 "가"를 찾아보면 U+AC00 이라고 되어있고, AC00는 2바이트(172, 0) 값인데, 저렇게 저장되는 이유는 각 바이트는 다음 그림과 같은 기본 규칙이 있기 때문이다. 표에 의하면 기본적으로 3바이트를 쓰는 한글은 기본 1110xxxx 10xxxxxx 10xxxxxx 값이 정해져 있고, 유니코드의 HEX값은 x에 치환되는 값만 표에 적어둔 것이다. 0xAC00을 0b로 변경하..

320x100