C++ 全栈知识体系C++ 全栈知识体系
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
关于
✿导航
  • 基础
  • 函数
  • 知识点
  • IO框架
  • 新版本特性
  • 数据库原理
  • SQL语言
  • SQL - MySQL
  • NoSQL - Redis
  • NoSQL - ElasticSearch
  • 算法基础
  • 常见算法
  • 领域算法
  • 分布式算法
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • 计算机组成
  • 开发
  • 测试
  • 架构基础
  • 分布式系统
  • 微服务
  • 中间件
  • 概念
  • 理论
  • 架构设计原则
  • 设计模式
  • 协议
  • 技术选型
  • 编码规范
  • 流水线构建 - CI/CD
  • 知识点 - Linux
  • 网站 - Nginx
  • 容器化 - Docker
  • 容器编排 - Kubernetes
  • 服务网格 - Service Mesh Istio
  • 常用快捷键 - Shortcut
  • 工具使用 - Tools
  • 开源项目
  • 学习项目
  • 个人项目
  • 项目开发
  • 项目Idea
  • 并发
  • 部署
  • 分布式
  • 知识
  • 问题
  • 编程语言与技术
  • 系统与架构
  • 软件开发实践
  • 数据处理与应用设计
  • 个人
  • 产品
  • 团队
  • 知识体系
  • Vue
关于
  • 概念

    • 概念 - 概述
    • 概念 - 计算机专有名词
    • 概念 - 正向代理和反向代理
    • 概念 - 云网络
    • 概念 - rest api
    • 概念 - 脑裂
  • 理论

    • 事务理论 - ACID
    • 分布式理论 - CAP
    • 分布式理论 - BASE
  • 架构设计原则

    • 架构设计原则 - 合适、简单、演化
    • 架构设计原则 - 高内聚、低耦合
    • 架构设计原则 - 正交四原则
    • 架构设计原则 - SOLID详解
    • 架构设计原则 - 分层架构MVC
    • 架构设计原则 - DDD领域驱动设计:贫血模型和充血模型
    • 架构设计原则 - DDD领域驱动设计
  • 设计模式

    • 创建型模式 - Create model

      • 创建型模式 - 单例模式(Singleton)
      • 创建型模式 - 工厂模式(Factory)
      • 创建型模式 - 抽象工厂(Abstract Factory)
      • 创建型模式 - 生成器(Builder)
      • 创建型模式 - 原型模式(Prototype)
    • 结构型模式 - Structural model

      • 结构型模式 - 外观(Facade)
      • 结构型模式 - 适配器(Adapter)
      • 结构型模式 - 桥接(Bridge)
      • 结构型模式 - 组合(Composite)
      • 结构型模式 - 装饰(Decorator)
      • 结构型模式 - 享元(Flyweight)
      • 结构型模式 - 代理(Proxy)
    • 行为型模式 - Behavioral model

      • 行为型模式 - 责任链(Chain Of Responsibility)
      • 行为型模式 - 策略(Strategy)
      • 行为型模式 - 模板模式(Template)
      • 行为型模式 - 命令模式(Command)
      • 行为型模式 - 观察者(Observer)
      • 行为型模式 - 访问者(Visitor)
      • 行为型模式 - 状态(State)
      • 行为型模式 - 解释器(Interpreter)
      • 行为型模式 - 迭代器(Iterator)
      • 行为型模式 - 中介者(Mediator)
      • 行为型模式 - 备忘录(Memento)
  • 协议

    • 协议 - Http
    • 协议 - SNMP
    • 协议 - NETCONF
    • 协议 - TLS和SSL
    • 协议 - Http-wiki
    • 协议 - TCP/IP
    • 协议 - Https常见的认证模式
  • 技术选型

    • 技术选型 - 常用的技术框架
    • 技术选型 - 如何写一个自己的项目
    • 技术选型 - 基于drogon实现用户中心后端
  • 编码规范

    • 编码规范 - Google C++ Style Guide
    • 编码规范 - 编程风格
    • 编码规范 - 头文件包含规范
    • 编码规范 - 常用编码命名规则
    • 编码规范 - 编码命名规范

技术选型 - 常用的技术框架

  • github搜索
  • 官网搜索
  • 组件库
  • 构建工具

搜索

github搜索

  1. 搜索条件,内容,star数量,更新时间,语言,公司等
  • https://github.com/search/advanced
  • 例如搜索一个C++的web框架
  • web框架选型:Drogon,Oat++
    • 搜索条件: C++ web framework stars:>1000 pushed:>2022-04-01 language:C++

官网搜索

  1. 找Redis官网,C++语言的客户端连接库: https://redis.io/docs/clients

常用的技术框架

数据库选择

  • 数据库排名

数据库排名

名称模型说明官网
MySQL关系型MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。https://www.mysql.com/
Redis键值对用 C 语言开发的一个开源的高性能键值对( key-value)数据库https://redis.io/
Elasticsearch搜索引擎分布式搜索和分析引擎https://www.elastic.co/cn/

前端框架

