Fork me on GitHub

2013年10月24日

摘要: Vi编辑器入门vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows上的记事本! 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。3) ... 阅读全文
posted @ 2013-10-24 22:30 HackerVirus 阅读(156) 评论(0) 推荐(0)
摘要: Binding business requirements to .NET codehttp://www.specflow.org/行为驱动开发BDD:Behavior Driven Development,行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。BDD最初是由Dan North在2003年命名,它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。在过去数年里,它得到了很大的发展。2009年,在伦敦发表的“敏捷规格,BDD和极限测试交流”中,Dan North对BDD给出了如下定义:BDD是第二代的、由外及内 阅读全文
posted @ 2013-10-24 22:08 HackerVirus 阅读(261) 评论(0) 推荐(0)
摘要: ACM学习穷举算法思想: 一句话:就是从所有可能的情况,搜索出正确的答案。步骤: 1.对于一种可能的情况,计算其结果。 2.判断结果是否满足,YES计算下一个,no继续步骤1,然后判断下个可能的情况。实例: 孙子算经--鸡兔同笼:头35,脚94,几鸡几兔? #include //头文件using namespace std;int qiongju(int head, int foot , int *chicken,int *rabbit) //穷举算法{ ... 阅读全文
posted @ 2013-10-24 15:17 HackerVirus 阅读(207) 评论(0) 推荐(0)
摘要: 转今天心情好,给各位免费呈上200兆SVN代码服务器一枚,不谢! 开篇先给大家讲个我自己的故事,几个月前在网上接了个小软件开发的私活,平日上班时间也比较忙,就中午一会儿休息时间能抽出来倒腾着去做点。每天下班复制一份到U盘带回去继续摸索,没多久U盘里躺着的文件列表那叫一个雷人,大概跟大学毕业前的论文整改一样(如下图)每天这样复制来复制去还可以忍受,过了几天,软件还没开发结束,客户的思维随着时间的推移对已做的功能要进行部分增减,噢,my god ,我去年买了个登山包,超耐磨!!!我需要从历史的版本去参考一些代码,看着这么多的最终版,该从哪里找啊 ???故事就讲到这,最后软件虽然如期交工了,但这.. 阅读全文
posted @ 2013-10-24 15:16 HackerVirus 阅读(262) 评论(0) 推荐(1)
摘要: 反射 你怎么看?一 前言 反射 这个名词给我的第一印象就是 高深的感觉,虽然项目中有用到,只是通过反射枚举来取值,后来发现居然不需要用反射............第二个印象就是性能不高,貌似对反射大家已经形成定向思维了,一扯到反射就和性能扯上关系.....本文抛开性能不谈,因为关于性能,有太多的人做过测试了我就不说什么了,但我相信"存在即合理" 好了 进入正题!注:本人水平有限,难免会有理解不了或理解错误的地方,还望大家在评论中指出,我会马上更正。谢谢了~二 反射介绍2.1 什么是反射 有关程序及其类型的数据被称为元数据,它们保存在程序的程序集中。而程序在运行时,可以查看其 阅读全文
posted @ 2013-10-24 15:13 HackerVirus 阅读(203) 评论(0) 推荐(1)
摘要: ASP.NET - Web API,从简单类型到复杂类型的参数传递用例,以及传递简单string类型的解决办法一,简单类型的传值比如publicUsers Get(intid) ,它可以使用两种方式获取:api/default/5$.get("/api/default",{id:90}, function (data) {/* 处理逻辑 */});前者不需要注明参数名,后者适用于存在多个简单参数的情况,例如比较实际的案例以及对应的获取方式是:publicUsers Get(intid,intid2)$.get("/api/default",{id:90, 阅读全文
posted @ 2013-10-24 14:30 HackerVirus 阅读(177) 评论(0) 推荐(0)

2013年10月23日

摘要: 目录背景示例备注背景返回目录经常需要开发一下小工具,之前都是自己解析命令行参数,接触过动态语言社区以后,发现命令行解析有特定的模式和框架可以利用,本文介绍一个 .NET 平台的类库。示例返回目录需求拷贝文件,如:CopyFiles -s "E:\Framework\Tenoner - 副本 (2)" -p "*.csproj" -t "E:\Framework\Tenoner - 副本 (2)\Bak",可以支持:深度拷贝、拷贝符合指定模式的文件、是否覆盖等选秀。使用CommandLineParserCommandLineParser 阅读全文
posted @ 2013-10-23 22:58 HackerVirus 阅读(229) 评论(0) 推荐(0)
摘要: .NET中如何测试Private和Protected方法TDD是1)写测试2)写通过这些测试的代码,3)然后重构的实践.在,NET社区中,这个概念逐渐变得非常流行,这归功于它所增加的质量保证.此时,它很容易测试public方法,但是一个普遍的问题出现了,”我如何测试Protected和private方法呢?”本文将:总结”你是否应该测试private方法的争论?”的一些关键点.创建一些案例,这些案例仍旧是有用的,至少知道怎样测试private和protected方法—不考虑你站在争论的哪一边.提供方法和可下载的代码示例来展现这些测试技术.背后的方法你是否应该测试private方法?一个Goog 阅读全文
posted @ 2013-10-23 22:53 HackerVirus 阅读(1384) 评论(0) 推荐(0)
摘要: 洗牌算法汇总以及测试洗牌程序的正确性洗牌可以抽象为:给定一组排列,输出该排列的一个随机组合,本文代码中均以字符数组代表该排列算法1-算法3 都是在原序列的基础上进行交换,算法空间复杂度为O(1)算法1(错误):随机交换序列中的两张牌,交换n次(n为序列的长度),代码如下: 1 void Shuffle_randomSwap(char *arr, const int len) 2 { 3 for(int i = 1; i = 0; i--) 4 { 5 int a = rand()%len; 6 int temp = arr[i]; 7 ... 阅读全文
posted @ 2013-10-23 22:41 HackerVirus 阅读(342) 评论(0) 推荐(0)
摘要: VS打包后生成快捷方式:目标指向、Icon图标的错误1.目标指向错误:在安装***.msi文件后,对快捷方式-->右键-->属性:发现目标并非指exe文件。于是我新建了一个快捷方式,将目标-->指向exe文件,位置Ctrl+v。其实这样的快捷方式就可以正常使用了。但是考虑到不能每台机器都这样,只能换路子,于是找到了(Orca)挺好的东西,可以修改msi文件。具体做法:打开Orca-->将msi文件拖入-->左边的列表中找到-->Shortcut-->右边的表格中找到-->Target-->修改其值为[TARGETDIR]程序名字.exe-- 阅读全文
posted @ 2013-10-23 22:12 HackerVirus 阅读(686) 评论(0) 推荐(0)