분류 전체보기
[Computer Networks] HTTP란?
HTTP는 Hypertext Transfer Protocol의 약자로 다음과 같다. HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜 HTTP는 웹상에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트는 서버에게 Request(요청)를 보내고, 서버는 클라이언트에게 Response(응답)를 보내는 클라이언트-서버 구조로 이루어진 프로토콜이다. 이러한 HTTP 특징은 다음과 같다. TCP 커넥션 기반 : HTTP는 Application Layer에서 동작하므로 연결은 Transport Layer의 TCP 커넥션을 기반으로 한다. (TCP 커넥션을 유지하고 한 번에 여러 객체를 전송하면 persistent HTTP, TCP 커넥션을 끊고 연결 한 번에 하나의 객체를 전송하면 non-per..
[Operating Systems] 운영체제란?
운영체제란 무엇일까? 컴퓨터 시스템의 자원을 효율적으로 관리하는 시스템 소프트웨어 프로세서, 기억장치, 입출력 장치 등을 효율적으로 관리하며, 한정된 CPU와 메모리를 가지고 적절히 분배해준다. (무조건 1/n이 능사가 아니며, 마치 한 국가의 정부가 각 부처에 예산을 공평하고 효율적으로 분배하는 것과 같다.) 좁은 의미의 운영체제 : 커널 (운영체제의 핵심 부분으로 메모리에 항상 상주) 넓은 의미의 운영체제 : 커널뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념 운영체제의 분류에는 크게 3가지가 있다. 동시 작업 가능 여부 단일 작업 : 한 번에 하나의 작업만 처리 다중 작업 : 동시에 두 개 이상의 작업 처리 사용자의 수 단일 사용자 다중 사용자 처리 방식 일괄 처리 (batch processin..
[Computer Networks] Circuit Switching과 Packet Switching
네트워크 상에서 데이터를 주고받는 방식인 Circuit Switching(회선 교환 방식)과 Packet Switching(패킷 교환 방식)을 정리한다. # Circuit Switching Circuit Switching은 출발지에서 목적지까지 가는 길(회선)을 특정 사용자만을 위해 할당했다고 생각하면 된다. 예를 들어 전화와 같은 통신을 생각하면 되는데, 회선 전체를 점유하고 있기에 실시간 통신이 가능하고 속도와 성능이 일정하며, 다른 사람이 끼어들 수 없다. 다만, 이러한 특징으로 인해 Bandwidth(대역폭, 일정한 시간 내에 통과할 수 있는 데이터량의 척도)가 1 Mbps라면 100kb를 사용하는 유저 10명이 Circuit Switching으로 통신하고 있을 경우 최대 10명밖에 사용하지 못하..
[Computer Networks] 프로토콜(Protocol)이란?
네트워크 공부를 시작하며, 계속 사용되는 단어인 프로토콜을 알아보자! 먼저 위키피디아를 보자, A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synchronization of communication and possible error recovery methods. Protocols may be implemented by hardware,..
[Java] BufferedReader와 BufferedWriter
백준과 같이 input 값을 직접 받아야 하는 알고리즘 문제를 자바로 풀다 보면 Scanner 사용 시 시간 초과가 발생하는 문제가 있다. 이를 BufferedReader와 BufferedWriter를 사용해 해결한다. #BufferedReader 문자열을 입력받는 Scanner에 대응되는 클래스이다. 다만, 잘 알고쓰자. 먼저 Oracle 공식 문서를 보면, Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines. 요약하면 BufferedReader는 문자를 버퍼링 하는 클래스이다. 원래 InputStreamRe..
[AWS] Region과 Availability Zone
# Region AWS에는 크게 Region이라는 국가별 사용 가능 지역이 존재한다. 전 세계의 데이터 센터를 클러스터링 하는 물리적 위치인데 쉽게 말해 그냥 전 세계를 지원하는 AWS가 국가 단위로 데이터 센터를 분리시킨 개념이다. 한 나라에 Region이 여러 개일 수도 있으며, 우리나라의 경우 서울에 한 개의 Region이 존재한다. (Region 명은 ap-northeast-2 이다.) # Availability Zone 그 Region 안에서도 Availability Zone이라는 Region을 분리시킨 개념이 존재하는데, 이 Availability Zone이 필요한 이유는 명확하다. 만약, Region에 Availability Zone이 없거나 1개일 경우에 무슨 일이 벌어지는지 상상을 해보자..