Other

写在2011最后一天

半年没动blog了,28号的时候冷不丁的写了一篇《使用Quartz绘制带阴影的圆角图》,实际上我一直想写类似的技术博文,而且也积压了好多主题,苦于工作所迫一直没写。总之先写了这篇总结再说吧。

工作篇

去年的9月我再次来到阿里学院,与之前不同,这次是作为正式员工加入阿里巴巴。这也是我的第一份正式工作。这段日子有艰辛又有收获。出于个人梦想,在今年9月,也就是工作刚满一年之时,我辞去了这份工作来到了一家初创公司,任职前端开发。两个月后又因为公司需要我转向了iOS开发,直至今天。

一直想学Cocoa编程,现今刚好有机会可以在公司边学边做,每天都很充实。从我开始学习到先在应该有一个半月了,目前写了7000多行代码,我第一个移动应用预计会在春节前发布,大家拭目以待吧。

7Peers篇

加入阿里巴巴后,认识了很多业内的朋友。我们因拥有相同的梦想走在一起,也因梦想陆续离开,各奔前程。在大家相继离开前,我们创立了7Peers,目的是让大家在工作之余,可以一起做些感兴趣的产品。Stash就是我们第一个对外发布的产品。此外还有许多未发布、开发中的产品。比如:

  • nooon.in
  • Lento
  • DewDewTree

Stash本该在今年7月重构一个新版本,但由于那时公司开始了一个大型项目,而之后我又开始换工作,所以直到今天毫无进展。明年,我的事情应该会少很多,我将继续Stash的开发。

就在今年7月,随着Stash0.2.3版的发布,我们一起推出了7Peers.com。我们的天才设计师强生生同学的给力设计让我们的官网一下子受到了业内的关注。没过多久,某澳大利亚公司就给我们发邮件,想出钱让我们团队为他们设计开发产品。虽然最后我们还是婉拒了邀请,不过这封邮件让我们振奋不已。

如今7Peers成员均已离开阿里巴巴,我是最后一个走的。大家分散在全国各地,7Peers的项目并没有终止。而且明年还有一个全新的项目,目前唯一能透露的就是这是一个Mac应用。

用笨办法实现电驴和迅雷直接的互导

之前在用电驴下一部比较老的片子,结果挂到95%最后发现已经没人共享了,这很是让人郁闷。然后我拿迅雷离线下载下同样的文件,结果发现迅雷居然下好了,我估计这文件一直存在迅雷的服务器上。如果这时候我用迅雷下载,当然可以下完,但我又不想让那个95%的电驴白下,怎么办呢?

曾经我有一个同学号称下载杀手(什么download breaker,完全盗版imagine breaker嘛)。flashget、迅雷、bitcomet、emule之类的文件他都可以实现互导,不能直接导的,还可以通过修改文件来导入。不过我没这么厉害,我只会把店里的文件后缀改成迅雷的后缀,然后让迅雷导入。这方法以前可行,可是现在好像不行了,不知道为什么。

后来我突发奇想。虽然他们两的文件格式一样,可是他们都遵循ed2k协议。于是我想到了通过ed2k互导。我抱着试一试的心态,把电驴和迅雷都连上同一台ed2k服务器,结果迅雷发现了我的电驴,然后以2m/s的速度下好了95%。最后我用迅雷离线下载把文件下好了,稍微等了一会,电驴也下好了。出于对别人分享的尊敬,我继续把电驴开着给他人分享。

这种方法果然可行,不过有一定成功率。有一次,我的迅雷怎么也连不上自己的电驴。可能是因为下载的人还是比较多的,有干扰。为了解决这个问题,我找到了利器,edonkey server。对,就是在本地搭建私人的电驴服务器,导完后,再关掉。可惜的是edonkey的网站已经关掉了,找不到正宗的官方下载地址。没办法,只能从国内某些下载站下载了。下下来后,发现这个软件很小,而且不需要安装,直接运行即可,非常方便。

用法也很简单。首先启动ed2k服务器,然后在迅雷和电驴里面加入本地地址,我用的是localhost。然后让迅雷电驴都连上去,接着就开始飞快导入咯。很简单吧?

附上ed2k服务器软件(共享一个月):

Linux版:https://dl.dropbox.com/u/1284503/ed2k/ed2kserver.gz

Windows版:https://dl.dropbox.com/u/1284503/ed2k/ed2kserver.zip

最后提醒大家:

下完后一定要分享!!

imchao在feedsky上的feed出问题了

@棒槌男同学的提醒下,吼吼发现本站托管在feedsky的feed很久没有更新了。不知何故,吼吼强制提交更新了几次,可是还是没有解决问题。

于是吼吼决定放弃feedsky了。feedsky上的feed30天后删除。请想继续关注本站的朋友们,把订阅器中的feed更新为http://shenchao.im/feed

