녕녀기의 실험일지

[ IT ] IT 용어 정리 2탄(3,4장) 본문

-- Data --

[ IT ] IT 용어 정리 2탄(3,4장)

녕녀기 2023. 4. 7. 23:51

안녕하세요. 녀기 입니다.

 

지난 번 용어 정리 1탄에 이어 2탄 준비했습니다.

 

3장과 4장을 정리해 보려 하는데

 

쉽지 않겠죠😱

 

그럼에도 불구하고 가보겠습니다.

 

(1탄이 궁금하신 분들은 보고 오셔도 좋습니다🫡)

 

https://nyeoki-log.tistory.com/7

 

[ IT ] IT 용어 정리 1탄(2장)

안녕하세요. 녀기입니다! 정말 저같은 비전공자에게 있어 IT 용어는 마치 마법 주문과 같아요ㅠㅠ😱 일평생을 컴맹처럼 살아가던 사람이 용어를 받아들이자니 쉽지 않고.... (과학이나 공학 용

nyeoki-log.tistory.com

(사전적 의미의 출처는 위키백과입니다.)


목차

  1. 컴퓨터 네트워크(Computer Network)
  2. LAN(Local Area Network, 근거리 통신망 / 구내 정보 통신망)
  3. MAN(Metropolitan Area Network, 도시권 통신망)
  4. WAN(Wide Area Network, 광역 통신망)
  5. 인터넷 프로토콜(IP, Internet Protocol)
  6. IPv4
  7. IPv6
  8. 서버(Server)
  9. 클라이언트(Client)
  10. 프론트엔드, 백엔드(Front-end, Back-end)
  11. 리눅스(Linux)
  12. 우분투(Ubuntu)
  13. 인터넷 호스팅 서비스(Internet Hosting Service)
  14. API(Application Programming Interface)
  15. JSON(JavaScript Object Notation)
  16. HTTP 상태 코드

1. 컴퓨터 네트워크(Computer Network) : 노드들이 자원을 공유할 수 있게 하는 디지털 전기 통신망의 하나, 분산돼 있는
컴퓨터를 통신망으로 연결한 것

2. LAN(Local Area Network, 근거리 통신망 / 구내 정보 통신망) : 네트워크 매체를 이용해 집, 사무실, 학교 등의 건물과 같은

가까운 지역을 한데 묶는 컴퓨터 네트워크

3. MAN(Metropolitan Area Network, 도시권 통신망) : 큰 도시 또는 캠퍼스에 퍼져 있는 컴퓨터 네트워크, LAN과 WAN의

중간 크기를 가짐

4. WAN(Wide Area Network, 광역 통신망) : 드넓은 지리적 거리/장소를 넘나드는 통신 네트워크 또는 컴퓨터 네트워크,

광역 통신망은 종종 전용선과 함께 구성

 

 

책에서는

 

컴퓨터가 연결된 작은 지역을 LAN이라고 소개합니다.

 

학교 컴퓨터실이나 아파트 하나, 커피숍 등 하나하나 모두 LAN입니다. 

 

이 때 LAN을 연결하는 것이 LAN선이죠.

 

도시의 여러 LAN을 합쳐 만든 것이 MAN입니다.

 

그리고 도시와 도시, 나라와 나라를 모두 연결해 WAN을 만들었습니다.

 

이제는 나라 단위로 파일을 주고 받을 수 있게 됐습니다.


5. 인터넷 프로토콜(IP, Internet Protocol) : 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고 받는데 

사용하는 정보 위주의 규약이며, OSI 네트워크 계층에서 호스트의 주소 지정과 패킷 분할 및 조립 기능을 담당

6. IPv4 : 인터넷 프로토콜의 4번째 판, 주소 체계는 총 12자리 4부분으로 나뉘며 각 부분은 0~255까지 3자리 수로 표현

7. IPv6 : 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로서 버전 6 인터넷 프로토콜, IPv4의 기존 32 비트

주소공간에서 벗어나, IPv6는 128 비트 주소공간을 제공

 

구글 플레이 스토어에서 카카오톡을 다운받는다고 가정해 봅시다.

 

스마트폰에서 '카카오톡 설치 파일을 보내줘!'라는 신호가 가까운 기지국으로 갑니다.

WAN을 따라 신호는 '구글'이 가진 컴퓨터로 신호가 갑니다.

→ 구글은 설치 파일을 다시 기지국으로 WAN을 통해 보냅니다.

→ 그리고 그 파일이 다시 제 폰으로 오게 되죠.

 

이 때 해당 컴퓨터의 위치를 IP 주소라고 합니다. 

 

인터넷에 접속하는 순간 지금 위치에 맞는 IP 주소를 할당 받습니다.

 

보통 IP 주소는 IPv4를 사용하지만, 개수에 한계가 있어 IPv6까지 사용하게 됐습니다.


8. 서버(Server) : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램 또는 장치를 의미함, 특히 서버에서 동작하는 소프트웨어를 서버 소프트웨어라고 

9. 클라이언트(Client) : 네트워크를 통해 서버라는 다른 컴퓨터 시스템 상의 원격 서비스에 접속할 수 있는 응용 프로그램이나

서비스를 말함

10. 프론트엔드, 백엔드(Front-end, Back-end) : 소프트웨어 공학에서 소프트웨어의 presentation layer(프론트엔드)과 data access layer(백엔드) 또는 물리 구조 또는 하드웨어 사이의 관심사를 분리하는 것을 의미,

클라이언트 - 서버 모델에서 클라이언트는 일반적으로 프론트엔드로 간주되며 서버에서 실제로 presentation 작업이 수행되는 경우에도 일반적으로 서버가 백엔드로 간주됨

 

제가 카페를 운영한다고 합시다.

 

가게의 손님이 왔네요. 이 분은 이제 클라이언트 입니다.

 

저희는 홀 서빙을 담당하고 있는 분이 있습니다. 서버죠.

 

클라이언트는 서버에게 아이스 아메리카노 한 잔을 주문합니다.

 

그리고 바리스타가 커피를 만들어서 서버가 클라이언트에게 가져다 줍니다.

 

여기서 말을 좀 바꿔 본다면

 

카카오톡으로 파일을 주고 받습니다.

 

카카오톡 측에 파일을 요청하는 우리는 클라이언트입니다.

 

그리고 카카오톡 측에서 운영하는 컴퓨터는 서버입니다.

 

클라이언트의 요청을 받고 파일을 클라이언트에게 전송합니다.

 

서버용 컴퓨터를 따로 구축해 놓는 이유는

 

수 많은 사람들이 동시에, 아무 때나 요청한 신호를 처리하기 위해서죠. 

 

서버용 컴퓨터는 컴퓨터의 연합군입니다.

 

 

고객의 바로 앞에 있는 클라이언트 컴퓨터를 다른 말로 프론트 엔드(클라이언트, 클라, 프론트),

 

고객이 볼 수 없는, 즉 고객 뒤에 있는 서버를 백 엔드(서버, 백)라 칭합니다.


11. 리눅스(Linux) : 1991년 9월 17일 '리누스 토르발스'가 처음 출시한 운영 체제 커널인 리눅스 커널에 기반을 둔 오픈 소스

유닉스 계열 운영체제

12. 우분투(Ubuntu) : 영국 기업 캐노니컬이 개발 / 배포하는 컴퓨터 운영체제, 데비안 리눅스를 포크해 개발됐으며 데비안에

비해 사용 편의성에 초점을 맞춘 리눅스 배포판

 

리눅스는 운영체제(OS)입니다. 서버 프로그램을 돌리기 적합한 OS입니다.

 

가장 큰 이유는 무료라는 점이죠.

 

무료로 배포되는 리눅스를 발전시켜, 다양한 버전의 리눅스가 생기게 됩니다.

 

그 중 하나가 우분투입니다.

 

다른 버전에는 레드햇(Red Hat)이 있는데, 레드햇은 유료입니다.

 

유료 운영체제는 회사에서 품질 보장을 해 주기 때문에 안정적입니다.

 

우리가 알고 있는 안드로이드도 리눅스를 모바일로 발전시킨 형태입니다.

 

리눅스는 그래픽 UI가 없어서 기본적인 명령어를 아는 것이 중요합니다.


13. 인터넷 호스팅 서비스(Internet Hosting Service) : 인터넷 서버를 운영하는 서비스로, 단체와 개인이 콘텐츠를 인터넷에

제공하는 것을 도와줌, 여러 수준의 다양한 서비스가 제공됨

 

개인이 스스로 서버를 운영하는 것은 어렵습니다.

 

일단 24시간 내내 켜 놓으면 전기세가 어마어마하게 나갈 것이구요.

 

갑자기 서버 컴퓨터가 꺼지거나 고장나 복구하지 못 한다면 데이터를 날릴 위험도 생깁니다.

 

그래서 이 리스크를 없애기 위해 

 

이 모든 일을 대신 해 주는 호스팅 서비스가 생기게 됩니다.

 

유명한 AWS가 있구요.

 

서버 컴퓨터 뿐만 아니라 다양한 서비스를 제공해 줍니다.


14. API(Application Programming Interface) : 컴퓨터나 컴퓨터 프로그램 사이의 연결, 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공, 이러한 연결이나 인터페이스를 빌드하거나 사용하는 방법을 기술하는 문서나 표준은 API 사양으로 부름

15. JSON(JavaScript Object Notation) : 속성-값 쌍, 배열 자료형, 기타 모든 시리얼화 가능한 값 또는 키-값 쌍으로

이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

16. HTTP 상태 코드 : HTTP 응답 상태 코드의 목록으로, 5개의 클래스로 구분되며 코드의 첫번째 숫자가 응답 클래스를

정의

  • 1xx (정보) : 요청을 받았으며 프로세스를 계속함
  • 2xx (성공) : 요청을 성공적으로 받았으며 인식했고 수용했음
  • 3xx (리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요함
  • 4xx (클라이언트 오류) : 요청의 문법이 잘못됐거나 요청을 처리할 수 없음
  • 5xx (서버 오류) : 서버가 명백히 유효한 요청에 대해 충족을 실패

클라이언트가 서버에게 보내는 요청을 구분하고 응답할 수 있도록 만든 체계가 API 입니다.

 

요청을 정확한 곳에 보낼 수 있도록 서버 주소를 정의하고 

 

요청 종류에 따라 서버 주소/A, 서버 주소/B, 서버 주소/C 나눠서 신호를 보내게 됩니다.

 

주소 뒤에 어떤 문자를 쓰느냐에 따라 다른 기능을 수행하도록 정의됩니다.

 

그리고 API를 통해 요청과 응답을 주고 받을 때 데이터가 오고 간다는 것을 알아야 합니다.

 

서버 개발자는 이러한 기능을 수행할 수 있도록 API를 개발합니다.

 

 

그리고 이 API가 조금 더 체계적으로 발전한 것이 REST(Representational State Transfer)ful API 입니다.

 

Create(생성)에는 POST를, Read(불러오기)는 GET, Update(갱신)는 PUT(전체) / PATCH, Delete(삭제)는 DELETE라는

 

메소드를 사용해 전송하게 됩니다.

 

이렇게 하면 CRUD 별로 많아지는 주소를 줄일 수가 있게 됩니다.

 

 

API를 사용하는 경우를 더 살펴 보자면,

 

제가 개발하고 있는 프로그램에 'ABCD'라는 익명의 기능이 필요하다고 가정해 봅시다.

 

제가 이것을 개발하는데 어느 정도에 시간이 걸릴지는 저는 모르고 코딩의 신만이 알 것 입니다.

 

그런데 어떤 소프트웨어가 ABCD 기능을 사용하고 있다면?

 

저희는 API를 이용해 그 어떤 소프트웨어에게 요청을 보내고 (이 때 어떤 소프트웨어에서 API를 만들어놔야 쓸 수 있습니다.)

 

SDK(Software Development Kit)라는 소프트웨어 개발 도구를 응답해 줍니다.

 

여기서는 ABCD SDK 겠죠.

 

저희는 이제 개발하지 않고도 ABCD 기능을 사용할 수 있습니다.

 

 

JSON은 뭘까요?

 

요청과 응답을 하는데 있어서 데이터가 오고 가고, 그 형식이 있을 것 입니다.

 

근데 만약 그 형식이 다 다르면 형식에 따라 코드를 다시 짜야 할 수 있습니다.

 

그래서 모두가 공통적으로 사용하는 형식인 JSON을 만들었습니다.

 

JSON은 중괄호 안에 키가 있고, 그 키에 맞는 값이 있죠.

 

{ 키1 : 값1,키2 : 값2}

와 같은 형태로 주고 받을 것 입니다.


후...점점 내용이 길어지는 것 같은데

 

어쩔 수 없죠ㅠㅠㅠㅠ

 

도서관에서 빌린 책이라 느긋하게 읽을 수 없고 빨리 반납을 해야 하니까

 

호다닥 쓰도록 하겠습니다.

 

이 글을 봐 주신 분들이 있다면 정말 감사드리고

 

담에 더 발전된 글로 찾아뵐게요~

 

그럼 뿅

 

'-- Data --' 카테고리의 다른 글

[ IT ] IT 용어 정리 5탄(9장)  (0) 2023.04.11
[ IT ] IT 용어 정리 4탄(7,8장)  (0) 2023.04.11
[ IT ] IT 용어 정리 3탄(5,6장)  (0) 2023.04.09
[ IT ] IT 용어 정리 1탄(2장)  (0) 2023.04.05
Comments