2011年8月14日

摘要: 创建一个对象需要丙步:1. 动态为新对象分配内存。2. 将新分配的内存与相关的值产生关联。直到这两步都做完,对象创建过程才算全部完成,虽然是两个步聚,但是在编写代码的时候通常使用一行代码来完成:id anObject = [[Rectangle alloc] init];分离这两个步骤给我们更多的选择择。基对象 NSObject 中的 alloc 和 allocWithZone 方法提供两种分配方式 。这两个方法一般不需要在子类中覆写。它们为成员变量分配足够的内存以供使用。具体的步骤:1. 初始化一个 isa 实例并指向 class object. 2. 将其它成员变量置为零。对象还需要进行进 阅读全文
posted @ 2011-08-14 19:18 沙加 阅读(899) 评论(0) 推荐(0) 编辑

2011年8月13日

摘要: 关于类的定义:编译器虽然不强制,但是类型的接口申明与实现代码最好放在两个不同的文件中,以方便使用这些类的开发人员查看。实现的文件使用 .m 结尾。接口文件可以使用任何其它的扩展名。因为它经常被 included 到其它的文件中,因此通常使用 .h 的扩展名。分离接口与实现是面向对象设计方法中推荐的做法。@interface ClassName : ItsSuperclass{ instance variable declarations}method declarations@end接口定义开始于 @interface ,结束于 @end静态方法使用 + 开头,实例方法使用 - 号开头,如:+ 阅读全文
posted @ 2011-08-13 14:17 沙加 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 这个系列的内容与官方文档 Objective-C 语言介绍的内容一一对应,总共分为以下几个部分:对象、类型、消息定义一个类为对象分配内存并初始化协议属性申明分类与扩展相关引用快速枚举实现静态行为选择器错误处理线程总体说来 Objective-C 与主流面向对象的语言如C#, java 有许多共通之处,其核心是建立在C上的一套动态运行时系统,它帮助程序实现动态类型推定,垃圾回收等任务。类似于 IronPython 这种用静态语言去做了一个动态的运行时。以下是第一部分笔记:一种面向对象的语言一个对象库一套开发工具一个运行时在实例对象中,变量是私有的,如果需要访问则需要提供一个专用访问方法。对象的 阅读全文
posted @ 2011-08-13 11:33 沙加 阅读(578) 评论(0) 推荐(0) 编辑

2011年6月22日

摘要: 使用 git checkout -b [your_branch_name] origin/[remote_branch_name] 签出远程分支在本地建立一个对应分支时出错: ubuntu:~/zhihu$ git checkout -b hotfix origin/hotfixfatal: git checkout: updating paths is incompatible with switching branches.Did you intend to checkout 'origin/hotfix' which can not be resolved as comm 阅读全文
posted @ 2011-06-22 22:57 沙加 阅读(2227) 评论(1) 推荐(0) 编辑
摘要: 跟游戏开的相关的一个问答网站http://gamedev.stackexchange.com/两个常用库ChipmunkandBox2D 还有一个cocos2dios 上的游戏开发系列:http://www.raywenderlich.com/tutorialsChipmunk 是基于这篇 paper 的实现:http://graphics.ethz.ch/Downloads/Publications/Papers/2003/Tes03/Tes03.pdf如果是3D的,可能会用到Unity3D来源参考文档:http://stackoverflow.com/questions/5847846/p 阅读全文
posted @ 2011-06-22 14:34 沙加 阅读(237) 评论(0) 推荐(0) 编辑

2011年6月14日

