Computer Science

Computer Science/Network

www.naver.com이 나타나는 과정

1. https://www.naver.com:443 -> 요청이 된다 -> HTTP 요청 메시지를 생성한다. 2. 클라이언트에서 HTTP 메시지를 전송한다. -> 웹 브라우저가 HTTP 메시지를 생성하고 -> SOCKET 라이브러리를 통해 전달(TCP/IP 연결) -> TCP/IP 패킷 생성(HTTP 메시지 포함) -> LAN 드라이버와 장비를 통해 서버로 전송 3. 서버가 요청(request)패킷을 받고 응답(response) 메시지를 전송한다. 4. 응답 패킷이 도착하면 웹 브라우저가 HTML을 렌더링 한다.

Computer Science/Network

URI(Uniform Resource Identifier)

URI란? Uniform: 리소스를 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음. html이나 사진 등 모든 것) Identifier: 다른 항목과 구분하는데 필요한 정보 URL: Uniform Resource Locator - Locator: 리소스가 있는 위치를 특정. 홍길동이 사는 아파트에 가면 홍길동이 있다. URN: Uniform Resource Name - Name: 리소스에 이름을 부여. 홍길동. 위치는 변할 수 있지만, 이름은 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되어 있지 않다. (== 잘 쓰지 않는다) 상용: URI == URL URI의 문법 scheme scheme://[userinfo@]host[:p..

Computer Science/Network

인터넷 네트워크(IP, TCP/UDP, PORT, DNS)

IP(Internet Protocol) - IP Address: 각 컴퓨터가 가지고 있는 고유한 주소 - 지정한 IP주소에 데이터를 전달하는 역할 - 패킷이라는 통신 단위로 데이터를 전달하는 역할 - 패킷(Packet): 전송 데이터를 출발지 IP, 목적지 IP, 기타...로 감싼 데이터의 형식화된 블록, 컴퓨터 네트워크에서 데이터를 주고받을 때 정해놓은 규칙. 데이터 조각. IP 프로토콜의 한계 비연결성 - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성 - 중간에 패킷이 사라질 수도 있다 - 패킷이 순서대로 도착하지 않을 수도 있다 프로그램 구분 - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우도 있다 TCP(Transmission Control Protoc..

Computer Science/Design Pattern

이터레이터 패턴(Iterator Pattern)

이터레이터 패턴이란? - 데이터의 형식에 상관 없이 동일한 방법으로 데이터를 하나씩 조회해볼 수 있는 패턴 - 배열을 하나씩 꺼내보는 방법과 Map을 하나씩 꺼내보는 방식은 다름. - 집합체 클래스를 배열처럼 순차적으로 조회해볼 수 있다. @Getter @Setter public class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } } - 학생 클래스 public interface Aggregate { Iterator createIterator(); } - Iterator 역할을 만들어내는 인터페이스를 결정 public class..

Computer Science/Network

OSI 7계층(OSI 7 Layer)? TCP/IP 4계층?

OSI(Open Standard Interconnection Model) 7계층이란? 국제표준화기구(ISO)가 1977년 정의한 국제 통신 표준 규약이다. 네트워크의 기본 구조를 7개 계층으로 나눠서 표준화한 통신 규약으로 현재 다른 모든 통신 규약의 기반이 된다. TCP/IP(Transmission Control Protocol/ Internet Protocol Model) 4계층이란? OSI 7계층의 네트워크에서 데이터를 전송하는 과정을 4개의 계층으로 단순화시켜 사용하는 모델이다. 인터넷 모델이라고도 한다. - 프로토콜: 컴퓨터 간에 정보를 주고받을 때의 통신 방법에 대한 규칙, 표준이다. 1. 물리 계층 (Physical Layer) - 물리적으로 연결된 2대의 컴퓨터가 0과 1의 나열을 주고받을..

Computer Science/Design Pattern

팩토리 패턴

팩토리 패턴이란? - 객체를 생성하는 인터페이스는 미리 정의하되, 인스턴스를 만드는 클래스의 결정은 서브 클래스에서 내리는 패턴 - 객체를 생성하는 메소드를 추상클래스의 추상메소드로 미리 정의한다. // 객체를 생성할 추상 클래스 정의 public abstract class PizzaFactory { abstract Pizza createPizza(String name); } - 어떤 클래스가 만들어질 지는 CheesePizzaFactory가 정한다. public class CheesePizzaFactory extends PizzaFactory{ @Override Pizza createPizza(String name) { switch (name) { case "pickle": return new Chee..

Computer Science/컴퓨터 구조

패리티 비트와 해밍 코드

패리티(Parity) 비트란? - 전송 과정에서 1비트 오류를 검출하기 위한 검증 코드다. - 1바이트 구조에서 7비트 크기의 아스키 코드를 제외한 나머지 1비트다. - 짝수 패리티 방식: 데이터 전송 과정에서 1비트 오류가 발생하면 전체 비트에서 1의 개수가 홀수 개, 오류가 없으면 짝수 개 유지. 위의 그림에서 짝수 패리티는 멀쩡한 상태. 다른 비트에 잘못된 값으로 1이 빠지거나 추가되면 오류 발생을 잡아내는 용도. - 홀수 패리티 방식은 반대. - 송신 호스트와 수신 호스트는 짝수 패리티나 홀수 패리티 중 한가지 방식을 사용하되 동일하게 사용해야 한다. 예) 바코드 해밍 코드 - 패리티 비트를 보고 오류를 정정할 곳을 찾아 수정하는 자기 오류정정 코드 - 패리티 비트는 오류를 발견만 하고 수정하지는..

Computer Science/컴퓨터 구조

고정소수점과 부동소수점

각 방식 표현 방식 예 고정소수점: 1234.567 부동소수점: 1.234567 X 10^3 고정소수점 - 소수부의 자릿수를 미리 정해놓고 고정된 자릿수의 소수를 표현하는 것 - 제한된 자릿수로 인해 표현할 수 있는 범위가 작다는 단점 존재 부동소수점 - 수식을 이용해 매우 큰 실수까지 표현이 가능하다. - 대부분의 시스템에서 부동소수점 방식으로 실수를 표현. - 부동소수점 방식에서는 오차가 발생 -> 컴퓨터에서 실수 표현은 언제나 근사치

레이튼
'Computer Science' 카테고리의 글 목록 (4 Page)