11月 08 2017

本文属于自问自答,解释一些 OhMyStar2 的产品思路。 ...

5月 10 2017
Categories: Tags: PM, 产品汪, 胡思乱想, 随便瞎扯

锤子科技的本质至少从我能接触到所有信息来看,锤子科技对自己的设定都是一个软件公司,致力于做出对人类有价值的软件。对标的对手是苹果,至少从昨天斗鱼上面的弹幕来看,坚持了这几年的形象输出还是获得了一定的辨识度。比如有弹幕在刷手机参数时,就会有弹幕再解释锤子科技是一个软件厂家而不是硬件厂家。 不过在我看来,锤子科技是一个由个人魅力和先描绘一个完美理想而组成并且处于孩提时代的公司。而现实世界在有一次又一次的打击在不断的教育着他。不过此时此刻来看,至少锤子科技还活着不是吗? 因为锤子科技的最核心和最大价值是罗永浩,而罗永浩首先对应的是其实是广义的精英人群。整个发布会上很多佐证的证据,比如用户群体跟 iPhone 的用户群体高度重合。比如发布会上孜孜不倦的在讲授深度集成的功能。再比如那“有一千种赚钱方式,我就偏偏选择最困难的一种。”的情绪宣泄。 ...

1月 22 2017

自媒体的瞎几把解读前几天一篇《小程序上线7天,罗胖带着1000万用户跑了……》到处都能看见,而里面就罗振宇的一个微信聊天截图而已。搞得好像仿佛微信掉了1000万日活似的。好像得到的那些用户就不用微信似的。都TM瞎几把跟着起哄。当下这个时间点怎么看着黑小程序变成了一个政治正确的事情。跟两三个月前万众瞩目,全民吹捧形成了巨大的反差。 所以,需要带着独立思考去看待小程序这个事情。对理解小程序、理解这个世界的基本前提。 其实吧,不必把小程序这么妖魔化。在我看来这是微信进化自然的结果。不负责任的猜想,类似的进化应该也在 Facebook、Line 里面发生着。(PS:支付宝那个小程序技术上算同类型,但是我觉得产品上不是一个东西。因为支付宝本来就不应该是微信 Copy 啊) ...

1月 20 2017
Categories: Tags: 胡思乱想

世界观我认为在2017之初,人类文明世界将进入一个新的阶段。不过回顾人类历史,相似的情况时有发生。所以这应该能用螺旋式的上升来说明情况。所以本文会以作者自己的视角来阐述几个思考过的方向。并且简单下结论。 ...

9月 27 2016
Categories: Tags: PM, 产品思考, 产品汪, 随便瞎扯

背景分析这是最好的时代,也是最坏的时代2016年,号称直播元年。 因为手机的普及率更加广阔了,手机的性能上来了,网络速度更快了。 所以大趋势是产品 这是大技术环境决定产品的走向。所以,一定存在社交产品的机会在里面。 以下的产品分析主要从移动端的视角出发。 ...

6月 14 2016
Categories: Tags: PM, 产品汪, 随便瞎扯

本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. ...

1月 25 2016
Categories: Tags: read book notes

本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭。本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 碎碎念先感慨一句,在看不见的地方,有很多人都比我更加努力! 导读厚厚一本,其实读起来还是挺快的。3个小时左右初略的看完一次。整个书是用了一些真实的案例来说明。但微信这个天朝移动互联网最大的平台。在开放现有资源的情况下是怎么建立新的世界次序的。微信真的改变了中国人的生活。 以下文字重点在看案例以后的感想 ...

1月 19 2016
Categories: Tags: Mac, iOS

本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 碎碎念OhMyStar 2 也进行了一段时日,我把持久化的方式从CoreData 换到了 Realm。有些感悟,顺手就记录一下吧。以下评论都是自己很主观的感受,无实际测试数据支持。 论 iOS 的持久化iOS 持久化其实也没多少选择, 高端一点CoreData、Realm、FMDB、KV类(LevelDB等)。低端一些直接一个 NSArray 就写成 Plist 也能持久化下来。 在网络环境越来越快的当下和大部分应用数据都可能是网络应用,如果业务逻辑并不复杂,其实极端一点就只用写到 JSON 转 Object 就好了。而且一堆这样好用的封装,远有Mantle 近有YYModel。 所以需要持久化的时候,我觉的可以慎重的评估一下需求。想明白了,后面可以节省很多事情。 本文章主要对比 Realm 和 CoreData,其他的就不涉及了。 ...

1月 12 2016
Categories: Tags: 随便瞎扯

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 碎碎念2016年才开始,再次感慨时光如逝。2015一年面基了好多人,其中认识了好多小朋友。有的小朋友真的很厉害,而有的小朋友也有我在当时年纪的迷茫。觉得在28岁这样“长者”的年纪,自己也算做一个有故事的男同学。写下这一篇文章,也算写给18岁的自己。至少证明我来过这个世界。 在2012年,我以当时的能看见的未来写过一篇IT人士入门指南。 几年后的今天来看,有一些内容和想法是过时的、片面的、不完善的。所以一直想去更新一下。无奈觉得自己好像也没做出什么能拿出手的成绩,觉得写出来会不会误人子弟。 但是后面我发现,我的某些想法虽然在很多人里面看起来很“傻逼”。但是如果能分享给更多的人可能会让这个世界变得美好这么一点点。加上自己近一年时间的伪创业+伪独立开发,思考问题的方式可能带来一些不一样的见解。这还是值得去做的一件事情。分享是种美德。 本文目标读者:在12岁~22岁喜欢互联网或者想从事互联网工作的小朋友们。 做人首先谈谈人的本身。做事先做人,一个老生长谈的问题。接下来的讨论情况基于更加普遍的情况(特殊情况不再讨论范围)。 根据我的观察,一个能在IT行业做到顶尖的人,如果换一个行业或者职业,加以时间很大程度上也能做到新行业的顶尖。因为他们身上都有一些共同的特质——专注、勤奋、渴望。也就是那句著名的“Stay hungry. Stay foolish.” 为什么名校的人们更容易做到顶尖?我认为跟他们读不读名校其实关系不大,而在于他们考进名校的时候就已经让自己成为了那种做事能 专注、勤奋、渴望的人。而12-18岁这样的年纪大家做的事情也只有一个就是去高考,所以他们把这个事情能做好进入了名校。自然以后不管从事什么职业和行当,他们只要继续的专注、勤奋、渴望,都不得不成为行业的精英。多说一句在当下这样学识、教育获取更加扁平的情况下(世界顶级大学都有公开课),国内大学教育在我看来并重要。所以在人生的不断旅程中,如果想要成为行业的Top级别,需要自己先问问自己是否能保持周围学霸的那种专注、勤奋和渴望。 专注、勤奋是都能找到具体的实践办法。而渴望就是内心深处的一种感觉,要有这种感觉最简单的就是喜欢。所以才说要从事自己喜欢的职业。 这部分适合各种情况,所以也不展开说了。以免写多了像鸡汤。 ...

1月 31 2015
Categories: Tags: read book notes

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 开篇扯淡嗯,在一月的最后一天的最后一个小时开始写这篇读书笔记。也就算做这个月输出了3篇 blog。如果对比2014年这种令人发指的输出量来说。对于自己不得不说是一个巨大的进步。 这本「引爆点」是在去上海开年会的来回路程上扫完的。顺便说一句,Sumi 除了Kevin Cao。其它全部在上海喝了残血回程的。 我还内伤了回来在医院躺了2天。 这是后话了。可见战斗力下降的厉害。 最近我看书,一边看、一边会去联系一堆事物进行思考。因此现在的读书笔记也是想到什么写什么。并不是上学时候那种读书笔记顺序条例整齐的。算做观后随笔之类的吧。 最后的一句扯淡,我不应该怎么晚才看到这本书。 ...

