工业互联网项目开发工作流程及核心问题

工业互联网项目开发全流程V3.0 工业互联网项目开发工作流程及核心问题 一、需求分析 1、共享平台需求分析 这个平台要解决什么问题?这个平台的用户群体是谁?这个平台应该具备哪些主要功能?这个平台的使用场景是什么?这个平台如何与现有的系统...阅读全文

工程师常用的6种最佳实践

一、约定大于配置 泰思勒定律也被称为复杂度守恒定律。该定律指出每一个过程都有其固有的复杂性,存在一个临界点,超过了这个点过程就不能再简化了,你只能将固有的复杂性从一个地方移动到另外一个地方。 根据这个定律,在做系统设计时,默认会给用户一...阅读全文

如何设计一个海量任务调度系统

在日常开发中会经常遇到一些需要异步定时执行的业务诉求,典型的使用场景如:超时未支付订单关单、每隔 2h 更新好友排行榜、3.22 日 17 点《xx》剧上线等。目前业务侧多基于以下思路来快速搭建一个调度系统,mysql 或者 redis...阅读全文

微服务中「组件」集成

在微服务工程的技术选型中,会涉及到很多组件的集成,最常用包括:缓存、消息队列、搜索、定时任务、存储等几个方面;随着系统的服务数量上升,统一管理各种组件的复杂度也会提高; ...阅读全文

迭代器模式(Iterator Pattern)

### 迭代器模式(Iterator Pattern) #### 一、定义 提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示。 #### 二、优缺点 **优点:** 1、它支持以不同的方式遍历一个聚合...阅读全文

如何保证登录过程中密码的安全性

确保密码的安全性是非常重要的,以下是几种常见的方法来提高密码的安全性: 1. 使用加密传输:在密码提交到后端之前,确保使用安全的加密协议(如HTTPS)来加密数据传输,以防止密码被中间人攻击窃取。 2. 密码哈希:在后端接收到密码后,使...阅读全文

手把手教你实战TDD

本文将对测试驱动开发(TDD)进行探讨,主要内容有:TDD基本理解、TDD常见误区、TDD技术选型,以及案例实战。希望通过本文,读者能够理解掌握TDD并将其应用于实际开发中。 ...阅读全文

驱动开发:内核LoadLibrary实现DLL注入

远程线程注入是最常用的一种注入技术,在应用层注入是通过`CreateRemoteThread`这个函数实现的,通过该函数通过创建线程并调用 `LoadLibrary` 动态载入指定的DLL来实现注入,而在内核层同样存在一个类似的内核函数...阅读全文

复杂业务系统的通用架构设计法则

生活中我们经常谈及 “架构”,那么到底什么是 “架构”,Robert C.Martin《架构整洁之道》中的定义:软件架构是指设计软件的人为软件赋予的形状,这个形状是指系统如何被划分为组件 (Components),各个组件如何排列(Ar...阅读全文

C++ 单例模式的各种坑及最佳实践

单例模式是设计模式中最简单、常见的一种。其主要目的是确保整个进程中,只有一个类的实例,并且提供一个统一的访问接口。常用于 Logger 类、通信接口类等。 # 基本原理 限制用户直接访问类的构造函数,提供一个统一的 public 接口获...阅读全文

策 略 模 式「指 鼠 为 鸭」

大家好,我是 god23bin,今天我们来介绍下设计模式中的一个重要的设计模式——策略模式。 当涉及到某个行为或算法有多个变体时,策略模式是一种常见的设计模式。它允许在运行时选择使用不同的策略,而无需修改现有代码。 现在就使用设计模...阅读全文

翻译:REST 和 gRPC 详细比较

>译者注:在微服务架构设计,构建API和服务间通信技术选型时,对 REST 和 gRPC 的理解和应用还存在知识盲区,近期看到国外的这篇文章:[A detailed comparison of REST and gRPC](htt...阅读全文

驱动开发:内核文件读写系列函数

在应用层下的文件操作只需要调用微软应用层下的`API`函数及`C库`标准函数即可,而如果在内核中读写文件则应用层的API显然是无法被使用的,内核层需要使用内核专有API,某些应用层下的API只需要增加Zw开头即可在内核中使用,例如本章要...阅读全文

详解驱动开发中内核PE结构VA与FOA转换

摘要:本文将探索内核中解析PE文件的相关内容。 本文分享自华为云社区《驱动开发:内核PE结构VA与FOA转换》,作者: LyShark 。 本章将探索内核中解析PE文件的相关内容,PE文件中FOA与VA、RVA之间的转换也是很重要的,所...阅读全文