Fork me on GitHub

2013年9月6日

摘要: 单链表反转的分析及实现我先画一个单链表,这个单链表有4个元素。我的思路就是,每次把第二个元素提到最前面来。比如下面是第一次交换,我们先让头结点的next域指向结点a2,再让结点a1的next域指向结点a3,最后将结点a2的next域指向结点a1,就完成了第一次交换。第一次交换然后进行相同的交换将结点a3移动到结点a2的前面,然后再将结点a4移动到结点a3的前面就完成了反转。第二次交换第三次交换思路有了,那就可以写代码了。这里我们需要额外的两个工作指针来辅助交换。这个下面的步骤慢慢理解下,结合图片。注意结点之间的关系要先断再连。步骤:定义当前结点 current,初始值为首元结点,current 阅读全文
posted @ 2013-09-06 10:52 HackerVirus 阅读(257) 评论(0) 推荐(0)
摘要: 微软的TransactionScope类是个好玩意 最近发现微软自带的TransactionScope(.Net Framework 2之后)是个好东东,提供的功能也很强大。 首先说说TransactionScope是什么,并能为我们做什么事情。其实看Transaction(事务)这个单词,我想大家已经能猜到个大概。不同于SqlTransaction的事务,因为现在做的项目都有不同的分层架构,如果不在数据库操作层里面做的话,那么使用TransactionScope是一种理想的方式,它是一个轻量级的事务类。所谓事务,就好比两个串联的开关,控制着一个灯泡,这两个开关可以理解为一个独立的单位,要.. 阅读全文
posted @ 2013-09-06 10:47 HackerVirus 阅读(1883) 评论(0) 推荐(0)
摘要: 第一个基于 Aliexpress API 的小程序 : 批量 Copy 产品到不同的店铺还没来得及用 API 重写软件, 先写个小程序来缓解一下手工压力: 批量Copy 产品到不同的店铺.开网店 ,无论是在阿里上,还是在eBay 上, 大部分小卖家都是一人操作好几个店, 七姑八姨的身份证都找来开店,只为了让订单多点. 相比那些靠拍马屁拍的厚颜无耻而上位的, 这些人更值得成为我的榜样: 虽然辛苦,但都是血汗钱. 拍马屁来的轻松, 但终究是个屁, 保不准哪天马拍你一手”史”!不扯了,扯多了森森的蛋疼.由于这个小工具具有商业价值,拿出去肯定有人愿意买,所以不提供下载,本文只聊聊一些其它的.先看看丑陋 阅读全文
posted @ 2013-09-06 10:43 HackerVirus 阅读(407) 评论(0) 推荐(0)
摘要: C#利用Emit反射实现AOP,以及平台化框架封装思路这是前两天扒的一段动态代理AOP代码,用的Emit反射生成子类来实现代理模式,在这里做个小笔记,然后讨论一下AOP框架的实现思路。 首先是主函数: static void Main(string[] args) { RealClass proxy = (RealClass)DynamicProxyBuilder.Wrap(typeof(RealClass)); proxy.Test(); Console.ReadKey(); } ... 阅读全文
posted @ 2013-09-06 10:39 HackerVirus 阅读(758) 评论(0) 推荐(0)
摘要: SQL语句调优-基础知识准备当确定了应用性能问题可以归结到某一个,或者几个耗时资源的语句后,对这些语句进行调优,就是数据库管理员或者数据库应用程序开发者当仁不让的职责了。语句调优是和数据库打交道的必备基本功之一。当你面对一个“有问题”的语句时,应该怎么分析它的问题所在,最后达到优化语句的目的呢?首先要想一想,“有问题”的语句“问题”究竟在那里?也就是说,你要优化的目标是什么。常见的需求有:1)语句需要访问大量的数据页面,造成内在压力、磁盘繁忙等。对于这类问题,所关心的是为什么语句要执行要访问这么多数据页面?是语句的结果集本身就比较大;还是SQL SERVER没有办法有效地seek,而是像大炮打 阅读全文
posted @ 2013-09-06 10:34 HackerVirus 阅读(272) 评论(0) 推荐(0)
摘要: 设计模式读书笔记-----代理模式 在我们实际生活中代理情况无处不在!你在淘宝上面买东西,你使用支付宝平台支付,卖家请物流公司发货、你请朋友帮你拿包裹,在这个过程汇总支付宝、物流公司、你朋友都扮演者“第三者”的角色在帮你完成物品的购买,这里的第三者我们可以将其称之为代理者。 所谓代理就通过引用一个新的对象来实现对真实对象的操作或者将新的对象当做真实对象的一个替身,这种实现的机制就是代理模式,通过引用代理对象来访问真实对象就是代理模式的设计动机。一、 模式定义代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。 在代理模式中,“第三者”代理主要是起到一个中介的作用,它连接客户端和 阅读全文
posted @ 2013-09-06 10:30 HackerVirus 阅读(174) 评论(0) 推荐(0)
摘要: 调用MobileAPI的设计(iOS篇)这一节讲如何发起网络请求。iOS用于调用MobileAPI的第三方组件很多,我们这里采用的是以下组件:1)ASIHTTPRequest,用于请求MobileAPI:http://allseeing-i.com/ASIHTTPRequest/2)SBJson,2.3版本,用于解析JSON:http://stig.github.com/json-framework/由于我们在MyLib中引用了SBJson,它里面有一个Category名为NSString+SBJSON,为了能使用它,请在MyLib和MyApp项目中的Other Linker Falgs设为- 阅读全文
posted @ 2013-09-06 10:27 HackerVirus 阅读(234) 评论(0) 推荐(0)

