自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1486)
  • 收藏
  • 关注

Fiddler 宝典

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。 Fiddler的基本介绍 Fiddler的官方网站:  www.fiddler2.com Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料。 ...

2012-02-14 08:44:04 307

反应迟钝的递归

经常会看到一些人,问你,“来,写一个递归算法吧”。递归算法真的那么好吗?下面是经常看到的一些题目,还有,递归算法的优缺点!常见题: 1、计算数组{1,1,2,3,5,8,13...}第30位的值 Process1 Static void Main(string[] args) { Console.WriteLine(Process1(30)); Console.ReadK...

2012-02-14 08:42:49 318

怎么样实现一个较快的Hash Table

我们服务器一直在用boost/sgl stl的hash table,但是从来没有考虑过其中的效率问题,虽然hash_map/unordered_map跑的可能真的比map快一些,可能应该不是你理解的那么快.其实他可以更快一些!!!   当我自己尝试着实现了一个hash table之后,我发现确实如此.这篇文章也是来说说,如何实现较快的一个.   通常的hash table都是用开链法,开放地址...

2012-01-20 09:42:01 306

采用什么架构,才能够承受大访问量

一般情况下,架构分两种来讨论的,一种是开发架构,一种是部署架构 部署架构,就是开发完的程序在实际运行环境下,通过负载均衡,DNS轮询,SquID等等来减轻单台服务器负载,达到性能优化的目的 这里大家估计更想了解的是开发上的架构 我对这个的观点是,所有的架构都是死的,而性能优化策略是活的,我在开发中,所有的东西都不是一定要按照什么固定的模式,去死开发,更多的是针对需要优化的信息进行针对处理,下...

2012-01-20 09:41:07 258

苹果输了官司,iPad会改名吗?

苹果公司在一场官司中输了一审,这意味着它可能失去在中国内地的iPad商标权。官司是这样:苹果与英国IP公司起诉深圳唯冠公司,要求法院判iPad商标专用权归其所有,并要求深圳唯冠支付索赔调查费、律师费400万元。日前,深圳市中级法院一审驳回其诉起。 原来,香港有家名叫唯冠国际的上市公司,在中国台北和深圳分别成立了分公司。2000年,台北唯冠在多个国家和地区注册了iPad商标。同年,深圳唯冠公司在中...

2011-12-14 19:44:15 242

C++的精英化趋势与两个关键缺陷 .

C++是一门引起无数争议的语言。 眼下最常听到的声音则是C++将趋于没落,会被某某语言取代。 我很怀疑这种论调的起点是商业宣传,C++的真实趋势应该是越来越倾向于精英化。   精英化是指在可用可不用C++的领域中,C++将逐渐退出, 而所有剩下必须用C++的领域通常都是附加值比较高,难度较高的领域,比如:操作系统,数据库,大型网站后端等。 这一过程造成的现象就是在TIOBE上,C++的...

2011-12-14 19:43:08 119

Android高手过招FAQ

1、Q:如何成为高手?  A:成为一名真正的Android高手必须掌握和遵循的一些准则:  1)学会懒惰     aDon't Reinvent the Wheel(不要重复发明轮子)。     bInventing the Wheel(发明轮子)。     cDon't Reinvent the Wheel(不要重复发明轮子)。     “轮子理论”,也即“不要重复发明轮子”,这是西方国家的一句...

2011-12-05 10:49:16 118

详解计算机中的各种编码

最近一直在复习,遇到神马各种码弄得我非常郁闷,最终专题研究了一下,留给自己一份材料,也分享给大家……本文所说的编码,主要针对字符的IO的编码,不涉及数字编码,视频、音频编码和校验码之类其他编码……这些资料都是收集自网上各种地方,由于太碎了,所以就不声明引自哪篇文章了……一、ASCII码最简单也是最离不开的一种编码,直接对应英文和键盘,计算机中的任何键盘输入都离不开ASCII,每次按下某个键,计算机...

2011-12-05 10:48:42 310

用JavaScript编写一个Java虚拟机?谈谈哗众取宠的BicaVM

【程序员Artur Ventura,这位超级大牛,用JavaScript写了一个java虚拟机BicaVM】继而再读,惊见其中“超级大牛”、“神人”等溢美之词不绝于耳,崇拜、神往之心溢于言表。仿佛BicaVM就是天上有地下无的创举,仿佛Artur Ventura就是继比尔盖茨,乔布斯之后的第三位IT业领军人。然而很可惜,小弟今天准备要“侮辱”一下这位“大牛”了。只因在小弟看来,这篇文章,乃至其中介...

