自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客神殿

坚持,自由,信仰

  • 博客(4665)
  • 资源 (28)
  • 收藏
  • 关注

转载 .NET 合并程序集(将 dll 合并到 exe 中)

NET Framework项目默认为false,.NET Core项目默认为true。将嵌入的文件复制到磁盘,然后再将它们加载到内存中。注意:如果其它静态的资源文件,可以在VS中文件属性"生成操作" 选择 “Resource”,然后在读取资源文件。默认情况下,嵌入式程序集是压缩的,加载时则不压缩。可以自动加载本地库。,以及在什么环境中加载它们,应该将它们的名称包含在一个或两个列表中。要从默认操作 “嵌入所有复制本地引用” 中排除的程序集名称列表。配置是否还嵌入引用程序集的.pdb文件,默认为true。

2023-12-17 02:29:32 6014

转载 .NET源码分析之List

来实现的,比如当前集合5个元素,要移除第3个元素,实际结果是将数组的第4个元素到最后一个元素拷贝然后粘贴替换到数组的从第3个元素开始,这样就把第三个元素给替换掉了,然后再把数组的最后一个元素给置为默认。为4,当给集合添加第5个元素时,底层实现数组则是创建一个新数组,新数组的长度是当前数组的2倍,然后将当前数组的数据拷贝到新数组中,最后将第5个新元素加入数组中;2、带集合大小的构造,如果传入的是有效的集合大小,则创建对应大小的数组。的底层是数组,数组在声明的时候是需要有一个固定长度的,指的就是数组的长度,

2023-12-14 14:38:16 5970

转载 【WinForm】使用Costura.Fody打包编译成可独立运行的桌面程序

如果没有看到FodyWeavers.xml文件,那就自己手动添加。到此结束,一个可执行的桌面程序绿色版本就这样弄出来了,无需安装,直接运行,方便分享程序给他人使用。

2023-12-14 14:30:52 6002

原创 Stellar Consensus Protocol(SCP)的共识算法

Stellar Consensus Protocol(SCP)是一种用于Stellar网络的共识算法,旨在确保网络中所有节点对账本的一致性。每个节点的Quorum Slice是一个包含其他节点的集合,如果Quorum Slice中的节点同意一个交易,那么该交易就被认为是通过了。Stellar网络中的节点被组织成联邦,每个联邦都有一个称为Quorum Slice(法定切片)的节点子集。节点的联邦关系形成了一个图,而每个节点都有权选择与之关联的其他节点,从而形成了联邦结构。

2023-12-03 23:11:44 754

原创 默克尔树(Merkle Tree)

默克尔树的特点是,它的每个非叶子节点都是其子节点的哈希值的哈希。最底层的叶子节点包含原始数据块的哈希值,而每个父节点的哈希值由其子节点的哈希值计算而来。默克尔树(Merkle Tree)是一种哈希树的变体,它是一种有向无环图(DAG),通常用于数据完整性验证。它以密码学家拉尔夫·默克尔的名字命名,是由一系列哈希值构成的树状结构。每个区块头中都包含了一个 Merkle 树的根哈希,通过验证这个根哈希,可以确保区块中的交易数据没有被篡改。默克尔树有助于提高数据验证的效率,因为只需比较根哈希值而不是整个数据块。

2023-12-03 22:31:27 691

转载 .net core源码分析 – List<T>

List初始大小是4,自动扩容是以当前数组元素的两倍或目标list的元素个数来扩容(哪个大选哪个)。如果有比较确定的大小可以考虑提前设置,因为每次自动扩容需要重新分配数组和copy元素,性能损耗不小。List通过version来跟踪集合是否发生改变,如果在foreach遍历时发生改变则抛出异常。List并非线程安全,任何使用的时候都要考虑当前环境是否可能有多线程存在,是否需要用锁来保证集合线程安全。

2023-11-30 16:51:15 992

原创 Diffie-Hellman协议

