Development(54)
-
[Docker in Action] Running Software in containers (1)
Controlling containers: Building a website monitor 이번 포스팅에서는 아래와 같은 웹 서비스 구조를 Docker Container를 통해 설계해보며, Docker Container에 대한 이해도를 높여보려고 합니다. 아래의 서비스 구조는 다음과 같이 동작합니다. NGINX 이미지로부터 컨테이너를 생성합니다. 이 컨테이너에서 웹 서비스를 호스팅 합니다. NGINX 컨테이너에 문제가 생긴 경우 (Service Down) Watcher Agent는 이를 감지하고 있다가 mailer에게 알려줍니다. mailer는 컨테이너에 문제가 생겼다는 사실을 Watcher Agent로부터 받아서 관리자의 계정으로 메일을 보냅니다. Creating and starting a new co..
2022.04.09 -
[Docker in Action] Welcome to Docker
What is Docker? 도커는 프로그램을 빌드하고, 저장하고, 실행하는 방법을 제공하는 오픈소스 프로젝트로, 컨테이너(container)라는 OS Technology를 사용해서 안전하고 가벼운 프로그램 런타임 환경을 제공합니다. Hello World 각 OS환경에 맞는 도커를 설치한 뒤에, CLI(Command Line Interface)에 아래와 같은 명령어를 입력하면, 다음과 같이 여러 개의 레이어를 다운로드한 후에, "hello world"라는 문장을 출력하고 프로그램이 종료되는 것을 확인할 수 있습니다. 실제로 어떤 일이 일어나고 있는지를 조금 더 자세히 살펴보겠습니다. docker run dockerinaction/hello_world "docker run"이라는 명령어는 Docker에게 ..
2022.04.05 -
[Javascript] script async & defer
Overview React, Nextjs와 같은 Javascript 라이브러리를 사용해서 개발을 하면, 대부분의 경우 build 옵션에 대해서 큰 신경을 쓸 필요가 없습니다. React의 경우 react-scripts를 기반으로 하는 Create React App(CRA)가 기본적인 웹팩 설정을 해주고, Nextjs의 경우 내부적으로 next build 커맨드를 통해서 모듈 번들링을 지원해줍니다. 하지만 각각의 라이브러리를 사용해서 개발을 하더라도 실제로 내부적으로 bundling이 어떻게 되는지를 이해하는 것은 중요합니다. 이번 포스팅에서는 브라우저가 html문서를 파싱하는 도중 script 태그를 만났을 때 어떻게 동작하는지, 어떤 옵션을 사용할 수 있는지에 대해서 살펴보려고 합니다. 2. Cross..
2022.04.02 -
[Kubernetes in Action] Best practices for developing apps
Bringing everything together 앞선 여러 포스팅들을 통해 쿠버네티스가 어떤 리소스들을 갖는지, 어떤 식으로 리소스들을 구성하는지에 대해 살펴보았습니다. 이번 포스팅에서는 위의 내용들을 종합하여 일반적인 애플리케이션이 쿠버네티스 위에서 어떤 식으로 동작하는지 알아보겠습니다. 일반적으로 쿠버네티스를 통해 애플리케이션을 배포할 때는 Deployment 혹은 Statefulset을 반드시 사용합니다. 이들은 하나 이상의 컨테이너를 포함하는 파드 템플릿(pod template)을 가지고 있으며, 이 템플릿 안에는 liveness probe, readiness probe가 모두 정의되어 있습니다. 파드 안의 컨테이너 내에서 실행되는 애플리케이션은 서비스(Service)를 통해 접근할 수 있으며..
2022.03.20 -
[Web.dev] Network
Overview Web.dev에서 소개하는 Network에 대한 내용들을 정리합니다. 모든 내용들을 다 다루지는 않고, 개인적으로 중요하다고 생각하는 부분들을 추려서 중점적으로 정리했습니다. 자세한 내용들은 아래 Table of Contents의 링크를 통해 확인하실 수 있습니다. Table Of Contents 네트워크 안정성을 측정하는 방법 # What is network reliability and how do you measure it? Identify resources loaded from the network Measuring offline usage 캐싱 도구 상자의 옵션 # Prevent unnecessary network requests with the HTTP Cache Love you..
2022.03.19 -
[Web.dev] Accessibility (2)
Overview Web.dev에서 소개하는 Accessibility에 대한 내용들을 정리합니다. 모든 내용들을 다 다루지는 않고, 2부에 걸쳐서 개인적으로 중요하다고 생각하는 부분들을 추려서 중점적으로 정리했습니다. 자세한 내용들은 아래 Table of Contents의 링크를 통해 확인하실 수 있습니다. Table Of Contents 의미 체계 및 기본적인 화면 읽기 프로그램 지원 이해하기 # Semantics and screen readers Headings and landmarks Labels and text alternatives Media accessibility 다양한 요구 사항을 가진 사용자를 지원하는 디자인 및 CSS 생성 # Accessible tap targets Color and c..
2022.03.19