본문 바로가기

전체 글

(774)
mysql. master-slave 구성 [1. 개요]mysql db 서버 운영 시, master-slave 구성을 통해 아래와 같은 장점 등을 확보read / write 분리를 통한 부하 분산데이터 백업 및 복구master 장애 시, slave 를 통한 고가용성master-slave 구성을 위한 작업은 아래와 같은 순서로 진행.master 서버에서, replication 권한을 갖는 계정을 생성.master 서버에서, replication 을 위한 conf 파일 수정 master 서버에서, replication 할 database dump 수행slave 서버에서, replication 을 위한 conf 파일 수정slave 서버에서, master 에서 dump 한 파일을 이용하여 복구 진행slave 서버에서, master 서버 접속 정보 설정 ..
리눅스 공유 라이브러리에 관하여 [1. 개요].so 파일을 참조하는 application (c++ 으로 작성 된 혹은...) 은 런타임 시,필요한 공유 라이브러리를 로드하여 사용하는데, 이 때, 시스템 상 미리 정의 된 위치에서 필요한 라이브러리를 찾는다. 아래와 같은 명령어를 통해, 사용하고자 하는 app 이 참조하는 라이브러리 목록을 확인 할 수 있다.$ ldd $(which curl) 문제는, 필요한 라이브러리를 찾지 못하는 경우, app 실행이 되지 않는 것이며,여기서는 이러한 문제를 해결하기 위하여 해야 할 조치를 정리한다.[2. 기본적으로 찾는 경로]가장 단순한 방법은 시스템이 기본적으로 찾는 위치에 사용 할 라이브러리를 위치시키는 것이다. 32bit 프로그램은 아래와 같고/lib/usr/lib/usr/local/lib64..
구조체 대입 연산 [1. 개요]구조체 간 대입 연산 시 생각 해 볼 만한 부분?별도로 복사 생성자나 대입 연산자 등을 구현하지 않으면, 컴파일러가 디폴트로 제공하는 것을 사용하게 되는데 멤버의 고정 길이를 갖는 배열이 있다면?Q) 얕은 복사가 발생하지 않나?A) 배열의 이름은 배열의 시작 주소를 포현하는 포인터이지만, 배열의 이름은 수정 할 수 없는 값이다. 따라서, 컴파일러는 고정 길이의 배열을 대상으로 깊은 복사를 하도록 디폴트 메소드를 제공한다. 어떻게 구현할지는 컴파일러 마다 다를 수 있음. (단, 배열은 그 크기를 아므로 memcpy 를 통해서 할 수 도 있다...)[2. 예제]#include #include struct Mystruct { int A; int B; ..