728x90
반응형
SMALL

CS 11

[네트워크] OSI 7 Layer

OSI 7 계층이란? OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말하며 개방형 시스템 상호 연결 모델의 표준입니다. 실제 인터넷에서 사용되는 TCP/IP 는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화한 것입니다. 탄생 배경 초기 여러 정보 통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성이 없었습니다. 모든 시스템들의 상호 연결에 있어 문제없도록 표준을 정한 것이 OSI 7계층입니다. 표준(호환성)과 학습도구에 의미로 제작했습니다. OSI 7 계층을 나눈이유는? 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문이다. 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기..

CS/네트워크 2023.12.10

[컴퓨터구조] 시스템 프로그래밍

시스템 프로그래밍(System Programming)이란? 시스템 프로그램은 컴퓨터 시스템을 동작시키는 또는 활용하는 소프트웨어 개발 프로그램을 말한다. Windows 운영체제 기반의 컴퓨터에게 일을 시키기 위한 프로그램을 구현하는 것으로 하드웨어를 사용할 수 있도록 도와주는 프로그램이다. 예로 Windows, Unix 와 같은 운영체제들이 있다. Windows나 UNIX와 같은 운영체제에서 제공하는 라이브러리(운영체제의 기능을 활용할 수 있는 시스템 함수들의 집합)를 사용하여 프로그램을 개발하는 개발자들도 시스템 프로그래머라고 부를 수 있다. 또한 어셈블리 언어나 C 언어를 이용하여 하드웨어를 직접 컨트롤하는 개발자들도 시스템 프로그래머라고 부른다. 시스템 프로그래밍의 폭 넓은 정의 → 특정 운영체제 ..

CS/컴퓨터구조 2023.12.05

[Network] REST API

REST(Representational State Transfer) REST이란 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미한다. 즉, 자원의 표현(representational)에 의한 상태 전달(State Transfer)을 말한다. 이때 자원이란 해당 소프트웨어가 관리하는 모든 것을 말하며 자원의 표현은 그 자원을 표현하기 위한 이름을 뜻한다. 예로 DB의 학생 정보가 자원일 때, 'students'를 자원의 표현으로 정하는 예가 있다. 상태(정보) 전달이란 데이터가 요청되어지는 시점에 자원의 상태(정보)를 전달하는 것을 말하며 JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이다. 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹..

CS/네트워크 2023.12.04

[Network] Cookie vs Session

HTTP 프로토콜의 비연결성과 무상태성으로 인해 연결을 끊는 순간 클라이언트와 서버의 통신은 끝나며 상태 정보를 유지하지 않습니다. 이러한 특징은 리소스 낭비가 적다는 큰 장점도 있지만 통신할 때마다 새로 연결해야 하기 때문에 클라이언트가 매번 인증을 해야 한다는 단점도 있습니다. 매번 인증을 해야 하는 번거로움을 해결해야 하기 위한 기술로 쿠키와 세션이 있습니다. 쿠키 (Cookie) 사용자가 어떠한 웹사이트를 방문할 때 사이트가 사용하고 있는 서버에서 클라이언트 로컬에 서버에 인증하기 위한 클라이언트 정보를 저장하는 값을 말합니다. 클라이언트의 상태 정보를 클라이언트 로컬에 저장하여 참조한다. 구성 요소 쿠키의 이름(name) 쿠키의 값(value) 쿠키의 만료시간(Expires) 쿠키를 전송할 도메..

CS 2023.12.03

[Package] npm vs yarn

npm과 yarn은 자바스크립트 런타임 환경인 노드(Node.js)의 패키지 관리자입니다. npm과 yarn의 차이점을 알아보기 전, 패키지 관리자에 대해서 잘 모르신다면 여기를 참고해주세요. 전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스(opens new window)에 올리면 npm, yarn과 같은 패키지 관리자를 통해 설치 및 삭제가 가능합니다. 그리고 CLI(Command-line interface)를 통해 패키지 설치 및 삭제뿐 아니라 패키지 버전 관리, 의존성 관리도 편리하게 할 수 있습니다. npm (Node Package Manager) 노드를 설치할 때 자동으로 설치되는 기본 패키지 관리자입니다. 크게 두 가지 역할을 수행합니다. 첫 번째 역할은 온..

CS 2023.12.01

[Package] Package manager

