极客领航
万千知识分篇章,极客精神在领航,上写应用下驱动,项目体系一条龙!!!
前言:
- 一边做教程,一边写总结,自己实力不算多高,只是喜欢学习记录。也是最近才想弄的,通过梳理知识体系,整理项目,总结知识点,还有网站设计,封面设计,文档撰写,工具使用等,让我收获良多,也让我明白知识不易学,教程更难做。
- 本来想把书写完的,太多了,短时间弄不完,只能假期再认真写了。花了很多时间和精力,也想缓一缓,后续就是定期写写文章,完善网站内容,慢慢把书写完。
- 对于大学之道,只能说雄关漫道真如铁,而今迈步从头越,不会则学,何惧之有。
绪论
教程说明
- 因为模块太多,全部放在一起有些冗杂,所以每一个部分都有单独的文件,也为了能更好的描述,切换画布或者点击链接跳转就可以查看
应该加强核心的知识,并且学会融合进入其他的项目当中,举一反三。比如可以利用单片机与显示屏生成显示二维码,学生管理系统连接到数据库操作,五子棋实现人机对战等等。简单的逻辑实现比较简单,但是多元化的融合需要有较深的理解。 - 以简入繁,以剑破点,每一个知识点都要直击核心,抓住重点。每个人精力都有限,我希望用更短的时间做更高效的事。
培养方案
- 教程的内容分为语言篇(C/C++为主)、MCU篇(51、STM32、Arduino为主)、算法篇、电路篇、飞行篇、软件项目篇、物联网项目篇、嵌入式项目篇、Linux项目篇、辅助设计篇、拓展篇、学习工具篇。文章撰写会在极客领航网站、CSDN、微信公众号、Github等平台发布,视频在B站进行发布。教程主要以实践为主,刨析内部的每一个知识细节,通过一个项目,能掌握一个体系的知识。
教程总结
- 由于时间有限,个人水平有限,教程的内容叙述较浅,因为知识面较广,每一部分想要深入都需要大量的时间,想要真的掌握需要时间的沉淀。不过入门过后就能按照自己的需求去深入学习,网上有很多较好的开源资料,几乎想学什么都会有,所以找资源也是一个非常重要的技能。
- 项目在于精,而不在于多,从简单的实现到不断拓展精炼,从而实现更实用,更完善的项目。知识面广有助于思维的扩散,但是专精某一方向,才能在领域中有立足之地。
不积跬步无以至千里
语言篇
C语言基础
C语言进阶
十天整理笔记
高级指针
C++基础
标准函数库
STL
MCU篇
51
STM32
Arduino
Peripherals(外设)
Sensor(传感器)
很多我也没接触过,我列举这么多主要是拓展,有兴趣的可以去了解下
Communication(通信)
一些我也还没学,我列举这么多主要是拓展,有兴趣的可以去了解下
Actuator(执行器)
使用起来还好,但是要深入原理得了解很多控制的原理,难哦
电路基础篇
电路分析基础
模拟电路
数字电路
Electronic Component(电子元件)
飞行篇
四旋翼
固定翼
软件项目篇
贪食蛇
五子棋
主要函数
void judge(int y,int x,int color)
判断当前位置4个方向连接的棋子数量,参数为棋子颜色 1白2黑
bool pieceSet(int y, int x,int color
放置棋子,返回true表示放置成功,false 表示放置失败
void initGame()
void initGame()
void initView()
初始化界面
void drawPiece(int x,int y,int color)
绘制棋子
void AI()
机器判断程序
void playerVSplayer()
人人对战
void playerVSAI()
人机对战
俄罗斯方块
学生管理系统
文件加密与数据解析
二维码生成
这几个项目还没研究,在网上看到的,觉得不错,有时间就去看看。
里面有GitHub的连接,想学习的可以去看看。
https://github.com/TheAlgorithms/C
https://github.com/ithewei/libhv
https://github.com/Light-City/CPlusPlusThings
https://github.com/JakubVojvoda/design-patterns-cpp
https://github.com/tmux/tmux
https://github.com/netdata/netdata
物联网项目篇
基础知识
Windows下Client/Server
QT上位机
![在这里插入图片描述](https://img-blog.csdnimg.cn/9ca2152d17724cceac998087bbcb5652.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5p6B5a6iQw==,size_20,color_FFFFFF,t_70,g_se,x_16
Android项目
ESP8266
智能家居项目
嵌入式项目篇
辅助设计篇
焊接与基本测量工具
PCB画板与打印
3D建模与打印
文档撰写
- 建议多使用Word、MathType(数学公式工具)、Vison等工具进行文章编写,但也不一定,自己熟练什么就用什么,但是基本操作得要熟练,在以后的写论文中,至少在操作方面不会花太多时间。
思维导图
- 建议用Xmind、MindMaster、diagrams、processon等工具进行思维导图设计。这方面很重要,在以后设计、总结、策划等工作中,能给自己带来很大的便利,逻辑性也比较强。
策划、海报、视频等等各方面
- 感兴趣的可以多去练练,主要是PS、Pr等软件,做海报、剪辑视频等等比较方便。技术不只是技术,应该要熟悉电脑的很多操作,知识面广做事比较轻松。
Linux项目篇
基础知识
Client/Server
- Socket是进程间通信的方式之一,是进程间的通信。这里说的进程并不一定是在同一台机器上也有可能是通过网络连接的不同机器上。只要他们之间建立起了socket的连接,那么数据便可以在机器之间进行双向的交流,直到连接断开。
网站设计
- 可以参考下教程的网址,也是我用云服务器搭建的,也不算难,感情兴趣的可以整整,后续我也会写出教程介绍。
- 上述只是基础的运用,想深入学习去了解网络编程与系统编程,做些基础项目,比如实现自己的shell、服务器集群监控系统等等,如果想从事Linux方面的工作,一定要有明确的目标,一般Linux有应用开发,驱动开发、后台开发等等。
拓展篇
- 到了拓展阶段,我认为应该要有自己的目标和技术路线了,也应该按照自己的技术路线去学习,别人的建议仅作参考,取长补短而已。我后面会附录一些技术方向,可以按照自己的兴趣去学。
- 嵌入式开发我觉得韦东山的教程不错,可以去了解下。物联网方面要熟悉MQTT协议,范围比较广,软硬件都需要熟悉,我感觉太极创客还行。软件方面看从事方向,后端、前端、区块链啥的,不同的语言所擅长的也不一样。网络教程有很多,大家可以找自己喜欢的,我后续也会写教程,做视频,把这一套学习体系完善好。主要是在个人网站、CSDN、B站、Github等平台进行投稿,有兴趣的可以去看看。
- 拓展篇我在这里就不多说,因为要一定基础才能深入,有兴趣的可以一起交流。也希望大家多夯实基础,为以后做好铺垫。
学习体系篇
算法篇
无论大家学习什么,我都希望大家认真去对待,优秀的人从来不只是某个方面优秀。