學習資料

0、資源導航javascript

   菜鳥教程:http://www.runoob.com/(runoob 爲 Running Noob 的縮寫,意爲:奔跑吧!菜鳥。)php

   編程狂人:http://www.tuicool.com/magscss

   伯樂在線資源導航:http://hao.jobbole.com/html

   技術的正宗與野路子:http://zhangtielei.com/posts/blog-programmer-learn.html前端

   基礎知識整理:http://dongxicheng.org/knowledges-carding/java

   free-programming-books:https://github.com/vhf/free-programming-books/blob/master/free-programming-books-zh.mdlinux

   free-programming-books-zh:https://github.com/vhf/free-programming-books/blob/master/free-programming-books-zh.mdcss3

一、前端git

《HTML5與CSS3基礎教程》:http://pan.baidu.com/s/1nvATyZ3github

   HTML5與CSS3基礎教程代碼示例:http://pan.baidu.com/s/1dFaBSzB

《如何正確學習JavaScript》:http://www.shejidaren.com/how-to-learn-javascript.html

《JavaScript基礎教程》:http://pan.baidu.com/s/1eSBhEWM

   JavaScript基礎教程代碼示例:http://pan.baidu.com/s/1c14PWre

《JavaScript高級程序設計》:http://pan.baidu.com/s/1c2mPrcW

   JavaScript高級程序設計代碼示例:http://pan.baidu.com/s/1pLrm6t9

《css3專業網頁開發指南》:http://yuedu.baidu.com/ebook/37eb1fc06bd97f192379e9bb.html

《鋒利的jQuery》:http://pan.baidu.com/s/1slSwqmT

   鋒利的jQuery代碼示例:http://pan.baidu.com/s/1skSLYtJ

《Bootstrap教程》:http://www.runoob.com/bootstrap/bootstrap-tutorial.html

《Android第一行代碼》:http://pan.baidu.com/s/1ge6LKyR

《高性能網站建設指南》:http://pan.baidu.com/s/1skSgehZ

《高性能網站建設進階指南》:http://pan.baidu.com/s/1skGAH8h

二、後端

《啊哈C!》:http://pan.baidu.com/s/1o7YrKlO

《C語言點滴》:http://zhaoyan.website/xinzhi/cbook/book.php

《Java編程規範》:http://pan.baidu.com/s/1nvnSVyT

《Java核心技術-基礎知識》:http://pan.baidu.com/s/1cqXhIQ

《Java核心技術-高級特徵》:http://pan.baidu.com/s/1cvaTlk

《Java編程思想》:http://pan.baidu.com/s/1cpBmmq

《Effective Java》:http://pan.baidu.com/s/1i5wi6Nz

《深刻分析Java Web技術內幕》:http://pan.baidu.com/s/1mhOm49U

《J2EE設計開發編程指南》:http://pan.baidu.com/s/1o8S2wT8

《Java併發編程》:http://pan.baidu.com/s/1dF5KgRf

《JAVA網絡編程》:http://pan.baidu.com/s/1kUVaiBt

《深刻剖析Tomcat》:http://pan.baidu.com/s/1miTmyYs

《Scala語言規範》:http://pan.baidu.com/s/1hrLCNv2

《大型網站技術架構:核心原理與案例分析》:https://pan.baidu.com/s/1i4KUNLN

三、操做系統、計算機網絡

《鳥哥的Linux私房菜-基礎學習篇》:http://cn.linux.vbird.org/linux_basic/linux_basic.php

《鳥哥的Linux私房菜-服務器架設篇》:http://cn.linux.vbird.org/linux_server/

《sed與awk》:http://pan.baidu.com/s/1sltky1v

《計算機網絡導論》:http://www.dwz.cn/sGVVr

《HTTP協議(RFC2616)中文版》:http://pan.baidu.com/s/1pKQioSN

《HTTP權威指南》:http://pan.baidu.com/s/1kVjTk15

四、大數據

《Head First SQL》:http://pan.baidu.com/s/1nu6930P

《從實踐中學習Oracle SQL》:http://pan.baidu.com/s/1hs0otus

《Oracle Database 11g PLSQL編程實戰》:http://pan.baidu.com/s/1pLTMqFL

《數據庫系統概念》:http://pan.baidu.com/s/1hsiEaVE

《數據倉庫》:https://pan.baidu.com/s/1eSms3h4

《數據倉庫生命週期工具箱》:https://pan.baidu.com/s/1sli8m4H

《Hadoop權威指南》:http://pan.baidu.com/s/1i4Tcsbr

《Hive編程指南》:http://pan.baidu.com/s/1dE53Uql

《Hadoop技術內幕-HDFS》:http://pan.baidu.com/s/1i4OsAdZ

《Hadoop技術內幕-MapReduce》:http://pan.baidu.com/s/1nvGZgHb

《Learning Apache Kafka》:http://pan.baidu.com/s/1mh9tzYS

