嵌入式书籍和视频推荐

计算机基础学习书籍和视频:https://blog.youkuaiyun.com/m0_37907797/article/details/102618796

嵌入式书籍推荐https://zhuanlan.zhihu.com/p/353349751

MOOC视频课程C语言:https://www.icourse163.org/course/0809ZJU007-9001

MOOC视频课程数据结构:https://www.icourse163.org/course/ZJU-93001

计算机基础课:

一、对于数学,我们必须掌握四门课程:

  • 高等数学
  • 离散数学
  • 线性代数
  • 概率论与数理统计

二、专业基础课

1、计算机组成原理

2、计算机操作系统

3、计算机编译原理(选修)

4、数据结构与算法

5、计算机网络

1、计算机组成原理

计算机组成原理这门课很好地向我们阐述了计算机是如何工作的,妹子咨询你电脑问题的时候,答案就藏在这门课程里面(大雾)。

推荐书籍:《深入理解计算机系统》

这本书是从程序员的角度来看待整个计算机系统的,所以是非常适合程序员的。但是这本书不仅仅包含了计算机硬件的相关知识,同时还包含了包括操作系统、计算机网络等相关知识。

2、计算机操作系统

清华大学有实验和配套公开课:https://www.zhihu.com/question/27871198?rf=281318989

2.网易云课堂李治军老师的操作系统课程,讲的通俗易懂,用的是linux0.11的源码,真的很好。

无论你学习什么编程语言,和都避免不了和操作系统打交道,比如你学习 Java,用到多线程技术,实际上操作系统才是负责管理进程和线程的;比如你学习到内存分配的知识,c++里可以直接分配一段内存,此时实际上是调用操作系统提供的API进行内存分配。

如果不懂操作系统,你在未来学习编程语言的高级特效,涉及到线程进程调度,内存分配,或者是学习Linux相关的知识时,都会一头雾水,所以,只有学会了操作系统,我么才能够更好地学习其他语言和技术。

基于此,计算机操作系统的知识点频繁出现在笔试环节。

毕业的程序员或者非科班的程序员可以看看下面的两篇文章,就当再复习学习一遍。

3、计算机编译原理

首先正式一个问题:编译原理并非随随便便就能入门的

换言之,需要准备一些基础知识在学习。

编译原理的学习和实践通常基于对计算机编译过程、计算机基本工作原理、甚至一定的数学知识有一定积累,这些知识分别分布并应用在了编译原理的不同阶段。没有这些基本知识的积累,很快就会在某个阶段由于功底不够而无法再继续后面的学习。

所以,先认认真真的积累上述的一和二在入门学习吧。

4、数据结构与算法

相信无论是已经毕业的同学还是正在学校学习的同学,都或多或少地被数据结构与算法这门课给折磨过。数据结构与算法这门课开篇就讲了一个非常重要的概念:程序 = 数据结构 + 算法,对于初学者可能还不能完全地理解这句话,不过对于已经工作两三年的同学相信对这句话是深信不疑的。

对于数据结构与算法的学习,我个人认为应该分层三个步骤:首先先大致了解什么是算法,可以通过一些科普读物来入门,这个过程我称之为入门阶段;接着可以尝试实现一些比较容易的数据结构和算法,这样可以更加深对数据结构和算法的了解,这个过程我称之为实践阶段;最后去了解数据结构与算法背后的相关数学原理等,这个过程我称之为原理阶段。

5、计算机网络

计算机网络的相关知识在工作时使用的频率还是挺多的,毕竟,所谓的CURD工程师总是在处理 API 相关的业务。

嵌入式书籍推荐

1.入门篇

《嵌入式Linux应用开发完全手册》

2.内核篇

浙江大学的《LINUX内核源代码情景分析》

外国鬼子的《莱昂氏UNIX源代码分析》

《深入理解linux内核》

赵炯的《LINUX内核完全剖析--基于0.12内核》

3.shell篇

《LINUX与UNIX Shell编程指南》

