golang - slice의 shuffle

Fisher–Yates shuffle 이라는 알고리즘 사용 package main import ( "fmt" "math/rand" ) func main() { n := 30 arr := generate(n) fmt.Println(arr) shuffle(arr) fmt.Println(arr) } func generate(n int) []string { arr := make([]string, n) for i := range arr {...
더 읽기

golang - webFramework Echo

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 개요 웹 프레임워크. 경량 고속. 공식 페이지 https://labstack.com/echo 설치 go get github.com/labstack/echo 버전 2부터는 fasthttp 모듈을 선택해서 사용 가능하다. 성능 테스트 예. http://yamamaijp.hatenablog.com/entry/2016/03/10/161831 간단 예제 코드 main.go package main import...
더 읽기

golang - defer

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. defer 테스트 테스트 1: 마지막으로 쓴 것이 가장 뒤에 쓴 것이 제일 처음 호출된다 http://play.golang.org/p/gb8tbGk4wr package main import "fmt" func f() { defer fmt.Println("1") defer fmt.Println("2") defer fmt.Println("3") } func...
더 읽기

golang - 코드 정적 분석 툴 go vet

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. go vet go의 표준 패키지에 포함된 코드 정적 분석 툴이다. 공식 문서는 https://golang.org/cmd/vet/ go vet 사용 방법 ・flag 등 go vet package/path/name # package 단위 go tool vet /path/to/*.go #...
더 읽기

golang - 설치와 GoPath

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 설치 (일어)Ubuntu에 GO 언어(golang)의 최신 버전을 apt로 설치 (일어)Homebrew로 Go 1.6 설치 (일어)Go 언어 개발환경 셋업 (일어)Go 개발 환경/빌드 환경으로서 Amazon Linux을 셋업하는 절차 (일어)CentOS7에 Go 최신 버전을 설치하기 govirtualenv...
더 읽기

golang - time

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 시간 및 날짜 표준 API 표준 라이브러리 사용 예 현재 날짜 package main import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println(now) } 현재의 연, 월, 일,...
더 읽기

C++ - C++의 dangling 검출, 제안 문서 버전 1.0 공개

출처 C++의 저명한 개발자, ISO C++ 표준위원회의 위원장 Herb Sutter씨가 dangling(잘못된 영역에 대한 잘못된 참조)의 검출 방법을 제안하는 문서 “Lifetime Safety: Preventing Common Danglng”의 버전 1.0을 공개 했다. C++ 코드에 숨어있는 전형적인 dangling을 컴파일 시에 발견하고 경고하는 방법을 제안하고 있다....
더 읽기

golang - 파일 업로드 하기

출처 Go 언어에서 HTML 페이지에서 파일 업로드 된 경우 서버 측의 임의의 장소에 업로드 된 파일을 저장하는 샘플 코드. sever.go package main import (format "fmt"); import ("net/http"); import "os"; import "html/template"; import "mime/multipart"; func main () { var mux *http.ServeMux;...
더 읽기

golang - serialization benchmarks (2018년 8월)

출처: https://github.com/alecthomas/go_serialization_benchmarks 2018-08-19 Results with Go 1.10 on a 2.5 GHz Intel Core i7 MacBook Pro (Retina, 15-inch, Mid 2015): benchmark iter time/iter bytes/op allocs/op tt.time tt.bytes time/alloc --------- ---- --------- -------- --------- ------- -------- ---------- BenchmarkGotinyMarshal-8 10000000 132 ns/op...
더 읽기