golang - random

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 공식 문서 일어 0 에서 9까지(포함)의 난수 얻기 import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) for i := 0; i < 10; i++ { fmt.Println("My favorite number...
더 읽기

golang - package의 prefix를 생략

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. // main.go package main import ( "log" ) func main() { log.Printf("hello") } 에서 “log.”를 생략하려면 import ( . "log" ) 로 하면 Printf("hello") 라고 쓸수 있다. 마찬가지로, import (...
더 읽기

golang - exec.LookPath 커맨드 명령어가 실행 가능한지 조사

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. os/exec.LookPath를 사용하면 커맨드가 실행 가능한지 조사 할 수 있다. $PATH 를 고려하여 찾아주지만 슬래쉬가 들어가 있으면 $PATH를 고려하지 않는다. package main import ( "log" "os/exec" ) func main() { tests...
더 읽기

golang - string

아래 글은 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...
더 읽기

강의 - IOCP를 이용한 비동기 IO 네트워크 프로그래밍

일시: 2018년 12월 6일(목) 15시~18시(3시간) 주제: IOCP를 이용한 비동기 IO 네트워크 프로그래밍 유료: 토즈에서 공간을 대여하므로 공간 비용을 내야 합니다. Windows에서 IOCP를 사용하여 서버 프로그램을 만드는 방법을 설명합니다. 3시간이라는 시간이 길지는 않으므로 참석 전에 꼭 네이버 검색이나 책을 통해서 IOCP에...
더 읽기

golang - sync.Map

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. sync.Map의 성능 원문 Golang 동시성은 공유 리소스에 액세스 하는 경우 충돌이 발생하지 않도록 잠금을 준비해야 한다. 예를 들어 표준 맵의 경우 goroutine safe 하지 않기 때문에, Write 끼리 충돌하거나 Write...
더 읽기

golang - 호출 측의 func 이름 알기

아래 글은 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...
더 읽기

FASTER에 대해서

원문 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」사용법 철저 해설....
더 읽기