感谢大家的支持,再次感谢一下@棒槌男同学。

办了联通3G

我曾经在浙江联通的3g体验申请站报了了个名,结果第三天被告知申请失败。然后在六月的某个中午,联通心回意转,打电话来让我去办卡。在n天的挣扎后,6月29号上午,我来到中河路的联通集团客户服务部准备办卡。听联通的员工说,申请好的号码需要预存花费,500、1000都有。由于我比较穷,选了个比较寒酸的号码,采用联通最低的186套餐+150MB的流量。办完手续后,客服没有立刻给我入网,好像是在整理什么资料。总之我觉得联通里面一团糟。到了晚上六点终于入网了,据说这个月是用多少算多少。比如我包的186套餐,有60MB的3G流量,平均每天2MB。我在6月19日开通,6月只剩两天,所以这个月的资费是原资费的2/30,包的流量是4MB。这两天我只能忍着,等待七月的210MB流量。

7月1日一早,我爬起来,赶快开始测试3g。速度快得没得说,在market下了个1MB的软件用了2-3秒。打开网页几乎都是一瞬间的。G1+wcdma真是不错,不过G1的发热也很明显,我没用多久就开始热了,用了一段时间开始发烫,我手心出汗了。用了联通后,除了上网速度飞快以外,我的生活并没有太大改变。

得益于成熟的wcdma,联通速度让我很满意。但是使用联通3g一周后,我发现联通的一些不足:

  1. 网上营业厅不成熟。联通的10010.com压根没有办理业务的功能,最多也就能看看详单、余额之类的信息。
  2. 没办法查询本月已用的3G流量,这让用户用得很不安心。这点我和联通的客服姐姐沟通过,客服姐姐说只能通过客服人工查询。我郁闷了,我很害羞,不想老是和客服姐姐打电话。这不逼我写个程序,来分析详单,统计流量吗?
  3. 信号不稳定,这大概是联通的老毛病了。G1的信号经常降级,而且降的最多的不是edge,是gprs。我在用移动上网的时候,从来没有出现这样的情况。

还有一些其他问题,我以后再总结。总之我觉得联通要树立3g的品牌形象,不把自己的配套服务完善好是不行的。价格定再高,服务跟不上,口碑是不会好的。

JSP与Servlet基础教程的思维导图

吼吼终于考完试了,虽然暑假计划安排的满满的,但是吼吼还不急于执行。首先整理以下这学期的知识吧。

这学期期末应考,吼吼采用了一种非常大胆的应考方式。在以前吼吼肯定会提前半个月到自修教室蹲点看书,前期边看书,边做读书笔记,后期主要是在强化解题方法和记忆知识体系。这次不同了,吼吼直接窝在寝室,与电脑为伴,利用xmind制作知识点的思维导图。边看书,编制做,看完书后,强化记忆一下思维导图,然后就去考试了。这次复习只用了一周,效果非常好,但是吼吼不推荐这种方法,因为有以下原因:

  1. 吼吼的字非常丑
  2. 吼吼打字速度比写字快很多
  3. 这学期的科目以记忆为主,技巧性不强,不适合需要解题技巧的科目

Android上有Google Sky Map啦

该软件利用了这两款手机内部的多项技术,比如GPS、时钟、指南针以及高度计,能告诉你所指的星座是什么名字。不亏是Google自己软件,做得非常人性化,直接摆动手机就可以移动天空,无需手指操作。界面切换流畅而优雅。下面是截图:

IM一族ING宣言

咳,IM一族要发表宣言咯。我代表IM一族正式宣布IM一族都是ING!

什么是ING呢,ING是由我们IM一族发明的词汇,我们采用递归命名法,基本意思是ING‘s Not Geek。为什么不是Geek呢?我们是想要强调:ING必须要是懂技术的,每个人都有自己拿手的技术。ING关注互联网,关注新idea,关注新技术。ING有着ing的进取精神,ING不断磨练自己的技术,同时还学习新的技术。

暂时只想到这些,其他的还得请朋友们来补充。

最后附上我总结的图。

I'm back!Thanks to Tualatrix!

我回来啦,似乎快半年不写东西了。最近被lampdrive折腾的很郁闷。先是说要备案,好不容易备案通过后,结果wordpress出故障了。先是后台白屏,pavoe说我系统有问题, 我重新传了wp的系统,结果全部白屏了。我索性把空间和数控库重装,我靠,wp的数据压根就没写进去。明显是服务器问题嘛。之后paveo就再也没在gtalk上出现过。lampdrive一直联系不上,我搬到了yo2.cn。结果没几天就挂了,可怜啊,连个容身的地方都没有。最后tualatrix收留了我。空间是国外的,我干脆国外注册了个域名,彻底摆脱备案的困扰。在这里要感谢tualatrix对我莫大的帮助,空间是他的,域名也是在他帮助下想出来的。嘿嘿,如今新家已经落成,我又要开始写日志啦。

