小题大做

tommy's blog

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  93篇文章 :: 0篇收藏:: 28篇评论:: 5个Trackbacks

文章

收藏

相册

发展方向思考

好友链接

存档


正在读取评论……


2005年11月



    摘要:

mysql 5.0发布,views,stored procedure,trigger,UDF还有很多……

要抓紧时间好好的学习这些新feature了,太棒了!

    (全文共106字)——点击此处阅读全文



Tommy: 我刚写的一篇文章,希望有幸得到大名鼎鼎的keso的指点,呵呵
http://blog.donews.com/hackerstar/archive/2005/11/22/635487.aspx
keso.hb: 这个比喻不够恰当
2.0和3.0之间,很难说
Tommy: 哈哈,知道你会这么说
keso.hb: 因为没有什么能说明3.0将会怎样
Tommy: 我一直觉得web2.0本质上其实就是p2p的精神。这个p2p不是技术层面上
我另1篇文章里有说
keso.hb: 没错,BitTorrent是web2.0的代表
Tommy: 我说的3.0,sp已经仅仅提供用户的使用服务的规则,例如只需要提供一个客户端,所有规则(包括认证,传输网络协议这些)都包含在这个客户端中,对用户是透明的。
用户本地机器实际上已经充当了一个web server的角色
keso.hb: 用户并不真的在乎服务商的角色,只要用户觉得他自己做自己喜欢的事
Tommy: 硬件的发展让PC的性能达到server的性能是非常有可能的
对的,
但是你不觉得如果所有内容都可以在本地,组织和控制不可以更方便吗?
keso.hb: 这是可能的,但数据的集中存放还是很重要,否则数据和数据之间建立关系就会很复杂。比如网页索引,必须有一个公司来做
Tommy: 比如,我是一个播客,我可以随时更换 的节目单,改变播放调度。这一切在本地通过熟悉的OS 或桌面软件来做,应该方便的多
你说的没有错,
所以说,我觉得以后运营商要存储的数据不在是内容本身,而是规则
keso.hb: 没错啊,Google索引了什么内容不重要,怎么呈现这些索引的内容更重要
Tommy: 是用来维系整个p2p网络社会正常运作下去 规则。好象现实社会的法律,呵呵
keso.hb: 本来就是这样啊
Tommy: 恩,不过还是不太一样,你说的索引其实也属于内容本身的数据范畴
keso.hb: 索引是针对数据的一种算法
Tommy: 一个好的p2p应用可以完全把这些放在用户 机器上,当然不是一台,可以想DHT那样,分布在多台。
让运营成本降低到最低
keso.hb: 即使是网格,也需要计算能力超强的核心服务器
网络越大,整合的难度就越大
Tommy: 呵呵,不久我就可以证明给你看
keso.hb: 你可以用某些应用来证明,但不可能用所有的互联网服务来证明
Tommy: p2p运营商完全可以不做内容,内容找内容提供商合作,或者让用户自己生产
keso.hb: Google就没做内容
Tommy: 对的,你说的很对
keso.hb: 比如电影下载,的确,已经是典型的P2P应用了,不需要等到3.0
Tommy: 不管2.0也好,3.0也好,1.0终究死不掉
就象现实社会有第一产业,第2产业,和第3产业
哪个都不可能消失,但是社会越发展,第3产业越发达,
这个是个不争的事实,
其实我就是这个意思,呵呵
keso.hb: 没错啊,你觉得Google不是在做服务吗?
Tommy: 是的,google很可能一直是⒉ 0,3.0的领军者。他们非常有创新意识,有这点就好
我也是个google fans



想了这么一个例子,觉得还是比较形象的表达出我对webx.0的看法。

  运营商 用户 场景
 web1.0: 演讲人  台下听众 一场演说或讲座
 web2.0:  主持人和举办方  预备上台的选手 一场官方举办竞赛
 web3.0:  维持现场秩序的保安人员 可以随意相互交流的参与者 一次自发组织的茶话会

演讲人和听众,完全是一个主动,一个被动关系,一个提供内容,一个接受内容;

主持人和举办方提供了节目的场地和组织,而选手都是表演者,他们提供了丰富精彩的内容,他们可以决定想要表演什么,所以已经不再处于一个完全被动的状态;

