前言

记录所学知识、所掌握的工具,目的在于:一是温故而知新,二是帮助明确自身的短板从而有目的地提升。

计算机

互联网是目前我从事的行业。

编程与软件开发

  • 数据结构与算法
  • 面向对象编程、面向切片编程
  • 多线程与锁
  • 异步通信(消息队列或事件驱动)
  • 设计模式
  • 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、会声会影、 剪映