Posted by Andy Shi on 01月 14th, 2012 under 未分类 •
No Comments
2011年,我离开了工作5年的易方,离开了深圳,工作方向也完全转换到移动开发上。所以这一年对我来说是变化的一年。
这一年主要做iOS的开发,来北京后,也开始做Windows Phone的开发。跨越2个平台,也让我能更加清楚的看到它们的优势劣势。简单的说,就完备度,易用性来说,iOS更胜一筹,但是App Store上的程序数量已经超过50万,高质量的程序也很多,个人以及小的团队开发者要想让自己的产品脱颖而出是越来越难了。Windows Phone是一个后来者,还在追赶中,它是一个有特色的系统,但是还不足以对iOS和Android产生威胁,而且现在Marketplace上应用数量刚刚超过5万,这其中高质量的应用很少,不过从另一个角度来看,这也正是开发者的机会。
这一年,我的女儿满2岁了,看着一个小生命从无到有,一天天长大,这真是一个奇妙的感觉。女儿在长大,我做父亲的,也要成长,受中国传统教育的影响,我和LP总是不自觉的偶尔会扮演自己所讨厌的那种家长,去用听话来要求女儿。所以我也需要时时自省,除了给女儿提供好的物质生长条件,对怎样培养她高尚独立的人格,要更加用心思考和学习。
2011年,其实自己很多目标都没有达成,有几个计划中的App都没有完成,更别说提交的App Store了,所以其实还是很惭愧的,只能在2012年来努力了。
不论怎么说,2011已经过去了,每一年都是充满希望的,即使今年是2012,希望今年自己的事业能上一层台阶,更希望自己的父母妻女都健康快乐。
Posted by Andy Shi on 04月 30th, 2011 under 未分类 •
1 Comment
深圳沙龙4月23日迎来了第3次活动,这次签到的有37人,加上快播的朋友,总共有超过40人参加。和上次一样,深圳快播公司(QVod)提供了场地,同时还有饮料和食品,另外他们公司的几位美女还负责照相,摄影,录音工作。快播真是一家很棒的公司,他们开放的文化以及对技术交流的支持态度值得深圳很多公司学习。
第一个做分享的是来自腾讯的dcshi,他的主题是《十分钟构建高性能微信后台》(录音,slide)
他介绍了如何使用Redis这一key-value store来快速构建一个时下热门的微信服务后台。

接下来是小路分享的《MySql配置优化》(录音,slide)。
做为一个有多年经验的开发者,小路分享了他对当前热门的NO-SQL数据库和传统的数据库的看法,以及如何对MySql数据库进行调优,他的分享引起了激烈的讨论(或者说争论)。

第三个做分享的是感染源,他的主题是《Linux服务器集群方案》(录音,slide)。
做为深圳组委之一的感染源,本来当天还在加班,中途赶过来做分享,然后还要赶回去,也算是很辛苦了,不过,因为他是组委,所以这里就不对他进行表扬了。

最后一个分享的是专程从广州赶过来Jeff,他的主题是《rabbitmq测评》(录音,slide)
Jeff为了准备好这个主题,在来深圳的和谐号上还在跑测试,他的严谨态度很让人钦佩。

另外值得一提的是,除了Jeff,另一名珠三角沙龙组委老甘,以及Sparkle和另一位朋友(抱歉,忘记这位朋友的名字了)也都从广州赶过来参加了这次活动。

