目录:
模块 | 硬件 | 编程方面 | 接口方式 | 衡量指标 | 研究方向 |
处理器 | pc,notebook,phone | 线程 |
intel:
Socket 478 ,LGA775,LGA 1150等
amd:
Socket 939 Socket FM2等
| 多核/主频 工艺 | 程序设计基础 |
内存 | 内存 | 变量,地址 | ddr3/4 | 带宽/延迟 | 程序设计基础 |
存储 | 硬盘/U盘/sd | 文件 读取的方式:同步,异步 |
(ata)ide,sata3(串行ata)
usb
| 带宽 容量 | 数据库 |
网络 | 网卡/路由器/网线 | socket | 带宽,延迟 | 计算机网络 | |
声音 | 声卡 | ||||
显示 | gpu, 显卡/显示器/打印机 | 读写显示器 窗口 |
对外:
vga,dvi,hdmi,dp;
内部:
AGP,pci
| 分辨率 色域 色彩准确度响应时间 可视角度 清晰度 亮度 对比度 功耗 发热 | 计算机图形学 |
鼠标/键盘 | 键盘,鼠标 | 消息/事件/中断 | usb,ps2 | 分辨率 | 程序设计基础 |
c&cpp |
c:
变量
函数
类
结构体
指针
数组
|
cpp:
对象
模版
虚函数
构造函数
析构函数
重载
继承
封装
| ||
os操作系统/浏览器术语 |
进程
线程
链接库
虚拟内存
窗口
事件消息
堆栈
堆
内存映射
异常
|
文件系统
文件
缓存 重定向 定时器
console
ssh
|
浏览器
字体 编码 | |
gdi/ opengl图形学术语 |
ps:
透明/半透明 矢量 动画 调色板 |
gdi:
位图(bitmap)
画刷(brush)
画笔(pen)
颜色(color)
路径(path)
区域(region)
调色板
| opengl: 图片 渲染 纹理 点阵 分辨率 蒙版 | |
qt术语 | 信号/槽 mvc | |||
网络 |
tcp/ip协议
端口
路由
| |||
软件工程术语 | 瀑布模型 |
为了使用上面的硬件,就需要使用编程技术,即使用操作系统提供的接口来控制硬件.
a)编程基础
此部分属于程序员的个人修养,可能不能直接用于编程,但是可以直接用于深入编程.不一定需要知道具体怎么做,但是要明白计算机如何做一些事情(一个是机制,一个是实现细节)
什么是进程,文件,线程,内存,定时器,网络,重定向等基本概念,这些都是计算机提供给我们的解决问题的工具
比如理解软件的运行过程
比如理解c与汇编的关系
比如理解脚本的工作方式
比如一个可执行文件的格式(windows下的pe,*nix下的coff,mac下的mech-o)
比如理解操作系统的工作方式
比如理解设计模式(里面包含了经过实践的,好的编程准则)
如何高效的处理大量物体,如何处理动画
1 网络访问
2 压缩解压
3 xml json ini
4 数据库访问
5 文件访问
6 注册表文件
7 界面(皮肤)
8 数据结构,字符串处理
9 图像处理(2012/11/1 14:26)
4 软件工程
用工程的观点看如何制作一个软件.是计算机编程的总结.如何去更好的使用上面的东西来完成具体的一个软件(系统),涉及以下活动:
需求分析和定义。
系统设计
程序设计
编写程序
单元测试
集成测试
系统测试
系统交付/验收
运行和维护
5 高效的程序员
systeminternal工具集合:procexp debugview
illustrator 矢量图 PostScript
6 编程实践(计算机应用)