1月 20 2015
Categories: Tags: just-talk

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 开篇扯淡最近啊一堆一堆的人们在晒自己的 App 收入。其实吧,2014年。我也参与弄了个工作以外的 App 出来。不过一直觉得这点收入太低实在不好意思说出来。不过看着大家都晒的好欢乐的样子也忍不住说说。(其实是看见有人垫底儿,哈我就不告诉你是谁) Oh My Star 缘起软件想法这个想法其实挺早就由各种混沌的想法构成了。最开始的时候是大概 2013 年初左右,现在坐在我旁边的 linjunpop 高富帅他在 Github 上的 Star Repo 已经直逼2000+。王放放童鞋的也快1000+ 的 Star 数量。然后大家就在说做一个 App 来管理啊来管理。不过说归说。对于一群懒癌末期的人来说。说完我们就去联机打游戏去了。 不过我的 Star 数量也开始变得多起来。得益于我的渣记忆力和 Github 对已经 Star 过的项目的渣搜索能力。经常找一些记得 Star 过的项目,但是它已经淹没在茫茫 Repo 海了。 一直到大概2013年8月份的时候。我感觉吧,我特别需要一个管理 Github Star 的工具。没有怎么办,自己做呗。 鉴于我的渣编程能力和懒癌末期,我决定拖一个人来一起弄。所以,我把我师兄 Noark9 忽悠下水了。 ...

1月 16 2015
Categories: Tags: read book notes

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 开篇扯淡连续三年了,我都只有1月有写过读书笔记。今年又是如此。我只能为自己找个台阶下。懒癌末期患者,请这个世界多给一点点宽容。 记不得上次看完一本书是什么时候了,最近一年来如果一本书看了超过24小时。那我是绝对的看不完。 能看完的都是花了一个通宵就看了。 对了,元旦在动车上重新看了一下修摩托车。 那本书看了2年了,断断续续的。就没有看完过。 ...

12月 26 2014
Categories: Tags: iOS

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡最近又在看 ReactiveCocoa 了(下面用 RAC 来替代 ReactiveCocoa)。虽然依然是 hello world 级别。但是 hello world 也是可以分级别的。这次自我感觉是一个偏向中级的 hello world。 我们先来张图: 在 RAC 的文档和一些介绍 RAC 的 Keynote 资料里面我们可以看到说 RACSignal 可以来替代 Delegate、 Block Callbacks、Target Action、KVO、Notifications。 但是貌似没有一种 hello world 的方式来进行说明如何替代的。 插嘴:在中文 blog 里面见过几个写 RAC 的比较好哒。一个是limboy大大的几篇深入浅出令人叹为观止,李忠大大不但研究透彻了然后还结合自己的实战经验写成很好的文章来分享。 另一个是sunnyxx的Reactive Cocoa Tutorial系列这个系列比较偏向研究 RAC 是如何实现和工作的。 我这个人比较笨,最喜欢写 hello world。那就找时间一个一个来写呗。 写之前 Google 了一下。所以以下内容大量参考:Replacing the Objective-C “Delegate Pattern” with ReactiveCocoa。能看原文就去看看。然后忽略掉以下的 hello world 就好了。 ...

10月 20 2014
Categories: Tags: just-talk

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡 好久没有写 blog 了。 最近发现很多人对 iCloud 和 iCloud Drive 有些误解。而还没有看见中文里面有一个比较正确的说法。 加上近两年来工作就是在学习 iCloud 如何使用。最近一个月做客服小弟回复了 N 个 iCloud 的问题。所以感觉还是有一些价值的。特意想记录一下。 是否升级到 iCloud Drive在 iOS 8 刚刚上线的时候,用户更新了以后。第一次会跳出来,说需要重新升级的 iCloud Drive。因为没有更多的信息和提示,我想一个正常的用户应该都会去点击升级。结果就是导致很多使用 iCloud 这个功能的 App 数据出现问题。或者导致了设备之间的不同步。那会有很多文章在建议不要升级 iCloud Drive。所以可能会给后来升级到 iOS 8 的用户造成一定的心里作用说升级 iCloud Drive 是不可靠的。 其实根据我两年来 iCloud 的经验和测试结果。 iOS 8 的 iCloud Drive 是一个 Apple 云端的一次最重要的里程碑。 是 iCloud 这个技术在 Apple 产品系列上第一次做到了可用的状态。等了三年终于有个云的模样了。 当时不建议升级 iCloud Drive 的理由其实就两个: 对于开发者来说,由于 Apple 为了保密 iPhone 6 和 iPhone 6 Plus。 其实在9月发布会之前。 iOS 8 的 最后两个 Beta 版本是没有提供给开发者的。在能获得的最后的 Beta 版本上。 开发者使用 iCloud 依然各种莫名其妙的问题。一直到 GM 版本才变得正常。这样导致 GM 到发布正式的版本之间的时间。大部分开发者还无法把更新 iCloud 的技术及时的完善在自己的 App 里面。 另外一个是在 iOS 8 已经放出来的时候,OS X 10.10 还没有放出来。这样如果你是一个 Apple 一套的普通用户。就会导致你一些全平台使用 iCloud 技术的 App无法相互同步。所以在当时确实这样情况的普通用户应该谨慎更新。 现在11月了这两个问题随着开发者对 App 的完善和 OS X 10.10 释出。其实都不是问题了。大家可以放心大胆的升级了。 ...

4月 23 2014
Categories: Tags: Design

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 本文未完成懒得屏蔽了 开篇扯淡Sketch 3发布了,而且在国内设计圈产生了一阵不小的影响。(好吧,我承认我混的不是这个圈子)作为一个拥有Sketch 2的老用户来说。这颗闪亮的钻石本来只我才知道他的好。就像小时候发现了一个出租激情小电影的小店铺,突然某一天冒出来一堆人也来租。那种小秘密被打破莫名的失落感。 好吧,其实这个是一个好事情。用的人多了,素材也会多。教程也会多。 顺便一提Sketch 3的发布之前MengTo大神的Design Code新书也在不断更新中。严重怀疑是商量好一起来坑钱包的。 配合的这么天衣无缝。在Sketch 3还没有正式发布的时候,MengTo大神更新的视频就是用的Sketch 3 beta版本。弄的我还以为我的Sketch 2是不是打开姿势不正确。 写这篇的原型是因为看到weibo上有小朋友,居然用我大切图神器Sketch的姿势不对。所以虽然不是什么高级的功能。但是鉴于跟我一样徘徊在设计大门的朋友还是很多,我就记录一下。 在没有Sketch之前,设计师给过来的素材都是psd的。作为一个有节操的少年,虽然我拥有CS4的教育版本,但是我还是会用Pixelmator去切图。(PS:主要是不会使用PS!)不过由于兼容性的问题Pixelmator切图会丢失psd的一些图层效果。所以后来一直是设计师把图给切好了在给过来。(明明是想办法偷懒!!) 不过后来,有了Sketch这货,我也就开始自己尝试切图。而且Sketch可以直接切出1x和2x。莫名的快感。(不要说PS有插件能做这个事情。我真不会和买不起PS) ...

4月 08 2014
Categories: Tags: iOS

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡说曹操,曹操到。嘛当,还说总结一下时间的问题。这不blog这个系列没有写完。又爆了出一个时间相关的Bug。我只能说编程路茫茫,吾将上下求索。这次就着热乎着,来说是一个遇到了什么问题。 遇到的问题有日本用户反馈,新版本更新以后,他日历上的时间全部乱了。而且无法写入日记。经过与用户沟通(感谢喵神onevcat的日文人肉翻译)分析得到用户使用和历(日本日历)。然后debug进去果然日期全部乱了。跟进去debug了一番,发现是之前解决夏令时的函数只考虑了公历!!!而iOS系统默认有三种日历。公历、和历、佛历。又一次无情的证明了我是一个天朝土包子。 ...

3月 25 2014
Categories: Tags: Design

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡那啥, 我知道NSDate的坑没有搞定。缓缓,缓缓。我在开个新坑来着。恩恩这个坑就是记录一下怎么学习Sketch 这个软件的。 首先,我买了本更优秀的APP-31个APP用户界面设计经典案例。 高手勿喷,这种图文并茂,手把手的交比较适合我这种菜鸟。 这本书的唯一好处是他的例子是Ai的。而Sketch也是矢量图。所以我以为会有些类似的操作。(其实根本是两个软件啊!!!!) 然后我准备把他说的31个例子都用Sketch来模仿一边。恩,先把Sketch的大部分功能运用熟练再说(就是花了小几百不想让他吃灰而已) ...

