• 上周末的古猗园

    【神仙】 2008-04-19 14:45

      上周末和爸妈去了回古猗园。在拥挤的汽车上摇晃了一路,想起了咱的香必飘,为啥不在公交车上飘一下呢?

      古猗园似乎经过了几次扩建,大了不少,已经不完全是原来的样子了。不过就我看到的来说,相比苏州的那几个园林,在造园的艺术上讲似乎要差不少。难道说古代的苏州人比上海人有钱?

      逛完园子吃小笼,似乎也就一般般。那儿有好几家卖小笼包子的,也不晓得哪家才算正宗。

      照片: 

     

  • 导出错误编码的mysql数据库

    【神仙】 2008-04-12 21:45
    有一个数据库,定义的编码是utf8,但由于程序里没set names utf8,结果是按latin1插入的。虽然显示没问题,但实际储存的是堆奇怪的东西,直接mysqldump出来是乱码,完全没法用。

    后来发现,set names latin1之后,查询出来的东西是正常的,于是试着给mysqldump加上--default-character-set=latin1 --set-charset参数。导出来的文件果然就正常了。之后,去掉sql文件中的那行latin1的东西,再导进新的库里,一切正常。

     

     

  • php5.3的here doc新特性

    【神仙】 2008-04-06 22:56

    未来的php5.3多了许多新特性。上回pea活动,在ben那里的新特性列表里,发现一个原来忽略的。就是here doc现在可以不处理里面的字符串了。就像这样:

    $code =<<<'END'
        $a = 1;
        echo "$a\n";
    END;
    echo $code;

    这样有什么好处呢?本来,php是没有block或者lambda表达式这样的东西的。create_function由于那个参数是个字符串,也不怎么好使。现在可以更方便地用here doc来实现类似的功能了。比如这个:

    class ArrayList {
        private $arr;
        function __construct($arr) {
            $this->arr = $arr;
        }

        function each($call) {
            foreach ($this->arr as $item) {
                call_user_func($call, $item);
            }
        }
    }

    $a = new ArrayList(array(1,2,3,4,5));
    $a->each(create_function('$item', <<<'END'
        echo "[$item]\n";
    END
    ));

    虽然比起ruby来要丑陋多了,变量作用域也不一样。不过总算聊胜于无。

     

  • 去看外白渡桥了

    【神仙】 2008-04-06 22:01

    据说今天外白渡桥要拆去修,于是我就去凑了热闹。桥是上午拆的,我是下午去的,所以就只能看半截桥了。就要看这半截桥也不太容易。拆迁工地两头封得严实,又有吴淞路闸桥煞风景。最好的角度就是黄浦公园了。又顺便到北外滩转了下。

    上海还是有许多好看的老房子正在破败中啊~~

  • 春天啊春天

    【神仙】 2008-04-04 11:56

    春天是花开的季节,春天是动物复苏的季节,春天也是生病的季节。所以,我就咳嗽起来了,好多天了。不爽啊~,我还想出去玩呢。现在就只能在家修养了。

    最近开始玩豆瓣的群组,确实很好玩。基本上就和我设想的群组模式一样。如果和活动、博客结合得更紧密的话应该会更好玩吧。

     

  • 空间

    【神仙】 2008-03-28 11:45

  • 我们应该怎样倾听

    【神仙】 2008-03-21 22:58

    我们应该怎样倾听
    那来自天上的声音
    是凝视自己身体里的呼应
    还是追随北风呼啸的身影

    黄昏的鸟鸣唤起遥远的乡情
    丛林的吼声惊扰梦中的美景
    那些声音的虚实远近
    我们又应该怎样判定

    或许直到终结把一切分清
    我们才能确信我们的谛听
    是通往地核深处的路径
    还是敞开的另一只眼睛

  • 三月十九日的无标题文档

    【神仙】 2008-03-19 22:32

    这两天总想写点什么,但是写着写着就又不想发布出来了。恩,最近是有些郁闷了。我这是为什么呢?是害怕改变还是真有什么东西值得让我背离经济人的假设,不管逻辑做出决策?又或者是在等待一个答案?谁知道呢。

    这点东西是用live writer写的。也试过Zoundry和ScribeFire,结果只有这个东西能连上bus的api。live writer还是挺好用的,只是安装过程和其他几个live一样让人不爽。漫长的下载时间只能把它晾在一边让它慢慢拖。

  • 三月十六日的无标题文档

    【神仙】 2008-03-16 21:01

      今天去中山公园去转了圈,然后又去参观华政校园。之前去长风公园的时候也顺道去转过华师大。都感觉相比公园,还是大学校园更有逛头。

      想想我的华理实在是太和谐了,绝对没有地主阶级或是资本家的情调。一样是河,在华师大就叫丽娃河,(其实说通俗点就是美女河),在华理就叫青春河。一样是楼,华理就很理工地全部按数字编号。据说奉贤的新校区开始有点文化了。

    P.S. 春天来了。树都发芽了,猫都怀孕了。一路上看到了好几只大肚子的猫。话说Blog已经出走许多天了,不知道有没有弄出什么成就来。

  • php扩展开发学习笔记 8

    【神仙】 2008-03-07 22:36

    hash

      在php中,许多东西都是hash表。除了显而易见的数组以外,其实对象的属性,函数入口表、变量的符号表等在php内部也都是使用hash表来保存的。事实上,hash表里可以放任何一种数据类型的指针,并不限于zval*。

      hash表的C结构叫HashTable。如果要创建一个HashTable,一般的做法如下:
    HashTable *ht;
    ALLOC_HASHTABLE(ht);
    这样就会创建一个HashTable,并把地址放在ht里。光有一个HashTable结构还是不行的,还需要初始化。这就需要用到zend_hash_init函数。声明如下:
    int zend_hash_init(
        HashTable *ht,
        uint nSize,
        hash_func_t pHashFunction,
        dtor_func_t pDestructor,
        zend_bool persistent
    )
    第一个参数就是一个HashTable指针,必须是已经分配好内存的。
    nSize是初始大小,就是存放东西的个数。超过这个值时会自动扩展。如果这个值不是2的n次方,则会自动变成大于它的最小的2的n次方数。
    pHashFunction是没用的,但为了向下兼容,这个参数还在那里。必须为NULL。
    pDestructor是析构函数。一般使用ZVAL_PTR_DTOR。
    最后那个参数persistent是表示是用emalloc还是pemalloc来分配内存。

      php的hash表可以有整数和字符串两种键,然后就有了两套访问hash表的函数。hash相关函数都以zend_hash_开头。例如:
    int zend_hash_update(HashTable *ht, char *arKey, uint nKeyLen,  void *pData, uint nDataSize, void **pDest);
    用来更新字符串键的值。arKey是键;nKenLen是键的长度,包括最后的'\0';pData是值数据的指针,nDataSize是数据指针的大小。最后一个参数是用来指定值数据指针的保存位置的,对于更新操作一般用NULL即可而对于读取操作,则用来放取出的值的指针。一个调用的例子:
    zend_hash_update(pHash, "hello", sizeof("hello"), &pZval, sizeof(zval*), NULL);
    其他几个hash操作函数也大同小异。
    zend_hash_index_update用来更新整数键的值,zend_hash_find和zend_hash_index_find分别用来读取字符串键和整数键所对应的值;zend_hash_exists和zend_hash_index_exists用来判断指定的键是否存在;zend_hash_del和zend_hash_index_del用于删除。还有许多其他的hash操作函数。zend_hash_num_elements用于得到元素的个数;zend_hash_clean用于清除全部元素;zend_hash_destroy除了清除全部元素外,还会释放由zend_hash_init所分配的内存,彻底销毁hash表。

     

日历

个人资料

【神仙】

世人都晓神仙好~~~~