2009年3月7日星期六

免费Flash图表工具FusionChart

  图表显示是很多开发工作所必不可少的一项功能,今天我介绍一个前段时间发现的免费的Flash图表开发工具,可以通过Adobe Flash实现数据的图表化,动态化以及相互交互。

  FusionChart是一个简单易用的图表工具,使用它可以显示丰富的柱状图和曲线图,而且完全免费。使用FusionChart可以方便的生成漂亮的柱状图、曲线图等图标,显示直观、清晰,可以让管理层在最短的时间内宏观掌握业绩信息。

  FusionCharts和其他常见的图表控件不同,它使用Flash技术,能够快速创建引人注目的动态图像效果。充分利用Macromedia Flash所具有的流畅功能来创建简洁的、交互式的和引人注目的动态图像。极大增强了报表图表的现实效果。

  前端时间我们开发小组就使用FusionCharts已经在一个内部业务系统中使用,显示效果很不错,得到众多领导的好评。这个免费工具在各类业务系统的报表项目中都具有使用的前景,起到增强各类报表的显示效果。

FusionCharts

  FusionChart的免费版点这里下载,当然,这个共享软件也有收费版,作者是印度人,不过我没有购买过,用的是免费版开发,估计收费版的功能会更强大一些。

2009年3月5日星期四

YouTube再次无法访问

  据读者小龙的邮件爆料,世界知名的视频共享网站YouTube在3月4日晚上8点左右开始无法访问,使用Firefox浏览其主页,会出现“连接被重置”的提示信息。但是Ping其地址是可通的。

  通过Yahoo或MSN等国外网站搜索“.youtube.com”,会出现提示信息“连接被重置”,然后Yahoo和MSN也出现短时无法访问的现象。

  YouTube深受世界人民的喜爱,不过也有多国屏蔽过YouTube的视频,在2007年10月18日和2008年3月15日,YouTube都曾经暂时被中国屏蔽过。

  YouTube是设立在美国的一个可供网民上载观看及分享视频短片的网站,让使用者上载观看及分享视频短片,它是目前全球最大的视频分享网站。

YouTube

  更新:3月5日凌晨,YouTube又可以访问,这次的无法访问只持续了一天的时间。

Google Calendar离线版服务上线

  据Gmail博客报道,Google Calendar的离线版服务目前已经对所有用户开放,用户登录Google Calendar即可使用离线版功能,这是继Google推出Gmail离线版服务后又推出的一项离线服务。

  1月底,Google率先推出了Gmail离线版服务后。Google又将离线版服务推广到Google日历服务上。该服务较为实用,在没有网络连接的情况下,如果用户忘记自己的日程安排,则可以离线访问该服务。与Google所发布的所有离线应用程序一样,Google Calendar同样也需要Google Gears的支持。

  与离线版Gmail服务相比,Google日历离线版服务的限制较多。它只是一项“只读”服务,不能添加新的日常安排,因此限制了Google日历离线版的使用范围。

MySQL常用维护管理工具

  MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

  MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍五个我经常使用的MySQL图形化管理工具,供大家参考。

  1、phpMyAdmin

phpMyAdmin

  phpMyAdmin是最常用的MySQL维护工具,是一个用PHP开发的基于Web方式架构在网站主机上的MySQL管理工具,支持中文,管理数据库非常方便。不足之处在于对大数据库的备份和恢复不方便。

  2、MySQLDumper

MySQLDumper

  MySQLDumper使用PHP开发的MySQL数据库备份恢复程序,解决了使用PHP进行大数据库备份和恢复的问题,数百兆的数据库都可以方便的备份恢复,不用担心网速太慢导致中间中断的问题,非常方便易用。这个软件是德国人开发的,还没有中文语言包。

  3、Navicat

Navicat

  Navicat是一个桌面版MySQL数据库管理和开发工具。和微软SQLServer的管理器很像,易学易用。Navicat使用图形化的用户界面,可以让用户使用和管理更为轻松。支持中文,有免费版本提供。

  4、MySQL GUI Tools