Diffie-Hellman 协议是一种密钥交换协议,允许两个远程方在公开信道上协商一个共享的秘密密钥,而不需要事先共享任何秘密信息。它的基本思想是基于离散对数问题,该问题在大整数的离散对数领域是难解的。每个参与方选择一个私有密钥(通常用小写字母表示,例如,a 是 Alice 的私有密钥,b 是 Bob 的私有密钥),并计算对应的公开密钥。最重要的是,即使通过窃听者截获了公开的密钥交换过程,由于离散对数问题的难解性,攻击者也难以计算出实际的共享密钥。这些参数通常是公开的,所有通信的双方都使用相同的参数。

2023-11-26 22:14:56 589

转载 .NET Core 下使用 Exceptionless 记录日志

是一套免费开源分布式系统日志收集框架,也是我无意中发现的,支持自己部署和平台托管的方式接入使用。

2023-11-07 15:48:07 2507

转载 PC版微信扫描登陆原理

二维码扫描看起来好像很高大上,其实原理还是比较简单的。首先浏览器获取一个唯一的、临时的UUID,然后等待用户扫描,如果扫描并且确认,后台系统就会将二者绑定,然后发送也浏览器这个UUID绑定的用户信息。从而确定对应关系。注意:在超时、网络断开、或者其他设备浏览器上登陆后,,此前绑定的UUID将会失效,这样会形成更有效的安全防护。有些二维码不能扫是因为它会访问钓鱼网站,从而造成财产直接或间接流失。

2023-11-07 15:40:18 2227

转载 CLRCore(CLR核心机制)

C#和CIL的关系:C#和N#都是CIL实现,但是彼此不能互通:C#和N#公开不分满足规范,我们才能互通CLS就是描述多语言互通的规范。

2023-11-07 15:17:03 2036

转载 Redis持久化 - RDB和AOF

持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。RDB简介RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。在默认情况下, Redis 将数据库快照保存在名字为dump.rdb的二进制文件中。在 Redis 运行时, RDB 程序将当前内存中的数据库快照保存到磁盘文件中, 在 Redis 重启动时, RDB 程序可以通过载入 RDB 文件来还原数据库的状态。

2023-11-07 00:53:48 234

转载 OpenID Connect 和 OAuth2.0

signature:可以通过JWS签名,保证数据完整,没有被篡改,返回响应中的header包含了alg(加密方式,如HS256)利用服务端的密钥secret通过哈希256(SHA256)HMACSHA256(base64UrlEncode(header)+ “.” + base64UrlEncode(payload),secret(公钥)) 加密取最左128bit,通过jwt网站了解 https://jwt.io/用户的 SSO 体验是通过将 ID 令牌从授权服务器传递到客户端来实现的。

2023-11-04 18:17:40 417

转载 MediatR使用入门

MediatR 是一个低野心的库,试图解决一个简单的问题——将进程内消息发送与处理消息解耦。

2023-11-04 05:32:25 485

原创 SQL Server查询获取不同性能指标的信息

这个查询将返回消耗CPU时间最多的查询的CPU使用量,以小时为单位,并将其命名为 “注释提供了关于查询目的和排序方式的说明。

2023-10-25 19:38:29 1065

原创 基于net6 的C# 实现AQS

在 .NET 6 中实现一个简单的AQS(AbstractQueuedSynchronizer)是可能的,尽管它可能会涉及一些底层的线程同步机制。方法,用于获取和释放锁。请注意,这是一个非常简化的示例,实际的AQS更为复杂,并包括更多的功能和线程安全控制。这些工具能更安全和高效地处理线程同步。但上面的示例可以帮助你理解AQS的一些基本概念。在真实的应用中,更复杂的同步器通常需要使用.NET提供的更高级的同步工具,如。这个示例实现了一个非常基本的独占锁,MyAQS 类有。

2023-10-25 19:37:44 861

原创 UseEndpoints和MapControllerRoute关系

文件的不同方法中使用它们来完成路由的配置工作,从而为应用程序的不同部分分别配置路由。都是用于配置路由的方法,但它们在应用程序中的不同位置和用途上有一些区别。用于配置应用程序的终结点,其中包括控制器路由作为其中的一部分。用于具体配置MVC框架的控制器路由规则。在ASP.NET Core中,