摘要: important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符 阅读全文
posted @ 2011-06-14 17:48 沙加 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 查找指定容器下所有 a 根据属性决定是否应用 ajax 方式加载内容。使用层次深度来控制slide的方向。使用 margin-left/margin-right animation 显示过渡效果。ZH || (ZH = {});ZH.TreeSlider = function () { if (window.history && window.history.pushState) if ($("#slider").length != 0) if (!navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { var 阅读全文
posted @ 2011-06-14 09:35 沙加 阅读(380) 评论(0) 推荐(0) 编辑

2011年6月13日

摘要: 网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth(包括边线的宽);网页可见区域高: document.body.offsetHeight(包括边线的宽);网页正文全文宽: document.body.scrollWidth;网页正文全文高: document.body.scrollHeight;网页被卷去的高: document.body.scrollTop; 在ie5之后不用它了。应该用document.documentElemen 阅读全文
posted @ 2011-06-13 17:26 沙加 阅读(343) 评论(0) 推荐(0) 编辑

2011年5月4日

摘要: 答案链接分享不方便?请将下面的链接加到收藏夹中:20110722 updatedGet Zhihu Answer Links 阅读全文
posted @ 2011-05-04 14:13 沙加 阅读(416) 评论(0) 推荐(0) 编辑

2011年2月28日

摘要: <!DOCTYPE html><head> <title>前端工程师面试题</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <script type="text/javascript" 阅读全文
posted @ 2011-02-28 12:20 沙加 阅读(38715) 评论(9) 推荐(2) 编辑

2011年1月10日

摘要: 在进行网页布局的时候,经常会根据需要设置相对,绝对以及浮动定位;发现了一个奇妙的现象:查了相关资料,高人有这样的解释:1.当绝对定位层的邻近浮动层的宽度不等于父层宽度时,以及没有清除浮动时,IE6/7,FF中显示一致;2.当绝对定位层的邻近浮动层的宽度不等于父层宽度时,有清除浮动时,IE6/7不显示绝对定位层,FF显示;3.当绝对定位层的邻近浮动层的宽度等于父层宽度时,以及没有清除浮动时,IE6不显示绝对定位层,IE7/FF显示;4.当绝对定位层的邻近浮动层的宽度等于父层宽度时,有清除浮动时,IE6/7不显示绝对定位层,FF显示;要解决这个BUG的方法也很简单,让绝对定位层不挨着浮动层放置就好 阅读全文
posted @ 2011-01-10 17:15 沙加 阅读(736) 评论(0) 推荐(0) 编辑

2010年11月27日

摘要: 这本书其实早就在关注了,今天上网查了一下,amazon上已经有卖的了,不过价钱嘛,实在是有点高, 高兴的是很巧地找到一本电子版的。这本书写得不错,很多需要注意的细节都提到了,解答了不少以前在使用CLOSURE库时候的问题,示例也给得比较清晰明白,基本上一看就懂。有能力的童鞋还是买正版的书吧。Closure The Definitive Guide 阅读全文
posted @ 2010-11-27 14:30 沙加 阅读(762) 评论(0) 推荐(0) 编辑

2010年10月14日

摘要: 要高效使用google的这个库需要正确理解它的Component模型,总的说来Component是这个库中所有控件和组件的基础类,有点象asp.net中的control这个基类,它定义了一个组件的生命周期过程规范和一些可覆写的方法。一个组件在生命周期中大致会经过如下几个阶段:组件实例创建。构造dom元素,这步又可以通过两种方式来实现:完全创建法和冒充法(decorate).事件绑定。页面关闭事件回... 阅读全文
posted @ 2010-10-14 11:09 沙加 阅读(784) 评论(0) 推荐(0) 编辑

2010年8月23日

摘要: 从神奇的"$"函数开始"$"函数将在文档加载完成之后为一个指定的button 绑定事件,这些代码在单个网页中工作正常。但是如果我们还有其它的网页,我们将不得不重复这个过程。[代码]如果我们需要另一个行为的button怎么办?比如象这样:[代码]接下来,更多的问题出现了,我们需要很多这样的button, 这好象也不难。[代码]一个页面里面同种出现了两种button ......[代码]但是呢,不是所... 阅读全文
posted @ 2010-08-23 13:33 沙加 阅读(2133) 评论(0) 推荐(0) 编辑

2010年6月8日

摘要: 最近NoSQL 很火爆,就拿 Facebook 的开源项目 Cassandra 来说,园子里面也有不少同学在研究,网上的一些介绍性文章也基本上大同小异,不少人大概也只是在虚拟机上玩玩,真正跑在生产环境下的也许并不多。我所在的公司(莫大 Meta.cn) 最近由于产品需求,需要找一个大容量,高可用,扩展性好的海量存储方案,我很快想到了 Cassandra,做过架构的同学应该比较清楚,是否采用一个组件关键不是取决于它能多完美地解决问题,而是它有没有不可忍受的缺点。所以在选择数据存储方案的时候一定要对它的特性有充分的认识,我们在使用 Cassandr 的过程中一开始就是因为对它的一些限制条件了解不足走了一些弯路,写在这里与大家分享 阅读全文
posted @ 2010-06-08 13:22 沙加 阅读(4712) 评论(5) 推荐(6) 编辑

2010年3月31日

摘要: 1、CSS自动完成文件将下面的保存为 CSS.ACP,然后在设置里面指定即可,我只加了自己常用的一些属性,你可以自行扩展。代码2、Sparkup 的Editplus 移植版 如果你不知道 Sparkup 用来做什么,可以去看看 Zencoding使用这个工具需要本机安装Python的执行环境,注意还需要修改环境变量把python.exe的目录加到PATH里面去,并导入win32的剪帖板包,具体可以... 阅读全文
posted @ 2010-03-31 13:43 沙加 阅读(3884) 评论(0) 推荐(0) 编辑
摘要: 这两天做代码自动化的小工具,看中了 Sparkup 这个东西,虽然没有Zencoding 那么强,不过打算将它集成到Editplus 的用户工具里面,所以就用了这个了, zencoding 已经有了 Editpad++ 的移植版本了,但不是很喜欢那个,换个编辑器真难;(要调用一个Sparkup的那个Python 脚本,但是好象无法直接将stdout 的内容捕获到文件内容里面,只要暂时放在剪帖板里面... 阅读全文
posted @ 2010-03-31 11:51 沙加 阅读(1988) 评论(1) 推荐(0) 编辑

2009年12月22日

摘要: 尝试了N多次之后俺终于放弃使用Google Closure Compiler 来编译Mootools 了,原因很简单,Google Closure 不能混合使用[""] 与 . 的属性访问方式,导致部分代码在混淆之后不可使用。Standard flags: --help describes all flags --helpshort describes the main class' flags ... 阅读全文
posted @ 2009-12-22 17:08 沙加 阅读(3555) 评论(0) 推荐(1) 编辑

2009年12月18日

摘要: 昨天在公司内部做了一个小小的技术分享,就 js 应用开发方面跟大家谈了一点自己的心得,最近因为工作关系花在这上面的时间较多也颇有些收获,写在这里备忘。做了三个小demo,本来想做一个类似Gmail的界面出来后来突然发现机器上没有Office,就干脆做了一个类PPT演示的小玩意。基于js的应用开发总结起来主要有如下几点:封装粒度常用功能封装为可重复使用的组件,需要合理选择组件封装粒度,粒度过大不便于... 阅读全文
posted @ 2009-12-18 19:29 沙加 阅读(890) 评论(1) 推荐(1) 编辑

2009年12月17日

摘要: 有时候需要一个空白的Anchor标签,然后给它一个背景图,常用于一些小的功能按钮,但是无任何内容的标签又默认没有宽度,做了一个简单测试,结果如下:FF3:IE6(使用IE Tester):IE7:Safari4:看来还是使用&-n-b-s-p-;的兼容性最好。mt-inline-block的内容:[代码]从结果中还能看出外层容器和行框之前的间距不同的浏览器是不同的,IE6:0, IE7: ... 阅读全文
posted @ 2009-12-17 12:34 沙加 阅读(460) 评论(0) 推荐(0) 编辑

导航