自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客神殿

坚持,自由,信仰

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

转载 js和jquery对象数组去重

JavaScript中,可以通过使用Set来进行数组去重,而jQuery中也提供了unique方法来实现。

2023-08-10 20:33:10 554

转载 C# 执行 Cmd 命令

类,您可以运行 CMD 命令并在应用程序中捕获其输出。当您需要自动执行需要命令行工具或实用程序的任务时,此方法非常有用。方法来等待命令完成。命令的输出被打印到控制台。以在新控制台窗口中运行该命令。属性以捕获命令的输出。以防止显示控制台窗口。通过使用 C# 中的。

2023-08-10 20:20:39 3646

转载 Entity Framework应用:使用LINQ操作

LINQ,全称是(集成语言查询),是.NET语言中查询数据的一种技术。是一种机制,它促进了使用LINQ对概念模型的查询。因为LINQ是声明式语言,它让我们聚焦于我们需要什么数据而不是应该如何检索数据。在实体数据模型之上提供了一个很好的抽象,所以我们可以使用LINQ来指定检索什么数据,然后会处理访问数据库事宜,并为我们取到必要的数据。

2023-08-09 22:11:29 423

转载 Redis(2)——跳跃表

跳跃表(skiplist)是一种随机化的数据结构,由 William Pugh 在论文《Skip lists: a probabilistic alternative to balanced trees》中提出,是一种可以于平衡树媲美的层次化链表结构——查找、删除、添加等操作都可以在对数期望时间下完成,以下是一个典型的跳跃表例子:我们在上一篇中提到了 Redis 的五种基本结构中,有一个叫做有序列表 zset的数据结构,它类似于 Java 中的SortedSet和HashMap的结合体,一方面它是一个。

2023-08-09 22:06:51 332

转载 从0开始的 TypeScript之十四:内置工具类型

在之前的《从0开始的TypeScriptの十三》中,已经对typescript的工具类型中的关键字。当然上面的这些例子可能会觉得实用性不大,那么将数组类型扁平化总应该算有点实用性吧。匹配的属性拆除来变成可选,然后不匹配的属性维持不变,最后将可选和不可选通过。内置类型比较熟悉的情况下,最好的方式就是多多去使用。将当前数组中的元素进行判断,如果不是数组则直接返回,否则元素重新进入。虽然我们自己也可以写,但是如果直接使用现有的内置工具类型。这些有所了解了,那么接下来为了使用更加方便,可以对。

2023-08-09 19:47:14 159

转载 Entity Framework Core 关联删除

我们先定义两个实体分别表示订单和订单明细;其中Order与的关系是一对多,在实体中OrderID表示外键,依赖于Order实体中的主键OrderID。set;set;set;set;set;public int?set;set;set;如果关联实体未被跟踪,主实体的状态标记为删除,执行SaveChage时,在删除主表的数据的同时,通过数据库的行为删除关联表的数据行;如果关联实体已经被跟踪,将主实体的状态标记为删除时,关联实体的状态也会标记为删除,执行SaveChange。

2023-08-09 17:29:54 328

转载 TypeScript中内置的泛型

TypeScript提供了一些比较实用的泛型类型,但是我们常常会忽略它们。本节我们将一起看看这些泛型。

2023-08-09 16:30:24 243

原创 C#实现Diff算法

Diff算法是一种比较两个文本文件差异的算法,主要分为两个步骤:生成编辑脚本和应用编辑脚本。以上代码是比较两个字符串的差异,并将结果存储在列表中,以便进一步处理。其中,Diff方法接收两个字符串参数,返回一个字符串列表,表示两个字符串之间的差异。列表中每个字符串都以符号或空格开头,分别表示添加删除和未修改的字符。

2023-08-08 23:31:16 447

转载 使用Docker-Compose快速集群部署.NET6

Compose项目是Docker官方的开源项目。负责实现对Docker容器集群的快速编排,原理是它将你项目用到的所有容器按照你指定的启动顺序设置成一个文件,根据文件中的命令一次就可以完成部署。与Dockerfile不同的是,Dockerfile模版文件是定义一个单独运行的容器,而Compose是多个容器相互配合完成某一个任务的情况。比如要实现一个Web项目集群部署,另外里面除了Web容器本身之外还有数据库、负载均衡容器等等,那么就需要Compose进行一键部署。

2023-08-08 23:20:08 578