3月 19 2014
Categories: Tags: iOS

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡恩,两月没更新blog,hexo都出来新主题来着。其实昨天为了找个背景图找了一小时我会随便乱说。就是为了找一个配合网站标题的背景图。其实hexo默认的就蛮好了,但是为了显示那么一点点与众不同还是替换了一下。 扯淡结束,接上一篇格志周年系列之夏令时(一) 第一阶段Bug上次说过一个中国高富帅用户发Email来说,他去泰国旅游的时候,日记都不见了。 其实不是日记不见了,日记都好好的躺在sqlite文件里面。而是查询不出来了。日记的保存是用了一个函数去获得了每天的00:00:00. 然后作为唯一标识来区别和查询。 那日期出了啥问题? 我们来快速的分析一下 调用的是 12345678- (NSDate *) dateAtStartOfDay{ NSDateComponents *components = [CURRENT_CALENDAR components:DATE_COMPONENTS fromDate:self]; components.hour = 0; components.minute = 0; components.second = 0; return [CURRENT_CALENDAR dateFromComponents:components];} 里面有两个宏 12#define DATE_COMPONENTS (NSYearCalendarUnit| NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekdayCalendarUnit | NSWeekdayOrdinalCalendarUnit)#define CURRENT_CALENDAR [NSCalendar currentCalendar] 假设你使用过Cocoa时间这些类的话能很容易的看出。dateAtStartOfDay函数就是把你持有的date以当前日历为基础,其他不改,小时,分钟,秒钟设置都为0。这样就能得到一个基于当前日历下的date这一天的00:00:00。 简单看上去没有什么问题,回到高富帅的问题。他出国玩一圈咋时间就变了呢?答案是[NSCalendar currentCalendar]改变了。NSCalendar的改变使得dateAtStartOfDay返回的时间也变了。debug到这一步才发觉靠当初为什么没有想到有时区的这个问题。 自己给自己找一个理由就是到目前为止,我只用过大天朝的+8时间。潜意识里面根本没有说换一个时区这样的概念。(后来某一天我翻了本C语言的书第一章就说了国际化时间的问题,再后来weibo上大家都纷纷表示时间是编程里面一个基础点而且做好不容易,只能说我还是太菜太年轻了。这些是后话了) 说道这里那就开始科普一下地球上时间的问题 ...

3月 18 2014
Categories: Tags: iOS

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡两月没写blog,没羞没皮了。以后作息规律一些,blog更新还是频繁一些。格志在2014年2月11日就整整上线一周年了。2013一年做格志,由于自己的技术实在比较菜。导致从上线的第一天起,整个团队跟着一直打补丁。小的坑就不说了,大的坑有两,一个iCloud + Core Data世界性难题。一个是全球时间问题。这篇blog就用来专门记下时间的坑。中间还有个插曲——格志在三月上线了2.0的全新专门为iOS 7设计的版本。时间问题在去年10月份改完以为对了就没有改过。结果3月9号是3月的第二个周日,美国地区进入夏令时。格志中又再次发生了时间问题,导致日记显示不全。之前开会说过放错不可怕,可怕的是放同样的错误。再次放错以后我都呆住了。那可是我写过测试用例的啊。结果当时一run测试就挂掉了。瞬间脑子蒙掉。然后上周通宵了一天,基本每天到3点把世界时间问题给彻底搞定。(希望是彻底)所以趁着我现在还有印象,记录一下。 ...

1月 08 2014
Categories: Tags: read book notes

本文仅作为个人记录使用,也欢迎在 ...

12月 31 2013
Categories: Tags: just-talk

本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 生活注定的漂泊在16岁的时候,我就会隐约觉得我会一生注定漂泊。这种感觉以我的文字水平很难用完整表达出来。不过18岁以后的每一年换一个住的地方。直接用事实验证了这个16岁的直觉。本来以为我会在厦大住够2年的,命中注定,天煞孤星。房子要拆迁只有另外找地方了。继续这一年一个地方的节奏。 ...

12月 25 2013
Categories: Tags: iOS

本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息. 开篇扯淡现在都是进入互联网时代,一个互联网的App数据肯定是存在互联网上的。到处都是云,到处都是服务器。如果数据是存储在云端or服务器端。每次数据的读取和修改直接作用于服务器。这样不管你用多少设备,多少平台。数据都能保证是唯一的。但是还有些App需要一些更好的性能和效果的时候往往等不起网络的数据传来传去。这时候需要一些折中的办法来解决这些问题。iCloud就是Apple给出的解决方案。就普通用户来看,iCloud应该是在Apple系中的最优选择。但是从开发者的角度来看iCloud就是个无穷无尽的深渊。 全球有很多开发者致力开发第三方库以便让iCloud能被使用。 UbiquityStoreManager就是其中之一。 ...

12月 21 2013
Categories: Tags: just-talk

本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 ##开篇扯淡 今天为了测试Bong支持游泳的说法,我差点挂在厦大的游泳馆里面。这天太冷了,而我自己又对自己的身体素质预估不住,跑去露天的游泳池。偌大一个标准池就我一个人,随意做了几下准备运动抵不住冷风吹,深吸一口气眼睛一闭跳进去。XXX,我能说脏话么。蛋都要冻掉的节奏啊,心中顿时把年少时候在电视上看到冬天跳入结冰河水游泳的新闻编者草泥马过了千万遍。顿时想转身起来,但是一想到下去还钥匙时候丢人死了。就奋力的向前游。接下来,我体验到了在水里皮肤会有痛的经历。记忆力从来没有过的。由于水温比身体温度低很多全身的皮肤感到刺痛,寒冷刺皮肤啊。扛着想今天至少要游1km吧。游了200m的时候开始全身麻木or适应了刺痛感,好过一点。咬牙游到600m的时候还觉得可以到1000m的结果650m米的时候开始感到不适。以自己科学常识隐约觉得是体温下降太多导致。所以就在700m的时候翻身上岸。经过长途跋涉回到宿舍里面赶紧冲了一个热水澡。然后躲到被窝里面小睡了1个小时才感觉命回来了。 我并没有才入手就吐槽,而是使用了5天。打了两次羽毛球,游了一次泳。才开始吐槽的哦。 ...

12月 19 2013
Categories: Tags: iOS

本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 ##开篇扯淡圣诞渐进,各种App都在黑五一波冰点。可以遇见的是12月25号前也会有一大波来临。但是!!!今年买软件貌似已经花了很多钱了。而且,也没有几个想入的了。所以就忍忍吧。 然后,做个宣传啊。我们国际化大厂Sumi的App Grid Diary在紧锣密鼓的开发2.0. 完全iOS7设计。各种给力。到时候希望能给大家带来一个好的App吧。 ...

12月 02 2013
Categories: Tags: iOS

本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。 开场扯淡恩 一个月没有写一篇blog了。恩。就这样把。 ...

10月 15 2013
Categories: Tags: iOS

开场扯淡ReactiveCocoa的迭代速度相当快,一群富有才华和激情的人们在不断的进化ReactiveCocoa。欣欣向荣的景象啊。我这种hello world级别的也就只能使用他们的劳动成果了。上篇blog的时候我还在用1.9.x的版本 现在我已经全面转向2.x了。值得注意的是霓虹友人提交的cocoapods上ReactiveCocoa 2.1 版本我无法编译通过。目前我使用的还是2.0的版本。 介于一个月没有更新blog的速度,这次来写少一点的内容。 ...

9月 11 2013
Categories: Tags: iOS

扯淡习惯了,每次再写技术的东西的时候总要唠叨几句。本来唠叨的东西我应该会写成另外的blog。不过每次给自己下了一个底线要少少的写这些唠叨的话语。原因一是觉得我爱唠叨的话语可能会导致blog被墙。原因之二我不希望我变成一个IT评论家。 对了,我发现我还是挺爱挖坑的。目前有两坑没有填完。一个是Core Data系列。一个是iCloud系列。两个系列我都只写了一个Hello World级别并没有再深入的继续写。恩,要抓紧了。其实ReactiveCocoa这个我觉得也可以作为一个系列来写。不过想了想我这种Hello World的水平。也写不出这么多来。就暂时写一篇好了。 ...

