아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 채널 사용하기 받기 전용, 보내기 전용 채널 선언 받기 전용 c <-chan int 보내기 전용 c chan<- int 다른 고루틴에 동기적으로 통신하고 싶은 경우 2개의 채널이 서로 동기적으로 데이터를 주고...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 바이너리 엔코딩 개요 복수의 값과 바이트 열의 상호 교환을 한다 복수의 값은 고정 길이 값으로 해석된다. 고정 길이 값으로 다룰 수 있는 것 수치 타입: int8, uint8, int16, float32, complex64,...
더 읽기
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을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 개요 웹 프레임워크. 경량 고속. 공식 페이지 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 테스트 테스트 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 go의 표준 패키지에 포함된 코드 정적 분석 툴이다. 공식 문서는 https://golang.org/cmd/vet/ go vet 사용 방법 ・flag 등 go vet package/path/name # package 단위 go tool vet /path/to/*.go #...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 설치 (일어)Ubuntu에 GO 언어(golang)의 최신 버전을 apt로 설치 (일어)Homebrew로 Go 1.6 설치 (일어)Go 언어 개발환경 셋업 (일어)Go 개발 환경/빌드 환경으로서 Amazon Linux을 셋업하는 절차 (일어)CentOS7에 Go 최신 버전을 설치하기 govirtualenv...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 시간 및 날짜 표준 API 표준 라이브러리 사용 예 현재 날짜 package main import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println(now) } 현재의 연, 월, 일,...
더 읽기
출처 C++의 저명한 개발자, ISO C++ 표준위원회의 위원장 Herb Sutter씨가 dangling(잘못된 영역에 대한 잘못된 참조)의 검출 방법을 제안하는 문서 “Lifetime Safety: Preventing Common Danglng”의 버전 1.0을 공개 했다. C++ 코드에 숨어있는 전형적인 dangling을 컴파일 시에 발견하고 경고하는 방법을 제안하고 있다....
더 읽기
출처 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;...
더 읽기