0%

这个周末本打算做点更有意义的事情,但,觉得花点时间对这个开源的IM客户端进行一番分析或许会对后续的工作内容有点帮助。那么,先安抚下内心中那惴惴不安,暂时放下原定的宏伟计划,静下心来,看看别人是怎么来做这个IM的。

TeamTalk是什么?它是蘑菇街开源的一整套IM解决方案,包括服务端和各种客户端,相关地址如下:

说起来,我和蘑菇街还是有点渊源的,但,这个故事,这里就不做过多展开了(_说多了都是泪啊_),我们直接进入今天的正题吧。

阅读全文 »

单元测试,一个不断被强调,又不断被人忽略的话题,想从屌丝程序员晋级成高级工程师,单元测试,可以说是必不可少的技能。如何编写合适的测试用例?何时该进行单元测试?单元测试所体现的价值究竟是什么?可以说,有很多实际的困扰阻碍着一批人,使得这些人被卡在了单元测试的门外,万事起步难,而当你真正的理解了一件事情的意图,就能很容易的从各个方面入手了。

本篇就我这些年来撰写测试的经验,结合Objective-C这门语言,总结出一些我认为可能对入门者很有帮助的方法,希望能让更多人进入到单元测试这个沉默的世界,使用它,并爱上它。少年,拿起你手中的XCode,去征服它吧!

阅读全文 »

最近,公司iOS团队针对AutoLayout展开了一次探讨,各个业务线的人员也都基本参加了。对于AutoLayout一开始我是拒绝的,因为,你不能说自动布局,我就相信你能自动布局,我要试一下,结果Duang的一下,果不其然的掉到坑里了。

所以,这篇文章里,主要记录下AutoLayout的一些比较有用的工具和一些问题的解决方法。

阅读全文 »

这个话题,在我心里运粮了好久,从携程离开后,总觉得重构设计是那么的刺耳,依稀记得开发主管多次在会议上批评我和另一名同事进行所谓的重构设计。可是没办法,作为有点节操的程序设计者,怎么可能放任着一团不知所云的DEMO片段,当作产品进行对外发布呢?最后,我们并没有像他所说的那样延误工期,我们当时也真的没有进行重构,我们只是把先前我们所写的用于实验性的DEMO重写了而已。或许,就像《重构改善既有代码的设计》的作者Martin Fowler所说的,我们不应该告诉他我们正在进行重构设计。

以上是题外话,扯得有点远,下面进入今天的正题。

阅读全文 »

又是时隔一年了,时间过得可真快,也完全没想到我会在携程没呆满一年就急匆匆的想出来,回头想想这小一年里发生的一切,颇具戏剧性,虽然大家都公认我们的开发主管是个奇葩,但,有时候我会不禁的去想,或许他是对的,我们都错了呢?

携程的岁月里,虽然没有被我们开发主管认可,虽然我们理念上不合,但,通过不断的跟进和学习,也使得我在iOS这个平台上散发出了自己的光和热。今天的博文是继续说一说pjsip,原因是收到了不少网友的邮件来向我咨询这方面的问题,我也希望通过这样一个小小的示例,能真真切切的帮助到大家。

阅读全文 »

上一篇在编译完之后,就很不负责的结束了,本篇就对pjsip库中提供的一个示例iPJSUA的使用,做一个简单的介绍。也能解除很多人对官方文档的一个困扰,起码我是被困扰过了。

阅读全文 »

好久没有写博客了,这也算是我步入新工作后的第一篇技术博文吧。在进入新公司前,早就有了技术层进入下一个迭代的准备,但很多事情是意想不到的,就像我以C#程序员的身份面试入职的,而今却是一个全职的iOS开发。从C#到Objective-C的切换,还是有不少成本的,加上今年又推出了Swift,以后要学习的路是漫长的,其实,学习的路本身就是漫长的,不应该满足于一个阶段和特定领域。对我而言,语言的切换,已经太常见了,学习一门语言是很容易的事情,但,完全的掌握它,却不是易事,就像去摸清一个陌生人的脾气一样。有点扯远了,还是进入今天的正题吧!

阅读全文 »

最近推荐同事在项目中使用起了 MEF,用其构建一个插件式的多人开发框架,因为该框架不是让我去设计了,所以对于 MEF 和 IOC 等概念不是很了解的同事,便会出现各种问题。接入 AOP 便是其中的问题之一,看在大家都是一起工作的同事,能帮的我自然会尽量去帮,不过,过不了多久我就会离职了,所以,且行且珍惜吧。

阅读全文 »

最近事情很多,有烦恼,有悲伤,不过,一切想通后,感觉其实也没什么。毕竟,这是每个人都要经历了,那么恭喜自己,就要当爸爸了,一个程序员爸爸。

阅读全文 »