dev 28

Golang GC

Golang GC (가비지 컬렉터) 주요 내용Golang GC : GOGC유효하지 않는 메모리(Dangling Object)를 주기적으로 해제하는 기법Java의 Parallel GC, G1GC 와 유사하나 구현 방식에서 차이가 있음Stop-the-World 시간을 최소화하도록 설계됨Tri-Color Algorithm 사용동시성을 고려한 효율적인 메모리 관리 알고리즘CMS (Concurrent Mark and Sweep) 방식 운영Java 와 같은 Generation GC 기법이나 Compaction은 지원하지 않음대신 더 효율적인 메모리 할당 전략을 사용Compaction (압축, 재배치) 가 없음 재배치를 하지 않는 대신 TCMalloc를 통한 메모리 할당 관리메모리 단편화를 최소화하고 빠른 할당을 지..

dev 2025.05.18

Selenium 101

Python Selenium 이용한 웹 스크래핑 방법, 웹 자동화 Selenium 가이드: 웹 자동화1. Selenium 이란?Selenium은 웹 브라우저 자동화를 위한 아래와 같은 용도웹 애플리케이션 테스트 자동화웹 스크래핑 및 데이터 추출반복적인 웹 작업 자동화크로스 브라우저 테스팅주요 기능브라우저 제어: 다양한 브라우저에서 웹 페이지를 자동으로 로드하고 조작할 수 있습니다.DOM 조작: 웹 페이지의 DOM 요소를 검색하고 조작할 수 있습니다.폼 자동화: 폼을 자동으로 작성하고 제출할 수 있습니다.스크린샷 캡처: 웹 페이지의 스크린샷을 캡처할 수 있습니다.헤드리스 모드: 브라우저 창을 띄우지 않고 백그라운드에서 작업을 수행할 수 있습니다.Selenium은 다양한 프로그래밍 언어를 지원하며, 웹 개발..

dev 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

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

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