前端技术选项网站:

  • openbase

  • npmjs

  • 三件套 + React + 组件库 Ant Design + Umi + Ant Design Pro(现成的管理系统)

  • Vue3 + Vite + Vant 移动端项目

技术说明官网
Vue前端框架https://vuejs.org/
Vue-router路由框架https://router.vuejs.org/
Vuex全局状态管理框架https://vuex.vuejs.org/
Axios基于promise的网络请求库https://github.com/axios/axios
Vue CLI一个构建数据驱动的 web 界面的渐进式框架https://cli.vuejs.org/zh/
React用于构建用户界面的 JavaScript 库https://zh-hans.reactjs.org/
React Router完整的 React 路由解决方案http://react-guide.github.io/react-router-cn/

组件库

技术说明官网公司
Vant轻量、可靠的移动端 Vue 组件库https://youzan.github.io/vant/#/zh-CN有赞
ElementElement,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库https://element.eleme.io/饿了么前端团队
Element Plus基于 Vue 3,面向设计师和开发者的组件库https://element-plus.gitee.io/zh-CN/饿了么前端团队
v-charts基于Echarts的图表框架(vue)https://v-charts.js.org/
Ant Design是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。https://ant.design/index-cn蚂蚁金服
Ant Design Pro开箱即用的中台前端/设计解决方案https://pro.ant.design/zh-CN/蚂蚁金服
UmiJs是一个可插拔的企业级 React 应用框架https://v3.umijs.org/zh-CN蚂蚁金服
ProComponents基于 Ant Design 而开发的模板组件,提供了更高级别的抽象支持,开箱即用https://procomponents.ant.design/components/蚂蚁金服
v-charts基于Echarts的图表框架https://v-charts.js.org/蚂蚁金服

构建工具

技术说明官网
Vite前端构建工具https://vitejs.cn/
NpmNode.js的默认包管理器https://router.vuejs.org/
Yarn前端包装管理器,可作为npm的替代品(通过缓存每个包来加快构建过程)https://vuex.vuejs.org/
BrowserifyNode.js模块加载器,可以绑定前端依赖项,并将它们作为单个JavaScript文件加载到用户浏览器中https://vuex.vuejs.org/
Webpack高级模块绑定器,可以绑定所有依赖项,并将它们作为静态资产加载到用户浏览器中(Browserify只绑定Node.js模块,但Webpack可以处理任何类型的前端文件)https://element.eleme.io/

后端框架

后端:

  • java
    • spring(依赖注入框架,帮助你管理 Java 对象,集成一些其他的内容)
    • springmvc(web 框架,提供接口访问、restful接口等能力)
    • mybatis(Java 操作数据库的框架,持久层框架,对 jdbc 的封装)
    • mybatis-plus(对 mybatis 的增强,不用写 sql 也能实现增删改查)
    • springboot(快速启动 / 快速集成项目。不用自己管理 spring 配置,不用自己整合各种框架)
    • junit 单元测试库
  • c++
    • poco: 是一个开源的C++类库的集合,它主要提供简单的、快速的网络和可移植应用程序的C++开发
    • Boost:大量通用C++库的集合。
    • libev:功能齐全,高性能的时间循环,轻微地仿效libevent,但是不再像libevent一样有局限性,也修复了它的一些bug。
    • protobuf:协议缓冲,谷歌的数据交换格式。

部署:服务器 / 容器(平台)

技术说明官网
Spring Cloud微服务框架https://spring.io/projects/spring-cloud
Spring Cloud Alibaba微服务框架https://github.com/alibaba/spring-cloud-alibaba
Spring Boot容器+MVC框架https://spring.io/projects/spring-boot
Spring Security Oauth2认证和授权框架https://spring.io/projects/spring-security-oauth
MyBatisORM框架http://www.mybatis.org/mybatis-3/zh/index.html
MyBatisGenerator数据层代码生成http://www.mybatis.org/generator/index.html
PageHelperMyBatis物理分页插件http://git.oschina.net/free/Mybatis_PageHelper
Knife4j文档生产工具https://github.com/xiaoymin/swagger-bootstrap-ui
Elasticsearch搜索引擎https://github.com/elastic/elasticsearch
RabbitMq消息队列https://www.rabbitmq.com/
Redis分布式缓存https://redis.io/
MongoDbNoSql数据库https://www.mongodb.com/
Docker应用容器引擎https://www.docker.com/
Druid数据库连接池https://github.com/alibaba/druid
OSS对象存储https://github.com/aliyun/aliyun-oss-java-sdk
MinIO对象存储https://github.com/minio/minio
JWTJWT登录支持https://github.com/jwtk/jjwt
LogStash日志收集https://github.com/logstash/logstash-logback-encoder
Lombok简化对象封装工具https://github.com/rzwitserloot/lombok
Seata全局事务管理框架https://github.com/seata/seata
Portainer可视化Docker容器管理https://github.com/portainer/portainer
Jenkins自动化部署工具https://github.com/jenkinsci/jenkins
Kubernetes应用容器管理平台https://kubernetes.io/
Last Updated:
Contributors: klc407073648
Next
技术选型 - 如何写一个自己的项目