아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. // main.go package main import ( "log" ) func main() { log.Printf("hello") } 에서 “log.”를 생략하려면 import ( . "log" ) 로 하면 Printf("hello") 라고 쓸수 있다. 마찬가지로, import (...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. os/exec.LookPath를 사용하면 커맨드가 실행 가능한지 조사 할 수 있다. $PATH 를 고려하여 찾아주지만 슬래쉬가 들어가 있으면 $PATH를 고려하지 않는다. package main import ( "log" "os/exec" ) func main() { tests...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. []byte를 string으로 변환 시 널 문자 제거하기 var rawUserID []byte userID := strings.Trim(string(rawUserID), "\x00") byte array to string 출처 s := string(byteArray[:]) s := string(byteArray[:n]) str := fmt.Sprintf("%s", byteArray) []string...
더 읽기
일시: 2018년 12월 6일(목) 15시~18시(3시간) 주제: IOCP를 이용한 비동기 IO 네트워크 프로그래밍 유료: 토즈에서 공간을 대여하므로 공간 비용을 내야 합니다. Windows에서 IOCP를 사용하여 서버 프로그램을 만드는 방법을 설명합니다. 3시간이라는 시간이 길지는 않으므로 참석 전에 꼭 네이버 검색이나 책을 통해서 IOCP에...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. sync.Map의 성능 원문 Golang 동시성은 공유 리소스에 액세스 하는 경우 충돌이 발생하지 않도록 잠금을 준비해야 한다. 예를 들어 표준 맵의 경우 goroutine safe 하지 않기 때문에, Write 끼리 충돌하거나 Write...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. pc, _, _, _ := runtime.Caller(1) caller_name := runtime.FuncForPC(pc).Name(); 로 할 수 있다. DEBUG 플래그가 있으면: import ( "log" "runtime" "github.com/user/app/env" ) func Debug(format string, args ...interface{}) { if env.DEBUG...
더 읽기
원문 KVS 라이브러리 내장 KVS로 사용이 가능 프로세스간 스토리지 공유는 상정하지 않는 듯? 메모리 이상의 DB 크기를 설정 가능(메모리 + 파일 읽기 및 쓰기) LiteDB와 다소 영역이 겹칠 수도(최종 목표는 다르지만) 로그 데이터베이스(내장해성) 및 인-메모리 데이터베이스(성능)의 좋은 부분을 목표로 사용자...
더 읽기
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을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 터미널 입력에서 입력 문자열 표시하지 않기 패스워드 등을 입력 받을 때 화면에 문자가 나오지 않게 하는 방법. 아래 코드는 Windows에서는 동작하지 않음 package main import ( "fmt" "log" "syscall" "golang.org/x/crypto/ssh/terminal"...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. nil 타입을 가진 nil nil은 사실 타입이 있다. nil과 nil이 등가가 아닌 것처럼 보인다 nil이 타입 정보를 가지므로 nil==nil 이 true가 된다는 법은 없다. true가 되기 위해서는 우변과 좌변의 “nil”...
더 읽기