##雜七雜八感言:

啊… 我覺得我blog樣板好醜啊….應該要改成Patrick類似的… 本來想加回廣告的… 後來看到每天流量沒有破百…. 算了….

##筆記:

以下是關於本週的學習筆記…

###[Golang] 一些有趣的package 跟 網站

[Golang] “Beego” Framework: An open source framework to build and develop your applications in the Go way

image

[Golang] Concurrency 實戰初體驗-

  • 一開始學習都Go Routine都是寫一些簡單的程式,最近有機會應用到網站上面的時候,有一些簡單的心得.也順便把所有的Godoc仔細地查看了一下.
  • 使用時機:
    • 需要他的回傳值或是修改後的結果,使用Channel
    • 不需要,就直接使用Goroutines
    • goroutines如果有太多參數要使用,直接寫成在func裡面.
  • 使用成效:
    • 一個需要用到對照查詢的部分,原本要40s可以節省到1/3(甚至更少..).
  

// 一個effective_go 上透過channel完成類似message queue的概念
var sem = make(chan int, MaxOutstanding) //MaxOutstanding 最多可執行的thread數

func handle(r *Request) {
    // sem在這邊只是作為MaxOutstanding的個數參考,如果超過MaxOutstanding就無法指定新的數值
    sem <- 1    // Wait for active queue to drain.
    process(r)  // May take a long time.
    <-sem       // Done; enable next request to run.
}

func Serve(queue chan *Request) {
    for {
        //等待新的message(request)進來
        req := <-queue
        go handle(req)  // Don't wait for handle to finish.
    }
}

[RPI+node.js]自己的 Dropcam 自己 Make

  • 有人把自己整套dropcam的solution 包含伺服器與RPI上面client的code都分享出來.並且透過deploy to heroku這個按鈕,可以一鍵部署到heroku去.
  • 完整source code在這裡image

[Cloud Load Testing]關於負載測試的服務與提供

  • 主要是由Azure看到的服務介紹,來瞭解到原來雲端負載測試是可以外包給雲端服務的.不過考量到伺服器的測試會造成許多額外得費用.這部分想玩還要找時機啊.
  • Blitz另外一家雲端負載測試公司
  • Loadstorm 這也是另外一家….

[Other] 雜七雜八的鏈結

[Code Style] Python Google Code Style


Evan

Attitude is everything