学习资料

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语言点滴》

相关文章
相关标签/搜索