Table of Contents

软件工程


游戏引擎架构

摘自GAMES104:

再讲个小trick,各个层次之间的调用,一般只允许上面的层次调下面层次的功能,绝对不允许下面反向调上面一层的功能,这就是分层的一个核心的体系结构。

CI/CD

CI/CD 是软件开发中的两个核心概念,代表:

  1. CI(Continuous Integration,持续集成):持续集成是指开发人员频繁地(通常是每天多次)将代码变更集成到主干分支,并自动进行构建和测试。
  2. CD(Continuous Delivery/Continuous Deployment,持续交付/持续部署)
    1. 持续交付(Continuous Delivery):代码变更在通过测试后,可以自动部署到预发布环境或 staging 环境,但部署到生产环境可能需要人工审批。
    2. 持续部署(Continuous Deployment):所有代码变更在通过测试后,自动部署到生产环境,全程无人工干预。

aaS

  1. SaaS: Software as a Service
  2. DBaaS: Database as a Service

Misc

Q:请辨析API / SDK / Toolkit / Runtime 这4个概念
AI:

  1. API:是一组接口规范,描述了可以调用的功能,但不包含实现或开发工具。
  2. SDK:是一个完整的开发包,包含 API 以及编译器、调试器、文档、示例代码等所有开发支持工具。
  3. Toolkit:通常指一组专注于某一领域的工具或库,可能是 SDK 的一个子集,或作为独立的工具集合提供特定功能。
  4. Runtime:是程序在运行时所依赖的执行环境,提供动态库、虚拟机等支持,不包含开发工具。