Firebug API

2009年2月23日 – 16:56 | by Xiacong

用Firefox加载的页面,Firebug都添加了一个全局变量console,通过这个变量的若干方法,你可以通过脚本向控制台输出各种调试信息。

console.log(object[, object, ...])
往控制台写一条信息,可以有多个参数,甚至可以像printf那样格式化出去,例如

console.log(”The %s jumped over %d tall buildings”, animal, count);
或者这样:

console.log(”The”, animal, “jumped over”, count, “tall buildings”);
console.log(”I am %s and I have:”, myName, thing1, thing2, thing3);
下面是格式化参数表:
String Substitution Patterns
%s String
%d, %i Integer (numeric formatting is not yet supported)
%f Floating point number (numeric formatting is not yet supported)
%o Object hyperlink
console.debug(object[, object, ...])
向控制台输出一条信息,同时包含了跳往调用行的链接

console.info(object[, object, ...])
向控制台输出一条信息,前面显示“信息”图标,同样包含了跳往调用行的链接

console.warn(object[, object, ...])
向控制台输出一条信息,前面显示“警告”图标,同样包含了跳往调用行的链接

console.error(object[, object, ...])
向控制台输出一条信息,前面显示“错误”图标,同样包含了跳往调用行的链接

console.assert(expression[, object, ...])
校验是否符合表达式,如果不符合,将向控制台输出错误信息,并且抛出异常

console.dir(object)
输出对象的所有属性,可以在DOM标签中看到详细信息

console.dirxml(node)
输出HTML或XML元素的XML代码树,可以再HTML中查看详细的情况

console.trace()
Prints an interactive stack trace of JavaScript execution at the point where it is called.

The stack trace details the functions on the stack, as well as the values that were passed as arguments to each function. You can click each function to take you to its source in the Script tab, and click each argument value to inspect it in the DOM or HTML tabs.

console.group(object[, object, ...])
分组输出,和console.groupEnd()配合使用,知道下一个console.groupEnd()出现,就闭合分组

console.groupEnd()
和console.group()配合使用

console.time(name)
创建一个定时器,知道调用console.time(name),才停止该定时器计时

console.timeEnd(name)
和console.time(name)配合使用

console.profile([title])
Turns on the JavaScript profiler. The optional argument title would contain the text to be printed in the header of the profile report

console.profileEnd()
Turns off the JavaScript profiler and prints its report

console.count([title])
 计数器,每执行一次,该title的值就累加1

在网页中加载特殊字体

2009年2月20日 – 13:00 | by Xiacong

@font-face{
     font-family:方正少儿简体;
     font-style:normal;
     src:url(../dis_fun/line.ttf);
}

@font-face{font-family:name;src:url(url);sRules}

取值:
name:字体名称。任何可能的 font-family 属性的值
url(url):使用绝对或相对 url 地址指定OpenType字体文件
sRules:样式表定义

[转]到底有多少面向BI的数据库

2009年2月19日 – 14:24 | by Xiacong

原文:http://www.gemini5201314.net/?p=170

BI作为一个方兴未艾的领域, 在我们还没来得及数清到底有多少BI 工具提供商的时候, 大大小小的专门面向BI的数据仓库解决方案已经进入竞争激烈的市场, 其中不乏传统的数据库大鳄,更有不少新兴的创业公司,当然也少不了开源数据库厂商的参与.

除开传统的商业智能方面数据库四大天王:teradata , oracle,ibm, microsoft 之外, 也有不少后期之秀不断挑战,像是我们熟知的”以列为导向的”Sybase IQ . 除开我们众所周知的明星之外, 下面介绍一些大家不太熟悉的有潜力的挑战者, 让我们开始这场选秀活动吧(Rock and Roll) :!

我们看到最接近Sybase IQ 的Netezza 公司是非常有实力的挑战者之一 , 它的主要特点就是面向商业智能并且专注于商业智能领域的应用,其主要产品为Netezza Performance Server系列数据仓库专用设备,为了能够分析商业数据,其数据仓库专用设备中整合了数据库、服务器和存储等各项功能, 你可能对这家公司不太熟悉,但是这家成立于2000年的公司早已经是中高端市场的老大了, 早已经是混的风声水起,即使是Oracle Open World 大会上,oracle 与hp 推出了硬件和软件组合的两款Exadata Programmable Storage Server 和HP Oracle Database Machine , Netezza 一样毫不含糊, 立刻展开针对这个组合的宣传,Netezza is fast, Netezza has more processing power, Netezza handles analytics inside the box,netezza is integrated in one box,from one vendor, netezza needs no tunning or indexing, 甚至打出了连圣诞老人都想要netazza 的广告, 专门针对oracle 销售策略,俨然一副我是老大,就算你是oracle 和hp 跟我抢食也要看你有几分斤两.

