imagemagick은go get gopkg.in/gographics/imagick.v3 만 해서는 사용할 수 없다. 실행환경에 imagemagick이 설치되어 있어야 한다. (참고: https://github.com/gographics/imagick#install) 때문에 도커 환경을 구축하려면 imagemagick을 설치하는 과정이 필요하다. 공식 예제는 v2버전 이기 때문에 v3버전의 도커파일을 기록한다. FROM golang:1.18-alpine ENV IMAGEMAGICK_VERSION=7.1.0-45 RUN apk add --no-cache git gcc libc-dev imagemagick make RUN cd && \ wget https://github.com/ImageMagick/Ima..
목차 1. 공식문서 https://pkg.go.dev/crypto/hmac hmac package - crypto/hmac - Go Packages Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198. An HMAC is a cryptographic hash that uses a key to sign a message. The receiver verifies the hash by reco pkg.go.dev 공식문서에 따르면 아래와 같은 방법으로 암호화 및 비교를 할 수 있습니다. // Va..
이 글은 Defer keyword in Go (Golang) - Welcome To Golang By Example 을 번역 및 재가공하여 작성하였습니다. 목차 1. defer 키워드란? defer의 사전적 의미는 미루다, 연기하다 입니다. defer는 선언된 함수가 끝나기 직전에 실행됩니다. defer는 에러가 발생하여 비정상 종료가 될 때에도 실행됩니다. 그래서 io를 close 하거나 에러를 캐치할 때에 사용됩니다. package main import ( "fmt" "log" "os" ) func main() { err := writeToTempFile("Some text") if err != nil { log.Fatalf(err.Error()) } fmt.Printf("Write to file s..
이 글은 헤드퍼스트 디자인패턴을 Golang으로 표현한 글입니다. 목차 1. 전략 패턴의 정의 전략 패턴은 알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해 줍니다. 전략 패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있습니다. 이게 뭔 개소리야. 쉬운 말로 하면 자주 변경되는 부분과 변하지 않는 부분을 분리하여 관리하자! 입니다. 고객의 요구, 사양변경 등의 이유로 발생하는 변화에 유연하게 대응하기 위한 설계입니다. 2. 핵심 원칙 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다. 상속보다는 구성을 확용한다. (Golang에는 상속이 없습니다.) 구현보다는 인터페이스에 맞춰서 프로그래밍한다. 3. 오리 문제 3-1. 스펙 모..
이 글은 https://golangbyexample.com/function-golang-complete-guide/을 번역 및 재가공하여 작성하였습니다. 목차 1. 기본문법 1-1. 제약조건 함수명은 숫자로 시작할 수 없습니다. 대소문자를 구별합니다. 대문자로 시작하는 함수는 외부에서 불러올 수 있습니다. 1-2. 형태 func 함수명(파라메터) 반환값 { // 내용 } 2. parameter 파라메터 뒤에는 타입을 적어야 합니다. func sum(a int, b int) int { return a + b } 같은 타입인 경우 생략할 수 있습니다. func sum(a, b int) int { return a + b } 3. return return값은 복수일 수 있으며 아래와 같이 받을 수 있습니다. 여..
이 글은 https://golangbyexample.com/understand-if-else-statement-golang/, https://golangbyexample.com/switch-statement-golang/, https://golangbyexample.com/for-loop-in-golang/ 을 번역 및 재가공하여 작성하였습니다. 목차 1. 조건문 1-1. 기본문법 package main import "fmt" func main() { age := 29 if age = 18 && age < 40 { fmt.Println("청년") } else { fmt.Println("노년") } } 다른 언어를 경험했던 분들에게 ..
이 글은 Constant in Go (Golang) - Welcome To Golang By Example을 번역 및 재가공하여 작성하였습니다. Constant in Go (Golang) - Welcome To Golang By Example This is the chapter 9 of the golang comprehensive tutorial series. Refer to this link for other chapters of the series – Golang Comprehensive Tutorial Series Next Tutorial – For LoopPrevious Tutorial –Functions Now let’s check... golangbyexample.com 목차 1. 정수 선언 ..
이 글은 Variables in Go (Golang) - Welcome To Golang By Example의 글을 번역 및 재가공하여 작성한 글입니다. 목차 1. 명명 규칙 변수명은 오직 문자 또는 _ 로 시작할 수 있습니다. 그다음으로는 모든 숫자와 문자, _ 를 사용할 수 있습니다. 대소문자를 구분합니다. Golang의 키워드는 사용할 수 없습니다. 길이 제한은 없습니다. 2. 변수 선언 2-1. 초기값이 없는 단일 변수 선언 package main import "fmt" func main() { var number int var str string var flo float64 var boolean bool fmt.Println(number, str, flo, boolean) } 결과는 0, 빈문자..
- Total
- Today
- Yesterday
- Auto Scaling
- golang
- S3
- istio
- Prometheus
- jaeger
- eks
- 드래곤라자
- kubernetes
- HMAC
- 프로덕션
- cka
- Constant
- kiali
- minikube
- 쿠버네티스
- VPC
- IAM
- 달러구트 꿈 백화점
- production
- 전략패턴
- grafana
- liquibase
- k8s
- cloudflare
- CloudFront
- Traefik
- DB형상관리
- flyway
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |