Fork me on GitHub

2013年10月17日

摘要: 哈夫曼(Huffman)编码在学习二叉树时看到关于哈夫曼编码的一些描述,兴趣来潮,自己写一个算法。哈夫曼算法使用二叉树以令人惊讶的方式来压缩数据,以提高数据传输的效率和时间。只有知道哈夫曼编码而不会写代码的童鞋们才会在网上搜代码,故在这里对哈夫曼编码不做过多介绍。 实现哈弗曼(Huffman)算法的编码(Encode)与解码(Encode). 分为以下四步来完成这项编码 1.Create a Huffman tree for this message. 2.Create a code table. 3.Encode the message into binary. 4.Decode th... 阅读全文
posted @ 2013-10-17 22:49 HackerVirus 阅读(361) 评论(0) 推荐(0)
摘要: 优化特性(Attribute)性能通过这篇文章,不仅可以了解到Attribute的工作原理,还可以了解到GetcustomeAttribute是的内部执行流程。最后,你会看到,使用缓存机制可以极大的优化反射Attribute的性能。本文结构: 1.为什么在对象上标记Attribute性能很慢。 2.编译器如何编译带有Attribute标记的类型 3.定义解析器,在运行时获取并解析对象上的Attribute 4.GetCustomeAttributes方法的工作原理 5.优化Attribute 6.Attribute性能优化完整代码 7.总结参考资料:关于Attribute的缓存思... 阅读全文
posted @ 2013-10-17 22:40 HackerVirus 阅读(336) 评论(0) 推荐(0)
摘要: 使用NeatUpload控件实现ASP.NET大文件上传一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不能这样上传了。NeatUpload是一款为数不多的开源、免费的文件上传控件,不仅支持大文件上传,而且还显示上传进度。下面我们来介绍一下NeatUpload控件的使用方法。一、下载NeatUpload并解压在任意位置http://neatupload.codeplex.com/releases/view/59339,可以下载到最新的NeatUpload,目前最新版本应该是NeatUploadBinar 阅读全文
posted @ 2013-10-17 22:18 HackerVirus 阅读(285) 评论(0) 推荐(0)
摘要: 使用NeatUpload控件实现ASP.NET大文件上传一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不能这样上传了。NeatUpload是一款为数不多的开源、免费的文件上传控件,不仅支持大文件上传,而且还显示上传进度。下面我们来介绍一下NeatUpload控件的使用方法。一、下载NeatUpload并解压在任意位置http://neatupload.codeplex.com/releases/view/59339,可以下载到最新的NeatUpload,目前最新版本应该是NeatUploadBinar 阅读全文
posted @ 2013-10-17 22:16 HackerVirus 阅读(446) 评论(0) 推荐(0)
摘要: .net基础提升之.net和C#关系、运行过程、数据类型、类型转换、值类型和引用类型、数组以及方法参数等1..net 和 C# 的关系.net 是一个平台,C#是种语言,C#语言可以通过。net平台来编写、部署、运行。net应用程序,C#通过。net平台开发。net应用程序2.。net平台的重要组成FCL - 框架类库,即微软事先定义好的类的集合CLR - 公共语言运行时,即创建、部署、运行。net的必备环境3.C#源代码的运行过程通过csc命令将C#源代码编译成exe文件,即程序集,由MSIL(微软中间语言)组成,双击运行,通过CLR公共语言运行时,由于CPU只认识二进制代码,所以JIT会将 阅读全文
posted @ 2013-10-17 22:15 HackerVirus 阅读(183) 评论(0) 推荐(0)
摘要: MVC 5显示、创建、编辑、删除等功能实练在前天的学习小结中《15天学习MVC后的小结(分享经历与想法)》http://www.cnblogs.com/insus/p/3369870.html知道学习与练习过程中,走了一些弯路。分享出来之后,最大的收获,就是得到网友们的指点。今天Insus.NET想再起另外一个案例来演练,集中来演示MVC的最要功能,显示数据,显示单数据,创建添加数据,编辑更新数据和删除数据等。改正以前不足的方法,优化繁杂的代码,以及把今天学习掌握的知识也一起分享出来。数据库可以从下面链接下载:http://download.cnblogs.com/insus/SQL/Data 阅读全文
posted @ 2013-10-17 11:22 HackerVirus 阅读(1143) 评论(0) 推荐(0)
摘要: 做SharePoint开发有时候是一件比较痛苦的事情,毕竟庞大的框架总是笨重的~~往往如果采取传统的方式开发SharePoint的话,更改一个代码需要有以下操作:1)更改代码2)VS编译——》生成部署包3)将发布文件复制到服务器4)运行发布命令,等待发布完成(这个需要的时间比较长)5)验证运行结果是否正确更悲剧的是,如果运行后的结果不是预期的,那么上面这一套重来吧~~以至于在开发的时候,我曾经是这么认为的:不是在不断地等待中刷新,就是在不断地刷新中等待...那么如何改变这个状况呢?那就是使用前端技术进行开发。只要封装得好,那么SharePoint的99%的功能均能使用JavaScript实现。 阅读全文
posted @ 2013-10-17 11:21 HackerVirus 阅读(262) 评论(0) 推荐(0)
摘要: c#写个基础的Socket通讯 晚上想写点东西,想想把我刚来公司学的Sockt通讯写上来吧。要写的简单易懂点,新人们可以借鉴下哦,用控制台写。 先得说说Socket,与TCP/UDP啥关系,一直讲什么Socket通讯,TCP通讯,都被搞乱了,开始也搞不懂啥意思,引用网上大多数人讲的概念吧“Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。”我理解就是SOCKET是TCP、UDP的实现方式,用SOCKET编程可以实现TCP、UDP的通信。再. 阅读全文
posted @ 2013-10-17 10:49 HackerVirus 阅读(224) 评论(0) 推荐(0)
摘要: 炸弹人游戏开发系列(1):准备工作前言大家好!本系列博文记录了我的炸弹人游戏迭代开发的过程。在开发的过程中,代码会不断重构,领域模型会不断演变,高层划分也会不断变化。博文重点在于记录面向对象思想运用、重构、迭代开发的过程,对于游戏的实现细节和原理不会深入讨论。希望能与大家一起分享游戏开发的过程和乐趣,为大家运用oo思想和实践迭代开发提供力所能及的帮助。关键词面向对象、测试驱动开发、重构、迭代、领域模型、炸弹人游戏最终成果下面是完成整个游戏开发后的成果,大家可以先预览一下。游戏截图演示地址源码下载最终的领域模型最终的高层划分 层、包 对应的领域模型辅助操作层控件包PreLoadImg配置包C.. 阅读全文
posted @ 2013-10-17 10:22 HackerVirus 阅读(239) 评论(0) 推荐(0)
摘要: 汉化?莫要被这两个字吓到。其实你也可以汉化,跟着我的步骤来,你也可以进行汉化,Let`s go!!!(大鸟飘过)这里汉化的是微软企业类库的配置管理工具EntLibConfig.exe。当然,这里的企业类库是3.0版本的。准备工作: 你需要下载Entprise Library,然后找到配置管理工具EntLibConfig.exe。 将EntLibConfig.exe及其依赖的文件放置在D:\el目录下如果不想下载微软企业类库,也没有关系,这里的方法还是适用的。首先看一下,要汉化的软件界面:汉化后的界面(部分):1.第一步 反汇编EntLibConfig.exe文件首先,在开始菜单中找到v... 阅读全文
posted @ 2013-10-17 09:56 HackerVirus 阅读(406) 评论(0) 推荐(0)