自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三五月儿的专栏

Java、C#、JS、Node、Python、SQL、Linux、MVC、WebService、API、MySql、SQLServer、Redis、MongoDB、Kafka、RabbitMQ

  • 博客(350)
  • 资源 (4)
  • 收藏
  • 关注

原创 Python操作环境变量

1、使用os读取系统环境变量import osos.getenv('path')os.environ.get('path')os.environ['path']2、遍历打印所有系统环境变量import osenv_dist = os.environfor key in env_dist: print key + ' : ' + env_dist[key]...

2019-05-12 11:42:19 3488

原创 C#接口汇总

1、IComparable和IComparer接口 用于比较和排序IComparable 可比较的,实现该接口的类,便具有“可比较的”特性。IComparer 比较器,实现该接口的类,是一个比较器,可以将其嵌入“类”中,使类具有“可比较的”的特性。C#中的IComparable和IComparer接口2、IEnumerable与IEnumerator接口 用于迭代IEnumerable ...

2019-04-21 16:50:33 1220

原创 C#中的IComparable和IComparer接口

C#中,自定义类型,支持比较和排序,需要实现IComparable接口。IComparable接口存在一个名为CompareTo()的方法,接收类型为object的参数表示被比较对象,返回整型值:1表示当前对象大于被比较对象,0表示两者相等,-1表示当前对象小于被比较对象。public int CompareTo(object o) {}若想以更加灵活的方式对自定义类进行比较,可以声明一个继...

2019-04-21 16:14:05 1658

原创 C#类型转换总结

C#类型转换说的是把数据从一种类型转换成另一种类型。有隐式转换和显式转换之分。1、隐式转型和显式转型隐式类型转换:C#默认的以安全方式进行的转换,不会导致数据丢失。例如从小的整型转换为大的整型,从派生类转换为基类。显式类型转换:也叫强制类型转换。强制类型转换需要转型运算符(圆括号),强制转换会造成数据丢失或者引发异常。long longN = 24524342;int intN...

2019-04-14 17:27:35 907 1

原创 应用程序无法启动,因为应用程序的并行配置不正确 解决备忘

运行exe程序,提示“应用程序无法启动,因为应用程序的并行配置不正确”,网上给出的解决方案都是“启动Windows Modules Installer服务”。但是我这次出现这个问题,只是因为配置文件配置不对导致的,所以出现这种问题时,先检查一下配置文件。...

2019-02-18 10:19:19 8339 3

原创 No plugin found for prefix ‘tomcat7’ in the current project and in the plugin groups

