Fork me on GitHub

2013年6月18日

摘要: 一道数学运算题事由是同事在工作中遇到的一个小问题,然后发到群里大家研究出来原因到底在哪里,问题是这样的:int? a = 2;int? b = 1;var res1= ((a ?? 0) + (b ?? 0)); var res2 = (a ?? 0 + b ?? 0); 求res1,res2的值?我相信,大部分程序员都会有这样的答案,都会说3,但是知道肯定不会都是3这么简单的,于是我把它封装成一个类里的两个方法。public class Class1 { public void A() { int? a = 2; ... 阅读全文
posted @ 2013-06-18 22:05 HackerVirus 阅读(198) 评论(0) 推荐(0)
摘要: 图像资源Images Assets开始之前,首先回顾一下iOS7初体验(1)——第一个应用程序HelloWorld中的一张图,如下所示:本文便分享一下Images.xcassets的体验~_~1. 打开此前使用过的HelloWorld项目,然后单击并打开导航区域中的Images.xcassets,看看都有些什么东东:]:2. 在图中可以看到中间位置有两个虚线框,感觉应该可以直接拖文件进来。OK,那就先准备一下资源文件,如下图所示:说明:为方便起见,除Icon7.png之外,其他图标的文件名均沿袭了以往iOS图标的命名规则。3. 将Icon-Small@2x.png拖拽到第一个虚线框中,将Ico 阅读全文
posted @ 2013-06-18 22:03 HackerVirus 阅读(356) 评论(0) 推荐(0)
摘要: jsonp帮助你知道你关注的他或她喜欢什么歌曲利用腾讯提供的QQ音乐API,返回一段对方在QQ音乐收藏的歌曲名称json数据,并对该json做解析,就能知道你的那个他或她喜欢听什么歌曲了,然后你就知道他/她的品位了,然后就自己看着办了,嘿嘿。我只能帮你到这了。感谢bejson收集的各种有用的接口,他的网站http://www.bejson.com/webInterface.php。QQ音乐收藏歌曲的API是http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=0&dirid=1&uin=QQ号&a 阅读全文
posted @ 2013-06-18 22:02 HackerVirus 阅读(178) 评论(0) 推荐(0)
摘要: 有趣的win8进度条刚才在安装visual studio 12,发现它的安装界面都是win8风格的,而且安装的时候有个进度条,看着挺不错,就用 jquery 实现了一下,的确挺有趣:点击停止效果代码:<!DOCTYPE html><html> <head> <style type="text/css"> * {margin:0;padding:0} .progress {width:500px;height:100px;margin:0 auto;position:relative;background-color: #000 阅读全文
posted @ 2013-06-18 21:59 HackerVirus 阅读(179) 评论(0) 推荐(0)
摘要: 单元测试 Mocking 类库需具备的特性一个优秀的单元测试 Mocking 类库,需要具备如下几个特性:易用性:有非常明确的 API ,易于使用并易于记忆。健壮性:行为结果始终一致,并保持准确。帮助性:当程序出错时,给出尽可能明确的原因提示。如果我们所使用的类库没有满足上述条件,编写测试用例的过程将变得复杂和困难,使用类库不仅没有节省时间,反而可能使我们更加迷惑。在这种条件下,我们可能更愿意删除测试用例,之前的工作也就浪费了。在 .NET 世界中,下面是一些框架或类库的比较:目前主流的 Mocking 类库都会支持以下主要功能:无需学习Record/Replay/Verify 模型,仅需 M 阅读全文
posted @ 2013-06-18 21:56 HackerVirus 阅读(177) 评论(0) 推荐(0)
摘要: 虚拟化技术发展简史虚拟化技术发展简史作者:张子良版权所有,转载请注明出处 一 概述 虚拟化技术按照其发展历史,可以分为四个阶段:硬件仿真虚拟化、完全虚拟化、半虚拟化和操作系统虚拟化。当前阶段的虚拟化技术以半虚拟化技术为主流,操作系统虚拟化是发展方向,目前主要应用在高端应用领域。下面将从每一种虚拟化技术的原理、优点、缺点和代表产品四个方面进行介绍。 二 硬件仿真 2.1 工作原理 硬件虚拟化分为硬件指令虚拟化和硬件资源虚拟化,硬件指令虚拟化目的是将客户机发出的指令翻译成所在主机平台的指令,从而实现对客户机指令的模拟执行。硬件资源虚拟化目的是虚拟出硬件资源,通常主机平台与客户机平台所用的... 阅读全文
posted @ 2013-06-18 21:52 HackerVirus 阅读(956) 评论(0) 推荐(0)
摘要: Asp.Net在多线程环境下的状态存储问题在应用开发中,我们经常需要设置一些上下文(Context)信息,这些上下文信息一般基于当前的会话(Session),比如当前登录用户的个人信息;或者基于当前方法调用栈,比如在同一个调用中涉及的多个层次之间数据。 在.Net中,常用的有以下三种方法来实现这个特性. HttpContext.Current.Session或HttpContext.Currnet.Items是大家使用的最多的方式. [ThreadStatic]方式可以存储单个线程的共享状态. System.Runtime.Remoting.Messaging.CallContext类则可以存 阅读全文
posted @ 2013-06-18 21:48 HackerVirus 阅读(238) 评论(0) 推荐(0)
摘要: C#程序中注释过多的8条理由程序中中的注释,一般是有益处的,可以知晓程序的一些逻辑说明,或是参数解释。但是有些程序,因为注释太多,反而引起维护上的不方便,删掉了怕以后不能出现问题不好查找原因,不删除留在代码中,对程序的维护人员,是一种痛苦。以下列举我可以理解的的原因,供分析参考。1 方法调用移动到新的类型中,原方法仍然保留在原来的类型中//public void ExecuteSqlCommand(string sqlCommandText)//{ //this.ExecuteSqlCommand(sqlCommandText, CommandType.Text, null);//... 阅读全文
posted @ 2013-06-18 21:29 HackerVirus 阅读(285) 评论(0) 推荐(0)
摘要: CentOS 6.4 编译安装LLVM3.3,Clang和Libc++LLVM的最新版本3.3终于在6月17日发布了,按之前的计划6月5日就应该发布了,不过毕竟没有太晚,赶在VS2013 preview(6月26日微软Build大会)之前出来了。加上之前gcc4.8.1在5月底6月初发布,当今最优秀的三大C++编译器都在这个月发布重要更新,这个6月份真是C++的好日子啊!LLVM之前就已经宣布做到C++11 Feature Complete了,3.3应该是第一个稳定版,之前gcc4.8.1也同样是全面支持C++11,这篇文章介绍了如何在CentOS上编译安装最新的gcc,VS一直是落后很多的, 阅读全文
posted @ 2013-06-18 21:23 HackerVirus 阅读(251) 评论(0) 推荐(0)
摘要: Microsoft 2013校园招聘笔试题及解答题目是自己做的,求讨论、吐槽、拍砖1.Which of the following callingconvension(s) support(s) support variable length parameter(e.g. printf)? (3Points)A.cdecl B. stdcall C.pascal D. fastcall分析:<来自百科>__cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为 手动清栈。被调 阅读全文
posted @ 2013-06-18 21:22 HackerVirus 阅读(290) 评论(0) 推荐(0)