十一 15 2010

老男孩


16 2010

[转]Tomcat 系统架构与设计模式

第 1 部分 工作原理:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/

第 2 部分 设计模式分析:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat2


30 2010

[转]飞信第三方开发相关资源

一、飞信的第三方程序和开发库

LibFetion

作者:邓东东
网址:http://www.libfetion.org/
下载: http://web.libfetion.org/demoapp_download.php
说明:
这个不用说了,第三方飞信中做的最好的。开发很早,用c语言编写,现在各个平台都推出了LibFetion的版本。也就是LibFetion,让我们在 Linux上面终于用上了飞信。官方说LibFetion是一个飞信的开发包,事实上作者只发布了linux下面的开发库,没有发布Windows下的开 发库,这让想开发基于飞信的应用变得比较困难。(这也是促使我写MapleFetion的原因。)因为作者考虑到如果LibFetion大规模的被滥用可 能会被移动封杀,而且有个隐私的问题。

Fetion.php (OpenFetion)

作者:youngc527
网址:http://openfetion.sourceforge.net
下载: http://ishare.iask.sina.com.cn/f/7215569.html
说明:
这是个牛人用PHP写的一个PHP的版飞信。最初发布在SourceForge上面。由于飞信官方调整,现在SF上面下载的暂时登陆不了,请下载修改后的 PHP飞信。实现了登陆飞信,获取好友列表,发送短信的功能。PHP最大的硬伤是不支持线程,无法用一个线程读取数据另外一个线程处理数据,只能使用飞信 的HTTP通信模式。而且PHP脚本执行时间有限制,所以这个PHP脚本只能登陆成功然后发送一条短信就退出了。如果需要用这个PHP版的飞信做一个自己 的应用,一定要注意PHP脚本超时的问题。

PyFetion

作者:cocobear.cn
网址:http://code.google.com/p/pytool/
下载:http://pytool.googlecode.com/files/PyFetion.zip
说明:
用Python写的一个飞信,很简洁,很好用,能添加删除好友,发送短信等。应该是Python版本中比较好的飞信客户端了。

MiniFetion

作者:毕飞  Email:175444525@QQ.COM
网址: 无
下载: http://ishare.iask.sina.com.cn/f/7215489.html
说明:
这是我在群里发现的一个用VC写的飞信。我使用了一下能够正常登录,发送短信。基于MFC写的。简单的看了下,使用的2008的协议,v1登录,sha验 证,如果需要用MFC写飞信的可以研究下。

HaozesFx

作者:Haozes Haozes@gmail.com
网址:http://haozesfx.codeplex.com/
下载:
http://download.codeplex.com/Project/Download/SourceControlFileDownload.ashx?ProjectName=HaozesFx&changeSetId=42766
说明:
这应该是一个飞信的机器人,作者完整的写了一个飞信客户端的实现,用C#写的,基于2008的协议,并基于这个飞信客户端,实现了一个飞信机器人,可以用 你的飞信帐号登陆,发短信或者用飞信IM与之交互,执行精灵命令或计划任务。作者代码写得很好,值得学习一下。程序运行能登录成功,但双击弹出界面的时候 会崩溃,我C#不太懂,没查出原因,那位高手可以帮忙检查一下。

MilyFx

作者:echo.xjtu
网址:http://code.google.com/p/milyfx/
下载: http://milyfx.googlecode.com/files/MilyFX_v0.0.2.7z
说明:
这个是基于LibFetion开发的一个命令行的飞信,现在已经不能正常登录了,我本来想修改一下的,但把最新的LibFetion库文件导入之后编译一 大堆的错误,一下子就没信心了。这里写出来就是想给那些想用LibFetion开发应用的朋友给个例子,希望有所帮助。

飞信机器人

