入門技術博客javascript
進階本身挑選php
入門基礎 Python入門相對容易又能夠幹不少事(網站,運維,數據,爬蟲等),是一門方便的工具語言。2016年TIOBE排名顯示Python已經名列第四,成爲腳本語言之首。 國外的Youtube,Instagram,Pinterest,Reddit,Dropbox,Disqus, Quora等知名應用一開始都是基於Python構建,國內的豆瓣,知乎,果殼,餓了麼,搜狐等也是Python應用的典型。 這也給了國內Python開發者一陣強心劑,Python的生態環境能夠支撐起重量級的 產品。這裏不想挑起語言之爭,php,nodejs,java,ruby等都有豐富的生態環境。不過目前來看,技術選型用Python在招聘、學習、培訓、敏捷開發等方面仍是一個比較折中的選擇(主要在於人,而不是語言)。 python,ruby之類的動態語言優點在於其生產力,你能在極短期內就搭建出原型從而贏得產品競爭。 推薦一下幾本我的認爲比較好的Python書籍: 《python-guide》 requests做者寫的guide,偏向工程方面 《use python》 use python 《A Byte of Python》 一百多頁的小書,能夠快速熟悉Python語言。 《Python核心編程》 比較全面的Python書籍,介紹了Python語言的方方面面。 《Dive Into Python》 一本免費的開源書 《Fluent Python》 Python進階的好書,沒有之一,涉及了不少Python高級主題和實現特性。 《Python3 Cookbook》 Python進階讀物,聚集了不少技巧。 《Python高級編程》 豆瓣工程師董偉明先生寫的python高級編程 ppt 固然還有Python的官方文檔做爲參考,不過有些文檔比較晦澀,仍是推薦書籍入門。網上目前也能夠搜到不少免費的電子書。 若是有時間能夠看看國內廖雪峯寫的Python教程,簡單易懂,就是跳躍有點大。 算法與數據結構 編寫良好的代碼須要瞭解經常使用的算法和數據結構,雖然你可能不多會本身實現,可是對於Python語言中一些經常使用數據結構如list, tuple, set, frozenset, dict和collections模塊中的OrderedDict, defaultdict, deque, namedtuple, Counter等應該知道何時用。最主要的仍是瞭解算法中遞歸,二分等經常使用思想,寫出高效易用的代碼。若是你想在線練習,能夠作一些Acm基礎題或者去leetcode等網站刷題。 推薦書籍: 《算法導論》 你能夠挑選感興趣的章節啃一啃,也能夠去網易公開課看下視頻教程。若是不是計算機專業的能夠看下《計算機科學導論》這門公開課,正好也是以Python語言講解的。 計算機網絡 對於應用開發者來講大部分時間可能不太會接觸特別底層的問題,可是瞭解網絡的運行原理仍是必要的。網上有個面試題 從輸入URL 到頁面加載完成的過程當中都發生了什麼事情? 若是對其中大部分的概念都瞭解就算是入門了。網絡相關書籍能夠隨便找一本看看。Http協議對於web開發者來講比較重要,須要深刻了解。推薦書籍: · 《圖解Http》 一本小白入門Http協議的好書,有大量圖片示例。 · 《Http權威指南》 Http協議最權威的講解,大部頭著做,能夠看看最基礎的部分。 · 《網絡爬蟲教程》 很是不錯的爬蟲教程。感謝原做者,其實感受這種把學習的內容總結成小書的方式很好。 · 《Python3 網絡爬蟲實戰》 Linux系統 大部分Python應用都是跑在Linux服務器上的,大部分開源服務器軟件使用的也是linux系統,即便平常工做不使用linux,一些基本的linux命令也要了解。 好比經常使用的文件操做,目錄操做,進程操做等。你可使用類unix系統mac或者linux版本ubuntu做爲學習環境。 推薦: · 《Linux工具快速教程》 · 《CONQUERING THE COMMAND LINE》 掌握這上面的命令基本就能夠知足平常需求了。 · 《鳥哥的Linux私房菜.基礎學習篇》 淺顯易懂,入門Linux命令的好書。 數據庫 如今網站業務後端用得比較多的有三種類型的數據庫,關係型數據庫(mysql等),文檔型數據庫(mongodb等),和內存型數據庫(redis等)。 三種數據庫各有優點和特點,後端程序員須要瞭解下不一樣類型數據庫的使用方法和應用場景,靈活應用到後端代碼中。 關於各類數據庫網上已經有很多資料,讀者能夠自行搜索學習,比較重要的是 mysql 和 redis。 python相關庫的使用 python一大優點在於數量豐富的庫,靈活使用各類python庫能幫助咱們快速作出產品。做爲web開發者,你須要瞭解經常使用python庫和框架的使用,好比django/flask/tornado/sqlalchemy/requests/pandas等。 版本控制 目前最流行的應該就是git了。版本控制工具是多人協做必不可少的工具,入門的程序員須要掌握基本的git命令,能夠把github做爲我的練習的工具。 · 《語義化版本控制》 · 《Pro Git》 Web 服務器 Nginx 目前很流行,使用比較普遍,推薦學習和使用。熟悉 LNMP 架構(Linux + Nginx + Mysql + Python),目前不少公司採用了都是多語言+微服務架構。 前端知識 基本的 html,css,javascript 須要有所瞭解。不少後端工程師須要作一些工具或者管理後臺之類的,瞭解前端知識會有幫助。