2009年5月20日星期三

十个常用浏览器书签工具

  Bookmarklet(书签工具)是指以书签的方式存储在Web浏览器上的一段小应用,用户通常只需在浏览器上的书签栏点击一下,就可以对当前网页执行某种操作,例如数据提取或查询等功能,Bookmarklet通常使用JavaScript语言编写,安装非常简单,只需要把链接拖到浏览器的书签中即可。

  Bookmarklet(书签工具)完全在浏览器上执行,不需要安装插件扩展,对浏览器本身的性能影响非常小,其使用的是JavaScript语言,所需的编程很少,因此被很多Web 2.0网站使用其来满足用户的需求。

  这里我介绍十个月光博客常用的Bookmarklet工具,使用方法是,打开后面的HTML文件,用鼠标将需要使用的链接拖到书签栏中(适用于Firefox和Chrome),在IE中可以右击链接,选择“添加到收藏夹”。也可以直接在浏览器中导入该HTML文件,我测试在IE 7、Firefox 3,Chrome中均导入正常。

  分享类

  收藏到Delicious: 点击按钮后,将当前网页收藏到美味书签Delicious中,标题和网址会自动填充。

  分享到Google Reader: 将当前网页分享到Google Reader的共享项目,用户可以在里面录入备注说明信息。

  分享到豆瓣: 向豆瓣的友邻推荐当前的网址。

  分享到饭否: 将当前网址分享给饭否的好友。

  分享到嘀咕: 将当前网址分享给嘀咕的好友。

  缩短网址类

  TinyURL: 使用TinyURL缩短当前的网址。

  bit.ly: 使用bit.ly缩短当前的网址。

  工具类

  Google翻译: 点击按钮后,自动将当前网页翻译为中文。

  发送到Flickr: 将当前网页上的图片发送到自己的Flickr中。

  Make Form Get: 这是一个比较个性化的Bookmarklet,功能是将当前网页中的Form里的Post转换为Get,这样提交的时候就以Get的方式提交,我用这个功能,是因为我们公司内部防火墙会将研发区域的Post权限封锁,有了这个就可以突破部分防火墙的限制。

  以上Bookmarklet可以点击这里下载,下载后的HTML文件可以直接导入IE、Firefox、Chrome浏览器。安装后的效果如下图所示。

我常用的十个浏览器书签工具

2009年5月19日星期二

我的社会化网络统计

  社会化网络平台,指的是在互联网上实现社会交往功能的平台。社会化网络的信息大部分是由用户创造或分享的,包括:状态(如Twitter,饭否等)、社会关系(Facebook、开心网等)、个人资料(MySpace等)和多媒体信息(YouTube、LastFM等),这里我就介绍一下我正在使用的一些社会化网络平台的一些个人统计数字。

  微博客

  Twitter - 国外很流行的微博客系统,国内也有不少互联网从业者在用,关注者1567人

  饭否 - 国内做的较早的Twitter克隆,用户群较为分散,关注者900

  嘀咕 - 国内微博客的一个后来者,其同步插件令人印象深刻,关注者337

  聚合

  FriendFeed - 改版之后的FriendFeed已经不单纯是一个聚合平台,还强化了Twitter功能,订阅数1337

  分享

  Google Reader - Google Reader的共享项目可以方便地在好友之间分享阅读项目,使用很方便,订阅数606

  Delicious - 美味书签是老牌的社会书签工具,在Network中可以查看好友分享的书签,订阅数206

  SNS

  Facebook - 虽然Facebook已经支持中文呢,但使用者大多数还是互联网从业者和老外,好友数783

  Orkut - 被Google收购后,Orkut并没有走向成功,在中国的用户基本上都是Google的粉丝,好友数648

  开心 - 开心网是一个国内的较为成功的SNS,在企业白领圈内普及的很成功,我的很多同事都只上开心网,同时,开心网赢得了不少女性网友的青睐,也是开心网成功的一大原因,我的好友数243

  其他

  Flickr - 社会化照片分享工具,可惜免费用户有两百张照片限制,好友数55

  豆瓣 - 读书、电影和音乐的社会化分享工具,书评和影评很多,好友数228

  我做这个统计的目的,是想看看这些社会化网络的发展速度到底如何,三个月后我再次统计这些网站的好友数目,那时候,通过对比这些服务的好友增长数目,就可以大致判断出这些网站的发展速度了。

2009年5月18日星期一