2011-11-24 14:11:21 179

延迟加载 -- 提高性能

延迟加载(lazy loading) 设计模式是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据(读取属性值)的时候,才真正执行数据加载操作. 有效使用它可以大大提高系统性能.   为了便于理解, 我们来建立一个场景, 假设我们要构造一个Hero(英雄) 类, 每个Hero 有自己的名字和(SpecialSkill)特殊技能. 建模 这是一种建立的方法: pu...

2011-11-24 14:10:42 188

一步一步写算法(之 回数)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 回数的概念比较好玩,就是说有这么一个字符串str, 长度为n, 现在index开始从0->index/2遍历,那么str[index] = str[n-1-index],那么这种数据就是我们通常说的回数。比如说a = “a”是回数, a = “aba”是回数, a = "strar...

2011-11-13 11:52:00 185

批量删除新浪微博帖子代码 — batch delete posts script for weibo.com

http://lanshunfang.wordpress.com/2011/11/13/%E6%89%B9%E9%87%8F%E5%88%A0%E9%99%A4%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A%E5%B8%96%E5%AD%90%E4%BB%A3%E7%A0%81-batch-delete-posts-script-for-weibo-com/ // ...

2011-11-13 04:40:00 444

一步一步写算法(之哈夫曼树 下)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面说到了哈夫曼树的创建,那下面一个重要的环节就是哈夫曼树的排序问题。但是由于排序的内容是数据结构,因此形式上说,我们需要采用通用数据排序算法,这在我之前的博客里面已经涉及到了(通用算法设计)。所以,我们所要做的就是编写compare和swap两个函数。通用冒泡代码如下所示, vo...

2011-11-12 17:37:00 112

一步一步写算法(之哈夫曼树 上)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在数据传输的过程当中,我们总是希望用尽可能少的带宽传输更多的数据,哈夫曼就是其中的一种较少带宽传输的方法。哈夫曼的基本思想不复杂,那就是对于出现频率高的数据用短字节表示,对于频率比较低得数据用长字节表示。 比如说,现在有4个数据需要传输,分别为A、B、C、D,所以一般来说,如果此时...

2011-11-11 20:19:00 113