9月 02 2013
Categories: Tags: iOS

什么是NSUserDefaultsNSUserDefaults的持久化本体是一个plist.内存单例是一个操作类似NSDictionary的类。 而NSUserDefaults的出现我想是因为在每一个程序当中。我们都会设定一些选项。比如桌面壁纸、声音大小、提醒日期等,我们希望就算App关闭以后。我们再次打开的时候还在的东西。但是它并不适合存储App中关键的内容和用户自己产生的大量数据。 大量数据应该用更加合理的方式去做持久化(Document or Core Data). ...

8月 26 2013
Categories: Tags: iOS

开发支持iCloud的上半部分前期准备 需要申请一个开发者的帐号。理论上iOS和Mac OSX的都OK。考虑到我只有iOS的情况下,我的文章里面的例子默认只是iOS的。 你需要一台iOS设备,并且iOS版本必须大于等于5.最好大于等于6. 最最好大于等于7。 Xcode不用说至少是MAS里面最新的 然后去建立App Bundle ID的页面去把iCloud支持打开。 bundle id需要生成带你测试设备的证书 (PS:截图太累了 换成文章描述) 这样才能算iCloud的前期工作做完了一半。 以下涉及到NDA内容请自行屏蔽 ...

8月 22 2013
Categories: Tags: just-talk

深夜吐槽多看好吧,作为一个喜欢看书的人和觉得多看做的确实好的普通用户。我把我个人的想法完整的表达一下。 ...

8月 19 2013
Categories: Tags: iOS

什么是iCloudiCloud是苹果公司提供的云服务的总称。每一个拥有Apple ID的用户都拥有5G大小的空间使用权。用户可以使用iCloud的空间来进行数据的备份,联系人备份,照片备份,应用备份等。好处就是当你有多台设备或者是换新的设备的时候。可以有无差别的体验。 对于开发者来说,iCloud相当于提供了一种官方形式的云端存储形式。帮助你的App实现所谓理想的状态。不论用户在什么设备打开App。 里面的数据,设置,形状,大小。都跟他上次打开的一模一样。这样你的App会给你的用户非一般的体验。 开发慎用iCloud上一段说了iCloud的优点,其实是接近意淫中的理想状态。我以近一年的血泪史告诫,初级开发者,应该避免使用iCloud。中高级开发者视项目规划内容酌情使用。如果能有其他方案替代iCloud,建议优先使用其他方案。 初级开发者: iCloud的三种存储方式 Key-Value, Documents, Core Data都是在之前已有的框架上进行扩展的高级接口。换言之,你应该先具备了这三种技术的基本知识再开始考虑学习iCloud。 iCloud + Key-Value对应的基础是NSUserDefaults。 iCloud + Documents对应的基础是使用文档进行数据存储(NSFileManager,NSFileCoordinator,NSFileWrapper,NSCoding等一系列持久化数据存储到文件的问题). iCloud + Core Data的对应基础就是Core Data。本来是强烈建议如果没有这些基础的人不要直接来学习iCloud的。但是谁都是一步一步走过来的,如果要用到iCloud的某一种方式。建议先把基础的持久化方式原理弄懂了,在看iCloud的部分。不然学习门槛的过高,会使得进度无法按时推进。 中高级开发者:如果是已经用过Key-Value,Documents,Core Data的。应该会很快能明白iCloud的原理。 而进行开发。但是值得注意的是,iCloud的使用和调试会非常的消耗时间和精力。并且和你的当前网络状态息息相关。然后会出现各种诡异的情况。这个时候你都需要淡定很超级的耐心。去找到这些坑,然后慢慢的积累经验去绕过这些坑。(在这里先挖坑,后面在慢慢写我的一些使用经验) ...

6月 03 2013
Categories: Tags: iOS

前言通过Google分析来看blog的访问统计。发现评价阅读时间也就一分钟不到。但是之前都习惯性写长篇大论。这次换一种方式来写blog。尽量写短一些的小一些的题目。使得更新数量上去。 这次我来说说怎么设置Tab来提高在xCode的工作效率。 我是如何使用Tab来提高效率的xCode的Tab是什么诺,就是这一个东西。 使用过各种浏览器的你一定不会陌生。对在xCode里面我们也可以开出多个页面。而且每一个页面的状态是单独保存的。 ...

5月 23 2013
Categories: Tags: iOS

iOS进行单元测试OCUnit+xctool单元测试什么是单元测试wiki解释 简单说来就是为你的方法多专门写一个测试函数。以保证你的方法在不停的修改开发中。保持正确。如果出错,第一时间让你知道,这样从最小单位开始监控来保证软件的质量。 我为什么要单元测试其实要开始写单元测试的原因是,由于我的原因格志的存储逻辑一直有问题。 一个是代码写的比较搓,一个是修改存储的逻辑的话。影响面比较大。可能修复了一个bug而引入了未知的多个bug。为了Sumi早日达到国际化大厂的标准。决定上单元测试于格志。其实最根本的目的还是想要项目变的更加可靠。 单元测试的一般方法关于测试的书,一搜就一大把。都有高深的理论和方法来指导怎么写单元测试的方法。我觉得嘛不用搞了这么复杂。 无非就3种时候会去想写测试: 代码完成以后 开始写代码之前 修复了一个bug以后 第一种是完成了代码,恩我要测试一下我写的这些方法可靠不可靠。那这时候可以写测试。 第二种一个著名的方法论TDD。主要思想就是在写代码之前,就全部设计好借口。函数名字什么的。然后在写能通过测试的函数。 第三种就是发现了bug,我修复了这个bug。为了确保修复是成功的。那就写个测试吧。 我觉得啊,着三种都没有什么好或差。能写测试的少年都是好少年。何必这么在意什么时候去写呢。 一个完整的测试类组成像下图 在一开始可能测试方法里面需要一些上下文环境。这些可以在Setup里面去完成。然后才可是执行自己写的测试方法。 然后测试结束以后,可能产生了一些垃圾数据文件什么的。这时候你可以在TearDown方法里面把他们处理掉。 以上大部分都是我自己的粗浅理解,如果你需要更多关于单元测试请阅读更加系统专业的书籍。 ...

4月 29 2013
Categories: Tags: iOS

CoreData (四)监听NSFetchedResultsController之前说过, NSFetchedResultsController是有两个重要的功能。 第一:NSFetchedResultsController是作用在Core Data上的,通过NSFetchRequest来查询Core Data里面的数据.可以返回按照组分好的数据.这样便于UITableView来显示. 第二:但Model改变的时候NSFetchedResultsController能及时的发出通知.准确的说,应该是当NSManagedObjectContext发生改变的时候,NSFetchedResultsController能知道这些变化,然后发出通知出来.以便UITableview能及时的更新. 上一篇写了第一点. 现在写第二点. ...

4月 17 2013
Categories: Tags: iOS

CoreData (三)NSFetchedResultsController什么是NSFetchedResultsControllerNSFetchedResultsController是一个让人爱恨交加的一个类。如果使用得当,NSFetchedResultsController能帮组减少很多代码。如果使用不当,整个App就随时崩溃。 NSFetchedResultsController我觉得最初的设计应该是为了配合UITableView来使用的。因为UITableView在iOS的应用App中出场次数实在是太高了.而且UITableView是重要的数据展示View,所以需要频繁的向Model去请求数据,但是根据MVC来说,V不应该直接跟M联系的.这样就在Core Data下面出现了一个C–NSFetchedResultsController来把V和M协调起来. NSFetchedResultsController就是这个C. NSFetchedResultsController是有两个重要的功能。 第一:NSFetchedResultsController是作用在Core Data上的,通过NSFetchRequest来查询Core Data里面的数据.可以返回按照组分好的数据.这样便于UITableView来显示. 第二:但Modle改变的时候NSFetchedResultsController能及时的发出通知.准确的说,应该是当NSManagedObjectContext发生改变的时候,NSFetchedResultsController能知道这些变化,然后发出通知出来.以便UITableview能及时的更新. ...

4月 15 2013
Categories: Tags: iOS

