Go lang에서 Nuts라는 key-pair 방식의 db를 쓸 때가 있다. 참고 : https://github.com/xujiajun/nutsdb#getting-started
1. 다운받기
go get -u github.com/xujiajun/nutsdb
이 때 package golang.org/x/sys/unix: golang.org/x/sys is a custom import path for https://go.googlesource.com/sys, but /home/ubuntu/go/src/golang.org/x/sys is checked out from https://github.com/golang/sys.git
위와 같은 메세지가 나타날 수 있는데
package의 출처가 다르다는 메세지다.
각각의 폴더에 들어가서 파일들이 제대로 들어가 있으면 문제 없는 듯. cd src/github.com/xujiajun/netsdb cd src/golang.org/x/sys
github의 example 아래 basic/main.go 를 참고하여 (https://github.com/xujiajun/nutsdb/tree/master/examples/basic) NutsDbHndler.go 를 만듬. package는 databases 참고1 : init() method는 인자가 없는 func로 생성하면 자동으로 처리 됨. 따로 호출할 필요 없음. 참고2 : nuts db의 method 선언 형태는 if err := func(); err != nil { } 형태임 err := func(); if err != nil {} 위 형태의 변형임. 참고3 : fileDir 은 현재경로 기준으로 하려면 "./aaa" 등으로 하고 그 외에는 절대 경로임 참고4 : init() 함수 내에 os.RemoveAll 이 있으므로 자칫하면 해당 폴더의 Data가 모두 지워질 수 있으므로 "./data" 등의 해당 db파일만 저장되는 경로를 따로 마련할 것.
go: cloud.google.com/go/pubsub@v1.2.0: Get "https://proxy.golang.org/cloud.google.com/go/pubsub/@v/v1.2.0.mod": net/http: TLS handshake timeout
갑자기 위와 같은 에러로 실행이 안되는 경우가 있다.
내용은 TLS handshake timeout 즉 연결이 안되었다는 뜻으로 잠시 해 보거나 다른 네트워크로 붙어서 해 볼 것.
go 프로젝트 처음 가동할 때 다운로드 받는 것들이 있는데 그 때 접속이 잘 안되면 위와같은 에러가 나기도 함.