본문 바로가기

분류 전체보기57

Nginx 서문 이전의 웹 토이 프로젝트들을 배포할 때는 AWS의 EB서비스를 이용했다. EB의 장점은 간단하다는 것이다. 내가 만든 프로젝트 그대로 zip파일로 만들어서 EB applicatioin에 올리면 알아서 해준다. 하지만 AWS EB의 경우 서버 환경을 내가 제어할 수 없기에 내가 만든 애플리케이션에 최적의 배포 환경을 제공할 수가 없다. 그래서 백엔드 개발자로서 서버에 대한 깊은 공부를 위해 먼저 Nginx에 대해 알아보았다. 웹 서버 Nginx는 웹 서버 중 하나이다. 웹 서버란 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램이다. (물론 이를 담당하는 컴퓨터를 말하기도 한다.) 여기서 한가지 집고 넘어갈 것이 있는데 Djan.. 2021. 7. 3.
Web socket 서문 Drello 프로젝트를 진행하면서 이제 다른 사람들과 실시간으로 Drello를 같이 사용할 수 있는 기능을 설계하기 위해 Django Channels란 프로젝트를 이용하기로 했다. 해당 프로젝트를 공부하면서 내가 잘 모르는 CS가 많았다. 그 중에서 하나인 Web socket에 관해 공부한 내용을 정리한 것이다. Socket 웹 브라우저가 데이터를 전송할 때는 OS의 Socket이라는 구조를 사용한다. 웹 브라우저는 OS에 의뢰해서 Socket을 만들어 통신한다. Socket을 작성하면 Socket buffer(데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역이다)라는 상자가 만들어진다. Socket buffer에는 송신 buffer와 수신 buffer.. 2021. 6. 29.
Docker 서문 CS를 공부하다가 가상화와 관련하여 가상 머신과 컨테이너에 대한 글을 읽게 되었고 Docker에 대해 좀 더 찾아본 정보를 정리한 글이다. 가상화 컴퓨터 시스템에서 물리적 자원을 추상화하는 것이라 정의할 수 있다. 좋은 예시를 들자면 OS(운영체제)도 가상화 기술 중 하나라고 볼 수 있다. OS의 커널에 의해 하드웨어가 추상화되면서, 컴퓨터에 연결된 기억 장치나 네트워트를 통한 데이터 교환이 하드웨어를 의식하지 않고 이루어지고 있다. 거기에 OS는 가상 메모리를 사용해 프로세스 및 OS 커널의 메모리 공간을 분하므로, 하나의 프로그램이 실패한다고 시스템 전체에 영향을 끼치지 않는다. 가상화가 해결한 문제 모든 기술은 필요하기 때문에 개발된다. 즉, 가상화 또한 어떤 문제를 해결하기 위해 개발된 기술.. 2021. 6. 23.
Serializer 서문 DRF를 사용하면서 써본 Serializer에 대해 간단히 정리한 글이다. Serializer 사전적 의미 사전 상에는 serializer를 명사 IT 직렬 변환기로 정의한다. 즉, 컴퓨터 용어이기에 좀 더 많은 정보가 필요하다. 아래의 wiki에서 Serialization에 대한 정의를 보자 Serialization in wiki 직렬화(直列化) 또는 시리얼라이제이션(serialization)은 컴퓨터 과학의 데이터 스토리지 문맥에서 데이터 구조나 오브젝트 상태를 동일하거나 다른 컴퓨터 환경에 저장(이를테면 파일이나 메모리 버퍼에서, 또는 네트워크 연결 링크 간 전송)하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정이다 DRF에서 Serializers의 정의 Serializers를 사용하면 q.. 2021. 6. 22.