MySQL GUI Tools

  MySQL GUI Tools是MySQL官方提供的图形化管理工具,功能很强大,值得推荐,可惜的是没有中文界面。

  5、MySQL ODBC Connector

MySQL ODBC Connector

  MySQL官方提供的ODBC接口程序,系统安装了这个程序之后,就可以通过ODBC来访问MySQL,这样就可以实现SQLServer、Access和MySQL之间的数据转换,还可以支持ASP访问MySQL数据库。

  以上就是我介绍的五个常用的MySQL维护管理工具,如果你知道更好的MySQL工具,请留言和我们分享。

2009年3月4日星期三

软件下载站如何应对迅雷的P2SP流量

  中国用户在使用众多类型的下载软件中,使用迅雷软件的用户一定会对迅雷的下载速度印象深刻,普通ADSL线路下,大多数软件或者电影都能达到数百K的下载速度,即使相对冷门的软件也不例外,下载体验远远优于先前流行的P2P下载软件。

  迅雷软件的下载机理

  从原理上讲,P2P(Peer to Peer)是基于点对点(对等网络),一端的下载速度和另一端的上传速度密切相关,由于中国用户大多使用ADSL上网,ADSL的上传速度并不快,仅几十K速度,一些用户还会人为限制上传速度,这导致了P2P方式的上传带宽资源的缺乏,因此中国用户会普遍感觉P2P的速度较慢慢。

  P2S(Peer to Server)是基于用户对服务器,用户直接到某个大型的下载网站去下载文件,文件存储在网站服务器上,因此速度可以得到保证,通常都会有数百K的速度,但存在的问题是资源分散、不易搜索。

  而迅雷使用的P2SP(Peer to Server & Peer)基于用户对服务器和用户机制,不同于P2P,也不同于P2S,P2SP下载方式实际上对P2P技术的进一步延伸,它不但支持P2P技术,同时还通过检索数据库把服务器资源和P2P资源整合到了一起,用户下载某一个文件的时候,会自动搜索其他资源,选择合适的资源进行加速,这使得迅雷在下载的稳定性和下载的速度上,比传统的P2P有了非常大的提高。

  这里面的核心问题就是迅雷的智能资源选择,用户使用迅雷下载某个文件的同时,迅雷会自动收集用户的下载地址,并以MD5值判断是否为同一个文件,从而形成一个庞大的下载链接库,这样就在迅雷服务器端进行了资源的整合,当后面的用户下载同一个文件时,迅雷就会根据用户具体的网速而去一个速度最快的服务器上面下载同一个文件,由于选择通常是最优化的结果,因此用户感觉下载速度的确非常快。

  迅雷和软件下载站的冲突

  然而这种下载机制却对传统的软件下载站形成了较大的流量压力,软件下载站会发现自己的流量消耗越来越多,但是页面访问量却不见增长,很多流量被大量迅雷用户默默的消耗了,也就是通常所讲的“盗链”。

  “盗链”的定义是:此文件不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的页面上向最终用户提供内容。

  于是,在2006年6月的某一天,华军、天空等国内知名下载站点突然发布一则封杀令,宣称迅雷采取非法盗链的手段,消耗其下载服务器资源,侵害下载站点的合法权益,因此停止提供迅雷软件的下载服务。这一事件轰动了整个IT业界。

  迅雷被封杀事件终究以和解收场,和解协议上白纸黑字写着是“……实现合作共赢,共同致力于打造一个和谐的产业链”,之后迅雷发展速度也越来越快,还推出了基于P2SP上的影视频道——迅雷看看,实现了较为流畅的视频点播服务。

  2009年初,迅雷联盟也开始尝试推送流量给各个软件下载站,但这种推送流量类似弹窗的流量,其流量的质量并不太高。

  软件下载站的对策

  普通的软件下载站对这种“盗链”行为较为反感,如果其下载地址所在页面并没有被用户访问,这些站点不仅没有得到网页流量,反而把自己的服务器资源免费贡献给用户,这会导致广告投资等方面受到经济损失。但通常使用了很多办法却不见成效,例如使用校验码方式、FTP变化密码方式、修改下载路径方式,但最终的下载地址还是会被迅雷客户端获取,无法避免这种“盗链”,那么,软件下载站如果想要避免被盗链的话,应该如何操作呢?我这里想到了几个方法来应对P2SP,从理论上讲应该可以解决这个问题,供大家分析和探讨。

  1、修改下载文件的内容

  既然P2SP通过MD5等方式来判断是否是同一个文件,那么改变文件的MD5数值就可以避免被P2SP软件下载,如何改变下载文件的MD5呢,只要文件的内容有一点点改变,文件的MD5就会发生变化,因此解决方法也很简单,例如ZIP格式的下载文件,只要批量将文件里加入一个无用的文件,即可改变文件的大小和MD5数值。不过,批量修改ZIP或RAR压缩文件需要专门的软件来执行。

  2、修改下载文件路径

  如果下载文件放在同一个目录下,那么可以修改这个目录名,这样下载文件的下载链接URL地址就变化了,形成了一个新地址,如果这个地址的下载文件MD5再不相同,就不会被P2SP软件判断为同一个文件,从而避免了这类P2SP的下载。

  3、谨慎加入迅雷联盟

  迅雷联盟是迅雷为与合作下载站分享利益分成,共进共赢而形成的合作联盟。下载站将下载链接修改为支持迅雷方式下载,迅雷即可按下载次数支付一定费用,并且迅雷还通过推送流量的方式增加下载站首页流量。不过,用户使用迅雷下载后,该文件就会被迅雷服务器端记录,当下载量非常大的时候,会在迅雷搜索排名中列第一,这样就会带来直接从迅雷搜索而来的下载量,这些下载都不会访问到下载站原始页面。

  4、使用单独的下载空间

  使用一个独立域名或网站放置下载文件,不要和主站放在一起,这样就可以单独配置下载网站的设置,限制同时连接的数量和下载带宽,也是节省流量的好办法。

  总的来说,小型的软件下载站应该避免浪费流量,避免盗链,同时也应该量力而行,如果没有足够的流量支持,例如使用几百元的虚拟主机,就不要提供大量文件下载,否则肯定会被拖垮。不过,大型软件下载站的策略就可以不同,不一定非要节省流量,因为通常大型下载站都会托管了独立的服务器,有了一定带宽的保证,只要不放一些大型文件,通常不会流量超限,那时就不必在乎迅雷的这种P2SP行为了,而可以利用迅雷做一些广告,如果实在流量太大,可以直接使用上面说的第四条方法,限制下载空间的连接数即可减轻服务器负载。

