2015年7月10日 星期五

W28 一週進度 COSCUP 電子報 發報系統 股市暴跌 《演算法統治世界》 《華爾街刺蝟投資客》 近況


週一趕上了 COSCUP 第一期電子報發送內容,這陣子一直在實作 Go web application,希望為一個簡單的發報系統,但包含開信、點擊追蹤。目前很簡陋的完成發信系統,也在這次的 COSCUP 第一期電子報實際使用。

關於電子報發送的流程是這樣的,首先需要電子報的樣板(template)、發送對象的清單(CSV)在後台操作的時候會將樣板上傳到 S3 存放、清單的部分會變成一個個 queue message 放到 SQS。而發送的部分則是執行一個叫做 mailman 的 worker 去取 SQS 的 message 下來與 template 內容結合為信件內容後發送出去。通常這種大量發送什麼的一定會配合 go 的 goroutine,所以在取 queue、Send mail 的部分就這樣處理。

最後就是與 Docker 結合,worker 在設計的時候要考慮到 config 的問題,一定不能寫死,要保持非常彈性的狀態,這樣再配合 docker-compose scale 的時候就可以很自由的增減 worker 發送。其實 config 的部分有想到可以透過類似 API 的方式去詢問 webserver 目前的設定值,有點像是 AWS EC2 的 Meta-Data 一樣。

實作的內容這幾天有補上 README 內容,說明一下目前的進度與目標。

其實我有好一陣子沒寫 Python,但希望只是單純的因為目前一直在練習 Go 的關係,所以沒什麼機會去寫,多學一個語言後會發現有些事情或處理方式和語言沒什麼關係,既然沒什麼關係的話,如果開發速度差不多的狀態下,當然會傾向效能比較好的語言,現在看起來還滿多專案或是 startup 都轉向用 Go ......

另外週五台北放颱風假,相對的證交所就沒有交易,之前在寫 gogrs 的時候有為是否開休市的問題寫一個簡單的 API,放入要查詢的時間回傳開休市結果。通常一年的預定的放假、補上班日證交所都會公告,但是遇到颱風這種臨時公告的事件就需要一個額外的服務來同步修正,其實現在也還是人工的更新放假、補上班的,但這次是第一次完成更新。另外也把這服務申請一張 SSL 憑證,因為看到 Google Bot 來爬東西。

這禮拜三陸股暴跌,台灣股市也跌了快三百點,我操作的股票沒有很即時的拋售,不過慶幸的是週四反彈時將股票轉到反彈力道比較強的標的,損失縮小到 $3 左右。其實這陣子操作下來還是有些判斷不是很精準,但好處是還知道哪些股票可以轉換,所以每天還是要勤勞的選股

前幾天看完《演算法統治世界》其實大概就還是講華爾街利用時間差、高頻交易的問題。後來接著看《華爾街刺蝟投資客》目前看到一半,透過自傳的方式紀錄幫人代操避險基金時,起伏的報酬所帶來的恐懼與喜悅交織的感受,在看這本的時候常常會有心有戚戚焉,雖然我操作的金額比不上這種基金規模,但同樣都是錢啊!

2015年7月3日 星期五

W27 一週紀錄:Docker aws-sdk-go simpleaws RSS engineering-blogs 《風起》 《惡之教典》


這禮拜好像過的有點快,來紀錄一下做了什麼。

延續上禮拜提到關於 Docker-compose scale 的部分,看到很多文章分享都提到用 HAProxy / etcd 來處理,有一天晚上播著 Dockercon 2014 的內容,印象有人介紹這樣的組合應用,但是一時之間找不到哪段。這禮拜大部的時間都在趕其他東西,所以 Docker 的部分沒有實作練習的部分。

用 Go 實作一個 web application 的進度這禮拜剛好落在要使用 aws/aws-sdk-go 搭建一些服務,但初步看一下 aws/aws-sdk-go 的內容,實在有夠 low-level,有些部分都還要預先處理才可以拿來使用,所以只好自己再以 aws/aws-sdk-go 建一個自己常用的服務和一些比較快速使用的程序。

toomore/simpleaws 目前整理了 SESS3SQS 這三個服務。SES 簡化只要 sender、receiver、content 這樣就可以寄出去了。S3 完成簡單的 Put/Get object。而 SQS 的部分除了基本的 send queue messages 外還簡化 send batch 的部分。不過 aws/aws-sdk-go 還不錯啦,命名規則都是依照 aws docs 的名稱,有的時候我真的搞不懂 SDK 寫的用法,直接用關鍵字找都會找到最原始的內容。

這三個服務串起來應該就很清楚要做什麼了,之前在 COSCUP2013 接行政組長的時候就有作過類似的服務,不過那是用 Python 寫的,這次還想要加入一些功能,之前做的只有將信發送出去,但之後的開信與點擊的追蹤都沒有,想說每年 COSCUP 或是其他的 conference 都會有類似的需求,所以建立一個服務來使用,一方面把最近在學的東西一次來個大驗收這樣。不過目前看起來還真的有好多流程要趕工,我是分三大部分:發信、接收開信/點擊、後台操作,但目前看起來只完成 20% 這樣 XD

這禮拜也花點時間整理 RSS feeds,有好一陣子沒時間把上面的文章消化完,在 github 上面看到有很多人整理所謂的 engineering-blogs,自從 Google 把 Reader 關掉之後就轉移到 feedly 來收 RSS,在 Android 上面我本來是用 Press 但後來發現他在同步大量內容的時候會掛掉(都是我的錯積太多了!)後來用 gReader Pro,他好處就是有離線閱讀功能,我很喜歡離線看東西,尤其是搭捷運的時候(因為我的 Nexus 7 只能連 wifi)

這禮拜去租了兩部片來看一部是《風起》一部是《惡之教典》。《風起》裡面其中一句「日本少年,一個設計師最精華的時間不過十年,你一定要好好把握!」應該是說每個人都有一個屬於自己的黃金十年。我以為《風起》只是紀錄零式戰機的過程,沒想到也有談到人生道理的部分,整部片看了很感動。影片一開始的關東大地震也很印象深刻,後來查一下網路的資料發現原來地震那段疊了好幾層圖層來呈現,難怪畫面很震撼!《惡之教典》其實就是一部爽片這樣,我想應該找時間看一下小說才是,影像化後面的部分就像簽了密技一樣子彈用不完的狂射這樣,後面還留了一些伏筆,不過整部片大概就是一直注意二階堂富美這樣 XD

這禮拜股市很恐怖,陸股真的誇張到不行,可以急漲急跌成這樣,非常神奇!賣股票的時候在早盤有不錯的價位就要賣掉,因為這個階段通常都開高高、收低低,相反的要買股票就不急,盤中多看一點再來決定這樣。

這禮拜就第二季結束這樣,應該找個時間來排一下接下來的任務進度,時間很快就過去 ......