2013年9月5日

摘要: 浅谈接口与抽象类的区别从代码的语法定义和使用逻辑两个方面浅谈接口与抽象类的区别.1 语法定义篇(1)首先是定义语法接口 接口的定义是 [访问修饰符] interface 接口名 { // 接口成员 }抽象类 抽象类的定义是 [访问修饰符] abstract class 类名 { // 类成员 }定义语法中接口关键字interface,类关键字class没什么差异,抽象类多一个abstract修饰(2) 成员类型接口 对于接口,它是定义的一类能力,因此以功能为主,面向一类抽象能力,所以成员只与方法有关. 那么记忆接口能定义什么,就记住方法便可. 举个例子,对于接口成员可以包含:方法... 阅读全文
posted @ 2013-09-05 22:00 HackerVirus 阅读(247) 评论(0) 推荐(0)
摘要: 内存对齐机制深入剖析 在我的博客由底层和逻辑说开去--c++之引用的深入剖析里面提到内存对齐机制,我觉得这个有点意思,但是却不能仅从汇编层面就分析出个所以然来,因此就从inter的cpu 对内存访问路线的角度分析分析。 对于内存对齐 我们可以提出的问题从逻辑层面讲,就是内存对齐有什么意义,从底层来讲就是cpu怎么访问内存; 首先这个内存对齐机制是比较复杂的,百度一下很多人的理解,我发现大多数都和编译器以及c语言控制对齐方式联系起来,使的这个问题看似困难无比。其实我们 都知道,1.编译器又不是标准 2.c语言能更改对齐方式只能说明c语言强大,不能说明cpu按这种方式工作就是好的。嗯,那... 阅读全文
posted @ 2013-09-05 21:56 HackerVirus 阅读(890) 评论(0) 推荐(0)
摘要: C#设计模式(2)——简单工厂模式一、引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式——简单工厂模式。二、简单工厂模式的介绍 说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类,我们平常编程中,当使用"new"关键字创建一个对象时,此时该类就依赖与这个对象,也就是他们之间的耦合度高,当需求变化时,我们就不得不去修改此类的源码,此时我们可以运用面向对 阅读全文
posted @ 2013-09-05 21:48 HackerVirus 阅读(200) 评论(0) 推荐(0)