摘要: LINQ(语言级集成查询)的意图是提供一种统一且对称的方式,让程序员在广义的数据上得到和操作数据。通过使用LINQ,我们能够在C#编程语言内直接创建被称为查询表达式的实体。这些查询表达式是基于许多查询运算符的,而且有意设计成类似SQL表达式的,但它可以被用来与多种数据交互,而不局限于关系数据库。具体来说,LINQ允许查询表达式以统一的方式来操作任何通过扩展方法直接或间接实现了 IEnumerable接口的对象,关系数据库,Dataset或XML文档。 阅读全文
posted @ 2012-02-17 16:12 飘飘白云 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 《C#与.NET高级程序设计》读书笔记:索引器,指针类型,隐式类型,扩展方法,分部方法,匿名类型等 阅读全文
posted @ 2012-02-17 13:32 飘飘白云 阅读(949) 评论(1) 推荐(0) 编辑
摘要: 《C#与.NET高级程序设计》读书笔记:delegate,event,Lambda表达式。 阅读全文
posted @ 2012-02-16 16:21 飘飘白云 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 《C#与.NET高级程序设计》读书笔记-接口,集合与泛型 阅读全文
posted @ 2012-02-16 13:43 飘飘白云 阅读(831) 评论(0) 推荐(0) 编辑
摘要: C#的垃圾回收机制不是基于引用计数的,而是基于对象是否可到达。该机制的运作过程是:CLR 会建立一个对象图,代表堆上可达的每一个对象,如果在一次垃圾回收过程中,某个对象在该对象图上没有root(即没有任何其他对象依赖于它),则对象是不可达对象,会被标记为垃圾,从而会被终结,从内存中清除。 微软的回收算法使用对象代,用于终结对象的辅助线程和专门承载大对象的托管堆进行优化以提高垃圾回收机制的效率。 阅读全文
posted @ 2012-02-15 16:58 飘飘白云 阅读(612) 评论(0) 推荐(0) 编辑
摘要: DICOM标准在 PS3.5中定义了27 个基本数据类型,就是所谓的值表现(VR, Value Representations)。值表现是用来封装所有可能的临床数据类型的。在 DICOM 中写任何东西都必须符合这 27 个基本数据类型中的一个。每个 VR 都是两个英文字母的缩写。下表列出了这 27 个基本数据类型的定义。 阅读全文
posted @ 2012-02-07 11:13 飘飘白云 阅读(3897) 评论(0) 推荐(1) 编辑
摘要: Mac 下两款免费的思维导图工具:freemind 和 xmind。 阅读全文
posted @ 2012-02-06 11:55 飘飘白云 阅读(5158) 评论(0) 推荐(0) 编辑
摘要: XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令 po, print, info, help 等以及调试技巧。 阅读全文
posted @ 2012-01-31 16:02 飘飘白云 阅读(4131) 评论(0) 推荐(0) 编辑
摘要: 在前文《深入浅出Cocoa之类与对象》一文中,我已经详细介绍了ObjC中的 Class 与 Object 的概念,今天我们来如何在运行 时动态创建类。下面这个函数就是应用前面讲到的Class,MetaClass的概念,在运行时动态创建一个类。这个函数来自《Inside Mac OS X-The Objective-C Programming Language》。 阅读全文
posted @ 2012-01-30 14:02 飘飘白云 阅读(3608) 评论(2) 推荐(3) 编辑
摘要: 最近打算写一些ObjC中比较底层的东西,尤其是 runtime 相关的。苹果已经将 ObjC runtime 代码开源了,我们可以从:http://opensource.apple.com/source/objc4/objc4-493.9/runtime/ 浏览源代码,或点此下载源代码。 从哪里入手呢?那当然是最基本的类与对象。与C++相比,ObjC中的类与对象结构要简洁与一致得多(参考《深度探索C++对象模型》,你就知道C++中类与对象结构的复杂)。本文将详细讲解ObjC中类与对象的结构,下回将讲如何在 runtime 时操作类。 阅读全文
posted @ 2012-01-19 16:59 飘飘白云 阅读(5940) 评论(9) 推荐(5) 编辑
摘要: 我们可以在本机安装 wordpress,从而能在本地建站,折腾并调试。本文将详细介绍如何在Mac下安装wordpress。 阅读全文
posted @ 2012-01-07 23:35 飘飘白云 阅读(2826) 评论(0) 推荐(0) 编辑
摘要: 适用于 Mac OS X 的 XAMPP 是 Mac OS X 上最简单,最实用,也最完整的网络服务器解决方案。该发行版包括整合了最新的 MySQL、PHP,和 Perl 的 Apache 2 服务器。它以 Mac OS X 安装包的方式发布,包含所有必须的文件,无需下载其它东西。 如果您是一位有经验的网络开发人员,或者是需要运行服务器、创建的动态网页或使用数据库的 Mac 爱好者,这就是您要找的东西! 阅读全文
posted @ 2012-01-07 22:56 飘飘白云 阅读(2646) 评论(0) 推荐(0) 编辑
摘要: 在前文深入浅出Cocoa之消息中,我简要介绍了ObjC 中消息的基本情况,包括SEL查找,缓存以及消息转发等。在本文中,我要介绍一个很有趣的技术,Method swizzling,通过这个手法,我们可以动态修改方法的实现,从而达到修改类行为的目的。当然,还有其他办法(如 ClassPosing,Category)也可以达到这个目的。ClassPosing 是针对类级别的,是重量级的手法,Category 也差不多,比较重量级,此外 Category 还无法避免下面的递归死循环(如果你的代码出现了如下形式的递归调用,应该考虑一下你的设计,而不是使用在这里介绍的 Method Swizzling 手法,:))。 阅读全文
posted @ 2012-01-05 17:01 飘飘白云 阅读(4953) 评论(0) 推荐(4) 编辑
摘要: Three20 是 facebook 开源的一款功能齐全又强大的库,覆盖 UI,network,JSON/XML解析等。其 github 仓库在这里:https://github.com/facebook/three20 ,这个页面也有如何在工程中添加 three20 库的介绍,不过在 Lion 版下以及 xcode 4.2 下有些许不同,英文好的同学可以参看原文。现整理如下: 阅读全文
posted @ 2011-12-31 17:26 飘飘白云 阅读(945) 评论(2) 推荐(0) 编辑
摘要: 使用 OCMock 进行 unit test 时,我们无法 stub 或 expect 类方法,那么又该怎样测试类方法呢?下面是一个解决办法:在测试类中的非类方法 wrap 一下类方法,然后测试 wrap 方法。 阅读全文
posted @ 2011-12-27 14:25 飘飘白云 阅读(926) 评论(0) 推荐(0) 编辑
本博客遵循 Creative Commons License “署名-非商业用途-保持一致”创作共用协议。 与我联系