佳音的博客

2010/10/06

http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1/

Filed under: Uncategorized — 佳音 @ 10:24 下午

http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1/

2010/09/22

php extension 声明类属性

Filed under: php — 标签: — 佳音 @ 5:18 下午

在弄一个php扩展, 想把 扩展写成类的 形式, 于是在声明的时候 想给类加个array 属性
于是expect 代码是这样的

  1.  
  2. PHP_MINIT_FUNCTION(concurrency)
  3. {
  4.         zend_class_entry ce;
  5.         INIT_CLASS_ENTRY(ce, PHP_CONCURRENCY_CLASSNAME, concurrency_class_methods);
  6.         concurrency_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
  7.  
  8.         zval *requests;
  9.  
  10.         MAKE_STD_ZVAL(requests);
  11.  
  12.         array_init(requests);
  13.  
  14.         zend_printf("%d", requests->type);
  15.         zend_declare_property(concurrency_class_entry, "requests", strlen("requests"), requests, ZEND_ACC_PUBLIC);
  16.  
  17.         return SUCCESS;
  18. }
  19.  

结果报错,
PHP Fatal error: Internal zval’s can’t be arrays, objects or resources in Unknown on line 0
把requests->type 用zend_printf打出来发现 结果是4 是 ZEND定义的IS_ARRAY,
继续翻代码
发现在Zend/zend_API.c 里面zend_declare_property的原型 有这样的定义

  1.  
  2.         if (ce->type & ZEND_INTERNAL_CLASS) {
  3.                 switch(Z_TYPE_P(property)) {
  4.                         case IS_ARRAY:
  5.                         case IS_CONSTANT_ARRAY:
  6.                         case IS_OBJECT:
  7.                         case IS_RESOURCE:
  8.                                 zend_error(E_CORE_ERROR, "Internal zval’s can’t be arrays, objects or resources");
  9.                                 break;
  10.                         default:
  11.                                 break;
  12.                 }
  13.         }
  14.  

不知何意看
staceflow 上也有人遇到这种问题

http://stackoverflow.com/posts/1105360/revisions

,没办法,
于是就改成在构造函数里面 增加属性的声明
just as follow

  1.  
  2. PHP_METHOD(Concurrency, __construct)
  3. {
  4.         zval *pThis;
  5.         pThis = getThis();
  6.        
  7.         zval *requests;
  8.         MAKE_STD_ZVAL(requests);
  9.         array_init(requests);
  10.  
  11.         add_property_zval_ex(pThis, "requests", sizeof("requests"), requests);
  12. }
  13.  

在这里记下!

2010/08/25

关于 ubuntu 下 eclipse 代码编辑区域 在代码 补全 后不能编辑 的笔记

Filed under: Uncategorized — 佳音 @ 12:25 下午

以前没有发现这个问题, 今天下了一个eclipse3.6 装了之后,发现编辑代码时,补全之后 编辑器貌似还在获得焦点,
但是不能type 字符,很奇怪,
google 了一下,没有找到,解决方案,
这次baidu很出息,找到是scim问题, 据说还是一个老问题,

修改
/etc/X11/xinit/xinput.d/scim
将原来的
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
改成
GTK_IM_MODULE=scim
QT_IM_MODULE=scim

之前在切换 terminal 的之后, 开始的时候键盘反应慢的问题也解决了。

2010/07/25

Twitter 更新 for 2010-07-25

Filed under: Uncategorized — 标签: — 佳音 @ 4:20 下午
  • firefox + foxyproxy + ssh 比vpn 好用多了 #

Powered by Twitter Tools

Twitter 更新 for 2010-07-25

Filed under: Uncategorized — 标签: — 佳音 @ 4:20 下午
  • firefox + foxyproxy + ssh 比vpn 好用多了 #

Powered by Twitter Tools

2010/06/03

High.Performance.MySQL2nd.Edition

Filed under: 电子书 — 佳音 @ 4:46 下午

O’Reilly.High.Performance.MySQL,2nd.Edition
O’Reilly.High.Performance.MySQL,2nd.Edition中文版

2010/05/15

git手册

Filed under: Uncategorized — 佳音 @ 11:41 上午

http://progit.org/book/zh/

2010/05/14

pylons 部署 + fastcgi

Filed under: Uncategorized — 佳音 @ 4:54 下午

http://www.rightbrainnetworks.com/blog/deploying-a-pylons-app-to-production-step-by-step-part-2-of-2/comment-page-1/#comment-27

2010/05/13

python datamodel 貌似这页应该好好看下

Filed under: Uncategorized — 佳音 @ 11:19 下午

http://docs.python.org/reference/datamodel.html

2010/05/12

the.Definitive.Guide.to.Pylons.Dec.2008.pdf

Filed under: python — 佳音 @ 12:35 上午

Apress.the.Definitive.Guide.to.Pylons.Dec.2008

« Newer PostsOlder Posts »

Powered by 00RZ