2015年6月26日 星期五

Docker Devenv Go gogrs #W26

後來想一想還是嘗試每個禮拜紀錄一下我這一週的狀況,要不然好像很多東西又一溜煙的過去了。

這一週的開始就有兩天的 Dockercon,今年開始 Docker 一整個風迷起來,也剛好最近比較有空,實際操作 Docker 才感覺到這東西非常神奇,以前建立一個虛擬環境其實也不是什麼大問題,問題在於啟動的速度超級快,因為就很簡單的在資源調用的時候透過 namespaces 來分配、隔離,如此這般就可以直接開啟一個或是數個 containers。

在 Dockercon 大概就是發布 runc.ioOCP(OPEN CONTAINER PROJECT)的建立,然後 OCP 把這一群公司(Apcera, AWS, Cisco, CoreOS, Docker, EMC, Fujitsu, Google, Goldman Sachs, HP, Huawei, IBM, Intel, Joyent, Pivotal, the Linux Foundation, Mesosphere, Microsoft, Rancher, Red Hat, VMWare)集合起來後推出一個標準的 container 格式 runC。網站的範例就是把 Docker 的 container export 出來後產出一個設定檔後直接用 runC 執行就可以了。

Dockercon 三個 Keynote 影片大部分都是簡單的火力展示,也有展示(05:35)如何在 Raspberry Pi 上面跑 100 個 container,後面還有一個(23:00)用 docker 快速開啟雷神之錘(Quake)的展示。

Docker 還有兩個還在開發的功能,Docker Machine、Docker Swarm,但這兩個東西都建構在 VirtualBox,而 VirtualBox 沒辦法在 AWS EC2 上面安裝,因為 EC2 本身是 Xen 的虛擬環境不支援,所以這兩個東西暫時先跳過。會需要這兩個是因為 Docker compose 有個 docker-compose scale 的指令,他可以像 Heroku 那樣快速新增數個 containers,但是目前卡在 IP 的配置的問題,這還要找些資料來研究看看。

另外這禮拜我自己在寫一些小工具的時候,發現我的開發環境有好一陣子沒更新了,我是想說有時候只是想要測試某個套件或是資料庫,在以前,我可能會到 AWS 開一台 Spot Insatances,但後來想想,用 Docker 建立一個環境就好了,用完就 docker rm 掉,想要用就 run 一個起來進去裝想要的東西,論速度就比開一個 Spot Instances 快!況且我在 AWS 上的機器其實還閒閒的很多資源 XD,所以在 github 上面開一個 toomore/devenv,裝好 vim、git、ctag、vim plugin、go ...,裝 vim 的部分因為有用到 lua 所以還參考一下 mbrt/golang-vim-devDockerfile 怎麼裝。

環境裝好後這禮拜開始動手寫一個 Go web application,主要還是要動手練習簡單建立一個網站的流程,我故意不用相關的 web framework,但真的就什麼都要重頭開始寫,就連基本的 login session 的機制都要自己寫,我是想到用 url.Values 來包一個簡單的驗證(godoc: toomore/hashvalues),最後再將這 hash 的資料放入 SetCookie 來當作 cookie-based session來用,這部份是參考 flaskgorilla/sessions 的作法來處理。不過這個 Go web application 要拿來做什麼用,應該再兩個禮拜後就可以看得出來 ......

關於前陣子一直在衝刺的 gogrs 這禮拜好像沒什麼新增,每天盯盤或是盤後分析目前都還堪用,但幾次交易下來還是有一些很想完成的功能,例如盤中的時候如果可以幫忙盯盤那就更完美了,有些股票在一些特定時段會有急漲或急跌的狀況,如果可以持續接資料(通常每 5 秒更新),就可以看到更細的競價過程,雖然有人和我說這目前看盤軟體都有相關的功能,但我就想用 Go 來完成啦 XD。現在的功能都還堪用,暫時先練習其他的部分。

這禮拜大概是這樣, 早上看盤、下午用電腦、晚上看資料 ......

沒有留言 :

張貼留言