2009年3月3日星期二

从Gmail故障看SaaS的服务风险

  2009年2月24日,Google Gmail电子邮箱爆发全球性故障,服务中断时间长达4小时。此次全球性故障的原因是位于欧洲的数据中心例行性维护,有些新的程序代码产生了副作用,把地理相近的数据集中于所有人身上,导致欧洲另一个资料中心过载,连锁效应扩及其它数据中心,致使全球性的断线。

  对于这个严重的故障,Google发言人称,公司会赔偿每个付费使用Google Apps Premier Edition套装软件的用户相当于15天的服务费,按Google一年收费50美元计算,相当于每小时0.57美分,15天则是2.05美元。但Google并不是直接赔偿现金给付费用户,而是给付费用户增加15天的免费使用时间。

  如果你是Gmail的付费用户,你会对这种赔偿满意吗?

  我想如果是企业用户,肯定不会对这样的结果满意的。邮件服务其实还算好的,因为做为低层的SaaS应用,其影响虽然说不小,但也不算特别大。更为现实的网站服务,如果一个企业购买了一个网站服务器,并应用于企业的实际生产销售中,例如网店等应用,特别对于大型的网店来说,服务中断4个小时会带来多大的业务损失啊,这点损失是几美元能赔的吗?现实就有这样的事情发生过,实际的情况是,DreamHost在2007年有次宕机,主机服务恢复时间最长的达到36个小时,而DreamHost为此事件仅赔偿用户44美分

  这也是SaaS应用难以回避的问题,低成本可能就意味着服务不是100%的稳定和安全,一旦出现了重大问题,难以对造成的损失进行赔偿,确保服务稳定安全的方法是配置各类硬件软件安全产品,如防火墙等等,但对于成本会大幅提高,别人的虚拟主机只售5美元,你凭什么卖10美元呢,这又导致产品销量减少,这年头,物美价廉的服务是很不靠谱的。

  这也是SaaS软件商业模式面临的一项挑战,传统的软件销售是不可能出现这类问题的,比如Windows这类传统软件产品,如果用户不小心格式化硬盘导致所有文件丢失,用户绝对不会去要求微软进行赔偿,微软也不会因为这个赔偿用户,但如果是SaaS这类付费用户,例如Gmail等,用户所面临的风险是,即使是服务商的错误导致用户数据丢失,用户也几乎得不到任何赔偿,即使只有可怜的2美元赔偿,也是通过赠送服务时间来实现的。

  如果你知道Gmail的这个赔偿先例,你还会付费购买企业版的Google Apps吗?这不仅仅是Gmail面临的问题,也是所有SaaS服务应用所面临的问题,低价格的软件服务很难确保绝对的稳定性,一旦稳定性出现问题,并为此破坏了用户重要的业务数据,如果处理不好的话,很可能会在用户群中造成不好的口碑。

  名词解释:SaaS(Software as a Service,软件即服务)是应用软件的一种销售方式,客户按使用时间或使用量付费,SaaS(软件即服务)具备这个特点:“软件部署为托管服务,通过因特网存取。”