idea中开发javaweb应用,使用mvn tomcat7:run命令运行应用时,需要配置tomcat的maven插件。在没有配置的情况下会出现下面的错误提示。[ERROR] No plugin found for prefix ‘tomcat7’ in the current project and in the plugin groups [org.apache.maven.plugins...

2019-01-26 21:09:10 16043 3

转载 SQLServer数据库DBCC CHECKIDENT命令介绍

在SQLServer输入数据时,碰到有主键ID需要维护时,可使用IDENT_CURRENT和CHECKIDENT命令来维护。IDENT_CURRENT命令返回指定表或视图生成的最后一个标识值。用法如下: IDENT_CURRENT('table_name')返回类型numeric(38,0).DBCC CHECKIDENT命令用于检查或指定当前表/视图的标识值。用法如下:DBCC C...

2019-01-21 15:19:39 7095

原创 优秀开发者在开发一个功能时都需要注意些什么

需求确认、方案设计、框架设计、数据库设计 日志 异常处理 校验相关(出参格式与入参格式、提示信息、本地化) 共通类封装:数据库、缓存、队列、网络、加密与解密、序列化与反序列化、重试、池、注解 设计模式(变与不变) 角色与权限 安全(线程安全、网络安全、代码安全) 单元测试 性能 部署与发布:开发、测试和生产环境;环境信息 框架选择:mvc、orm、mvvm、aop…本清单...

2018-09-06 16:51:30 663

原创 谈谈消息队列

有这样一种场景,前端提交数据到后端,后端处理数据并存入缓存,同时将数据推给消息队列,再使用服务程序不断的消费消息队列中的数据进行数据库落地。这样做的好处是可以提高整个系统的响应速度,因为和用户打交道的是缓存。而缓存的数据是要好于数据库的。不过这种设计也存在不少问题,这里就来说说这些问题。传统的”程序-数据库”的交互过程,变成“程序-队列-(服务)程序-数据库”,增加了新的参与者,更多的交互环节,必...

2018-08-29 21:02:40 721

原创 .net程序config文件中特殊字符的正确写法

显示     说明     实体名称     实体编号      空格            <     小于     <      <>      大于    >      >&     &符号    &     &"      双引号    "     "©      版权    &co

2017-03-29 20:13:53 3403

原创 使用async和await将同步方法包装成异步方法

使用c#5.0引入的async和await,可以更简单的进行异步编程。本文使用async和await将同步方法包装成异步方法。using System;using System.Threading.Tasks;namespace YlBCL{ public class AsyncHelper { public static async void RunAsync(

2017-03-22 15:37:40 4475

原创 webapi的post和get请求总结

1、get请求,传输基础类型数据[HttpGet]public string GetTestData(int id,string name){ return id+name;}$.ajax({ type:"get", url:"http://xxxx/api/Test/GetTestData", data: { id: 1, name:

2017-03-21 21:58:19 7363

原创 webapi不使用MultipartFormDataStreamProvider上传multipart form-data数据的方法

webapi开发中,经常会使用multipart/form-data方式来实现文件的上传。而网上流传甚广的就是下面这样一份代码。但是,这份代码有个问题,就是初始化MultipartFormDataStreamProvider类或者子类时,需要制定文件的保存路径。但是,有些应用场景是无法指定这个路径的,比如由于安全问题不允许直接进行文件的写入。有时候,甚至没必要指定这个路径,因为只需要读取传递过来的文

2017-03-21 20:06:50 9157

原创 使用multipart form-data方式post数据到服务器

使用multipart/form-data方式提交数据与普通的post方式有一定区别。multipart/form-data的请求头必须包含一个特殊的头信息:Content-Type,其值必须为multipart/form-data。另外还需要规定一个内容分割符用于分割请求体中的多个post的内容,如文件内容和文本内容,只有这样服务端才能正常解析数据。但是,multipart/form-data的基

2017-03-21 19:33:13 17002

原创 开发webapi程序时需要考虑的细节汇总

1、根据api接口访问路径定义好controller和action。 2、记录操作日志。包含接口入参、出参、异常以及重要的节点数据(数据库返回、第三方接口返回、重要的私有变量值) 3、入参合法性检查。非空检查。需要校验身份证、邮箱、手机号、网址等值。 4、定义好接口的返回状态和消息。建议0表示成功,非0表示失败,且不同的状态值必须区分好。 可包括数据库操作、第三方接口调用、入参校验、程序异常

2017-03-15 23:06:50 2704 1

原创 Android Retrofit Multipart图片上传至webapi,客户端发送请求,服务端却收到两个请求的原因

android客户端使用Retrofit库发送网络请求,Retrofit库通过发送Multipart请求传输图片至服务器。 服务端使用webapi来处理客户端的Multipart请求。 调试时,出现问题:webapi单步调试时,客户端每发送一个网络请求时,服务端却收到了多个请求。 刚开始对Multipart协议不是很了解,还以为是Multipart协议本身就会分成多个请求来和服务端通信。 但

2017-03-15 16:48:13 1615

原创 IIS未列出与打开的Url匹配的网站。问题解决方法

使用vs2015开发webapi,调试程序时服务器使用本地IIS。启动程序,出现提示”无法在Web服务器上启动调试。IIS未列出与打开的Url匹配的网站。” 解决该问题,可以从以下几点去寻找解决问题的方法。 1、确认网站绑定ip地址时选择“全部未分配”项。 2、调试 > 附加到进程 > 勾选“显示所有进程”> 附加 w3wp.exe 3、确认IIS新建网站的目录是现在的项目目录。

2017-03-15 13:31:18 5026 3

原创 windows下安装redis方法总结

1、在https://github.com/dmajkic/redis/downloads下载预编译Redis。 2、解压下载的压缩包,执行redis-server即可启动Redis服务器。 3、安装Python2.7,设置系统环境变量。 4、按照下面的方法安装redis客户端库。 (1)在命令行输入python,进入python环境。 (2)输入下面python代码下载ez_setup.

2017-03-12 13:39:12 1279

转载 使用Signature Tool自动生成P/Invoke调用Windows API的C#函数声明

在网上看到很多网友在.NET程序中调用Win32 API,或者调用自己的VC DLL里面提供的函数的时候,总是被生成正确的C函数在C#中的正确声明而困扰,而生成C++中结构体在C#中的声明 - 天,没有什么比这个更让人恶心的事情了。因为: 1. 如果你的结构体里面包含 TCHAR字符串成员的话,需要考虑ANSI和Unicode DLL的情形。 2. 如果你的结构体

2017-02-14 12:08:47 1005

转载 HTTP长连接和短连接原理浅析

1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。2. 如何理解HTTP协议是无状态的 HTTP协

2017-01-24 13:06:25 1893

原创 vs2015开发.net core的环境准备

1、安装vs2015,并升级到update3 下载地址: http://download.microsoft.com/download/7/c/f/7cf151c3-b735-4e35-a1bb-9a48224f4a95/vs2015.3.ent_chs.iso 2、安装 .net core sdk 下载地址:https://download.microsoft.com/download/A

2017-01-24 13:02:16 13140 1

原创 http长连接

1、http/tcp/ip http协议:应用层协议 tcp协议:传输层协议,主要解决在ip层之上进行可靠的传递数据包的问题。tcp有可靠面向连接的特点。 ip协议:网络层协议,主要解决网络路由和寻址问题。2、http长短连接 http长短连接的本质是tcp的长短链接。http/1.0默认使用的是短连接。http/1.1起,默认使用长连接。使用长连接的http协议,会在响应头加入代码:Con

2017-01-24 12:34:16 2212

转载 TCP建立连接三次握手和释放连接四次握手

在谈及TCP建立连接和释放连接过程,先来简单认识一下TCP报文段首部格式的的几个名词(这里只是简单说明,具体请查看相关教程) 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack:占4个字节,期待收到对方

2017-01-24 10:33:20 1340

原创 asp.net mvc各版本特性一览

1、ASP.NET MVC 1 2007年2月,ScottGu草拟编写了ASP.NET MVC的内核程序。 ASP.NET MVC 1 于2009年3月13日正式发布。2、ASP.NET MVC 2 ASP.NET MVC2于2010年3月发布。 ASP.NET MVC2的部分主要特点如下: ● 带有自定义模板的UI辅助程序 ● 在客户端和服务器端基于特性的模型验证 ● 强类

2017-01-18 18:00:41 3756 1

原创 Windows7服务一览

Adaptive brightness 监视周围的光线状况来调节屏幕明暗,如果该服务被禁用,屏幕亮度将不会自动适应周围光线状况。该服务的默认运行方式是手动,如果你没有使用触摸屏一类的智能调节屏幕亮度的设备,该功能就可以放心禁用。Application Layer Gateway Service Windows XP/Vista中也有该服务,作用也差不多,是系统自带防火墙和开启ICS共享上网的依赖

2017-01-18 17:28:23 1290

原创 iis部署asp.net mvc注意

开发基于环境winserver 2008 r2,.net 4.5,asp.net mvc5。 1、安装.net framework 4.5,下载离线包安装,最好不要联网安装。 2、使用IIS服务器,必须启动WAS和W3SVC服务。 3、如果没有按照正常的先装iis后装.net的顺序,需要注册asp.net 4.5 到iis。32位的Windows:--------------------

2017-01-18 17:17:54 4581 2

原创 jquery事件绑定

1、使用$(“#id”).bind(event,[data],function(eventObject))方法将监听器绑定到目标元素上 //type:附加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。如click、change、mouseover等 //data:传入监听函数的参数,通过event.data取到。可选参数。 //function:监听函数,可传入jQuery封装

2017-01-15 15:52:32 485

原创 js事件绑定

1、在dom对象中直接绑定 dom元素一般都具有名称类似onXXX的事件,直接将方法绑定到事件即可。<input onclick="funAlert()" type="button" value="确定" /><script type="text/javascript">function funAlert(){ alert("谢谢支持");}</script>2、在js代码中

2017-01-15 15:08:53 602

原创 js动态创建html元素的方法

js动态创建html元素需要使用到下面这些常见的js方法。 getElementById();//返回带有指定 ID 的元素。 getElementsByTagName();//返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。 getElementsByClassName();//返回包含带有指定类名的所有元素的节点列表。 appendChild();//把新的子节点添加到指

2017-01-15 15:06:06 10971

转载 js动态创建radio

function create(parentId,eleType,eleName,eleId,eleValue){ var board = document.getElementById(parentId); var e = createElement("input",eleName); e.type = eleType;

2017-01-15 14:00:29 7724

原创 jquery的css样式操作大全

$(“#id”).attr(“class”);//获取样式 $(“#id”).attr(“class”,className);//设置样式 $(“#id”).addClass(className);//追加样式 $(“#id”).removeClass(className);//移除样式 $(“#id”).toggleClass(anotherClass) //重复切换anotherClas

2017-01-15 12:46:03 1046

原创 控制easyui datagrid 显示和隐藏的正确方法

定义id为dg的datagrid。<table id="dg" class="easyui-datagrid"></table>使用下面的代码实现隐藏/显示datagrid控件,并不能达到预期效果。$("#dg").hide();$("#dg").show();正确的做法是将datagrid控件置于div内部,再控制div的隐藏/显示即可。<div id="div-dg"><table id="d

2017-01-15 12:17:28 22976 1

原创 easyui datagrid加载数据的两种方式

1、加载本地数据var obj = {'total':2,'rows':[{id:'1',name:'一'},{id:'2',name:'二'}]}; $('#dg').datagrid('loadData',obj);注意:这里的数据必须是json对象,要是json字符串,必须先转换成json对象才能作为datagrid的数据源。var str = '{'total':2,'rows':[{

2017-01-15 12:03:25 36210 2

原创 json字符串和json对象的相互转换方法

js中存在json字符串和json对象的区别。两者之间可以相互转换。 JSON字符串: var s1 = ‘{ “name”: “zs”, “sex”: “man” }’; JSON对象:var o1= { “name”: “ls”, “sex”: “woman” };1、JSON字符串转换为JSON对象 var obj = eval(‘(’ + s1+ ‘)’);//eval()函数是js自

2017-01-15 11:44:43 1279

原创 js判空的方法

1、判断对象为null的方法var x = null;if (x === null)还可以使用下面几种方法进行判断,但是都有一些地方需要注意。使用if (typeof(x)== “undefined”)判空时,只有x为undefined时,才返回true。使用if(typeof(x) != “object”)判空时,只有x为null时,才返回false。 使用if(x==null)判空时,x

2017-01-14 21:38:37 21459

转载 jQuery中ajax的4种常用请求方式

1.$.ajax()返回其创建的 XMLHttpRequest 对象。 $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 “text/xml”)。 $.ajax({ type: "post", dataType:

2017-01-14 17:41:22 4864

原创 easyui-datagrid获取行和列数据

1、获取当前行var row = $('#dg').datagrid('getSelected');2、获取所有选中行var rows = $('#dg').datagrid('getSelections');3、获取所有行var rows = $("#dg").datagrid("getRows");4、获取行中间的某列数据ar rows = $('#dg'').datagrid('getRows

2017-01-14 17:26:49 39032 1

原创 jquery常用方法总结

取值与赋值操作$("#ID").val(); //取value值$("#ID").val("xxx"); //赋值$("#ID").text(); //相当于取innerText$("#ID").text(""); //相当于赋值给innerText$("#ID").html(); //相当于取innerHTML$("#ID").html(""); //相当于赋值给innerHTML属性设

2017-01-14 17:12:28 14204 1

原创 js选择器和jquery选择器

1、元素、属性、标签的关系 html文档由嵌套的html元素组成,一个html元素包含开始标签和结束标签。属性是html元素提供的附加信息。下面的例子中定义了一个div元素,id、name、class是元素属性,而是组成元素的标签。选择器的作用就是获取满足指定条件的元素。这里的条件可以是元素的id、name、标签名、class名,还可以根据元素的属性来进行选择。2、js选择器 getElemen

2017-01-14 16:19:30 8462

原创 获取easyui-datagrid中文本列的值的正确方法

定义id为datagrid的easyui-datagrid,并将其置于id为div-dg的div内。<div id="div-dg"><table id="datagrid" class="easyui-datagrid"></table></div>定义datagrid的列时,使用下面的方式为datagrid添加文本框列,并将其value设置为100。 field: 'opt', title: '

2017-01-14 12:01:48 5091

Linq之Join操作实例

通过一个简单的实例对Linq中的Join操作进行演示。

2014-08-02

关闭窗体后,进程仍然在运行的问题示例代码

在开发中,遇到这样一个问题: 点击程序主窗体右上角的叉号关闭应用程序后,程序的进程却没有关闭。 通过查阅资料,了解到,产生此类问题的原因主要有以下两点: 1)程序中存在死循环。 2)程序为多线程程序,且在窗体关闭后,仍有线程在工作。 本例将针对此类问题,进行重现并提出解决方案。

2014-07-27

使用ValidationRule类来检查用户输入的有效性示例代码

当应用使用WPF数据绑定模型时,可以将规则集合ValidationRules与绑定关联。当绑定对象的绑定值发生改变时,则绑定引擎就会检查ValidationRule,确认页面对象的值是否通过了ValidationRule类指定的验证规则。

2014-07-17

利用批处理全自动安装常用软件

利用批处理全自动安装常用软件

2013-11-03

空空如也

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

TA关注的人

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