茶话会中的参与者,拥有整个活动最大的权力,他们可以决定活动的内容,组织、进行方式,只要整个活动不是违法的,是正常进行的,现场的保安人员就无事可做。

我想最后一种拥有最大主动权的服务体验,应该才是web应用的发展趋势,也是用户所要追求的。真正到web3.0到来的时候,我想那些p2p运营商应该充当保安角色就够了。真正的p2p是person to person。

web服务提供商应该多在“放”上做文章,而不是一味的要“收”。





    摘要:

设想一下如何设计一个全球的论坛系统:可以让中文和日文的用户都可以方便的浏览发表呢?在数据中间处理阶段应该以那种字符集存储呢?答案很简单:UniCode。以前很多文章都有关于如何设计一个国际化界面的介绍,只是应用的本地化界面输出,但很少提及数据在中间处理过程中如何适应国际化。

输入和存储阶段就用UniCode方式进行处理和存储,以方便应用以后的国际化。GOOGLE的设计就是一个非常好的国际化应用榜样,我以GOOGLE搜索引擎的国际化支持为例说明如何实现国际化应用的设计。
GOOGLE用户经常有这样的感觉:
  1. 为什么我第一次去GOOGLE,出现的就是中文的界面?
  2. 为什么在所有网站中查中文:有时候还会匹配到日文网站的结果?比如:就以"google 秘密"这个查询为例:我们在输入框输入"google 秘密"
    此处阅读全文




    摘要:节点匹配路径Xpath

    在利用XSL进行转换的过程中,匹配的概念非常重要。在模板声明语句xsl:template match = ""和模板应用语句xsl:apply-templates select = ""中,用引号括起来的部分必须能够精确地定位节点。具体的定位方法则在XPath中给出。

 

 

   另外,也可以使用Xpath对XML文档进行搜索、定位。

 

 

之所以要引入XPath的概念,目的就    (全文共18796字)——点击此处阅读全文





    摘要:

最后的解决方案:用regex 发现数据源字符集,如果PHP自己不能解决就在解析前用mb_convert_encoding将其转换成UTF-8,然后按UTF-8解析,但是解析不了的可能性还是非常高的。我试了一下代码:

$rx = '/<?xml.*encoding=['"](.*?)['"].*?>/m';

if (preg_match($rx, $source, $m)) {
$encoding = strtoupper($m[1]);
} else {
$encoding = "UTF-8";
}

