大家好,我是辣条。
今天给大家带来三万粉丝三大语言学习路线和资源整理,收藏就对了。
目录
C语言
学习路线
基础阶段
基础阶段入门篇,大家通过学习,应该熟练掌握C语言编程的基础语法知识,这些语法层面的知识是基础中的基础,必须熟练,目标是可以开发一些简单的控制台小程序。
知识点
- 初识C语言 / 了解C语言的发展史,搭建C开发环境
- 认识一个简单的C程序 / 一般都从“Helloworld"这个简单的C程序开始
- 算法入门 / 算法基本概念,简单程序结构,流程图等
- 基本数据类型 / 整型,浮点型,字符型
- 运算符与表达式 / 各种运算符以及优先级,表达式和语句等
- 简单输入输出函数 / 目前主要是scanf和printf,getchar和putchar
- 选择、循环、分支结构 /if while/do while switch
- 数组 / 一维和二维数组定义初始化,元素遍历访问,数组相关运算,数组使用
- 函数编程基础 / 模块编程,函数声明、定义、调用
- 指针解析 / 指针初识和理解,指针和数组关系,指针简单运算和使用
提高阶段
提高篇,大家通过学习,应该形成C语言的基本知识框架,目标是可以开发一些基本的应用程序,并能够掌握开发综合应用程序的方法。
知识点
- 指针的深刻理解和使用 / 对指针本质的认识,指针的各种使用场合
- 位运算 / 各种位运算符号应用(注意很对妙用),进制转换
- 存储管理 / 作用域和存储类型等
- 预处理 / 主要是#define和#include
- 字符串的处理 / 各种字符串处理函数
- 文件的读写操作 / 各种文件处理函数的使用,大量I/O函数使用
- 函数熟练使用 / 模块化编程思想和能力
- 常用数据结构 / 现阶段主要是表、栈和队列
- 图形图像的简单处理 / 能够利用C处理简单图像
应用阶段
应用篇,大家通过学习,应该具备一定的综合性应用软件的开发能力,目标是能够开发例如图书管理系统,学生信息管理系统,贪吃蛇,俄罗斯方块等项目。
知识点
- 软件工程基本知识 / 主要是软件开发流程
- 数据库知识 / 具备对常用数据库的增改删查等基本能力
- 数据结构知识 / 树、图,各种算法优化等
- 程序运维能力 / 代码调试和优化
- 工程化思维 / 再次深化模块化编程的能力
学习书籍基础
- 《C语言程序设计:现代方法》(第2版)
- 《深入理解计算机系统》(修订版或第2版)
- 《C语言程序设计》(第2版)
- 《程序员修炼之道》
内核/驱动
- 《Linux内核设计与实现》(第3版)
- 《Linux设备驱动程序》(第3版)
- 《深入Linux内核架构》
应用
- 《UNIX环境高级编程》
- 《UNIX网络编程》
进阶
- 《C陷阱与缺陷》
- 《C专家编程》
- 《ARM嵌入式系统开发:软件设计与优化》
学习视频
B站:【C语言】《带你学C带你飞》【小甲鱼】
翁凯C语言【翁凯】
史上最强最细腻的linux嵌入式C语言学习教程【李慧芹老师】
慕课网:C语言入门
中国大学MOOC:C语言程序员设计
资源推荐
C语言网
该网站有很多C语言相关的教程、资源、博客和练手习题,同时也有很多题库和比赛,比较实用。
cppreference
cppreference是一个免费网站,上面包含了关于C语言
和C++
的编程知识、库函数、以及诸多代码示例,目前连最新的C++20标准都支持了。
Java语言
学习路线
第一阶段、Java基础
JavaEE的学习内容从Java开发介绍开始,为你入门编程语言扫盲;
什么是程序;
如何配置Java开发环境;
Java编程的过程是怎样的;
Java有什么物特点;
程序是如何运行的;
接下来是介绍Java编程的基础语法,共分为10个知识点,我们将学习
变量;
基本数据类型;
进制;
转义字符;
运算符;
分支语句;
循环语句等;
以达到训练基础语法和逻辑能力的目的。还有对数组、面向对象和异常处理等。
第二阶段、JavaWeb的学习
Web前端开发基础和框架;
Servlet和JSP在Web后端的应用;
Web后端开发相关专题;
MVC和分层架构以及项目开发流程;
CASE工具的使用等。
第三阶段、 Java框架
框架是程序中另一种存储数据的方式,比直接使用数组来存储更加的灵活,在项目中应用十分广泛。
框架整合开发(SSH/SSS);
RESTful架构和移动端接口设计;
第三方接口和在线支付功能;
网站安全和Spring Security应用实战;
复杂用户交互处理和Spring Web Flow的应用;
MyBatis的应用和SSM整合;
我们将深入研究其中涉及到的数据结构和算法,对学员的技术深度有了一个质的提升。
第四阶段、Java+云数据
亿级并发架构演进、
Linux基础、
搭建tomcat环境
大数据开发
云计算
等高级Java教程,是Java技术的高端知识。其中穿插项目实战演练,企业真实项目供学员应用学习,进行知识体系的“二次学习”。
学习书籍
1. Head First Java
它是很多程序员的启蒙书籍,常年霸榜Amazon书籍前十排名。
2. Java8 编程入门官方教程
如果你对编程有所了解,以前有接触过C++或者C#等语言,觉得第一本书的内容会导致学习进度太拖沓,那这本官方入门教程是不二之选。
3. Java核心技术
这本Java核心技术是程序员的优选指南,看这本书来学习需要一定的基础知识,对于Java已经不局限与浅薄的概念,涉及面比较广,深度也可以。
4. Effective Java
Effective Java应该是每个Java程序员必读的书,书里包含了78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。
5**.** 深入浅出设计模式
这本书就是来教你如何打造编程思维,书中循序渐进的介绍了Java的设计模式和面向对象的设计原理,进阶一定要看这本书。
6. Java并发编程实战
如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,是开发者不可缺少的参考资料。
7. 代码整洁之道
本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。
8. 数据结构与算法分析(Java语言描述)
本书把算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,并细致讲解精心构造程序的方法。
9. Java性能优化权威指南
改善Java程序性能,是一个老生常谈的问题,但是拥有这项技术的程序员却不多,看完这本书可以很大的提升自己的竞争力。
10. Java编程思想
原名Thinking in Java,这本书是目前所有Java书籍中获奖最多的书籍,已然成为编程界的一本经典,这本书最大的优点就是以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。
学习视频
B站:Java零基础教程视频(适合Java 0基础,Java初学入门)")
老杜带你学Java,Java零基础,Java入门者必修课程(Jdk13全网最牛Java基础视频)
中国大学MOOC:Java程序设计
慕课网:Java入门第三季
资源推荐
Java World
这个网站包含了大量的Java 教程,涉及各种各样的话题。其中很多文章都写的很好,并且有图片、插图进行说明。
Github
这是程序员通用的一个网站,现在国内很多程序员都喜欢用这个托管平台,它提供了订阅、专业讨论组、文本渲染、在线代码编辑器、协作交流、代码分享等功能。在这里你可以找到很多的开源项目,可以“依葫芦画瓢”的性质,模仿其做一款相似的项目,这对于你技术的成长有很大的帮助,而且还可以避免闭门造车式的学习!
Stack overflow
Stack overflow.com可能是编程界中最流行的网站了,是一个与程序相关的IT技术问答网站,用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HTML 。一部分的程序员学习API或者编程语言,通常依赖于代码示例 ,stackoverflow就可以提供大量的代码片段。
Python语言
学习路线
一、Python基础阶段
**技能树:**掌握python脚本、python界面编程能力、数据库、基本爬虫、多线程多进程开发能力,可以胜任基本的python开发工作。
知识点细化:
- **数据的存储:**Python概述、进制以及进制转换、原码、反码、补码、第一个Python程序、终端读取与打印等。
- **运算符与表达式:**关键字和标识符、算术运算符、python数据类型、赋值运算符、运算符、复合运算符、条件控制语句(if…else…)、逻辑运算符等。
- **循环:**循环语句之while、循环语句之for、break与continue语句等。
- 基础数据结构:Number与数学函数操作、String(查找,替换,下标索引、列表(常用)、元组、字典(常用)、set集合、迭代器与生成器(常用)、函数概述等。
- **函数:**函数的调用、简单函数的定义、函数的返回值、传递参数、关键字参数、默认参数、不定长参数、匿名函数、装饰器、偏函数、回调函数、变量的作用域、递归函数、目录遍历、递归遍历目录、栈模拟递归遍历目录(深度遍历)、队列模拟递归遍历目录(广度遍历)等。
- **模块:**模块概述使用标准库中的模块使用自定义模块name属性包的概述安装第三方模块virtualenv与时间相关模块。
- **面向对象编程:**面向对象思想、类与对象、类的方法与属性、构造函数与析构函数、self的使用、重写__ repr__ 与__str__ 函数、访问限制等。
- **继承、封装、多态 :**单继承的实现、多继承的实现、函数重写、人开枪射击子弹小案例、多态、对象属性与类属性、类方法与静态方法等。
- **面向对象高阶:**动态添加属性方法、property、运算符重载、发邮件与发短信等。
- **文件操作与异常处理:**StringIO与BytesIO、文件的管理操作、文件读写(csv、txt)操作、异常处理等。
- **高阶函数与测试:**调试(打印、断言、logging、pdb)
- **排列组合与正则表达:**破解密码(排列、组合、排列组合)、正则表达等。
- **网络编程:**TCP/IP简介、TCP编程、UDP编程等。
二、Linux和数据库阶段
**技能树:**掌握Linux操作系统管理技术,可以搭建几乎所有Linux环境服务器。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!