作者:常堂主 shichangguo@msn.com
网址:http://www.it-adv.net/
下载:http://ishare.iask.sina.com.cn/f/7215532.html
说明:
也是一个人独立开发的飞信应用,没有使用LibFetion库,用C语言写的,实现的飞信的基本功能,可以使用命令行发送短信添加好友等操作。遗憾的不是 开源的。自带了一套机器人框架,使用PHP做脚本,便于开发和扩展。现在的官网已经找不到这套机器人框架的下载了,不过我在Googlecode找到了作 者托管的机器人框架,找到了数据字典,总算完整了,就是里面的实例没了,如果有兴趣的可以参照官网的开发文档独立的开发。

MapleFetion

作者:solosky http://www.solosky.net
网址:http://maplefetion.googlecode.com
下载: http://maplefetion.googlecode.com/files/MapleFetion-1.0-Beta3.zip
说明:
这个是我参照Nathan的分析和自己抓包分析,独立写出的飞信开发包,使用JAVA作为开发语言,实现了飞信的基本功能。可能是现在网上功能最完整的开 发包了。我的目标是做一个完整的飞信开发库,希望能让大家能利用飞信做一些好的应用,不要做一些非法的事情。现在代码库里已经是MapleFetion 2.0的版本了,预计在不久的将来就会发布beta1了。正在逐步完善中。。

二、WEB飞信接口

WEB飞信接口只需通过一个URL就可以发送手机短信给指定的用户,使用很方便,但账号安全性得不到保证,如果只是简单的发送一条短信还是可以是用 WEB接口的,毕竟这样简单的需求很多。如果对这些第三方的接口安全性有疑虑的话,可以采用上面开源或者部分开源的飞信开发库赖实现自己的应用。

sms.api.bz

网址:http://sms.api.bz/
作者:张宴 http://blog.s135.com/fetion_api/
说明:
很简单的接口,支持HTTP和HTTPS。

fetionapi.appspot.com

网址:https://fetionapi.appspot.com/
作者:gohsy
说明:
部署在GoogleAppEngine上面的一个飞信WEB接口,也实现了基本的功能。仅支持HTTPS模式。但放在GAE上的,有被GFW被墙的危险。

io2.139icq.com (原www.feirobot.cn/)

网址:http://io2.139icq.com:88/fWebSer.asmx
作者:未知(QQ:14334655)
说明:
这是一个WebService接口,飞信接口后台服务程序有引用飞信客户端的DLL文件,调用正常编程引用所能看到的相关类及函数来实现飞信的操作,应该 是比较稳定的一个飞信接口。

三、WEB飞信

WEB飞信是直接在网页上登录飞信。可以很方便在不用下载飞信客户端登录发送短信,十分方便。当然同样也有账号安全的问题,请各位慎用。

fetionlib.appspot.com

网址:https://fetionlib.appspot.com/
作者:Terry http://xinghuo.org.ru/
说明:
做的很好的一个WEB飞信,同样部署在GAE上面。界面很简洁。

四、WAP飞信

WAP飞信可以让没有JAVA扩展功能的手机用上飞信,只要能上网的手机都可以用,如果你是聊天狂人或者是正在热恋,合理的使用WAP飞信可以减少不少的 短信费用哦。

wap.maYax.cn

网址:wap://wap.mayax.cn (只能用WAP访问,可以用http://w.159.com/来浏览)
作者:Mayax
说明:
mayax应该是很早就在做WAP的飞信了,因为最开始研究飞信就是mayax指点的,感谢mayax。现在mayax的飞信比较成熟,鼓励大家都去使用 哈。

五、一些飞信的分析工具和资源

这些仅给那些愿意从头开始分析飞信的朋友,敬佩并看好这些愿意分析飞信的朋友,愿意研究说明你很想知道飞信的实现原理,要钻研才会有进步,希望你们 一定要保持一种好奇心,相信你们研究完飞信,自己能力有了一个质的提高。

飞信分析工具

