분류 전체보기 101

[DB] 13-4. Data-Dictionary Storage

지금까지 우리는 relation 그 자체의 표현에 대해서만 다뤄왔다. Relation DataBase System은 relation에 대한 정보를 갖고 있어야 한다. (ex. relation의 스키마) 일반적으로 데이터에 대한 데이터를 metadata라고 한다. Relational 스키마와 relation에 대한 메타데이터는 data dictionary 또는 system catalog라고 부르는 곳에 저장되어 있다. data dictionary에 저장되어 있어야 할 데이터들은 다음과 같다. - relation의 이름 - 각 relation의 속성의 이름 - 속성의 특징(domain), 길이 - 데이터베이스에서 정의된 view의 이름과 view의 정의 - 무결성 제약조건(Integrity constrain..

[Network] 2-4. DNS - The Internet's Directory Service

인간은 다양한 방법으로 식별된다. 출생증명서에 기재된 번호, 신분증, 운전면허 등으로 식별될 수 있다. 각각은 사람들을 식별하는 데 사용될 수 있지만, 특정한 맥락에서는 하나의 식별자가 다른 식별자보다 더 적절할 수 있다. ex) 미국의 세금 징수 기관 IRS의 컴퓨터들은 출생증명서 이름 대신 고정 길이의 사회보장번호를 사용하는 것을 선호 일반 사람들은 사회보장번호보다 기억하기 쉬운 이름을 선호한다. 인터넷도 마찬가지다. host에 대한 식별자로 hostname을 사용한다. (ex. www.google.com) 이 방법이 특히 사람들에게는 기억하기 쉬운 방법이다. 하지만, hostname은 host의 위치 정보에 대해 별다른 정보를 제공하지 못한다. ex. www.eurecom.fr은 country co..

[OS] Chapter 1-4. 운영체제의 작동

지금까지 컴퓨터 시스템 구성 및 아키텍처에 대한 내용을 전반적으로 살펴봤다. 이제 OS에 대해서 다뤄보도록 하겠다. OS는 프로그램이 실행하는 환경을 제공한다. 이번 절에서는 여러 OS가 갖고 있는 공통적인 내용들에 대해서 살펴보도록 하겠다. 컴퓨터 전원을 켜거나 재부팅할 때와 같이 컴퓨터를 실행하려면 초기 프로그램을 실행해야 한다. 이러한 초기 프로그램 또는 부트스트랩 프로그램은 단순한 형태를 띠는 경향이 있다. 일반적으로 컴퓨터 HW 내에 펌웨어로 저장된다. 뿐만 아니라 CPU 레지스터, Device Controller, Memory content 까지 시스템의 모든 측면을 초기화한다. 부트스트랩 프로그램은 OS를 load하는 방법과 해당 시스템을 실행하는 방법을 알아야 한다. 때문에, 부트스트랩 프..

OS Concepts 10th 2023.08.01

기상청 API 이용방법

기상청 API 허브 홈페이지 기상청에서 제공하는 날씨 데이터는 기상자료개방포털을 통해서 csv 형태로 데이터를 얻어내는 방법이 있다. 하지만, 이 방법은 원하는 데이터를 얻어야 할 때 마다 직접 홈페이지로 들어가서 csv로 다운을 받아야 하는 번거로운 작업을 해줘야 한다. 이에 대한 대안으로 기상청 API 허브를 이용할 수 있다. 상황 1) 지상관측 데이터를 받아온다. 2) Java를 이용해서 기상청 데이터를 csv 형태로 저장하려고 한다. 3) 회원가입을 하고나서 인증키까지 받아냈다. URL 파악 지상관측 자료 중 기간 정해서 조회하는 URL을 살펴보겠다. - 시간자료(기간조회) ex) https://apihub.kma.go.kr/api/typ01/url/kma_sfctm3.php?tm1=2015121..

다양한 주제 2023.07.28

[OS] Chapter 1-3. 컴퓨터 시스템 구조

1-2에서는 전형적인 컴퓨터 시스템의 일반적인 구조를 살펴봤다. 컴퓨터 시스템은 사용된 범용 처리기(general-purpose processor)의 개수에 따라 분류할 수 있다. 1. 단일 처리기 시스템 (Single-processor Systems) 코어(core)는 명령(instruction)을 실행하고 로컬로 데이터를 저장하기 위한 레지스터를 포함한 구성요소다. 코어를 가진 하나의 메인 CPU는 프로세스의 명령어를 포함한 범용 명령어 세트를 실행할 수 있다. 위와 같은 시스템에는 디스크, 키보드와 같은 장치별 프로세서 형태로 제공되는 특수 목적 프로세서도 포함된다. 쉽게 말하면 한 번에 오직 하나의 프로세스만 실행할 수 있는 시스템이 단일 처리기 시스템이다. 하지만, 현대 컴퓨터 시스템에서는 si..

