분류 전체보기 131

HAProxy Basic

네트워크 L4, L7 기능 Reverse proxy 및 Load balancing, HA 기능을 제공하는 최적화된 S/WHAProxy Basic공식 블로그인 만큼 가장 잘 정리된 링크로 상세 설명 대체Basic Configurationhttps://www.haproxy.com/blog/haproxy-configuration-basics-load-balance-your-servers/최소 설정 및 기본 항목에 대한 설명 설치 및 적용 centos 7# install $ sudo yum install haproxy # start$ sudo systemctl start haproxy # status$ sudo systemctl status haproxy● haproxy.service - HAProxy Load..

devops 2025.05.18

Python asyncio

asyncio는 async/await 구문을 사용하여 동시성 코드를 작성하는 라이브러리입니다. 특히 I/O 작업이 많은 애플리케이션에서 높은 성능을 발휘합니다.asyncio : asynchronous io 처리https://docs.python.org/ko/3/library/asyncio.htmlThreading 동시성 제어는 GIL (Global interpreter lock) 제약에 의해 느리고, 복잡도는 그대로 가지고 있음GIL은 Python 인터프리터가 한 번에 하나의 스레드만 실행할 수 있도록 제한하는 메커니즘멀티스레드를 사용해도 CPU 연산의 실제 병렬 처리가 어려움IO 병목에 의한 동시성을 관리하기 위한 도구로서 Coroutine을 통한 관리네트워크 요청, 파일 읽기/쓰기 등 I/O 작업에서..

dev 2025.05.18

Docker 내부 네트워크 상태 확인

netstatHost 머신에서 netstat 명령으로 docker container의 네트워크 상태가 확인 안됨 물론 container 내부에서 실행하면 되지만...docker container는 bridge 네트워크 기반으로 운영이 되므로 Host Network 에서는 노출이 안됨 # docker 실행 $ docker run -d -p 8081:80 --name=mvcapp cdecl/mvcapp4fafaf418f84bf6541a1301b4422f825c58fa20b11d1190e87a3e23eea7a6825# Host 에서는 publsh port (listen) 정보만 노출$ netstat -ntl | grep 8081tcp6 0 0 :::8081 :..

devops 2025.05.18

Httplib (cpp-httplib) Sample

Introductionhttps://github.com/yhirose/cpp-httplibA C++11 single-file header-only cross platform HTTP/HTTPS library. This is a multi-threaded 'blocking' HTTP libraryheader-only 라이브러리로 Server와 Client Http 지원 SSL을 위한 OpenSSL 필요cpprestsdk비해 가볍고, 쉽게 사용 가능 Httplib package install (w/ vcpkg)https://github.com/microsoft/vcpkgvcpkg 통해서 패키지 설치 header-only로 바로 사용가능하나 OpenSSL 필요시 패키지 설치가 용이# --triplet=x64..

dev 2025.05.18

DuckDB CLI 및 SQL CheatSheet

DuckDB CLI 및 SQL CheatSheet - 주요 파일 포맷, DB Attach, HTTP/S3, ExcelDuckDB CLI 및 SQL CheatSheet 가이드1. DuckDB와 CLI/SQL 기능 소개DuckDB는 고성능 분석 쿼리를 위해 설계된 인-프로세스, 컬럼 지향 OLAP 데이터베이스입니다. CLI와 SQL 인터페이스를 통해 CSV, Parquet, JSON, Excel 등의 파일 포맷을 처리하고, 데이터베이스를 관리하며, HTTP/S3와 같은 웹 기반 스토리지와 통합할 수 있습니다. 이 치트시트는 DuckDB의 CLI와 SQL 명령어를 중심으로 실용적인 예제와 모범 사례를 제공합니다.주요 기능:파일 포맷 지원: CSV, Parquet, JSON, Excel 등을 손쉽게 읽고 쓰기...

devops 2025.05.18

Playwright `page.get_by_role`

Playwright page.get_by_role 역할 기반 요소 탐색Playwright page.get_by_role 가이드1. page.get_by_role이란?Playwright의 page.get_by_role 메서드는 웹 페이지에서 요소를 역할(role)에 기반하여 탐색하는 강력한 도구입니다. 이는 접근성(Accessibility) 표준인 ARIA(Accessible Rich Internet Applications)를 활용하여 요소를 식별하며, HTML 태그 대신 사용자가 인식하는 기능적 역할을 기준으로 동작합니다. 역할(role)이란 요소가 웹 페이지에서 수행하는 목적을 정의하는 속성으로, 예를 들어 버튼(button), 링크(link), 입력 필드(textbox) 등이 이에 해당합니다. ge..

dev 2025.05.18

DuckDB, CSV에서 MySQL로의 ETL

DuckDB를 ETL 도구로 활용 : CSV 데이터 → MySQL DuckDB를 통한 CSV 데이터를 MySQL로 ETL 하는 방법ETL이란?ETL이란 Extract, Transform, Load의 약자로, 데이터를 다양한 소스에서 추출하고 변환하고 적재하는 과정ETL을 수행하기 위해서는 여러가지 툴을 사용할 수 있는데 그 중 하나 DuckDB 활용하는 안DuckDBDuckDB는 분석 쿼리에 최적화된 임베디드 데이터베이스 DuckDB는 PostgreSQL과 호환되는 SQL 문법을 사용하고, 여러 DB와 연결하여 데이터를 효율적으로 가져와 로컬 DuckDB에서 데이터 처리 가능Extensions : https://duckdb.org/docs/extensions/overviewETL 예제DuckDB에서 CS..

devops 2025.05.18

Playwright 101

Playwright 가이드: 웹 자동화1. Playwright란?Playwright는 웹 브라우저 자동화를 위한 도구로, Selenium의 대안으로 설계되었습니다. 주요 용도는 다음과 같습니다:웹 애플리케이션 테스트 자동화웹 스크래핑 및 데이터 추출반복적인 웹 작업 자동화크로스 브라우저 테스팅주요 기능브라우저 제어: Chromium, Firefox, Webkit(Safari 엔진) 지원DOM 조작: querySelector와 locator로 요소 검색 및 조작폼 자동화: 입력 및 제출 자동화스크린샷 캡처: 페이지 또는 요소 캡처헤드리스 모드: GUI 없는 실행Playwright는 Selenium보다 최신 기술을 활용하며, 자동 대기와 간결한 API를 제공합니다.Selenium과의 비교기능SeleniumP..

dev 2025.03.02