网址:http://hi.baidu.com/nathan2007/blog/item/1b65521e027211f51ad57676.html
作者:nathan2007 http://hi.baidu.com/nathan2007
下载:http://pickup.mofile.com/3783779038816952
说明:
这个是nathan写的分析工具。其实里面还有一些其他工具,如配置编辑,感觉没啥用。主要是FetionSniffer.exe,用winCap写的抓 包工具,很方便。注意使用之前一定要安装包里的wincap组件。然后要编辑FetionSniffer.config,在里面填上你那个地方飞信服务器 的地址(不同的地方地址不一样),不然啥也抓不到。

Reflector 反编译工具

网址:http://www.red-gate.com/products/reflector/
作者:Lutz Roeder
下载:http://reflector.red-gate.com/download.aspx
说明:
这个很好很强大。可以反编译C#编译之后的文件,可以看到源代码级别的飞信代码。分析飞信就完全靠他了。因为飞信是C#写的,使用这个工具,就直接可以看 到飞信的源代码,没有解决不了的问题。

手机飞信反编译版本

网址:无
作者:飞信官方
下载: http://ishare.iask.sina.com.cn/f/7215532.html
说明:
这是是手机飞信用JD反编译出来的代码。不是symbian版的,是JAVA版的,应该是最先的那个版本,要求最低,只要在支持JAVA的手机上都可以使 用。目前还可以使用,如果有朋友对手机版的飞信有兴趣可以研究研究。

天网防火墙

网址:http://pfw.sky.net.cn/
作者:广州众达天网技术有限公司
下载: http://ishare.iask.sina.com.cn/f/7215694.html
说明:
分析网络软件少不了防火墙,因为配置好防火墙可以模拟特定的网络状态。比如要研究飞信的HTTP通信协议,就需要把阻止飞信连接8080端口,用防火墙可 以办到。这里我给的是破解版的防火墙,因为天网很久不更新这个防火墙了,不过的确很好用。

六、网络资源

目前飞信程序一大堆,但真正分析并写文章的少,这里只能列出一点来,希望研究飞信的朋友们能写出更多关于飞信 的文章。

nathan2007的博客

网址:http://hi.baidu.com/nathan2007
作者:nathan2007
说明:
nathan2007应该是最早分析飞信的人了,我也是看完nathan2007的分析才开始研究飞信的。文章比较丰富,但是有些内容在新版的飞信已经不 适用了。

solosky的博客

网址:http://www.solosky.net
作者:solosky solosky772@qq.com

转自:http://www.solosky.net/2010/03/the-fetion-resources.html


9 2010

My Favorite Softwares

前言:工欲善其事,必先利其器,好的工具可以起到事半功倍的效果。今天就借此机会,给大家介绍几款使用起来感觉不错的工具,挑选了几个大家可能不太熟悉的,常用的那些就不做介绍了。

一、工作篇

1、IE多版本集合-Internet Explorer Collection

Internet Explorer Collection 包含了多个独立版本的IE Trident渲染引擎,使用它可以用来进行IE的兼容性测试,从此就可以摆脱庞大的虚拟机了。

2、Http数据包捕获-Live HTTP headers(Firefox插件)

作为WEB开发人员,掌握一种Http数据包捕获工具还是很有必要的,借助它可以更好地分析web程序,这是我用起来最方便的一个Http抓包工具。

3、Adobe Kuler-颜色选取

这是采用Adobe Air开发的一款工具,可以方便的让你选取合适的色彩,前端和设计人员必备。

二、学习篇

1、知识整理-EverNote

这是一款优秀的笔记软件,界面美观大方,使用起来也很方便。最重要的是它可以通过网络很方便地进行同步,这样你在公司里整理的资料,在家里就可以查看和修改了。同步操作很简单,点击Sync按钮即可。另外,需要到其官方网站注册一帐户,才可使用此软件。
类似的还有微软的OneNote,感兴趣的可以研究一下。

2、正则表达式验证-Rubular [www.rubular.com]

这是一个在线验证正则表达式的网站,我经常用它来验证写的正则表达式是否正确,另外页面下方提供的正则表达式的语法说明也很有帮助。

类似的网站还有RegExr(www.gskinner.com/RegExr/) RegexPal(regexpal.com)

