추천 프로그램(개발 유틸리티)

asciinema https://asciinema.org/ 터미널에서의 입력 기록과 재생, web으로 공유도 가능 사용법 소개 (일어) https://dev.classmethod.jp/tool/intro-asciinema/ cmder http://cmder.net/ Windows 터미널. (일어) http://qiita.com/murachi1208/items/d6e4ce7ba75f1625fe51 Markdown을 사용하여 가볍게 슬라이드 작성・공개할 수 있는 서비스 「slideship.com」. (일어) http://codezine.jp/article/detail/10278 GitHub만으로 초 고기능 슬라이드를 만들 수 있는 「GitPitch」사용법 철저 해설....
더 읽기

golang - nil

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. nil 타입을 가진 nil nil은 사실 타입이 있다. nil과 nil이 등가가 아닌 것처럼 보인다 nil이 타입 정보를 가지므로 nil==nil 이 true가 된다는 법은 없다. true가 되기 위해서는 우변과 좌변의 “nil”...
더 읽기

golang - error

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. Error 스택 상태 출력과 에러 핸들링 github.com/pkg/errors 를 사용하여 error 오브젝트를 랩핑하면 스택 트레이스를 추가할 수 있다. error 중의 스택 트레이스는 “%+v” 포맷 지정으로 출력 할 수 있다. 또 errors.Cause를...
더 읽기

golang - 실행 중인 코드의 행 수와 파일 이름 얻기

현재 실행 중인 Go의 코드 정보를 로그를 남기고 싶을 때는 코드의 파일 이름과 행 수를 알아야 한다. runtime.Caller 함수를 사용하면 이 정보들을 얻을 수 있다. package main import ( "runtime" "fmt" ) func main() { // func Caller(skip int) (pc...
더 읽기

golang - channel 사용하기

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 채널 사용하기 받기 전용, 보내기 전용 채널 선언 받기 전용 c <-chan int 보내기 전용 c chan<- int 다른 고루틴에 동기적으로 통신하고 싶은 경우 2개의 채널이 서로 동기적으로 데이터를 주고...
더 읽기

golang - binary encoding

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 바이너리 엔코딩 개요 복수의 값과 바이트 열의 상호 교환을 한다 복수의 값은 고정 길이 값으로 해석된다. 고정 길이 값으로 다룰 수 있는 것 수치 타입: int8, uint8, int16, float32, complex64,...
더 읽기

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...
더 읽기