12 2012 档案

摘要:数据库性能优化一:数据库自身优化 优化①:增加次数据文件,设置文件自动增长(粗略数据分区) 1.1:增加次数据文件 从SQLSERVER2005开始,数据库不默认生成NDF数据文件,一般情况下有一个主数据文件(MDF)就够了,但是有些大型的数据库,由于信息很多,而且查询频繁,所以为了提高查询速度,可以把一些表或者一些表中的部分记录分开存储在不同的数据文件里由于CPU和内存的速度远大于硬盘的读写速度,所以可以把不同的数据文件放在不同的物理硬盘里,这样执行查询的时候,就可以让多个硬盘同时进行查询,以充分利用CPU和内存的性能,提高查询速度。在这里详细介绍一下其写入的原理,数据文件(MDF... 阅读全文
posted @ 2012-12-28 17:45 plugin-loader 阅读(402) 评论(0) 推荐(0)
摘要:看到哦这篇文章感觉不错也就学习了一下:原生态的ajax中是不能进行跨域访问服务器的,那么这样也算是一段残缺,今天看到园中可以使用jquery的jsonp协议进行跨域访问服务器着实很是新鲜:先来了解神马是jsonp:JSONP即JSON with Padding。由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源。如果要进行跨域请求,我们可以通过使用html的script标记来进行跨域请求,并在响应中返回要执行的script代码,其中可以直接使用JSON传递javascript对象。这种跨域的通讯方式称为JSONP。很明显,JSONP是一种脚本注入(Scr 阅读全文
posted @ 2012-12-25 23:03 plugin-loader 阅读(157) 评论(0) 推荐(0)
摘要:简单来说,设计模式就是对特定类型问题重用的软件解决方案,这些问题在软件开发的时候经常会碰到,通过很多年的实践,专家对一些相似地问题总结出一些方法,这些方法就封装成为一种设计模式,所以: 模式是一种经验证的用于解决软件开发问题的方案。 模式是可扩展的,因为他们经常被结构化而且你需要遵循某些规则。 对于相似的问题,模式可被重用 在接下来的教程中,我们将直接给出一些设计模式的例子。 设计模式的种类 软件开发中,设计模式通常分为几种类别,在这篇教程中我们重点介绍以下三种: 1、创建型模式专注于构建对象或者类,对象的创建听起来很简单(在某些情况下),但是大型应用需要控制对象的创建过程。 ... 阅读全文
posted @ 2012-12-25 12:55 plugin-loader 阅读(230) 评论(0) 推荐(0)
摘要:其实在c#中模拟是很简单的 因为他有了队列和栈 不用我们在去创建这样的数据结构了,这个模式也是很简单,在我的理解下 他解决了生产者和消费这之间冲突的问题,说白了也就是多线程争抢资源的问题,一开始学习操作系统的时候对这个模式很是复杂 还设计到了信号量机制,但是现在仔细想来也没有什么必要了!总体思路: 1. 创建一个队列 :用来当作生产者和消费者的缓冲区,所以这个缓冲区应该是做到线程内唯一的 2. 创建两个线程 一个是生产者线程 另一个是消费者线程,做到生产者生产了物品就放到这个缓冲区中,而消费者时时刻刻可以从这个缓冲区中去拿物品,只要是有就可以拿,生产者则只要是缓冲区不满就可以往里面放,而且队列 阅读全文
posted @ 2012-12-24 23:13 plugin-loader 阅读(1607) 评论(0) 推荐(0)
摘要:最近在做一个网站的搜索功能,其中有一个功能模块是,当用户输入的汉字是错误的也能识别出来其相似的结果,拿到这个功能后思考之后,决定使用微软的拼音转换组件:Simplified Chinese Pin-Yin Conversion Library 可以把想要搜索的字段换成拼音进行存储这个类库并不太难,而且微软提供了开发文档:相信一看就会:代码如下: /// <summary> /// 获取指定字符串中的单个字符的(不包括多音字)拼音 /// </summary> /// <param name="str"></param> /// 阅读全文
posted @ 2012-12-24 22:54 plugin-loader 阅读(265) 评论(0) 推荐(0)
摘要:[Serializable] public class Person { private string name; public string Name { get { return name; } set { name = value; } } private int age; public int Age { get { return age; } set { age = value; } } private char gender; public char Gender { get { return gender; } set { gender = value; } } public P 阅读全文
posted @ 2012-12-21 10:18 plugin-loader 阅读(542) 评论(0) 推荐(0)
摘要:CLR垃圾回收器根据所占空间大小划分对象。大对象和小对象的处理方式有很大区别。比如内存碎片整理 —— 在内存中移动大对象的成本是昂贵的,让我们研究一下垃圾回收器是如何处理大对象的,大对象对程序性能有哪些潜在的影响。 大对象堆和垃圾回收 在.Net 1.0和2.0中,如果一个对象的大小超过85000byte,就认为这是一个大对象。这个数字是根据性能优化的经验得到的。当一个对象申请内存大小达到这个阀值,它就会被分配到大对象堆上。这意味着什么呢?要理解这个,我们需要理解.Net垃圾回收机制。 如大多人所知道的,.Net GC是按照“代”来回收的。程序中的对象共有3代,0代、1代和2代,0代是最... 阅读全文
posted @ 2012-12-18 22:30 plugin-loader 阅读(206) 评论(0) 推荐(0)
摘要:一,选择题(皆为单选):1,以下谁是二进制思想的最早提出者?a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。答案:A解释:伏羲,中华民族人文始祖,是我国古籍中记载的最早的王。伏羲为人类文明进步做出的具大贡献是始画八卦。八卦可以推演出许多事物的变化,预卜事物的发展。八卦是人类文明的瑰宝,是宇宙间的一个高级“信息库”。早在十七世纪,德国大数学家莱布尼兹创立“中国学院”,研究八卦,并根据八卦的“两仪,四象,八卦,十六,三十二,六十四卦”,发明了二进位记数和当地欧洲先进的计算机。八卦中包含的“二进法”,现在广泛地应用于生物及电子学中。注意:题中问的是“思想”的最早提出者,所以答案为A参考:http:// 阅读全文
posted @ 2012-12-18 12:51 plugin-loader 阅读(408) 评论(0) 推荐(0)
摘要:一般经常使用的分词算法汇总:1、基于字符串匹配的分词算法(机械分词算法),按照一定的策略将待分析字符串与“充分大的”机器字典中的词条进行匹配,基于字符串匹配的分词方法主要是正向匹配和逆向匹配,按照长度不同优先匹配可以分为:最大最长匹配和最小最短匹配。这种方法主要是依据字典进行匹配,逐词遍历,词条的选择影响分词的效果。2、基于理解的方法:在分词的同时进行语义分析,利于语法信息和语义信息处理歧义现象。3、基于统计的方法:对语料中的字组频率进行计算,不考虑切分字典。 中文分词算法词典匹配,基于统计,最大匹配、最小匹配对词的长度和字数进行匹配,是关键字排名的核心,而正向匹配和逆向匹配解决了网页内容词与 阅读全文
posted @ 2012-12-17 22:48 plugin-loader 阅读(281) 评论(0) 推荐(0)
摘要:Ajax方法调用WebService 具体代码如下,简单、易用性强WebService 端:创建webservice服务,并创建服务端代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;using System.Data;namespace jQuery.Learning{ ///<summary> /// WebService1的摘要说明 /// </summary> [WebService(Nam 阅读全文
posted @ 2012-12-15 15:44 plugin-loader 阅读(353) 评论(0) 推荐(0)
摘要:一、向前端优化二、减少数据库操作 三、减少磁盘IO 详情如下:向前端优化指的是,在不影响功能和体验的情况下,能在浏览器执行的不要在服务端执行,这样既节省了页面生存周期所浪费的相应时间,也增大了带宽和服务器压力,能在缓存服务器上直接返回的不要到应用服务器,程序能直接取得的结果不要到外部取得,本机内能取得的数据不要到远程取,内存能取到的不要到磁盘取,缓存中有的不要去数据库查询。减少数据库操作指减少更新次数、缓存结果减少查询次数、将数据库执行的操作尽可能的让你的程序完成(例如join、like查询),减少磁盘IO指尽量不使用文件系统作为缓存、减少读写文件次数等。 阅读全文
posted @ 2012-12-09 22:25 plugin-loader 阅读(141) 评论(0) 推荐(0)
摘要:<script type="text/javascript"> function SetCookies(name,value){ var date =new Date(); document.cookie=name+"="+escape(value)+";expries="+date.toGMTString(); } function GetCookie(name){ var coolie=document.cookie.split(";"); for(var i=0;i<coolie.lengt 阅读全文
posted @ 2012-12-08 22:41 plugin-loader 阅读(113) 评论(0) 推荐(0)