728x90
반응형
SMALL

CS 14

[네트워크] OSI 7 Layer

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

CS/네트워크 2023.12.10

[컴퓨터구조] 컴퓨터 하드웨어 구성

컴퓨터 시스템은 하드웨어와 소프트웨어로 구성된다. 하드웨어: 데이터를 처리하는 물리적인 기계장치 소프트웨어: CPU에게 어떤 작업을 지시하는 명령어로 작성된 프로그램 그리고 운영체제 (OS, Operating System)은 컴퓨터 하드웨어를 관리하는 소프트웨어이다. 컴퓨터 하드웨어는 크게 프로세서, 메모리(기억장치), IO 장치로 구성되고, 이들은 시스템 버스로 연결된다. 하드웨어 실체가 있는(시각적으로 보이면서도 만질 수 있는), 컴퓨터의 모든 물리적인 부품을 통틀어 의미한다. ※ 예를 들어, Windows를 사용하기 위한 노트북 혹은 Android/iOS 사용을 위한 스마트폰, 그 외 모니터, 키보드 마우스 등이 모두 하드웨어 IT 기업은 대고객 서비스를 위한 엔터프라이즈 급의 고성능 하드웨어를 주..

CS/컴퓨터구조 2023.12.08

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

시스템 프로그래밍(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

[Network] TCP/IP 프로토콜

TCP/IP 란? 사람끼리 소통할 수 있는 언어에도 한국어, 영어, 일본어, 중국어 등 여러 언어가 있듯이, 컴퓨터끼리 소통할 수 있는 프로토콜에도 TCP, HTTP, FTP 등 여러 프로토콜들이 존재합니다. 그 중 인터넷과 관련된 프로토콜을 모은 것을 TCP/IP라고 부릅니다. 계층으로 관리하는 TCP/IP TCP/IP는 OSI 7 Layer 중에서 Layer 3, Layer 4를 다루는 프로토콜입니다. TCP/IP는 4계층으로 나뉩니다. 그런데 왜 굳이 TCP/IP를 계층으로 나누어야할까요? 😮 그 이유는 아래와 같습니다. 변경의 용이성 만약 어디에서 사양이 변경되었을 때, 전체 계층을 바꿀 필요 없이 해당 계층만 변경하면 됩니다. 효율 증가 각 계층에서 해야하는 일에 충실해지기 때문에 효율이 증가하..

CS 2023.12.02

[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] DNS and how it work?

DNS(Domain Name System)를 알아보기 전, Domain Name에 대해서는 https://mi-dairy.tistory.com/entry/Internet-What-is-Domain-Name [Internet] What is Domain Name? 도메인 이름(Domain Name)이란? 도메인은 쉽게 말해 문자로 만들어진 인터넷 주소입니다. 인터넷과 연결되어 있는 장치(컴퓨터 등)들을 식별하는 주소인 IP는 사람이 기억하기 어렵기 때문에 기억하 mi-dairy.tistory.com DNS(Domain Name System) 란? DNS는 브라우저에 입력된 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환합니다. 도메인 이름을 사용했을 때 입력한 도메인을 실제 네트워크상에서 사용하는 ..

CS 2023.11.28
728x90
반응형
LIST