自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 为什么单线程的JavaScript可以异步执行任务?

JavaScript作为一门单线程语言,却能够高效处理各种异步操作,这得益于其精巧的事件循环(Event Loop)机制。本文将全面剖析JavaScript的异步处理原理,从单线程设计的原因到具体实现机制,最后通过伪代码模拟整个异步处理流程。

2025-04-05 07:45:56 941

原创 理解“顺序内聚”

顺序内聚是指在一个模块中,各个功能按照一定的顺序执行,并且每个操作的输出直接作为下一个操作的输入。这意味着模块内部的操作是紧密相连的,形成了一条连续的数据处理链。顺序内聚是一种较强的内聚形式,因为它确保了模块内的所有操作都直接相关并且相互依赖。

2025-04-04 07:47:34 809

原创 理解“功能内聚”

功能内聚(Functional Cohesion)是最高级别的内聚形式,指的是模块内的所有元素都紧密地围绕着一个单一的功能或任务进行设计。这意味着模块的所有组成部分都是为了完成这个特定的任务而存在的,并且这些部分之间具有非常强的逻辑关联性。功能内聚的模块通常是最小化、最专注的,易于理解、维护和重用。

2025-04-03 20:41:26 398 2

原创 理解“通信内聚”

通信内聚是指在一个模块中,所有操作都使用相同的输入数据或产生相同的输出数据。这意味着模块内部的所有功能紧密依赖于共同的数据集进行处理。这种类型的内聚通常出现在需要对同一组数据执行多种相关操作的场景中。尽管通信内聚比偶然内聚和逻辑内聚要好一些,但它仍然不是最高级别的内聚形式,因为它可能包含的功能并不总是直接相关的。

2025-04-03 20:41:15 569

原创 理解“过程内聚”

过程内聚是指在一个模块中,各个功能按照某种过程或步骤执行,即它们一起完成一系列相关的操作。这意味着模块内部的每个操作都有一定的顺序性,并且这些操作通常是为了完成一个特定的任务。尽管过程内聚比偶然内聚(Coincidental Cohesion)要好一些,但它仍然不是理想的内聚形式。这是因为模块内部的功能虽然有一定的执行顺序上的联系,但这些功能并不总是紧密相关。

2025-04-03 20:40:58 675

原创 理解“时间内聚”

时间内聚是指模块中的各个功能由于需要在同一时间段内执行而被组合在一起。这种内聚形式通常出现在初始化、清理或定时任务的场景中,其中多个操作可能没有直接的逻辑关系,但它们需要在特定的时间点或时间段内完成。

2025-04-03 20:40:33 503

原创 理解“逻辑内聚”

逻辑内聚是指在一个模块中,各个功能虽然执行不同的操作,但它们基于某种逻辑条件或参数来决定具体执行哪个操作。也就是说,模块中的不同功能通过某些逻辑判断(如传入的参数或控制标志)来选择执行哪一部分代码。

2025-04-03 20:40:21 472

原创 理解“偶然内聚”

偶然内聚(Coincidental Cohesion): 也称为“巧合内聚”,是模块内聚性的一种最低形式。在偶然内聚的模块中,各个元素之间几乎没有明显的逻辑关系或功能关联,它们只是被偶然地组合在一起。这种模块通常包含一些看似无关的功能或代码片段,仅仅是因为它们在某些情况下需要一起执行。

2025-04-03 20:40:10 712

原创 软件设计中七个内聚等级的说明

耦合(Coupling)和内聚(Cohesion)是衡量模块设计质量的两个非常重要的概念。耦合描述了一个模块与其他模块之间的依赖关系强度,内聚则描述了模块内部各个部分之间的关联程度。

2025-04-03 20:39:50 605

原创 职务作品的著作权归属问题

在中国,职务作品的著作权归属主要依据《著作权法》第18条及相关司法解释,具体分为以下两种情况:一般职务作品、特殊职务作品。

2025-04-02 13:15:00 246

原创 软件设计中七个耦合等级的说明

在软件设计中,耦合指的是不同模块或组件之间的依赖程度。降低耦合是软件设计中的一个重要目标,因为它有助于提高系统的可维护性、可扩展性和重用性。

2025-04-02 13:08:33 1000

原创 CMMI(能力成熟度模型集成)简介

CMMI(能力成熟度模型集成)是由美国卡内基梅隆大学软件工程研究所(SEI)开发的一套过程改进框架,旨在帮助组织提升软件开发、系统工程、服务管理等领域的质量和效率。

2025-04-01 19:46:15 725

原创 .Net中的流处理类总结 Stream/FileStream/MemoryStream/NetworkStream/StreamReader

流(Stream)是处理数据输入和输出的核心抽象。流表示一个字节序列的读取或写入操作,它是一种通用的方式来处理各种数据源和目标,例如内存、文件、网络等。.NET 提供了多种流类来满足不同的需求。

2025-04-01 19:45:45 1022

原创 国产密码算法介绍 SM2/SM3/SM4/SM9/祖冲之ZUC

