목록전체 글 (73)
과거의 내가 미래의 나에게
저번 시간에 웹 서버가 무엇인지 살펴보았다. 오늘은 다양한 웹 서버 소프트웨어 군에서 Nginx에 대해서 학습해보려한다. Nginx는 웹 서버 소프트웨어로 가벼움과 높은 성능이 그 특징이다. 다른 웹 서버 제품군인 Apache에 비해 동작이 단순하기에 동시접속 처리에 특화되어있다. 따라서 동시접속자가 많은 서비스군이라면 Nginx 환경이 권장된다. 1. 정적 콘텐츠 제공Nginx의 가장 핵심 기능으로 웹 페이지를 클라이언트에게 제공해준다. 클라이언트가 브라우저 주소창에 URL을 입력한 후 전송하면 웹 서버는 그 HTTP 요청을 읽어 사용자가 원하는 HTML 문서 등 정적 콘텐츠를 전달해준다. 단순히 저장된 웹 리소스들을 클라이언트로 전달하고, 클라이언트로부터 콘텐츠를 전달받아 저장하거나 처리한다. 2..
웹은 기본적으로 클라이언트-서버 구조이다. 서버에는 웹에 표출할 수 있는 모든 데이터들을 가지고 있고, 클라이언트는 사용자가 요청 시 서버에서 데이터를 가져와 화면에 그리는 것이 바로 웹인 것이다.여기서의 서버가 바로 웹 서버라고 할 수 있는데, 막상 웹 서버가 무엇이냐 물어보면 또렷히 대답할 수가 없었던 것이다. 오늘은 웹 서버가 무엇인지 설명할 수 있도록 웹 서버에 대해 학습하고 정리해보겠다. 웹 서버는 무엇인가 MDN 문서를 바탕으로 웹 서버란 무엇인지 살펴보면 다음과 같다. 웹 서버는 하드웨어 측면과 소프트웨어 측면으로 볼 수 있다.하드웨어 측면의 웹 서버는 말그대로 물리적인 서버를 의미하고 이는 웹 사이트를 띄우는데 필요한 데이터들을 저장하고 처리하는 서버이다. 소프트웨어 측면의 웹 서버는 ..
이번 주부터 한달 간 도커 수업을 듣게되었다. 첫 날은 vagrant를 활용한 가상머신 실행과 도커의 기본 개념 그리고 도커의 명령어에 익숙해지는 것 위주로 수업이 진행되었다. 가상머신은 현재 내가 활용이 잦지 않으므로 시간내어 정리하고 학습할 필요성을 아직 느끼지 못했고 도커의 기본 개념은 일전에 CI/CD를 공부할 때 어느정도 학습했었기에 오늘 정리할 글은 수업 마지막 교시에 진행했던 볼륨을 잡는다는 것에 대해 정리하고 기록해보려한다. 볼륨(Volume)이란 볼륨의 사전적 정의로는, "컴퓨터 데이터 스토리지에서 볼륨 또는 논리 드라이브는 단일 파일 시스템을 갖춘 단일 접근 가능한 저장 영역을 의미"라 한다. 이를 풀어 설명하면 결국 볼륨은 논리적인 단위로 나눈 데이터 저장소라 할 수 있다.흔히..
원래는 오늘부터 웹서버에 대해 글을 쓰려했는데, 웹서버로 대표되는 nginx를 보다가 직접 해봐야겠다 싶었다. 이를 설치하기 위해 먼저 리눅스 환경이 필요하다 여겨 윈도우 환경에서 WSL을 설치하게 되었다. 따라서 오늘은 윈도우에서 리눅스 환경을 돌릴 수 있는 WSL을 설치한 과정을 적어놓으려 한다. WSL은 무엇일까?WSL은 Windows Sub-system for Linux의 줄임말로, 해석하면 리눅스를 위한 윈도우의 서브시스템이다.Hyper-V 기반의 경량화된 가상화 기술을 사용하여 실제 리눅스 커널을 탑재해 Windows 운영체제에서 Linux 운영체제를 구동할 수 있도록 해주는 기술이다.WSL이 나오기 이전에는 vmware와 같은 가상머신을 사용하거나 듀얼 부팅을 사용하는 등 윈도우 내에서 ..
통신을 통한 데이터는 아무리 협의를 봤다해도 어떻게 변해서 들어올 지 단언할 수가 없다. 따라서 프론트 코드를 짤 때 가장 중요하게 생각하는 것 중 하나가 통신을 통해 들어온 데이터가 이상하더라도 구동하는 데 에러가 나지 않도록 처리하는 에러 처리이다. 옵셔널 체이닝은 에러 처리하는 데 유용한 기능으로, 객체에 접근하는 에러 처리를 간단히 할 수 있게 돕는다. 아주 옛날 프로젝트의 코드를 유지보수해야할 일이 생겼는데, 코드의 바벨이 ES11이 지원이 안되었다. 그러다보니 옵셔널 체이닝도 사용할 수 없었고 에러처리하는데 코드가 잔뜩 길어지다보니 새삼스레 이 기능에 대해 다시 돌이켜보게 되며 오늘의 글을 작성본다. 옵셔널 체이닝 기본옵셔널 체이닝은 객체, 함수, 배열 요소 등에 안전하게 접근할 수 있게 해..