2009年8月5日星期三

千橡校内网更名人人网

  近日,千橡集团宣布重大战略调整,其旗下校内网正式改名为人人网,其域名由原先的“校内”转向“人人”,其用户群定位由原先的大学生拓展至全体网民。

  这个消息是很惊人的,因为校内网几乎是千橡用钱烧出来的一个SNS网站,校内网于05年12月成立,在不到四年的时间里积累了7000万名用户,服务器数量从20台增加到5000台,已经成为中国最大的校园SNS网站,想当年校内网的“注册送鸡腿”的推广手段,就靠着一根根鸡腿,一夜之间赢得所有大学饥饿男女的心,所有人拿着校内网的注册码,奔向食堂,奔向鸡腿,一个月的注册量曾经另众多同类网站瞠目结舌,而转眼之间,校内网就宣布改名并放弃原有的品牌,实在非常可惜。

  千橡从校内转化为人人,证明以学生为主的校内网已经被以公司白领为主的开心网彻底击败,从一定程度上证明了,以中国大学生为用户基础的商业网站很难成功,因为大学生虽然数量众多,但没有稳定的收入,也缺少消费能力和商业价值。

  不仅仅如此,大学生往往还会对社区网站的发展起到负面影响,例如大学生通常政治上较为激进,精力旺盛,容易组织大规模的社团活动,并且很不好管理,网上的活动很容易就发展为大规模的线下活动,例如当年的反日游行和抵制家乐福活动,早先国内众多校内BBS就因此而经常被关闭。而校内网以大量学生为核心,必然会受到强大的外部压力,再加上商业前景黯淡,改弦易辙也实属必然。

如何建立个人网上品牌

  对于品牌而言,无论是你的公司或是自己,始终一致是至关重要的。品牌的概念是将某些名称、图像或设计,这些要素所形成的一种形象认知度,总体来讲它属于一种无形资产。如果您的名字或图像一直在不断变化,那么它怎么可能成功呢?

  始终使用相同的用户名

  无论是在什么地方注册服务,都要坚持使用完全相同的用户名。你应该在每一个系统都使用相同的名称,包括所有的即时通讯软件(Skype、AIM、MSN、雅虎通等),任何社交网站中创建的个人资料或页面(Facebook、MySpace、Twitter、LinkedIn、Flickr、Bebo等),以及你使用的任何一个社会化媒体(Digg、Stumble Upon、Reddit、del.icio.us等)。此外,你和他人沟通使用的电子邮件名称也应该使用这个名字,并且这个邮件要在公司文档或者市场营销中使用。

  选择一个用户名,坚持下去,每次都使用同样的拼写和结构。对于我的博客来说,我一直使用williamlong这个名字,从来没有改变,除非别人抢注这个名字。

  始终使用相同的图像

  当你在一个Web服务上创建一个帐户的时候,大多数系统会要求你上传个人资料图片。务必让你注册的每一项服务都使用同一张图片。如果你是要宣传公司的品牌,那么使用公司的LOGO。如果你想建立自己个人品牌,那就在所有的Web服务中使用完全相同的头像。

  对于公司来说,主要有两个标志图像需要使用,实际的公司LOGO图片以及很小的favicon小图标。这个小图标应该是网站上的favicon图标,可以在只允许很小图片的服务上(例如即时通讯客户端)使用。

  保持一致的设计风格

  某些服务,例如Facebook可能无法实现,但对于有些网站,如MySpace和Twitter的,我们可以使用一个自定义的模板风格来建议一个独立的品牌形象,也就是在个人资料上使用同一个背景和LOGO图片,如果有可能的话,在你的博客或者网站上也使用相同的设计模板。

  使用电子邮件签名

  这个听起来似乎没什么必要,但实际上,电子邮件仍然是最受欢迎的进行交流和工作的方式。如果你每天都要处理电子邮件,那你应该做一些设置,保持你的电子邮件一致。最简单的方法就是建立一个电子邮件签名,它会在发送邮件的时候自动添加到每个电子邮件的底部。

  对于论坛来说也是同样的道理。

  推广你的品牌

  为了使你的个人品牌获得成功,你要在各种不同的用户群中显得出众,首先确保您已经做好了一个最基本的网站,并建立了一个邮件地址。这些可以在各类社交网站或社会化媒体上使用。你还应该有至少一个即时通讯帐户。在这之后,你应该搜索一下同行的博客,并参与评论和留言,注意要使用相同的头像和用户名,使用Gravatar可以自动完成这个功能。

  最后,你需要花一些时间来浏览和你博客主题相关的社交类网站,并在上面建立个人档案。这些社交类网站包括论坛、SNS网站、行业会议网站等等。

  但是,切记不能在过多的网站中推广你的品牌形象。虽然在大量网站上宣传似乎很美好,但同样重要的是,你是那些网络的贡献者。只有积极参与到社交网络的交流中,才能较为顺利的推广个人品牌,而如果推广的网站太多,则没有人能有那么多精力放在上面。

  总体而言,虽然个人品牌不会直接给你的博客带来流量,并且个人品牌怎么才算成功很难衡量,但历史已经证明,具有良好品牌的公司也业界会得到越来越多的认同并成为行业领袖。以上的方案可以帮助你或你的公司在丰富多彩的网络上成功建立个人或公司的品牌。

  英文原文:How To Build Your Online Brand
  中文翻译:William Long
  中文译文:如何建立个人网上品牌

