Development(54)
-
[Web.dev] Accessibility (1)
Overview Web.dev에서 소개하는 Accessibility에 대한 내용들을 정리합니다. 모든 내용들을 다 다루지는 않고, 2부에 걸쳐서 개인적으로 중요하다고 생각하는 부분들을 추려서 중점적으로 정리했습니다. 자세한 내용들은 아래 Table of Contents의 링크를 통해 확인하실 수 있습니다. Table Of Contents 사용자의 다양한 요구 이해 # What is accessibility? 사이트 키보드에 접근성 부여 # Keyboard access fundamentals Use semantic HTML for easy keyboard wins Control focus with tabindex Style focus What is Accessibility? An accessible sit..
2022.03.06 -
개발일지 (2월 회고)
Team Blueprint 프론트엔드 개발을 2년 정도 하면서 "프론트엔드"라는 분야에 대해 가장 크게 느낀 점이라고 한다면 "갖추어야 할 것들이 너무 많다"라는 것이다. 물론 갖추어야 할 것이 적은 분야가 어디있겠냐 마는 "Front-End"라는 용어의 특성상 애플리케이션 개발의 모든 부서들(기획 + 디자인 + 서버 + 클라이언트 등등)과 소통을 "잘"해야 하고, 매일매일 새로운 업데이트가 적용되는 브라우저에 대해서도 잘 알고 있어야 하며, SSR의 이점으로 인해 웹 애플리케이션을 서빙하는 서버까지도 어느 정도는 알아야 한다. 이 때문에 프론트엔드 개발을 할 수는 있어도 "잘"하기는 정말 정말 어렵다는 생각이 많이 든다. 프론트엔드 개발자에게 요구되는 능력이 이렇게 다양해지면서 "잘하는 프론트엔드 개발..
2022.02.28 -
[Kubernetes in Action] Advanced Scheduling
Using taints and tolerations to repel pods from certain nodes Taint는 "얼룩"이라는 뜻이고, Toleration은 "관용, 허용"등의 뜻을 지니고 있습니다. 따라서 Node에 Taint를 설정한다는 것은 노드에 "얼룩"을 묻힌다는 것을 의미하며 파드에 Toleration을 설정한다는 것은 "이 노드에 얼룩이 있는데 이거 눈감아 줘"라고 이야기하는 것을 의미합니다. Introducing taints and tolerations Taint는 key, value, effect로 구성되며 describe에서 =:의 문법으로 표현됩니다. 실제로 describe node를 하면 description에 "Taints"라는 항목이 나오는데 여기서 어떻게 설정되어 있..
2022.02.28 -
[Kubernetes in Action] Automatic scaling of pods and other cluster nodes
Overview 파드 내에서 동작하는 애플리케이션은 ReplicaSet이나 Deployment, 다른 Scalable Resource의 replicas필드를 수동으로 조작함으로써 스케일링할 수 있습니다(Horizontal Scaling). 또한 단일 파드의 CPU나 메모리를 requests나 limits설정을 통해 수동으로 스케일링할 수도 있습니다.(Vertical Scaling). 하지만 이러한 수동 스케일링 방식은 급작스럽거나 예측하기 어려운 트래픽 변화에 대해서 민감하고 효율적으로 대응하기 어렵기 때문에 쿠버네티스에서는 CPU usage 등의 메트릭을 사용해서 Automatic Scaling 하는 방법을 제공합니다. 이번 포스팅에서는 이러한 Automatic Scaling 방법에 대해 알아봅니다. ..
2022.02.19 -
[Kubernetes in Action] Managing pods' computational resources
Requesting Resources for a pod's containers 파드를 생성할 때, 각각의 컨테이너가 얼마만큼의 CPU 리소스와 메모리를 사용할지를 명시할 수 있습니다. 쿠버네티스에서 CPU와 메모리 자원은 컨테이너 단위로 명시되며, 파드의 리소스는 파드 내의 컨테이너에서 사용되는 리소스들의 합으로 정의됩니다. 리소스는 request와 limit을 통해서 설정할 수 있습니다. request는 컨테이너가 필요로 하는(최소) CPU와 메모리의 양을 설정하는 것이고, limit은 컨테이너가 최대로 사용할 수 있는 CPU와 메모리의 양을 설정하는 것을 의미합니다. Creating pods with resource requests request를 갖는 파드는 다음과 같이 생성할 수 있습니다. api..
2022.02.12 -
[Kubernetes in Action] Securing Cluster nodes and the network
Using the host node's namespace in a pod 파드 안에서 동작하는 컨테이너들은 별도의 Linux Namespace 아래에서 동작합니다. 이는 다른 컨테이너의 프로세스나 노드의 default 프로세스로부터 해당 컨테이너의 프로세스를 격리시킵니다. 각각의 파드는 자신의 고유한 네트워크 Namepsace를 가져야 하기 때문에 자신만의 고유한 IP와 포트 Space를 갖습니다. 또한 자신만의 고유한 Process Tree를 가지며 자신만의 IPC Namespace를 사용합니다. (다른 파드와 통신할 때는 IPC를 사용해서만 통신이 가능합니다.) 이렇게 쿠버네티스는 특정 파드에 네트워크, Process, IPC 공간을 별도로 할당하고 다른 파드들과 철저하게 격리시키는 구조를 가지고 있..
2022.02.02