<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>Setting Sun&#039;s Blog - 残阳</title>
	<link>http://www.setting.cc/blog</link>
	<description>彪悍的人生不需要解释~~</description>
	<lastBuildDate>Sat, 31 Jul 2010 14:46:59 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>phper10问10答</title>
		<description><![CDATA[在PPC看到这样一篇，觉得很有感触，很多东西都有些忘了，有些东西是不能放的，其地址为：http://bbs.phpchina.com/viewthread.php?tid=174331
其内容及答案如下：
1.首先看了PHP的源码API函数，对于许多口水仗的争论一笑而过，只是停留在脚本级别上的什么效率，安全。。。之争完全就是无稽之谈，没有深入理解API，所有的争论都是臆测和不科学的态度。你做了吗？
答：没有
2.不再把PHP看作一门后台语言，而是一门类似JS的脚本，页面表现级的语言，更多的是尝试使用一种软件来做后台，PHP做前台，尝试真正的B/S开发。你的看法呢？
答：我认为PHP会有更好的发展，我始终坚信这一点！
3.知识更新。PHP中的接口你懂了吗？反射你听过吗？JS中的事件冒泡你懂了吗？原型链知道吗？一切函数都是对象，你能理解否？MYSQL里面的视图，存储过程你尝试过么有？
答：已经2年没写过JS了该忘的不该忘的已经全忘了。。。反射在用。JS PASS吧。。不知道。。可以理解。。目前还没用过视图和存储过程，我不推荐用mysql 来做过程
4.扎实的学知识。你是不是离开了JQ框架就连个DOM操作的原生JS都不会写了？你是不是离开了DB类，就连个简单的查询都不会写了？你是不是离开了IDE，连个表格都画不出来？你是不是到现在多表查询，子查询都还不会？你是不是到现在就只知道索引是用来加快查询的？
你是不是到现在连个PHP5的稍微复杂点的OO类都还不会写？你会正则吗？你的E文水平咋样？
答：JS继续PASS吧。。不会DB操作曾经在纸上写到吐我感觉我这辈子都忘不了。。同上写到吐（这算不算基础扎实，自嘲一下）。。继续同上。。目前对于索引我知道的确实不多
5.扎实的算法基础。你知道选择排序，插入排序，冒泡排序，二分排序，希尔排序并且能写出来吗？你知道怎么遍历二叉树吗？知道霍夫曼吗？你知道图吗？你知道龙格-库塔，迭代，插值，雅戈尔，牛顿下山法吗？知道ZIP压缩原理吗？你是不是可爱到以为加减乘除加上循环判断就搞定了算法？你知道概率论，微积分，线性方程组在算法中是非常非常基础的吗？
答：在做游戏中学到了比较多的算法，但是对于题目上的好像80%没用过，也没有了解过
6.学习的主动性。你是不是自己的网站连个拿的出手的JS都没有写过？你网站的效果是不是都是你下载的JQ插件弄出来的？到现在都还没有看过JQ的代码？你现在的模板引擎是谁的？DB类是谁的？框架是谁的？你是不是一直都很鄙视重复造轮子的事情，就像中国现在，“拿来主义”，永远是MADE IN CHINA,而不是Created in China？
答：JS继续PASS吧。。PASS。。模板引擎是smarty。。。DB类是主程写的(写的真的很风骚)。。主程。。。我很鄙视重复造轮子，我是拿来主义者，其实写框架在中国已经变味了我感觉，拼的无非就是utils\helper
7.广泛的基础。你会汇编吗？那C总该会点吧。。那C++呢，那简单的JAVA总该会吧。。。那。。那傻瓜化的VB,NET,PY。。。？什么，你只会PHP？其他啥都不会？JS总该会吧？啊，不会，只会用网上下来的JQ？你除了PHP还会点啥？那假如PHP垮台了或者你所在的公司不用PHP了你吃什么？如果老板让你学J2SE你怕不怕？
答：不会。。不会。。想往游戏圈深入发展，所以目前在学习C++中。。python会一点。。。好吧JS继续pass吧
8.你是不是就准备一辈子做个coder?你的知识如果让你传授给别人的话，能支撑三个月吗？三个月后你还能讲得出点其他的东西吗？
答：争取做到每天学习，摄取新知识。。后面这个我无法估计
9.你现在的水平和你刚开始学的时候进步了多少？你有过自己的作品吗？有多少代码是你自己写的？你认为是不是只要会写PHP代码就够了？这样的话一个初中生三个月后也就能达到你的水平了，你认为呢？你准备一直停留在这个水平吗？
答：准确的说我曾经有过1年时间丝毫没有一点进步，来京之后进入了一家游戏公司技术得到飞速的提升，但是那一年让我的基本功做的非常扎实！其实我更加想做一个管理者！我不知道我的IT激情还能燃烧多久，如果没有了燃料我可能会转型到其他行业吧！
10.最后一问，你除了会写仅会的PHP代码，还会点其他的吗？你有把握做其他工作吗？你能养活自己老婆孩子吗？能给他们幸福吗？
答：我在努力，我觉得只有在逆境中才会有进步！老天赐给我一个妞吧！！！
建议其它的phper也可以问下自己

	标签：coder, php
]]></description>
		<link>http://www.setting.cc/blog/archives/17.html</link>
			</item>
	<item>
		<title>针对浏览器vim插件的研究</title>
		<description><![CDATA[firefox就不说了Vimperator，哥一直在用，谁用谁知道  最近使用了一个chrome我被他的运行速度震精了，当时我就湿了 于是很自然的想到有没有vim插件  我找到了三个来代替 Shortcut Manager、Vimlike Smooziee、Vrome（前者的升级）  我先说一下Shortcut Manager 他的优点是可以自定义各种快捷键 缺点是内置系统功能偏少，不得不用javascript去自己实现 如果你设置的快捷键和系统冲突了，他会优先系统(orz，用户至上啊，大老)  但是基本的h、j、k、l、d、o、t用他来实现还是不错的 我已经写了一些快捷键的设置如下

// ==UserScript==
// @ShortcutManager
// @name Scroll down by 200 pixels
// @namespace COXhleP4izwk
// @key j
// @include *
// @execute ScrollDown(["200"])
// ==/UserScript==

// ==UserScript==
// @ShortcutManager
// @name Scroll left by 150 pixels
// @namespace COXhleP4izwk
// @key h
// @include *
// @execute ScrollLeft(["150"])
// ==/UserScript==

// ==UserScript==
// @ShortcutManager
// @name [...]]]></description>
		<link>http://www.setting.cc/blog/archives/16.html</link>
			</item>
	<item>
		<title>windows下的nginx+php5.3+php-cgi+mysql</title>
		<description><![CDATA[引子： 
由于工作需要 
准备工作：
1、首先下载最新的nginx http://nginx.org/download/nginx-0.8.34.zip
2、下载PHP5.3 http://windows.php.net/downloads/releases/php-5.3.2-Win32-VC9-x86.zip
3、下载MYSQL http://download.mysql.cn/download_file/zip/5.0/mysql-5.0.22-win32.zip 

  配置PHP: 

把下载完的php解压到：D:\php 。备份php.ini-development，并将其重命名为php.ini。然后编辑php.ini。

	documentroot.doc_root = &#34;&#34;
	本来我写的是我的项目根目录的，本来发现是错误的，这个稍后在说
	扩展存放目录 extension_dir——更改为真实的扩展存放地址。extension_dir = “ext”
	默认时区更改——在[Date]里面增加：date.timezone = PRC 

因为nginx需要的是cgi方式的php，所以如下几个地方是重点，否则nginx无法打开php文件：

	这里我是copy的别人的，反正我自己使用正常
	enable_dl = On
	cgi.force_redirect = 0
	cgi.fix_pathinfo=1
	fastcgi.impersonate = 1
	cgi.rfc2616_headers = 1 

5.3版本我没有发现php5ts.dll和libmysql.dll两个文件，就不管他了
配置nginx:
  将下载下来的nginx解压到D:\nginx目录中，我给conf目录做了些工作，一会直接上配置文件。
nginx.conf 内容详情
	#user  nobody;
	#启动进程
	worker_processes  1; 

	#错误日志及PID文档
	error_log  logs/error.log crit;
	pid        logs/nginx.pid;

	#工作模式及连接数上限
	events {
	    #use epoll;  #windows下好像会出错
	 [...]]]></description>
		<link>http://www.setting.cc/blog/archives/10.html</link>
			</item>
	<item>
		<title>使用Locator获取对象实例</title>
		<description><![CDATA[一个高效、易懂、便于管理的加载方法，在开发过程中会方便不少。 下面我来说一个比较简单的方法。  首先我们创建一个抽象类LocatorAbs.php

abstract class LocatorAbs
{
	/**
	 * 初始化的对象
	 *
	 * @var array
	 */
	private $_objects = array();

	/**
	 * 魔术方法实现getXXX得到对象
	 *
	 * @param string $name
	 * @param array $arguments
	 * @return object
	 */
	public function __call($name, $arguments)
	{
		$pos = strpos($name, 'get');

		if($pos === false)
		{
			throw new Exception('invalid class name of ' . $name);
		}

		$className = substr($name, 3);
		return $this->get($className);
	}

	/**
	 * 根据一个传入的类名取得实例
	 *
	 * [...]]]></description>
		<link>http://www.setting.cc/blog/archives/7.html</link>
			</item>
	<item>
		<title>便捷的IP数据存储和查询</title>
		<description><![CDATA[首先我们需要一个功能健全、容错率高的得到IP方法

    /**
     * 获取客户端IP
     *
     * @return string
     */
    function getClientIP()
    {
        if (isset($_SERVER))
        {
  [...]]]></description>
		<link>http://www.setting.cc/blog/archives/6.html</link>
			</item>
	<item>
		<title>使用 PHP 解决机率和权重问题</title>
		<description><![CDATA[在程序设计中我们经常会碰到要解决机率或权重相关的问题，例如经常碰到的中奖问题。 有一个百货公司办了一个抽奖活动，一等奖的中奖率是3%，二等奖是5%，三等奖是10%，纪念奖是20%。 处理这个需求，一般的程序员会采用如下的逻辑：

$randKey = mt_rand(1, 100);
$prizeLevel = 0;

if ($randKey  10,
	4 => 20
);

$randKey = mt_rand(1, 100);
$radix = 0;

foreach ($prizeInfo as $prizeLevel => $prizeOdds)
{
	$radix += $prizeOdds;

	if ($randKey  100,
	1 => 5,
	2 => 10,
	3 => 20,
	4 => 50
);

$randKey = mt_rand(1, array_sum($prizeInfo));
$radix = 0;

foreach ($prizeInfo as $prizeLevel => $prizeOdds)
{
	$radix += $prizeOdds;

	if ($randKey  100,
	1 => 5,
	2 => 10,
	3 [...]]]></description>
		<link>http://www.setting.cc/blog/archives/4.html</link>
			</item>
	<item>
		<title>使用 GetText 扩展实现国际化支持</title>
		<description><![CDATA[首先，我们构建一个简单的 I18n 工具类 I18n.php：

class I18n
{
    /**
     * 默认语言
     *
     * @var string
     */
    const DEFAULT_LOCALE = 'zh_CN';
    /**
     * 默认编码
     *
  [...]]]></description>
		<link>http://www.setting.cc/blog/archives/3.html</link>
			</item>
	<item>
		<title>php5.3新加正则功能</title>
		<description><![CDATA[
$p = "/^(?.*) (?.*)$/";
$s = "10.4.0.111 2009-09-09";
preg_match($p, $s, $m);
print_r($m);

可以指定返回数组key了

	标签：php, preg
]]></description>
		<link>http://www.setting.cc/blog/archives/2.html</link>
			</item>
	<item>
		<title>博客在今天重生了</title>
		<description><![CDATA[前些日子博客挂了，一直没有时间重新弄。。
后来有时间了，发现备份有问题，真是杯具啊。。
既然如此就一切重新开始吧。
打造高品质博文~~~~

	标签：重生
]]></description>
		<link>http://www.setting.cc/blog/archives/1.html</link>
			</item>
</channel>
</rss>