“软件应用开发商如何转型SaaS”在线研讨会

  IBM给我发来一封邮件,说IBM将在本周三主办一个“金融危机下软件应用开发商如何转型SaaS服务”在线研讨会,邀请了计世资讯和用友伟库网的专家共同分享运营SaaS的成功经验,时间约为一小时,可免费登记,在线参与。以下是IBM发来的邮件全文,欢迎有兴趣的SaaS从业者参与这个在线交流会议。

  尊敬的先生/女士:

  软件即服务(SaaS)模式正在引领软件产业发生一场颠覆性的变革。

“软件应用开发商如何转型SaaS”在线研讨会

  过去,软件厂商把软件作为一次性产品进行销售,对于用户而言,增值服务却是IT投资的“黑洞”。而现在,软件业正在从传统的光盘套装、授权付费型,向在线托管、租赁使用、按需付费型转变,并为用户提供更佳的整体拥有成本(TCO)。因此,越快实现SaaS模式运营的软件应用开发商,就将越早占得未来发展的战略性先机。

  然而,SaaS所独有的互联网特性、多租户(Multi-tenancy)特性、服务特性等崭新特性为软件应用开发商带来了不小的困扰;软件架构的变化则对软件应用开发商的技术能力提出了巨大的挑战。

  作为全球信息技术和服务的先驱,IBM基于对SaaS蓬勃发展的理解与预见,构建了宏伟的蓝图,通过提供该服务所需的全部基础架构、集成平台的设计开发、所有软硬件及中间件投入,以及后期的运营维护,IBM将与软件应用开发商进行合作,并致力于解决软件应用开发商在架构SaaS平台中可能出现的问题,并帮助他们在技术、市场等方面进行提升与优化。

  为此,IBM主办的“金融危机下软件应用开发商如何转型SaaS服务”在线研讨会即将于2009年5月20日精彩上演。期待与您共同分享基于SaaS的崭新成就!

  在会议中,IBM邀请到计世资讯副总经理曹开彬先生为您分享SaaS的应用现状及发展趋势研究,用友伟库网也会与您分享运营SaaS的成功经验,帮助您进一步深入认识和了解部署SAAS的重要性以及如何成功运营SaaS.

  活动日期:

  2009年5月20日(周三) 14:00-15:00

  活动议程:

  SaaS的应用现状及发展趋势研究 —— 曹开彬 计世资讯副总经理

  IBM助力应用开发商构建SaaS —— 周琦 IBM应用开发商合作部经理

  伟库网运营SaaS的成功经验分享 —— 蒋蜀革 用友集团副总裁

  参会方式:免费登记, 在线参加

  在线研讨会参加步骤:

  1. 注 册:

  请于5月19日前完成注册登记

  2. 注册确认:

  注册完成后,系统会给您发送的包括此次活动的网址及密码的确认信,请注意查收。

  3. 登 陆:

  请提前15 - 20分钟登陆活动网址。

  4. 设 备:

  您只需一台可上网的电脑, 一副耳麦。

2009年5月17日星期日

使用PHP调用TinyURL API的方法

  TinyURL是一个缩短网址的Web服务,可以把很长的网址变成简单的地址,通常创建TinyURL的方法是去其主页创建,有时候会有用户在客户端自动生成TinyURL的情况,这里介绍一个通过PHP调用TinyURL生成缩短地址的方法。

  TinyURL API的PHP函数如下

<?php
function TinyURL($u){
return file_get_contents('http://tinyurl.com/api-create.php?url='.$u);
}
?>

  调用的例子是

<?php
$url = 'http://www.williamlong.info/';
$tiny = TinyURL($url);
echo('The TinyURL of "'.$url.'" is "'.$tiny.'"');
die();
?>

2009年5月16日星期六

润乾报表的使用技巧

  润乾报表软件是一个常用的Java报表工具,使用较为简单,可以轻松制作出各种各样的报表,是一个不错的Web报表工具,下面是我分享的一些使用润乾报表工具所总结的经验和技巧,供其他润乾报表的使用者参考。

  1、按照千元单位显示

  点单元格属性-显示值-表达式,将数值修改为if(value()!=0,value()/1000,0),这样,可以在数据数值不变的情况下将数值按照千元方式显示。

  2、单行颜色改变

  如果某几行数值为“小计”、“合计”等数值,需要将其背景颜色改变,假设第一列是A5,则点单元格属性-字体-背景色,将其数值修改为if (A5 like '*计*',-592192,-1),这样“小计”、“合计”行的颜色就会变化,而其他行颜色不变。

  3、按参数隐藏列

  在报表参数中,传入某个数值后,将某一列或几列隐藏,例如当报表日期大于2009年1月1日,则隐藏几列,可以选择该列,在右边的属性中,找到“是否可见”,在表达式中填写if(@reportdate>"20090101",false,true),即可按照输入参数隐藏列。

  4、报表固定表头

  报表在WEB页面输出的时候,需要设置横向、纵向滚动条来固定报表表头,选中需要固定的行或者列,点属性,将其所属区域设置为“表头区”,就可以固定表头。

  以上是我使用过程中总结的一些技巧,另外,润乾报表中提供了很多详细的帮助文档和实例,也很方便简单,易于学习。

