123
 123

2008-04-03 Thu

16:45 Andrew Aksyonoff does Sphinx Talk in Moscow (2748 Bytes) » MySQL Performance Blog

On his way to MySQL Users Conference Andrew will stop by in Moscow, Russia and give a talk about Sphinx current features, development plans, and deployment use cases.

Interesting enough the meeting will take place at Moscow State University, Computer Science Faculty - my “Alma Mater” in the same building and even same room which I used to study.

P.S Andrew will stay for some time in the SF Bay Area after MySQL Users Conference so if there is anyone who would like to meet Andrew in person let me know. Depending on number of people interested I would try to setup date and space.


Entry posted by peter | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks

16:32 ORA-7445(kkojnp)错误 (534 Bytes) » yangtingkun
查询alert文件,发现ORA-7445 [KKOJNP]错误,出错数据库版本为9204 for Linux X86-64。错误信息为:Errors in file /data/admin/testcen/udump/testcen_ora_14291.trc:ORA-07445: exception encountered: core dump [kkojnp()+11380] [SIGSEGV] [Address not mapped to object] [0x000000002] [] []出错SQL信息为:ORA-07445: exception encountered: core dump [kkojnp()+11380] [SIGSEGV] [Address not mapped to object] [0x000000002] [] []Current SQL statement for this session:SELECT /*+ FIRST_ROWS */ *FROM( SELECT ROWNUM RN...
16:32 ORA-7445(kkojnp)错误 (534 Bytes) » yangtingkun
查询alert文件,发现ORA-7445 [KKOJNP]错误,出错数据库版本为9204 for Linux X86-64。错误信息为:Errors in file /data/admin/testcen/udump/testcen_ora_14291.trc:ORA-07445: exception encountered: core dump [kkojnp()+11380] [SIGSEGV] [Address not mapped to object] [0x000000002] [] []出错SQL信息为:ORA-07445: exception encountered: core dump [kkojnp()+11380] [SIGSEGV] [Address not mapped to object] [0x000000002] [] []Current SQL statement for this session:SELECT /*+ FIRST_ROWS */ *FROM( SELECT ROWNUM RN...
09:52 Measuring Disk I/O-Oracles ORION Tool (198 Bytes) » DBASupport
Oracles ORION workload tool enables architects to effectively develop a workload that can mimic and stress a storage array in the same manner as planned applications with an Oracle backend database.
09:21 How to populate content on a disconnected Red Hat Network Satellite server (11124 Bytes) » Red Hat Magazine

Note: This article assumes that you are already familiar with Red Hat® Network (RHN) Satellite server and its applications.

Introduction

Red Hat Network Satellite server allows users to locally host subscribed content from Red Hat Network and custom content in user-managed channels. An example configuration could include a server syncing content updates directly from RHN, while another mission-critical server could be disconnected from the external network, yet still receive updates via manual syncing. In the latter case, these offline servers must be manually updated regularly. Since content updates cannot be synced directly from rhn.redhat.com, RHN Satellite provides two options for our users:

1. Channel dump ISOs hosted on RHN, per Satellite release.

2. RHN-Satellite-Exporter tool running locally on a RHN Satellite server

To Illustrate this, consider the following setup:

ss_080403_RHN5-1Sat

Channel dumps

In purely disconnected environments, servers don’t have direct access to RHN to synchronize content. Channel dump media are the primary source for content updates in such cases. As a service to our disconnected RHN Satellite customers, Red Hat provides channel dump media with a base channel dump per channel, supplemented with an incremental dump for every release update. This content can either be sent to customers from Red Hat or downloaded from rhn.redhat.com.

RHN Satellite exporter

In an isolated Satellite environment, there is often a disconnected Satellite as well as a connected Satellite, as shown in the figure above. In this case, the user already has the updated content on their connected Satellite through Satellite-sync across the network. They don’t have to go to RHN to download channel dump ISOs and re-sync their disconnected satellites.

A tool called Satellite exporter extracts the content and generates its own local channel dumps. Exporter queries the connected Satellite database and exports all the content for a given channel from the database and file system on the Satellite server where the content resides. Content type supported includes channels, channel families, package metadata, RPMs, errata, kickstart files and kickstart trees.

For rhn-Satellite-exporter to work as expected, make sure that:

  • the Satellite is set up successfully, connected, and has updated content from RHN.
  • you have sufficient disk space to store the exported content.

Let’s work with an example to demonstrate how exporter can be utilized to its maximum potential.

I’m a Satellite administrator with two RHN Satellites. I choose one to be a connected server communicating with RHN and syncing content updates directly over the network. The other is a mission-critical server that I prefer to keep isolated—it is disconnected completely from the outside network for security reasons.

Exporting content from connected RHN Satellite

The goal as a Satellite Administrator is to keep the disconnected servers updated. To achieve this, you will make use of the connected Satellite server, which already has content synced from RHN.

First, find out what channel content is available for the connected server to pull down from the connected Satellite. List the channels available with the following command:

 [root@connected ~]#  rhn-satellite-exporter --list-channels --db=rhnsat/****@rhnsat
Channel List:
B = Base Channel
C = Child Channel 

B rhel-i386-server-5
C       rhel-i386-server-vt-5
C       rhn-tools-rhel-i386-server-5 

B rhel-i386-as-4
C       rhn-tools-rhel-4-as-i386

The example above gives all available channels on the connected server that are being synced from RHN. Lets choose to export rhel-i386-server-5 and its child channels, rhel-i386-server-vt-5 and rhn-tools-rhel-i386-server-5.

Now export the base channel content for the specified channels. Each content type is categorized and dumped as shown below. Multiple channels can be exported at the same time with multiple -c or –channel options. This combines all the channel data and dumps it under the directory specified.

If –end-date is not specified, it defaults to the current export date as end-date. The –db option directs the tool to access the source Satellite database to extract the requested content.

1. Create a directory for all the exported content:

   [root@connected ~]#  mkdir /tmp/dumps

2. Export base channel content:

   [root@connected ~]#  rhn-satellite-exporter --db=rhnsat/*****@rhnsat --dir=/tmp/dumps -c rhel-i386-server-5 -c rhel-i386-server-vt-5  -c rhn-tools-rhel-i386-server-5 --debug=5

Exporting incremental channel content (new in Satellite 5.1):

  [root@connected ~]#  rhn-satellite-exporter --db=rhnsat/*****@rhnsat --dir=/tmp/dumps/  --start-date=20071206000000   --end-date=20080206000000 -c rhel-i386-server-5 -c rhel-i386-server-vt-5  -c rhn-tools-rhel-i386-server-5 --debug=5 

So, from the given Satellite server, get all the content for channel rhel-i386-server-5 and its child channels and dumps it under the directory /tmp/dumps/. Content under the directory is dumped into different content types, like so:

[root@connected ~]# ls -l /tmp/dumps/total
drwxr-xr-x    2 root root 4096 Nov 11 02:30 arches
drwxr-xr-x    2 root root 4096 Nov 11 02:30 blacklists
drwxr-xr-x    2 root root 4096 Nov 11 02:30 channel_families
drwxr-xr-x    3 root root 4096 Nov 11 02:30 channels
drwxr-xr-x   12 root root 4096 Nov 11 02:47 errata
drwxr-xr-x    4 root root 4096 Nov 11 02:47 kickstart_files
drwxr-xr-x    2 root root 4096 Nov 11 02:47 kickstart_trees
drwxr-xr-x  102 root root 4096 Nov 11 02:44 packages
drwxr-xr-x  102 root root 4096 Nov 11 02:30 packages_short
drwxr-xr-x  102 root root 4096 Nov 11 02:31 rpms 

3. To exclude specific content types from the content dump, use –no- option. This is available for rpms, packages, errata, and kickstart trees. For example, if you want to exclude rpms from the rhel-i386-server-5 dump:

          [root@connected ~]# rhn-satellite-exporter  -c rhel-i386-server-5  --dir /tmp/dumps --no-rpms 

Packaging exported content (new in Satellite-5.1)

Once we have all the content exported to a directory, we have multiple ways to make this content accessible to our disconnected satellites. The most common method is to burn the exported content onto CD or DVD media and carry it to your remote disconnected Satellite servers. Exporter has options to package the content into ISOs suitable for burning on CD or DVD. This can be achieved using the –make-iso= option.

For CD ISOs:

[root@connected ~]# rhn-satellite-exporter --db=rhnsat/rhnsat@rhnsat --dir=/tmp/  --start-date=20060106000000   -c rhel-i386-server-5   --debug=5 --make-iso=cd

For DVD ISOs:

[root@connected ~]# rhn-satellite-exporter --db=rhnsat/rhnsat@rhnsat --dir=/tmp/  --start-date=20060106000000   -c rhel-i386-server-5  --debug=5 --make-iso=dvd

This should create a Satellite-isos/ directory under the –dir specified, dumping the ISOs into that directory along with MD5SUM manifest for all the ISOs.

[root@connected ~]# ls -ld /tmp/dumps/satellite-isos/*
-rw-r--r--  1 root root         63 Nov 15 16:46 /tmp/dumps/Satellite-isos/MD5SUM
-rw-r--r--  1 root root 656816128 Nov 15 16:43 /tmp/dumps/Satellite-isos/rhn-export-20071115.0-01.iso 

Now that we have the CD ISOs, burn them onto a CD:

[root@connected ~]# cdrecord -v -pad speed=1 dev=0,0,0  /tmp/dumps/satellite-isos/rhn-export-20071115.0-01.iso

This process of generating the channel content essentially remains the same for any channel and any amount of content. Its easy to setup a cron job to generate this content as frequently as it is needed.

Populating disconnected Satellite servers

We can now move the channel content created on the connected Satellite onto the disconnected server.

1. Create a mount point to mount the media:

[root@disconnected ~]# mkdir /mnt/dumps

2. Mount the content onto the disk:

[root@disconnected ~]# mount -t iso9660,udf  /dev/cdrom /mnt/dumps

3. Check to see if the mounted channel dumps have the correct content:

[root@disconnected ~]#  satellite-sync --mount-point=/mnt/dumps –list-channels 

4. Use Satellite-sync to point to the above mount point on disk and sync down the channel content from the dumps:

[root@disconnected ~]#  satellite-sync --mount-point=/mnt/dumps -c rhel-i386-server-5 

Satellite-sync may take some time to complete based on how much content is being synced. Once this step is finished, our disconnected Satellite is all set with the required updated content. Repeat this process as frequently as possible to keep the disconnected servers up-to-date.

Conclusion

This article gives an overview of the multiple ways to populate content on a disconnected RHN Satellite server. It demonstrates exporting content using rhn-Satellite-exporter, packaging content as ISO images, burning them to media, and populating disconnected satellites. Rhn-satellite-exporter is a very powerful tool with a diverse set of options that make content portability between Satellites simple and effective.

About the author

Pradeep Kilambi is a Software Engineer and RHCT/RHCE primarily working on RHN Satellite Client/Server Development. In his spare time, he’s also a dedicated Python hacker and open source advocate.

08:23 随笔 (1344 Bytes) » Think in 88
        最近各方面的事情都让人觉得心烦.工作上总有做不完的事情,数据仓库,开发测试库,产品库,我觉得我就是个杂家!虽然已经很努力了,但依然难以避免日复一日的加班,体力劳动.郁闷,连玩杀人游戏都没什么心情了.
   清明节,回家好好休整,重拾心情!
   今年一定要努力搞定AIX和存储!!!
        天下总是合久必分,分久必合!老大已经去集团了,想起一年多前面试的场景,历历在目.祝愿道夫在集团有更好得发展.
   昨晚和sky聊天,sky说到,我们这批人再怎么努力,也许技术上可以达到biti等第一批玩oracle的人的高度,但影响力永远都超越不了了.深以为然!忽然之间,不知道自己路在何方.莫名得伤感.
   
   
07:36 我是这样做一个很贵的柜子 (1772 Bytes) » 柔嘉维则@life.oracle.eng
要做一个柜子,没想到不仅花了一大把钱,还浪费了一大把钱。
施工队长带我去买木板,他说,柜子刷什么颜色,清水or混水
不知道,没想好
混水,面板买普通的就行了,清水,要买好的,普通的不能刷清水
那好的能刷成白色嘛
可以是可以,但是浪费了
那......买好的吧
 
于是买了柚木贴面板。
后来木工师傅叫我去买封边线。那个封边线是个什么东西呀,这么贵,动不动100米,柚木封边线的价钱是普通的3倍。促销员说,啊,你买了柚木贴面板,用来刷白色!你干嘛不买普通面板,便宜一半呢。于是为了不浪费那些很贵的柚木贴面板,我买了柚木封边线。
 
可是回家想想,我还是不喜欢木头颜色。买了贵的材料,又刷成不喜欢的颜色,损失更大。如果能刷成灰紫色,就刷刷算了。我看了迪信和美迪的熏衣草系列,以后家具用这个。就这样白白浪费了2000块。
我想,我相信,柚木的材料好......
 
教训啊教训,同学们,做柜子之前一定要想好刷什么颜色。
07:25 浪潮之巅第八章 没落的贵族—摩托罗拉(三) (8299 Bytes) » Fenng's shared items in Google Reader
发表者:Google(谷歌)研究员 吴军

1. 二战的品牌

2. 黄金时代

3. 基因决定定理

作为移动通信的领导者,摩托罗拉自然地垄断了第一代移动通信市场。第一代移动通信是基于模拟信号的,天线技术和模拟信号处理技术的水平决定了产品的好坏。而产品的外观式样根本不用考虑。在技术方面,没有公司能挑战摩托罗拉。因此,摩托罗拉的手机虽然卖的贵(那时在中国一个好的手机要两万元),仍然占领了世界百分之七十的市场。其它公司要想和摩托罗拉竞争,只能寄希望于下一代了。

在第二代移动通信刚开始时,欧洲联合起来了。以往欧盟各国只能算是松散的联盟,在技术上很难单独和美国抗衡。即使搞出一个不同于美国的行业标准,也很难在世界上占主导,比如彩电的 PAL 制式。近二十年来,欧洲独立于美国单独行事的意识越来越强,同时吸取了各自为战的失败教训。明显加强了内部的合作。终于在第二代移动通信上超越了美国。

1982 年欧洲邮电管理委员会 European Conference of Postal and Telecommunications Administrations (CEPT)提出了数字移动通信的标准 Groupe Spécial Mobile,简称 GSM 。后来这个标准流行于世,欧洲又把它改称为 Global System for Mobile communications , 因此很多人以讹传讹误以为 GSM 是后者的缩写。1989 年,该标准被提交到欧洲电信标准局,第二年便成为欧洲后来乃至成为世界的第二代移动通信标准。GSM 的技术核心是时分多址技术(TDMA),即将每个无线频率均匀地分给八个(或者十六个)手机用户,每个用户交互地占用八分之一的信道时间。(注:人们通话时,语音直接的间歇时间其实很长,只有语音编码做的合理,就可以几个用户共用一个信道。)GSM 实现简单,在成为欧洲标准的第二年,即 1991 年,就由爱立信和一家芬兰公司架设了第一个 GSM 的移动通信网。两年后,包括中国在内的四十几个国家采用 GSM 标准,今天,GSM 占世界手机用户的 80%,据称达 20 亿用户。

在欧洲人行动的同时,美国人并没有闲着,他们似乎比欧洲人更努力。整个欧洲只搞出一个标准,而只有欧洲人口三分之一的美国居然搞出了三个数字通信的标准,其中两个和 GSM 一样是基于 TDMA 的标准,而第三个是很先进的码分多址 CDMA 标准。(以后有功夫再介绍 CDMA ,这里就不赘述了。)结果就不用说了,美国注定在第二代移动通信标准上注定失败。

美国在标准之争上的失败间接影响的摩托罗拉手机今后的竞争力。当然,在标准上失败并不意味着摩托罗拉在手机市场上会失败,就像不拥有任何标准的三星公司照样在手机上抢到了世界市场的一席之地。摩托罗拉失去手机市场统治地位的原因还必须从自身找。这里面既有无法抗拒的命运的捉弄,也有人为的因素。

两年前,我和李开复博士等人多次谈论科技公司的兴衰,我们一致认为一个公司的基因常常决定它今后的命运,比如 IBM 很难成为一个微机公司一样。摩托罗拉也是一样,它的基因决定了它在数字移动通信中很难维持它原来在模拟手机上的市场占有率。摩托罗拉并不是没有看出数字手机将来必将代替模拟手机,而是很不情愿看到这件事发生。作为第一代移动通信的最大收益者,摩托罗拉要尽可能地延长模拟手机的生命期,推迟数字手机的普及,因为它总不希望自己掘自己的墓。如果过早地放弃模拟手机,就等于放弃已经开采出来的金矿,而自降身价和诺基亚的公司一同从零开始。尤其在刚开始时,数字手机的语音质量还远不如摩托罗拉砖头大小的大哥大,更使摩托罗拉高估了模拟手机的生命期。和所有大公司一样,在摩托罗拉也是最挣钱的部门嗓门最大,开发数字手机的部门当然不容易盖过正在挣钱的模拟手机部门,因此,摩托罗拉虽然在数字手机研发上并不落后,但是,进展缓慢。一旦各个竞争对手推出各种各样小巧的数字手机时,摩托罗拉才发现自己慢了半拍。

当然,以摩托罗拉技术和市场的优势赶上这半步照说应该不难,但是,摩托罗拉另一根基因使得它很难适应新的市场竞争。在模拟通信设备市场上,技术占有至关重要的位置,其它方面,比如方便性,外观都不重要。而且模拟电子技术很大程度上靠积累,后进入市场的公司很难一年两年赶上。玩过发烧音响的读者知道,音响的数字设备,比如播放机,各个牌子差异不是很大,而模拟部分比如喇叭不同厂家的差异有天壤之别。日本的 SONY 和先锋至今做不出美国 Harman Kardon 和 Infinity 那种高质量的喇叭。在摩托罗拉内部,很长时间里,也许直到今天,技术决定论一直占主导。在数字电子技术占统治地位的今天,各个厂家之间在技术上的差异其实很小,这一点点差别远远不足以让用户选择或不选择某个品牌的产品。相反,功能、可操作性、外观等非技术因素反而比技术更重要。在这些方面,摩托罗拉远远比不过诺基亚和亚洲的对手。我一些在摩托罗拉的朋友常常很看不上诺基亚和三星等公司的做法“他们换一个机壳或者颜色就算是一款新手机”,但是,用户还真的很买后者这种做法的帐。

公平地讲,摩托罗拉的手机仍然是同类手机中信号最好,最可靠的,作为只用手机打电话的我,在使用过各个厂家的手机后,还是最推崇摩托罗拉的。但是,在亚洲,手机不仅仅是一个电话,它是个人通信的平台,是生活的一部分,甚至有人在上面镶上钻石作为身份的象征。(这有点像两百年前欧洲人的手杖,其实不是为了支撑身体。)在满足后者需求上,诺基亚和以三星为首的亚洲做到更好。

如果说基因决定性多少有些宿命论,那么人为的因素也加速了摩托罗拉的衰落。我们在介绍英特尔一章中介绍过,在科技工业发展最快的八九十年代,摩托罗拉的第三代家族领导人卡尔文三世没有能力在这个大时代中纵横捭阖,开拓疆土。摩托罗拉本来在手机、计算机处理器和数字处理器(DSP)三个领域均处于领先地位,前景不可限量。但是卡尔文实在没有能力将三个庞大的部门十几万人管理好,虽然他没有犯什么大的错误,但是他平平庸庸。也许,在五十年前,一个只需要守成的年代他可以坐稳他的位置,但是在上个世纪末那个一个英雄辈出、拒绝平庸的年代,盖茨、乔布斯、郭士纳、格罗夫、钱伯斯和通用电气的杰克•韦尔奇等人都在同场角逐,任何公司都在逆水行舟,不进则退。除了卡尔文,摩托罗拉的整个管理层也有责任,他们低估了摩尔定理的作用。虽然数字手机在一开始还比不上模拟手机,但这并不能说它要很长时间才能威胁模拟手机的地位。事实上,由于半导体技术按指数的速度发展,手机数字化比摩托罗拉高管们想象的时间表来得早得多,使得摩托罗拉几十年来积累的模拟技术变得无关紧要,市场的优势顿失。

本来,摩托罗拉是最有资格领导移动通信大潮的,很遗憾,它只踏上了一个浪尖就被木工厂出身的诺基亚超过了。
06:57 有种就自己来 (1927 Bytes) » Chanel [K]

首先,谢谢大家的支持和关心。我不是一个人在战斗。

下面的话是对某人说的(我真的不愿意写你的名字)。

虽然法律不一定代表人心,但是公道在人心,丢了人心的人即使赢了法律也赢不了这个世界,在这个大家都唾弃你的世界里生存你不觉得害怕吗?

如果你扪心自问你的起诉是心安理得的,如果你还觉得自己是个男人,如果还有那么点儿胆子,那么就4月17日法庭上见吧,期待你的出现,期待你健康地走进法庭,期待你带着自己的律师慷慨陈词,期待你能告诉法庭那些“严重失实”的文章背后的“真相”。

能够满足我的这个要求吗?别再当缩头乌龟了,有种起诉那就有种自己来!

03:00 婺源看了油菜花 (3816 Bytes) » DBA notes

作者:Fenng 发布在 dbanotes.net. FeedBurner 订阅数量,点击则可进行订阅

上周末去了婺源,号称"中国最美的乡村",看油菜花。橡树网的网友组织的,因为还有杭州尼康俱乐部提供了部分赞助费用,自理的费用极低,而吃住都不错,其乐融融。

很多人去婺源都是为了拍照,不过我们这个团因装备比较齐全,在熙熙攘攘的人流中看起来还是很拉风的。我在其中有一最:设备最差的 ... 因为只算随从,所以在人少的地方掏出维修后赠送的佳能 A510 偷着拍了几张。摄影这东西我可不懂,每次随老婆出去受罪,我只能算提供"构思、创意"的。明天就又放假了,大家对付着看吧。

油菜花

思溪

萝卜花?

--EOF--

相关文章|Related Articles

评论数量(1)|Add Comments

本文网址:
最近作者还说了什么? Follow Twitter / Fenng

02:16 明天回陕西老家 (3368 Bytes) » 存储部落

经过这两个月高强度的工作和周末加班,很久没有这么忙过的我感觉身心疲惫。过年时没有回老家,所以趁着清明节放假,就打算带着老婆和岳父岳母一起回趟老家。

其实除了想回家看望老爹老娘外,还想回家换身份证。我现在的身份证还是一代身份证,今年八月份就要到期了,如果更换不及时,可能到时候就没办法出差了。听弟弟说陕西换身份证现在还至少需要两个月,所以必须的提前一点。

明天准备回家,下周五才能上班,这段时间基本上无法正常上网,如果回复不及时希望大家能谅解。


01:22 如何简单实现控制用户查询数据 (258 Bytes) » Oracle Team @SNC
需求: 在实际应用中,由于数据库某些用户必须拥有SELECT ANY TABLE权限,这就促使了这些用户能够顺利访问其它表数据的权限,出于业务数据安全考虑,对于某些关键表,只能是特定用户才能访...
01:17 当当的用户体验确实很差 (2121 Bytes) » Fenng's shared items in Google Reader

     这几天想看书了,于是从想从网上买,问了几个同事和朋友,他们建议我到卓越买,到卓越一个周买了两次四本书,其中有一本书的质量有一点问题,于是第三次要买的时候想尝试去当当网买一下。

     在当当网上转了十多分钟,觉得当当体验很差,在产品设计方面确实有一些缺位,一些该在同一窗口打开的页面却在新窗口打开。打开当当网的首页,最上边的大栏目导航很不和谐,突兀的很;首页分类的字体黯淡无光,显得很陈旧,没有活力;另外,左侧的分类太专制,图书栏目的子栏目列出了大部分,数码类却没列子栏目,以至于这一部分的导航作用被严重削弱。

      另外,在送货方面,卓越网北京五环内免费送,当当网收十块钱,很显然我会选择卓越,因为大多数书籍的价格都是几十块钱,绝大多数在五十元以下。十元运费有点多。

      当当的书通常比卓越便宜一些,然后不报销送货费;而卓越恰好相反,书稍微比当当贵一点,但是免费送货。这让我想起在济南读书时候,那时候学校不远有个大润发超市,这里的商品肯定比周围那些平价超市贵不少,但是他们免费接送,经常办送礼品和计分卡活动,这个大润发超市总是人山人海,而周围的超市就冷清的很。

     还是当当的首页设计,首页中部和右部的部分应该用当当网橙色细线条圈起来,而不是散落一团,这是一个设计常识,不知道当当的网页设计师是怎么想的,居然连这个没加上。我的笔记本是宽屏的,当当网中右没圈边的首页真的很难看。百货页面的商品数字很刺眼,很不舒服。

      希望当当网在体验上加强一些;另外在dearbook上查书的时候发现大量死链接,不知道是怎么回事。

00:48 从PHP的模板引擎看Discuz!模板机制 (1479 Bytes) » Fenng's shared items in Google Reader

前言
本文写于2007年11月,那时候我是在Discuz!开发组为PHPChina的《PHPer》写的稿,一直也没有发到blog上了,今天偶然之间记起,顺手转发过来。

一、关于模板引擎的前言
从phplib到smarty,再到Discuz!的模板机制,本文试图通过PHP模板引擎为你讲解作者自己的PHP心得。

我清楚的记得在我刚上大学开始学习PHP的时候,曾经在phpe.net看到过一篇关于phplib Template和FastTemplate这两模板引擎性能比较的文章。让我在接下来半年的时间内持续的使用着phplib。不可否认phplib是左右了一代PHP开发人员对于PHP模板引擎的认识。或许你也会对下面的方法比较熟悉

$t->set_file
$t->set_var

当我对于phplib的执行效率不满意的时候,我开始寻找下一个PHP的模板引擎,于是smarty跳入我的视野范围,当我费尽心血去学会了smarty并使用开发了很多东西,而现在的我突然发现记得的也就只有下面的方法了

$s->assign
$s->display

究竟我们需要模板引擎来做什么呢,MVC?简单?易用?效率?请看下文的分析。

(more…)

2008-04-02 Wed

23:17 Check These SQL Beauties Out » Eddie Awad's Blog
22:20 Linux kernel社区在成长,但精英团体仍然存在 » Fenng's shared items in Google Reader
20:15 我看3PAR » Alibaba DBA Team
20:09 Stored Function to generate Sequences » MySQL Performance Blog
16:31 ORA-7445(ktcirs)错误 » yangtingkun
16:31 ORA-7445(ktcirs)错误 » yangtingkun
10:01 HACMP 5.x 完全手册,第 1 部分:设计和安装 » developerWorks : AIX 专区的文章,教程
07:55 PowerPath Encryption with RSA Release Notes » Fenng's shared items in Google Reader
07:10 仙湖.白鹭 » OracleBlog.cn
06:02 奉陪到底 » Chanel [K]
05:00 MySQL 优化之 Slow Query Log » DBA notes
03:01 anni-2 » Photos from dbanotes
01:20 Log Miner恢复的误区 » AnySQL.net

2008-04-01 Tue

19:40 Oracle Senior DBA Wanted » eagle's home
18:22 Google/Skype Acquisition or Partnership Imminent? » Fenng's shared items in Google Reader
17:52 佃农专家倒楣记 » Fenng's shared items in Google Reader
08:52 scaling » Photos from dbanotes
08:20 关于部门人员招聘 » 存储部落
08:01 HACMP 认证学习系列,第 3 部分:安装和配置(1) » developerWorks : AIX 专区的文章,教程
05:24 feedsky的愚人节礼物 » 存储部落