摘要:                    
不知道大家对SQL系列的感不感兴趣 先在这里探个路 本文针对的读者为SQL菜鸟 欢迎大牛驳论或者补充既然是探路篇 就先说下数据过滤中的偏门匹配 希望能给大家带来收获create table 虫子的临时表( 编号 varchar(30), 名称 varchar(30), 备注 varchar(100))insert into 虫子的临时表 values('编号01','name01','这是一个奇迹')insert into 虫子的临时表 values('编号02','name02','这是一个神话'                阅读全文
            
        随笔档案-2011年10月
抓虫系列(五) 浅谈依赖注入与控制反转
2011-10-23 23:09 by 熬夜的虫子, 3403 阅读, 收藏,
摘要:                    
前篇回顾:前篇虫子介绍了3个"池"中线程池的相关问题,不过谬论的可能性比较大 仅代表虫子的个人观点了- -本章结合实例给大家阐述下依赖注入与控制反转可以给自己的项目带来哪些优缺点。先回顾下OO的一些设计原则:开放封闭原则 软件实体(类、模块、函数等)应该是可以开展的,但是不可修改。依赖倒置原则 抽象不应该依赖于细节。细节应该依赖于抽象。接口隔离原则 不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。......随着面向对象分析与设计的发展,一个良好的设计,核心原则之一就是将变化隔离,使得变化                阅读全文
            
        抓虫系列(四) 不要轻视web程序中常用的三个"池" 之线程池
2011-10-22 14:12 by 熬夜的虫子, 917 阅读, 收藏,
摘要:                    
前篇回顾:上篇讲了数据库连接池的问题,其实关于是否是活动连接还是有很大问题可以挖掘的。这个有空虫子再和大家交流了本篇谈下线程池的相关问题,希望各位看官留个爪印,应用程序池和数据库连接池可能大部分程序员不需要关心那个,不过线程池可所谓是重头戏了。先把虫子的观点放上: 个人表示排斥在项目中使用ThreadPool这个类,至于.net中关联到ThreadPool的资源我们暂且不做讨论。如果需要操作线程池可以使用第三方例如SmartThreadPool或者自己按照自己的项目需求开发一个。线程池的相关概念我就不多说了,同样这里我只介绍下。线程池中容易被忽视的问题。一. 相对池外线程,池内线程操作的性能极                阅读全文
            
        【系列索引】结合项目实例 回顾传统设计模式 打造属于自己的模式类系列
2011-10-22 13:54 by 熬夜的虫子, 1349 阅读, 收藏,
摘要:                    
网上设计模式的文章很多 虫子就不再和大家扯一些没有营养的理论 开此系列博文 一方面因为自己颓废了大半年 趁此机会回顾一下 另一方面希望能够帮助新人走出设计模式的误区,如何做好设计模式1.在发掘新的模式之前,必须熟悉理解现有的模式。许多模式看起来像是全新的,但是事实上只是现有模式的变相。通过研究现有的模式更容易的识别模式。2.花时间反思与评估,反思过去的经验,并将它用在以后的新设计当中,这样你所了解的设计模式才是财富。3.将自己的想法记录下来,让自己回顾也让别人能够理解。4.让其他人使用你的设计模式,然后再持续改进。...这个系列完成后希望大家都能结合自己的项目实例思考引导目录结合项目实例 打造                阅读全文
            
        【系列索引】架构类随笔
2011-10-22 13:21 by 熬夜的虫子, 339 阅读, 收藏,
摘要:                    
CUDA并行计算框架(一)概念相关、内容比较抽象。CUDA并行计算框架(二)实例相关。CUDA并行计算框架(三)应用前景。相比价微软的并行计算框架分布式文件系统应用(上篇 理论)分布式文件系统应用(下篇 实践)视频网站相关(视频解码、特大文件上传等) 针对web高并发量的处理 针对sql高并发量的处理关于领域驱动设计与面向数据库设计动态方法与动态代理(上篇)动态方法与动态代理(下篇) 重构与设计解析(非原创 资料整理).NET互联网网站架构(非原创 资料整理).....                阅读全文
            
        【系列索引】热门技术随笔
2011-10-22 13:02 by 熬夜的虫子, 296 阅读, 收藏,
摘要:                    
mongodb相关小试RavenDBXSS跨站脚本实例wcf、webservivce、remoting、wse、Enterprise Service、msmq.... 乱谈(非原创 资料整理)Webservice 安全与应用(非原创 资料整理)Windows、(*)nux回忆录 作为架构师的你 值得拥有 O(∩_∩)O~ (非原创 资料整理)                阅读全文
            
        【系列索引】3年再回头系列 本系列为虫子学习整理 非虫子原创
2011-10-22 12:59 by 熬夜的虫子, 454 阅读, 收藏,
摘要:                    
此系列文章大部分为网上资料或者参考其他博主的博文 如果有涉及到版权问题 请和虫子联系3年经验回头再学Asp.net系列--基础篇(序)3年经验回头再学Asp.net系列--基础篇(一)3年经验回头再学Asp.net系列--基础篇(二)3年经验回头再学Asp.net系列--基础篇(三)3年经验回头再学Asp.net系列--基础篇(四)3年经验回头再学Asp.net系列--基础篇(五)3年经验回头再学Asp.net系列--基础篇(六)                阅读全文
            
        抓虫系列(三) 不要轻视web程序中常用的三个"池" 之数据库连接池
2011-10-20 14:31 by 熬夜的虫子, 2064 阅读, 收藏,
摘要:                    
前篇回顾:应用程序池在项目中引发的问题不多,不过如果遇到了没有经历过的话可能会比较茫然,呵呵。当然重点还是数据库连接池与线程池了。本篇虫子就结合demo程序给大家演示下数据库连接池会给大家的程序带来什么样的影响。private string mConnectionString = "server=127.0.0.1;uid=chongzi;pwd=123456;database=AntiXSS;Connection Reset=FALSE;Max Pool Size=15"连接字符串中设定池化,池的最大数目为15 [Serializable] public class DA                阅读全文
            
        抓虫系列(二) 不要轻视web程序中常用的三个"池" 之应用程序池
2011-10-19 15:34 by 熬夜的虫子, 2054 阅读, 收藏,
摘要:                    
前篇回顾:上一篇虫子给大家介绍了线程安全中容易出错的地方 内容不深 引发大家的思考与关注 看似简单的小程序可是为引发大麻烦的额 ~ ~下面虫子给大家介绍下web应用范围的应用程序池、线程池以及数据库连接池中容易出现的问题首先来看应用程序池你的session丢失了吗?! 有 当然有 不过我们一般都是设置超时时间或者新版本更新修改了配置文件导致丢失的。好吧,可以预见的异常虫子就不和大家多扯了。 应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影                阅读全文
            
        抓虫系列(一) 从简单程序开始 线程安全
2011-10-19 12:03 by 熬夜的虫子, 2756 阅读, 收藏,
摘要:                    
简单的程序也可以存在很多值得思考的地方,作为一名程序员或者架构师,首先要具备的就是追根和追新的心态。抓虫系列的代码我想大部分人都接触过或者犯过这样的错误,有些可能涉及的知识面很基础很浅,留个烂文在此引导新手、路人。虫子尽量将问题放大,追的深一点偏一点,如果大家有其他自己的想法或者补充也可以留爪印。PS一下:看了下面的评论,大家有点误会虫子的意思了,此系列的博文旨在抓虫,从抓虫中关注我们的程序中容易出现的问题而并非是找寻更佳的解决方案 嘿嘿~ ~先看原始bug程序class testObj { public object Result { get; set; } ...                阅读全文
            
        CUDA并行计算框架(三)应用前景。相比价微软的并行计算框架
2011-10-10 11:26 by 熬夜的虫子, 1264 阅读, 收藏,
摘要:                    
关于微软.net4.0推出的并行计算框架 还没深入了解有兴趣的同学可以参考下http://bitfan.blog.51cto.com/907048/200199系列博文不过发表下个人的观点 微软.NET 4.0中引入的并行扩展(包括任务并行库TPL和PLINQ)开发技术基于cpu。从应用领域上来说CPU擅长处理不规则数据结构以及递归算法、分支密集型代码和单线程程序。这类程序任务拥有复杂的指令调度、循环、分支、逻辑判断以及执行等步骤。例如,操作系统、文字处理等,而GPU擅于处理规则数据结构。例如,光影处理,游戏显像等。从微架构上看,CPU和GPU看起来完全不是按照相同的设计思路设计的,当代CPU                阅读全文
            
        CUDA并行计算框架(二)实例相关。
2011-10-10 11:25 by 熬夜的虫子, 12777 阅读, 收藏,
摘要:                    
从这部分开始 结合虫子的demo程序给大家分析下cuda的性能与可行性。一。先概述下实现流程。 CUDA在执行的时候是让host里面的一个一个的kernel按照线程网格(Grid)的概念在显卡硬件(GPU)上执行。每一个线程网格又可以包含多个线程块(block),每一个线程块中又可以包含多个线程(thread)。每一个kernel交给每一个Grid来完成。当要执行这些任务的时候,每一个Grid又把任务分成一部分一部分的block,block再分线程来完成。每个Grid中的任务是一定的。二维线程块的索引关系为如下:unsigned int xIndex = blockDim.x * block.                阅读全文
            
        CUDA并行计算框架(一)概念相关、内容比较抽象。
2011-10-10 11:21 by 熬夜的虫子, 2934 阅读, 收藏,
摘要:                    
一. 概念。1. 相关关键字。CUDA(Compute Unified Device Architecture)。GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。2. CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。。3. 从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动。开发库是基于CUDA技术所提供的应用开发库。运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调                阅读全文
            
        趣谈.net大型电子商务 亲~ 走过路过不要错过~
2011-10-08 15:45 by 熬夜的虫子, 672 阅读, 收藏,
摘要:                    
老衲才不比子建 貌不似潘安 富不及范蠡 ----摘自虫子语录 2011十月刊 既然是趣谈,那就放开传统的逻辑随便扯了。对于电子商务的概念,虫子其实不感兴趣,就当是个履历吧,关于电商的一些琐碎的经验结合.net平台和大家一起分享了。 什么是电子商务?内事问度娘、外事问谷姐。略过! 既然是园子内的文章,那就先把羊头挂上,先简单扯扯一般大型电子商务网站的相关话题。一 先看业务模型: 第一层,货源:招商采购,商品录入,目录发放 第二层,渠道:电话、主站、微博、手机、社区订购 第三层,交易:客户服务,账户交易,退换货处理 第四层,进销存:物流配送,仓库管理,分仓,快递管理 第五层,其他:工作...                阅读全文
            
        结合项目实例 回顾传统设计模式(十一)代理模式
2011-10-07 17:58 by 熬夜的虫子, 593 阅读, 收藏,
摘要:                    
所谓的代理,就是代表某个真实的对象。在这个设计模式中,代理可以假装自己是远程对象,但其实只是一个中间角色。客户对象所作的就像是在做远程方法调用,但其实只是调用本地资源中得“代理”对象上得方法,再由代理处理所有网络通信的底层细节。其实其实项目实例神马的 根本就没必要了 看一下Web Service的调用方式大家也许就明白了,它会在客户端生成一个代理类 - - 已经很完美的诠释了代理模式这个概念 虫子放下水 直接拿以前监控项目中客户端采集的代理方法了 --_____--服务器端 [WebMethod]publicvoidMem_handleforM(stringvalue,intmonitorid                阅读全文
            
        结合项目实例 回顾传统设计模式(十)状态模式
2011-10-07 09:34 by 熬夜的虫子, 650 阅读, 收藏,
摘要:                    
谈到状态模式我们在这里所谈论的是一个通用的技巧:如何对对象内的状态建模----通过创建一个实例变量来持有状态值,并在方法内书写条件代码来处理不同状态。我们要把一个状态的所有行为放在一个类中。这么一来我们将行为局部化了,并使得事情更容易改变和理解。虫子还是拿订单系统来说事了///<summary>///状态接口///</summary>publicinterfaceSimpleState{//检查购物车voidCheckCart();//检查账号voidCheckAcount();//提交订单voidOrderSumbit();}publicclassOrder{//初始                阅读全文
            
        结合项目实例 回顾传统设计模式(九)迭代器模式
2011-10-06 23:17 by 熬夜的虫子, 511 阅读, 收藏,
摘要:                    
关于迭代器模式,我们所需要知道的第一件事情就是它依赖于一个名为迭代器的接口。一旦我们有了这个接口,就可以为各种那个对象集合实现迭代器:数组、列表、散列表。项目实例我们就拿用户角色模块来举例背景1.某用户作为应用管理员获取一组关于管理角色的arraylist权限组2.该用户作为应用开发者获取一组关于开发角色的数组形式的权限组...///<summary>///迭代器接口///</summary>publicinterfaceRoleIterator{//返回一个布尔值,让客户知道是否还有更多的元素boolhasnext();//返回下一个元素Objectnext();}/                阅读全文
            
        结合项目实例 回顾传统设计模式(八)模板方法模式
2011-10-06 15:32 by 熬夜的虫子, 637 阅读, 收藏,
摘要:                    
模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。普通的设计算法由实现类直接控制,在很多功能类似的对象中存在重复。并且由于类的组织方式不具有弹性,所以往往新加入新的相似模块时需要作大量冗余的步骤。我们还是那电商的订单提交来说事 ~ ~///<summary>///模板类///</summary>publicabstractclassOrderSubmit{publicOrderSubmit(){//检查购物车CheckCart();//检查支付方式CheckPaytype();//检查用户地址CheckAddress();//提交订单SubmitOrde                阅读全文
            
        结合项目实例 回顾传统设计模式(七)适配器模式(附外观模式)
2011-10-06 09:38 by 熬夜的虫子, 732 阅读, 收藏,
摘要:                    
记得以前章节谈过的装饰者模式,我们将对象包装起来,赋予他们新的职责。而现在则是以不同目的,包装某些对象:让他们的接口看起来不像自己而像是别的东西。这样就可以在设计中,将类的接口转换成想要的接口,以便实现不同的接口。在项目中,适配器模式一般扮演者协调者的作用。1.客户通过目标接口调用适配器的方法对适配器发出请求2.适配器使用被适配者接口把请求转换成被适配者的一个或多个调用接口3.客户接受到调用的结果,但并未察觉这一切是适配器在起转换作用另外还有一种特殊情况,万一系统新旧并存,旧的部分期望旧的厂商接口,但我们却已经使用新厂商的接口编写了这一部分,这个时候该怎么办?这里使用适配器,那里却使用未包装的                阅读全文
            
        结合项目实例 回顾传统设计模式(六)命令模式
2011-10-05 14:56 by 熬夜的虫子, 580 阅读, 收藏,
摘要:                    
命令模式将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。用户程序在使用的时候,只与该命令对象打交道,而不用与一类对象打交道,降低了耦合性,提高了程序设计的灵活性。我们还是那数据库操作为例publicclassDBInstance{publicvoidExecuteNonQuery(){}publicvoidExecuteDataset(){}}publicclassSqlInstance:DBInstance{publicvoidExecuteNonQuery(){Console.WriteLine("thisisaSqlInstanc                阅读全文
            
        结合项目实例 回顾传统设计模式(五)单例模式
2011-10-04 14:05 by 熬夜的虫子, 544 阅读, 收藏,
摘要:                    
这个...... 大家应该熟的不能再熟了 虫子就不班门弄斧了 privatestaticobjectLockKey=newobject();privatestaticT_Instance;publicstaticTGetInstance(){returnGetInstance(null);}publicstaticTGetInstance(Func<T>onCreateInstance){if(_Instance==null){lock(LockKey){if(_Instance==null){try{if(onCreateInstance==null)_Instance=newT                阅读全文
            
        结合项目实例 回顾传统设计模式(四)工厂模式(简单工厂、普通工厂、抽象工厂)
2011-10-04 13:19 by 熬夜的虫子, 885 阅读, 收藏,
摘要:                    
关于工厂模式和单例模式 大部分项目这2种模式都很常见例如在orm框架中 工厂模式常用来封装数据库的创建 我们分3种case来看 简单工厂模式 普通工厂模式 抽象工厂模式抽象一点的说 工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。直接看实例一般惯性思维 我们遇到分支判断时会这样publicclassNormalCase{privateDBInstancedbInstance;publicNormalCase(stringtype){if(type.Equals("SQL")){dbInstance=newSqlInstance();}elseif                阅读全文
            
        结合项目实例 回顾传统设计模式(三)装饰者模式
2011-10-02 15:09 by 熬夜的虫子, 757 阅读, 收藏,
摘要:                    
说到这个模式的项目实例 虫子也满头疼的 所谓装饰者模式说白了动态将职责附加到对象上。如果你在项目某个场景中需要功能扩展根据基类衍生出非常多的子类,那么装饰者模式无疑是很好的。不过其实在实际的项目中,往往大家不直接衍生子类,而是通过组合的方式,根据逻辑讲各种扩展叠加来,对外公布的只是一个标签一个壳而已。所以这个章节,虫子就虚构一个实例了。还拿电商来说、点券赠品系统。背景:1.所有点券、优惠券、赠品券、积分继承同一个基类 基类券2.不用种类的券可以混合搭配 3.积分根据不同的场景可以配置不同的规则4.升级礼券在上层礼券基础上添加一般情况下 大家可以就这样设计了///<summary>/                阅读全文
            
        结合项目实例 回顾传统设计模式(二)观察者模式
2011-10-02 13:43 by 熬夜的虫子, 710 阅读, 收藏,
摘要:                    
观察者模式现在用的不是很多重点看下它的设计思想OK 下面继续消息中心的那点事///<summary>///数据中心///</summary>publicclassMessageData{publicvoidmessageSend(){stringtitle=observer.getTitle();stringcontent=observer.getContent();//针对具体实现编程,会导致我们以后再增加或者删除消息平台时必须要重新维护Platformlist有时甚至还要重构代码foreach(Platformpinobserver.Platformlist){p.                阅读全文
            
         
                    
                 浙公网安备 33010602011771号
浙公网安备 33010602011771号