国产加密算法,通常也称为国密算法或商用密码算法,是由中国国家密码管理局制定的一系列加密标准。这些算法旨在提供与国际通用的加密算法相同的功能,同时确保中国的信息化系统能够拥有自主可控的安全保障。

2025-03-31 18:53:32 818

原创 非对称加密算法详解

非对称加密算法(Asymmetric Encryption Algorithm)是密码学领域的重要分支之一,也被称为公钥加密算法。与传统的对称加密不同,非对称加密使用两种不同的密钥:公钥和私钥。公钥可以公开传播,任何人都可以用它加密数据或验证签名;而私钥必须严格保密,只有持有者可以使用它解密数据或生成签名。

2025-03-31 12:48:40 1658

原创 .Net中对称加密的实现

是目前应用最广泛的对称加密算法,密钥长度可选(128 位、192 位、256 位),安全性高,加密和解密速度快。:在 DES 的基础上进行了改进,通过多次使用 DES 算法,增加了密钥长度,提高了安全性。:密钥长度较短(56 位),在现代计算能力下,安全性较低,容易被暴力破解。:是最早被广泛应用的加密算法,算法公开,实现简单,效率较高。:由于多次使用 DES 算法,加密和解密速度相对较慢。:相对来说,算法复杂度较高,实现难度较大。

2025-03-29 22:08:03 287

原创 对称加密算法详解

对称加密算法是一种加密方式,它使用相同的密钥进行信息的加密和解密。这意味着发送方和接收方必须在通信之前共享一个密钥。这种加密方法简单且快速,适用于大量数据的加密。

2025-03-29 22:02:47 1234

原创 信息物理系统CPS简介

信息物理系统(Cyber-Physical Systems, CPS)是一个综合了计算、通信和控制能力的系统,它将物理世界与数字世界紧密结合起来。这种系统的设计目的是为了更好地管理和控制物理过程,通过信息技术的支持来提高效率、安全性和可靠性。

2025-03-29 15:03:12 294

原创 MQTT协议简介

MQTT(Message Queuing Telemetry Transport)即消息队列遥测传输协议,它是一个专门针对物联网开发的轻量级传输协议,旨在为位于不稳定的网络环境中的低算能、低带宽的边缘物联网设备提供可靠的网络服务。MQTT协议针对低带宽、低计算能力的网络设备做了特殊的优化,使得其能适应物联网数据传输场景。

2025-03-29 13:03:59 254

原创 软件测试工作的基本流程与步骤

在信息系统研发过程中,确保系统的质量、稳定性和满足用户需求是项目成功的关键,为了达到这一目标,对系统进行全面的测试是必不可少的步骤。那么,如何系统地开展这些测试工作?需要执行哪些类型的测试来保证每个功能模块都能正常运作,并且整个系统能够无缝集成?

2025-03-29 12:21:32 470

原创 怎么对asp.web api进行单元测试?

在 ASP.NET Web API 中进行单元测试是一种确保代码质量和功能正确性的重要实践。单元测试的重点是针对 API 控制器中的逻辑进行测试,而不依赖于外部依赖(如数据库、文件系统或网络请求)。

2025-03-28 19:58:58 499

原创 单元测试之Arrange-Act-Assert(简称AAA)

Arrange-Act-Assert(简称AAA)是一种编写单元测试的标准模式,具有清晰的结构和明确的步骤,有助于提高测试的可读性、可维护性和可扩展性。

2025-03-28 19:40:26 425

原创 几种常见的.NET单元测试模拟框架介绍

单元测试模拟框架是一种在软件开发中用于辅助单元测试的工具。它的主要作用是创建模拟对象来替代真实对象进行测试。在单元测试中,被测试的代码可能依赖于其他组件或服务,如数据库访问、网络调用、文件系统操作等。

2025-03-28 19:03:39 943

原创 Kerberos协议工作原理介绍

Kerberos是一种计算机网络安全协议,主要用于在非安全网络中提供强认证服务。它由麻省理工学院开发,旨在为客户端/服务器应用程序提供强大的认证机制,确保用户和服务之间的通信是安全的

2025-03-21 18:38:12 897

原创 KDC(密钥分配中心)知识总结

密钥分配中心(Key Distribution Center, KDC)是一种在网络通信中用于安全地分发加密密钥的系统或服务。

2025-03-21 12:39:00 898

原创 数据库设计的基本步骤

按照规范设计的方法,考虑到数据库及其应用系统开发的全过程,将数据库设计分为六个阶段。

2025-03-20 18:09:50 493

原创 两阶段提交协议

两阶段提交协议(Two-Phase Commit,2PC)是一种用于在分布式系统中协调事务提交的协议,确保在多个参与者(如多个数据库节点)之间要么所有参与者都提交事务,要么都回滚事务,以保证数据的一致性。

2025-03-20 12:59:06 567

原创 网络防火墙(Firewall)、Web防火墙(WAF)、入侵检测系统(IDS)、入侵防御系统(IPS)对比总结

本文总结Firewall、WAF、IDS、IPS四种网络设备的简介和他们之间的区别。