一步一步写算法(之通用数据结构)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 上一篇博客介绍了通用算法,那么有了这个基础我们可以继续分析通用数据结构了。我们知道在c++里面,既有数据又有函数,所以一个class就能干很多事情。举一个简单的例子来说,我们可以编写一个数据的class计算类。 class calculate{ int m; int n; pu...

2011-11-10 20:30:00 118

给软件添加注册码

本文宗旨在于提出一种给软件添加注册码的方法。至于所提出的方法是否有效,是否能够经得起一些逆向高手的破解,还得经过验证。我只是提出我个人的看法。 一、目标。    目标很明确,就是根据需要注册软件的个人信息,产生注册码。并且软件本身必须可以校验该注册码是否有效。并且能够防止别人逆向算出校验算法,产生注册机;能够防止别人用暴力破解方法,直接修改软件执行代码,绕过注册。    二、方法论述    要做...

2011-11-10 14:11:11 842

基于Cookie的单点登录(SSO)系统介绍

   单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。 SSO的用途:       目前的企业应用环境中,往往有很多的应用系统,如办公自动化(OA)系统,财务管理系统,档案管理系统,信息查...

2011-11-10 14:09:27 246

一步一步写算法(之通用算法的编写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们写过各种各样的算法,什么排序、查找、二叉树、队列、堆栈等等。但是我们在编写这些代码的时候却都有一个缺点,不知道大家发现了没有?那就是这些算法中使用的数据结构都是简单的int数据。所以,如果排序的是int,那么用起来没有什么问题。关键就是万一是其他的数据类型,那我们应该怎么办呢? ...

2011-11-09 19:49:00 151

一步一步写算法(之链表重合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 链表重合是一个好玩的问题。原题目是这样的:有两个链表,那么如何判断这两个链表是不是重合的?至于这个链表在什么时候重合的,这不重要,关键是判断这个链表究竟有没有重合。究竟有什么方法呢? 最简单的方法就是查看两者有没有共同点。那么依次判断就行了。 int find_node_in_...

2011-11-08 20:32:00 138

一步一步写算法(之寻找丢失的数)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 假设我们有一个1亿个数据,其中数据的范围是0~1亿,也就是100M的数据。但是这个数组中丢了一些数据,比如说少了5啊,少了10啊,那么有什么办法可以把这些丢失的数据找回来呢?这个题目不难,但是它可以帮助我们拓展思路,不断提高算法的运行效率。 对于这个问题,我们一个最简单的思路就是对各...

2011-11-07 23:01:00 150

一步一步写算法(之prim算法 下)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前两篇博客我们讨论了prim最小生成树的算法,熟悉了基本的流程。基本上来说,我们是按照自上而下的顺序来编写代码的。首先我们搭建一个架构,然后一步一步完成其中的每一个子功能,这样最后构成一个完成prim算法计算过程。 f)将DIR_LINE队列中不符合的数据删除,主要是双节点都已经...

2011-11-06 12:39:00 67

一步一步写算法(之prim算法 中)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 C)编写最小生成树,涉及创建、挑选和添加过程 MINI_GENERATE_TREE* get_mini_tree_from_graph(GRAPH* pGraph) { MINI_GENERATE_TREE* pMiniTree; DIR_LINE pDirLine; if...

2011-11-05 18:10:00 92

一步一步写算法(之prim算法 上)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们讨论了图的创建、添加、删除和保存等问题。今天我们将继续讨论图的一些其他问题,比如说如何在图的环境下构建最小生成树。为什么要构建最小生成树呢?其实原理很简单。打个比方,现在某一个乡镇有n个村,那么这n个村肯定是联通的。现在我们打算在各个村之间搭建网线,实现村村通的工程。那么有什么办...

2011-11-04 23:04:00 79

一步一步写算法(之函数堆栈显示)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com 】 在继续图的讨论之前,我们今天开个小差,讨论一下函数堆栈的基本原理。有过编程经验的朋友都知道,堆栈调试是我们在程序开发中经常应用的一个功能。那么大家有没有想过,函数堆栈是怎么开始的啊?其实我们可以自己写一个函数堆栈输出函数分析一下。 因为一般来说,函数的压栈过程是这样的: ...

2011-11-03 20:48:00 57

一步一步写算法(之图的保存)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面的几篇博客,我们对图进行基本定义,同时介绍了图的创建、图的添加和删除等。今天,我们聊一聊图是怎么在存储在外设中的。这些外接设备可以是各种类型的,比如说,可以是硬盘、sd卡、网络硬盘等等。本质上说,我们今天讨论的主题就是怎么把图的数据永久地保留在本地。并且,如果需要加载这些数据,也可以...

2011-11-02 19:35:00 101

一步一步写算法(之图添加和删除)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们谈到的图的数据结构、图的创建,今天我们就来说一说如何在图中添加和删除边。边的添加和删除并不复杂,但是关键有一点需要记住,那就是一定要在小函数的基础之上构建大函数,否则很容易出现错误。 一、边的创建 边的创建一般来说可以分为下面以下几个步骤: 1)判断当前图中是否有节...

2011-11-01 20:31:00 212

一步一步写算法(之图创建)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们讨论过图的基本结构是什么样的。它可以是矩阵类型的、数组类型的,当然也可以使指针类型的。当然,就我个人而言,比较习惯使用的结构还是链表指针类型的。本质上,一幅图就是由很多节点构成的,每一个节点上面有很多的分支,仅此而已。为此,我们又对原来的结构做了小的改变: typedef ...

2011-10-31 21:30:00 198

DIV在FF下的拖动

我想问一下,我的这段拖动div的代码什么地方有问题啊,在ie里面正常,在ff下就是停下再拖就不行了,但如果在div中加入文本就可以了,为什么会这样啊?请各位高手指教.<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://w...

2011-10-31 13:23:35 73

Servlet API 中文版

基本类和接口 一、javax.servlet.Servlet接口 servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。 Servlet接口的基本目标是提供生命期方法init()、service()和destroy()方法。 servlet接口中的方法       void init(ServletConfi...

2011-10-31 13:23:06 97

Android类动态加载技术

Android应用开发在一般情况下,常规的开发方式和代码架构就能满足我们的普通需求。但是有些特殊问题,常常引发我们进一步的沉思。我们从沉思中产生顿悟,从而产生新的技术形式。 如何开发一个可以自定义控件的Android应用?就像eclipse一样,可以动态加载插件;如何让Android应用执行服务器上的不可预知的代码?如何对Android应用加密,而只在执行时自解密,从而防止被破解?…… 熟悉J...

2011-10-31 13:20:02 180

一步一步写算法(之图结构)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 图是数据结构里面的重要一章。通过图,我们可以判断两个点之间是不是具有连通性;通过图,我们还可以计算两个点之间的最小距离是多少;通过图,我们还可以根据不同的要求,寻找不同的合适路径。当然,有的时候为了计算的需要,我们还需要从图中抽象出最小生成树,这样在遍历计算的时候就不需要持续判断是不是...

2011-10-30 15:33:00 100

一步一步写算法(之“数星星”)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学过编程的朋友都知道,当初为了学习编程语言中的各种语法结构,我们要试着解决各种各样奇怪的题目。其中“数星星”就似乎其中的一种。什么是“数星星”呢?就是打印各种形状的“*”,正三角、倒三角、菱形等等。本篇博客纯粹为了纪念我们逝去的岁月。 a)正三角 void star_1() {...

2011-10-29 22:00:00 200

一步一步写算法(之字符串查找 下篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们谈到了KMP算法,但是讲的还不是很详细。今天我们可以把这个问题讲的稍微详细一点。假设在字符串A中寻找字符串B,其中字符串B的长度为n,字符串A的长度远大于n,在此我们先忽略。 假设现在开始在字符串A中查找,并且假设双方在第p个字符的时候发现查找出错了,也就是下面的情况: ...

2011-10-28 21:40:00 61

一步一步写算法(之字符串查找 中篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 昨天我们编写了简单的字符查找函数。虽然比较简单,但是也算能用。然而,经过我们仔细分析研究一下,这么一个简单的函数还是有改进的空间的。在什么地方改进呢?大家可以慢慢往下看。 下面的代码是优化前的代码,现在再贴一次,这样分析起来也方便些: char* strstr(const ch...

2011-10-27 19:33:00 69

DreamMail无法登录Gmail的SMTP发送邮件的解决办法

首先先确保你的配置是正确的:https://mail.google.com/support/bin/answer.py?hl=zh-Hans&answer=13287 其实,你要知道,邪恶的墙经常将smtp.google.com屏蔽了。所以你需要配置你的DreamMail,使其使用国外的代理。 建议使用SSH 隧道转发功能来。安装下面的软件,找一个国外的SSH账号,然后开通软件...

2011-10-27 10:23:00 6449

一步一步写算法(之字符串查找 上篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 字符串运算是我们开发软件的基本功,其中比较常用的功能有字符串长度的求解、字符串的比较、字符串的拷贝、字符串的upper等等。另外一个经常使用但是却被我们忽视的功能就是字符串的查找。word里面有字符串查找、notepad里面有字符串查找、winxp里面也有系统自带的字符串的查找,所以编写...

2011-10-26 20:55:00 60

一步一步写算法(之链表排序)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 相比较线性表的排序而言,链表排序的内容稍微麻烦一点。一方面,你要考虑数据插入的步骤;另外一方面你也要对指针有所顾虑。要是有一步的内容错了,那么操作系统会马上给你弹出一个exception。就链表的特殊性而言,适合于链表的排序有哪些呢? (1)插入排序 (适合) (2)冒泡排序 ...

2011-10-25 21:09:00 540

一步一步写算法(之哈希二叉树)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 用过平衡二叉树的朋友都清楚,平衡二叉树的最大优点就是排序。不管是在数据插入的时候还是在数据删除的时候,我们都要考虑到数据的排序情况。但是和数据的添加、删除一样重要的,还有数据的查询。很不幸,平衡二叉树经常由于节点的添加和删除,数据的查询效率会变得非常低下。朋友们可以看看下面这样的一个极端...

2011-10-24 19:45:00 72

一步一步写算法(之二叉树深度遍历)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 深度遍历是软件开发中经常遇到的遍历方法。常用的遍历方法主要有下面三种:(1)前序遍历;(2)中序遍历;(3)后序遍历。按照递归的方法,这三种遍历的方法其实都不困难,前序遍历就是根-左-右,中序遍历就是左-根-右,后续遍历就是左-右-根。代码实现起来也不复杂。 1)前序遍历 vo...

2011-10-23 09:15:00 70

一步一步写算法(之二叉树广度遍历)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在二叉树的遍历当中,有一种遍历方法是不常见的,那就是广度遍历。和其他三种遍历方法不同,二叉树的广度遍历需要额外的数据结构来帮助一下?什么数据结构呢?那就是队列。因为队列具有先进先出的特点,这个特点要求我们在遍历新的一层数据之前,必须对上一次的数据全部遍历结束。暂时还没有掌握队列知识的朋友...

2011-10-22 20:51:00 118

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除