我的2013 在程式的路上不斷求索

2021-06-20 00:21:42 字數 2085 閱讀 2346

每年到這個時候,總需要回顧過去,展望未來。2013這一年學到了很多東西,收貨了很多,也成長了很多。主要在技術和生活上面,讓自己有了記錄一下的衝動。

在技術上面,這一年接觸了很多新的東西,讓自己眼界開闊不少,同時也開始自我提公升,瘋狂的在github上面玩開源,只是很多都慘不忍睹。

今年最開始接觸的新東西就是openresty,乙個整合nginx的web應用開發框架。

最開始,我們專案的架構採用的是前端nginx做proxy,然後將請求反向**到後端python tornado的方式實現的。但是隨著壓力的增加以及一些新功能的上線,這套架構開始顯現其侷限性,首當其衝的在於慢,雖然可以通過增加tornado程序的方式來進行負載均衡處理,但我總覺得不是長久之計。

同時,隨著業務邏輯的複雜,一些操作需要多個service協同完成,然後在返回給使用者,而在什麼地方組織多個service的資料以及邏輯也成了我們的乙個難題。

鑑於上述幾個原因,我開始研究openresty,因為之前有3年多lua開發的經驗,所以非常容易上手。同時,通過研讀openresty的一整套原始碼,真正的了解了nginx以及之上的openresty的執行機制。可以這麼說,這段時間我從乙個連nginx配置都不會寫的小白程式設計師一躍成為了名義上精通nginx開發的屌絲程式設計師。

自然,我開始在專案中推廣openresty,這也得到了大家的支援,現在雖然我們很多**仍然是使用python在編寫,但是對於很多高效能模組我們已經逐步轉向了openresty。

在使用openresty的時候,還提交了幾個bug,這點頗為自豪,同時也寫了一些東西,譬如 introduction to nginx

接觸go純屬偶然,在上半年終於完結了乙個持續時間特長的專案之後,整個組的童鞋都陷於乙個無事可幹的真空期,也就是在這段時間,第一次學習了go,立刻就被它的簡單強大所吸引,尤其是在伺服器併發程式設計方面,那可是非常的強悍。

於是,我帶著兩個完全不懂go的童鞋開始了我們推送伺服器的程式設計之旅。最開始的時候,因為兩位童鞋只會python,為了盡快的出功能,一些後台的服務採用tornado搭建,而我用go寫了掛載大量長連線的comet服務。

這裡不得不說go開發服務的快捷,在goroutine以及channel的機制下面,沒有了層層的callback,沒有了死鎖,我只用了3天就弄出了comet,而且能持續穩定執行。

鑑於用go成功開發了comet,我讓另外兩個童鞋也開始用go重構先前寫的python邏輯,進展也很順利。

不過對於我來說,go現在最大的乙個問題在於記憶體占用,go現在預設的stack大小為8k,對於需要掛載百萬連線的comet來說,記憶體開銷實在太大,雖然現在機器的配置完全不需要我擔心,但總覺得有點不爽。不過如果優化,也是後續的事情了。

今年,對於我來說,竟然吃了兩次螃蟹,第乙個就是openresty,而第二個就是go,而且很幸運的是都能在專案中實施。

今年,我真正的開始了乙個算是比較大的開源專案:libtnet,它是乙個參考tornado的c++高效能網路庫。之所以寫libtnet,主要是為了後續能用到comet上面,同時也讓我自己對多年的網路程式設計做乙個總結。

以前總說自己精通網路程式設計啥啥的,其實心裡面也知道是用來忽悠的,畢竟精通這個詞沒多少年的沉澱是不可能的。但是通過寫libtnet,不說精通,至少讓我又對很多網路程式設計的東西了解了。

不過libtnet的問題在於使用c++進行開發,同時大量採用function + bind的開發模式,對於組內的童鞋來說理解上面還比較困難,如果在專案中實施很有可能面臨只有我乙個人維護的窘境。

今年沒事的時候也涉獵了一些移動開發的方面,包括android以及ios。在android上面開發了一些小應用,只是都是自娛自樂。在ios上面使用cocos2d-x開發了乙個小遊戲demon,也當是消遣了。

不過在明年準備好好的嘗試一下該領域的開發。尤其是ios上面,畢竟老婆都有了土豪金了,為了展示老公的程式設計師風采,再怎麼也得弄乙個出來。

今年在公司,我開始嘗試站著上班,不得不說這對我工作效率的提公升有很大的幫助,站著上班,不光**,還能讓我專心工作,因為任何的聊天瀏覽網頁都是一件很耗費力氣的事情。這裡也不得不佩服自己的毅力,每天竟然都能堅持站7,8個小時。

生活上面今年最主要就是幾件事情:

可能對於我來說,明年在生活上面最大的事情就是要照顧孩子了。

總之,2013過的很快,但也過的很充實,希望自己在2014裡面越來越好,能有更大的突破。

在路上 我的2011

在2011年發生了很多大事 薩達姆 卡扎菲和金正日在閻羅殿進行了一場熱烈而又濃重的經驗交流會 賈伯斯去天堂兜售他的iphone去了 而雷布斯正在熱情高漲地在人間兜售他的小公尺手機 微軟推出了wp7 nokia退出了wp7系統的手機 太陽 sun 也落下了 被oracle收購 hp又換了一位ceo.這...

在路上 我的2011

在2011年發生了很多大事 薩達姆 卡扎菲和金正日在閻羅殿進行了一場熱烈而又濃重的經驗交流會 賈伯斯去天堂兜售他的iphone去了 而雷布斯正在熱情高漲地在人間兜售他的小公尺手機 微軟推出了wp7 nokia退出了wp7系統的手機 太陽 sun 也落下了 被oracle收購 hp又換了一位ceo.這...

在路上 我的2011

在2011年發生了很多大事 薩達姆 卡扎菲和金正日在閻羅殿進行了一場熱烈而又濃重的經驗交流會 賈伯斯去天堂兜售他的iphone去了 而雷布斯正在熱情高漲地在人間兜售他的小公尺手機 微軟推出了wp7 nokia退出了wp7系統的手機 太陽 sun 也落下了 被oracle收購 hp又換了一位ceo.這...