🚀 通过自动化 QA 加快移动版本发布速度(赞助)
在移动设备上进行手动测试速度太慢,局限性也太大。这迫使团队不得不提前一周发布,只是为了在提交到应用商店之前进行测试。而且,由于缺乏广泛的设备覆盖,问题很容易被忽略。
QA Wolf让工程团队在几周内实现 80% 的自动化测试覆盖率,并在真实的 iOS 设备和 Android 模拟器上运行测试——所有测试均100% 并行进行,没有任何问题。
-
质量保证周期缩短至仅 15 分钟
-
全面支持多设备+手势交互
-
可靠的测试执行,零剥落
-
人工验证的错误报告
工程团队行动更快,发布保持正常进行,测试自动进行 – 因此开发人员可以专注于构建,而不是调试。
G2 评分 4.8/5 ⭐
本周的系统设计复习:
-
什么是 SOLID 原则?
-
常见的 HTTP 状态代码
-
ByteByteGo 技术面试准备工具包
-
清洁架构如何运作?
-
Docker 如何工作?
-
大型语言模型如何工作?
-
特色职位
-
赞助我们
什么是 SOLID 原则?
SOLID 提供了创建易于理解、修改和扩展的软件的指南。
SOLID 的首字母缩写代表:
S -> 单一职责原则
O -> 开放/封闭原则
L -> 里氏替换原则
I -> 接口隔离原则
D -> 依赖倒置原则
-
单一职责原则 (SRP) 指出,一个类应该只有一个变更的原因。换句话说,在软件系统中,它应该具有单一且定义明确的职责或任务。
-
开放/封闭原则 (OCP) 指出,软件实体(例如类)应该对扩展开放,但对修改关闭。这意味着您可以在不更改现有代码的情况下添加新功能。
-
里氏替换原则 (LSP) 指出,派生类的对象应该能够替换基类的对象,而不会影响程序的正确性。
-
接口隔离原则 (ISP) 强调使用接口的类或组件不应被强制依赖于它们不使用的接口。
-
依赖倒置原则 (DIP) 指出高级模块(或类)不应该依赖于低级模块;两者都应该依赖于抽象,例如接口。
交给你:在日常开发工作中,你认为哪个 SOLID 原则最有用或最具挑战性?
常见的 HTTP 状态代码
HTTP 状态代码是由服务器响应客户端请求而发出的。这些来自服务器的简洁响应在调试 Web 应用、移动应用或 API 时非常有用。
-
1xx 信息:表示已收到客户端的请求,并且处理继续(例如,100 继续)。
-
2xx 成功:确认请求已成功完成(例如,200 OK)。
-
3xx 重定向:需要客户端操作,例如以下重定向(例如,301 永久移动)。
-
4xx 客户端错误:表示客户端导致的请求失败(例如,404 未找到)。
-
5xx 服务器错误:显示服务器在处理请求时发生故障(例如,500 内部服务器错误)。
交给您:哪个类别最让您困惑,为什么?
ByteByteGo 技术面试准备工具包
推出一体化面试准备课程。我们将在ByteByteGo 网站上提供所有书籍。
包含的内容:
-
系统设计面试
-
编码面试模式
-
面向对象设计面试
-
如何写一份好的简历
-
行为面试(即将推出)
-
机器学习系统设计面试
-
生成式人工智能系统设计面试
-
移动系统设计面试
-
更多精彩即将到来
清洁架构如何运作?
清晰架构 (Clean Architecture) 是一种组织软件应用程序的方式,使其易于理解、维护和扩展。清晰架构包含 4 个层级,每个层级都有明确的角色。这些层级之间的依赖关系始终指向内部,从而确保系统松散耦合、可测试且易于维护。
让我们看一下这些层:
-
实体:这些是业务的核心规则和逻辑。它们代表系统中最稳定的部分,并且独立于任何外部系统或框架。
-
用例:这些定义了应用程序可以执行的具体操作。它们协调实体和外部接口之间的数据流,但不关心数据如何显示或存储。
-
接口适配器:此层包括控制器、演示器和网关。它将来自外层(如 Web、数据库或 UI)的数据转换为用例和实体可以理解的形式。
-
框架和驱动程序:这些是外部工具和系统,例如数据库、Web UI 或设备。它们位于外部,并依赖于内层。
交给你:你还需要补充什么来理解清洁架构的工作原理?
Docker 如何工作?
Docker 的架构由三个主要组件组成:
-
Docker 客户端
这是用户交互的界面。它与 Docker 守护进程进行通信。 -
Docker 主机
在这里,Docker 守护进程监听 Docker API 请求并管理各种 Docker 对象,包括镜像、容器、网络和卷。 -
Docker 注册表
这是存储 Docker 镜像的地方。例如,Docker Hub 是一个广泛使用的公共镜像仓库。
大型语言模型如何工作?
-
数据收集和标记化。
LLM 首先从书籍、网站和代码等来源获取大量文本。这些文本会被清理并分解成更小的单元(即 token),用于训练。 -
使用 Transformer 架构进行预训练
该系统利用 Transformer 模型和自注意力机制,学习预测序列中的下一个 token。这个过程会调整数十亿个参数,从而形成对语言的广泛理解。 -
针对特定任务进行微调
然后,通过微调技术,对预训练模型进行定制,使其行为与人类偏好或特定任务保持一致,以适应特定应用。一些方法包括 RLHF、LoRA 等。 -
推理和响应生成
该模型通过预测下一个最可能的词条,在推理时根据输入提示生成响应。先进的策略和检索机制可以提高流畅度和事实准确性。 -
优化与部署
在部署之前,模型会被压缩和过滤,以确保速度、效率和安全性。之后,它会被部署到云平台和边缘设备等环境中,供实际使用。
交给你:你还会在这个高级流程中添加什么?
特色职位
-
技术策略师
-
描述:作为 Tenex 的技术 AI 策略师,您的任务包括拥有客户关系、诊断关键工作流程瓶颈、制定产品策略、数据基础设施、提供战略建议以及实施为 AI 价值实现奠定基础的产品。
-
薪酬与您和您的团队创造的收入直接相关。
-
前沿部署工程师
-
描述:作为 Tenex 的前沿部署 AI 工程师,您可以设计并实施定制的 AI 驱动解决方案,直接与客户合作,将业务挑战转化为可扩展的系统。
-
薪酬根据产出而定,没有上限。
赞助我们
将您的产品展示给超过 1,000,000 名技术专业人士。
我们的时事通讯将您的产品和服务直接呈现给重要的受众——数十万工程领导和高级工程师——他们对重大技术决策和大宗采购有影响力。
房间很快订满 – 立即预订
广告位通常提前4周左右售罄。为了确保您的广告能够触达这些极具影响力的受众,请立即发送电子邮件至[email protected] 预订您的广告位。
原文: https://blog.bytebytego.com/p/ep175-what-is-the-solid-principle