4.应用篇

《unix环境高级编程》

5.C语言

《The C Programming Language》

《c和指针》

《c缺陷和陷阱》

前言
经常有读者让我推荐书籍,这次我就把我私藏的计算机书单分享给你们!不过由于时间匆忙,不会进行更加详细的介绍。

声明
由于每个人的情况不一样,推荐的书并不一定适合你,也不一定适合当前阶段的你,有的书籍可能存在内容重复,所以根据自己的阶段情况进行选择即可。虽说如此,以下书单中提单的书均为优质书籍。
另外说,本人从事的是Linux/C/C++应用开发相关工作,因此主要书籍与此相关,涉及操作系统,Linux,C/C++,网络,编译链接,算法,数据库等内容,其他方向的会提到,但可能不全,欢迎补充。

以下整理均来自公众号【编程珠玑】
作者:守望先生

C


《C程序设计语言》(经典,不适合小白入门)

《C语言程序设计:现代方法》

《C primer plus》(入门推荐)

《C陷阱和缺陷》

《C专家编程》

《C和指针》(领悟指针精髓)

《C语言接口与实现》

《C11标准文档》(非书,可查阅)

推荐文C语言必读

C++


《C++ primer》(适合有一定基础)

《C++程序设计语言》

《C++标准库》

《Effective Modern C++ 》

《more effective C++》

《深度探索C++对象模型》

《STL源码剖析》

《effective STL》

《C++ template》

《Exceptional C++》

《C++编程思想》

《C++语言的设计和演化》

Python


《python编程 : 从入门到实践》

《A Byte of Python》(快速上手)

《Python编程快速上手》(适合完全零基础)

《流畅的Python》(非小白入门所选)

《Python Cookbook》

计算机基础


《编码:隐匿在计算机软硬件背后的语言》

《深入理解计算机系统》(强烈推荐)

《计算机程序的构造和解释》

《计算机组成与设计 : 硬件/软件接口》

算法


《算法导论》(大钻头,不易读)

《编程珠玑》

《算法》(相对易读)

《数据结构与算法分析-C语言描述》

计算机网络


《计算机网络》

《计算机网络-自顶向下方法》

《TCP/IP详解-卷1》

《网络是怎样连接的》

编译链接


《编译原理》(龙书)

《程序员的自我修养-装载,链接和库》

操作系统/Linux


《现代操作系统》(中文版感觉有点晦涩)

《操作系统精髓与设计原理》

《操作系统概念》

《Linux内核设计与实现》(整体介绍,不如后面两本深入)

《深入理解Linux内核》

《深入Linux内核架构》(大砖头,讲解了Linux中关键部分)

《鸟哥的linux私房菜基础篇》(基础篇可入门Linux)

《Linux命令行与shell脚本编程大全》

《Linux Tools Quick Tutorial》 (教程)

https://linuxtools-rst.readthedocs.io/zh_CN/latest/base/index.html

数据库


《Mysql必知必会》(超薄小册子)

《高性能Mysql》

《redis设计与实现》(学习里面的设计思路,数据结构与算法)

《数据库系统实现》

系统/网络编程


《Unix环境高级编程》(APUE)(经典)

《Unix网络编程》(UNP)(两卷,经典)

《Linux/UNIX系统编程手册》

设计/软件工程


《代码大全》

《代码整洁之道》

《程序员修炼之道》

《Unix编程艺术》

《重构》

《敏捷软件开发:原则、模式与实践》

《设计模式_可复用面向对象软件的基础》

工具


《pro git》在线文档 地址:https://progit.bootcss.com/

工作面试


《编程之美——微软技术面试心得》

《剑指offer 名企面试官精讲典型编程题》

其他


《浪潮之巅》

《黑客与画家》

总结
书籍皆为好书,但不一定适合现阶段的你,请慎重选择。

非完整版,可继续关注阅读原文

后期进行更加详细的介绍。
 

https://blog.youkuaiyun.com/hyb612/article/details/102730648

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值