dev 44

GNU C++로 정적 라이브러리 링크하는 방법

GNU C++ 프로그램에서 정적 라이브러리를 링크하는 방법정적 라이브러리 사용사용 시 고려 사항프로그램 크기 증가: 정적 라이브러리를 사용하면 실행 파일 크기가 크게 증가할 수 있슴라이브러리 업데이트: 정적 라이브러리를 사용하면 라이브러리 업데이트 시 프로그램을 다시 컴파일해야 필요사용 장점운영 체제 의존성 감소: 정적 라이브러리를 사용하면 프로그램 실행에 필요한 모든 라이브러리가 실행 파일에 포함되어 있어 운영 체제에 동일한 라이브러리가 설치되어 있지 않아도 프로그램을 실행보안 강화: 정적 라이브러리를 사용하면 공유 라이브러리 공격과 같은 보안 취약점에 대한 위험을 줄일 수 있음성능 향상: 정적 라이브러리를 사용하면 프로그램 실행 속도를 향상시킬 수 있음정적 라이브러리 링크링크 옵션-static C 런..

dev 2025.05.19

Golang, Cgo

Cgo enables the creation of Go packages that call C code.Cgohttps://pkg.go.dev/cmd/cgoGolang에서 C 코드를 통합 할 수 있도록 만든 의사 패키지 C코드 - Go 파일 통합예제import "C" 바로 윗 부분의 주석 /* */ or // 으로 C코드 작성C 함수, 변수 영역 접근시, C 의 패키지 명으로 접근 함수, 변수선언, #include 선행처리지시자 등 일반적인 C 코드cgo Cheat Sheet : https://gist.github.com/zchee/b9c99695463d8902cd33package main/*#include // printf#include // free (C.free)void pri..

dev 2025.05.19

C++ REST SDK(cpprestsdk) Sample

Introductionhttps://github.com/Microsoft/cpprestsdkMicrosoft에서 만든 클라이언트, 서버용 C++ HTTP 통신 모듈이며, JSON URI, 비동기, 웹소켓, oAuth 등을 지원 C++11의 비동기, 병렬 프로그램 모델 지원크로스 플랫폼 지원 등..cpprestsdk package install (w/ vcpkg)https://github.com/microsoft/vcpkgvcpkg 통해서 패키지 설치 # --triplet=x64-windows-static$ vcpkg.exe install cpprestsdk:x64-windows-static...The package cpprestsdk:x64-windows-static provides CMake targe..

dev 2025.05.19

CryotoPP Example

CryptoPPhttps://www.cryptopp.com/Crypto++ 사용하기, 예제{:target="_blank"}암호화 지식 (개발자){:target="_blank"}기존 작성한 내용(5.6 버전)의 최신화(8.5 버전) : 빌드 이슈 Package 설치vcpkg 사용 : 8.5.0$ ./vcpkg install cryptoppComputing installation plan...The following packages will be built and installed: cryptopp[core]:arm64-osx -> 8.5.0...The package cryptopp:arm64-osx provides CMake targets: find_package(cryptopp CONFIG R..

dev 2025.05.19

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