转载 .NET Core(C#) Emit的使用

反射允许我们在运行时获取对象的相关信息,创建对象的实例,执行方法。Emit是作为反射的一个比较高级的功能。使用Emit,可以从零开始动态的创建程序集及类。提供程序的灵活性。本文主要介绍.NET Core(C#) 中Emit的使用,以及相关的示例代码。

2023-08-08 19:38:00 455

转载 Typescript类型全解

一系列值及可以对齐执行的操作typescript类型层次结构。

2023-08-08 18:22:30 199

转载 System.Data.DbType与各类数据库的数据类型的映射关系

【代码】System.Data.DbType与各类数据库的数据类型的映射关系。

2023-08-08 17:41:37 434

转载 ASP.NET Core 中的应用启动

启动类用于配置服务和应用程序的请求管道。

2023-08-08 16:29:47 417

转载 C# 使用Emit深克隆

第一步是命名,因为需要把一个类的所有属性复制到另一个类,需要调用方法,而方法需要名字,所以第一步就是命名。需要获得类型的所有属性,虽然这里用了反射,但是只是用一次,因为这里用反射获得方法是在写IL代码,写完可以很多次使用,可能第一次的速度不快,但是之后的速度和自己写代码编译的速度是差不多,所以建议使用这个方法。这时无法使用之外,对于静态属性,使用上面代码也是会出错,因为静态的属性的访问没有权限,所以请看修改后的。方法,这个方法的速度很快,使用的时候需要知道 IL的,如果不知道,没关系,我接下来会仔细说。

2023-08-07 15:33:07 240

转载 使用Docker运行SQL Server

通过以上演示我们基本了解如何通过git跟docker配合在Ubuntu服务器上不安装.Net Core SDK来发布.Net Core 程序到容器中运行,并且通过shell脚本的方式再次简化发布。但是尽管这样每次发布都需要ssh到服务器上然后运行脚本,特别是开发环境可能经常需要发布,还是觉得麻烦。有没有什么办法让我们push代码后服务器自动就开始部署最新的代码的到容器中运行了呢?

2023-08-07 15:17:39 972

转载 源码上看 .NET 中 StringBuilder 拼接字符串的实现

总的来说,采用定长的字符数组来保存不定长的字符串,不可能完全避免所添加的数据超出剩余空间这样的情况,重新开辟新空间并复制原始数据过于耗时。采用链表的形式取消了数据的复制操作,提高了字符串连接的效率。对于来说,大部分的操作都在尾部添加,采用逆向链表是一个不错的形式。当然这个类本身有很多复杂的实现,本篇只是介绍了Append方法是如何进行字符串拼接的。

2023-08-07 14:11:39 795

转载 .Net Core基于Emit动态代理从零实现RPC 初级实现

从完整性上来讲,此项目已经非常完整了。可以根据这项目开发基于自己的RPC项目了。从 DefaultInvocationHandler 来进行实现。

2023-08-07 14:03:17 331

转载 vue中v-model和v-model:value有什么区别

指令用于在表单元素上创建双向数据绑定。它会根据表单元素的类型自动选择正确的方式来更新数据。例如,对于文本框,它会监听。在某些情况下,我们可能需要使用不同的属性名称来更新数据。指令的简写语法,即加上一个修饰符,例如。事件并将输入值赋给数据变量。是专门用于绑定复选框的指令。在功能上是一样的,只是。

2023-08-04 19:22:03 5437 1

转载 Redis 的底层数据结构(跳跃表)

我们都知道单链表有一个致命的弱点,查找任一节点都至少O(n)的时间复杂度,它需要遍历一遍整个链表,那么有没有办法提升链表的搜索效率?跳跃表(SkipList)这种数据结构使用空间换时间的策略,通过给链表建立多层索引来加快搜索效率,我们先介绍跳跃表的基本理论,再来看看redis中的实现情况。

2023-08-04 15:03:23 268

转载 Vue3 Keepalive原理

生命周期钩子函数会被调用。另外,缓存的组件会被共享同一个实例,所以它们之间的状态是共享的。组件是用来缓存已经渲染过的组件,以便在它们再次被需要时可以快速地重新渲染。需要注意的是,当一个被缓存的组件被激活时,它的。生命周期钩子函数会被调用;

2023-08-03 10:18:22 393

转载 ZookeeperNetEx.Recipes(C#)开源包分布式锁源码走读及使用

关于C#版本 的内容太少了,想要了解怎么使用就需要去了解源码。以下按照我的学习思路分享:我看的java版本的,不过实现原理和过程基本都是一样的。通过看源码知道使用它时大致需要做什么。https://github.com/apache/zookeeper/tree/master/zookeeper-recipes/zookeeper-recipes-lockTest是用分布式锁实现选举的例子。大致就是这5个类,先简单介绍以下:从上面的简单分析,大致尝试一下使用:主要就是获得锁时执行的内容,和释放锁时的事情

2023-08-02 17:05:23 232

转载 Asp.net Core使用MediatR

扩展按一定的顺序注册程序集中接口继承,再根据反射 相关Wrapper解析接口,嵌套或遍历执行解析 之前注册的和,而这两者的构造函数均解析了一组和,利用上面的累加器嵌套和执行的位置决定pre会在前执行,而post则在其之后执行,而非泛型会在泛型之前,这则由扩展注册的顺序()决定。Send根据type构造RequestHandlerWrapperImplRequestHandlerWrapperImpl.Handle 解析 IPipelineBehavior。

2023-08-01 21:31:29 438

转载 浏览器内核和JavaScript单线程

则可能出现UI操作的冲突;首先一点就是JS线程和GUI渲染线程是冲突的,互斥的,在文档加载过程中遇到JS文件,或者JS代码,浏览器就会挂起页面渲染线程,加载JS文件,并解析JS代码,解析完成之后才可以恢复渲染。首先JS确实是单线程语言,浏览器只分配给JS一个主线程,用来执行任务(函数),JS有一个任务队列,存放需要执行的任务,JS主线程从里面按顺序拿出任务来执行。这是因为虽然JS是单线程的,但是浏览器不是单线程的在JS主线程执行的时候,浏览器还会有其他线程在执行,比如鼠标事件的监听线程,网络请求线程。

2023-08-01 01:38:45 149

转载 .NET Core 下使用 ElasticSearch

新增可以多来几次,因为默认是没有数据的,多添加一点可以测试分页是否ok,这里就不再演示了。如果你有安装kibana,现在可以满怀惊喜的去查看一下刚才添加的数据。一切准备就绪,现在满怀期待的运行项目,打开swagger界面。所以接下来不用说你也知道改干嘛,实现这个仓储接口,添加。也就是一个抽象类,当我们集成此基类的时候需要重写。新建一个webapi项目,然后安装两个组件。可以看到,数据已经安安静静的躺在这里了。,简单封装一个基类用于仓储的集成使用。中添加服务,不然无法使用依赖注入。现在去写接口,添加一个。

2023-07-29 12:42:49 607

转载 Net6 对接 Skywalking

/获取全局的skywalking的TracId var TraceId = _segContext . Context . TraceId;TraceId//获取全局的skywalking的TracId var TraceId = _segContext . Context . TraceId;DateTimeNow//获取全局的skywalking的TracId var TraceId = _segContext . Context . TraceId;

2023-07-27 14:48:37 424

原创 怎么编译运行 typescript

如果未安装 TypeScript,请按照官方文档的说明进行安装。在 VS Code 中打开 TypeScript 项目的根文件夹。tsc 文件名.ts将 “文件名” 替换为您要编译的 TypeScript 文件的实际文件名。编译成功后,将生成与 TypeScript 文件相对应的 JavaScript 文件。将 “文件名” 替换为您要运行的 JavaScript 文件的实际文件名。

2023-07-27 13:43:56 612

转载 Kubernetes Deployment 技巧

使用 JSON 合并 patch,如果你想更新列表,你必须指定整个新列表。新的列表完全取代现有的列表。此时,每个 Pod 都有一个运行 nginx 镜像的容器。中指定的容器列表只有一个容器。输出显示您的一个容器列表替换了现有的容器列表。输出显示正在运行的 Pod 与以前运行的 Pod 有不同的名称。在某些情况下,列表是替换的,而不是合并的。中的列表与现有列表合并。把运行的 Pod 的名字记下来。在前面的练习中,我们做了一个策略性的合并。,并创建了两个 符合更新的部署规范的新。列表被替换,而不是合并。

2023-07-27 13:38:11 220

转载 【EFCore】配置迁移Migration

在EF中,有几种开发方式DBFristCodeFirstModelFirst但在EFCore中,一般用CodeFirstEF中当我们要修改数据表结构时,我们要自己去数据库更改表结构,而如果生成sql的语句是直接删除全部表,再生成全部表,这必定会造成数据的丢失所以才会有EFCore的迁移功能的诞生EFCore的迁移功能可以自动生成升级脚本,只要修改模型,再创建迁移更新数据库即可。

2023-07-24 23:58:28 1433

原创 C#中Emit实现ORM原理

首先,需要定义一个数据模型,这里使用一个简单的Studentget;set;get;set;get;set;} }然后,需要定义一个数据库表结构,用于将数据模型映射到数据库中。

2023-07-24 22:40:05 574

原创 SqlServer标量子查询示例

总之,标量子查询和JOIN都是SQL中非常有用的工具,具体使用哪种方式取决于具体的查询需求和数据结构。在优化查询时,可以尝试不同的方法,并通过性能测试和分析执行计划来选择最佳的查询结构。可能会更高效,但在其他情况下,保留标量子查询可能更清晰或更方便。,但并非所有情况下都适合转换。标量子查询可以在某些情况下转换为。

2023-07-23 21:12:52 356

原创 SqlServer窗口函数使用示例

SQL Server 提供了许多窗口函数,用于在查询结果集的子集上执行计算。

2023-07-23 21:11:42 653

原创 DDD 领域服务和应用服务比较

在领域驱动设计(DDD)中,领域服务和应用服务是两个不同的概念。它们都是用于处理业务逻辑的组件,但它们在职责和使用场景上有所不同。

2023-07-22 02:01:05 978

转载 .NET Core + K8S 玩转容器编排

本文从使用docker创建image,到使用k8s创建第一个pod,到暴露第一个Service,再到使用ReplicaSet进行容器伸缩,基本串通了k8s的核心基础概念,从而对k8s有了基础的认知,希望对你的K8S之路有所帮助。由于篇幅有限,笔者也是初玩,k8s的很多功能并未一一罗列,那就留着下次分享吧。

2023-07-12 00:11:07 553

原创 一些常见的Dockerfile指令以及它们的解释说明

指令,您可以根据具体需求和项目要求进行进一步的调整和添加。这将复制当前目录中的所有文件和目录到容器内的工作目录。的编写非常灵活,可以根据您的项目结构和需求进行定制化。的.NET 6.0 SDK镜像作为基础镜像。这将指定容器中应用程序的运行用户为。这将作为容器启动时要执行的命令。的环境变量,并将其值设为。这将设置容器内的工作目录为。这将声明容器将监听80端口。目录挂载为容器的卷。

2023-07-09 21:27:23 385

转载 k8s部署.NET 6程序相关命令行和脚本文件

Dockerfile是您的镜像仓库地址。这些命令行和脚本示例可作为在Kubernetes上部署.NET 6程序的起点。根据您的具体需求和环境,您可能需要进行进一步的调整和自定义。确保在执行任何生产环境更改之前,充分测试和验证您的配置和脚本。

2023-07-09 21:20:33 723

转载 k8s+Jenkins+GitLab-自动化部署asp.net core项目

大致的部署流程是这样的:开发人员把做好的asp.net core项目代码通过git推送到gitlab,然后Jenkins通过(前提是配置好),自动从拉取gitlab上面拉取代码下来,然后进行build,编译、生成镜像、然后把镜像推送到Harbor仓库;然后在部署的时候通过k8s拉取Harbor上面的代码进行创建容器和服务,最终发布完成,然后可以用外网访问。(ps:看着我讲这么简单,但心里有许多小鹿在心里乱撞,没关系,下面将会好好的分享给大家)当然啦,上面只是粗略的,请看下图才更加形象。

2023-07-09 19:04:25 1562 1

转载 .NET Core + Kubernetes:快速体验

其实很长一段时间都在尝试自己把玩一下Kubernetes,说实话阻力确实不少,特别是看到很多基于二进制文件的搭建介绍,简直了。所以好的指导教程确实可以给我们带来事半功倍的效果,作为入门学习我们并不需要多么强大和安全的测试环境,基本套路都是先玩起来,再深入研究。

2023-07-09 18:12:30 394

转载 Docker 安装 zookeeper,redis,rabbitmq

一定要挂载数据卷。

2023-07-03 14:34:33 1127

原创 说说线程池的工作原理

线程池是一种线程管理的技术,它通过预先创建一定数量的线程,然后在需要执行任务时从线程池中获取空闲的线程,将任务分配给它们来执行,从而避免了线程的频繁创建和销毁,提高了线程的复用性和性能。总之,线程池可以有效地管理线程的数量,避免了线程频繁创建和销毁的开销,提高了线程的利用率和执行效率。

2023-06-19 23:24:30 1120

原创 哈夫曼压缩算法原理

在构建哈夫曼树后,可以使用不同长度的二进制码来表示每个字符。由于哈夫曼树满足前缀码的条件,所以不会出现任何编码是其他编码的前缀的情况,从而避免了解码时的歧义。需要注意的是,哈夫曼压缩算法需要事先扫描整个文件并计算字符的频率,因此对于非常大的文件,其时间和空间复杂度可能会很高。哈夫曼压缩算法是一种无损压缩算法,它利用字符出现的频率构建一棵哈夫曼树,然后将每个字符用哈夫曼树中的唯一编码表示。由于哈夫曼编码将较常见的字符编码为较短的位序列,较少使用的字符编码为较长的位序列,因此可以实现高效的压缩效果。

2023-06-19 23:15:53 947

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关注的人

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