if($encoding == "UTF-8" || $encoding == "US-ASCII” || $encoding == "ISO-8859-1") {
$parser = xml_parser_create($encoding);
} else {

if(func    (全文共1064字)——点击此处阅读全文




<?php

$headers = getallheaders();
while (list($header, $value) = each($headers)) {
echo "$header: $value<br>\n";
}

?>





    摘要:

XML-RPC with the Incutio PHP Library: A Beginner's Guide

XMP-RPC stands for XML Remote Procedure Calling. It is a protocol for making and receiving procedure calls over the internet.
What this means is that different computers can use XML-RPC to "ask each other questions". Using XML-RPC is just like making a function call in PHP, only the computer that executes the function could be thousands of miles away.
With the Incutio XML-RPC Library, making and r    (全文共2772字)——点击此处阅读全文




    摘要:
实现一个无刷新的基于ajax的简易聊天室
实现一个基于ajax的简易聊天室
1 程序主页面
<html>
<head>
<title>在线交流对话</title>
<META http-equiv=Content-Language content=zh-cn>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<?php
include_once("serv    (全文共5562字)——点击此处阅读全文




    摘要:

XAJAX资料

如何在PHP脚本里使用xajax?

一共有7个步骤:
  1. Include xajax的类库:
require_once("xajax.inc.php");
  1. 实例化xajax 对象:
$xajax = new xajax();
  1. 注册你想通过xajax调用的php函数名:
$xajax->registerFunction("myFunction");
  1. 编写注册过的PHP函数,使用xajaxResponse对象来返回由它们产生的XML:
 function myFunction($arg)
 {此处阅读全文




    摘要:[PHP AJAX] 簡單比較 xajax、AJASON、flxAJAX、AjaxAC
PHP AJAX 除了廣為人知的 SAJAXJPSPAN (原名為ScriptServer) 之外,Sourceforge 近期可下載的 PHP AJAX 又多了 xajaxAJASONflxAJAX此处阅读全文




    摘要:

用PHP将整个网站生成HTML

网上经常会有人问怎么将整个动态的网站静态化,其实方法很简单。

<?php
//在你的开始处加入 ob_start(); 
此处阅读全文




    摘要:利用PEAR解析RSS文件
发布日期 2005-10-30 浏览次数 6
【字号 大 中 小】【打印】【关闭】

RSS是一种用于共享新闻和其他Web内容的数据交换规范,起源于网景通讯公司的推"Push"技术,将订户订阅的内容传送给他们的通讯协同格式(Protocol)。RSS可以是以下三个解释的其中一个:

Really Simple Syndication(真正简单的整合)
RDF (Resource Description Framework) Site Summary
Rich Site Summary(丰富站点摘要)
但其实这三个解释都是指同一种Syndication的技术。

目前RSS规范的主要版本有0.91、1.0和2.0。

0.91版和1.0版完全不同,风格不同,制定标准的人也不同。0.91版和2.0版一脉相承。1.0版更靠拢XML标准。

现在越来越多的站提供rss,用来共享信息及方便及时阅读,多是在blo    (全文共2431字)——点击此处阅读全文




    摘要:

Parsing XML With PHP

by Marc Robards
Last week, we presented a simple framework (named XMLCast) for distributing content to a variety of devices using XML. This application was built using Microsoft's Active Server Pages (ASP) technology but we realize that many of you aren't using ASP (we aren't either). Thi    (全文共9325字)——点击此处阅读全文




    摘要:开始使用PEARpear 使用PEAR很简单,你只需这样定义你自己的PEAR程序: requirepear{ 你的类定义... }     (全文共6543字)——点击此处阅读全文




    摘要:细看PEAR的错误处理br/>PEAR提供了强大的错误处理机制。这篇文章向你展示如何从这个系统中获益。许多程序已经使用了PEAR的包。许多PHP程序员或多或少的熟悉了PEAR中的错误处理。但是这个机制并不局限于PEAR的包——所有人都能在他们的类和程序中使用这些方法。这篇文章被分为两个部分:首先我们将看看类中用于错误处理的函数,然后我们将看看如何基于PEAR错误处理机制来处理错误。我们的例子类称为cvs2db,它把数据从CSV文件插入到数据库的表中。因为数据可能是手写的,他们的数据应该在插入之前先得到验证——落实postcode。函数import()完成读入,检查和插入的工作;它返回损坏的记录数目。如果返回的值大于0,出错的记录集能够使用exportUnvalid()写入到新的CSV文件中。典型的用法是这样的:<    (全文共13745字)——点击此处阅读全文




    摘要:
一种PHP设计模式:DPT

一、DPT介绍
PHP为什么在主流的应用中总是那么不出色,总是不如.Net/Java,就是因为在PHP处理大型应用的时候,那些不完整的面向对象机制、数据库处理的单一,不通用性等等,影响了PHP做大型应用。那么,如何来改变这个状况呢?当然就是需要引进一些新的设计方法,把PHP中不健全的面向对象机制完整起来,进行更好的PHP大中型应用的开发。
从Java过来的MVC模式非常流行,而且已经有部分已经引伸进了PHP领域,设计模式的引进,就是为了更好的控制项目开发。今天我要说一种设计模式,类似于MVC,它叫DPT模式。其实有时候我也觉得有点象Java里面的DAO(Data Access Object),不过DAO是夹在业务逻辑层和数据库资源层之间的,而DPT更多的是把业务逻辑也封装在类里    (全文共24563字)——点击此处阅读全文




    摘要:
两台Mysql数据库数据同步实现
做开发的时候要做Mysql的数据库同步,两台安装一样的系统,都是FreeBSD5.4,安装了Apache 2.0.55和PHP 4.4.0,Mysql的版本是4.1.15,都是目前最新的版本。

1. 安装配置
两台服务器,分别安装好Mysql,都安装在 /usr/local/mysql 目录下(安装步骤省略,请参考相关文档),两台服务器的IP分别是192.168.0.1和192.168.0.2,我们把192.168.0.1作为master数据库,把192.168.0.2作为slave服务器,我们采用单向同步的方式,就是master的数据是主的数据,然后slave主动去master哪儿同步数据回来。
两台服务器的配置一样,我们把关键的配置文件拷贝一下,默认的配置文件是在 /usr/local/m    (全文共5472字)——点击此处阅读全文