Topic/CS
-
REST API란? (feat. 디자인 가이드)Topic/CS 2022. 11. 19. 13:18
REST란? REST는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding(로이 필딩)이 2000년 논문에서 소개합니다. 현재의 아키텍처가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있다고 판단했기 때문에, 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍처를 소개했는데 그것이 바로 Representational safe transfer (REST)입니다. 웹에 존재하는 모든 자원(이미지, 동영상, DB)에 고유한 URI를 부여해 활용 하는 것입니다. RESTful: REST 원리를 따르는 시스템으로 REST 특징을 지키면서 API를 제공하는 것입니다. 용어 정리 리소스(Resource): 데이터의 일부 (ex. user) 콜렉션(Collection): 리소스의 집합 (ex. u..
-
OSI 7계층 | TCP/IP 4계층 비교Topic/CS 2022. 4. 1. 09:17
TCP/IP 4계층 OSI 7계층 Protocols Application Layer Application Layer FTP, HTTP, Telnet Presentaion Layer JPEG, MPEG Session Layer NFS, SQL, PAP Transport Layer Transport Layer TCP, UDP Internet Layer Network Layer IPv4, IPv6 Network Access Layer Data Link Layer ARP, CDP, STP Physical Layer Ethernet, Wi-Fi OSI 7계층 OSI 7계층을 이용하면 네트워킹 시스템에서 일어나는 일들을 시각적으로 쉽게 설명할 수 있다. 이 계층을 활용한다면 네크워크 관리자는 문제의 원인의 범위를 ..
-
웹페이지가 사용자에게 보여지는 과정Topic/CS 2022. 3. 28. 13:29
순서 사용자가 브라우저에 url을 입력한다. url에서 도메인 name 부분을 DNS 서버에서 검색한다. DNS 서버에서 해당 도메인 name에 해당하는 ip 주소를 찾아 url 정보와 함께 전달한다. 웹페이지 url 정보와 전달받은 ip 주소는 http를 사용해 http 요청 메시지를 생성한다. 이제 생성된 http 요청 메시지를 TCP를 이용해 인터넷을 거쳐 ip 주소의 컴퓨터로 전송한다. 도착한 http 요청 메시지는 http 프로토콜을 사용해 http 응답을 만든다. 만들어진 http 메시지는 다시 TCP를 이용해 요청한 컴퓨터로 전송한다. 도착한 http 응답 메시지는 http 프로토콜을 사용해 웹 페이지 데이터로 변환한다. 변환된 웹 페이지의 데이터는 웹 브라우저에 의해 출력된다. 요약 URL..
-
SSR vs. CSR (feat. SEO)Topic/CS 2022. 3. 23. 21:16
SSR (Server Side Rendering) 웹 페이지를 브라우저에서 렌더링하는 대신, 서버에서 렌더링합니다. 브라우저가 서버에 URI로 GET 요청을 보내면, 서버는 정해진 웹 페이지 파일을 브라우저로 전송합니다. 그리고 서버의 웹 페이지가 브라우저에 도착하면 완전히 렌더립됩니다. -> 서버에서 웹 페이지를 브라우저로 보내기 전에, 서버에서 완전히 렌더링했기 때문에 Server Side Rendering이라 합니다. e.g. 웹 페이지의 내용에 데이터베이스의 데이터가 필요한 경우 -> 서버는 데이터베이스의 데이터를 불러와 웹 페이지를 완전히 렌더링한 후 브라우저에게 응답으로 보낸다. i.e. 웹 페이지를 보던 사용자가 브라우저의 다른 경로로 이동한다면 -> 이동할 때마다 서버는 다시 필요한 웹 페..
-
네트워크 심화 과정Topic/CS 2022. 2. 15. 13:47
IP & IP Packet 💥 인터넷 내부에서 클라이언트와 서버가 통신하는 법 IP(인터넷 프로토콜) 주소를 컴퓨터에 부여하여 이를 사용 패킷 단위로 전송을 하면 노드들은 목적지 IP에 도달하기 위해 서로 데이터를 전달 IP 지정한 IP 주소(IP Address)에 패킷(Packet)이라는 통신 단위로 데이터 전달 IP Packet pack + bucket의 합성어 패킷! 우체국 송장처럼 전송 데이터를 무사히 전송하기 위해 출발지 IP, 목적지 IP와 같은 정보가 포함되어 있다. IP의 한계점 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송해버린다.. 비신뢰성 중간에 패킷이 사라질 수 있다! 패킷의 순서를 보장할 수 없다. Ex. 전달 데이터의 용량이 큰 경우 패킷 단위로 나눠 전달..
-
운영체제, 프로세스, 스레드, 멀티 스레드, 가비지 컬렉션Topic/CS 2022. 2. 11. 15:19
프로세스, 스레드, 멀티 스레드 ✔️ 프로세스 (process) 운영체제에서는 실행 중인 하나의 애플리케이션을 프로세스라고 부른다. 사용자가 애플리케이션을 실행하면, 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행한다. 이때 실행되는 애플리케이션을 프로세스라고 부른다. Ex.크롬 브라우저를 두 개 실행하면, 두 개의 프로세스가 생성된다.(하나의 애플리케이션이 여러 프로세스(다중 프로세스)가 되기도함) -> MacOS에서는 활성 상태창, Windows에서는 작업관리자에서 확인 가능 스레드 (Thread) 한 가지 작업을 실행하기 위해 순차적으로 실행한 코드를 실처럼 이어 놓았다고 해서 스레드 라고 부른다. 하나의 스레드는 코드가 실행되는 하나의 흐름이기 때문에, 한 프로세스 내에 ..
-
컴퓨터 공학 기초, 문자열, 그래픽, 운영체제Topic/CS 2022. 2. 10. 11:54
문자열 ✔️ 2010년 이후, 컴퓨터 세계에서 우리는 인코딩 방식이 통일된 유니코드를 이용하고 있다. 문자열 하나는 몇 바이트일까? 알파벳 하나가 1바이트(byte)를 차지하던 시절이 있었지만 요즘에는 유니코드를 사용해야 텍스트를 정확히 저장할 수 있다. 유니코드란? 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자를 다루는 알고리즘 등이 포함된다. 인코딩이란 어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것. 이 신호를 입력하는 인코딩과 문자를 해독하는 디코딩을 하기 위해서는 정해진 기준을 바탕으로 입력과 해독이 처리되어야 한다. 이렇게 인코딩과 디코딩의 기준을 ..