今天想把我不太熟悉的一些词介绍一下,方便大家了解,也方便我查阅 :)
1、开源技术
这个词源于一些软件技术发烧友出于技术展现目的或者说是对软件的一种热爱,将自己辛勤 开发的软件源代码 无私地发布到 互联网 社区上与社会共享,他们坚信, 好的软件 应该是开放的,应该由任何有能力的人参与共同完善,这就是开源技术的理念。
现在比较流行的开源代码共享平台 GitHub ,大家可以去GitHub网址去看看,里面资源很多,但是看不懂代码的小编也只是瞎逛逛,并没有什么实质性收获。(http://youngxhui.github.io/ 这个是重点推荐,一个大学生的博客,很喜欢看他写的东西,里面也有他自己写的GitHub使用教程,非常佩服)
开源软件
如今社会开源技术种类繁多,开源软件也渗透于我们生活的方方面面,像电脑中,手机中,电视中,甚至小小的数码产品中都有开源软件的身影,下面这个链接中具体介绍了当今比较流行的开源技术。
https://wap.ithome.com/html/128339.htm
2、计算机语言
有人说一个好的程序员,最少应该掌握这五种语言, Python, C/C++, Java, Perl, and LISP。
C是一个编程者一定会的语言,非常高效,不幸的是,C需要你手动做大量的低层次的内存管理。低级编码非常复杂、容易出错,会花费你大量时间在调试程序上。而,比较明智的做法是使用一门机器时间低效的语言,但是你的时间更有效,所以,Python,一门很值得去学的语言。
Java,曾有人建议把它作为早期的一门语言(见文章“The Pitfalls of Java as a First Programming Language",大家可以去搜索一下)。不过也有人建议先学好C和LISP再去学Java。(http://mp.weixin.qq.com/s/BVkgCuPowbpwq8rSnzy76Q,这是学Java很好的一篇文章)
Perl,很实用,它被广泛用于活动网页和系统管理,即便你从不用Perl写程序,至少也应该能读懂它。
LISP值得学习是因为当你最终掌握了它你会得到丰富的经验,这些经验会使你在以后的日子里成为一个很好的程序员,而这门语言实际并没有用处。
3、深度学习框架
深度学习 是机器学习研究中的一个新领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模拟人脑的机制来解释数据,例如图像,声音和文本。在人工智能领域非常流行,TensorFlow 是Google开源的深度学习系统,可以将复杂的数据结构传输至人工智能神经网中进行分析和处理。
目前研究人员正在使用的深度学习框架,除TensorFlow外,还有Torch,Caffe,Theano,Deeplearning4j等。(想要了解的可以去这个链接看看https://m.leiphone.com/news/201608/5kCJ4Vim3wMjpBPU.html)
人工智能(AI)领域旨在让 “机器人学习”,机器人又是通过算法来进行“学习”,现在比较好的机器人学习算法是 卷积神经网络(CNN),下面这篇文字很好的介绍了CNN,还是很有趣的,值得一看。
https://www.cnblogs.com/softzrp/p/6724884.html
API : 应用程序编程接口(即windows上一种可调用的函数库)。
4、内存(虚拟地址空间)管理
计算机中的内存是分区管理的,一般分为代码区,静态区,栈区,堆区四个区。我们学习计算机语言不仅仅为了实现功能,还要会管理我们自己计算机的内存。(https://www.cnblogs.com/yif1991/p/5049638.html基于C语言的内存管理,非常有用。)
5、编译器
很多优秀程序员建议初学者尝试自己写一个编译器,那么编译器究竟是什么呢。
百度词条是这样的:编译器将汇编或 高级计算机语言 源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码 的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
我们在学习C语言时,有使用过devcpp,Microsoft Visual C++等编译器,如果让你自己写一个编译器,你是否能做到呢?
6、嵌入式Linux
Linux 是一个可以深度定制的操作系统。即用户可以 自行修改 其源代码,这就赋予了用户高度控制权。很多人说只有黑客才用Linux,那是因为你不了解黑客。
你应该看看下面这篇文章:)
起点:如何成为一名黑客
7、外壳程序(shell)
Unix 环境下在操作系统之上提供的一套 命令解释程序 叫做外壳程序。听说肯深入研究外壳的人,现在都是资深程序员,收入不一般。
所谓“外壳”就是给可执行的文件加上一个外壳。用户执行的实际上是这个外壳的程序,而这个 外壳程序 负责把用户原来的程序在内存中解开压缩,并把控制权交还给解开后的真正的程序,由于一切工作都是在 内存 中运行,用户根本不知道也不需要知道其运行过程,并且对执行速度没有什么影响。如果在外壳程序中加入对软件锁或钥匙盘的验证部分,它就是我们所说的外壳保护了。
8、内核(core)
提到外壳那肯定要说到内核了,内核,是一个操作系统的核心。是基于硬件的第一层 软件 扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
如果感兴趣,可以自行搜索文章去读,我就不多说了。
9、MCU(单片机)
相信这个大家都比较了解,单片机 是一种 集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器 ROM、多种 I/O口 和 中断 系统、定时器/计数器 等功能(可能还包括显示 驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
ROM:只读存储器镜像,用于写入系统分区的镜像文件;
RAM(内存):随机存取存储器,由触发器存储。
10、门电路和触发器,寄存器
数字电路 分组合逻辑电路和时序逻辑电路。组合逻辑电路 由 门电路 组成,门电路即与,或,非电路等等;时序逻辑电路 由 触发器 组成,触发器即简单的输入输出转换电路。
寄存器 用来存放数码或指令等,由门电路和触发器组成。
半加器,全加器,编码器,译码器及数码管,数据分配器,数据选择器,等等,都是简单的逻辑电路。(个人观点)
11、爬虫框架
爬虫框架是用来 抓取网页 的,我们知道每个网页都有它的 URL地址,想要抓取网页,首先要处理URL。有人会问为什么要抓取网页信息呢,我的理解是整个网页信息量大,如果单纯复制粘贴肯定不能全部获取,这时候就会用到爬虫,具体如何使用,请看下方链接:
https://www.jianshu.com/p/72790bfffb11
(以上是小编自己搜集整理的一些信息,希望对你有用,不过想要真正了解这些东西,只知道词义是远远不够的)