UITableView简单解析序UITableView是在iOS开发中,展示大量内容的首选。我个人认为的原有有一下几点: UITableView的展现形式是为移动设备专门设计过的。有较好的人机交互体验。 从技术角度来说UITableView具有重用和延迟加载等特性。如果使用恰当。可以获得一个App流畅的用户体验。 这样,使得UITableView在iOS App中随处可见。 原生应用 一些有名的App.图片信息较老 包括游戏 这些都说明UITableView在一个App中其实是一个很常用的控件。我应该好好的学习它。 ...

4月 01 2013
Categories: Tags: iOS

Core Data (二)序上次只是说了三个Core Data栈基本类。这次准备介绍一下常用的类。 NSManagedObject Core Data是一次底层数据封装成面向对象的技术。最直接的表现就是在SQLite里面的一条记录在Core Data里面的表现是一个NSManagedObject对象。因此我们的增删改查都是基于操作对象的。恩这里多说一句,NSManagedObject是相对NSManagedObjectContext里面是唯一的。而真实的应用情况可能是NSManagedObjectContext会有多个。而NSManagedObjectContext线程不是安全的,所以可能有你多个NSManagedObjectContext里面各自有指向同一条数据的不同的NSManagedObject。这个情况需要你的程序设计和逻辑上去解决。暂时不讨论。 ...

3月 29 2013
Categories: Tags: iOS

Core Data (一)序恩,用Core Data也有一段时间了。大大小小的坑也都坑过了。重来没有认真的记录一次。这次需要好好的理一理Core Data。就当一次绝好的机会记录下来。也为了自己加深认识。 为什么要用Core DataCoreData的学习是需要一定成本的。以至于我认识的人很少在用,大家要不就是用一个FMDB。或者做的App是一个已有的Web的延伸,数据直接用Web端的Api取回来就好了。 我们要用Core Data的理由有以下几点: Core Data是对底层存储的一次封装。封装了以后就变成ORM的框架。这样就变成操作对象。Core Data自己去进行数据的保存。 使用Core Data而不是FMDB,让整个程序架构更加的面向对象。 Core Data仅仅使用了Objective-C和Core Foundation,你不必去加入一些第三方的库。 Core Data是Apple的原生技术。每年的WWDC都能看到新特性的加入和讲授。 Core Data支持iCloud。而使用iCloud的App。Apple推荐的可能性增加。 有了iCloud为以后Apple的全平台数据共享打下基础 所以,没有理由拒绝使用Core Data做为你App的持久化。Core Data应该是一个跟Apple混的第一选择。 ...

3月 19 2013
Categories: Tags: Mac

ssh远程登录Mac OS X序近一年抱了Apple大腿之后,各种表弟、师兄、朋友陆续也开始抱Apple大腿。难免遇到各种问题,这个时候在QQ交流效率低下,简直不可忍受。也不知大腾讯啥时候支持一下QQ for Mac的远程协助。这样有时候也可以帮助一下在家的老爸老妈解决一些PC上的问题。大神们绕道无鄙视。OS X乃纯Unix血统。教科书上都写了*nix系统可以ssh登录过去搞定一切。就想着可以用ssh来解决问题。无奈网络基础确实是挂课的水平曾经尝试过一次没有成功。这次又再次遇到远程协助的问题就好好Google了一次。研究了好一会儿终于搞定,在此记录。 ...

3月 11 2013
Categories: Tags: iOS

#iOS读写文件 序由于iOS App的机制和限定,我们在App里面的权限就仅限于App内部。这个打包好的内部称为沙箱。沙箱有利有弊。我觉得这个世界上没有绝对的好坏。虽然沙箱的作用限制了一些功能的实现。但是也确保了iPhone的安全机制。对于普通用户来说我觉得的利大于弊的。(MAS上架的软件也接受这一约束) 第一步 路径不管是读文件还是写文件我们都要需要知道文件的位置。这个位置在iOS里面就是沙箱的Document文件夹的位置。关于沙箱里面各个文件夹的功能和作用。Apple的某文档里面写的很清楚建议Google以后详细查看(懒得去找来贴了)。获取代码如下: 12NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = [paths objectAtIndex:0]; NSDocumentDirectoryz这个参数你点过去可以找到一堆类似的定义比如常用的NSLibraryDirectory,NSApplicationDirectory。这样就可以直接获取到对应的文件夹路径。其他的你照抄就好。想知道意思就点过去看呗。其实看变量名也可以猜测一二。 1NSString *filePath = [documentsDirectory stringByAppendingString:@"/hello.txt"]; 然后我们加上我们文件名字构成一个完整的路径。注意文件名字前有一个/。 这样我们就获得一个文件路径了。 ...

3月 01 2013
Categories: Tags: iOS

配置自己的CocoaPods库序默认安装的cocoapods确实很好用,可是毕竟自己会写一些库和修改一些第三方库来用。所幸cocoapods确实是一个神器。他可以定义自己的库来用。如何安装Cocoapods,请参考这篇 ...

2月 22 2013
Categories: Tags: iOS

Mogenerator的初级使用什么是Mogenerator最近在用Core Data来进行开发。Core Data其实封装的很好了。把存储底层都屏蔽了(sqlite,xml,内存)。不管是用那种方式存储下来。用Core Data都是在操作对象了。但是Core Data一套东西下来,单是学习就学习的泪流满面。天资有限,只能找一些看上去更简单的第三方类库来使用。 github上找了很久,最后在使用的是MagicalRecord。不为其他,只是用起来很爽。特别是目前升级到了2.1版本以后,保存的方法名字不那么逆天了。更是好用多了。 而Mogenerator是什么东西呢。 它漂亮的主页上是这样写的: mogenerator为你定义了的Core Data生成默认的数据类。与xCode不一样的是(xCode一个Entity只生成一个NSManagedObject的子类),mogenerator会为每一个Entity生成两个类。一个为机器准备,一个为人类准备。为机器准备的类一直去匹配data model。为人类准备的类就给你轻松愉快的去修改和保存。 ...

2月 02 2013
Categories: Tags: read book notes

#2013 一月读书笔记 2013的一月嗖一下就过去了,都还没有反应过来,在过几天就回家过年了果然时间入流水阿。 看看之前的blog,上一篇也是唯一的一篇读书笔记刚刚好是2012的。随带检讨一下自己的懒惰。 之前用的Octopress,不知为什么我手贱update了一下就各种错误。搞了两天也不明白问题在哪里。 那会还有写点东西的冲动。给我急的阿。后来想起在@Lucifrblog里面见过一个类似的框架,跟过去看了看。原来是之前见过的台湾小朋友写的Octopress主题Slash的作者@tommy351新项目Hexo。果然自古英雄出少年阿。感谢@tommy351的Hexo。 现在我的blog生产静态html的框架用的是Hexo 强烈推荐。 一月我以极快的速度翻完了三本书。 「打造Facebook」 「看见」 「全世界人民都知道」 ...

1月 14 2013
Categories: Tags: iOS

前言iOS的Debug 系统在github上还是有不少。 PonyDebugger是看上去比较牛气的一个。尝试一下 PonyDebugger 可以监控网络 还可以查看Core Data对象 view的层级查看 这种好东西。 让我们快速开始吧。 ...

1月 01 2013
Categories: Tags: just-talk

扯扯其他 又到了一年一度的年度总结了,以前怕写,觉得人生如同复印一般没啥好写的。今年今日却是想好好写一点总结。2012还是自己本命年,12年恰好是一个轮回。12岁那年升入初中,这样使我有机会认识了5个现在值得交心交肺一生的兄弟。虽然现在天各一方,也可能许久没有联系。但是我相信兄弟之间是不必多说什么的。如果没有认识你们,我可能没有这么豁达,开朗。在风华正茂的年纪,我认识你们,你们认识我,是我们的幸运。 2012世界末日年,年初的时候我很彷徨和焦躁。因为我不知道我要做什么,我想做什么。当初觉得自己就是想去做操作系统,什么都不管不顾的去了东莞。其实是毕业那会儿见识的东西不够多,看的书不够多,看问题并不够客观理智。我并看不出来我应该做什么,只觉得做操作系统说出来应该很cool的样子。然而自己其实对这个行业根本不懂。在昆明了四年,虽然互联网触及到了世界。但是在边疆却是跟一线IT距离太过于遥远。 ...