2009年3月1日星期日

博客不应该迎合读者来写作

  一个人的博客是为谁而写?为自己而写的,还是为读者而写的?博客是否应该迎合自己的读者,写自己读者喜欢的内容呢?这恐怕是困扰着很多博客作者的一个问题。今天我就详细探讨一下这个问题。

  被惯坏了的读者

  博客早期是日记的另一种形式,具有很强的个性化,读者在最初是被作者的这种个性所吸引,并订阅或长期阅读该博客。但随着读者越积越多,博客的读者也会越来越多,大部分读者会和作者形成一种良性的反馈和互动,鼓励和引导作者进一步创作。

  但是有极少数的读者,也就是一些所谓被“惯坏了”的读者,试图尝试对作者形成一些影响力,并通过留言、写文章或者其他形式,对作者的写作施加影响,要求作者按照自己的要求写作,写自己喜欢看的文章,如果不按照自己的要求写作,动辄就以退订相威胁。从某种程度上,作者这时已经被这一小撮读者所要挟了。而一小撮读者为了自己产生某种满足感,不会对这种要挟带有任何道德愧疚感。

  在中国这样的环境下,产生这样的读者也不足为奇,这些是被“惯坏了”的读者,尤其以大学生为甚,他们拥有着大量的时间,使用这盗版的操作系统和免费的软件,在互联网上用着免费服务,看着免费的好文章,对于他们而言,别人将好东西送到自己手里是天经地义的。试问一句,凭什么作者要免费为你提供优秀的文章,你在索取这么多的同时,付出了什么呢?

  对于这类大学生,魏武挥曾经说他们没有消费能力,功利性很强,可以说商业价值很低,他们不但不会点击博客上的广告,还会大肆攻击这些广告影响他们的视觉,通常不可能对作者给予任何形式的回报,有些甚至带来的是负面的回馈。如果一个博客作者要沦落到迎合这类读者的口味上的话,那不如直接关闭算了。

