기본 CS기술 - (1)

민태영·2023년 11월 30일
0

1. HTTP상태코드

HTTP상태코드는 특정 HTTP요청이 성공적으로 완료되었는지 알려준다. 크게 100번대, 200번대, 300번대, 400번대, 500번대가 있고 주요 사용되는 코드는 200, 400, 500이다

  • 100번대 : (조건부 응답)클라이언트가 서버에 요청을 했지만 해당 요청은 여전히 처리중임을 의미

  • 200번대 : (성공)서버가 클라이언트의 요청을 수신하고 성공적으로 처리했음을 의미

  • 300번대 : 클라이언트가 요청한 페이지가 일시적 또는 영구적으로 이동되었음을 의미

  • 400번대 : 클라이언트의 잘못된 요청으로 서버가 이해를 못해 요청을 수행할 수 없음을 의미

  • 500번대 : 클라이언트의 요청이 성공했지만 서버오류로 인해서 서버가 요청을 정상처리 하지 못함을 의미

2. HTTP메소드

HTTP의 주요 메소드에는 get, post, put, delete가 있다.

  • get : 클라이언트에서 서버로 어떠한 정보를 요청하기 위해 사용되는 method

  • post : 요청데이터처리 및 주로 등록에 사용 method

  • put : 리소스대체, 수정 / 해당 리소스가 없으면 새롭게 생성하기위해 사용되는 method

  • delete : 지정된 리소르를 삭제하기 위해 사용되는 method로 요청시에 Body값과 Content-Type값이 비워져 있음

3. 메모리의 구조를 영역에 따라 설명

메모리의 영역은 크게 4가지로 이루어져 있다.

  • 코드영역 : 실행될 프로그램코드가 저장되는 영역으로 텍스트 영역이라고도 부른다. 프로그램이 실행되면 OS가 HDD에서 메모리(코드영역)로 실행코드를 올리고 CPU는 코드영역에 저장된 명령어를 하나씩 처리한다.

  • 데이터영역 : 프로그램의 전역변수와 정적변수가 저장되는 영역으로 프로그램이 실행될때 함께 할당되며 프로그램이 종료되면 소멸된다.

  • 힙영역 : 사용자가 직접 관리할 수 있는 메모리 영역으로 사용자에 의해 메모리공간이 동적으로 할당되고 해제된다.

  • 스택영역 : 함수와 관계되는 지역변수와 매개변수가 저장되는 영역으로 함수의 호출과 함께 할당되어 함수의 호출이 끝나면 같이 소멸된다.

4. 프로세스와 스레드의 차이

프로세스 :

  • 현재 실행중인 프로그램을 뜻하며 잡이라는 용어와 혼용해서 쓰기도한다.

  • 프로세스는 최소 하나의 스레드를 보유하고 있으며 독립된 메모리영역(code, data, heap, stack)을 할당받는다.

스레드 :

  • 프로세스 내에서 실행되는 여러흐름의 단위

  • stack영역을 할당받고 나머지(code, data, heap) 영역은 프로세스내에 있는 스레드끼리 공유한다.

5. RDBMS와 NoSQL의 차이

RDBMS : 정해진 스키마가 명확하게 정의되어 있어 명확한 데이터구조를 보장한다.
NoSql : 스키마가 없기 때문에 데이터 구조변화가 자유로운 데이터구조를 가질 수 있다.

6. GC 가비지 컬렉션

가비지 컬렉션은 프로그래머가 동적으로 할당한 메모리 영역 중 더이상 쓰이지 않는 가비지영역을 찾아서 해체하는 기능을 의미한다.

7. RestfulAPI

Representational State Transfer의 약자로 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스입니다.

REST API는 이를 표현하기 위해 Resouce, Method, Representation 3가지를 이용한다.
이 3가지를 통해 상태가 전이 되는 것을 표현하면 REST ful한 API를 작성할 수 있다.

  • Resouce(자원, (예) 문서, 이미지,리소스들의 집합, 객체 등)
  • Method(요청 방식, (예) Get, Post 등)
  • Representaion of Resource(자원의 형태, (예) JSON, XML 등)
profile
꿈을 꾸는 개발자

0개의 댓글