12月 16 2012
Categories: Tags: just-talk

为什么小米会成功正面赶上了移动互联网这一波浪潮这是「浪潮之巅」里面的说法。很显然,互联网那一波浪潮已经不可能再变得更高了。而下一波的移动互联网大浪现在来看,已经是在像最高潮发展了。而小米进入这个市场的时间要比现在早那么2年多。那时候,移动互联网这个浪头已经被Apple带起来了,天朝的移动互联网远远没有现在这么竞争激烈。小米就进入了这个大潮流中。所以,小米能取得多大的成功,依赖着这波移动互联网的浪能打多高。我觉得这波移动互联网的浪头会很高,至少要超越互联网这波浪潮两倍的高度。小米肯定不可能是浪头的最高点,不过由于进入的时间比较早,只是追随着浪头,也能达到一个很成功的高度。对于这样一个企业来说。确实就是成功了。 ...

11月 18 2012
Categories: Tags: just-talk

这篇blog缘由这张图片 然后我转发了一下这里可以围观。 然后 有几个人评论了一下。觉得我像一2b青年一样乱说。现在却找不到那几个评论了。不过后来我看了看,我写的这条微薄确实就是2b青年的评论的范。为表示深深的歉意,我决定写这篇blog来阐述一下我的观点。 ...

11月 06 2012
Categories: Tags: just-talk

24我一直觉得在中国,12是蛮重要一个关于时间的数字。一天有12个时辰。一年有12个月。一个生肖轮回是12年。我已经在这个世界呼吸了24年了。12年一轮。我在今天解锁了两次本命年的成就。 当第一次轮回时候,肯定幻想过第二次轮回的样子。回想过去,其实第一个轮回的记忆已经不是那么的清晰。而第二个轮回确实造就了现在的我。 ...

10月 26 2012
Categories: Tags: iOS

使用CocoaPods序在iOS开发中,经常性的引用第三方开源的库。github上大量的库为我们开发iOS提供了强大丰富多样的资源。从新手一直过来的我们,面对使用越来越多的第三方库。手足无措。CocoaPods的出现使得一切变得Hacker起来。使用CocoaPods一定会让每次copy文件到项目的你喜极而泣的。 ...

10月 25 2012
Categories: Tags: iOS

iOS笔记导航说明发现我的笔记是越来越多了(混蛋,才10几篇而已这种能叫多)XD. 查看起来不是很方便。所以,我预见性的写一篇blog来导航一下。方便大家(其实是自己吧,混蛋)查看。 ...

10月 24 2012
Categories: Tags: just-talk

序2012是我的本命年,按照我的风格理所当然的我肯定没有穿大红内裤。但不妨碍2012年成为我转折的一年。现在已经看完了发布会,回过头来写写这篇blog吧。本来今天这场发布会有点纠结看不看,因为看iPhone5那场觉得不激情。但是今年苹果的发布会我都看了直播,这个不看感觉不完整。结果今天加班回来就12点多了。也就不纠结,顺势就看了,而且有视频直播,确实看着感觉很好。iMac太cool了。 ...

10月 21 2012
Categories: Tags: iOS

UIViewController的一些事儿序这篇主要是想写 Contaner View Controller。然后才好写我计划里面的下一篇讲UIStoryboardSegue的blog。 先贴一个链接 Container View Controller.他写的很好,算是中文blog里面我见过写 Container View Controller最好的一篇blog。 另外一篇中文blogUIViewController的误用 然后是apple的官方文档 UIViewController Class Reference View Controller Programming Guide for iOS ...

9月 29 2012
Categories: Tags: iOS

Block简单使用序这篇blog主要想介绍这么用block做回调。因为跟之前的是想关联的。 这图中的Controller和View我之前已经讲过Delegate和Traget-Action了。Data source和Delegate差不多。有机会再TableView里面详细说说。当然,按照计划我这次要写block的回调。 ...

9月 02 2012
Categories: Tags: iOS

关于Target-Action设计模式序上回提到了在iOS的MVC中。delegate其实是一种View跟Controller直接交流的方式。 这次我们来说Target Action这种View跟Controller的交流方法。 ...

8月 13 2012
Categories: Tags: iOS

关于回调函数——Delegate的那些事序iOS笔记也终于迈入两位数之列。在此里程碑下。明显要拿出点诚意来好好写一写。所以,我决定写一下早已改写的delegate。 什么是回调函数我们先不管delegate,我们先来说说回调函数(callback).wiki的解释在这里。 回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用。 好我来说所自己理解过后的解释: 如果不用回调函数可不可以写程序。(明显可以) 那为什么要用回调函数这种东西。(现代开发软件过程中其实一直在强调一些相同的东西:抽象、复用) 复用是为了提高生产效率。提高生产效率,才能创造更大的价值。 怎么复用——抽象。只用抽象出来的东西才有复用的价值。 从代码量各种角度来看,回调似乎是复用代码了。但是回调不仅仅如此。更大的作用是解耦。 解耦简单说来就是让程序结构更好,更容易读,更容易修改,更容易修改的其中一个基本方法。 回调怎么解耦。A做一把椅子,但是步骤很多。其中一个步骤上漆应该是B来做。因为B是专门做上漆(B有油漆,有刷子,有技术。B持有上漆这个步骤最佳实践)。正确的方法肯定不是A自己去买油漆刷子把这个步骤做了。而是叫B来把这个步骤做好。然后A继续组装椅子。直到椅子做好。 扯了这么多。其实就是wiki上解释的哪些而已。如果还不明白,再看一次wiki。再多写写代码吧。 ...

8月 12 2012
Categories: Tags: iOS

xCode4 配色主题一直以来,我对写代码的各种颜色就乱折腾不不管是Vim还是Emacs花在上面的时间都蛮多的。也不知道是哪里来的精神。这次换xCode了。也折腾过很多。今天小文问了一下。恩,觉得这个东西可以拿出来写一篇blog,来填补我还差3篇的坑。 ...

7月 30 2012
Categories: Tags: Software

序本来blog更新应该更加勤快一些的。这篇积压过后。很多东西,却不知从何说起。连续两周都很晚才睡,却也没有做什么事情。就是乱点。今天突然发现可能是我太过于忧国忧民了。大厦将倾,何去何从,如何是好。 某游戏沙龙神仙道之前参加了某个沙龙,说游戏的。得到的数据让人很震撼.神仙道一个页游一年收入超过了10个亿,每月8000w。说真心话,真心不知道页游可以这么赚钱。神仙道也下了,试玩了一下。真心不是我的菜啊。可是人家以60人的团队。20w-30w的活跃用户搞定了这么多。真心nb啊。佩服佩服。虽然游戏不是我的菜。但是这次的光环CEO叶斌的做事方式确实是很踏实。虽然他一直自称很不靠谱,但是凭借他分享的经验来看成功并不是偶然。最后,依然验证了一次团队靠谱才真的靠谱。项目什么的跟机会一样。只要团队靠谱第一次抓不住还有下一次机会。 小插曲,叶斌其实提到「海贼王」的次数不是一般多。我是不是找时间看一遍。 ...

7月 07 2012
Categories: Tags: iOS

iOS笔记 基于MKNetworkKit的断点续传背景上次写过用ASIHTTPRequest做断点续传的例子。但是一个是写的比较搓。一个是ASIHTTPRequest库已经不在维护。最后是扩展性不是很好。所以花了很长时间改写用MKNetworkKit来写。 如果需要回顾一下ASIHTTPRequest的断点续传的在这里 ...

5月 06 2012
Categories: Tags: iOS

iOS笔记 Core Location定位主要问题很多应用上需要获得当前用户所在的位置,有或者需要在地图上根据座标显示一些点一些信息。这次主要分享Core Location定位当前位置我遇到的问题。 ...

4月 25 2012
Categories: Tags: iOS

