导图社区 电子计算机技术
电子计算机技术的思维导图,分享了软件的算法、程序原理、库、软件开发、程序设计,硬件有硬件设备、设计、软件,欢迎交流!
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
电子计算机技术
软件
算法
排序
查找
数据结构
程序原理
操作系统
Windows
Unix
类 Unix
Linux
MacOS
二进制
处理器
指令集(处理器如何进行运算)
x86
Arm
RSIC-V
编译原理
编译与链接
程序编译时优化
文件系统
文件路径
相对路径
绝对路径
文件系统类型
NTFS (Windows)
ext系列 (Linux)
ext/2/3/4
内存管理
堆
栈
编程语言
低级语言
汇编
高级语言(编译成机器码执行)
特点
优点
速度快
程序体积小
占用资源少(内存、CPU时间)
缺点
跨平台能力差
编写程序难度大
灵活性低
需要手动进行内存管理,易发生内存泄漏(Rust除外)
适用场景
嵌入式(物联网)
高性能(操作系统、人工智能、大数据)
高并发(网络后端服务应用)
游戏开发
图形学
举例
C
C++
Rust
Go
超高级语言(自认为)
简单易学
灵活多变
编写快速
可用的程序库多(尤其是Python)
跨平台
由 GC 自动进行内存管理
速度慢
效率低
运行时(Runtime)占用空间大
缺乏直接操作硬件系统的能力
有 GC (Garbage Collector) 影响程序运行速度
前端开发
低成本项目
算法验证
跨平台应用开发
移动应用开发
虚拟机语言
Java
C#
VB
...
解释器语言
Python
JavaScript
Perl
Ruby
Lua
程序接口
https://baike.baidu.com/item/%E6%8E%A5%E5%8F%A3/15422203
库(别人写好的东西)
github
sourceforge
gitee
软件开发
开发环境
集成开发环境 IDE(Integrated Development Environment)
Visual Studio (Windows)
XCode (Mac)
Visual Studio Code (通用)
JetBrains全家桶 (通用)
软件测试(Debug)
软件部署(Deploy)
开发场景
前端
UI
Qt(C/C++)
基于Chromium的UI
HTML/CSS
后端
网络编程
TCP/IP
UDP
HTTP
WebSocket
数据库
关系型数据库
MySQL
SQLite
MongoDB
Key-Value型数据库
Redis
分布式数据库
程序设计
算法设计
架构设计
接口设计
硬件
硬件设备
输入设备
鼠标
键盘
手柄
输出设备
显示器
打印机
音响
马达
通用计算设备
通用计算机
CPU/APU
CPU架构
性能
功耗
能效
通用编程开发板
Ardunio
价格极高,但生态丰富
esp系列
esp8266
价格低
生态丰富
支持Ardunio开发套件
esp32
同esp8266,但性能更强,价格更贵
stm系列
stm32
移动设备
手机
平板
智能手表
智能手环
专业加速计算设备
FPGA
专业加速卡
显卡
声卡
设计
电路设计
PCB设计
EDA软件
布线设计
原理设计(原理图)
芯片通信设计
软件设计
C/C++
Linux的使用
常用Linux命令
mv
mkfile
touch
cd
mount
unmount
top
kill
Linux程序制作
Linux提供的标准头文件
Linux软件生态
Linux中库的使用
Linux内核编译
Linux驱动移植