- 博客(269)
- 资源 (59)
- 收藏
- 关注

原创 软件项目交接细则
作为软件开发人员大家或多或少地都经历过项目交接,在交接时觉得一切都挺清楚明白的,然而等过段时间一切又都变了,你觉得自己对手中的项目这也不知道那也不知道,这种感觉相当不爽。为了解决这个问题,我写了这篇文章,想把常见的交接内容总结一下,如果有不妥的地方欢迎大家提意见。一、测试环境下的软件网站、App、服务使用的框架及版本号网站Web地址:端口、网站部署地址、当前部署的网站是不是最新版...
2018-04-10 17:03:53
26585
5
原创 AsyncLocal在多线程项目中的应用及实现原理
1、AsyncLocal<T>本身并不存储数据而是利用执行上下文来存储和管理数据,AsyncLocal<T>自身的作用更像是一个key,执行上下文使用这个key来存取数据,数据保存在 ExecutionContext 实例的 m_localValues 的私有字段上,字段类型定义是 IAsyncLocalMap ,且具体的实现类型随着元素数量的变化而变化。
2025-03-26 16:16:15
906
原创 Python变量作用域及global变量、LEGB原则详解与实例分析(最新进阶必备)
本文涵盖了局部变量、全局变量、类变量、实例变量、变量作用域、LEGB原则及案例,所用到的案例都是经过认真设计并层层深入,部分案例还保留了对比项,相信大家看完之后会对Python中的变量有一个清楚的认识。
2025-03-03 13:59:24
946
原创 Python装饰器的使用方法及原理的深入解析(详细案例版)
method无参装饰器、method含参装饰器、类无参装饰器、类含参装饰器、自定义函数对象的深入分析、相互之间的关系以及案例分享
2025-02-13 14:56:06
1320
原创 IIS部署.NetCore/.Net8/.Net9项目(从装环境到配置Swagger)
IIS部署.NetCore/.Net8/.Net9项目(从装环境到配置Swagger)
2025-01-06 18:08:30
1674
原创 探究IEnumerable<>的本质(少有的清晰易懂)
在项目开发过程中有个方法的参数被定义成IEnumerable类型,方法内部会遍历列表并对元素的某些属性赋值,赋值操作执行完毕后我再使用该参数进行其他后续操作时,发现通过遍历赋值的属性全都为空,由此引发了对IEnumerable变量的探索。
2024-12-18 13:26:22
903
原创 .NetCore依赖注入:类有多个构造函数时的实例化策略(包一次性理解透彻)
内涵详细案例及解析,让你一次理解透彻。ASP.NET Core 支持依赖关系注入 (Dependency Injection,DI) 软件设计模式,这是一种在类及其依赖关系之间实现控制反转(Inversion of Control,IoC)的技术。一个类只有一个构造函数时DI框架如何对它进行实例化大家都很清楚,当一个类有多个构造函数且参数的数量、类型各不相同时如何对它进行实例化就需要花点时间研究了。
2024-12-02 10:10:39
1547
原创 MongoDB数据备份与恢复(内含工具下载、数据处理以及常见问题解决方法)
对MongoDB进行导入导出、备份恢复等操作时需要用到命令工具,我们要先检查一下MongoDB安装目录下是否有这些工具,正常情况下是没有的:),因为新版本的MongoDB安装时不包含这些工具,需要我们手动下载安装。mongodump、mongorestore、createUser、dropUser、changeUserPassword
2024-11-20 15:02:19
2444
原创 flex布局详解(内含align-items和align-content的对比案例)
flex布局详解(内含align-items和align-content的对比案例)
2024-11-08 10:44:04
4270
2
原创 Python中yeild的史上最深入浅出的理解
各位读者朋友,看到这里你是否对python中yield的作用和执行过程有一个清晰的理解了呢?对这篇文章我是认真构思过的,措辞和截图都是经过思考自认为有对比性也能说明问题。
2024-07-23 10:19:17
2862
3
原创 py-automapper非常详细的详解及源码分析——看完不会用你打我
开发过.Net项目的工程师大部分都用过AutoMapper来进行对象映射,py-automapper就是本第三方包的Python版本。我不太确定Python版本是否覆盖了.Net版本的所有功能,但常用功能都实现了:对象映射、空值处理、属性特殊处理等。
2024-07-16 17:05:22
1302
2
原创 VSCode使用ipynb文件高效地进行功能测试
VSCode使用ipynb文件进行功能测试,VSCode安装Jupyter并配置环境,异常情况处理
2024-07-04 14:58:27
5707
1
原创 python操作mongodb底层封装并验证pymongo是否应该关闭连接
python操作mongodb底层封装并验证pymongo是否应该关闭连接、mongosh
2024-05-30 14:33:36
1607
3
原创 Python中PYTHONPATH与sys.path详解——看完不会用你打我
PYTHONPATH是什么、PYTHONPATH值的来源、.env和settings.json与PYTHONPATH的关系及四大场景的验证
2024-04-29 16:57:47
7981
2
原创 pandas之DataFrame使用详解——看完不会用你打我
DataFrame是Pandas中的一个表格型数据结构,包含一组有序的列,每列值的类型都可不同(整型、浮点型、布尔型、字符串等),DataFrame既有行索引也有列索引,行标签index默认是序号 0,1,2我们也可以手动对其赋值
2023-12-22 16:12:42
3466
2
原创 关于C#中Dictionary多线程情况下CPU 100%问题的详细分析
我也知道Dictionary线性不安全,但我以为它只是在多线程里面会导致脏读而已,并不知道会导致CPU 100%。那我就好奇,为什么Dictionary的ContainsKey方法,会导致CPU100%呢?这里需要结合Dictionary源码和多线程并发场景深挖一下。
2021-12-18 13:58:43
3646
2
原创 new ArrayList()创建对象提示“索引超出了数组界限”异常分析
创建对象报异常了?要是放在以前我绝对会说这是扯***,但遇到这个实际问题后我才发现是自己浅薄了。我之前认为这个错误不可能是创建对象的时候报出来的,是因为我们认为代码是下面这样的,而且是单线程运行的,哪怕多执行几遍也是单线程运行的,这样当然不会出问题呀!那什么场景下创建对象会报错呢?
2021-11-26 18:38:32
4761
2
原创 安装VueCli脚手架并创建Vue项目
一、安装脚手架1、在https://nodejs.org/zh-cn/download/下载node.js并安装2、检查node和npm的版本(node -v、npm -v),如果在cmd中可以查看node和npm的版本,但是在VSCode中无法识别node、npm,以管理员身份重启VSCode即可3、查看镜像库地址,如果不是国内地址可以设置为淘宝镜像 npm config get registry npm config set registry https://regi...
2021-02-28 15:45:02
1232
4
原创 Fiddler的安装与使用(PC端抓包+手机端抓包)——看完不会用你打我
一、Fiddler安装+PC端抓包1、下载并安装fiddler,正常傻瓜式安装,安装完毕后,不用先打开fiddlerhttps://www.telerik.com/download/fiddler2、下载并安装fiddler证书生成器http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=23、下载后双击安装4、打开fiddler,点击工具栏中的Tools–>O
2020-12-16 19:13:41
3949
4
原创 .NET Core中WebSocket的使用详解
一、WebSocket是什么初次接触WebSocket,大家都会问:我们已经有了HTTP协议,为什么还需要WebSocket?因为HTTP协议中通信只能由客户端发起,而WebSocket协议中服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,实现了浏览器与服务器全双工通信(full-duplex),WebSocket属于服务器推送技术的一种。WebSocket是HTML5的一种新协议,它使用JavaScript调用浏览器的API发出一个WebSocket请求至服
2020-11-05 12:40:55
29513
20
原创 Jenkins+Pipeline+Gitee本地自动化部署(Windows平台)——看完不会用你打我
目前DevOps和CI/CD正在大行其道,各家公司都有自己的产品,主要分为两类:微软的TFS、开源的Jenkins,目前来看Jenkins由于其开源性、丰富的组件更受欢迎。我去年就想学习一下Jenkins,不过由于各种原因直到最近才把本地自动化部署完整的弄出来,难度其实并不高,今天把文章发出来一是为了做个记录,二是希望能让新入门的朋友有一个参考。本文略过了Jenkins的安装过程,请大家安装完毕后再参考本文实现自动化部署。一、安装插件1、操作路径:Manage Jenkins/Manage Plug
2020-09-17 11:45:43
4296
3
原创 .Net中async、await的用法及其与Task的关系
本文中使用的示例代码都是在WinForm中编写调试的,我根据是否使用await处理Task、调用异步方法/非异步方法、方法的返回值为Task/Task<Student>,做了8种情况的分析和总结。public class CommonUtil{ public static async Task<Student> AsyncGetStudentInfoHasReturn(string sname) { string name = $"Handle
2020-08-07 18:21:26
2290
4
原创 Windows Server2016+SqlServer2016搭建AlwaysOn集群(三)
官方文档:AlwaysOn 可用性组概述 (SQL Server),经过前两篇文章的铺垫后,现在正式开始搭建AlwaysOn。一、以本地管理员账号安装.Net FrameworkSqlServer1、安装.Net Framework3.5二、以本地管理员账号安装SqlServer2016(部分主要步骤)1、独立安装(非故障转移集群安装)2、 服务器配置3、数据库引擎配置4、AnalysisServices配置5、记录配置文件路径、安装成功6、...
2020-05-24 23:40:27
4860
8
原创 Windows Server2016+SqlServer2016搭建AlwaysOn集群(二)
集群规划节点加域重启并用本地管理员账户重新登陆后,开始安装故障转移集群功能(WSFC),并创建故障转移集群。一、安装故障转移集群功能1、以本地管理员账户登陆后安装故障转移集群功能2、 安装成功后切换域账号重新登陆二、验证配置1、打开故障转移集群管理器2、验证配置3、开始之前4、选择集群或服务器5、选择测试选项并确认6、查看验证结果三、创建集群1、开始创建集群2、 选择服务器(我们之前进行了验证配置操作,验证...
2020-05-24 17:56:07
5640
4
原创 Windows Server2016+SqlServer2016搭建AlwaysOn集群(一)
官方文档:AlwaysOn 可用性组概述 (SQL Server)AlwaysOn是SqlServer实现高可用的解决方案之一,需要部署在Windows故障转移集群(WSFC)上,Windows集群中每个节点上开启了AlwaysOn的SQLServer应用组成了SQLServer集群。下面是Windows集群及AlwaysOn的IP规划:一、搭建流程整体概述整个搭建流程可分为三大步:搭建域控并配置域账号、 创建故障转移集群、配置数据库AlwaysOn,这三大步又可细分为十小步,详情如下。使用本
2020-05-24 17:18:59
8040
6
原创 C#线程安全类型解析及用法
在C#里面我们常用各种集合、数组、List、Dictionary、Stack等,然而这些集合都是非线程安全的,当多线程同时读写这些集合的时候,有可能造成里面的数据混乱,为此微软从Net4.0开始专门提供了另一套线程安全类型,放在System.Collections.Concurrent命名空间中,我们这里以ConcurrentDictionary<T, T>为例进行讲解。一、Try...
2020-04-20 00:07:16
3765
3
原创 VS2017使用C#编写COM组件
一、新建类库项目VS2017已经支持Core了,不过我们新建的是Framework框架的类库。二、 在项目的属性页选中"Build" -->"Register for COM interop"中文版VS是在项目的属性页选中"生成" -->"为COM互操作注册"三、在项目的属性页设置"Signing" -->"Choose a strong name key fi...
2019-11-13 20:31:09
5478
7
原创 UI自动化关闭远程桌面连接,鼠标键盘失效的解决方案
一、初识鼠标键盘失效问题当用户在一段时间内没有对Windows进行任何操作,Windwos会自动切换到锁屏模式(或屏保模式),甚至待机。对于普通用户来说,这样设置没问题,而且这也是官方推荐的设置。但如果这台电脑是IT开发人员用来进行自动化测试的机器,尤其是包含UI交互的测试(比如,用脚本操控鼠标来模拟点击一个按钮),这样设置就是错误的,因为退出桌面后,鼠标键盘会失效,UI自动化无法正常进行。...
2019-11-12 18:34:54
7880
6
原创 Redis的高可用策略
Redis的高可用策略从根本上来讲是为了保证数据的安全,本文创作时使用的Redis版本为v5.0.5。一、Redis的高可用策略1、持久化持久化是最简单的高可用方法,有时甚至不被归为高可用的手段,主要作用是将数据存储到硬盘,保证数据不会因为进程退出而丢失。2、主从复制(读写分离)复制是Redis高可用的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多机备份,...
2019-10-19 14:51:34
812
4
原创 .Net Core导出Excel防止重提交
在项目中导出Excel时,由于需要处理的数据量较大导致后台执行时间过长,造成前台页面长时间没反应,用户误以为点击失败从而再次点击导出按钮,因此出现了重提交的情况。为了避免用户重复点击按钮,我们应该在用户第一次点击导出按钮时将按钮置为不可用,直到导出成功后才可再次导出。一、解决思路1、用户第一次点击导出按钮后,将导出按钮置为不可用状态并修改按钮text为“正在导出”2、后台导出成功后往缓...
2019-10-14 18:55:46
811
3
原创 SqlServer创建远程链接服务器(SqlServer/MySql/Oracle)
一、SqlServer--创建远程链接服务器EXEC master.dbo.sp_addlinkedserver @server = N'EPMS_Haha' --链接服务器的名称,@srvproduct=N'h3cepms02-db' --SqlServer默认不需要写,@provider=N'SQLNCLI' --不同的库都是不一样的(SQLNCL...
2019-09-26 20:40:25
2156
4
原创 .Net Core调用WebService
一、引用WebService通过添加连接的服务(Connected Services)可以将WebService引用到.Net Core项目中。二、调用WebService中的方法(示例中的两种方法都能正常执行)private void InvokeWebservice(){ #region 方法1 //创建 HTTP 绑定对象 var bindin...
2019-08-30 19:12:56
8629
4
原创 System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005)
我创建了一个Webapi项目并将其部署到IIS中,奇怪的是部署到ServerA中可以正常执行,部署到ServerB就会报上面的错误,查了好久终于找到了解决方案,我会把查到的所有靠谱答案都写上以应对不同的情况,今后有可能会持续补充。完整的错误信息如下:System.UnauthorizedAccessException: Access is denied. (Exception from HRES...
2019-08-23 18:05:55
5694
4
原创 Core使用NLog记录日志
一、新建日志表CREATE TABLE [dbo].[Sys_Log]( [Id] [varchar](50) NOT NULL CONSTRAINT [DF_Sys_Log_Id] DEFAULT (newid()), [Application] [varchar](200) NULL, [Logger] [varchar](200) NULL, [Level] [varchar...
2019-07-12 20:14:37
1619
4
原创 ASP.NET Core 根据环境变量支持多个 appsettings.json配置文件
一、背景在项目开发的过程当中,开发环境与生产环境的配置肯定是不一样的。拿个最简单的例子来说,比如连接字符串这种东西,开发环境肯定不能连生产数据库。在之前的话,这种情况基本靠准备两个同名的配置文件来进行处理,然后你在本地就使用本地的配置文件,生产环境就使用生产环境的配置文件,十分麻烦。ASP.NET Core支持利用环境变量来动态配置 JSON 文件,下面就来看一下如何在项目中使用这样功能吧...
2019-07-07 10:58:56
7657
11
原创 jquery操作iframe的方法:父页面和子页面相互操作(九种情况)
现实开发中难免会遇到子页面、父页面相互操作的情况,由于时不时地会遇到几次(不是一次),所以就整理了一下父子页面相互相互调用常见的九种情况,作为自己的备忘录,同时也希望对大家有帮助。一、子页面C1操作父页面P(下述三个方法写在子页面C1中)//获取父页面P中控件的值, btnParent1是子页面C1中的按钮$("#btnParent1").click(function () { ...
2019-05-23 01:27:13
12141
6
原创 .Net Core中Autofac的使用方法
Autofac是.NET里IOC(Inversion of Control)容器的一种,同类的框架还有Spring.NET,Unity,Castle等。可以通过NuGet方式将其添加到项目中使用。Autofac官方网站:http://autofac.org/一、安装Autofac二、项目结构及基础代码public interface IPlayService{ ...
2019-03-21 00:08:25
7956
8
原创 SqlServer中Exists的使用
1、简介不相关子查询:子查询的查询条件不依赖于父查询的称为不相关子查询 相关子查询:子查询的查询条件依赖于外层父查询的某个属性值的称为相关子查询。带Exists的子查询就是相关子查询 Exists表示存在量词:带有Exists的子查询不返回任何记录的数据,只返回逻辑值“True”或“False”2、表结构选课表:学号StudentNo、课程号CourseNo学生表:学号Stude...
2019-03-03 10:03:24
70616
10
T4生成实体类
2018-01-14
redis-desktop-manager-0.8.8.384.exe
2017-03-02
TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN
2017-02-07
TortoiseGit-LanguagePack-2.4.0.0-32bit-zh_CN
2017-02-04
pandas包中DataFrame类的详细使用方法介绍
2024-12-05
PLSQL13.0.2+Oracle InstanceClient12.2.0.1使用技巧及配置说明.rar
2020-04-14
NHibernateTest.rar
2019-12-10
AspnetCom1.rar
2019-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人