2009年5月15日星期五

数据库查询的分页优化技巧

  分页浏览功能是常见的Web应用功能,对于MySQL数据库来说可以很轻松的使用limit语句实现分页,而对于SQL Server数据库来说,常见的方法是使用数据集本身的游标实现分页,这种方法对于少量数据来说没什么问题,但是对于稍大一点的数据量,例如几十万条数据,则查询速度会降低很多,这里我介绍一种常用的技巧,只要简单的重新构造一下查询SQL语句,就能大幅提高查询性能的方法。

  在分页算法中,影响查询速度的关键因素在于返回数据集的大小,我们先在数据表中设置一个名为id的主键,数值为自增量的整数,然后通过重构查询SQL语句,就可以实现SQL查询的优化,重构的SQL如下所示

 

select top 页大小 *
from table1
where id<=
      (select min (id) from
      (select top ((页码-1)*页大小) id from table1 order by id desc) as T
       )   
order by id desc

 

  下面的JSP演示代码中,intPageSize为页大小,intPage为页码,id为主键,演示了操作一个t_Product表,并加入各类查询条件之后的重构SQL的主要语句,经过实际调试,经过这样简单优化后的SQL查询速度远远高于优化前的查询速度。

 

String sql=" from t_Product where 1=1 and ";
String ProductName = request.getParameter("ProductName");
if (ProductName!=null) sql=sql+"ProductName like '%" + ProductName + "%' and " ;
sql=sql.substring(0,sql.length()-4);  // 去掉尾部的 and 字符串
sql="select top " + String.valueOf(intPageSize) + " *" +sql+" and id <=(select min(id) from (select top " +  String.valueOf(intPage*intPageSize) + " id " + sql + " order by id desc) as T) "; //通过子查询加快速度
sql=sql+" order by id desc ";
 

 

2009年5月13日星期三

社交网站与成人网站的零和游戏

  SNS(Social Networking Services、社会化网络服务,简称“社交网络”)在过去两年间掀起了一轮轮的高潮,发展速度惊人,用户快速增长。值得注意的一个事件是,去年Google统计美国的“Facebook”搜索量已经超过了“Sex”的搜索量,这从另一个方面表明,社交网站已经逐步替代了成人网站,成为美国用户最喜欢上的网站,同时也成为美国企业和学校最痛恨的网站

  在美国,社交网站和成人网站是一个零和游戏,存在着一种规律,当一个访问量增大的时候,另一个就会降低。在2006年,社交网站开始崛起的时候,也正是成人网站衰落的时刻。因为年轻人喜欢用社交网站这种新形式来寻找异性,而成人网站则显得过时且缺乏互动。

  中国其实也是一样的道理,虽然中国没有大型的成人网站,却很早就发展出了一个大型的社交网络。很多人可能并没有意识到腾讯QQ就是一个庞大的社交网络,中国的年轻人同样也沉迷于在QQ上和异性朋友的交流,毕竟青少年学生和孩子的自我控制能力较弱,在沉迷社交网络后,往往将大量的时间都投入到了社交网络上,荒废了时间和学业。

  当前国内的SNS网站普遍不太注重“交友”,而是主要通过网页游戏来获得用户量的增加,这条道路仅仅只是SNS初期发展的权宜之计,后期国内的SNS发展很可能加大异性交友的功能,增强用户之间的交互性,开辟聊天室,甚至推出婚介等形式的平台。

  不过,中国的社交网络同样是一个零和游戏,最终的成功者只有一个。只要腾讯QQ还在继续向前发展,所有其他的SNS网站、微博客网站等社交网络都很难实现类似Facebook和Twitter在美国的辉煌成就。

  以上内容是读比尔·唐瑟尔的《在线为王》的杂感。

  名词解释:“零和游戏”

  “零和游戏”是指:在一项游戏中,游戏者有输有赢,一方所赢正是另一方所输,游戏的总成绩永远为零。