公司网址:http://www.netezza.com/

 

Greenplum 也是非常耀眼的新星之一 , 其首要目标就是直指PB 级别的超大型数据仓库, 其shared-nothing 的架构更是不像Teradata 和netezza 一样需要专属高端硬件配合, 任何Intel , AMD 芯片的普通服务器都能很容易的搭建集群环境, SQL Parallel Process + MapReduce 技术优势更是其宣传的最大卖点,Teredata 共有5家客户达到PB 级别,其中ebay 和walmart 的级别更是2PB 和 1.1 PB , Greenplum 这个运行在普通PC Server 上通过集群的高性能数据库相信在不久的将来也会很快有真正的PB 级别的案例产生. 在获得Sun ,SAP 等公司的风投后共获得4200万美元资金,更在中国建立合作伙伴关系开发国内市场,SUN 更是直言不讳的想通过Greenplum 的优势杀入商业智能市场,带动其服务器,储存和Solaris 的销售, 国内的淘宝团队也开始考虑使用greenplum + hadoop 的技术构建商业智能平台, 它不仅支持SQL、MapReduce、R、Pythons 等编程语言,新的3.2 功能还增加了GUI , 性能管理器的功能. 如果你嫌Teredata 和 Oracle RAC 太昂贵的话, Greenplum 一定在你构建超大型数据仓库的考虑范围之内. 注意它虽然构建在Postgresql 之上,但是数据库本身是闭源的商业产品, 因为Postgresql 是BSD license 的.

首页: http://www.greenplum.com

http://rdc.taobao.com/blog/dw/archives/category/greenplum

淘宝的一些greenplum 研究.

 

DATAllegro  是一家已经被microsoft 收购的公司,为了补充SQL Server 在商业智能方面的应用. 它同时也提供专属的硬件,microsoft 收购之后已经着手进行整合,产品的最终版本可能要到2010年上半年才能面世. 数据库的规模大概在百T左右.

http://www.datallegro.com/

 

Kognitio是一家提供数据仓库主机托管解决方案提供商(APS),第一次进入Gartner , 主要市场针对UK.

http://www.kognitio.com

 

Sand Technology 是一家加拿大的公司,主要市场在UK,Germany , US. 也是基于列的数据库, 主要强调用廉价的低速磁盘获得可接受的查询性能.

http://www.sand.com/

http://www.dbms2.com/2008/12/16/introduction-to-sand-technology/

 

除了能够上Garnter 的一些厂商之外,还有很多商业产品都各自有其技术优势: 像是Clearpace   比较强调数据归档和压缩,查询性能也能够与Oracle 匹敌(当然没有Netezza 那么肯定的强调) .

还有vertica , 也是强调基于列和网格的数据库,也能进行高性能的分析查询.运行于普通的硬件上,大客户包括JP Morgan Chase 等,Vmware 上还有一个装好的vertica analytic database 虚拟机给你玩, 它的ETL 性能测试还刷新的新的ETL记录,一小时转载了5.4TB 的数据.

http://www.vmware.com/appliances/directory/1266

vmware 虚拟机的下载地址.

 

kickfire 一家基于mysql 数据库,但是面向商业智能的基于列的数据库提供商.

还有太多就不一一列举了

http://www.paraccel.com

http://db.cs.yale.edu/hstore/

http://www.asterdata.com

http://www.exasol.com/

http://pyrrhodb.msroot.paisley.ac.uk/org/

每个都是各有强调重点, 技术特长不一.

 

就像OLTP 数据库中众多的厂商也没有阻止开源数据库的脚步,data warehouse 数据库中自然也不乏开源的身影.