2009年8月4日星期二

你的密码还安全吗?

  密码安全是一个系统的基本安全要素,读者这次投递的稿件论述只用MD5进行密码HASH并不安全,如果将这个HASH数值保存在数据库中,有可能会被人破解。我认为,比较安全的密码保存方法是MD5(用户名+用户密码+随机数),这个HASH数值不仅无法反向破解,而且无法替换,完美的解决了读者的这个疑问。以下是读者的投递文章。

  你的密码安全吗?你觉得你的密码已经很复杂了?密码再复杂,都有可能被破解掉。

  让我们做个实验吧,你手里有数据库吗?如果有,用数据库的函数计算你的密码md5值。

  如果没有,可以到这个网站去计算。为了你的密码安全,不要用“真”的密码去试,虚拟一个密码吧。我拿密码“goodday ”来试验。在上面的网站计算goodday的md5值(32位)。得出结果0CF21CE35322D2E56D745E319B933470

  我们拿这个值到这个网站去破解吧。得到的结果是什么?goodday!说明这个密码并不安全。

  为什么这么说?假如你是某论坛的用户,因为这个论坛管理不当,或其它人为原因,导致数据库被“偷”。那你的用户名和密码就被hacker拿去了,他们可以通这类似的网站“破解”你的密码。有了你的用户和密码,可以在这个论坛以你的名义发贴,修改。可以查你相关的资料,然后以相同的密码试你在其它应用上的帐号,比如说QQ,facebook之类的。

  md5的反算是相当麻烦的,甚至可以说是不可行的(据说山东某大学的女博士破解了它,但破解方法有多少人懂?)。但为什么可以通过md5值“破解”掉密码呢?其实cmd5这个网站做得相当的简单,它只是不是用数据库两个字段而已,一个字段保存原来的字符串,一个字段保存字符串的md5值。它通过存储过程(或其它程序)插入一些字符串(如密码字典),md5值由数据库生成。页面查找只是查找相关记录而已。

  然后,这个字符串添加的渠道就是个问题了。这些网站似乎还没有意识到这个利益。

  假如说,这些网站提供用户查询功能,包括md5的正向运算,用户好奇要算算自己密码的md5值。算完后,网站“顺便”把它的密码和md5值保存起来,日积月累,那这个数据库就相当于一个超大的密码字典,卖出去肯定值钱。

  如果有人以这个数据库作为密码字典写破解程序,破解起来就容易多了。

  我觉得,这些都应该引起sysadmin,DBA,技术总监和网络警察的注意。

  传统密码离它死去的日子还有多远?

  作者:TonyLiao 原文出处

  另外,对加密系统感兴趣的同学可以参考我的一篇文章《加密技术在企业数据安全中的应用》。

2009年8月3日星期一

基于GAE的Twitter RSS Feed过滤工具

  经常使用Twitter的用户,一定会遇到同步Twitter信息到其他平台的功能,通常都会使用RSS Feed的方法同步。当用户使用Twitter的RSS Feed的时候,会发现这个Feed中包含用户的username,看着很不舒服,并且不能过滤掉@回复的信息。

  这时候,我们就需要一个过滤程序,对Feed进行处理,使用程序自动过滤掉原始Twitter Feed中的用户名,同时还过滤掉所有回复给他人(包括RT)的信息,只保留自己的信息,然后重新以RSS Feed的方式输出,供其第三方应用程序使用,例如,可以在TwitterFeed中加入这个RSS Feed地址,然后使用TwitterFeed更新Hellotxt,来实现通过Twitter更新多个社会化网络。

  先前我曾经介绍过一个基于PHP的过滤程序,可以使用PHP语言实现这个功能,现在,我将这个程序使用Python改写并开源,该项目名称为twitter-feed,使其可以在Google App Engine上使用。

  将其放在Google App Engine的好处是稳定和免费,不用购买虚拟主机就可以实现,稳定性也很好。

  安装使用说明:

  下载方法,使用TortoiseSVN检出这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名,接着,修改feed.py,将Twitter username修改为自己的Twitter用户名,然后就可以按照此文的方法进行发布,执行 appcfg.py update 目录名,使用Gmail帐号和密码,就可以发布了。

  发布之后,过滤的Feed地址应该是myapp.sppspot.com/feed或者myapp.sppspot.com/feed.py,使用这个Feed地址即可替换Twitter原有的Feed地址。

2009年8月2日星期日

