컴퓨터과학 26

도커란?

도커란? '컨테이너 뭐시기'에서 정확히 뭔지 알아볼까요. 도커 한 줄 소개 프로세스를 격리시켜서 독립적으로 작동할 수 있게 해요. 격리시킨다는 것은? 컨테이너라는 공간에 프로그램의 라이브러리 의존, 다른 프로그램을 담아서 실행을 보장해요. 어떤 의미에서는 컨테이너 안에서 '환경이 온전히' 실행. 따라서 배포와 관리가 쉽다는 장점이 있어요. 프로그램 실행 환경을 임의로 변경되지 않게 보장하가 위함도 있고 프로그램간 라이브러리, 디렉토리의 공유로 발생하는 문제도 해결할 수 있죠. 도커 특징 이미지로 컨테이너를 생성. CLI(Command Line Interface) 환경 리눅스 운영체제 기반 도커와 리눅스 이미지에 매우 경량화된 리눅스 계열 OS가 포함되어요. linux kernel이 들어있지 않은 OS이기..

컴퓨터과학 2023.06.26

HTTP 헤더란?

HTTP 헤더Hypertext Transfer Protocol Header HTTP는 start line, header, body로 구성된다.start line은 반드시 한 줄이며 method, authority, version + crlf 의 값을 가진다.header는 start line과 body와 구분 짓는 빈 줄 이전 사이의 모든 값을 의미한다. HTTP 요청, 응답에 필요한 부가정보를 포함한다.표준헤더가 많아서 다양한 형태가 존재한다.필요 시, 필드 추가가 가능하다. 영문으로는 다음을 참조하길 바란다.HTTP Header - Margaret Rouse, techopedia.comHTTP headers are the name or value pairs that are displayed in the..

컴퓨터과학 2023.06.11

API 요청에서 path, query, body의 차이점

path, query, body의 차이점 path, query, body를 통해 응답에 필요한 정보를 클라이언트로부터 받을 수 있다.물론 헤더로도 받을 수 있지만 여기서는 넘어가겠다.하지만 각각에게 기대되는 정보는 다르다. pathURI는 resource 혹은 representation을 구분하기 위해 사용된다.대부분 URI의 URL을 사용해서 리소스의 경로를 표현한다. (둘은 동일하게 봐도 무방하다)path는 오직 리소스에 초점을 두어 사용하도록 권장된다. 다르게 표현하면, 행위(메서드)를 포함하지 않는다. Ex>/articles/members/search queryget 요청에 필요한 tag, filter, 검색 keyword가 될 수 있다. Ex>구글에 무한도전을 검색하면 다음과 같은 query로 ..

컴퓨터과학 2023.06.10

HTTP status code는 각각 언제 사용될까?

HTTP status code의 종류와 사용처 200번대 - 요청 처리 완료Successful 200, OK요청이 완료되어 정상적으로 프로세스가 처리되었다. 어떠한 요청이든 처리가 완료되었다면 OK로 응답하여도 좋다.201, Created주로 post 요청에 대한 응답 완료로 쓰인다. 요청에 의해 생성된 리소스는 서버에서 관리하게 된다.서버에서 정해준 location이 응답 header에 추가될 수 있음을 알려준다.204, No Content요청에 대한 처리가 완료되었고 응답할 내용이 없다. delete와 put, patch(update) 요청에 응답할 때 사용할 수 있다.300번대 - 추가 요청이 필요Redirectional 응답에 location 헤더 필드가 존재하면 해당 location으로 자동 이..

컴퓨터과학 2023.06.10

TCP/IP를 간단하게 알아보자

TCP/IP 간단 요약 TCP/IP 는 인터넷으로 통신할 때 주로 TCP와 IP가 묶인 패킷이 사용된다고 해서 붙여진 이름이다. 통신을 원하는 애플리케이션이 메세지를 만들면 TCP로 포장되어 세그먼트가 되고 다시 한번 IP로 포장되어 패킷이 된다. 헷갈리는 개념 우선 정리HTTP는 stateless, 즉 클라이언트와 서버가 요청 - 응답 후 연결을 끊는다. 아래에 설명할 IP, TCP에 연결형, 비연결성이 나오는데 이는 3way handshake로 동작하냐 아니냐로 이해해야한다. http의 연결과 다른 것이다.정확히는 http는 stateless 지향적으로 설계되어야 한다.  IPInternet ProtocolNetwork Layer 만약 IP만으로 통신한다면?비연결성: 응답을 받을 수 있는 가를 판단하..

컴퓨터과학 2023.06.10

Ubuntu 22.04 desktop 설치

Ubuntu 22.04 desktop 설치 사용자 권한을 이해하고 팀원과 프로젝트를 진행할 때, 클라우드 상에서 작업 공간을 나누고 공유하는 방법을 익힌다. 이를 바탕으로 쉘 스크립트를 사용하여 사용자 추가 및 권한 부여를 자동화한다. linux, 누구냐 넌 오픈소스 운영체제. 무료로 이용할 수 있으며 수많은 사용자를 보유하고 있다. linux는 kernel, 즉 OS의 핵심 부분을 담당하며 데비안, 레드햇 계열이 있다. 그 중 현재 가장 많이 사용하는 Ubuntu로 실습할 예정이다. VM에 우분투 설치하기 우선 관련 용어 정리 Hypervisor 호스트 컴퓨터에서 두 개 이상의 운영체제를 실행하기 위한 Virtual Machine Monitor Virtualbox hypervisor의 한 종류. ora..

컴퓨터과학 2023.06.04