본문 바로가기

Information Technology

(114)
[PostgreSQL] 외부 데이터 COPY 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 이번 포스팅에서는 pgAdmin에서 쿼리문을 통해 외부 데이터를 pgAdmin 내부의 테이블로 COPY 하는 방법에 대해 알아보겠습니다. 우선 pgAdmin에 가져올 CSV 데이터를 저장하겠습니다. 여기서 CSV 파일이란 엑셀 파일과 같이 열과 행으로 구성되어 데이터 베이스에서 사용되는 파일 형식입니다. CSV라는 이름은 Comma-Seperated Value의 첫 글자를 딴 것으로부터 유래했습니다. 엑셀이나, 다른 DB를 통해 데이터를 확인하면 열과 행에 맞춰 볼 수 있지만, 실제 CSV 파일을 열어보면 위의 사진처럼 데이터들이 콤마(,)를 통해서 구분되고 있음을 알 수 있습니다. 즉 엑셀이나 DB에서 볼 때엔 정갈하게 각 ..
[PostgreSQL] 자료형 - numeric, real, 그리고 double 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 테이블을 만들고, 테이블을 구성하는 칼럼을 만들고, 칼럼을 구성하는 데이터의 타입을 정해줘야 합니다. 이번 포스팅에서는 여러 데이터 타입 중 numeric, real, 그리고 double에 대해 알아보겠습니다. Numeric numeric 데이터 타입은 정수 또는 숫자를 저장할 수 있습니다. 특징이 있다면 함수에서 매개변수를 설정할 수 있듯이, numeric 데이터 타입도 자신이 설정하려는 값을 precision과 scale이라는 변수를 통해 전달할 수 있다는 점입니다. 위의 코드를 보면 테이블을 구성하고 칼럼을 만들어줄 때 데이터 타입을 numeric(20, 5)라고 설정했습니다. 여기서 20은 소수점 앞으로 최대 몇 자리의..
[Python] 간단한 소켓 프로그래밍 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) echo_server.py import socket # 서버에서 소켓을 받을 호스트 주소와 포트 번호를 매개변수로 전달 def run_server(host='127.0.0.1', port=7788): BUF_SIZE = 1024 # Address Family = IPv4 , TCP 통신을 위해 STREAM 소켓 타입 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:# socket.socket()을 통해 socket 객체를 생성 sock.bind((host, port))# socket.bind()에 (IP주소, 튜플) 을 매개변수로 bind. bind를 통해 소켓을..
[운영체제] Disk Management & Scheduling 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 디스크 관리 최소 단위 -> 섹터 외부에서는 논리적 블록 단위로 디스크를 관리. 이 논리적 블록이 섹터에 맵핑이 되어서 디스크를 관리. 섹터 0번은 디스크에서 가장 바깥쪽 실린더의 첫 번째 트랙의 첫 번째 섹터. 주로 부팅 영역을 관리 - Seek time: 헤드가 해당 실린더(트랙)로 움직이는 데 걸리는 시간. 이게 디스크 접근 시간에서 가장 큰 비중을 차지함. 일종의 기계 장치가 이동하기 때문에 시간이 오래 걸림 - Rotational latency: 디스크가 회전을 해서 디스크 헤드까지 오는 시간. - Transfer time: 실제로 데이터를 읽고/쓰는 시간. 굉장히 적은 시간을 차지. * Disk bandwidth: ..
[운영체제] File System Implementations(2) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) Page cache: 페이지 단위(4KB) Buffer cache: 파일 입출력 측면. 운영체제가 사용자의 요청을 받아서 디스크에서 가져온 정보를 사용자에게 바로 주지 않고 buffer cache에 저장한 뒤에 전달. 이후에 버퍼에 저장된 내용을 요청하면 다시 디스크까지 가지 않고 버퍼에서 데이터를 전달. 논리적 블록(디스크의 섹터, 예전에는 512Byte. 페이지 단위인 4KB에 비해 작음) 예전에는 버퍼 캐시와 페이지 캐시를 구분해서 사용했다면, 최근에는 Unified Buffer Cache를 많이 사용. 버퍼와 페이지 캐시를 통합. 버퍼 캐시의 단위도 작은 단위가 아닌 페이지와 동일(4KB)한 단위의 블록을 사용함. 페이..
[운영체제] File System Implementations 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 테이프: 순차 접근만 가능. 건너뛰기 불가능 하드 디스크, 플래시 메모리: 건너뛰기 가능. 직접 접근 가능한 매체 1) Continguous Allocation start: 시작 위치 length: 길이 mail의 start가 19이고 length가 6 => 19번 ~ 24번까지(6개)가 mail의 파일 데이터 디렉터리: 디렉터리 밑에 있는 존재하는 파일들의 메타 데이터 정보. - 단점: 1) 파일들의 길이가 균일하지 않기 때문에 중간의 free block으로 인한 외부 조각 발생 2) 파일 생성 이후에 연속 할당이 가능하지 않은 크기로의 확장 제약 -> 이를 위해 미리 메모리상에서 빈 공간을 확보하는 방법 -> 당장 사용하지..
[MySQL] MySQL 기초 컴퓨터에서 mysql의 bin 디렉토리가 존재하는 위치로 이동한 후, mysql -uroot(루트 유저로 사용) -p(패스워드 입력) CREATE DATABASE 명령어를 통해 database 생성 SHOW DATABASES; 명령어를 통해 DB 서버에 존재하는 Database들을 확인 USE 명령어를 통해 사용하려는 DB 선택 SQL - Structured - Query - Language
[운영체제] File Systems 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 메모리 -> 주소를 통해 접근하는 단위 파일 -> 이름을 통해 접근하는 단위 리눅스 같은 OS에서는 단순히 데이터 저장 외에 장치를 관리하기 위해 파일 시스템을 사용 - Operation: 생성, 읽기, 쓰기, reposition, open, close 대게의 파일 읽기 -> 파일의 시작 부분부터. 파일을 한 번 읽으면 파일의 포인터가 다음 위치로 자동 이동. 필요에 따라 파일의 시작 부분, 혹은 현재 위치 포인터 부분이 아니라 특정 부분부터 읽거나 쓰고 싶을 때 그 포인터를 설정하는 연산이 reposition(lseek) 연산 * Open: 파일의 메타 데이터를 디스크에서 메모리로 올려놓음 - File attribute(me..