2025-03-19 15:02:19 875

原创 数据库的共享锁与排他锁

共享锁和排他锁是数据库管理系统中用于控制并发访问的两种主要类型的锁机制,它们确保了数据的一致性和完整性,同时尽可能提高系统的并发性能。

2025-03-18 13:45:22 223

原创 数据库的两阶段锁协议

两阶段锁协议是数据库管理系统中用于事务处理的一种锁定协议,旨在保证事务的串行化,从而避免并发事务之间的冲突,如丢失更新、脏读、不可重复读和幻读等问题。如果请求的锁不可用(例如,其他事务持有相同资源的锁),则请求的事务可能会被阻塞,直到锁可用。事务回滚:如果事务需要回滚(例如,由于冲突或错误),在回滚操作完成后,事务也会进入缩减阶段并释放所有的锁。事务提交:当事务的所有操作都已完成,并且决定提交时,事务进入缩减阶段,并开始释放所有的锁。在缩减阶段,事务不再请求新的锁,只能释放已经持有的锁。

2025-03-18 13:15:00 296

原创 数字证书相关问题整理总结

数字证书(Digital Certificate),也称为公钥证书(Public Key Certificate),是一种用于验证公钥所有者身份的电子文档。它在互联网和各种网络通信中扮演着至关重要的角色,特别是在确保数据传输的安全性和完整性方面。

2025-03-17 18:14:05 1998

原创 为什么一些加密算法的加密结果通常需要使用Base64进行编码后展示或使用16进制进行展示?

加密算法的结果通常表现为二进制数据,而不是人类可读的文本。当你尝试直接打印这些二进制数据时,可能会看到“乱码”……

2025-03-17 14:42:58 241

原创 数据库事务隔离级别“串行化(Serializable)”代码演示

串行化(Serializable)(行读作xing)是事务隔离级别的最高级别,它确保事务按照顺序依次执行,避免了并发事务之间的相互干扰。在这种隔离级别下,系统会强制所有事务以一种完全串行的方式执行,即一个事务必须在另一个事务完成之后才能开始。这种方式可以彻底避免脏读、不可重复读和幻读等问题,从而保证数据的一致性和可靠性。

2025-03-17 12:40:47 687

原创 数据库事务隔离级别“可重复读(Repeatable Read)”代码演

可重复读(Repeatable Read)是一种事务隔离级别,它确保在一个事务中多次读取同一数据时,结果是一致的。这种隔离级别通过锁定机制防止其他事务在当前事务完成之前修改已读取的数据,从而避免了不可重复读问题。然而,尽管它可以保证数据的一致性,但在某些情况下,仍然存在幻读问题(后面将通过代码进行演示),并且由于需要对读取的数据进行锁定,可能会影响系统的并发性能。

2025-03-17 12:40:24 433

原创 数据库事务隔离级别“读已提交(Read Committed)”代码演示

读已提交(Read Committed)是比读未提交(Read Uncommitted)稍高一点的事务隔离级别,它确保一个事务只能读取到其他事务已经提交的数据。这种隔离级别避免了“脏读”问题,即事务不会读取到其他事务尚未提交的更改。尽管如此,读已提交隔离级别仍然存在一些数据一致性问题,比如不可重复读现象(后面将通过代码进行演示),即在同一个事务中多次读取相同的数据可能会得到不同的结果。

2025-03-17 12:40:05 851

原创 数据库事务隔离级别“读未提交(Read Uncommitted)”代码演示

读未提交(Read Uncommitted)是最低级别的事务隔离级别,它允许一个事务读取另一个事务尚未提交的数据。这种隔离级别提供了最低级别的数据一致性保障,因为事务可以读取到其他事务尚未提交的更改(即“脏数据”),这就是所谓的脏读现象(后面将通过代码进行演示)。尽管这种隔离级别在并发性能方面表现优异,但它也带来了显著的数据一致性和可靠性问题。

2025-03-17 12:39:34 451

原创 消息摘要与哈希算法

消息摘要是通过特定的哈希函数将任意长度的消息转换为固定长度的字符串(通常称为“摘要”或“哈希值”)。消息摘要的主要用途是确保数据的完整性,即验证数据在传输或存储过程中是否被篡改。常见的哈希算法包括 MD5、SHA-1、SHA-256 等。

2025-03-16 20:44:55 683

原创 Base64编码详解

Base64 是一种将二进制数据转换为 ASCII 字符串格式的编码方式。它广泛应用于需要在文本协议(如电子邮件、HTTP 请求)中传输二进制数据的场景。

2025-03-16 13:19:19 2657

原创 分享一个可以在线练习关系代数的工具

​分享一个可以在线练习关系代数的工具:https://dbis-uibk.github.io/relax/calc/local/uibk/local/0​

2025-03-15 22:36:38 362

原创 数据库的事务隔离级别

据库事务的隔离级别用于控制多个事务并发访问数据库时的相互影响程度,不同的隔离级别在性能和数据一致性上有不同的权衡。

2025-03-15 21:37:01 363

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除