2023-10-05 23:52:07 1556

原创 MassTransit是什么?

MassTransit是一个用于.NET的开源分布式应用程序框架,主要用于构建基于消息、异步和事件驱动模式的系统。它旨在简化依赖于消息模式的应用程序的开发,包括发布-订阅、请求-响应和消息路由等模式。MassTransit提供了工具,用于实现跨多个消息交互跨足的长时间运行过程,称为saga,从而使您可以建模复杂的业务流程。MassTransit是.NET生态系统中构建分布式系统的热门选择之一,因为它抽象了消息基础设施的复杂性,并提供了高级别的、开发人员友好的API。

2023-10-01 22:35:36 885

原创 gRPC实现四种不同类型流的异同和特点

gRPC 支持四种不同类型的流:单一请求-单一响应、单一请求-流响应、流请求-单一响应和流请求-流响应。

2023-10-01 20:59:31 754

原创 Rabbitmq卡顿有哪些原因?

要解决 RabbitMQ 卡顿问题,您需要仔细检查系统的配置、监控性能指标,识别问题的根本原因,然后采取相应的措施来优化和调整系统,以确保稳定和高性能的消息传递。

2023-10-01 20:56:58 534

原创 NGINX配置Minio集群

现在,NGINX将充当Minio集群的反向代理,将传入的请求分发到Minio服务器上,实现了负载均衡和HTTPS支持。确保您的DNS已正确配置以将域名解析到NGINX服务器的IP地址。这允许您将所有传入的HTTP请求转发到Minio集群中的一个或多个Minio服务器上,并实现负载均衡。请注意,上述配置假定您已经获得了SSL证书并将其配置到NGINX中。服务器IP地址和端口号,您可以根据需要添加更多的服务器。替换为您的SSL证书和私钥文件的实际路径。指令,NGINX将请求转发到。,并将所有传入的请求代理到。

2023-10-01 20:55:33 816

原创 Hash值比较大小原理

需要注意的是,哈希值是一种不可逆的压缩形式,因此在比较大小时,通常只关注它们是否相等或不相等,而不是在数值上的大小。哈希函数的目标是尽可能均匀地将不同的输入映射到不同的哈希值,以提供一种高效的数据查找和比较方法。如果需要按大小排序或比较哈希值,通常更合适的方法是使用原始数据进行比较,而不是它们的哈希值。哈希值的大小比较是通过比较两个哈希值的字节或比特来实现的。哈希值的大小比较通常用于数据结构如哈希表、集合、映射等的操作,以确定元素是否已存在或确定元素在数据结构中的位置。

2023-10-01 20:47:48 388

原创 哈夫曼编码

哈夫曼树(Huffman Tree)是一种用于数据压缩的树形数据结构,通常用于构建哈夫曼编码(Huffman Coding)。哈夫曼编码是一种变长编码方式,用较短的编码表示频率较高的字符,而用较长的编码表示频率较低的字符,以达到数据压缩的目的。哈夫曼编码的优点是能够根据字符的频率分配不同长度的编码,以达到更高的压缩效率。频率高的字符用短编码表示,频率低的字符用长编码表示,这样可以减小编码后的文本长度。哈夫曼编码被广泛用于数据压缩领域,例如在文件压缩(如ZIP文件)和图像压缩(如JPEG图片)中使用。

2023-10-01 15:38:03 54

原创 PEM (Privacy Enhanced Mail) 和 PFX (Personal Information Exchange)异同

PEM (Privacy Enhanced Mail) 和 PFX (Personal Information Exchange) 都是用于存储和传输安全相关信息的格式,通常用于数字证书和私钥的管理。它们之间的主要区别在于其格式和用途。因此,PEM 和 PFX 的主要区别在于它们的格式和用途。PEM 是一种基于文本的编码格式,通常用于存储和传输X.509数字证书和相关的密钥,而PFX 是一种二进制格式,用于打包证书、私钥和密码以便于导入到密钥库中。选择使用哪种格式取决于您的具体需求和应用场景。

