UV : Rust 기반 초고속 파이썬 패키지 매니저
today keys : uv, python, rust, package manager, venv, pip, workflow, 가상환경, 패키지관리이번 포스팅에서는 Rust 기반의 차세대 파이썬 패키지 매니저인 uv의 특징과 초기 설치, 그리고 프로젝트 구성 및 검증 과정을 다룹니다.UV(Python Package Manager) 도입 배경기존의 파이썬 생태계는 pyenv(버전 관리), venv(가상환경), pip(패키지 설치) 등 도구가 파편화되어 있어 관리가 번거롭고 속도가 느린 단점이 있었습니다.uv는 이를 해결하기 위해 모든 기능을 하나로 통합하고, Rust로 제작하여 기존 pip 대비 수십 배 이상의 압도적인 속도를 제공합니다.[Lab] uv 설치 및 프로젝트 구성 검증Step 1: uv 설치 및 ..
[HTTP 이해하기 5편] 브라우저와 서버는 HTTP/1.1과 HTTP/2 중 무엇을 어떻게 결정할까
Today Key : HTTPS, TLS, TLS Handshake, ALPN, HTTP/1.1, HTTP/2, h2, h2c, ClientHello, ServerHello이번 포스팅에서는 TLS 핸드셰이크와 ALPN을 중심으로 그 선택 과정의 원리를 정리해봅니다.ALPN, 프로토콜 협상의 핵심이 선택에서 핵심 역할을 하는 것이 ALPN(Application-Layer Protocol Negotiation)입니다.RFC 7301은 ALPN을 같은 TCP나 UDP 포트에서 여러 애플리케이션 프로토콜을 지원할 때, TLS 핸드셰이크 안에서 어떤 프로토콜을 사용할지 정하기 위한 확장으로 정의합니다.클라이언트는 자신이 지원하는 프로토콜 목록을 ClientHello에 넣어 보내고, 서버는 그중 하나를 선택해 응답..
[HTTP 이해하기 4편] HTTP/1.1과 HTTP/2, 무엇이 어떻게 다르고 언제 무엇을 써야 할까
Today Key : HTTP/1.1, HTTP/2, 비교, 연결 관리, 멀티플렉싱, 바이너리 프레이밍, ALPN, Apache httpd, h2, h2cHTTP/1.1, HTTP/2 두 프로토콜은 버전이 달라도 HTTP는 공통된 의미 체계를 공유합니다. RFC 9112는 그 의미를 HTTP/1.1의 메시지 문법과 연결 관리 방식으로 전달하는 방법을 정의하고,RFC 9113은 HTTP/2를 같은 HTTP 의미를 더 효율적으로 표현한 버전으로 설명합니다.두 버전은 전혀 다른 프로토콜이라기보다, 같은 HTTP를 서로 다른 방식으로 실어 나르는 두 개의 구현 모델에 가깝습니다.이번 포스팅에서는 HTTP/1.1과 HTTP/2의 차이와 언제 사용하는지에 대해서 알아봅니다.메시지를 전달하는 방식의 차이HTTP/1..
AWS Route 53 Global Resolver
today keys: route 53, global, resolver, 리졸버, anycast, dns, firewall, query, awsRoute 53 Global Resolver는 인터넷이나 지사, 온프레미스 같은 외부 환경의 클라이언트가 AWS의 전역 Anycast IP를 통해 DNS 질의를 보낼 수 있게 해주는 관리형 DNS Resolver입니다.여러 위치의 사용자가 하나의 DNS 진입점을 사용하면서도, 접근 제어와 DNS 보안 정책을 중앙에서 적용할 수 있습니다.이번 포스팅에서는 Route 53 Global Resolver를 생성한 뒤, 허용된 IP만 DNS 질의를 할 수 있는지와 DNS Firewall로 특정 도메인을 차단할 수 있는지를 실습으로 확인합니다.또한 Query Type 조건을 ..
RHEL에서 dnsmasq를 활용하여 Conditional Forward 구성(Split DNS)
today keys : conditional forward, 조건부 전달, dns, dnsmasq, rhel, 레드햇, redhat, split, 도메인, 질의, domain리눅스 서버를 운영하다 보면, 일반적인 도메인 조회는 기본 DNS 서버로 보내되, 특정 도메인만 별도의 DNS 서버로 조회해야 하는 경우가 있습니다. 예를 들면 이런 경우입니다. 사내 서비스 도메인만 내부 DNS로 조회해야 하는 경우 특정 사설 존(example.local, corp.internal)만 별도 DNS로 보내야 하는 경우 특정 퍼블릭 도메인에 대해 별도의 네임서버 정책을 적용해야 하는 경우 이런 요구사항을 만족시키기 위해 흔히 떠올리는 방법이 systemd-resolved 기반 split DNS 구성인데, 실제로 NIC가..