摘要:
网上有很多关于程序员必读的书单,感觉都不是很有代表性。今天无意看到了一篇总结还算不错的书单。和园友们分享。以下书单中提到的书看过一部分,给我的感觉是经典就是经典。读过之后确实得到了很多东西,它们都潜在的影响着我。透过书更能感受到的是一种思想,理性,透过经典,能得到质的升华。另如果园友有好书、何不一起分享进步以下是原文:哪本书是对程序员最有影响、每个程序员都该阅读的书?国外知名网站stackoverflow上有一个问题调查:哪本书是对程序员最有影响、每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书《Code 阅读全文
posted @ 2012-02-14 14:55
HackerVirus
阅读(198)
评论(0)
推荐(0)
摘要:
开篇一个优秀的程序、优美的代码,一般都具有良好的局部性。简洁、高效是每个程序员的追求。了解程序的局部性,能编写出更高效的代码。因为有良好局部性的程序能更好的利用缓存。不过这方面的只是将在以后的文章中介绍。这篇文章就简单的介绍以下程序的局部性原理。什么是局部性局部性通常有两种形式:时间局部性(temporal locality)时间局部性指的是:被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。空间局部性(spatial locality)如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。(这样说过于理论了些,在下面的论述中会有例子说明)数据引用局部性例子是最好说明问题的途径 阅读全文
posted @ 2012-02-14 14:53
HackerVirus
阅读(238)
评论(0)
推荐(0)
摘要:
【软件简介】 陈灯可重用代码段管理器为一款个人软件作品,其可作为一款个人和团队内部的代码段管理软件使用,实现了可重用代码段的入库、搜索和共享等功能。软件具有类似Google的智能搜索框、高效准确的搜索算法、语法高亮度显示、支持附件上传下载、搜索词导航等特点并采用数据预加载以及异步数据加载技术改善了用户体验。 软件包括桌面版本和插件版本两种版本,桌面版本为独立的应用程序,不与IDE集成,使用范围更加广泛,目前最新版本为2.5;插件版本集成在Visual Studio(5.0~10.0)集成开发环境中,使用更为方便。该发布版本为插件版5.0版本。【软件特点】1、软件采用开源的Sqlite数据库保存 阅读全文
posted @ 2012-02-14 14:39
HackerVirus
阅读(304)
评论(0)
推荐(0)
摘要:
今天这里将简单介绍一下怎样在VS 2010里面使用一个工具来创建代码块。因为这里是需要一个VS 2010的插件,所以需要下载安装后才能在VS 2010里面使用,插件的名称为:SnippetDesigner-For VS2010.vsix(下载地址)。有了这个工具,你就可以很方便地来创建属于你自己的code snippet了。也许有些人不知道snippet为何物,所以这里简单介绍一下为什么要使用它,以及使用它会给我们的开发带来怎么样的便利。我们在开发当中,避免不了一些重复的开发工作,在你漫长的开发以及学习当中,你会发现有这么一部分代码是你时常会使用到的。我想这个工具也是针对这个原因出来的吧,它就 阅读全文
posted @ 2012-02-14 11:32
HackerVirus
阅读(388)
评论(0)
推荐(0)
摘要:
最近为了换一份新工作,准备了不少笔试题。从笔试当中自己发现了不少基础知识的盲点。很庆幸这样的机会,可以让自己对于基础知识的理解又上升一个台阶。此文介绍C#里面的序列化与反序列化的知识,如果你是大鸟,请口下留情。首先,什么是序列化与反序列化呢?序列化就是将对象的状态信息转换为可以存储或传输形式的过程。其实就是将对象持久化,比如说把对象保存为二进制或者是XML的方式。可以将对象序列到流、磁盘、内存和网络等等。相反,反序列化则是将存储或传输形式转换为对象的过程。那么,运用序列化的好处又是什么呢?(1)以某种存储形式(二进制或者是XML等)使对象持久化。序列化和反序列化用来保存内存中的数据,它不是C# 阅读全文
posted @ 2012-02-14 11:30
HackerVirus
阅读(357)
评论(0)
推荐(0)
摘要:
一、T4简介T4(Text Template Transformation Toolkit)在 Visual Studio 中,“T4 文本模板”是由一些文本块和控制逻辑组成的混合模板,它可以生成文本文件。在 Visual C# 或 Visual Basic 中,控制逻辑编写为程序代码的片段。生成的文件可以是任何类型的文本,例如网页、资源文件或任何语言的程序源代码。T4 文本模板有两种类型: 1、运行时模板 可在应用程序中执行运行时 T4 文本模板(“预处理过的”模板)以便生成文本字符串(通常作为其输出的一部分)。 若要创建运行时模板,请向您的项目中添加“已预处理的文本模板”文件。 另... 阅读全文
posted @ 2012-02-14 11:26
HackerVirus
阅读(427)
评论(0)
推荐(0)
摘要:
条件获取(Conditional Update)可以避免相同数据的重复传输,进而提高性能。条件更新(Conditional Update)用于解决资源并发操作问题。如果我们预先获取一个资源进行修改或者删除,条件更新检验帮助我们确认资源被获取出来到针对它的修改/删除操作被提交的这段时间内是否被其他人改动过。[源代码从这里下载]一、HTTP对条件更新的支持HTTP为条件更新提供了相应的报头,我们按照分析条件获取的方式来分析条件更新在HTTP请求/回复过程中的实现。客户端第一次向服务端发起针对某个资源的请求,服务端除了将资源数据作为回复消息主体返回之外,会将与资源关联并且能够可以用于对其进行对等性判 阅读全文
posted @ 2012-02-14 11:25
HackerVirus
阅读(236)
评论(0)
推荐(0)
摘要:
开篇编写高效的程序并不只在于算法的精巧,还应该考虑到计算机内部的组织结构,cpu微指令的执行,缓存的组织和工作原理等。好的算法在实际中不见得有高效率,如果完全没有考虑缓存、微指令实现的话。前两篇博文局部性原理浅析介绍了程序的局部性原理,如何写出局部性良好代码。提高程序性能、何为缓存讨论了存储器层次结构,计算机内部的存储结构、缓存的概念,简单的介绍了缓存的工作机制。建议先阅读前两篇博文,虽然他们之间联系不大,在前面也有一些对本文的铺垫。而且,这是一个系列的文章。旨在优化程序性能。这篇博文主要介绍的是缓存的组织、工作原理。拨开迷雾,让你更加清晰的认识缓存。通用缓存结构回顾在提高程序性能、何为缓存中 阅读全文
posted @ 2012-02-14 11:24
HackerVirus
阅读(169)
评论(0)
推荐(0)
摘要:
在我的Winform开发框架或者WCF开发框架中,均提供多种界面样式选择,其中有一种就是界面效果比较好的DevExpress控件界面样式,但是我们一般在开发环境中使用,安装包的大小都很大,100多M,那么我们在部署到客户端应用的时候,该如何操作呢?我们分析DevExpress的特殊补丁发现,他们是一个DOS批处理文件,主要是创建相应的目录,然后把DevExpress的三个特殊文件复制到对应的目录中,就可以实现DevExpress的正常使用了。那个DOS批处理文件内容如下所示。一般我们部署客户端应用的时候,都会制作一个安装包,我们只需要自定义安装操作中正确执行这些DOS命令即可。但是,在实际安装 阅读全文
posted @ 2012-02-14 11:21
HackerVirus
阅读(307)
评论(0)
推荐(0)
摘要:
面向对象与基于对象几乎每个开发人员都有面向对象语言(比如C++、C#、Java)的开发经验。 在传统面向对象的语言中,有两个非常重要的概念 - 类和实例。 类定义了一类事物公共的行为和方法;而实例则是类的一个具体实现。 我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对象的语言,而是基于对象的语言。 这里面就有一些有趣的特性,比如JavaScript中所有事物都是对象, 包括字符串、数组、日期、数字,甚至是函数,比如下面这个例子:?12345678910// 定义一个函数 - 阅读全文
posted @ 2012-02-14 11:20
HackerVirus
阅读(164)
评论(0)
推荐(0)
浙公网安备 33010602011771号