우리는 프로젝트를 만들 때 npm과 yarn을 통해서 패키지를 다운받은 후 개발을 시작한다. 이때 npm과 yarn은 패키지 관리자라고 불리는데 패키지 관리자란 무엇일까? 패키지 관리자(Package manager) 패키지 관리자는 패키지를 관리하는 작업을 편리하고 안전하게 수행하기 위해 사용되는 툴을 말합니다. 여기서 패키지를 관리하는 작업이란 패키지를 설치, 업데이트, 수정, 삭제하는 작업을 의미합니다. 패키지(Package) 라이브러리와 유사하게 코드의 배포를 위해 사용되는 코드의 묶음이라고 생각하면 됩니다. 패키지는 아래의 정보를 가지고 있는 코드의 배포 단위입니다. 라이브러리 실행 파일 컴파일한 소프트웨어의 바이너리(binary) 환경설정(configuration) 정보 의존성(dependen..

CS 2023.11.30

[Network] What is hosting?

호스팅(hosting)이란? 호스팅이란 정보의 집약체인 서버의 전체 혹은 일부를 이용할 수 있도록 임대해 주는 서비스를 말합니다. 서버를 관리하기 위해서는 24시간 내내 안정적으로 전기를 공급해야 하고 빠르고 안정적인 인터넷 회선을 사용해야 하며 철저한 보안 시스템을 갖추고 있어야 합니다. 따라서 개인이 서버를 관리하기보다 전문 업체의 호스팅 서비스를 사용하는 것이 일반적입니다. 호스팅 종류 웹 호스팅 호스팅 중 웹 호스팅은 만든 웹페이지를 PC에만 저장해놓으면 PC 사용자는 해당 웹페이지를 볼 수 있어도 그 외엔 누구나 접속할 수 없고 볼 수도 없습니다. 이럴 때 배포 과정 후 도메인 연결까지 해야 누구나 접속할 수 있고 볼 수 있는 웹페이지가 되는데 이러한 과정을 웹호스팅 서비스가 해줍니다. 웹 서버..

CS 2023.11.29

[Network] What is Domain Name?

도메인 이름(Domain Name)이란? 도메인은 쉽게 말해 문자로 만들어진 인터넷 주소입니다. 인터넷과 연결되어 있는 장치(컴퓨터 등)들을 식별하는 주소인 IP는 사람이 기억하기 어렵기 때문에 기억하기 쉽도록 도메인이 만들어진 것이지요. 여기서 도메인 이름은 사용자가 원하는 사이트에 방문하기 위해 브라우저에서 입력하는 주소를 말합니다. 지문처럼 웹사이트는 각각 고유한 도메인 이름을 가지고 있으며 동일한 이름을 함께 사용할 수 없습니다. 이러한 도메인 이름 덕분에 우리는 즐겨찾는 쇼핑몰 이름이나 블로그에 쉽게 방문할 수 있게 되었습니다. 도메인 구조 및 유형 도메인은 root 도메인 이하에 역트리 구조로 구성되어 있으며 3단계로 구분됩니다. 때문에 오른쪽부터 왼쪽으로 내려갑니다. 실제로 전체 URL 중 ..

CS 2023.11.27

[Network] Browsers and how they work?

브라우저가 어떻게 동작되는지 알아보기 전에 먼저 브라우저가 무엇인 지 알아보자. 브라우저(Browser)란? 브라우저는 인터넷에 접속하여 정보를 얻기 위해 사용되는 소프트웨어 응용 프로그램입니다. 사용자는 브라우저를 통해 웹 사이트를 탐색하고 미디어 콘텐츠를 시청하고 온라인 응용 프로그램 및 서비스와 상호 작용할 수 있습니다. 우리가 흔히 알고 있는 크롬, 사파리, 파이어폭스 등이 이에 속합니다. 브라우저는 클라이언트로서 웹 서버에 접속하여 정보를 요청(request)하고 웹 서버는 컴퓨터나 브라우저를 지원하는 장치에 결과를 표시하는 브라우저로 정보를 응답(response)함으로써 소통합니다. 예를 들면 사용자가 브라우저의 주소창에 웹 URL을 입력하면 브라우저는 해당 웹 서버에 요청을 보낸 다음 HTM..

CS 2023.11.24

[Network] What is HTTP? HTTPS?

HTTP(Hypertext Transfer Protocol) 란? HyperText는 Hyper(초월한) + Text(문자)의 합성어로 컴퓨터 화면이나 전자 기기에서 볼 수 있는 텍스트(데이터)를 말하며 사용자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트를 말합니다. Protocol은 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙을 말합니다. 이를 합쳐보면 사용자가 브라우저를 통해 확인하는 데이터들은 HTTP에 의해 Protocol(규칙)에 맞춰 Transfer(전달)되는 것입니다. 쉽게 말해 HTTP는 인터넷에서 데이터를 주고받을 수 있는 프로토콜이라고 할 수 있습니다. 이렇게 규칙을 정해두었기 때문에 모든 프로그램이 이 규칙에 맞춰 개발해 서로 정보를 교환할 수..

CS 2023.11.23
728x90
반응형
LIST