<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>Zack Live</title>
	<link>http://cn.zacklive.com</link>
	<description>WordPress 主题设计及网页设计</description>
	<lastBuildDate>Thu, 11 Mar 2010 05:12:44 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>真实世界的 IPhone 应用程式：冰箱磁铁</title>
		<description><![CDATA[
IPhone 应用程式（Apps）的图标设计美观是大家公认的事，有人把这些漂亮的图标带到真实生活，做成冰箱磁铁。现在你不仅能把iPhone拿在手里，也能把iPhone Apps拿在手掌上。
详细内容请看：始者科技新闻杂志
Popular Posts设计国际化的主题: WordPress主题翻译教学我第二个WordPress主题：BlacknWhiteGoogle Nexus One就是不够酷WordPress 2.9.2 版本发布如何翻译WordPress主题]]></description>
		<link>http://cn.zacklive.com/iphone-app-in-real-world-fridge-magnets/174/</link>
			</item>
	<item>
		<title>索尼发布自家体感动作控制器：PlayStation Move</title>
		<description><![CDATA[
索尼(Sony)发布自家体感动作控制器(Motion Controller)，定名为PlayStation Move，而不是之前大家猜测的Gem 或 Arc。它由两个控制器组成，其中一个的顶部有个彩色圆球体，目前我们看到有四种颜色。
索尼的官方新闻稿介绍，PlayStation Move同时采用了三轴动作感应、三轴加速感应和重力感应技术，通过与PlayStation Eye的联动，能够对玩家所持手柄操作的绝对位置以及手柄顶部光球的运动轨迹实施准确的捕捉。从而在实现诸如网球游戏中高速的挥拍动作或是书写文字符号等精密动作时发挥更加出色的表现。

详细内容请看始者科技新闻杂志
Popular Posts设计国际化的主题: WordPress主题翻译教学我第二个WordPress主题：BlacknWhiteGoogle Nexus One就是不够酷WordPress 2.9.2 版本发布如何翻译WordPress主题]]></description>
		<link>http://cn.zacklive.com/sony-unveiled-its-motion-controller-playstation-move/172/</link>
			</item>
	<item>
		<title>松下电器发布最新Lumix DMC-G2 与 DMC-G10</title>
		<description><![CDATA[
松下电器（Panasonic）发布了最新的M 3/4 (Micro Four Thirds) 数码相机：G2与G10。两款相机都具有1200万像素的Live Mos镜头，并采用Venus Engine HD第二代技术。G2是G10的高阶版本（数字小的比较高阶），比G10多了可翻转，可触控LCD显示器，最高ISO值可达6400，支持720p AVCHD Lite格式录影。
以下是触控演示影片:
更多内容请到始者数码杂志
Popular Posts设计国际化的主题: WordPress主题翻译教学我第二个WordPress主题：BlacknWhiteGoogle Nexus One就是不够酷WordPress 2.9.2 版本发布如何翻译WordPress主题]]></description>
		<link>http://cn.zacklive.com/panasonic-released-lumix-dmc-g2-and-dmc-g10/169/</link>
			</item>
	<item>
		<title>为WordPress选择程式码显示插件</title>
		<description><![CDATA[
刚开始我只用引用（Quote）来显示程式码，随着程式码越来越多，引用已经不够用，我决定要加个程式码高亮显示的插件到WordPress里。
我前后共测试了5个这种插件，包括：

SyntaxHighlighter Plus
WP-Syntax
Google Syntax Highlighter for WordPress
Syntax Highlighter for WordPress
SyntaxHighlighter Evolved

我也总结出，具体的要求：

不用修改WordPress，包括主题：我不希望因为一个插件而修改WordPress或主题，特别是有其他的选择的情况下。
显示行数：有行数的话，当讨论程式码时，就比较容易去指定特定一行。关于这一点，WP-Syntax预设是不显示行数的，所以我没有选择它。
支持可视化编辑器（Visual Editor）：这是最严重的问题，有些插件在Visual Editor里会自动重编程式码以便在HTML下显示，这样会破坏原程式码，导致每次编辑时都要改程式码，改到我火都上来。SyntaxHighlighter Plus，Google Syntax Highlighter for WordPress和Syntax Highlighter for WordPress都有这个问题。

剩下的就是SyntaxHighlighter Evolved，它是唯一不需要作任何改动就符合以上要求，也支持所有常用的程式语言，包括PHP, HTML, CSS, C等。使用上也很简单，只要用[语言]和[/语言]来包住程式码，其中语言是程式码相应的程式语言，如PHP。该插件也有设置页面，可以做一些细节的微调，也有一些使用说明可以参考。以下是一个带有PHP的HTML范例：

&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Strict//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#34;&#62;
&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34; xml:lang=&#34;en&#34; lang=&#34;en&#34;&#62;
&#60;head&#62;
	&#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=UTF-8&#34; /&#62;
	&#60;title&#62;PHP Code Example&#60;/title&#62;
&#60;/head&#62;
&#60;body&#62;
	&#60;h1&#62;PHP Code Example&#60;/h1&#62;

	&#60;p&#62;&#60;?php echo 'Hello World!'; ?&#62;&#60;/p&#62;

	&#60;p&#62;This line is highlighted.&#60;/p&#62;

	&#60;div class=&#34;foobar&#34;&#62;
		This	is	an
		example	of	smart
		tabs.
	&#60;/div&#62;

	&#60;p&#62;&#60;a href=&#34;http://wordpress.org/&#34;&#62;WordPress&#60;/a&#62;&#60;/p&#62;
&#60;/body&#62;
&#60;/html&#62;

Related PostsWordPress 2.9.2 版本发布高亮(Hightlight)显示作者回覆设计国际化的主题: WordPress主题翻译教学不用WordPress, [...]]]></description>
		<link>http://cn.zacklive.com/choose-right-syntax-highlight-plugin-for-wordpress/167/</link>
			</item>
	<item>
		<title>根据浏览器语言重定向访客</title>
		<description><![CDATA[
最近我开了一个新网站，Gearor.com，以报导科技新闻为主。我为这个网站设计了中文（cn.gearor.com）及英文版本，所以我希望做到，当用户访问时，判断用户是否使用中文浏览器，若是便将用户带到中文页面。
一开头，我直观地在主页将所有中文浏览器转到中文页面。这样做有一个问题：就是在中文页面内，我放置了一条返回英文页面的连结，若中文用户想看英文内容，可按此连结。当我加入转向程式，即使点击了这条连结，还是会被带回到中文页面，变成中文用户到不了英文的主页，这是不能接受的。
解决的方法也不难，只要在转向程式加入判断，不对来源网站为本站的用户进行转向。问题是要实现这个方法却不容易，我试过JavaScript，亦试过用SESSION的方法，都未能满足。最后我将问题放到StockOverFlow上，终于找到满意的解决方法。顺带一提，StockOverFlow真是一个非常棒的网站，那里有大量优秀的程式员，而且大家都很乐意为你解答疑问。以下是我修改过的程式，目前在Gearor.com上使用：

if (!preg_match('%gearor.com%i', $_SERVER['HTTP_REFERER']))
	{
		if (!preg_match('%cn.gearor.com%i', $_SERVER['HTTP_REFERER']))
		{
			if (preg_match('/zh-cn/i', $_SERVER['HTTP_ACCEPT_LANGUAGE']))
				wp_redirect('http://cn.gearor.com');
		}
	}

如果你也在设计多国语言网站，或许这段程式也能帮到你，当然，若你有更好的方法，欢迎与我分享。
Related Posts安装Kohana 3 PHP 框架PHP防止SQL Injection: Addslashes还是Mysql_real_escape_string面向对象PHP教学：MySQL数据库应用]]></description>
		<link>http://cn.zacklive.com/redirect-users-according-to-browser-language/164/</link>
			</item>
	<item>
		<title>安装Kohana 3 PHP 框架</title>
		<description><![CDATA[
Kohana 3发布已经有一段时间，这个版本重新设计了大量的代码，其实最重要的改变是用HMVC设计模式取代MVC。至于什么是HMVC？以下几篇文章或许能帮大家理解：

浅谈HMVC模式
谈谈HMVC
说说HMVC

另外，虽然Kohana 3发布了，但Kohana 2还是会继续发展，原Kohana 2的用户可以放心继续使用。如果你是刚学Kohana的话，建议还是学Kohana 3。
和以往一样，Kohana 3的安装非常容易。这里可以下载Kohana 3。解压后，将Kohana文件夹上传到你的网站，当然你可以将文件夹改为任何你喜欢的名字。再来需要改一下权限，请将以下文件夹的权限改为777：

application/cache
application/logs

最后再对application/bootstrap.php作小许设定：

更改 timezone
设定 base_url

到这里，Kohana 3的安装与设定就完成了，我们现在可以访问Kohana页面，在浏览器中输入Kohana所在位置，也就是刚刚设的base_url，你会看到如下画面：

能看到这个画面，代表一切正常。注意中间绿色文字提示你要删除install.php文件，删除后刷新这个页面，会变成显示文字：&#8221;hello, world!&#8221;这是预设的Controller输出的文字，那这个Controller在哪里呢？请打开application-&#62;classes-&#62;controller，你会看到一个welcome.php，就是它了，以下是它的代码：

&#60;?php defined('SYSPATH') or die('No direct script access.');

class Controller_Welcome extends Controller {

	public function action_index()
	{
		$this-&#62;request-&#62;response = 'hello, world!';
	}

} // End Welcome

这个Controller唯一个的事就是输出文字：hello, world! 你可以试着做一些修改，将这一行：

$this-&#62;request-&#62;response = 'hello, world!';

改为：

$this-&#62;request-&#62;response = 'hello, Kohana 3! I am Zack from ZackLive.com~';

之类的，再刷刚才的页面，看看有什么变化。
以下Kohana 3相关资源：

Kohana 3 用户手册
Kohana 3 非官方维基
Kohana 3 API 资料

如果你有任何关于Kohana的疑问可以在这里回覆提出或到Kohana官方讨论区提问。
Related Posts面向对象PHP教学：MySQL数据库应用根据浏览器语言重定向访客PHP防止SQL Injection: Addslashes还是Mysql_real_escape_string进阶WordPress主题翻译技巧设计国际化的主题: [...]]]></description>
		<link>http://cn.zacklive.com/install-kohana-3-php-framework-2/162/</link>
			</item>
	<item>
		<title>PHP防止SQL Injection: Addslashes还是Mysql_real_escape_string</title>
		<description><![CDATA[
最近看了几篇关于防止SQL Injection的文章，跟大家分享一下我学到的东西。
PHP防止SQL Injection主要有两种做法，分别应用两个函数：addslashes()和mysql_real_escape_string()。早期一般用addslashes()，现在主要用mysql_real_escape_string()，这两个有什么分别呢？Alan Storm 作了以下的解释：
PHP’s mysql_real_escape_string function will, more or less, ask mysql what character(s) needs to be escaped, where the addslashses function will just add a backslash in front of and any single quote (‘), double quote (“), backslash (\) or NUL (the NULL byte) character.
我翻译如下：
PHP的mysql_real_escape_string函数会分析哪些字元需要进行处理，而addslashes则单纯对所有的单引号(‘)，双引号(“)，反斜线(\)和NUL字元加入反斜线。
在同一篇文章中，Waage说（翻译）：

mysql_real_escape_string会为以下字元加入反斜线：
\x00, \n, \r, \, &#8216;, &#8221; 和 \x1a. characters.
而addslash只为以下字元加反斜线：
&#8216; \ [...]]]></description>
		<link>http://cn.zacklive.com/php-avoid-sql-injection-addslashes-mysql-real-escape-strin/155/</link>
			</item>
	<item>
		<title>通用CSS样式表模版</title>
		<description><![CDATA[
每次设计一个新的网站，我们都要写一个新的CSS样式表，而当中的内容有很多是跟以往的设计类似，甚至一样，像是blockqoute, &#60;h1&#62;至&#60;h6&#62;等设定。因此，我一直想要整理出一个通用的CSS样式表模版(Master Stylesheet)，里面包含一些最基本最常用的CSS设定。当开始设计一个新网站的时候，我们首先载入这个模版，就能马上完成了基本的设计，接下来，只要针对这个网站进行细节的设计，如果模版的设定不适合新网站，可以在新网站的CSS文件重写，CSS会自动覆盖模版的设定。
假设我们把模版命名为master.css，而网站的CSS文件为style.css，那我们可以在style.css开头加入以下语句，即可将模版导入：

@import &#34;master.css&#34;;

现在的问题是这个模版要怎么写呢？最近看到了Kyle写的一篇：Master Stylesheet: The Most Useful CSS Technique，是我见过最完整的Master Stylesheet，很多的细节都被考虑到了，直接就能使用。我唯一增加的一段程式码就是在Andrew那里看到的用于重设浏览器设定：

* {
	padding:0;
	margin:0;
}

以下是完整的master.css文件：

/***** Browser Settings *****/
* {
	padding:0;
	margin:0;
}
/***** Global Settings *****/

html, body {
border:0;
margin:0;
padding:0;
}

body {
font:100%/1.25 Arial, Helvetica, sans-serif;
}

/***** Headings *****/

h1, h2, h3, h4, h5, h6 {
margin:0;
padding:0;
font-weight:normal;
font-family: Arial, Helvetica, sans-serif;
}

h1 {
padding:30px 0 25px 0;
letter-spacing:-1px;
font-size:2em;
}

h2 {
padding:20px 0;
letter-spacing:-1px;
font-size:1.5em;
}

h3 {
font-size:1em;
font-weight:bold;
}

/***** Common Formatting *****/

p, ul, ol {
margin:0;
padding:0 0 1.25em 0;
}

ul, ol {
padding:0 0 [...]]]></description>
		<link>http://cn.zacklive.com/general-master-css-stylesheet/152/</link>
			</item>
	<item>
		<title>面向对象PHP教学：MySQL数据库应用</title>
		<description><![CDATA[
这是一篇以PHP面向对象的方式来实作MySQL数据库的教学，适合对PHP有一定了解的面向对象初学者。我们只实现了最基本的功能，你可以根据自己的需要进行扩充。如果你发现有什么问题或建议，欢迎提出。同时我们也寻求后续教学文章，欢迎推荐。本文的代码主要来自Build Internet.
建立一个数据库和users表
用面向对象来操作MySQL数据库，最主要的部分就是写一个数据库的类。首先我们建立一个数据库跟一个名为users的表，以供教学使用，以下是SQL码：

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `join_date` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;


数据库类和属性
接下来，我们进入数据库类的设计。这个类有四个属性（Properties）：

$db_name：数据库名称
$db_user：数据库用户名称
$db_pass：数据库用户密码
$db_host：数据库伺服器，一般为localhost

由于这些资料仅供内部使用，我们将它们设为protected。这样，我们可以得出最基本的设计：

&#60;?php
//DB.class.php

class DB{

    protected $db_name = 'yourdatabasename';
 [...]]]></description>
		<link>http://cn.zacklive.com/object-oriented-programming-php-mysql/149/</link>
			</item>
	<item>
		<title>WordPress 2.9.2 版本发布</title>
		<description><![CDATA[
WordPress刚刚发布了最新版本2.9.2。这个版本只进行了一个小小的修正，早前Thomas Mackenzie指出，登入了的用户可以回收站（Trash）里看到其他会员的文章，因此WordPress团队针对这个问题进行了修正，并发布2.9.2版本。
官方公布可在这里找到。
Related Posts为WordPress选择程式码显示插件高亮(Hightlight)显示作者回覆设计国际化的主题: WordPress主题翻译教学不用WordPress, 你的网志就不够专业FriendFeed发布新版本Beta，界面抄袭Twitter]]></description>
		<link>http://cn.zacklive.com/wordpress-2-9-2-new-version-released/146/</link>
			</item>
</channel>
</rss>