三、娱乐篇

1、休闲游戏-Friv [www.friv.com]

这里面集合了N多的经典小游戏,每个都会让人上瘾。

2、在线听歌-亦歌[www.1g1g.com]

亦歌是一款基于Flex技术的在线音乐播放器,提供了一系列快捷方便的音乐搜索和音乐播放服务。另外可以很方便与好友分享自己收藏的歌曲,在搜索框里输入@yava555,就能看到看到我收藏的歌了。


6 2010

Google Reader订阅排行榜-关于Linux

How to Change the Timezone in Linux – wikiHow 5440227

Linux | Define Linux at Dictionary.com 3638332

Yellow Dog Linux 5.0 for PS3 now available for free — how is it … 1072485

Five Best Linux Distributions – Linux – Lifehacker 348031

ThinkGeek :: Linux 331722

Linux – Search Slashdot 328843

HowStuffWorks “What is Linux and why is it so popular?” 158996

Happy 15th Birthday Linux – Linux – Gizmodo 124954

VI Editor / Linux Terminal Cheat Sheet (PDF) – Smashing Magazine 123057

xkcd: Linux User at Best Buy 120369

Linux support dropped from PS3 Firmware 3.21 — Joystiq 101813

Android and Linux Discuss Code Reunion 85597

Official Google Blog: Google Chrome for the holidays: Mac, Linux … 83795

Linux — Download Squad 61743

PS3 Loses Linux Support – PS3 – Kotaku 57832

Intel, Nokia Merge Linux Operating Systems to Form MeeGo 56456

Silverlight 1.0 Released and Silverlight for Linux Announced … 38749

Linux Software News, Reviews & Information at ExtremeTech 37568

Download Google Chrome for Mac OS X and Chrome Browser for Linux 33563

How Linux saved Amazon millions – CNET News 33021

Linux vs. Windows Viruses • The Register 28869

Linux Software | iLounge 27512

Major Distributions – DistroWatch.com: Put the fun back into … 23455

LinuxInsider: Linux News & Information from Around the World 20155

Slashdot – News for nerds, stuff that matters 19043

iPhone Linux – Hack a Day 18657

5 Excellent Downloadable eBooks To Teach Yourself Linux 14801

Chromium Blog: Google Chrome for Linux goes beta! 14052

Python for Linux 13753

Welcome to LWN.net [LWN.net] 13016

Urban Dictionary: linux 12245

Authenticating Linux against Active Directory 11365

Software > GNU/Linux – Mininova 9034

Desktop Linux For The Windows Power User : Introduction 8075

Use a Linux box as an iTunes music server – Mac OS X Hints 8005

Installing Linux in Windows ~ Chris Pirillo 7342

Ubuntu Linux | a community for beginners and experts 7102

Linux | gHacks technology news 6671

nixCraft: Linux Tips, Hacks, Tutorials, And Ideas In Blog Format 6519

FOSSwire: Unix/Linux Command Cheat Sheet 6440

IBM Redbooks | Linux Client Migration Cookbook, Version 2: A … 6439

LXer: Linux News 6139

Google debuts Chrome for Mac, Linux | Webware – CNET 6018

Linux Questions 5645

Download the latest version of Skype for Linux 5014

HowtoForge – Linux Howtos and Tutorials 4714

Linux Today – Linux IT Management News On Internet Time. 4407

Hulu – Labs 4235

Gentoo Linux — Gentoo Linux News 3690

Screencast of Silverlight installation on Linux 3551


4 2010

Google Reader订阅排行榜-关于Oracle

Oracle Outlines Direct-Sales Sun Plan – BusinessWeek 9481

Oracle Developer Tools Interview – The Java Posse 9472

Oracle Watch by Andy Kurovets » Yanko Design 9233

Oracle and MySQL (by Jeremy Zawodny) 8354

Oracle Pushes Solaris into Quarterly Updates 8057

Oracle President Chuck Phillips Admits Relationship with Woman on … 7176

Java designer resigns from Oracle 6708

