我們Pikacode公司的技術選型
“及早釋出。頻繁釋出。聽取客戶的意見”(Eric S. Raymond, The Cathedral and the Bazaar)是我們Pikacode公司的主導方針。開發中的技術選型必須認真的遵循這個指導原則。
Python
快速且整潔的開發。大部分我們的關鍵元件,如為git提供服務的http或ssh server以及mercurial遠端操作,都只有不到幾百行程式碼。更少的程式碼意味著更少的bug和更少的維護量,增加新功能也變得容易。Python生態系統和Pip(http://pypi.python.org/pypi)非常穩固,這使系統依賴模組的升級變得輕而易舉。我們使用virtualenv (http://pypi.python.org/pypi/virtualenv)來隔離我們的各個應用。
Django和其它的python相關元件
如果你選擇使用python來開發,那最好的一個框架就是Django。Django擁有所有開發多功能網站的需要的特徵,並且易於擴充套件。你需要的所有程式庫它都能提供。升級簡單而且不會影響你的應用。
後臺任務由Rabbitmq (http://www.rabbitmq.com)整合Celery (http://celeryproject.org/)來處理。我們使用後臺排程程式來處理好資源的操作,例如統計計算,壓縮下載等高負擔的儲存操作。用Javascript查詢後臺任務狀態,向使用者顯示最終狀態結果。
Bootstrap css框架
如果你是做開發的,且你的web設計方面的技術非常差,CSS框架能幫助你開發出一個使用者體驗非常好的漂亮的介面。Bootstrap是最好的一個框架,能幫助你設計出風格一致的web應用。(http://twitter.github.com/bootstrap/).
Web伺服器和管理員工具
最關鍵的技術層是HTTP相關的,下面這些資訊是關於底層web技術選型的。我們使用gunicorn (python WSGI http server http://gunicorn.org/)來服務django請求。Nginx是我們的web伺服器。用Varnish來處理http快取。Uwsgi 和 定製的ython WSGI servers來處理http遠端操作。
Supervisord (http://supervisord.org/) 管理我們所有的執行程式,Nagios負責監控我們所有的服務。
結論
我們所有的程式都由Mercurial進行版本管理(我們自己搭建的服務),所有程式的部署都用過定製的 Fabric 指令碼 (http://docs.fabfile.org/)進行。通過一條命令來把程式碼推入產品環境中。
相關文章
- 聊聊創業公司的技術選型--樸素的技術觀創業
- 創業公司CTO談創業公司技術選型創業
- 是我們控制著技術,還是技術控制著我們?
- 技術選型的藝術
- 網際網路公司和團隊的技術選型
- 關於單測技術選型,聊聊我的思考
- 技術主導型公司的困境
- 聊聊技術選型
- 技術選型指南
- 如何技術選型
- 關於技術的選型
- 我用ChatGPT做直播技術選型,卷死了同事ChatGPT
- 我們需要選擇網際網路自動技術嗎
- Blog 技術選型
- 我們來聊聊技術債務
- 雲端計算技術便捷我們的工作
- 我拒絕參加你們的技術面試面試
- 技術選型的藝術---湖北技術價值分享會
- 開源技術夠用了麼?我的 NAS 選型與搭建過程
- 技術選型的一點個人思考
- 電商網站的初期技術選型網站
- 關於技術選型的問題
- 混合應用技術選型
- [譯] 我們採用 GraphQL 技術的經驗:營銷技術活動
- 你不懂技術,如何領導我們
- 【上海】技術極客型公司招golangGolang
- 當我們說要繼續做技術,我們在說什麼?
- Redux 的困擾與如何技術選型Redux
- 實際技術選型的考慮因素
- 技術選型之Docker容器引擎Docker
- SpringCloud微服務技術選型SpringGCCloud微服務
- 開發技術選型參考
- 我們為什麼要技術寫作
- 我們應該如何對待技術信仰?
- 測試設計技術 - 我們需要嗎?
- 當我們在聊 RN 時,我們在聊什麼 | 技術點評
- 我在 ONES 等你 | 寶藏公司技術招聘
- 我們選擇java的理由Java