2023-09-24 19:47:14 506

原创 OpenSSL 有哪些功能

OpenSSL 是一个开源的加密库,它提供了多种加密算法和安全功能,用于保护数据通信和信息存储。需要注意的是,OpenSSL 是一个功能强大且广泛使用的工具,但也需要小心使用,以确保正确配置和更新,以便保持安全性。随着时间的推移,一些加密算法和协议可能会出现弱点,因此及时更新 OpenSSL 版本以获得最新的安全修复很重要。

2023-09-24 19:35:26 382

原创 X509证书的作用有哪些?

X.509证书是一种用于公钥基础设施(PKI)的标准化数字证书格式,它在网络通信和信息安全领域起着关键作用。总之,X.509证书在保护信息安全、建立信任和实现安全通信方面具有广泛的应用,它们是PKI体系结构的核心组成部分。证书的有效性和安全性取决于证书颁发机构的可信度和实施细节。

2023-09-24 19:23:51 337

原创 ECDSA 和ECC 什么关系

ECDSA(Elliptic Curve Digital Signature Algorithm)是一种使用椭圆曲线密码学(ECC,Elliptic Curve Cryptography)作为基础数学结构的数字签名算法。因此,ECDSA和ECC之间存在密切的关系,但它们是不同的概念。因此,ECDSA是一种构建在ECC之上的具体应用,它使用椭圆曲线来实现数字签名。ECC本身是更广泛的密码学领域中的一种技术,可以用于多种目的,包括加密、数字签名和密钥交换等。ECDSA是其中之一,专门用于数字签名。

2023-09-24 18:29:56 465

原创 Nacos应用场景

Nacos(前身为阿里巴巴的Nacos Config和Nacos Discovery)是一个开源的分布式服务发现和配置管理系统,它具有广泛的应用场景,特别适用于微服务架构和容器化应用。总之,Nacos是一个功能强大的工具,适用于构建和管理现代化的分布式、微服务化和容器化应用程序。它为应用程序的发现、配置和管理提供了一种集中且可扩展的解决方案。

2023-09-24 15:04:51 264

原创 kafka应用场景

Apache Kafka 是一个分布式流处理平台,通常用于处理和管理大量的实时数据流。它具有高吞吐量、可伸缩性和持久性等特点,因此在各种应用场景中都有广泛的应用。这些只是 Kafka 的一些常见应用场景,实际上,Kafka 可以在许多领域中用于实现实时数据流处理和事件驱动的架构。它的灵活性和可扩展性使得它成为大规模数据处理和流处理的关键组件之一。

2023-09-24 15:03:19 377

原创 gRPC应用场景

gRPC(gRPC Remote Procedure Call)是一种高性能、跨语言的远程过程调用框架,通常用于构建分布式系统和微服务架构中的通信层。总之,gRPC是一个灵活且高性能的通信框架,适用于各种分布式系统和服务间通信的场景。它的使用不仅可以提高性能和效率,还可以减少通信协议的开发和维护成本。

2023-09-24 14:51:35 338

原创 SignalR应用场景

SignalR 是一个用于实时通信和即时通讯的开发库,它可以在多种应用场景中提供实时性能和功能。总之,SignalR 可以在需要实时性和双向通信的各种应用场景中发挥作用,提供更丰富的用户体验和功能。

2023-09-20 20:23:06 162

原创 Hangfire应用场景

总之,Hangfire适用于各种需要后台任务处理的应用场景,无论是简单的定时任务还是复杂的分布式任务处理,都可以使用Hangfire来管理和执行任务。它提供了稳定的任务调度和执行功能,有助于提高应用程序的性能和可维护性。Hangfire是一个用于在.NET应用程序中处理后台任务的开源库。它提供了一种简单而强大的方式来处理定时任务、延迟任务和长时间运行的任务。

2023-09-20 20:22:06 136

原创 查询 PostgreSQL 数据库中的今天、昨天和一个月内的数据

这些查询将返回符合条件的数据行。

2023-09-20 20:21:11 1500

原创 UWP和WPF比较

