CS

CS/운영체제

[운영체제 10판(Abraham Silberschatz)] 운영체제 구조

운영체제 10판(Abraham Silberschatz)을 읽고 정리한 글입니다. 일부 내용은 생략 되었습니다.운영체제 서비스운영체제는 프로그램 실행 환경을 제공한다. 운영체제는 프로그램과 그 프로그램의 사용자에게 특정 서비스를 제공한다. 물론 운영체제마다 제공하는 서비스는 다르지만 공통된 부류가 있다는 것을 발견할 수 있다. 운영체제가 제공하는 서비스는 다음과 같다.사용자 인터페이스(user interface): 거이 모든 운영체제는 사용자 인터페이스를 제공한다. (GUI, 터치 스크린, CLI)프로그램 수행(program executive): 시스템은 프로그램을 메모리에 적재해 실행 할 수 있어야 한다. 프로그램은 정상적이든, 혹은 비정상적인든 실행을 끝낼 수 있어야 한다.입출력 연산(I/O opera..

CS/네트워크

OAuth 1.0 부터 OAuth 2.1

getting_started_with_oauth_2.0 책을 읽으면서 정리한 내용입니다. 책 이외의 내용이 포함되어 있습니다. OAuth는 Open Authorization으로 애플리케이션 인증을 위한 접근 관한 개방형 프로토콜이다. 근래 서비스를 보면 OAuth를 표준 인증/인가 프로토콜을 사용하고 있다(자체 로그인은 지원하지 않는 경우도 빈번하다)개발을 공부하다보면, OAuth를 통한 인증 인가를 피하기 어려운데, 단순해보이는 것과 달리 OAuth를 제대로 이해하기 못하면 OAuth 로직 구현에 많은 시간을 할애한다.사이드 프로젝트중 OAuth를 다시 한번 만나게 되었는데, 이번 기회를 통해 OAuth를 정리하고자 한다.OAuth의 발전 과정을 알아보면서 OAuth를 이해해보자OAuth 1.0우리가 ..

CS/데이터베이스

트랜잭션

데이터 중심 애플리케이션 설계 책을 읽으면서 정리한 내용입니다. 책 이외의 내용이 포함되어 있습니다. 다음은 데이터베이스를 운영하는 도중 발생할 수 있는 문제이다.끄기 연산은 언제라도 실패할 수 있다.연산중 데이터베이스가 종료될 수 있다.네트워크에 문제가 생겨 데이터베이스 노드간 통신 문제가 생길 수 있다.동시에 발생하는 쓰기 연산에 대해서 덮어쓸 수 있다.부분 갱신으로 인해 클라이언트가 잘못된 데이터를 읽을 수 있다.race condition으로 인한 버그가 발생할 수 있다.위와 같은 문제를 단순화 하고자 트랜잭션이 도입되었다. 트랜잭션은 읽기 쓰기 연산을 하나의 논리적 단위로 묶는 것이다.트랜잭션 내부에 있는 모든 읽기, 쓰기는 하나의 논리적 단위이다.트랜잭션은 전체가 성공하거나 실패한다.(원자성) ..

CS/네트워크

DHCP

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. DHCPDHCP은 Dynamic Host Configuration Protocol 으로서 host에게 IP를 할당하는 프로토콜이다. 정확하게 말하면 사설IP와 기타 구성 정보를 제공받는 프로토콜이다.(그래서 Dynamic Host Address Protocol이 아니고 Dynamic Host Configuration Protocol이다)우리는 사실 매일 DHCP를 사용하고 있다. 유선 네트워크(이더뎃) 또는 와이파이 사용하기 위해 컴퓨터를 네트워크에 연결해야하는데 이때 DHCP를 통해 라우터 또는 공유기에 연결한다. Configuration(Subnet Mask)사용중인 IP address를 확인하기 위해 ipco..

CS/데이터베이스

[MySQL] CLI환경에서 사용하기

스키마MySQL에서는 스키마 라는 개념이 있다. 스키마는 테이블을 가지고 있고 스키마를 기준으로 서로다른 테이블로 분류할 수 있다.작업시에 다양한 서버의 데이터베이스를 스키마로 분류하여 저장한다. CLI환경에서 테이블 명세할때, 해당 테이블이 어느 스키마에 속하는지 알려줘야한다.위 예시에서는 dsc.corpcode에 해당한다.매번 스키마를 적기 불편하다면 작업하려는 스키마를 지정할 수 있다.use 명령어를 사용하면 작업하려는 스키마를 지정할 수 있다.만약 작업중인 스키마가 아닌 외부 스키마를 사용하고 싶다면 "스키마.테이블"으로 명시하면 된다.작업 중인 스키마를 해제하고 싶다면,  information_schema를 지정하면 된다.information_schema는 스키마 정보를 저장하고 있는 DB이다...

CS/네트워크

[Computer Networking A Top-Down Approach] 3.2 Multiplexing and Demultiplexing

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. 이번 절에서 transport-layer multiplexing 과 demultiplexing 을 통해 network-layer에서 host 간의 delivery를 process간의 delivery로 확장하는 것에 대해 알아보자. 이를 위해 internet에 존재하는 transport-layer service를 생각해볼 것이다,tranport-layer는 network-layer에게 segment를 받는다. 이에 transport-layer는 적절한 process로 해당 segment를 전달해야한다, 수신자의 transport-layer는 data를 process에게 바로 전달하지 않고, 중간 socket에게 전달..

CS/네트워크

[Computer Networking A Top-Down Approach] 3.1 Introduction and Transport-Layer Service

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다.  3. Transport Layerapplication와 network layer 사이에서 transport layer는 layered network architecture에서 중심이 되는 layer이다. transport layer는 서로다른 host의 application process에 대해서 communication service 제공하는 중요한 역활을 가진다. 이번 장에서 transport layer의 원칙과 해당 원칙에 관한 논의를 해볼 예정이다. 당연히 TCP, UDP를 중심으로 진행된다.먼저 UDP를 통해 transport layer와 network layer의 관계를 살퍼볼 예정이다. 이후에 TCP..

CS/네트워크

[Computer Networking A Top-Down Approach] 2.7 Socket Programming: Creating Network Application

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. section 2.1에서 살펴 봤듯 network application은 client program와 server의 program으로 각각 서로 다른 end system에 거주하는 형태로 이루어져 있다.(서로 다른 호스트라는 관점에서 그러하다) 두 프로그램이 실행될 때, client process와 server process가 생성되어, 이러한 process가 socket을 통해 서로 읽고 쓰게 된다. network application에는 2가지 유형이 있는데 첫번째는 RFC와 같은 protocol 표준이 존재하는 "open" 된 구현 방식으로 HTTP로 통신하는 client application과 server ..

CS/데이터베이스

[Hadoop 완벽 가이드] Hadoop

이 포스팅은 공부목적으로 작성된 포스팅입니다. 왜곡된 정보가 포함되어 있을 수 있습니다. Hadoop https://hadoop.apache.org/

CS/네트워크

[Computer Networking A Top-Down Approach] 2.6 Video Streaming and Content Distribution Networks

해당 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. Netflix와 YouTube, Amazon Prime과 같은 스트리밍 서비스가 전체 인터넷 트래픽중 80%를 차지한다고 한다. 이러한 스트리밍 버스가 어떻게 동작하는지 알아보자. 2.6.1 Internet Video 저장 스트리밍 비디오 서비스들은 사전에 녹화된 비디오이다. user가 server에 요청하면 video를 건네주는 방식이다. 현재의 많은 internet 회사는 스트리밍을 지원하고 있다. 비디오는 image의 일련의 순서이다.(1초에 24,30 장) 이미지 압축은 상당히 중요한 특징인데, video quality에 직결되기 때문이다. 오늘날 압축 알고리즘은 비디오를 더 높은 quality로 원하는 ..

bluesparrow
'CS' 카테고리의 글 목록