[golang] URL 및 쿼리 파라미터 파싱과 수정하기
·
Language/Go
서론Go 언어에서는 net/url 패키지를 사용하여 URL을 간단하게 파싱하고 필요에 따라 URL을 수정할 수 있다. 이 패키지는 URL의 각 구성 요소를 쉽게 추출할 수 있게 해주며 URL을 생성하거나 수정할 때도 사용할 수 있다. URL을 파싱한 후에는 쿼리 파라미터를 동적으로 추가하거나 수정할 수 있으며, URL을 새롭게 생성하는 것도 가능하다. URL 파싱하기package mainimport ( "fmt" "net/url")func main() { rawURL := "https://blog.jae-sung.com/archive/20241115?name=jaeusng&status=sleeply#home" parsedURL, err := url.Parse(rawURL) if err == nil { ..
[golang] 텍스트 이미지 생성 및 JPEG 인코딩
·
Language/Go
서론Go 언어에서는 이미지 그리기와 JPEG 인코딩 및 디코딩을 표준 패키지에 제공하고 있어서 복잡한 외부 라이브러리 없이도 간단하게 이미지 파일을 생성하고 처리할 수 있다. image, image/color, image/draw와 같은 기본 패키지들을 활용하면 다양한 형태의 이미지를 생성하고 조작할 수 있으며, image/jpeg 패키지를 사용하면 JPEG 인코딩과 디코딩을 할 수 있다. 이 패키지들을 활용해서 이미지에 텍스트를 그린 후 JPEG으로 인코딩하여 저장해보자. 예제package mainimport ( "image" "image/color" "image/draw" "image/jpeg" "log" "os" "golang.org/x/image/font" "golang.org/x/image/fo..
[golang] GOMAXPROCS로 최대 CPU 코어 수 제한하기
·
Language/Go
서론Go 언어에서는 GOMAXPROCS를 사용하여 프로세스가 사용할 수 있는 최대 CPU 코어 수를 제한할 수 있다. 기본적으로 Go는 가능한 모든 CPU 코어를 활용하지만 멀티코어 시스템에서 특정한 상황에 맞게 CPU 리소스를 조절할 필요가 있을 때 GOMAXPROCS를 사용하여 CPU 코어 수를 설정할 수 있다. GOMAXPROCS로 CPU 코어 수 제한package mainimport ( "fmt" "runtime")func main() { cpuNum := runtime.GOMAXPROCS(1) fmt.Printf("CPU: %d -> 1\n", cpuNum)}사용법은 간단하게 GOMAXPROCS에 원하는 CPU 코어 수를 인수로 전달하면 된다. 이때 이전에 설정된 값이 반환되며 1보다 작은 값으..