December 20, 2014

Vengo 사용하기

Python을 사용하는 사람이라면, virtualenv을 잘 알것이다. 각 프로그램마다 각자의 파이썬 환경을 구성할수 있는 도구이다. (Py3에 기본으로 추가되어 있다) go tool은 개인적으로 불만이 많은 도구이다. 특히 go get은 여러가지 기능의 부족으로 당황스러움을 느끼게 한다. 가령 go get은 scm(git,hg…)에서 직접 가져온다. 하지만 언제나 master branch의 최신을 가져온다. 즉 버져닝(versioning)에 대한 부분이 없다. 그리고 go get은 상대경로에 대한 인식을 하지 않는다. 언제나 $GOPATH부터 절대 경로로 패캐지를 임포트해야 한다. (언어의 제안사항이 아님) go get에 특정 브랜치나 특정 태그(버젼)을 추가하자는 이야기는 go-nuts에 많이 (주기적으로) 나오는 이야기로 알고 있다. Read more

May 10, 2014

Send-to-kindle 2014-05

읽어야 할 글들을 Kindle에 던지는데,뭘 킨들에 던졌는지 기록해 두면 좋을 것 같아서 적어본다. Go’s power is in emergent behavior http://www.onebigfluke.com/2014/04/gos-power-is-in-emergent-behavior.html golang의 interface의 특징을 두가지 예(http.HandlerFunc,opaque type)을 가지고 설명. 저번에 있었던 gophercon에서 들은 내용에 대한 글. Go Parallel 1,2 https://software.intel.com/en-us/blogs/2013/06/18/go-parallel https://software.intel.com/en-us/blogs/2014/04/13/go-parallel-2 고루틴에 대한 예제와 함께 짧게 고루틴을 알수 있는 글. Go: Best Practices for Production Environments http://peter.bourgon.org/go-in-production/ soundcloud에서 go 프로젝트를 하면서 생긴 팁들을 나열. Read more

April 3, 2014

Send-to-kindle 2014-04

읽어야 할 글들을 Kindle에 던지는데,뭘 킨들에 던졌는지 기록해 두면 좋을 것 같아서 적어본다. 이번달은 읽은 글들이 많지가 않다. T_T Go and Package Versioning http://zduck.com/2014/go-and-package-versioning/ “My dream is for go get to support a version number component in the import path. So github.com/jpoehls/gophermail would fetch the HEAD of the repository as it does today. github.com/jpoehls/gophermail#v1 would fetch the v1 branch or tag.” http://gopkg.in 을 사용하면 github에 한해, branch,tag로 구분되어 있는 버젼을 패캐지버젼을 사용할수 있게 된다. Read more

March 11, 2014

Send-to-kindle 2014-03

읽어야 할 글들을 Kindle에 던지는데,뭘 킨들에 던졌는지 기록해 두면 좋을 것 같아서 적어본다. Why Atom Can’t Replace Vim : Learning the lesson of vi Atom이 Emacs의 확장가능성은 가질수 있지만, Vi의 조합가능성에 대해서는 배운 바가 없다는 글. 조합가능성에 대한 글로는 http://blog.dahlia.kr/post/78940164278 홍민희님의 글과 함께 보면 좋다. 내가 생각하는 조합 가능성은 명령어들의 조합이 명령어와 차별 받지 않고 같은 취급을 받는 것이 아닌가 싶다. 유닉스의 파이프로 연결하여 또 하나의 명령어를 만들듯이. Read more

July 27, 2013

Bidirectional RPC in go

예를 들어, Master Server와 Master의 지령을 받는 Worker Daemon가 있다고 하자. Master가 특정 Task를 Worker에 요청을 하려고 하는데, 여러가지 이유로 Master가 Worker에 접속을 하는 구조가 아닌, Worker가 실행할때 Master에 접속 할수만 있다고 하자. (특히 내부 IP만 가진 Worker라면 Master가 Worker에 접속을 할수가 없다.) ThriftRPC나 MsgpackRPC의 구조를 보면, Client/Server 구조로 Client가 Server의 Procedure을 원격 실행하는 방법만 지원한다. (Thrift에서 양방향 RPC을 쓰고 싶다면 http://joelpm.com/2009/04/03/thrift-bidirectional-async-rpc.html 을 참고,써보지는 않았다. 자바만 지원.) 밑으로 내려가서 보면, TCP은 기본적으로 Full-duplex 데이터 전달이 가능하다. Read more

© 2019. All rights reserved.

Powered by Hugo & Kiss.