《Spark快速數據處理》:http://pan.baidu.com/s/1kU7t6C3

《Learning Spark》:http://pan.baidu.com/s/1o7KKC4M

《Getting Started With Storm》:http://pan.baidu.com/s/1mioASkg

五、數據結構、算法、設計模式

《XML教程》:http://www.runoob.com/xml/xml-tutorial.html

《JSON教程》:http://www.runoob.com/json/json-tutorial.html

《啊哈!算法》:http://pan.baidu.com/s/1c10MkCw

《數據結構與算法分析-Java語言描述》:http://pan.baidu.com/s/1geETo2Z

《Head First設計模式》:http://pan.baidu.com/s/1skV3QlJ

九、後記

      編程語言只是工具罷了,純粹的工具。學會一門語言並不像你想的那麼難,看看它的簡明教程和語法,再看看它的例子,我相信你能夠學會這門語言。C++雖然是一門龐大的語言,但毫不是如今人們口中談虎色變的東西,它是很靠譜的編程語言,不管是性能、庫、仍是IDE,都是齊全的。

      也許你會問,如今不都是說用Vim、Notepad++、Emacs什麼的嗎,Visual Studio是否是俗氣了些?那是初學者都不理會的東西吧?IDE什麼的別開玩笑了,我又不是大一的小孩。

      也許你會問,Linux和Mac才真正是酷的吧?如今只有初級用戶才用Windows吧?也許你會問不少不少諸如此類、被誤導的問題,緣由是如今的編程語言和編程世界被神化了。原本樸質的工具,被渲染上神祕主義的面紗,讓衆人以爲那些無關痛癢的東西是咱們須要的。

      我能夠負責任地告訴你,個人想法是:編程語言是什麼都無所謂,編程工具是什麼也都無所謂,編程所在系統是什麼根本不要緊;真正有用的是算法和設計模式。算法和設計模式纔是編程的根本。只要明白這兩個,其餘都是浮雲般的存在。

      算法和設計模式是獨立於上述的一切而存在的。不管用C++仍是Python,或者用JavaScript,算法該咋實現還咋實現,它是程序能力和效率的保證;而設計模式也是一樣的道理,不管用Linux,仍是GitHub,只要明白設計模式,都能設計出很規範的、相對很魯棒、有利於後續開發的程序。

      大學中說:「事有始終,物有本末,知其先後,則近道矣」。然而,如今人在給初學者意見、甚至是本身在學習的時候,不但不從根本的算法和設計模式入手,反而扯出一堆皮毛的東西,還造成了陣營,相互挖苦和嘲笑,這自己不是很奇怪的麼?讓那些原本應該獲得重視的智慧被無視,讓那些無關痛癢的技巧被學習,從古至今像這樣而成功的人,我沒有據說過。

      若是你是初學者,如今迷茫於或者迷惑於這些建議的話,我勸你靜下心來,不要被這個時代的喧囂和浮躁所感染。你須要作下面這些事情。

      1)把基礎的計算機結構學好(計算機組成原理、體系結構)。

      2)把數據結構學好,也要掌握一些比較高級的數據結構,每種數據結構本身都動手去作一下,造成一個本身的數據結構小類庫,之後對你絕對會有用。

      3)把操做系統的基本知識學好,不是Linux,也不是Windows,是那些併發、調度、緩存機制、文件系統等算法性的東西。這些東西在之後絕對會用得上,並非在你實現操做系統的時候,而是在你寫一些稍底層的結構的時候。

      4)算法這東西能夠說是無窮無盡的。首先把基礎算法弄明白,好比動態規劃、貪婪、分支限界此類的經典算法,而後隨着興趣去學更多有意思有用的算法。若是喜歡智能、天然語言處理,能夠去嘗試看看機器學習的書,而後動手實現一個機器學習小類庫。這個類庫未必用,也未必能讓別人用,寫它的最重要的意義在於理解那些算法。

      5)致力於設計模式。算法是超脫的,是理性的。要讓計算機執行這個算法,必須化爲程序,那就必然用到編程。不管是什麼語言,若是不會設計模式,即使你對這門語言再熟悉,也不可能設計出優秀的程序。因此設計模式在程序設計的時候是必須的,也是很重要的。

      6)蔑視那些沉浸在神祕主義編程論裏的人吧!在明白了上面那些後,你本身就能夠實現編程語言、編程工具甚至是編程用到的操做系統。而後告訴他們:「too young,too naïve」。

      找到你感興趣的領域,在這個領域不斷深刻,並最終成爲這個領域的專家。至於這個領域是什麼,可大可小,可方可圓。我曾經親眼見過一我的用Excel軟件設計出了使人目眩的界面。雖然他不會什麼C語言和算法,可是我依然相信他是專家。正所謂「領域萬變,但精神惟一!」。

      ——摘自《C語言點滴》

相關文章
相關標籤/搜索