- 博客(146)
- 资源 (27)
- 收藏
- 关注
转载 面向对象思想总结(值得一读)
一、面向过程的思想和面向对象的思想面向对象和面向过程的思想有着本质上的区别,作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方法。这是第二点。最后分析类和类之间具体有什么关系,这是第三点。面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面。二、简单理解面向对象就是在程序里面首先分解出来的应该是注意不再是一步一...
2022-04-20 11:48:45 2529 1
转载 EF codeFirst Database.SetInitializer的四种选项
public MyDbContext() : base("name=Default"){//不会创建数据库,生产环境建议用这个设置,表通过sql来创建或修改Database.SetInitializer<MyDbContext>(null); // 数据库不存在时重新创建数据库,会删除主项目或其他插件的表Database.SetInitializer<MyDbContext>(new CreateDatabaseIfNotExists<MyDbContext>.
2022-03-31 12:23:32 540
转载 C#之Yield Return语法的作用和好处
还是和以前一样,我先上代码,请大家先拿到我的代码或者你跟着敲,运行看效果,以及理解每行带代码的作用。我们要带着为什么要用Yield这个关键字,不用可以吗这个目的去学知识,我相信会更加的有意思。首先我贴出平时正常输出偶数集合的办法/* * * 学习Yield Return 语法 * 使用两个方法,显示1 - 100之间的全部偶数 * * */using System;using System.Collections.Generic;namespace YieldRe
2022-03-30 15:09:12 829
原创 Html中的 Doctype 标签及与zTree树形组件的使用注意
HTML<!DOCTYPE Html> 了解这个是初始于解决系统里面的一个Bug,jquery dialog在所有的IE浏览器中都打不开,因为这是之前别人建立的页面,找了好久才知道是因为没有在页面之前声明<!DOCTYPE>,开启了浏览器的怪异模式,所以在IE中显示不出要的效果来。所以就稍微深入的了解了一下<!DOCTYPE>。 <!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用
2021-12-27 14:16:19 261
转载 开源的Word读写组件DocX
1、前言读写Offic格式的文档,大家多少都有用到,可能方法也很多,组件有很多。这里不去讨论其他方法的优劣,只是向大家介绍一款开源的读写word文档的组件。读写Excel有NPOI,读写Word,那看看DocX吧。DocX是一个以非常直观简单的方式操作Word2007/2010文件的轻量级.NET组件。它的速度非常快,而且不需要安装微软的Office软件。在中国,免费并且小巧的WPS有足够的理由让很多用户放弃庞大的Office,那在实际软件开发过程中,这玩意就有用处了。遗憾是不支持2003,但总归.
2021-11-02 17:17:28 832
原创 DotNetZip实现带密码压缩
DotNetZip是一个开源的免费类库,主要提供了快速操作zip文件的工具集,VB、C#任何.Net语言都可以通过它创建、解压缩zip文件。我使用该类库最主要的目的还是因为它可以创建带密码保护的压缩文件。只有设置了zip.Password = "password"之后,被压缩的文件才会有密码保护。压缩:/// <summary>/// 压缩文件/文件夹/// </summary>/// <param name="filePath">需要压缩的文件/文件夹路
2021-10-14 09:41:37 991
原创 SharpCompress开源库实现zip无乱码压缩和解压
SharpCompress是用到现在,感觉功能最强大的压缩、解压开源插件。它支持处理zip、rar、7z等多种格式的压缩文件,使用方式也很简单。当然,最让我难受的是创建压缩文件的时候没法设置密码~所以才有了上面DotnetZip的代码。SharpCompress版本不同,设置ArchiveEncoding的方式也不同,默认设置了UTF8防止解压乱码。通过设置ArchiveType切换生成不同格式压缩文件压缩/// <summary>/// 压缩文件/文件夹/// </s
2021-10-14 09:35:58 1094
原创 SQLServer-存储过程中使用字符串和分隔符实现传递数组参数(ntext逗号连接的字符串转换成列)
一 简介在高级语言中,很容易编写带有数组参数的函数。但在数据库的存储过程中却没有那么容易,因为存储过程的参数只能以一些基本类型作为参数。我们希望数组作为参数的情况是很常见的,例如有一个表Table(Id int, Data nvarchar(50)),需要向该表一次存入一批数据。如果存储过程以基本数据类型作为参数,定义为InsertData(@data nvarchar(50)), 那么需要循环多次调用该存储过程。要使存储过程支持数组参数,需做一点变通。可以将需输入的数据转换成字符串,并以某一个分隔
2021-09-04 10:31:11 1085
转载 Dapper的入门(多表批量插入)
简介: 不知道博客怎么去写去排版,查了好多相关博客,也根据自己做过项目总结,正好最近搭个微服务框架,顺便把搭建微服务框架所运用的知识都进行博客梳理,为了以后复习,就仔细琢磨写一下自己在微服务框架中对Dapepr的理解以及项目中应用。 dapper只是一个代码文件,完全开源,你可以在项目里任何位置,来实现数据到对象ORM操作(当然先引用Dapper文件),体积小速度快。使用好处增删改查比较快,不用自己写sql,因为这都是重复技术含量低的工作,还有程序中大量的数据库中读取数据然后创建model,...
2021-08-25 11:59:07 2288
原创 JQuery中width和JS中JS中关于clientWidth offsetWidth scrollWidth 等的含义
JQuery中:1、width()方法用于获得元素内容所占的宽度;2、innerWidth()方法用于获得包括内边界(padding)的元素宽度;算式:innerWidth()=width()+padding(左右)3、outerWidth()方法用于获得包括内边界(padding)和边框(border)的元素宽度;算式:outerWidth()=width()+padding(左右)+border(左右)4、outerWidth()方法的参数为true(如:$(this).oute
2021-08-14 16:45:10 1019
原创 js实现table表头冻结(scroll时固定)
方案一:思路:当table在父容器中滑动滚动条显示内容时,使用scrollTop判断边界,同时使用JQuery中的clone方法,把原table创建复制一份,插入到动态创建的一个div中,再将该div的position设置为fixed,height设置table中的thread的高度即可。示例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <t
2021-08-14 11:50:22 2421
转载 js中的offsetLeft和style.left
(1)style.left是带单位"px"的,而offsetLeft没有单位,另外,style.left必须是内联样式,或者在JS中通过style.left赋值,否则取得的将为空字符串(在内部样式和外部样式中指定left是无效的)(2)如果没有已经定位的父元素,那么offsetLeft指向的是文档(document)的左边缘<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&g
2021-08-05 17:53:29 1920
原创 html区域 、元素位置相关
1)html节点在可视区域(浏览器显示网页可见的部分)的位置 obj.getBoundingClientRect().top obj.getBoundingClientRect().left这个方法最早出现在IE浏览器中,后来的浏览器也跟着支持了这个方法,而且还更加完善,IE中只能获取到元素的left,top,bottom,right的属性,而后面的现代浏览器还能获取到元素的width和height.推荐示例: var box = document.get...
2021-07-21 10:20:47 341
转载 C#配置文件configSections详解
一、问题需求: 在项目中经常遇到需要写配置文件地方,目的就是不想在程序中关于一些信息写死,发布的时候只需要修改一下配置文件就可以,不需要每次都修改程序,如项目名称、数据库连接字符串、IP端口之类 的;对于小项目或者服务程序,配置信息可以通过系统自带的appSettings进行配置,但大项目或者配置信息太多,如果都用appSettings来配置就感觉比较杂乱,运维人员在修改配置的时候不好修改,而且如果想找某一模块相关或者某一节点配置容易出错,这时如果能分类管理,例如跟数据库相关的写到一个节点里,跟某个业务独立
2021-07-15 18:05:34 322
转载 ASP.net网站配置文件的读写管理(将网站的配置信息保存到单独配置文件的配置、读写)
前几天由于公司的业务需求,某个系统需要设置一些配置参数,将这些参数保存在数据库显得过于的复杂,并且系统频繁的读取配置信息不合适,不便于以后的管理,显然保存在配置文件中是最好的方式了。后面需要对这些配置信息进行修改管理,管理员当然不希望参数每次去变时去直接修改网站根目录下的Web.config文件,要是能够另外的保存一个文件,并且其它的网站能够同时访问这个文件,直接进行修改就最好了。好了我们根据这个具体的实际需求来进行下面的步骤:一、将网站的配置信息保存到单独配置文件 我们的配置信息一般保存在网.
2021-07-15 17:59:06 684
转载 <httpHandlers>的配置和使用
前两天 领导让改了一个控件,就是 百度编辑器的 前台处理和后台处理分开,简单的说,是把 .ashx的页面单独编译成dll ,前后想了想,.ashx文件又没有cs代码,怎么能编译?尝试了几次没能成功,后来用了这么一个办法,问题成功解决! 思路:通过 httpHandlers 自定义 http 访问时做的处理,当前台的JS 访问到 .ashx文件时,我就把他指向一个类去处理,类可以编译成dll ,所有问题就解决了。具体代码: config 配置 <system.web> ...
2021-07-15 12:42:36 335
转载 Asp.net在线压缩,ICSharpCode.SharpZipLib 初级使用
最近做的一个项目需要使用到在线解压缩的过程。需求是这样的,用户可以将所有需要上传的文件进行打包然后上传到服务器,服务器将压缩包进行解压,然后对其中的文件进行逐个处理。其中将压缩包进行服务器端解压的过程就是通过ICSharpCode.SharpZipLib.dll来实现的。对于这个dll文件,可以通过搜索这个dll文件的名字下载到。原来没有使用过,所以拿来帮助文档依葫芦画瓢。1. 在项目中添加对ICSharpCode.SharpZipLib.dll的引用;2. 在需要使用到ICSharpC
2021-07-09 12:03:53 376
转载 AjaxPro.NET使用,方便的在客户端直接调用服务端方法
(一). 运行效果如下:(二). AjaxPro.NET简介 AjaxPro.NET是一个优秀的Ajax框架, 在实际应用中只要添加其DLL引用并进行简单的配置, 即可以非常方便的在客户端直接调用服务端方法, 实现验证目的.(三).使用AjaxPro.NET预配置 1. 添加 AjaxPro.dll 文件的引用(示例代码中已经包含,直接COPY过来使用即可). 2. 在Web.config文件中添加以下配置,...
2021-07-06 11:17:39 195
原创 用window.showModalDialog弹出aspx页面,页面中使用了服务端控件PostBack问题
使用window.showModalDialog弹出aspx页面,如果页面中使用了服务端控件,如:<asp:button class="ButtonCss" id="btn_Search" runat="server" Text="搜索">;当点击按钮时,会向服务器回传页面并刷新页面,这时候,页面会在一个新的窗口中打开。解决办法 :是showModalDialog显示的那个aspx面中:在<head></head>里加入<base target="_self
2021-07-03 17:38:16 145
转载 js中的NaN,isNaN与Number.isNaN的区别,如何判断一个值严格等于NaN
在JavaScript的数字类型Number中,我们最常使用的大概是整数类型与浮点数类型,但除这两者外,还有个特殊的存在NaN,为什么NaN!==NaN?我们如何判断一个值是否等于NaN呢?这篇文章好好聊聊NaN。1.NaN是什么?NaN全称是Not-A-Number(不是一个数字),我们可以通过Number.NaN来获得一个NaN,在类型转换失败时,我们常常会得到一个NaN,需要注意的是,NaN是JS中唯一一个自身不相等的存在。...
2021-06-18 16:58:34 534
转载 js new一个对象的过程,实现一个简单的new方法
对于大部分前端开发者而言,new一个构造函数或类得到对应实例,是非常普遍的操作了。下面的例子中分别通过构造函数与class类实现了一个简单的创建实例的过程。// ES5构造函数let Parent = function (name, age) { this.name = name; this.age = age;};Parent.prototype.sayName = function () { console.log(this.name);};const child
2021-06-18 16:55:08 1155
转载 面向对象实践之路-提升抽象层次
多少次有人问我如何构建一个比较好的类阶层次,如何使用面向对象进行设计,或者问为什么我看了那么多面向对象和设计模式的书一到使用的时候却总是写出面向过程的代码。每当我碰到这些问题的时候我总是回答,其实我也不知道。真的,其实我也不知道。虽然我总是张口闭口面向对象,总是看到一个问题后就谈这个有点XXX模式的影子,但大部分时候碰到一个问题我还是一片空白,不知道如何去分析设计和实现出好的面向对象。所以,我只想谈谈我是如何实践面向对象的,这对我自己有用但不一定对你有用。嗯,回到正题。回顾编程方法的发展史,我想不外
2021-03-26 21:10:46 305
转载 领域模型和设计类图的区别
摘要 本文通过对一个“学生选课系统”示例的简要分析与设计,说明UML图之一类图的两种作用及存在形式,以期借此澄清有些朋友可能对类图存在的误解与困惑。前言 在OOA与OOD大行其道的今天,UML在系统分析与设计中得到了广泛的采用。而在UML的9种图中,类图是最重要也是使用最普遍的图之一。但是,在与一些朋友,特别是初学者的聊天当中,我发现很多朋友对类图的作用及使用方法存在一定的误解和困惑。于是我写下这篇文章,希望本文能在一定程度上帮助这些朋友更好的认识和使用类图。当然,由于我对UM...
2021-03-23 21:12:34 3189
转载 .NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
依赖倒置原则(DIP)依赖倒置(Dependency Inversion Principle,缩写DIP)是面向对象六大基本原则之一。他是指一种特定的的解耦形式,使得高层次的模块不依赖低层次的模块的实现细节,依赖关系被颠倒(反转),从而使得低层次模块依赖于高层次模块的需求抽象.该原则规定:高层次的模块不应该依赖低层次模块,二者都应该依赖其抽象接口. 抽象接口不应该依赖于具体实现,而具体实现则应该依赖于抽象接口.通过如下一个简单的示例,我们来看一下,我们通过一个简单地下单流程向我们的用户发送相
2021-03-23 14:15:35 230
转载 为ASP.NET MVC应用程序创建单元测试
本教程的目的是解释如何为 ASP.NET MVC 应用程序中的控制器编写单元测试。我们将讨论如何创建三种不同类型的单元测试。您将了解如何测试控制器操作返回的视图、如何测试控制器操作返回的视图数据,以及如何测试一个控制器操作是否重定向到另一个控制器操作。创建测试控制器我们首先创建要测试的控制器。程序清单 1 中包含名称为 ProductController 的控制器。程序清单 1 ProductController.csusing System;using System.Web.Mvc;
2021-03-21 17:06:02 152
原创 VS2019 ASP .NET MVC项目如何新建区域(Area)
由于在VS2019新的MVC5项目下新建的区域选项被折叠至另外的地方,所以新建区域的方式有别于之前的版本 操作:项目右键->添加->新搭建基架的项目->通用/MVC/区域
2021-03-21 15:53:58 836 2
转载 C# 单元测试(入门)
注:本文示例环境VS2017 XUnit 2.2.0 单元测试框架 xunit.runner.visualstudio 2.2.0 测试运行工具 Moq 4.7.10 模拟框架什么是单元测试?确保软件应用程序按作者的期望执行操作,其中最好的一种方法是拥有自动化测试套件。 可以对软件应用程序进行各种不同的测试,包括集成测试、Web 测试、负载测试等。 测试各个软件组件或方法的单元测试是最低级测试。所谓单元测试(unit testing),就是开发者编写的一小段代码,用于对软件中的最小单元进
2021-03-21 12:50:39 5045
原创 ASP.NET MVC中错误处理方式
aspnet mvc的错误处理方式主要有以下两种方式一:通过对controller或者action标记HandleError属性,然后指定一个错误页即可。这种方式最简单,不需要额外增加action ,仅仅需要增加错误页,但是不能记录日志(因为没有action,其实在aspx中也可调用记录日志的方法)。这个错误页还可以定义为强类型,类型为HandleErrorInfo,具体的Model又框架传递,可获取具体的异常信息。///<summary>///标记了Hand...
2021-03-10 16:25:26 565
转载 asp.net c# 通过消息队列处理高并发请求(以抢小米手机为例)
网站面对高并发的情况下,除了增加硬件, 优化程序提高以响应速度外,还可以通过并行改串行的思路来解决。这种思想常见的实践方式就是数据库锁和消息队列的方式。这种方式的缺点是需要排队,响应速度慢,优点是节省成本。演示一下现象创建一个在售产品表CREATE TABLE [dbo].[product]( [id] [int] NOT NULL,--唯一主键 [name] [nvarchar](50) NULL,--产品名称 [status] [int] NULL ,--0未售出
2021-03-05 15:33:39 1859
转载 死锁问题
根据不少同学的面试反馈,最近阿里和字节跳动面试时都对多线程相关的问题进行了重点考察,并且面试官都问到了死锁问题。如字节跳动考察的问题是:什么是线程死锁? 死锁如何产生? 如何避免线程死锁?本文便就此问题进行分析,将用尽可能通俗的语言由浅入深地帮助大家理解死锁,了解其产生的原理与对应的解决方案。什么是线程死锁线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。当线程进入对象的 synchronized 代码块时,便占有了资源,直到它退出该代.
2021-03-03 16:41:26 168 1
转载 简述数据库事务并发机制
摘要: 事务是最小的逻辑执行单元,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务具有四个重要特性,即原子性(Atomicity)、一致性(Consistency)、隔离性 (Isolation)和持久性 (Durability)。本文首先叙述了数据库中事务的本质及其四大特性(ACID)的内涵,然后重点介绍了事务隔离性的动机和内涵,并介绍了数据库为此所提供的事务隔离级别以及这些事务隔离级别能解决的事务并发问题。介于并发安全与并发效率的平衡,我们一般不会一
2021-03-03 15:03:27 378
转载 关系型数据与非关系型数据库NoSql
最近经常听到NoSql,不知道是什么意思,百度之,发现NoSql就是泛指的非关系型数据库。所以学习了一下,发现非关系型数据库最近非常的火,特别适用于某些应用如SNS网站,所以学习了NoSql与我们常用的关系型数据库之间的差别。总的来说1.非关系型数据库不需要表与表之间有联系。2.非关系型数据库对事务没有需求,不需要严格的保证数据的一致性。3.非关系型数据库追求的是高并发,高扩展性。下面文章转载自:http://blog.csdn.net/robinjwong/article/detail
2021-03-03 14:03:11 500
转载 Oracle分页查询性能优化及一些规则
1.一个分页查询语句引发的思考2.优化分析过程3.Rowid和Rownum的区别4.多表关联查询对比5.SQL优化常用规则1.一个分页语句引发的思考执行计划显示耗时是2.491秒,这是Oracle预估时间,实际在PL/SQL中的执行时间是大于20s。2.优化分析过程全表查询单列进行排序与对全列进行排序的效率对比运用单列排序分页3.Rownum和Rowid的区别Rownum是逻辑地址。表示查询某条记录在整个结果集中的位置,同一条记录查询条件不同对应的..
2021-03-03 13:16:17 2456
转载 SQL server分页的四种方法(算很全面了)
首先说一下SQL server的分页与MySQL的分页的不同,mysql的分页直接是用limit (pageIndex-1),pageSize就可以完成,但是SQL server 并没有limit关键字,只有类似limit的top关键字。所以分页起来比较麻烦。 SQL server分页我所知道的就只有四种:三重循环;利用max(主键);利用row_number关键字,offset/fetch next关键字(是通过搜集网上的其他人的方法总结的,应该目前只有这四种方法的思路,其他方法都是基于...
2021-03-03 12:19:04 5449
转载 .Net Framework 之 框架图
.Net Framework框架图,如下图: 它表明了这么一种编写软件的方式或者说表明了.Net平台下开发软件的思想和规范。 .Net Framework框架实际只包含两部分: 1、公共语言运行时(CLR: Common Language Runtime) ; 2、框架类库(FCL: Framework Class Library)。 可以设想自己是一个软件项目经理, 很不凑巧的是手里面的程序员有精通VB、VC++和C#的程序员各一名, 那么如何来使这些程序员写作开.
2021-03-01 16:38:17 1738
原创 .Net编译原理
.Net平台简介:.Net是微软搭建的一个平台,C#语言可以通过.Net平台来编写、部署、运行.Net应用程序,当然,不仅仅是C#语言,其他.Net语言也可以运行在此平台之上,如VB.Net,但在这着重于C#的讲解;则.Net平台式一个跨语言的平台;.Net平台中内部有多种机制和类库,但更为重要的有两大组成:1. FCL-框架类库,这是微软事先定义好的类的集合,里面包含了常用的类,以至于方便程序员调用;2.CLR-公共语言运行时,这是创建、部署、运行.Net程序的必备环境,若没有此环境,程序
2021-03-01 15:45:26 1136
转载 C# 静态构造函数和构造函数
构造函数这个概念,在我们刚开始学习编程语言的时候,就被老师一遍一遍的教着。亲,现在你还记得静态构造函数的适用场景吗?如果没有,那么我们一起来复习一下吧。静态构造函数是在构造函数方法前面添加了static关键字之后形成的,并且没有修饰符(public,private),没有参数。静态构造函数有哪些特点呢:静态构造函数没有修饰符修饰(public,private),因为静态构造函数不是我们程序员调用的,是由.net 框架在合适的时机调用的。 静态构造函数没有参数,因为框架不可能知道我们需要在函数中
2021-03-01 15:17:58 821
转载 2021-03-01
目录一、初识索引 1.1 为什么要有索引? 1.2 什么是索引? 1.3 你是否对索引存在误解? 二、索引的原理 2.1 索引原理 2.2 磁盘IO与预读 三、索引的数据结构 四、MySQL索引管理 4.1 功能 4.2 MySQL常用的索引 4.3 各个索引应用场景 4.4 索引的两大类型hash与btree 4.5 创建/删除索引的语法 4.6 示例 五、测试索引 5.1 数据准备 5.2 小结 六、正确使用索引 6.1 索引
2021-03-01 13:49:39 617
在VS2012中 Asp.neMVC4 使用ef连MySql需要的配置程序
2020-09-07
XlsReadWriteII5.rar
2020-07-18
NativeExcel.rar
2020-07-18
XLSReadWriteII_bkill.com.5.20.zip
2020-07-18
NativeExcel.v.3.9.7.D4.XE7.rar
2020-07-18
XML Schema简明教程-W3C.rar
2020-07-03
Oracle.ManagedDataAccess_c#访问Oracle的无需安装Client的组件DLL
2020-03-02
VS2012连接Oracle的独立(非Client)访问组件时的配置必须文件
2020-03-02
c++ GDI,C++Builder GDI,GDI,Png,Png to Image,支持多种图片格式,能够在多种图片间进行转换(bmp,jpg,wmf,emf,png,gif)
2011-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人