前言
记录所学知识、所掌握的工具,目的在于:一是温故而知新,二是帮助明确自身的短板从而有目的地提升。
计算机
互联网是目前我从事的行业。
编程与软件开发
- 数据结构与算法
- 面向对象编程、面向切片编程
- 多线程与锁
- 异步通信(消息队列或事件驱动)
- 设计模式
- Web应用开发(前、后端):RESTful API设计与开发、MVC模式
- 桌面应用开发
- 微服务架构
- 版本控制
数据库与数据管理
- 数据库设计
- 关系型数据库
- 非关系型数据库
人工智能与机器学习
- 计算机视觉
- 自然语言处理
- 模型训练与评估
- 模型部署、模型量化
分布式与并行计算
- 并行计算
- 分布式计算
网络与通信技术
- 网络协议
- 安全与加密技术
系统架构设计
- 模块化设计
电子
因为目前业余时间做的项目主要是嵌入式方面的,所以就接着梳理这块的知识啦。
- 硬件
- PCB设计
- 嵌入式Linux
机械
说来惭愧,机械是我本科和研究生阶段的
- 机械设计
- CAD软件
工具备忘
工具是理论的应用,一项理论可能有多个为它服务的工具,例如深度学习方面的工具就有TensorFlow、PyTorch、Caffe等等。我个人认为,深入理解基本原理远比熟练掌握一门工具重要。在这里对接触过的工具做一个统计,也仅是让自己知道会用什么工具、哪些更熟练,同时也给大家做个参考。
- 编程语言:C/C++、Python、Java、JavaScript、HTML
- 版本控制:Git
- 数据库与缓存:MySQL、Postgresql、Sqlite、Doris、Redis、Caffeine
- 科学计算、数据处理与可视化:Numpy、Pandas、Matplotlib、Matlab
- 网络协议(非工具):TCP、UDP、HTTP、WebSocket
- 消息队列:Kafka、RocketMq、MQTT
- 分布式、流批计算:Flink、Spark(待)、ZooKeeper、Hadoop(待)
- 任务调度:Airflow(待)、xxljob、APScheduler
- 搜索与推荐:ElasticSearch
- 容器化、部署:Docker
- 人工智能与机器学习:Tensorflow(含Keras)、PyTorch、ScikitLearn
- 图像处理:OpenCV、PIL
- GUI:PySide/PyQT、LVGL、U8g2(待)
- AIoT/EdgeAI/嵌入式AI:TFLite、SNPE、ESP-DL(待)
- Web应用框架:SpringBoot、Django、Flask、FastAPI
- 移动应用开发:AndroidStudio
- SQL工具包或对象关系映射(ORM)库:MyBatis、SQLAlchemy
- 流程引擎:Camunda
- 系统:FreeRTOS、ROS
- 嵌入式开发:VSCode+PlatformIO、Keil5(MDK-ARM)、Arduino
- PCB设计:AltiumDesigner、LCEDA
- 机械设计:Solidworks、Catia
- 图像处理和视频剪辑:AdobePremiere、会声会影、 剪映