본문 바로가기

전체 글46

Centos 7에 Postgresql 10 설치하기 Postgresql 10을 Centos 7에 설치하는 방법에 대한 정리이다. Centos7의 RPM Repository에 Postgresql 10에 대한 Repository를 추가 해야 합니다. su - rpm -Uvh https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm Postgresql 서버와 Client 관련 라이브러리를 설치합니다. yum install -y postgresql10-server postgresql10 설치는 순식간에 끝이 나고, 이제 Postgresql DB를 초기화 하는 작업을 수행 하여야 합니다. /usr/pgsql-10/bin/postgresql-10-setup initdb 해당 명령.. 2018. 1. 18.
MySQL의 캐릭터셋 인코딩 이해하기 Database가 문자와 관련된 데이터 타입이 주를 이루기 때문에 캐릭터셋 인코딩에 대해서는 꼭 짚고 넘어가야한다. 본인도 문제가 발생할 때마다 검색을 통한 해당 문제 해결에 집중하였던 터라, 반성을 하고 이렇게 MySQL 캐릭터셋에 대해서 정리하고자 한다. 문자 집합(Character Set) 혹은 문자 인코딩이란? 문자 집합(character set, charset) 또는 문자셋은 정보를 표현하기 위한 글자들의 집합을 정의한 것으로, 직접적으로 사용되지 않을 수도 있고 한 문자 집합을 여러 문자 인코딩에서 쓸 수도 있다. 특히 집합 안의 문자들에 음수가 아닌 정수들을 배정한 것을 부호화된 문자 집합(coded character set, CCS)이라 한다. 문자 집합은 ASCII와 같이 더 이상의 문자.. 2018. 1. 17.
CentOS7 MySQL 5.6 설치 방법 CentOS 7에 MySQL 을 설치하는 방법을 정리한다. CentOS 7부터 Repository에서 제공되는 기본 데이터베이스가 MariaDB로 변경 되었다. 그래서 MySQL을 설치를 위해서는 RPM을 사용하여야 한다. [운영체제 버전] CentOS Linux Release 7.2.1511 [설치 명령어]# yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # yum -y install mysql-community-server --> 설치 과정에서 에러 발생한다. Error: Package: akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda) Requires: mariadb-se.. 2018. 1. 16.
SQL Server 2012 Express 설치 (on Windows Server 2008 R2) SQL Server 2012를 설치 하여야 하는데, 현재의 운영체제(Windows 10)에서는 설치가 되지 않는다. 그래서 VirutalBox로 적당히 Windows Server 2008을 설치하여 SQL Server 2012를 설치하고자 한다. SQL Server 2012를 설치하기 위한 사용은 아래와 같다.지원되는 운영 체제Windows 7, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 232비트 시스템Intel 또는 호환 가능한 1GHz 이상의 프로세서(2GHz 이상 권장)가 장착된 컴퓨터64비트 시스템:1.4GHz 이상의 프로세서최소 512MB RAM(2GB 이상 권장)2.2GB의 여유 .. 2018. 1. 15.
블루투스 송신기 : 아반트리 프리바2(Priva2) 리뷰 아이가 자는 시간에 TV를 시청하다 보면, TV 소리에 아이가 깰까봐 편안하게 TV를 보는 것이 힘들다. 그래서 TV의 음성을 블루투스 이어폰으로 전송할 수 있는 블루투스 송신기를 검색하였다. 불루투스 송신기(Booltooth Transmitter)란?블루투스송신기란 블루투스 기능을 지원하지 않는 기기(TV,스마트빔,노트북,컴퓨터 등)음원을 블루투스 이어폰,헤드폰,스피커로 전송해주는 역할을 하는 기기로서, 3.5mm AUX단자나 RCA 케이블을 연결하는 것만으로 그 즉시 사용 가능한 것이 특징이다. (출처 : http://www.datanews.co.kr/news/article.html?no=89103) 그렇다면 많고 많은 송신기 중에서 현재 나에게 필요한 블루투스 송신기란 무엇일까~? 그 대상을 한정 .. 2018. 1. 12.
iSCSI Target 스레드 구조 Open Source iSCSI target의 비교 자료의 기술에 의하면, IET의 architecture는 이하와 같이 도시할 수 있습니다. IET는, kernel내에서 패킷 수신을 전문으로 수행하는 Receive thread와 송신을 수행하는 Send thread, File I/O를 수행하는 I/O thread의 3 종류의 thread로부터 구성되어 있습니다.iSCSI protocol로 요구된 READ/WRITE request를, Receive thread→Receive queue→I/O thread→Send queue→Send thread의 순서에 처리해, reply를 돌려준다고 하는 단순한 architecture입니다.이 구성의 이점은, iSCSI target의 실제 장점은 cache를 관리하지 .. 2018. 1. 12.
리눅스 커널의 네트워크 패킷 처리 방법 다른 장치도 마찬 가지지만, 네트워크 인터페이스가 패킷을 수신 하였을 때 커널에게 알려 주는 방법은 크게 폴링과 인터럽트 방식이 있습니다. 오늘은 두 가지 방식과 새로운 기술에 대해서 짚고 넘어가도록 하겠습니다. 1. Polling 방식 이 방식은 커널이 주기적으로 장치의 상태를 체크 하는 방식 입니다. 쉽게 말해, 장치의 레지스터를 읽어서 패킷의 수신 여부를 확인 하고, 장치가 새로운 패킷을 가지고 있을 경우 이를 처리 하는 방식 입니다. 패킷이 언제 올 줄 모르기 때문에 커널은 주기적으로(예를 들어, 0.0001초 마다) 장치가 패킷을 받았는지 검사 하는 것이지요. 이 방식은 패킷이 없을 경우에도, 커널이 계속 해서 패킷의 수신 여부를 검사 하기 때문에 CPU 자원의 낭비를 발생 시킨다고 할 수 있습.. 2018. 1. 12.
container_of 매크로 이해하기 kobject는 그 자체만으로는 쓰임새가 없고 주로 다른 객체 안에 포함되서 사용된다. 대부분의 sysfs 관련 함수나 디바이스 드라이버 등에서 kobject의 포인터를 인자로 전달받아서 사용한다. 그래야 드라이버 작성자가 어떤 데이터 구조를 만들어서 사용해도 인터페이스는 통일될 수 있다. 그래서 kobject의 포인터에서 kobject가 속한 객체의 포인터를 계산하는 일이 많아지고 이를 위한 container_of 매크로가 만들어졌다. 예를 들어 커널 2.6.23에서 include/linux/cdev.h에는 다음과 같이 문자 장치를 표현하는 cdev 구조체가 선언되어 있다. 13 struct cdev { 14 struct kobject kobj; 15 struct module *owner; 16 con.. 2018. 1. 12.
리눅스 커널 프로세스 페이지 테이블(Process Page Table)과 커널 페이지 테이블(Kernel page table) 프로세스 페이지 테이블 - 프로세스의 선형 주소 공간은 두 부분으로 나누어진다. 1. 0x00000000 ~ 0xbfffffff(3GB 영역)의 선형 주소는 프로세스가 사용자 모드와 커널 모드 양쪽 어디에 있더라도 항상 접근 할 수 있다. 2. 0xc0000000 ~ 0xffffffff(1GB 영역)의 선형 주소는 프로세스가 커널 모드에 있을 때만 접근 가능하다. - 프로세스가 사용자 모드에서 동작 중일 때는 0xC0000000보다 작은 선형 주소를 만들어 사용하고, 커널 모드에서 동작 중일 때는 커널 코드를 수행하면서 0xC0000000 이상의 선형 주소를 사용한다. - 0xC0000000 이하의 선형 주소를 매핑하는 페이지 전역 디렉토리(PGD)의 해당 엔트리들의 내용은 프로세스마다 다르다. 반면, .. 2018. 1. 12.