摘要:
当代软件工程师技术面试准备Part1 一. 编码 - Leetcode LeetCode是一个在线的编程练习平台,专注于帮助程序员提升他们的编程技能。该平台提供了大量的算法和数据结构问题,涵盖了各种难度级别,从简单到困难。LeetCode的主要目标是帮助程序员准备技术面试,特别是在软件工程和计算机科 阅读全文
摘要:
这是我的技术BLOG的2023年回顾篇, 让我们重新回顾,温顾而知新。对每一篇文章,再次做了介绍架构设计: 基于AWS云SaaS多租户架构设计 多租户架构设计是一种软件架构模式,主要应用于云计算环境中的软件即服务(SaaS)产品开发。在多租户架构中,一个单一的应用程序实例能够为多个不同用户(称为“租 阅读全文
摘要:
常见HTTP状态码与常见编程语言应用 我之前问过一些初中级工程师,他们并不是每一个人都清楚。但确实很重要。您应该知道的 HTTP 状态代码 HTTP 的响应代码分为五类: 以下是一些常见的HTTP状态码及其含义:1xx(信息性状态码):这些状态码表示请求已被接收,继续处理。100 Continue: 阅读全文
摘要:
何时使用GraphQL、gRPC 和 REST 在设计应用程序时,开发人员可以从各种客户端-服务器通信协议中进行选择。使用 GraphQL、gRPC 和 REST 在当代项目中相对常见。每种协议都可以提供各种优势,具体取决于您的应用需求。 一.GraphQL 是一种灵活的数据请求方法,它专注于特定请 阅读全文
摘要:
简而言之,"金丝雀 "发布Canary Releases的理念就是只向一部分用户发布新的软件版本,分析结果,然后决定是否继续发布。如果结果与预期不符,就退回;如果结果与预期相符,就增加用户数量,直到所有用户都从新版本中受益。在这篇文章中,我将简要介绍这一介绍的细节,解释定义分数的不同方法,并展示如何 阅读全文
摘要:
大多数使用 REST 的系统间通信组件都以 JSON 格式序列化其有效载荷。目前,JSON 缺乏广泛使用的模式验证标准: JSON 模式尚未普及。标准模式验证允许将验证工作委托给第三方库,然后就可以完成验证。如果没有标准,我们就必须在代码中进行手动验证。更糟糕的是,我们必须让验证代码与模式保持同步。 阅读全文
摘要:
API成批分配漏洞介绍API 特定:可利用性 2 利用通常需要了解业务逻辑、对象关系和 API 结构。 在 API 中利用批量分配更容易,因为按照设计,它们公开了应用程序的底层实现以及属性名称。安全弱点: 现代框架鼓励开发人员使用自动将客户端输入绑定到代码变量和内部对象的函数。 攻击者可以使用这种方 阅读全文
摘要:
Kiota是一个命令行工具,用于生成API客户端,以调用您感兴趣的任何OpenAPI描述的API。目标是消除您需要调用的每个API对不同的API SDK的依赖。Kiota API客户端提供了高质量API SDK提供的所有功能的强类型体验,但无需为每个HTTP API学习新类库。功能特点支持多种语言: 阅读全文
摘要:
清晰架构原则对于任何希望创建健壮、可维护和可扩展软件的软件开发者来说都至关重要。理解并实施这些概念可以显著提升你的编程技能。以下是对20个基本架构洞见的深入探讨:依赖规则: 清晰架构的核心是依赖规则。它规定源代码的依赖关系应始终指向内部。这种内向的方向确保了一个具有弹性的基础,强调了关注点的分离,并 阅读全文
摘要:
项目管理之干系人立方体分析我们常见干系人权力利益方格、权力影响方格,或作用影响方格:基于干系人的职权级别(权力)、对项目成果的关心程度(利益)、对项目成果的影响能力(影响),或改变项目计划或执行的能力,每一种方格都可用于对干系人进行分类。对于小型项目、干系人与项目的关系很简单的项目,或干系人之间的关 阅读全文