OS Concepts 10th 2023.07.28

Windows 배치파일

배치파일이란? MS-DOS, OS/2, 윈도우에서 명령 인터프리터에 의해 실행되게끔 고안된 명령어들이 나열되어 있는 텍스트 파일 배치 파일이 실행될 때, COMMAND.COM 또는 cmd.exe와 같은 shell 프로그램이 파일을 읽어 명령어를 줄 단위로 실행한다. 배치 파일은 보통 실행 파일을 자동으로, 연속적으로 실행할 때 유용하며 시스템 관리자가 따분한 일들을 자동화하기 위해 자주 사용한다 파일 확장자 .bat : 마이크로소프트가 배치 파일에 사용한 최초의 파일 확장자. MS-DOS, 모든 버전의 윈도우즈에서 실행됨 .cmd : Windows에서 배치 파일에 사용되고 명령어를 해석하기 위해 cmd.exe로 출력됨 (COMMAND.COM은 식별하지 못함) 예시 @echo off REM scp 명령어 ..

다양한 주제 2023.07.27

Windows 작업 스케줄러

Linux에는 crontab이 있다면 Windows에는 작업 스케쥴러가 있다. crontab과 마찬가지로 원하는 동작을 정해진 시간에 동작시키거나 정해진 간격에 따라 실행하도록 할 수 있다. 작업 스케줄러를 windows 창에서 검색해서 들어간다. 작업 만들기를 클릭해서 새 작업 만들기 창을 열고 가장 먼저 나오는 `일반` 부분을 본다. 여기서 작업의 이름과 설명을 원하는대로 설정하면 된다. 밑에 있는 보안 옵션도 마찬가지로 사용자가 원하는대로 설정하면 된다. 3. `트리거`부분을 본다. 트리거는 원하는 작업이 실행되는 시간을 설정하는 부분이다. 새로 만들기를 클릭한다. 해당 창을 통해 원하는 동작을 언제 어떻게 실행할 지 설정할 수 있다. 자세한 내용은 각 설정의 명칭에 잘 나와있으니 그걸 참고하면 된..

다양한 주제 2023.07.26

netstat에 대해

netstat이란? 네트워크 연결, 라우팅 테이블, 인터페이스 통계정보 등을 보여주는 명령어 네트워크 연결 관련 정보 출력 netstat [address_family_options] [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--symbolic|-N] [--extend|-e[--extend|-e]] [--timers|-o] [--program|-p] [--verbose|-v] [--continuous|-c] [delay]netstat 바로 뒤에 옵션이 아닌 다른 아무것도 없기 때문에 열려 있는 소켓의 리스트를 출력한다...

다양한 주제 2023.07.25

scp에 대해(정의, 사용법, 비밀번호 없이 동작하도록 하는 방법)

scp scp = OpenSSH Secure file copy 네트워크를 통해 host 간의 파일을 복사한다. 데이터 전송을 할 때 ssh 연결 위에서 SFTP 프로토콜을 사용한다. 로그인 세션을 통해서 동일한 인증과 보안을 제공한다. 인증을 필요로 할 때 마다 비밀번호(password) 또는 암호(passphrase)를 요구한다. 사용법 기본적인 문법 scp [-옵션] 데이터를_가져올_경로 데이터를_저장할_경로 이때, 가져올 경로 또는 저장할 경로가 원격 PC에 있는 경로라면 아래의 형식으로 적어주면 된다. user이름@ip주소(host주소):/원하는/파일/또는/디렉토리경로 로컬이라면? /원하는/파일/또는/디렉토리경로 만 적어주면 된다. ex) 로컬의 /home/usera/test 경로의 디렉토리를 원..

다양한 주제 2023.07.25

[OS] Chapter 1-2. 컴퓨터 시스템의 구성

현대의 범용 컴퓨터 시스템은 아래 그림과 같이 하나 이상의 CPU와 버스를 통해 연결된 여러 가지 장치 컨트롤러로 구성된다. 각각의 장치 컨트롤러는 특정 유형의 장치들을 담당한다. ex) 1개의 시스템 USB 포트 ⇒ 여러 장치를 연결할 수 있는 USB 허브에 연결할 수 있음 장치 컨트롤러(device controller)는 일부 로컬 버퍼 저장소 & 특수 목적 레지스터 집합을 유지관리한다. 또한 제어하고 있는 주변 기기들과 로컬 버퍼 저장소 간의 데이터가 이동할 수 있도록 한다. 일반적으로 OS에는 각 장치 컨트롤러(device controller)마다 장치 드라이버(device driver)가 있다. 장치 드라이버는 device controller의 동작에 대해 잘 알고 있고 나머지 OS에 대해 장치..

OS Concepts 10th 2023.07.24