比较有名的像是Infobright (http://www.infobright.org) , 这是一个基于mysql 的储存引擎, 同样也是基于列计算, 其最大的宣传重点在于高压缩比率和知识网络, 宣传的压缩比率经常在10:1 – 40:1 之间, 其知识网格技术可以不使用索引也能够进行高效率的查询运算.另外还有高速的数据装载工具, 当然还有一些技术上的限制比如缺乏国际支持, 并发性不高, 不能利用多核,没得到Windows或Solaris支持,没有ALTER TABLE有关的支持等, 详情可以查看

http://tech.it168.com/a2008/1024/209/000000209206.shtml

 

Bizgres(http://bizgres.org) , 是一个多厂商合作的,主要由greenplum 领导,基于postgresql 的商业智能数据库, 它最大的强调重点就是和其他开源的商业智能工具和平台提供商有很好的合作,像是JasperSoft reporting tools 和Kinetic Networks ETL tools

 

enterprisedb (http://www.enterprisedb.com) , 在基于postgresql 的基础上构建了OLTP 的数据库,主要走商业路线, 在商业智能领域则是另外一款产品grid sql , 或者说postgresql plus , 听名字就知道强调网格计算, 使运行在普通PC Server 上的数据库可以轻松进行并行计算完成复杂查询,再加上postgresql 本来就有的不少高级特性(物化视图,bitmap index 和分区) , 使得在中小型数据仓库中也值得一试.

 

MonetDB (http://monetdb.cwi.nl/) , 强调其在数据挖掘上的应用,OLAP , GIS, XML Query , 文本和多媒体查询. 有windows 和linux 两个版本, 如果你有特殊的商业智能应用,或者科研机构之类的可以研究一下.

 

LucidDB (http://www.luciddb.org/) 将是今天最后一个介绍的数据库, 它强调自己是第一个也是唯一一个只为数据仓库目的建造的数据库,同样也有 列储存,bitmap indexing , hash join/aggregation 等常见数据仓库技术, 新版中强调在线热备份和基于时间点的快照功能, 另外一个最大的特色就是和开源的商业智能厂商之间有很好的合作, 像是开源ETL工具中的kettle 和talend 都有其插件帮助装载数据, 还有pentaho 最有名的产品,开源OLAP 中的实际标准mondrian 的支持:automatic Mondrian aggregate table designer add-on 和Mondrian source replication . (注: mondrian aggregate 是pentaho 2.0 新功能之一, 查看我写的pentaho 2.0 新功能一览(http://www.gemini5201314.net/?p=108) )

它同时是Eigenbase 项目的一部分,主要也是强调商业智能和数据仓库这一块的一个项目,和一个商业的中间件sqlstream 可以很好的组合( stream processing ,the SQLstream continuous query engine , 实现实时数据仓库的一个中间件,主要做CDC change data capture, mondrian 的主开发者很喜欢这个东西, 他已经写了两篇介绍这个玩意

http://julianhyde.blogspot.com/2008/12/streaming-analytics-over-content-feeds.html

http://julianhyde.blogspot.com/2008/12/streaming-content-feeds-part-2-forging.html

Apache+PHP产生Segmentation Fault(11)错误

2009年2月19日 – 10:30 | by Xiacong

最近升级APACHE+PHP,升级完成之后发现网站经常访问不了,上网查了一下原因,好像是Freebsd与Zend Optimizer的兼容性导致php崩溃!

Zend Optimizer好久没有更新了!至今也只是停留在支持FB6!自从FreeBSD 7问世以来,就遇到过不少问题!

解决方法如下:

禁用 optimizer pass 1

具体是修改 php.ini , [Zend] 下设置
zend_optimizer.optimization_level=510

php -i 显示

Zend Optimizer
Optimization Pass 1 => disabled
Optimization Pass 2 => enabled
Optimization Pass 3 => enabled
Optimization Pass 4 => enabled
Optimization Pass 9 => enabled

FreeBSD 7.1 正式版发布

2009年1月5日 – 10:44 | by Xiacong

习惯了跳票的FreeBSD终于发布了7.1R版本!不过这次拖的时间够长,我还以为会在2月跟8系列版本一起发布,呵呵,从预期去年10月到今年1月才发布,呵呵,看来原定于2月的8系列版本也要延后了~~

7.1这个版本主要就是修正了一些安全漏洞和bug,并且支持了一些新驱动和一些软件包的升级。

详细改进说明:http://www.freebsd.org/releases/7.1R/relnotes.html

四年

2008年12月31日 – 17:42 | by Xiacong

2004年的最后一天,拿到了现在公司的Offer,至今,整整四年!

相当于又读了一个本科,惊恐时间飞逝之快!

今年的毕业生好像很难找到工作,希望只是暂时的,希望明年经济好转,大家都有好生活!

[转]预防 HTTP Trace 跨站攻击

2008年11月20日 – 14:16 | by Xiacong

原文:http://www.xuchao.cn/security/anti_cross_site_tracing_attack.html

如果一台 Web Server 支持 Trace 和 / 或 Track 方式,那么它一定存在跨站脚本漏洞,将有可能受到跨站攻击。 Trace 和 Track 是用来调试 Web 服务器连接的 HTTP 方式。

我们通常在描述各种浏览器缺陷的时候,把“Cross-Site-Tracing”(跨站攻击)简称为 XST。

攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。

解决方案:禁用 Trace 和 / 或 Track 方式。

针对 Apache,可以借助 mod_rewrite 模块来禁止 HTTP Trace 请求。只要在各虚拟主机的配置文件里添加如下语句:

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
补充其他 Web Server 的解决方案:

1、Microsoft IIS

使用 URLScan 工具禁用 HTTP Trace 请求,或者只开放满足站点需求和策略的方式。

2、Sun ONE Web Server releases 6.0 SP2 或者更高的版本:

在 obj.conf 文件的默认 object section 里添加下面的语句:

<Client method=”TRACE”>
AuthTrans fn=”set-variable”
remove-headers=”transfer-encoding”
set-headers=”content-length: -1″
error=”501″
</Client>
3、Sun ONE Web Server releases 6.0 SP2 或者更低的版本:

编译如下地址的 NSAPI 插件:
http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603

更多信息可以查看以下资料:
http://www.whitehatsec.com/press_releases/WH-PR-20030120.pdf
http://archives.neohapsis.com/archives/vulnwatch/2003-q1/0035.html
http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603
http://www.kb.cert.org/vuls/id/867593

UNIX历史

2008年10月14日 – 14:39 | by Xiacong
很经典的一张图:
UNIX HISTORY

UNIX HISTORY

看看Unix大家庭成员:

解决phpMyAdmin 3.0.0中文乱码问题

2008年9月26日 – 17:09 | by Xiacong

phpMyAdmin 3.0.0 做了相当大的改进,不再支持Mysql 4.X了,必须运行在PHP5.2.0及以上版本,Mysql必须是5.0及以上版本!

特别是支持MySQL 5.1分区、Maria表等,很不错!

phpMyAdmin 3.0.0在语言的支持方面还是不错的,如果你默认安装的Mysql数据库用的不是UTF8格式,中文的显示方面还是会出现乱码,解决方法跟phpMyAdmin 2.X.X不太一样,需要做几步的处理,详细如下:

1、修改libraries目录下的select_lang.lib.php文件,找到PMA_langList()函数,在数组的最后加上一段:

‘zh-gbk’    => array(’zh|chinese simplified’, ‘chinese_simplified-gbk’, ‘zh’, ‘&#20013;&#25991;-GBK’)

如下图所示:

2、返回根目录,然后转到lang目录,打开chinese_simplified-utf-8.inc.php文件,找到$charset = ‘utf-8′并将其改为:$charset = ‘gbk’、此处需要特别注意,由于chinese_simplified-utf-8.inc.php是UTF8格式,不要直接另存为,而是新建一个ANSI格式的文本(用记事本即可),然后COPY chinese_simplified-utf-8.inc.php中的代码到新建文件,最后保存为chinese_simplified-gbk.inc.php

3、在登录是选择中文GBK,然后选择相应的数据库MySQL 连接校对编码,这样就不会出现乱码了!

Chrome!

2008年9月2日 – 21:50 | by Xiacong

Google终于推出了浏览器,Chrome!
官网:http://www.google.com/chrome 或 http://gears.google.com/chrome

预计北京时间9月3日凌晨2点即可下载,特性如下:

+ Google Chrome将基于和Safari相同的开源浏览器引擎Webkit开发,并将合成Google Gears;
+ Google Chrome将内置独立的JavaScript虚拟机V8来提高浏览器运行JavaScript的速度;
+ Google Chrome的网页标签将位于程序窗口的外沿,而不是网页内容的边缘;
+ Google Chrome的地址栏叫“omnibox”,支持输入自动补全功能;
+ Google Chrome将包含类似新版Opera的首页功能,包含最常访问的9个页面截图以及最新的搜索、书签和最近关闭的标签;
+ Google Chrome支持私密浏览方式,可以打开一个私密窗口“incognito”,在这个窗口中的所有操作都不会记录在计算机中;
+ Google Chrome允许网络应用在一个没有地址栏和工具栏的窗口中运行;
+ Google Chrome会不断的下载有害网站列表来防止恶意网站和网络欺诈对使用者的侵害;

期待ing…