State模式定义:
允许一个对象在状态改变是,改变它的行为。看起来对象似乎修改了它的类。
模式理解(个人):
State模式主要解决的事在开发中时常遇到的根据不同状态需要进行不同的处理操作的问题,而这样的问题,大部分人会采用switch-case语句进行处理,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译。State...
分类:
其他好文 时间:
2014-04-29 13:34:21
阅读次数:
285
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=251
测模版:
#include
#include
#include
#include
#include
#include
using namespace std;
#define ...
分类:
其他好文 时间:
2014-04-29 13:31:21
阅读次数:
542
学好英语对IT软件工程师有一个非常大的影响,那就是你对于每天面对的代码会非常熟悉,不会有任何陌生感,也不会有模式切换带来的精力消耗。英语不好的时候,有一部分注意力会放在代码的语言理解上,跟母语不一样看起来总是怪怪的,有种特殊的陌生感(特殊是因为你你不认识代码,作为一种特殊语言认识的),现在这部分注意力和精力不需要再浪费了,可以有更多的注意力和精力放在方法的使用上、程序的设计上和设计模式的理解上。...
分类:
其他好文 时间:
2014-04-29 13:18:20
阅读次数:
285
paip.性能跟踪profile原理与架构与本质-- python扫带java php
##背景
弄个个输入法音标转换atiEnPH工具,老是python性能不的上K,7k记录浏览过k要30分钟了.
##目标
分析一个程序的性能,最终都归结为回答4个基本的问题:
程序运行速度有多快?
运行速度瓶颈在哪儿?
程序使用了多少内存?
内存泄露...
分类:
编程语言 时间:
2014-04-28 10:46:41
阅读次数:
334
paip.元数据驱动的转换-读取文件行到个list理念 uapi java php python总结
#两个思路
1.思路如下:使用file_get_contents()获取txt文件的内容,然后通过explode()把获得的字符串转化为数组。获得数组长度可以使用count()函数
2.使用按照行读取api
在正则表达式中,有一个\n是newline的意思,又有一个\r是carri...
分类:
编程语言 时间:
2014-04-28 10:46:40
阅读次数:
304
paip.utf-8,unicode编码的本质输出unicode文件原理 python
#别的语言,java php都是unicode,走十python不一样.
#enddef
#todo write to unicode encode
fileHandle = open ( r"c:\fmtSmpEnRst.txt", 'w',encoding="UTF-16"...
分类:
编程语言 时间:
2014-04-28 10:28:42
阅读次数:
374
代理模式的本质:控制对象访问
既然本质是控制对象访问,意思就是在访问者与原始对象之间加一个代理即可
同理,代理模式也可以通过继承原始类来实现,让访问者操作继承类,继承类来控制原始对象的访问
从而实现控制对象访问的目的
何时选用代理模式
1.需要为一个对象在不同的地址空间提供局部(重点)代表的时候,可以使用远程代理
2.需要按照需要创建开销很大的对象的时候,可以使用虚代理(即一个不完整的对象)
3.需要控制对原始对象的访问的时候,可以使用保护代理,上边即保护代理实例
4.需要在访问对象执行一些附加操作的时候,...
分类:
其他好文 时间:
2014-04-28 10:27:41
阅读次数:
253
http://acm.hdu.edu.cn/showproblem.php?pid=1595
大致题意:
给一个图,让输出从中删除任意一条边后所得最短路径中最长的。。
思路:
直接枚举每条边想必是不行的。其实有些边是不需要枚举的,因为删除它们并不影响起点到终点的最短路。起作用的边都是未删边前的最短路径上的边,删除它们最短距离肯定增大,只需在这些最短距离中求最大的即可。
记录最短路...
分类:
Web程序 时间:
2014-04-28 10:24:42
阅读次数:
393
php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法。用法很简单,代码里有详细注释说明,一看就懂
<?php
/*
* 经典的概率算法,
* $proArr是一个预先设置的数组,
* 假设数组为:array(100,200,300,400),
* 开始是从1,1000 这个概率范围内筛选第一个数是否在他的出现概率范围之内,
* 如果不在,则将概率空间,也就是k的值减去刚刚的那个数字的概...
分类:
Web程序 时间:
2014-04-28 10:13:42
阅读次数:
390
移动设备越来越主流,有很多网站对手机访问并不是特别的友好。所以我们要另外的给手机客户分配针对手机web访问的界面。如何判断是手机还是电脑在访问呢?
首先手机访问时,会附带发送user-agent信息,这个信息里面会有手机号码信息。我们如果可以获取。。。算了,用脚趾头也会想到,这是属于用户个人隐私信息的,移动和联通公司肯定给屏蔽或加密了。除非你服务器IP是在他们的白名单上。
那么我们换其他方式,...
分类:
移动开发 时间:
2014-04-27 22:34:30
阅读次数:
515