기본 콘텐츠로 건너뛰기

라벨이 go인 게시물 표시

docker+alias를 사용해서 golang 편하게 쓰기

이 글은 docker 설치를 했다는 가정에서 진행한다. 먼저 go docker 버전을 가져오자 docker pull 해도 되지만 필요한 걸 추가할 수도 있을 것 같아 Dockerfile 을 만들었다. FROM golang:1.7-alpine go 1.7을 비교적 가벼운 alpine linux버전에 올리자. docker build . 해서 image를 만들자 docker images를 해서 확인할 수 있다. alpine 이 아니라 그냥 1.7도 docker pull golang:1.7 해서 가져와봤는데  $ docker images REPOSITORY                  TAG                 IMAGE ID            CREATED            SIZE golang                      1.7-alpine          52493611af1e        5 days ago          241.1 MB golang                      1.7                 fe25c00086fb        5 days ago     ...

go로 android notification server를 만들었다.

내가 처한 갑갑한 상황은 이런 것이었다. 1. Android 용 notification server + client 를 구현해야한다. 2. 서비스 서버는 내가 손을 댈수 없지만 windows+asp 기반으로 되어있다. 3. 내 컴퓨터는 OS X다 (....) 4. 소스가 노출되는 형태의 결과물은 안된다(script류 X) 5. 서버 구동을 위해 별도의 프로그램을 설치할 수 없다 (java 안됨) 6. exe 파일을 만들어야한다. 그것도 OS X에서 7. C/C++로? 8. 테스트 용으로 디플로이도 해야할 것 같다. 그래서 떠올린 것이 go. 유지보수도 겸해서 천치도 읽을 수 있게 짜고 싶었다. go-gcm package를 일단 써서 후지고 빠르게 만들자. https://gist.github.com/acidsound/5121536#file-tinygcmserver-go // +build !appengine package main   /* * Usage: ./TinyGCMServer.go <API_KEY> <Server URL(:port)> * Test: curl -d "<NOTIFICATION MESSAGE>" http://serverURL/sendMessage?target=<REGISTRATION_ID> */ import ( "fmt" "github.com/googollee/go-gcm" "io/ioutil" "net/http" "os" )   var API_KEY string   func main () { serverURL := "localhost:8000" if len ( os . Args ) > 1 { API_KE...

go를 사용하여 Google App Engine에 정적 웹서버를 올려보자.

작년에 미뤄뒀던 Go 를 다시 보고 있다. 동기부여를 위해 회사 안내 홈페이지를 망할 일도 없고 비용이 안드는 곳으로 옮기고 싶은 생각이 있었는데 Google App Engine (이하 GAE)정도면 뭐 망할 일이 없겠지 싶다. Google Apps 처럼 유료화해도 먼저 만들어 놓은 서비스/계정은 안건드니까 먼저 침이라도 발라놓아야지. 개발환경 세팅은 간단했다. Download 에서 package 를 받고 설치한 다음 goide를 쓰고 싶었으나 아직 완성도 문제가 있어서 sublime을 사용하기로 결정. http://wbond.net/sublime_packages/package_control/installation 는 전에 설치해놓았다. 그저 sublime을 띄운 상태에서 ctrl+` (OS X에서도 ctrl+` 임)을 누르면 나타나는 하단 콘솔창에 import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation' 요 내용을 붙여넣으면 끝. 그 다음 sublime용 golang plugin인 GoSublime 을 추가 데모 동영상을 보면서 사용법을 간단하게 알아보면 0:11즈음에 나오는 package 삽입 기능은...

go 언어용 개발환경으로 Chocolat을 써보자.

http://chocolatapp.com textmate 는 너무 무겁고 한글이 지원이 헬이어서 다른 걸 찾던 중 발견한 에디터인데 아직 beta지만 꽤 훌륭한 완성도라 애용하고 있다. 프리오더의 유혹이 (후덜덜; ) go 언어용 에디터로 쓰고 싶은데 찾아보니 Truffle 파일이 있더라. textmate 용으로 먼저 만든게 아닌가 싶은데 textmate github 엔 없더라 https://github.com/chocolat/go.truffle 일단 chocolat 을 종료하고 해당 Truffle을 추가해보자. git clone https://github.com/chocolat/go.truffle 하거나 zip download 해서 압축을 풀면 go.truffle 디렉토리가 생긴다. 응용프로그램 > Chocolat 2 를 선택하여 "패키지 내용 보기" 하면 Contents/SharedSupport/Truffles 가 있다. go.truffle 디렉토리를 Truffles 아래에 복사한 후 Chocolat 을 기동해보자. 아이 좋아. =_=) 스샷은 go로 만든 웹서버. 사실 이것때문에 본거임. 심플하고 좋네. Action > Go > Compile 을 실행하니 /Applications/Chocolat 2.app/Contents/SharedSupport/Truffles/go.truffle/support/gomate.rb:3:in `require': no such file to load -- /Applications/Chocolat 2.app/Contents/SharedSupport/Support/lib/tm/executor (LoadError) from /Applications/Chocolat 2.app/Contents/SharedSupport/Truffles/go.truffle/support/gomate.rb:3 from /var/folders/pO/pORC8X...