Fork me on GitHub

2013年2月25日

摘要: CLR只记不看笔记(一) 有图有迷茫只记不看笔记:抄书的时候为了快速记忆,会写一份笔记。对我个人而言这份笔记写过就得,很少再看。即使想复习的时候也还是习惯看书。^_^本文对于任何读者基本没啥作用,所以怕浪费时间的读者尽量去看书吧。途中画问号的是迷茫指出,敬请各路大神解答。谢谢少于200字的文章不让发布,加入以下笔记第一章 CLR 执行模型 1.1 将源代码编译成托管模块 将编译器视为语法检查 和 “正确代码”的分析器。 C# 源代码文件 --> C# 编译器 --> 托管模块(中间语言和元数据) 托管模块是一个标准的32位windows可移植执行体(PE32)文件或是64位wind 阅读全文
posted @ 2013-02-25 16:37 HackerVirus 阅读(137) 评论(0) 推荐(0)
摘要: C#对图片文件的压缩、裁剪操作初探在做项目时,对图片的处理,以前都采用在上传时,限制其大小的方式,这样带来诸多不便。毕竟网站运维人员不一定会对图片做处理,经常超出大小限制,即使会使用图片处理软件的,也由于个人水平方面原因,处理效果差强人意。于是采用C#为我们提供的图像编辑功能,实现一站式上传,通过程序生成所需大小、尺寸的目标图片。进入正题-->先说图片压缩第一步:需要读取一个图片文件,读取方法:// <param name="ImageFilePathAndName">图片文件的全路径名称</param>public Image Resourc 阅读全文
posted @ 2013-02-25 16:24 HackerVirus 阅读(282) 评论(0) 推荐(0)
摘要: C#实例解析适配器设计模式今天在CSDN上看到一个园子里的朋友写了一篇ASP.NET的适配器设计模式的文章。其中提到了把输入的电压转换成灯泡适合的电压,这样才能使灯泡正常工作。正巧,我也在学习设计模式,其中翻看了一下秦小波写的《设计模式与禅》这本书,其中提到了设计模式的定义为:将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作。适配器模式又叫变压器模式,也叫包装模式。这里作者举得例子并没有实现把一个接口或类转换到另外一个可以使用的类,仅仅是把输入参数做了判断,这是不是适配器模式我不予置评,下面贴出我实现的适配器模式。我们知道,中国的电压是22 阅读全文
posted @ 2013-02-25 16:22 HackerVirus 阅读(183) 评论(0) 推荐(0)
摘要: 关于内存对齐的面试题郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定!请说出如下2种方式,哪种更好,为什么?方式一:void foo(int a, float b, char* ch, double d, float f);方式二:struct A{ int a; float b; char ch[5]; double d; float f;};void foo(A* pa);咋一看,不知道这题想要考什么,无从下手。其实该题是检查考生对于内存对齐的理解。下面我们先看看关于内存的一些知识。什么是字节... 阅读全文
posted @ 2013-02-25 16:21 HackerVirus 阅读(797) 评论(0) 推荐(0)
摘要: Spring.Net 如何管理您的类___对象的手动装配前面我们知道了什么是对象,什么是对象工厂,什么是应用程序上下文。这一次我们来看一下对象的装配。 Spring.Net 中有多种装配对象的方式,装配这个词可能比较学术化,我们可以理解为对象的创建。 Spring.Net 中常用的装配方式有手动装配和自动装配。手动装配就是根据配置文件然后装配对象,而自动装配是指Spring.Net根据指定的自动模式查找相关属性并自动装配。这两种装配方式之下又分为 通过属性进行装配,通过构造器进行装配,通过静态工厂装配,通过实例工厂装配,泛型的装配等等。这些装配方式在下面会一一介绍。4.4.1手动装配 在... 阅读全文
posted @ 2013-02-25 15:30 HackerVirus 阅读(195) 评论(0) 推荐(0)
摘要: Node.JS 模块,包管理与开发谈到组件,JavaScript是不具备这个特点的,以前JavaScript很多功能都依赖不同厂商的实现。基本在组件这个方面有如下特点: .JavaScript没有模块系统。没有原生的支持密闭作用域或依赖管理。 .JavaScript没有标准库。核心库外,没有文件系统的API等,不过Html5规范出来后,这些将会有的:)。 .JavaScript没有标准API接口。 .JavaScript没有包管理系统。当有了CommonJS(http://www.commonjs.org)规范的出现,其目标是为了构建JavaScript在包括Web服务器,桌面,命令行工具,及 阅读全文
posted @ 2013-02-25 14:51 HackerVirus 阅读(165) 评论(0) 推荐(0)
摘要: 多线程实现资源共享的问题学习与总结我么知道Java传统多线程的实现有两种方法,继承Thread类或者实现Runnable即可.线程启动时调用start()方法.实现Runnable接口相比继承Thread类有如下好处:1.避免单继承的局限,一个类可以同时实现多个接口2.适合资源的共享.实现多线程模拟售票点卖票来说明实现Runnable即可可以达到资源共享的目的.使用继承Thread类的多线程售票实现package org.dennist.thread.demo;/** * * TicketThread.java * * @version : 1.1 * * @author ... 阅读全文
posted @ 2013-02-25 14:49 HackerVirus 阅读(262) 评论(0) 推荐(0)
摘要: javascript异步编程之:世界上最短的Promise库类库源码 var Promise = function () { this.thens = []; }; Promise.prototype = { resolve: function () { var t = this.thens.shift(), n; t && (n = t.apply(null, arguments), n instanceof Promise && (n.thens = this.thens)); }, ... 阅读全文
posted @ 2013-02-25 14:45 HackerVirus 阅读(177) 评论(0) 推荐(0)
摘要: 声明本文为阅读此书笔记摘要。内容来自网络和本人手工输入。发布在博客上不作为任何商业应用。存在有大段的原文引用,若存在版权问题,请联系我,我将删除。Professional ASP.NET Design Patterns为什么学习设计模式?运用到ASP.NET应用程序中的设计模式、原则和最佳实践。设计模式和原则支持松散耦合、高内聚的代码,而这将提升代码的可读性、灵活性和可维护性。对于那些已经有很好解决方法的任务,没有理由再去进行重复劳动。著名建筑学家克里斯托弗·亚历山大 Christopher Alexander 曾经说过:每种模式描述了一个在我们周围不断重复发生的问题,以及该问题解决 阅读全文
posted @ 2013-02-25 14:44 HackerVirus 阅读(284) 评论(0) 推荐(0)
摘要: 优化反射性能的总结(中)优化反射性能的总结(中)阅读目录开始问题回顾能不能不使用委托?CodeDOM:在运行时编译代码如何调用编译结果招聘信息回到顶部问题回顾在上篇博客中,我介绍了优化反射的第一个步骤:用委托调用代替直接反射调用。然而,那只是反射优化过程的开始,因为新的问题出现了:如何保存大量的委托?如果我们将委托保存在字典集合中,会发现这种设计会浪费较多的执行时间,因为这种设计会引发三个新问题:1. 代码的执行路径变长了。2. 字典查找是有成本开销的。3. 字典集合的并发读写需要锁定,会影响并发性。再来回顾一下上次的测试结果吧:虽然通用接口ISetValue将反射性能优化了37倍,但是最终的 阅读全文
posted @ 2013-02-25 13:54 HackerVirus 阅读(138) 评论(0) 推荐(0)