iOS笔记 利用ASIHTTPRequest做断点续传主要问题需要请求Http协议,下载一个zip包。包比较大,希望能后台下载。退出应用再次打开的时候能接着上一次的下载。专业名称:断点续传。 寻找方案iOS目前三大开源网络库 ASIHTTPRequest AFNetWorking MKNetworkKit 个人以Google出来的信息得出的对比: | 网络库 | 优点 | 缺点 | | ———— | ————- | ———— | | ASIHTTPRequest | 老牌、功能强大、文档丰富 | 停止更新、新特性少、厚重 | | AFNetWorking | github上比较火的项目、有稳定的两个主要负责人、能支持比较新的特性、一直有更新 | 文档数目一般、有些功能貌似要自己写 | | MKNetworkKit | 支持ARC、号称要有 ASIHTTPRequest的功能,AFNetWorking的轻便 | 文档数目最少、只有作者一个主要负责人 | 在结合我是一个新新手的缘由。如果用库的话,首选ASIHTTPRequest。候选AFNetWorking。 AFNetWorking 被Google到这样的解决方法.本来准备fork了。然后仔细看了看下面的讨论。 觉得自己实现一个? 原理在这里 sunmmer大神给了一个不用库实现的例子 后面想了想,对于网络其实我也是新手来的。自己写,未必有成熟的库写的好。所以决定使用ASIHTTPRequest。 ...

4月 20 2012
Categories: Tags: just-talk

序离上一次更新Blog已经过去了17天。这17天里面发生了很多事情。简单说来就是我离开了东莞来到了厦门。然后自己对自己偷懒,没有写blog。 ...

4月 03 2012
Categories: Tags: iOS

iOS笔记——ViewController的生命周期生命周期这个宇宙中,我们认知当中所有事物都是有一个起点然后到达一个终点。在四维的世界里面,衡量的介质就是时间。所以我们写的程序也是一样的,不管是C还是iOS程序里面,每一个东西在时间流逝中它都有自己的一个起点,终点。 了解程序里面大部分东西的起点和终点的意义是,我们想在这个东西诞生时候和结束的时候做一些事情,一些是我们自愿加入的(比如初始化一个美女的图片),有些是不得不做的(比如指向这个图片已经销毁,但是这个指针你没有赋值nil,其他的地方还在调用它,就会出错)。 ...

3月 25 2012
Categories: Tags: just-talk

序广州之行,是大概月初的时候偶然看到iOScon的中国年会。然后发现广州有分会场。就过来看了。这是我第三次为了技术大会跑广州。 第一次是Fedora16的发布。然后在广州大学城里面。大学名字居然我给忘记了。可是我还记得过去看那一张张洋溢着青春的脸,一想起这些脸庞,我就唏嘘不已。感觉到自己不年轻了。那次还有主席的一同前往。 第二次是36kr的创业日。那次叫上了刚读大学的表妹。去了看了传说已久的网易大厦。那次叫人山人海啊。还忒喵的热。全部看下来,就觉得只有一个公司比较nice。其他的昏昏欲睡。不过那次也看见了”姐夫”。 第三次,也就是这次了。也是一大早起来赶汽车,然后过去了找了一个类似KFC的中式快餐解决的午餐。就直接过去了。 ...

3月 21 2012
Categories: Tags: iOS

iOS笔记——九宫解锁基础部分目的为了第一个App,一步一步的做出来。所以先弄最基本的想做一个类似Android九宫解锁的View。一开始完全没有思路啊。后来看了好几遍老头的画笑脸以后才有点思路。所以来一步一步做吧。 ...

3月 14 2012
Categories: Tags: Software

最近,思想里面很是混乱。估计就是心事重重一类型的吧。脑子里面不断闪现一些零碎的东西。所以我还是把一些认为比较有价值的记录一下,以免丢失。 科技的进步使得我们的世界变得美好了那么一点。电脑软件的不断丰富也使得我们的生活变的美好了一些。做为一个365天几乎360天+都要在电脑上度过的苦逼码畜来说,一个软件深度的长时间的去用,不仅仅是它能解决一些问题,而且还关系到解决问题的效果,效率。以及看起来装不装13,用起来爽不爽。 除去一些毫无创意,没有价值,千篇一律的软件以外,接下来讨论的前提是一些值得尝试的软件。 根据我最近的经验来看一个软件有以下三个因素或成正比,或成反比: 易用性 学习时间 工作效率 ...

3月 14 2012
Categories: Tags: Emacs

调教Emacs(完结篇)Buffer我記得剛開始用emacs,每次都被buffer嚇到:buffer, buffer,怎麼到處都是buffer?那我要怎麼編檔案(file)? 其實概略的說,buffer就是file。所以呢,每次看到buffer,你就想是file。那用我們平日的概念,就可以明白了。叫buffer更精確。為什麼呢?比方說你用XX文書處理,我們都用New去建一個新檔,還沒存的時候就叫什麼「未命名的檔案」之類的。其實,還沒存,硬碟都還沒紀錄下來,怎麼能叫檔案?所以,emacs叫buffer。 再深入一點,buffer的名字和檔案通常一樣,但也可以不一樣。還有呢,emacs的buffer可以有很多模式,有些buffer還真的不準備變成檔案的。 因此呢,buffer的函意比檔案廣。不過我們初學,就把buffer當檔案好了。 来自 ...

3月 08 2012
Categories: Tags: iOS

iOS笔记番外篇开始之前的扯淡反正在等IPad3的发布,就顺手写篇blog。本来觉得这个时候写IOS笔记3还有点过早。因为好像没有太多的干货能拿出来。可是在看了老头用xcode、git来教怎么管理代码的时候,我彻底崩溃了。VS新版没见过,目前Xcode是体验最好的IDE,没有之一。Emacs系列突然觉得没有必要更新的冲动。 虽然我们居住在神奇的天朝,但是我们还是要感谢这个时代。因为科技和人类文明的进步,使得我们可以看到一流名校的课程。就算那个号称天朝最公平的考试失败以后,只要你想学,还是可以学到这个世界上一流的课程。 多媒体的表现力要远远丰富于文字。清楚直观的5分钟视频,可能换成文字描述写一个小时都写不好。所以如果这篇看不懂的话直接看视频吧。(没找到链接) Xcode and Source Code Management (October 7, 2011) - HD 人生是一场冒险。对我来说:活下去,然后活的爽一些。就够了。 ...

3月 05 2012
Categories: Tags: iOS

此笔记是观看斯坦福的IOS开发课程和自己思考以后的产物,如果有所偏差,还望指导更正。 iOS的MVC初级代码说明上次说到MVC模式。那些都是理论。真正离写代码终究还是很大差距。特别是Xcode4 IOS5以后,变化很大,中文资料几乎全部过时。经过反复看了斯坦福老头的课程。终于有所顿悟。记录下来。 斯坦福老头的课程前面12课都没有说道model。全部是view和controller。我也只是看到12课而已。所以现在只讨论IOS5开发中的view和controller。 IOS5中,我们可以看到一个叫storyboard的文件。这个文件就是view。或者说是view的载体。UIKit上所有的控件都可以往上面拖。这里我简单的把storyboard以及带UI前缀的类都统一看成view。view就是再ios设备上你能看见的整个屏幕。 ...

2月 29 2012
Categories: Tags: Emacs

更好 更强 更快上次的那些操作只能让你存活下来。 现在让我们感觉更好一些。 有时候,你可能按了一次C-c或者M-x。然后发现自己按错了。想消除这些命令这时候你可是使用 C-g 取消操作 如果你不确定你现在按没有按命令。你可以狂按几次C-g。 ...

2月 28 2012
Categories: Tags: iOS

iOS 系统架构iOSCocoa Touch Media Core Services Core OS Core OSOSX kernel Power Management Mach 3.0 Keychain Access BSD Certificates Sockets File System Security Bonjour Core ServicesCollections Core Location Address Book Net Services networking Threading File Access Preferences SQLite URL Utilities MediaCore Audio JPEG PNG TIFF OpenAL PDF Audio Mixing Quartz(2D) Audio Recording Core Animation Video Playback OpenGL ES Cocoa TouchMulti-Touch Alerts Core Motion Web View View Hierarchy Map Kit Localization Image Picker Controls Camera ...

2月 26 2012
Categories: Tags: Emacs