最后,再次感谢快播以及快播的各位朋友的提供的无私帮助,谢谢!
Posted by Andy Shi on 04月 13th, 2011 under 未分类 •
No Comments
珠三角技术沙龙深圳4月小沙龙将于2011年4月23日举行,现在正式接受报名。
目前收集到的主题如下:
1. dcshi《十分钟构建高性能微信后台》
2. 感染源:Linux服务器集群方案(LVS+Keepalived)
3. 小路:MySQL配置优化
4. Jeff rabbitmq测评
特别鸣谢Jeff同学从广州过来支援,并贡献主题。欢迎大家积极报名参加。
注:本次活动有可能会在咖啡馆等场地举行,也许会有少量费用
如果本页不能显示报名表单,请点击这里进行报名。
Posted by Andy Shi on 04月 6th, 2011 under 嵌入式开发, 移动开发 Tags: C语言,学习 •
2 Comments
C语言是我使用时间最长,应该说也是最熟悉的编程语言。但是使用时间越长,我就越不敢自称“精通”,因为C语言的“陷阱”太多,一不小心就会被困进去。C语言就好比是围棋,入门很容易,但是精通太难了,许多细微的语法技巧都会给使用者带来困惑,例如,有这样一段代码:
v,i,j,k,l,s,a[99];
main()
{
for(scanf(“%d”,&s); *a-s; v=a[j*=v]-a[i],k=i<s, j+= (v=j<s&&
(!k&&!!printf(2+”\n\n%c”-(!l<<!j),”#Q”[l^v?(l^j)&1:2])&&
++1||a[i]<s && v && v-i+k && v+i-j)) && (l%s), v|| (i ==j?a[i+=k]=0:
++a[i])>=s*k && ++a[—i])
;
}
这是国际模糊C代码大赛的获奖作品,实现的功能是打印出8皇后问题的全部解决方案。怎么样,这段代码你能看明白吗?是不是感觉有些天书的感觉?
从最初开始学习C语言,到今天已经10多年了,在这10年中C99标准已经制定完成,加入了很多新的语法;这10年中,互联网技术迅猛发展,各种新的语言层出不穷,但是C语言仍旧是使用最多的语言之一;这10年中,我也遇到过C语言的很多陷阱,有很多的感悟。所以,我决定回过头将这些东西梳理一下,也算自己重新学习一遍C语言吧,希望这次重学以后,我能有底气说自己“精通C语言”。
Posted by Andy Shi on 04月 4th, 2011 under 移动开发 Tags: iOS, Mac, Object-C, OC •
No Comments
最近我的工作内容发生了很大的变化,其中一项就是要转做iOS的开发,而做iOS开发,最方便的语言就是Object-C。这门语言在iPhone流行之前,是一门小众语言,但最近几年开始热门起来,(当然,目前也不算特别大众,但是已经有了质的飞跃,在Tiobe语言排行榜上已经进入前10,关于Object-C的使用趋势,可以参见此处)。
Object-C语言是20实际80年代早期由Brad Cox发明的,他的目的是将流行的,可移植的C语言与优雅的Smalltalk语言结合在一起。1985年,Steve Jobs被赶出苹果公司后,成立了NeXT公司,Object-C成为该公司的主要开发语言,随着NeXT被苹果收购,Jobs回归,Object-C也开始在苹果公司的产品开发中占了主导地位。
说到Object-C就离不开Cocoa和XCode,这3者的关系,类似于Windows平台下的C++,MFC和Visual studio。也就是说Cocoa是针对Object-C语言开发的一套类库,这套类库用在Mac系统下,后来被移植到iPhone上,也就是Cocoa Touch,而XCode是苹果公司开发的IDE,它不仅仅支持Object-C语言,使用它我们可以方便快捷的开发各类Mac系统或iOS系统下的应用程序。
Object-C语言是C语言的超集,所以所有的C语言的语法都可以继续使用。语言的扩展部分,都使用@符号来表示,比如@interface, @implemention等。相比C语言的另一种扩展C++,OC要简单的多,它不支持多重继承,泛型等,而且它比起C++也多了很多动态特性。
Object-C目前主要用在苹果公司各类产品开发上,Linux虽然可以支持,但是看起来使用的人极少,而且也没有类似Coco这样优秀的类库可以使用。
OC也还在不断发展中,最新的2.0版本就加入了GC的新特性。总之,这算是一门有趣的语言,学习难度也不算大,值得好好研究一番。