博客

  恶劣的中国互联网环境

  这也是当今中国互联网的一个怪圈——原创内容的作者无法从自己的创作中获得赢得的收益,那必将降低作者的创作欲望,导致更新减少。为什么在中国,原创内容不值钱呢?因为中国人的传统观念就是不尊重知识产权,各类聚合或者门户类网站直接复制走个人博客的文章,有些还振振有词,这种情况在国外的互联网是非常少见的。国外的互联网也因此形成了一条较为成熟的产业链,产生了一大批职业博客,专职来更新博客,优秀的好文章则是层出不穷,多的连翻译都翻译不过来。相比之下这么大一个中国,网民数量据世界第二,目前还没有出现一个以博客为职业的专职博客,中国互联网环境之恶劣可见一斑。

  目前的现状是,个人博客的生存环境异常艰辛,个人辛辛苦苦的创作的内容却因为种种原因无法给个人带来应该得到的回报,各类门户网站或者所谓的社会化推荐引擎,通过人肉的方式或者采集全文RSS Feed加机器自动筛选的形式从个人博客上挑选出优秀的文章,从内容上说,个人博客的内容远远无法和门户网站和聚合行网站相比,主流门户网站拥有自己的编辑团队和营销团队,具有足够的资源和能力输出更好的内容,社会化推荐引擎则更简单,连编辑都不需要了,直接通过计算筛选分析出热门文章进行输出,而个人博客要写一篇好文章需要酝酿很长时间,每周能写一篇好文章已经算不错了,而且中文博客大多都“傻乎乎”的全文RSS输出,自动帮这些聚合网站减少工作量,这些网站更新频繁,内容又是精选了众多博客的好文章,所有的流量都逐步流向这类门户网站和聚合性网站,如果仅从内容或者搜索引擎上来看,个人博客在这种恶劣的互联网环境下生存极其困难。

  个人博客的选择

  对付聚合性质的网站的方法其实也很简单,就是RSS摘要输出,但这也将伤害那些博客的忠实读者,实在是一种两难的决策,你也可以要求这些聚合网站不要提供网页快照,但通常不会得到正面的回应,对方还会振振有词,说你看某某某网站也有网页快照等等,和尚摸得,我就摸不得吗?

  对付门户网站,可以要求门户网站删除复制的文章,但通常会浪费巨大的时间和精力,对博客自身来说又是得不偿失。

  博客作者全文RSS输出难道就是为了这些采集网站方便聚合吗?为什么那么多人喜欢“偷”内容而没有任何愧疚感呢?还是因为读者,读者喜欢阅读好内容,但是大多数读者对于内容的出处毫不关心,只要内容能满足读者的需求就够了。而那些门户网站和聚合性网站正好可以迎合他们的需求,提供海量而优秀的个性化内容,都是免费的。

  有时候我在想,什么时候中国的互联网环境能变得和美国那里一样好,一切的问题不就都解决了,要到那时候,中国肯定会涌现出一大批高质量的原创博客以及博客团队,整个互联网的知识传递和积累将变得丰富而有趣,个人的价值将得到充分的体现,可惜这一切都看上去那么遥不可及。

  你为什么停止写作

  中国这种特殊国情就注定了中国博客的命运,过去这几年有太多太多优秀的原创博客都最终走向自生自灭的可悲下场,能坚持下来的寥寥无几。我在2005年开始写博客,那时友情链接里有那么多的博客,现在还有几个在更新?如果你写了篇好文章,但发现大多数人都不是在你的博客上看到的这篇文章,你是否还会持之以恒的继续写作?你能忍受长时间的写作而没有任何回报的现状吗?你能忍受那些读者苛刻而自私的要挟吗?你能忍受那些为了自己商业利益而对你大肆污蔑和攻击的人吗?够了,已经太多了……太多太多的原因,导致博客作者停止了写作。

  能坚持下来的博客已经不多了,剩下的也无法摆脱最终的宿命,那就是,你迟早有一天会停止写作,你每写一篇文章,都会朝着那个宿命更进一步,那一天终究会到来的。

  那么你的坚持又是因为什么呢?或许你也早就想到放弃的那一天,只是你不甘心放弃而已。每个人都会坚持自己的信念,在别人看来,这是浪费时间,或许还很傻,但有些时候,博客的写作动力可能就只剩下这最后一点信念了,那就是坚持自己的价值,为自己写,为自己生存。

  你为谁而写

  这时候就该回到前面提到的问题了,你的博客到底是为谁而写?

  答案很简单:你的博客是为你自己而写,博客作者绝对不应该迎合自己的读者,坚持自己的原则是写作的底线,无论你的博客是出名还是不出名,博客始终都应该是为自己而写的,博客本身就是一个个性化的平台,为了他人而改变自我是一种可悲的事情,如果你的博客连为自己写作的能力都无法达到,那么你的博客就已经死亡了。