UWP(Universal Windows Platform)开发流程通常包括以下步骤:发布应用程序:- 创建应用程序包,签名并上传到Microsoft Store或其他分发渠道。维护和更新:- 持续监测应用程序的性能和用户反馈,进行必要的修复和更新。请注意,具体的开发流程可能会根据你的应用程序的需求和复杂性而有所不同。确保查阅Microsoft的官方文档以获取更详细的信息和指南。

2023-09-10 12:40:39 1196

转载 C#常用容器源码分析

泛型支持多类型,但需要指定类型,不用转换类型,不用装箱/拆箱操作,效率更高,使用范围广。的更新需要加1和数组长度取模,这样做的好处是在出队后再入队的情况下节省空间,不用一直扩容。,当容量小于90%时会换个小的数组(手动调用。根据源码的接口派生关系,可得到UML图。把元素串起来,是链地址法。用一段代码验证一下猜想。,好像不会自动调用),映射的值,当冲突时通过。时容量满了会2倍扩容。

2023-09-07 22:31:22 149

转载 VUE3登录后保存token,使用LocalStroge

存在的时候,才能跳转到内容页。1.登录成功后,后端会返回一个。//判断用户名或密码是否为空。'用户名和密码不能为空'2.在路由守卫这里,判断。

2023-09-07 22:18:07 607

原创 sqlserver分库分表后如何分页查询

在SQL Server中进行分页查询时,需要考虑到数据可能被分散存储在不同的库和表中。下面提供两种分页查询的方法,分别针对水平分库和垂直分表的情况。需要注意的是,在进行垂直分表的分页查询时,需要保证每个表中的列名和数据类型一致,否则可能会出现类型不匹配的错误。水平分库是指将数据按照某个条件分散存储在多个数据库中。垂直分表是指将一个表按照列的维度拆分成多个表。将多个表中的查询结果合并到一起,并按照指定的排序字段进行排序。然后再对合并后的结果进行分页处理。在上述示例代码中,我们使用。

2023-09-07 21:56:48 450

转载 使用pinia存储token和token解析的内容

Pinia 是 Vue 的存储库,它允许您跨组件/页面共享状态。注意:可以通过vue的开发者工具dev-tools在浏览器的控制台查看 存储的内容。//watchEffect页面一刷新,方法立即被调用。// 页面刷新,vuex中存储的状态依然存在。//watchEffect一进来就触发。

2023-09-07 21:40:47 279

转载 TOTP 介绍及基于C#的简单实现

TOTP 算法是基于 HOTP 的,对于 HOTP 算法来说,HOTP 的输入一致时始终输出相同的值,而 TOTP 是基于时间来算出来的一个值,可以在一段时间内(官方推荐是30s)保证这个值是固定以实现,在一段时间内始终是同一个值,以此来达到基于时间的一次性密码生成算法,使用下来整体还不错,有个小问题,如果需要实现一个密码只能验证一次需要自己在业务逻辑里实现,只能自己实现,TOTP 只负责生成和验证。TOTP 是基于时间的一次性密码生成算法,它由。和基于事件的一次性密码生成算法不同。

2023-09-04 21:32:43 318

原创 Elsa Workflow 一些概念

这些概念构成了.NET Core Elsa Workflow的核心,理解它们是使用该框架的关键。通过结合这些概念,你可以构建复杂的工作流应用程序来自动化业务流程和任务。.NET Core Elsa Workflow包含许多重要的概念,这些概念是理解和使用工作流引擎的关键。

2023-09-03 16:45:13 527

原创 vue3 响应式原理

Vue 3 的响应式原理基于 JavaScript 的Proxy对象和一种称为“Reactivity API”的新特性。这种响应式系统使得你能够以声明式的方式处理数据变化,而不需要显式地手动更新视图。当你修改响应式对象的属性时,整个应用的视图都会自动更新,确保 UI 与数据的同步。这种方式使得开发更加方便且更易于维护。

2023-09-03 16:42:44 163

Quill.js TextEditor.zip