Google App Engine使用简介

  Google App Engine是Google提供的基于Google数据中心的开发、托管网络应用程序的平台,每个 Google App Engine 应用程序都可使用500MB存储空间,以及可支持每月约500万页面浏览量的CPU和宽带。目前每个用户可以免费创建十个应用。

  下载开发环境

  Google App Engine SDK 下载地址http://code.google.com/intl/zh-CN/appengine/downloads.html

  Python 2.5.4 下载地址http://www.python.org/download/releases/2.5.4/

  本地调试

  使用dev_appserver.py myapp在本地启动Google App Engine服务,然后通过http://localhost:8080访问自己的应用。

  dev_appserver.py --port=9999 myapp 指定端口号

  发布应用

  使用 appcfg.py update myapp来发布开发好的应用。发布好的应用可以使用 myapp.appspot.com 来访问。

  相关资源

  开发人员指南 http://code.google.com/intl/zh-CN/appengine/docs/

  开发示例 http://code.google.com/p/google-app-engine-samples/

  精选文章 http://code.google.com/intl/zh-CN/appengine/articles/

  发布第三方程序到Google App Engine

  SVN checkout 源代码,放到一个目录中,

  进入目录,编辑app.yaml,修改为自己的应用名

  执行 appcfg.py update 目录名

  比较有用的第三方应用有:

  GAppProxy http://code.google.com/p/gappproxy/

  birdnest  http://code.google.com/p/birdnest/

  欢迎大家补充。

2009年7月31日星期五

轻松搭建一个Windows SVN服务器

  前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理。这里我就介绍一个在Windows环境下简单快速搭建SVN服务器的方法。

  通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN性能会非常好,但配置有些繁琐,如果SVN服务器只有自己使用,那么可以直接把SVN服务器搭建在个人Windows环境下使用。

  目前较为简单的方案是VisualSVN Server。该SVN服务器是免费的,支持Windows NT, 2000, XP and 2003等环境,安装非常简单。

  安装的时候可以选择SVN走http协议还是https协议,http协议速度快一些,而https协议安全性好。两者均可以从浏览器直接访问SVN项目。

  安装完成后打开,可以看到一个微软的MMS管理界面,在里面可以轻松添加设置项目。用户权限可以使用Windows的用户,也可以单独新建用户。如果原先有一个SVN数据,则可以在界面上导入原有的SVN数据。

VisualSVN Server

  SVN客户端依旧推荐使用Windows下的TortoiseSVN,两者搭配起来,非常好用。

TortoiseSVN使用帮助和下载

  随着应用软件的开发规模及复杂程度日趋大型化,使得软件开发模式从早期的个人作坊式渐渐转变为团队协作开发方式,在这种团队协作的开发模式,为了管理好开发项目,就离不开版本控制软件,在开发过程中采用版本控制软件,能够完整地保存开发中对应用程序每一个源文件所有的修改记录,充分地利用版本控制软件能够对软件开发进行卓有成效的管理。

  常见的版本控制软件有VSS、CVS和SVN

  VSS(Visual Source Safe)为微软的产品,较为易学易用,使用微软的产品进行开发通常都用这个,但是VSS只能在windows平台上运行,并且不是免费软件,安全性也不高,因此应用并不太广泛。

  CVS(Concurrent Version System)是免费开源的配置管理工具,其源代码和安装文件都可以免费下载。由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。不过CVS的部署比VSS要复杂一些。

  SVN(Subversion)作为CVS的重写版和改进版,其目标就是作为一个更好的版本控制软件,取代CVS.总的来说,CVS在发展的过程中逐渐失去优势,已经不再适合现代开发,目前,绝大多数CVS服务已经改用SVN.

  目前流行的Google Code开源项目托管平台就是使用SVN进行版本控制。

  Windows下的SVN客户端

  TortoiseSVN是Windows下的SVN(Subversion)版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。用户可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。

  下载TortoiseSVN

  TortoiseSVN的官方下载地址是 http://tortoisesvn.net/downloads ,普通Windows用户下载32位软件即可,下载地址后面还有中文语言包(Language packs)提供,安装完后可以将TortoiseSVN的界面编程简体中文。

  TortoiseSVN使用简介

  安装完成TortoiseSVN后,会发现文件夹图标被重载,不同的重载图标所表示不同的意义。所有的TortoiseSVN命令都是通过windows资源管理器的右键菜单执行。右键点击一个文件或者文件夹,大多数菜单项都能够直接显示。比较常用的功能是“更新”和“提交”。通过“更新”可以从SVN服务器上下载最新的代码,“提交”则可以将本地修改的代码上传到SVN服务器上。

  更为详细的TortoiseSVN使用帮助,请参考TortoiseSVN中文手册

  Google Code上使用SVN

  在Google Code上使用SVN提交的时候,会要求输入密码,这个密码并非你的Gmail密码,而是Google Code密码,在Profile-Settings中可以看到你的Google Code密码,我第一次使用Google Code的时候就误以为是Gmail密码,结果重复输入了N次密码都没提交成功。