- 博客(38)
- 资源 (1)
- 收藏
- 关注
转载 enctype="multipart/form-data"用途
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.
2013-09-13 13:43:12 611
转载 base64编码的原理及实现
关于base64编码的原理及实现我们的图片大部分都是可以转换成base64编码的data:image。 这个在将canvas保存为img的时候尤其有用。虽然除ie外,大部分现代浏览器都已经支持原生的基于base64的encode和decode,例如btoa和atob。(将canvas画布保存成img并强制改变mimetype进行下载,会在下一篇记录)但是处于好奇心,还是驱使我去了解下b
2013-08-31 12:53:37 529
原创 System.Xml.XmlReader编码问题
今天在做公司微信项目时需要和另外一家公司对接http接口,数据格式为xml格式在解析XML时我采用了XmlReader(读取的方法有很多种,其中一个教程http://book.51cto.com/art/201012/241200.htm )方式来解析xml文件期间在解析某些结点内容时报错"Element"是无效的XmlNodeType,很郁闷,不知错误在哪里,后来改变结点的内容将中文改成
2013-08-29 17:13:53 1293
转载 C#核心概念--装箱和拆箱(什么是装箱和拆箱)
1. 装箱和拆箱是一个抽象的概念 。 2. 装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型 ; 利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来。 例如: Codeint val = 100; object obj = val; Console.WriteLine (“对
2013-08-25 21:15:44 498
转载 js闭包
我初次接触“闭包”时,看了很多资料,总是无法理解,因为一些文章写得太“学术化”,虽然措辞非常严谨,但是对初学这来说,太难理解了。自从看到这篇文章,我的眼前“豁然开朗” 一、什么是闭包? “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 相信很少有人能直接看懂这句话,因为他描述的太学术。我
2013-08-23 16:33:25 373
转载 javascript里构建类的4种方式
javascript里构建类主要有4种方式 1.构造方式定义类 2.原型方式定义类 3.构造和原型结合方式创建类 4.动态的原型方式 各有优缺点,具体如下 1.构造方式定义类,优点:多个实例对象不共享类的属性值,缺点:每个实例对象都会产生出一个函数say Java代码 //构造方式定义类,优点:多个实例对象不共享类的属性值,缺点:每个实
2013-08-23 15:35:27 617
转载 js自定义对象
js自定义对象一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。 目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为我们编程提供了许多方便。但对于复杂的客户端程
2013-08-23 13:37:36 383
转载 jquery.extend和jquery.fn.extend
前言: jQuery的源码不同于prototype, mootools, 它们对Array, String, Event, Hash都进行了大量的扩展,然后才对element, form之类的dom元素提供了方便及兼容的操作。jQuery的源码也不同于YUI,采用组件的方式按照JAVA面向对象的中规中
2013-08-23 12:12:13 440
原创 随机生成题目列表
首先获得原始的题目列表定义为List originQuestionList = 赋值;定义一个最终的随机题目列表 List finalQuestionList = new List();定义一个中间量用于记录已经选了哪些题目,这里用HashSet IDList = new HashSet();定义一个随机量 Random rd = new Random();HashSet类有A
2013-08-21 13:54:55 3409
转载 计算机时间、unix时间、linux时间、java时间为何以1970年1月1日为原点?从1970年1月1日开始计算?
http://wenku.baidu.com/view/05f75e33a32d7375a41780d9.html\今天在看Python API时,看到time模块:The epoch is the point where the time starts. On January 1st of that year, at 0 hours,the “time since the e
2013-07-16 11:20:06 504
转载 初识Ildasm.exe——IL反编译的实用工具
一.前言: 微软的IL反编译实用程序——Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且给出命名空间以及类的视图。在讲述如何反编译之前,有必要从虚拟CPU的角度来看CLR,这样有助于先从正面了解代码执行过程。虚拟CPU: .NET 程序,其核心皆为 CLR ,而同时CLR的
2013-07-12 14:32:11 528
转载 Ping出现TTL expired in transit的原因
分类: CISCO技术文档2011-12-15 16:14 2245人阅读 评论(0) 收藏 举报网络路由器寝室网络割接导致本本上不了网了,于是在其他地方ping本本的IP来试,结果出现了TTL expired in transit的提示,这种提示并不常见,如下图所示:ping 和 tracert 的结果用tracert来看路由状况,原来是出现路由环路导
2013-07-12 12:18:52 1431
转载 VS2008技巧,天煞啊 果然很给力
VS2008技巧,非常实用,非常提高效率。1,Visual Studio 2008自带的1000多个 Windows 系统使用的各种图标、光标和动画文件在Visual Studio 2008的安装目录下,\Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\2052文件夹下面,有一个VS2008ImageLibrary.zi
2013-07-05 12:41:13 378
转载 托管资源非托管资源
c#托管资源和非托管资源区别托管的概念是在.net框架诞生后出现的。用比较通俗的话解释就是运行在.net框架下,并受.net框架管理的应用或其他组件称为托管的,反之为非托管的。 也就是说用.net平台开发出来的程序应该就是托管的了,而在.net以前开发的程序都属于非托管的。但是非托管的程序完全可以通过在.net平台下重新生成而变成托管的 ,你就把.net framework
2013-07-02 12:49:10 463
转载 从客户端中检测到有潜在危险的 Request.Form 值
由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报出“从客户端 中检测到有潜在危险的Request.Form值”这样的错。 解决方案一: 在.aspx文件头中加入这句: eg: 解决方案二: 修改web.config文件:
2013-07-02 10:23:36 474
原创 .net网站中的跨进程调用学习(生产者和消费者模式)
公司的微信项目中有用到讯飞的语音识别sdk(C++编写),经过多发测试验证,发现他们的sdk不能在IIS下面运行。没办法,我们公司的强人将讯飞的sdk单独封装成一个控制台应用程序,供网站调用。其中涉及到跨进程调用,觉得很值得我学习。因此在此做下笔记。首先记录下其中用到的一些我没怎么用过的关键字和静态类。unsafe关键字用到unsafe关键字需要设置项目属性-》生成-》允许不安全代码
2013-06-28 16:18:54 683 1
转载 C#GC机制
C#GC机制能简单聊一下垃圾收集的工作方式吗?运行.NET应用程序时,程序创建出来的对象都会被CLR跟踪,哪些对象还会被用到(存在引用关系);哪些对象不会再被用到(不存在引用关系),CLR都是有记录的。CLR会整理不会再被用到的对象,在恰当的时机,按一定的规则销毁一部分对象,释放出这些对象所占用的内存。-----------------上面这
2013-06-28 14:58:26 3388 1
原创 webdeploy发布网站
在服务器上安装webdeploy后配置网站基本步骤:1.在windows服务器上新建应用程序池,选择.net framework版本在右击应用程序池中有个设置应用程序池默认设置。设置完所有的应用程序池的设置都会发生改变。.net中每个应用程序池只能运行32位程序或者64位程序,不能两者同时运行。如何设置应用程序池运行哪种程序,可以通过右击应用程序池属性->高级设置->启动32位
2013-06-28 13:31:08 724
原创 File.Create()方法
用时最好这样用。using (FileStream fs = File.Create(path)) { } File.Create(path)会返回FileStream对象,由此方法创建的 FileStream 对象的 FileShare 值默认为 None;直到关闭原始文件句
2013-06-13 22:35:13 2491
原创 利用do-while的一个技巧
do{}while(false)//c++为0也可以,c++中只有0和非0do-while是先执行do里面的内容,在判断while后的条件这个循环体只执行一遍,如果写到一个方法里面相当于一个小函数例如void method(){do{if(条件)break;if(条件)break;if(条件)break;}while(false)
2013-06-13 20:47:36 451
转载 String类的substring方法注意点
由于js,alert方法弹出的字符长度有限制,所以想用substring来截取一下长度,可是又引进了新的BUG,更可恨的是本地还无法测试,只能添加日志追踪,还好问题总算是发现了,基础真薄弱啊~一、Substring(截取子串的起始位置,子串长度)使用Substring()时的正确写法: string tmpstr;if((tmpstr!=null)&&(tmps
2013-06-03 16:16:38 815
原创 堆排序
大家可以参考http://blog.csdn.net/morewindows/article/details/6709644,写的很详细class HeapSort { public int[] arr { get; set; } //TODO创建堆 //调整堆 public void AdjustHeap(in
2013-05-14 20:54:04 345
原创 生成验证码
先生成随机的四位字母,每个字母在生成的图像中尺寸随机生成,有一定角度的旋转,颜色也有一定程度的变化 var code = Request["code"]; if (code == null) throw new HttpException(403, "need code"); Resp
2013-05-12 17:55:37 397
原创 HttpWebRequest和HttpWebRespone使用实例
最近参与了公司的一个和微信平台相关的项目,最近加班加点和第三方调接口。接口走的是http协议,对方返回数据格式为json格式。现在记录下用到的一些知识,以便以后方便查阅。c#真是方便,可以通过JavaScriptSerializer类实现对json数据转化为对象,将对象转化为json串对方大概提供了两种类型的接口:一种是直接访问url便可获得数据,一种是要我这边组织json格式的数据再po
2013-05-12 17:40:44 593
转载 HTTP中GET和POST的区别
还可以参考http://www.cnblogs.com/skynet/archive/2010/05/18/1738301.htmlHTTP定义了与服务器交互的不同方法,最基本的有4种:get post put delete。URL的全称UniformResourceLocator统一资源定位符,也就是我们常说的网页地址。可以这样认为:URL描述了一个网络上的资源,http定义的这四种交互方式
2013-05-12 08:43:54 538
原创 普通树的深度优先遍历和广度优先遍历
1.概念普通树的遍历分为深度优先遍历和广度优先遍历,深度优先遍历是从跟结点开始,先访问结点的孩子结点,再访问结点的兄弟结点,分为先序遍历和后序遍历,广度优先遍历是先访问结点的兄弟结点,再访问结点的孩子结点,需要借助于队列。2.实现代码public class Tree { /// /// 深度优先 ///
2013-05-04 16:01:19 1070
原创 二分查找插入排序
1.概念:先前有复习过插入排序,插入排序的时间复杂度是O(n2),,如果比较的代价远大于交换的代价,则可以使用二分查找插入排序,其时间复杂度也是O(n2),其比较次数比较少2.实现步骤:通过折半查找在数组的有序部分找到待插入值应插入的位置,再通过交换法将数据插入的位置。3代码实现:public class BinaryInsectionSort {
2013-05-03 14:21:58 699
原创 折半查找
1.概念折半查找也叫二分查找,前提是待查找的数组必须是有序的,假设数组是从小到大排列的,先将待查找的值和有序数组的中间值比较,如果相等则找到,若小于中间值则查找左半部分,若大于中间值则查找右半部分。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。2.实现/// /// 折半查找 /// public class
2013-05-03 11:10:50 469
原创 二叉树
1.基本概念:二叉树是每个结点最多有两个子结点的树,二叉树不是树的特殊形式,他们的数据结构是不一样的。二叉树有以下性质:1)第i-1层最多有2的i-1次方个结点2)深度为k的二叉树最多有2的k次方-1个结点,可以由第一个性质推出3)若0度的结点为n0个,2度的结点为n2个,则有n0=n2+12.二叉树的链式存储结构,二叉链表public class node{p
2013-05-02 22:05:17 394
原创 二叉查找树
1.基本概念二叉查找树也叫二叉排序树,二叉查找树若不是一颗空树,则其具有以下性质1)若其左子树不为空,则左子树上的结点值均小于该节点2)若其右子树不为空,则右子树上的结点值均大于该结点3)左右子树均为二叉查找树2.存储结构二叉树的存储结构为二叉链表3.查找算法1)步骤:若结点的关键字值等于查找的关键字,成功。否则,若小于结点的关键字值,递归查找左子树。若
2013-05-02 12:20:40 419
转载 存储结构
先来复习一下什么是计算机里面的数据结构:数据结构 = 逻辑结构+存储结构逻辑结构分为四种:1.集合---数据元素间没有任何关系2.线性结构---数据元素间有线性关系,所谓线性关系是指,除了第一个元素外,其他元素有且只有一个前驱,除最后一个元素外,其他元素有且仅有一个后继。常见的线性结构有:线性表、数组、栈、队列、双队列、串3.树结构---数据元素间有层次关系。属于非线性结构
2013-05-02 11:26:27 666
原创 c#归并排序
1.需求:将一个数组通过归并排序排成有序数组2.思想:归并排序是分治法的一个典型应用,将两个有序的序列合并成一个有序的序列称为归并,归并排序,通过将数组分成若干个有序的序列,当拆分成只有一个数时认为是有序的,然后将这些序列归并。这里需要用到递归。3.实现:public class MSort { /// /// 待排序数组
2013-04-22 22:23:35 515
原创 选择排序
1.需求:将一个无序的数组排序2.思想:选择排序和插入排序类似,也分为一个有序区和一个无序区,每次从无序区中选出最小的数插入到有序区的结尾处。3.实现:public class SelSort { /// /// 待排序数组 /// public int[] arr { get; set; }
2013-04-22 11:26:00 347
原创 插入排序
1.需求:通过插入排序对一个无序的数组进行排序2.思想:一个数组分为有序区和无序区,每次从无序区中选一个数插入到有序区中,插入后仍为一个有序区(在算法中for和while的选择:一般明确知道要循环多少次的时候用for,不知道时用while)3.实现:public class InsSort { /// /// 待排序数组
2013-04-22 10:58:56 395
原创 快速排序
1.需求:将一个无序的数组按从小到大的顺序排列2.思想:众所周知交换排序中的冒泡排序的一般时间复杂度为O(n2),今天复习交换排序中的另外一种排序算法:快速排序,选取一个基准值,将数组中大于这个基准值的放到基准值一边,小的放到另外一边,然后对两边数组进行同样的操作。一般时间复杂度为O(nlog2(n))这里需要用到递归(顺便复习一下递归的概念:一个方法调用自己叫做递归。什么时候可以用递归呢?1
2013-04-21 11:42:08 400
原创 c#冒泡排序
需求:将一个无序的数组按从小到大的顺序排列思想:经过n-1趟比较,第i趟比较(i从0开始)n-i-1次,每次最大的数会排到最后,如果从下往上看就像体积最大的泡泡浮上来,所以叫做冒泡排序。冒泡排序是交换排序的一种思路:依次比较相邻的两个数,小数放到前面大数放到后面。实现: /// /// 冒泡排序 /// public class Sort
2013-04-19 12:37:17 618
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人