作为程序员,你必须了解这些关于计算机的知识


 

存储—-块设备,文件系统,集群文件系统,分布式文件系统,光纤SCSI,iSCSI,RAID等。

  网络—-以太网,光纤网,蜂窝网络,WIFI,VLAN等。

  计算机体系结构,主要就是CPU指令集。x86,ARM等。

  USB协议。需要知道URB包。

PCI协议,PCI-E协议。现代计算机的外设都是PCI协议和PCI-E协议的。显卡现在全是通过 PCI-E协议连接到计算机上的。相对来说减少了很多需要学习的知识。搞虚拟化就需要深入掌握PCI协议。

图像处理–图像压缩,视频实时编码等。

3D游戏

关系数据库

NoSQL数据库

操作系统

分布式操作系统

编译原理

机器学习–现在大数据要用哦!

了解这些领域知识,也包括了解该领域现有的商用硬件、商用软件和开源软件。很多时候,你要完成的工作,已经有现成的工具了。你只要使用现成的工具就可以完成任务,不需要进行开发。有时候,只需要组合现有的工具,写一些脚本就可以完成任务。

如,我一次要实现一个双向同步任务。找到了一个优秀的开源软件Unison,编写一下配置文件就圆满地完成了任务。不需要编写任何代码。

还有一次,要做高可用,用Python调用了几个开源软件就轻松实现了。

编写安装程序,定制操作系统,知道了操作系统的领域知识,写几行脚本就可以轻松搞定。

不具备领域知识的人,就可能不得不进行大量无谓的开发,甚至开发很久之后才发现,这根本就是一条死路。

另外,扎实的领域知识,可以大大提高编程调试、查错的能力。知道编译器和编程语言运行时工作原理,就能快速根据编译错误和警告信息修改代码。

知道操作系统底层运行机制,就能快速找到运行时错误的问题根源。如,有一次我编写一个windows升级服务程序。它是一个windows服务,需要执行dos脚本,这个脚本会替换掉这个windows服务本身。发现有时脚本执行无效,查了一晚上,发现当windows服务安装后,第一次启动就执行脚本时就会有权限问题,log都正确,但实际执行这个脚本没有任何效果。但一旦windows服务程序启动一次之后就ok。这必然是windows操作系统底层安全机制的问题,因为我对Windows内核了解不多,因此花了很长时间才发现这个问题,并对造成这个问题的根源并不清楚。

  0段—领域知识菜鸟

对领域知识没有多少认知,通过搜索引擎找到一些该领域的软件和硬件的介绍性文章,按照文章指示配置和使用软件。勉强能够使用现有软硬件。

  1段—领域知识行家

了解领域内常用硬件,深入掌握领域内常用软件的配置和使用技巧。能够使用现有软硬件熟练搭建解决方案,能够解决实际工作中遇到的种种问题。

(责任编辑:安博涛)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

开源发家史:Linux在为谁代言?

开源发家史:Linux在为谁代言?

开源,也被称为开放源代码(Open Source) 开源(Open Source) 开源运动起源于20实际60年...[详细]

作为码农,我们为什么要写作

作为码农,我们为什么要写作

在程序员这个行业,坚持做技术写作的人一直比较少。我和身边的朋友沟通后,发现他们除...[详细]

键盘敲击识别技术真的靠谱吗?

键盘敲击识别技术真的靠谱吗?

所有人都知道密码是靠不住的。于是现在有一个有意思的行为生物识别是你是如何打字的,...[详细]

干货!企业安全产品采购指南

干货!企业安全产品采购指南

作为一个安全行业的客户,怎么知道什么样的技术、产品和服务将会满足自身的需求?本文...[详细]

作为程序员,你必须了解这些关于计算机的知

作为程序员,你必须了解这些关于计算机的知识

存储-块设备,文件系统,集群文件系统,分布式文件系统,光纤SCSI,iSCSI,RAID等。 ...[详细]

返回首页 返回顶部