另外我在半个月前入手gphone,现在已经有点玩物丧志了,本文就是gphone上的wpTogo撰写的。

为什么精弘论坛在高峰时间会如此的卡?

精弘论坛是我们学校的官方内网论坛,最近在对论坛服务器调整,发现了不少问题,于是撰写此文,希望有高手能指点。

先看一下目前论坛的服务器结构:

硬件

  • CPU:Xeon 3.0Ghz*2
  • RAM:4G
  • DISK:raid

软件

  • 系统:windows2003server
  • PHP运行环境:IIS6.0(5.0mode)+PHP+Zend

在看看论坛运行情况

  • 论坛每日新增贴量:12840
  • 月份总页面流量:20587375
  • 高峰时期:IIS占用cpu89%,mysql占用5%,总占用内存1G
  • 缓存时期:IIS占用cpu50%,mysql占用50%

可以说是非常传统的结构,这种结构非常适合PHP开发者,然而作为一个高流量的论坛是远远不够的。可能是前代技术没有调整好,把IIS6的程序池屏蔽掉了。IIS6本来就是为了更好地管理资源而增加了程序池管理功能。这块功能被屏蔽掉了等于损失了很多性能。从上面数据可以看出,内存并没有完全被使用,而cpu却一直在高负荷运行。为什么呢?据我分析有两个原因。

第一个原因是图片。论坛上大大小小的图片非常多,而且图片直接被网页显示。服务器响应一张不带图片的网页所消耗的资源小于一张带图片的资源。参考论坛流量可知,如此大的流量当然会占用很多cpu。

第二个原因是发帖量过高。每当用户发帖时,服务器会增加进程来获取帖子的数据,进行处理后写入数据库。帖子数一高cpu开销就不小了。

以上两点都消耗了cpu不少资源,论坛当然会很卡。而且iis6只启用了一个进程,这能算是致命伤了。因为一个进程来处理两种不同的高负荷请求,会使得效率大大地降低。

那么如何来解决这个问题呢?我查询了不少资料,最终得到一下方案。

系统:linux 推荐Centos/RHEL

PHP运行环境:

  1. Apache+php+zend
  2. Apache+fastcgi+php

缓存:lighthttpd、squid

先说说php运行环境,可能有人会推荐使用lighthttpd+fastcgi+php。但是个人觉得不适合,因为lighthttpd是单线程的,论坛负荷高,lighthttpd一旦崩溃了,整个网站就全瘫痪了。上面有两个方案,因为我并没有实际测试过,所以不知道哪个更好一点。其实一开始我想用Apache+fastcgi+zend+php,可是开源的zend optimizer并不支持fastcgi,如果你有钱的话可以购买zend core,来获得更好的支持。

在这个方案中,我用lighthttpd+squid来缓存附件。squid是一款非常优秀的缓存服务器,其命中率非常高。我们用它来缓存apache生成的动态。而lighthttpd则用来做附件服务器。lighthttpd对http的响应非常优秀。我们把它放在最前端,专门用来处理静态内容的请求,把动态内容请求通过proxy模块转发给Squid,如果Squid中有该请求的内容且没有过期,则直接返回给Lighttpd。新请求或者过期的页面请求交由Apache中Web程序来处理。经过Lighttpd和Squid的两级过滤,Apache需要处理的请求将大大减少,减少了Web应用程序的压力。同时这样的构架,便于把不同的处理分散到多台计算机上进行,由Lighttpd在前面统一把关。

我们完全可以把这些架构放在一台服务器上,包括mysql。而且这样的效率会比windows中的架构高很多。如果有两台,可以分一台给mysql。

综上这种架构优化必须通过linux来完成,目前在windows中还没有找到好的解决方案。

本人还是比较菜的上文可能存在错误,请高手赐教。

第二届网络工程师侠客行大会

这算是我第一次参加全国性的技术性会议吧。之前在学校Linux群里看到网侠大会的通知,我赶快去申请了一张票,没想到还真弄到了。

这次会议还是不错的,至少我很满意。看到了不少牛人。上午林斌的演讲蛮不错的,不过他为什么弄不清ie和firefox呢。马云的演讲很精彩,虽然充满了攻击性,不过还挺有趣了,不知道在坐的老外听了有什么想法。

下午我在第四会场,主题是web开源技术。其实我主要是去听openid技术的。

这次会后,我最深的体会是,API是web3.0的关键词。

回来后发现CPH上几位杭州的朋友都去了,呵呵,原来都是同路人那。