開發(fā)環(huán)境
開發(fā)工具
-
Vim/SublimeText2/PyCharm/VS Code
用著順手就好,我是由vim轉(zhuǎn)PyCharm的。集成開發(fā)環(huán)境自動補(bǔ)全、單步調(diào)試等功能好很多,有利于提高工作效率。 -
iTerm:Mac下必備,誰用誰知道 -
Tmux:分屏工具,可以復(fù)用session,這點(diǎn)很贊 -
XShell:遠(yuǎn)程登錄 -
Sequel:數(shù)據(jù)庫登錄 -
Postman:HTTP接口調(diào)試工具
開發(fā)環(huán)境
- pip/easy_install 包管理
- viertualenv + virtualenvwrapper 庫/版本管理,環(huán)境隔離
- ipython
- pydev
項目開發(fā)
代碼管理
-
Git:版本管理,SVN基本已經(jīng)被淘汰 -
Gitlab:大部分互聯(lián)網(wǎng)公司都是搭建自己的Gitlab -
Source Tree:Git客戶端,方便diff代碼 管理分支 -
Jenkins:持續(xù)集成
Web框架
-
Django:有些重,配置和約定眾多,即可作為成熟的web框架,有可快速開發(fā)一些”管理”性質(zhì)的后臺 -
Flask:輕量! 可以靈活組合各類組件進(jìn)行開發(fā)(第三方組件很豐富),簡單高效,便于快速開發(fā)和維護(hù) -
Tornado:異步,高性能。
Python Web框架也是超多,目前主流的就是這三個了;目前工作中用過的Django和Tornado。
ORM
-
SQLAlchemy:標(biāo)配MySql ORM -
PyMongo:MongoDB ORM -
peewe:一個更輕量的ORM,簡單了解,沒在生產(chǎn)環(huán)境用過
數(shù)據(jù)庫
-
MySql:標(biāo)配,關(guān)系型數(shù)據(jù)庫 -
MongoDB:NoSql數(shù)據(jù)庫,不久前好像不開源最新版本了。 -
TiDB:高拓展性,后起之秀
緩存Cache
-
Redis:緩存/持久化/特殊需求(計數(shù)-排行榜-時間線等),用codis做集群來訪問 -
Memcached:數(shù)據(jù)結(jié)構(gòu)沒有Redis豐富
目前業(yè)務(wù)中這2個都有用到,感覺Redis有逐漸取代memcached的趨勢
分布式存儲
-
HDFS:大數(shù)據(jù)分布式存儲 -
Hive:分析數(shù)據(jù) -
Hbase:列數(shù)據(jù)庫,可以存儲海量數(shù)據(jù),上10億條不在話下,跟關(guān)系型數(shù)據(jù)庫區(qū)別較大
消息隊列
-
RabbitMQ:Python中pika操作 -
celery:分布式的異步任務(wù)處理器,配合RabbitMQ或Redis使用
項目測試
- 軟件測試:單元測試,集成測試,壓力測試等等;很多開發(fā)瞧不起測試,但是考慮周全的、高效的測試不容易
- 測試工具:請參考我整理的Python 測試工具
項目運(yùn)維
服務(wù)部署
-
Nginx:主要用于負(fù)載均衡,反向代理,使用極為廣泛 -
uWSGI:用來部署Django項目 -
Gunicorn:a Python WSGI HTTP Server,用來運(yùn)行Django/Flask項目
日志&監(jiān)控
-
Kibana:ElasticSearch可視化平臺,方便查log -
Falcon:小米開源的監(jiān)控系統(tǒng) -
grafana:可視化的監(jiān)控平臺
運(yùn)維管理
-
SaltStack:別名,鹽棧。自動化運(yùn)維工具 -
Puppet:Ruby開發(fā)的服務(wù)器管理系統(tǒng) -
Fabric:用于自動化部署 -
Supervisor:A Process Control System,配置管理各種程序,進(jìn)程監(jiān)控,自動重啟等 -
Ansible:?Ansible一種集成IT系統(tǒng)的配置管理,應(yīng)用部署,執(zhí)行特定任務(wù)的開源平臺
其他
Python學(xué)習(xí)資源
- 請參考我整理的Python免費(fèi)學(xué)習(xí)資源
常用三方庫
- 請參考我整理的Python常用三方庫
前端基礎(chǔ)
-
html,css,JavaScript,jQuery,BootStrap,AngularJS,React,vue.js?
作為一個后端工程師,了解一些基本的前端知識也是必要的,關(guān)注下業(yè)界動態(tài),按需學(xué)習(xí)即可。
目前工作中用到jQuery?+?BootStrap?+?AngularJS來開發(fā)后臺管理系統(tǒng)。
軟件工程
-
設(shè)計模式
Python是動態(tài)語言,許多Java復(fù)雜的設(shè)計模式用Python實(shí)現(xiàn)很簡單,基本的設(shè)計模式也會用到。
常用的有組合模式,單例模式、裝飾器模式、工廠模式。 -
REST接口 vs RPC接口
軟件工程說起來可能比較務(wù)虛,有比較才有差距,多看別人代碼,借鑒提高。
云計算&AI
- 大數(shù)據(jù):Hadoop生態(tài)、Spark、Flink等,程序員進(jìn)階的方向
- 容器:K8S,Memos,Docker,目前看起來K8S大局已定
- 虛擬化:KVM,OpenStack
- 公有云:AWS,阿里云,Azure
本文由?絡(luò)殼?原創(chuàng),轉(zhuǎn)載請注明出處
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