Quill.js 实现响应式的文本编辑器,可以直接生成 markdown 和html 格式的代码,JavaScript+css+html

2020-11-14

RecogCaptcha.zip

使用AForge.NET框架和Tesseract识别验证码,图像识别,图形图像处理框架,一个有用的例子。

2020-11-08

JsonToExel.zip

.net实现获取天天基金的基金经理数据的JSON转换到Excel,导出数据用于数据分析,排序,比较。

2020-09-22

FundFirst.zip

本工具用于辅助基金定投,即一键跟踪你所感兴趣的基金,并非帮你挑选基金。 从天天基金网上实时爬取所选基金的规模,夏普比率,以及历史排位,基金经理等数据

2020-09-21

fund_sharp.zip

这是一个基金夏普比率查询工具 输出: 最新规模(scale), 最大回撤(withdrawal), 夏普比率(sharp), 波动率(volatility), 基金代码(code)

2020-09-17

晨星spiders.zip

爬取晨星网的基金数据,遍历基金列表,获取每个基金详细的数据,目前只爬取了页面一部分数据,其他可以根据xpath提取

2020-09-16

webplayer.zip

Artplayer.js使用示例,ArtPlayer.js 是一个现代全功能的 HTML5 视频播放器 控制器 - 画质切换, 字幕切换, 播放速度, 长宽比, 视频翻转, 全屏, 画中画, 截图, 缩略图, 自适应尺寸, 高亮 和 热键...

2020-08-10

FileUpload.zip

NET MVC使用的 webuploader 文件上传,图片上传,大文件分片上传 示例,参考,笔记。

2020-02-11

Readmore效果.zip

Jquery实现的阅读全文(readmore.js)效果,简单高效。效果感觉还可以,有需要的可以下载。

2020-01-20

net实现秒杀活动

秒杀活动,模拟,架构:mvc+webapi+console+redis,netcore开发

2019-09-30

大视频分片上传,截取

视频格式必须为: mp4或mov。视频时长须在15秒以内,超出时长系统将自动截取前15秒内容。

2019-09-27

Repeater示例.rar

Repeater示例 说明, 虽然webform基本已经淘汰,但是总有一些老系统还在用。

2019-09-25

bootstrap页面.rar

Bootstrap 根据页面大小控制元素隐藏与显示。

2019-09-24

商品轮播.rar

jquery和carousel.min.js实现京东类似的轮播,前端效果。

2019-09-06

NET使用editormd

NET使用editormd.js 实现md编辑器效果,emoji表情无显示问题。

2019-05-18

基于NPOI的强类型Excel导入导出组件

C#实现导入导出Excel功能,基于NPOI的强类型Excel导入导出组件

2018-11-06

bootstrap一个小案例

包括导航条,carousel,利用栅栏的三栏布局,导航的标签页以及模态框等

2018-08-16

fastdfs-5.11安装合集

fastdfs-5.11安装合集,转自合集中各模块的github的截止2018.3.31的最新源码包

2018-04-01

Wijmo5 Flexgrid演示代码合集

Wijmo5 Flexgrid演示代码合集,打包发布 转载自官方网站.

2018-04-01

WijMo.js 5.2的FlexGrid介绍[Knockout]

演示如何使用Knockout,我们快速灵活的数据绑定网格控制FlexGrid执行常见任务。

2018-03-07

Redis管理web项目所需dll

Redis管理web项目所需dll

2017-06-15

超简单BeautifulSoup爬虫

超简单BeautifulSoup版博客爬虫

2017-05-03

Lucene.Net的DLL

快速搜索

2016-09-21

DapperDAL程序集

DapperDAL程序集下载

2016-09-13

Linq2Dapper程序集

Linq2Dapper 辅助类,直接项目里dll引用

2016-09-08

JSON数据库存储

JSON数据库存储

2016-06-23

Asp_.net常用问题解决

Asp_.net常用问题解决,应该还行吧!

2014-02-20

C# 3.0 特点

C#3.0特点,很好很强大,特别实用,开发必备参考手册。

2012-08-25

空空如也

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

TA关注的人

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