序 一直以来,各界对编辑器的争论由来依旧。最后都会沦为Emacs vs Vim。这里就不在过多的讨论了。 不管是Emacs还是Vim都是需要一个长期的调教过程。才会让你用的很爽。如果你妄想今天安上他们,明天就变得像魔术师一样的按键。那你洗洗睡吧亲。明天去泡妞别做宅男了。它们会耗费你大量的时间,用那些时间说不定你都可以找一个妹子了。 在我学习使用Emacs的时候,入门资料相当少。有一些写的好的,却又各种Lisp配置。可是要了亲的命了。就想找一个先教我用的爽的,那些各种配置,各种文件能不能先放放。就只是先让我用的爽爽。 我提供了一些基本配置。几乎没有改里面的内容,但是可以用。可能用的不是很爽,但是基本的功能都有了。先用用心里有个谱。然后再去研究高深的使用。 我不会Lisp,所以这些配置最多算我这个工具仔拼凑起来的。 所以,看这系列Blog的亲们。 只要安装Emacs 23.3-23.4 (其他版本不知) 会git clone 知道~/目录 不需要会Lisp 就可以开始了。 ...

2月 26 2012
Categories: Tags: read book notes

一月读书笔记 疯狂的周末。拿起积灰的kindle,看完了2本书。在信哥的推荐下,用了两天看完了《天才在左,疯子在右》。看的是天涯的整理版。知道是最初发在天涯鬼话的。有宣传说是真实的案例,看豆瓣书评说很假。仁者见仁智者见智吧。之所以很快看完了。是因为引起了我深深的共鸣。里面说的案例除了两个杀人的精神病的想法看着很恶心恐怖。其他的案例我都能看懂,更有的想法我也曾经想过。里面有一个说法,就是说这些沉浸在自己世界里面的人们,都有一套自己完美的逻辑,而且无法反驳。疯了的可能是我,也可能是世界。这个书不错,当做恐怖小说看吧。 桃花坞里桃花庵,桃花庵下桃花仙。桃花仙人种桃树,又摘桃花换酒钱。酒醒只在花前坐,酒醉还来花下眠。半醉半醒日复日,花落花开年复年。但愿老死花酒间,不愿鞠躬车马前。车尘马足显者事,酒盏花枝隐士缘。若将显者比隐士,一在平地一在天。若将花酒比车马,彼何碌碌我何闲。别人笑我太疯癫,我笑他人看不穿。不见五陵豪杰墓,无花无酒锄作田。——唐寅 ...

2月 26 2012
Categories: Tags: just-talk

修改来源于之前的淫淫网日志 记得每年这个时候,我都会留下一篇类似的文章。然后热血两天,接着剩下的300多天里面每天都混着过,然后又到了这个时候,又出来感慨一下人生,计划一下接下来的300多天。计划始终是计划24年没有一次变成执行。结果人生的每一天都像copy出来一样,吃饭、睡觉、发呆。按照这样的活法,其实已经能看到10年、20年后自己的模样。一个字贱~ 基本上中国人的陋习都可以在我身上有所体现,有些是显现的,有些伪装的很好。。。。跑题了。 还是拉回来说2011的总结。其实之前23年都可以用一句话就搞定。狗屎一样的人生。前18年没有按照自己的想法活过,后面4年有机会按照自己的想法活,却又白白浪费掉。看。。。贱——不珍惜。 本来可能我这生就这样过了。可是好不好出了一个2012。乔帮主又在2011仙去(又追星了不是。。。贱)。翻看他在斯坦福的演讲,每一天当做生命里的最后一天来活。我境界没那么高。就只把2012当做最后一年来活。 2012,不管你信不信,反正我是相信了。 为了这最后的一年活的开开心心、快快乐乐。 ...

2月 09 2012
Categories: Tags: just-talk

IT人士入门指南(2012-02-09更新)##选择   除了IT行业,你可以选择的更多。   我知道,在经历了天朝12年的应试教育以后。来大学第一天的感觉就是”我自由了“。这是一个最好的感觉,也是一个最坏的感觉。好是,你确实可以自己决定很多事情了,坏是,你确定你做出一些比较有利的决定么。上大学以后你确实知道你想要什么么。如果我这样问你,你能回答么。天朝的具体制度不去评论。我们以生物最基本的要求来要求自己,就是生存下去。是不是你说你都活了二十左右年了。难道不是生存么。我想说的是依靠自己的生存,有爸是双江,也蛮好的阿。是官二代,富二代。那我觉得,你的生存问题也不大。做一个好人就好了。大多数师弟师妹,你们应该好好考虑一下4年以后,你能怎么活下去. 过于明确的功利性选择向为有识之士所不齿,但是,如果当一个刚刚走出校门,面对残酷的商业竞争而举足失措的少年,或者是对于一个几乎耗尽了他的家庭生存成本终于读完了大本,却在就业市场上徒劳往返,不断奔波碰壁,甚至连最基本的生存都已难以保证的失败者,我们再义正辞严的宣讲什么 “君子谋道不谋食”,再讲什么“君子喻于义”,再讲什么“一箪食,一瓢饮,在陋巷。人不堪其忧,回也不改其乐”,这虽然省心省力,而且占据了道德的制高点,却未免有点不厚道。   做IT很辛苦。加班就是必备技能。所以,我说除了软件学院,你可以有很多的选择。也许你听说IT高工资,但是我说,高工资全部在一线大公司,一线大公司,全部在一线城市。一线城市的幸福感真的很低。你那高工资跟那房价一比,跟工作压力一比。觉得真的一般。而如果你回家,考了公务员或者银行或者垄断国企,我觉得你生活质量和幸福感会很好。所以,人各有志,最好自己客观的评价一下自己,适合做什么事情。想过什么样的生活。好有一个全局的打算。将来是可以公务员可以事业单位可以国企可以垄断行业。所以,除了IT有很多选择。   综上所述,我只想说,除了搞IT,你还有很多的选择,让自己的人生更加的美好。说了怎么多。你最后还是决定留下来从事IT这个行当的话。你可以继续接着看了。   做为一个软件开发人员,或者说做为一个IT行当的新手。我在下面三个选择中不断徘徊,不断挣扎。就为了这三个问题,耽误了很多学习的时间。所以,我有必要将我在这三个问题获得的经验分享一下。(PS:就算你不是电脑专业的也可以有些收获) ...

2月 09 2012
Categories: Tags: just-talk

sizeof 深入理解sizeof你们觉得是什么呢。函数?其实是操作符。wiki解释 In the programming languages C and C++, the unary operator ‘sizeof’ is used to calculate the sizes of datatypes, in number of bytes. sizeof can be applied to all datatypes, be they primitive types such as the integer and floating-point types defined in the language, pointers to memory addresses, or the compound datatypes (unions, structs, or C++ classes) defined by the programmer. sizeof is an operator that returns the size in bytes of the type of the variable or parenthesized type-specifier that it precedes as a size_t type value. sizeof is an operator:sizeof是一个操作符。擦 这货居然是操作符。最后一句我们可以得到的信息还有sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。 ...

2月 07 2012
Categories: Tags: just-talk

其实我就是上来放几个链接的. 安装点这里 安装某个主题这里 增加关于我 增加评论 写blog用到的Markdown语法 添加高亮代码语法 ...

2月 05 2012
Categories: Tags: just-talk

缘起 想有自己建站的blog是一直没有实现的一件事情。陆陆续续用51cto、is-programmer、renren等写过blog或者类似blog的东西。但是觉得还是缺少一些什么东西。后面慢慢的明白了,我虽然是号称学IT技术的。其实我根本就落后时代了。Web是什么我都不懂。适合学IT的人都有自己搭建的技术blog,技术人有自己的一个站好像是一个很容易的事情。可是我就是弄不起来,觉得写Web是一个洪水猛兽般的事情。一直觉得用现成的就好。可是用着又觉得自己不专业。然后就开始寻觅着是不是自己搭建一个Blog。然后先买了域名。就开始吭哧吭哧的学Web开发。Java是放弃了的,然后看Python、看Ruby。后面发现一个问题,就是我现在太苦逼了——工资刚刚能活,买不起VPS。不管是django还是rails我都搭建不起服务器来。再说我也只是知道他们的名字而已。具体怎么写一个blog居然一点头绪都没有。html,css,javascript这些高端的东西更是不会。自己建blog站,觉得离我越来越遥远了。 ...