Oracle — from Wolfram MathWorld 6484

IBM Redbooks | Oracle to DB2 Conversion Guide for Linux, UNIX, and … 6429

Oracle buys Sun: understanding the impact on open source 5831

BMW Oracle rocks the America’s Cup 5683

Oracle Java SE and Java for Business Critical Patch Update Advisory 5578

William Safire, Political Columnist and Oracle of Language, Dies … 5052

Visual Business Intelligence – Oracle—Have you no shame? 5047

Sun, Oracle, WordPress, and MySQL — Matt Mullenweg 4696

FORA.tv – Oracle CEO Larry Ellison Unscripted 4548

Amazon Web Services Blog: Oracle Enters the AWS Cloud 4482

oracle client & Networking Components | 1 of 6 4410

451 CAOS Theory » Oracle *could* kill off MySQL as a commercial … 4409

What does Oracle-Hyperion mean for SAP customers? 3995

Past Oracle 10-Minute Solutions 3845


13 2010

程序员能力矩阵 Programmer Competency Matrix

译文:http://www.hijava.org/%5BCN%5DProgrammer%20competency%20matrix.htm

原文:http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm


21 2010

当你输入一个网址之后,实际上发生了些什么?

今天读了一篇不错的文章What really happens when you navigate to a URL ,作者用示例形象地描述了浏览器与服务器的整个交互过程。

  1. 在浏览器里输入网址
  2. 浏览器查找服务器的IP地址(浏览器缓存 -> 操作系统缓存 -> 路由器缓存 -> DNS服务器 )
  3. 浏览器向WEB服务器发出HTTP请求
  4. 服务器处理请求(ASP,JSP,PHP…解析器解析)
  5. 服务器返回响应的HTML代码
  6. 浏览器开始解析渲染HTML
  7. 于此同时,浏览器对于碰到的嵌入在HTML里的对象发起HTTP请求(Images,CSS,JS)

这只是一个大体流程,每一个环节都可以延伸出很多技术来,像CDN,Http Protocol,DNS… 需要每一个WEB开发人员去深入钻研。

中文翻译:http://article.yeeyan.org/view/54517/91367


十二 16 2009

[转]网站架构相关PPT、文章整理

1、amazon
Amazon的分布式key-value存储系统(dynamo)的论文

2、ebay(我对于eBay这几个PPT的一些看法和评价:http://www.blogjava.net/BlueDavy/archive/2009/07/24/288055.html
ebay架构演变历程(The eBay Architecture)
ebay架构原则(eBay architecture principles)
ebay的自动化(Teaching machines to fish)

3、facebook
facebook的缓存系统
facebook的架构
facebook百亿相片的高效存储

4、fotolog
扩展世界上最大的图片blog社区

5、google
GFS介绍
GFS论文
Mapreduce介绍
Mapreduce论文
Google在web前端方面的经验(even faster websites)
建设大型可扩展的IRS系统的挑战(challenges in building large-scale IRS)
松耦合分布式系统中的锁服务(lock service for loosly-coupled distributed system)
“滚木移石”不停机升级策略论文(modular software upgrades for distributed program)
Google wave的架构

6、linkedin
linkedin远程通讯架构

7、livejournal
livejournal架构演变历程

8、myspace
myspace架构

9、wikipedia
wikipedia架构

10、yahoo
yahoo定制的apache–yapache

11、youtube
scaling youtube

12、Twitter
Designing a Scalable Twitter

13、豆瓣
技术演变历程(QCon 2009北京)

14、freewheel
架构(QCon 2009北京)

15、优酷
架构(QCon 2009北京)

16、淘宝
技术演变历程(QCon 2009北京)

17、twitter
Improving the Performance and Scalability of Twitter

转自:http://www.blogjava.net/BlueDavy/archive/2009/04/28/267970.html


23 2009

Java多线程学习指南

Java多线程学习指南:http://www.blogjava.net/nokiaguy/archive/2009/03/07/258358.html

Java多线程学习的好文章