Posted by bianbian on 2006-11-17 15:46
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: 电信
居然用Squid做代理缓存了,难怪这段时间总是第一次打开网页打不开。更无耻的是,这样还要限速限流量,简直是无法无天。
错误
您所请求的网址(URL)无法获取
当尝试读取以下网址(URL)时:
发生了下列的错误:
Connection Failed
连接失败
系统返回以下内容:
(110) Connection timed outThe remote host or network may be down. Please try the request again.
您要连结的网络服务器或网络可能发生故障。请稍后再试。
本缓存服务器管理员:webmaster
Generated Fri, 17 Nov 2006 07:42:32 GMT by squid217 (squid/2.5.STABLE14)
标签:
电信遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Uncategorized | 4 Comments »
Posted by bianbian on 2006-11-13 23:23
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: PX200, 电器
包装很好,卖家用的是硬盒。经过这几次网购,淘宝二钻以上的卖家(当然要没有虚假信用)绝对是可以相信的!
另外,请教了一些朋友,关于煲机,说要听收音机无台的频道,要听不同的频段,低沉的尖锐的都要听个遍。。。。
PX200是一款可折叠式的耳机,它采用了森海塞尔独特设计的可折叠式头架,装在一个像眼睛盒一样的盒子里面,同样非常便于携带。这款耳机在头架上有两个垫棉,可以舒服地贴在头顶上,因此戴在头上几乎感觉不到它的存在。PX200高达115DB的灵敏度、仅32欧的阻抗,随便一个随声听都可以将它推的非常好。它的低音非常出色,饱满并且浑厚有力、而且弹性十足,空间感、层次感都非常不错,中高频表现比低音稍差一点。而且这款耳机采用了封闭式的设计,低频能够得到更好的回馈,所以听起来更觉得低频结实有力。
标签:
PX200,
电器遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Entertainment, Not IT | 4 Comments »
Posted by bianbian on 2006-11-07 19:47
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: GPL, Java, OSCache
比较好用,改天再来说一下。
http://www.opensymphony.com/oscache/wiki/JSP%20Tags.html#JSPTags-cache
标签:
GPL,
Java,
OSCache遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Java, Technology | No Comments »
Posted by bianbian on 2006-11-01 15:05
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: meizu, 魅族
包装里少了雨伞和抱枕,另外,说好送的魅族PT800耳机变成了微星S60。其他都不错,包装减震也比较到位。
于是和卖家联系,卖家挺实在,淘宝4钻不是盖的,说装包的不是他,可能搞错了。
今天就会把漏送的寄过来,多出来的S60耳机也送我了。总体还不错,我其实是比较满意的(主要是发货快和包装挺实在的)。
推荐一下:http://auction1.taobao.com/auction/0/item_detail-0db1-0c1e354f92f12d2f0d0d90e7707a5dca.jhtml
那样送的东西就变成一个抱枕、一个水晶盒、一个充电器、两个塑胶套、一个PT800、一个微星S80、一把雨伞。
第一次网上买超过1k的东西,还算不错的开端吧。
M6大小大概是一张银行卡的大小,整个比PSP的屏幕稍小一点:

11月2日补记:东西收到了。这次的包装更坚实。好卖家!以后一定还会去买的。
标签:
meizu,
魅族遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Entertainment, Not IT | 3 Comments »
Posted by bianbian on 2006-10-30 07:45
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: apache, 反向代理, 模块
除了用端口映射(当然,要在转发数据包前传递客户端IP地址给内网服务器)来实现反向透明代理以外,利用apache的mod_proxy也是一种办法。而后一种办法更方便的地方是一个80端口可以给很多域名使用(即虚拟主机)——当然前一种也是可以,只要根据不同域名把数据包转发到不同内网服务器而已,我只是懒得写而已;因为工作量显然是直接用apache来得少。。。。
我贴出用后一种办法实现以前lilybbs.net公网代理的代码;之所以要自己写apache的模块,是因为直接用mod_proxy是不能传递客户端的IP地址给真正的内网服务器的。我原本打算是插入自定义的一个HTTP头来实现IP传递,这样一般是没有问题;但是当客户端本身访问网络经过Squid代理时,Squid会删除掉非标准的HTTP头,真是FT。所以我采用的方法是通过”Accept-Language”头传递客户端IP地址,”Accept-Language”是用来标示客户端接受的页面语言顺序(中文?英文?之类),在非国际化的网站中并没有很大的用处。
apache的模块编写其实很简单,大部分都是架子工程,直接贴过来就可以。
代码如下(代码经过lilybbs.net公网访问测试OK,不过现在学校网络中心停止了lilybbs.net的公网出口)。
-
- #include "httpd.h"
- #include "http_config.h"
- #include "http_core.h"
- #include "http_log.h"
- #include "http_protocol.h"
- #include "http_vhost.h"
- #include "apr_strings.h"
-
- module AP_MODULE_DECLARE_DATA lilybbsip_module;
-
-
- typedef struct {
- int enable;
- } lilybbsip_server_cfg;
-
- static void *lilybbsip_create_server_cfg(apr_pool_t *p, server_rec *s) {
- lilybbsip_server_cfg *cfg = (lilybbsip_server_cfg *)apr_pcalloc(p, sizeof(lilybbsip_server_cfg));
- if (!cfg)
- return NULL;
-
- cfg->enable = 0;
-
- return (void *)cfg;
- }
-
-
- static const char *lilybbsip_enable(cmd_parms *cmd, void *dummy, int flag) {
- lilybbsip_server_cfg *cfg = (lilybbsip_server_cfg *)ap_get_module_config(cmd->server->module_config, &lilybbsip_module);
- cfg->enable = flag;
- return NULL;
- }
-
- static const command_rec lilybbsip_cmds[] =
- {
- AP_INIT_FLAG(
- "LilybbsipEnable",
- lilybbsip_enable,
- NULL,
- RSRC_CONF,
- "Enable mod_lilybbsip"
- ),
- { NULL }
- };
-
- static int ip_lilybbsing_handler(request_rec *r) {
-
- lilybbsip_server_cfg *cfg = (lilybbsip_server_cfg *)ap_get_module_config(r->server->module_config, &lilybbsip_module);
- if (!cfg->enable)
- return DECLINED;
-
- //通过Accept-Language传递IP
- apr_table_set(r->headers_in, "Accept-Language", r->connection->remote_ip);
-
- return DECLINED;
- }
-
-
- static void register_hooks(apr_pool_t *p)
- {
- ap_hook_post_read_request(ip_lilybbsing_handler, NULL, NULL, APR_HOOK_MIDDLE);
- }
-
- module AP_MODULE_DECLARE_DATA lilybbsip_module =
- {
- STANDARD20_MODULE_STUFF,
- NULL,
- NULL,
- lilybbsip_create_server_cfg,
- NULL,
- lilybbsip_cmds,
- register_hooks,
- };
使用的时候在vhost(虚拟主机)内设定:
LilybbsipEnable On
ProxyRequests Off
ProxyPass / http://bbs.nju.edu.cn
标签:
apache,
反向代理,
模块遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in C/C++, Linux, Technology | 2 Comments »
Posted by bianbian on 2006-10-28 22:43
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: 搞笑
便便游完泳,在路边吃点小吃,所以回家时间不准时了。
噓噓:便便你在哪呢?
便便:我刚吃了点东西,现在走得很快,马上就到了。
噓噓:便便你不要急,慢慢来。
便便:我不急,尿急。
噓噓:噓噓不急
便便:……
标签:
搞笑遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Not IT, bianbian & xuxu | No Comments »
Posted by bianbian on 2006-10-27 01:40
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: PostgreSQL, 存储过程, 数据库
今天学会了用 PL/pgSQL 写 postgreSQL 的存储过程,网上资料实在少得可怜,唯一能搜到的一些还是抄来抄去的;还是翻postgresql的文档吧,把今天解决的问题说一下吧,希望对其他人有帮助。
问题是这样的,有一张message表:
CREATE TABLE message
(
id int8 NOT NULL,
receiveuserid int8,
senduserid int8,
receivedelete bool DEFAULT false,
senddelete bool DEFAULT false,
……
CONSTRAINT usermessage_pkey PRIMARY KEY (id)
)
略去其他字段,senduserid是发信息的用户id,senddelete如为true则表示这条消息被发信人所删除;至于receive我就不用说了。一条信息只有被发信人和收信人都删除,才能真正从表里删除(这是显然的,否则收信人删了一条消息后,发信人的“发件箱”里就会找不到这条消息)。
所以删除消息(可能是多条消息)的时候要进行各种判断(是否是发信人?是否是收信人?是否真正删除?),用单条SQL语句完成这个工作显然有些困难(当然用循环嵌套select不考虑效率的话也是可以实现的),只好写存储过程了。
顺便介绍常用的PL/pgSQL结构和语法吧:
- 结构
PL/pgSQL是一种块结构的语言,比较方便的是用pgAdmin III新建Function,填入一些参数就可以了。基本上是这样的:
CREATE OR REPLACE FUNCTION 函数名(参数1,[整型 int4, 整型数组 _int4, ...])
RETURNS 返回值类型 AS
$BODY$
DECLARE
变量声明
BEGIN
函数体
END;
$BODY$
LANGUAGE ‘plpgsql’ VOLATILE;
- 变量类型
除了postgresql内置的变量类型外,常用的还有 RECORD ,表示一条记录。
- 赋值
赋值和Pascal有点像:“变量 := 表达式;”
有些奇怪的是连接字符串的是“||”,比如 sql := ‘SELECT * FROM’ || table || ‘WHERE …’;
- 判断
判断又和VB有些像:
IF 条件 THEN
…
ELSEIF 条件 THEN
…
ELSE
…
END IF;
- 循环
循环有好几种写法:
WHILE expression LOOP
statements
END LOOP;
还有常用的一种是:(从1循环到9可以写成FOR i IN 1..9 LOOP)
FOR name IN [ REVERSE ] expression .. expression LOOP
statements
END LOOP;
- 其他
还有几个常用的函数:
SELECT INTO record …; 表示将select的结果赋给record变量(RECORD类型)
PERFORM query; 表示执行query并丢弃结果
EXECUTE sql; 表示执行sql语句,这条可以动态执行sql语句(特别是由参数传入构造sql语句的时候特别有用)
最后,贴出解决上面这个问题的存储过程吧:
- CREATE OR REPLACE FUNCTION message_deletes(ids "varchar", userid int8)
- RETURNS int4 AS
- $BODY$
- DECLARE
- r RECORD;
- del bool;
- num int4 := 0;
- sql "varchar";
- BEGIN
- sql := 'select id,receiveuserid,senduserid,senddelete,receivedelete from message where id in (' || ids || ')';
- FOR r IN EXECUTE sql LOOP
- del := false;
- IF r.receiveuserid=userid and r.senduserid=userid THEN
- del := true;
- ELSEIF r.receiveuserid=userid THEN
- IF r.senddelete=false THEN
- update message set receivedelete=true where id = r.id;
- ELSE
- del := true;
- END IF;
- ELSEIF r.senduserid=userid THEN
- IF r.receivedelete=false THEN
- update message set senddelete=true where id = r.id;
- ELSE
- del := true;
- END IF;
- END IF;
- IF del THEN
- delete from message where id = r.id;
- num := num + 1;
- END IF;
- END LOOP;
- return num;
- END;
- $BODY$
- LANGUAGE 'plpgsql' VOLATILE;
测试使用:

标签:
PostgreSQL,
存储过程,
数据库遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Database, Technology | 4 Comments »
Posted by bianbian on 2006-10-25 15:03
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: bug, Copy, 命令, 解决
先来看看copy的语法:
C:\Documents and Settings\Administrator>copy /?
将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。
/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V 验证新文件写入是否正确。
/N 复制带有非 8dot3 名称的文件时,
尽可能使用短文件名。
/Y 不使用确认是否要改写现有目标文件
的提示。
/-Y 使用确认是否要改写现有目标文件
的提示。
/Z 用可重新启动模式复制已联网的文件。
命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批文件脚本中执行的,默认值应为
在改写时进行提示。
要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。
其中,file1+file2+file3还是挺好用的,我一般拿来合并JS脚本,比如:
copy bianbian.main.js + bianbian.DOM.js + bianbian.other.js bianbian.src.js /Y
jsmin <bianbian.src.js >bianbian.js
(用jsmin来删除注释缩进等等,让代码小一点)。
不过,现在发现多文件合并有bug:
1)合并以后在文件末尾会产生一个奇怪的字符(十六进制ASCII码为”1A”),如果直接引用这个js,则任何浏览器都会报错。不过这个字符用jsmin了以后就会被删除,所以这个bug倒并不要紧
2)如果这些文件格式是UTF-8的,合并的时候不会删除每个文件的UTF-8头声明,导致解析出错。我们知道UTF-8格式的文件会用“FF FE”开头(可以看做UTF-8声明),而copy只是简单地将所有文件的ASCII码合并,所以合并后的文件正文也会有“FF FE”。这样,会导致每个源文件第一行的脚本解析出错(比如function,会解析成 ?unction,此处问号表示不认识的字符。不过这个解析目前只在Opera下发现出错)
。解决的办法是每个源文件的第一行都留空,不要写脚本。
标签:
bug,
Copy,
命令,
解决遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Technology, Windows | 6 Comments »
Posted by bianbian on 2006-10-23 13:14
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: AutoIt3, 刻盘, 自动
由于我实验室的电脑每小时都要接收一百多兆的卫星数据,刻DVD成了我郁闷不勘的体力活。
前阵子用Delphi写了监听目录,一旦有卫星数据传送完毕,就自动调用RAR压缩,省下几天时间(数据嘛,压缩一下小很多的)。
不过还是挺麻烦,像我这种懒人,最烦体力活了。于是,用AutoIt3写了个自动调用Nero 6 Express刻盘的。原理是:上面说的那个Delphi监听目录程序过一段时间检查数据目录,一旦超过一张盘片的容量了,就调用Nero 6 Express,将目录里所有文件全选进来,然后从底部一个一个删除超过容量的,然后就可以刻录了。刻完以后盘片会弹出来,再将Nero 6关掉,等待下一次刻盘。
唯一的麻烦是虽然自动刻盘了,还得人工去换盘……
我想了几天,没想到什么可行的办法实现自动换盘,现在暂时是刻完一张盘就自动给小师弟发短信,让他来换盘……
标签:
AutoIt3,
刻盘,
自动遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in AutoIt3, Technology | 8 Comments »
Posted by bianbian on 2006-10-22 14:22
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: 必胜客
虽然去必胜客几十次了,还是第一次亲手叠沙拉——以前这种细致活都是噓噓的啦。
嘿嘿,好像也还可以。本来想再加几层黄瓜的,噓噓说四个人吃太够了,于是作罢:

标签:
必胜客遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Not IT, bianbian & xuxu | No Comments »
Posted by bianbian on 2006-10-20 21:57
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: bug, IE, JavaScript, UTF-8
莫名其妙的脚本问题,脚本肯定没有写错,在IE中就是报错,在Firefox中一切正常:页面是UTF-8的,脚本用了插入页面。
(略去若干抓狂文字。。。。。。)
bianbian.js是ANSI编码的,用记事本保存为UTF-8编码,错误没有了。我觉得是IE的bug:页面是UTF-8编码的,为什么一定要求引用的其他文件也是UTF-8?
下次遇到IE下脚本很奇怪的错误不如看看JavaScript脚本和页面的编码是不是一致。
标签:
bug,
IE,
JavaScript,
UTF-8遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in JavaScript, Technology | 1 Comment »
Posted by bianbian on 2006-10-16 17:00
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: 嘘嘘
*嘘嘘 12:39:42
laopo想你,,便便要注意自己的作息规律,,,,只有有了精神才可以工作学习,好好生活哦,,真的,,老婆想你,,,
*嘘嘘 12:44:27
老婆现在觉得自己现在终于过了那个无止尽晚班的生涯,,真的是很好哦,现在每天都会在8点左右醒过来,,这感觉比以前的每天半夜才睡的感觉好很多了哦,,,真的想你,,想我们好,,
*嘘嘘 12:47:05
便便如果压力太大,就不要在这公司兼职了,老婆知道便便知道如果便便不去上班,我们俩的生活就不会这么滋润了,可是便便这么辛苦老婆也心疼,便便可以找个无所谓一点的工作。工资1000就可以了哦,
*嘘嘘 12:50:02
好么?便便这么早就承担了家庭的负担,老婆知道便便是为了让嘘嘘过得好一点,这点便便不要担心,老婆能吃苦的,都没有关系,老婆想你,只要我们生活时的精神状态好,就好了,,,我们很快就会在一起的,,,
*嘘嘘 12:52:10
我们俩都得改改,,做事过于认真,又做得还不错,这样的后果就是我们在为自己找事情做,,这样要做的事就会越来越多,,,老婆想你,,,,,
*嘘嘘 12:57:48
老婆这几天在想到底值不值得这么认真地去做事情呢,也许也该学着世故,我们得学着怎么做人,做人做好了,我们做事的压力就不会这么大了,,便便觉得呢,,,,
*嘘嘘 12:58:44
老婆想你,,,,,
标签:
嘘嘘遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Not IT, bianbian & xuxu | 2 Comments »
Posted by bianbian on 2006-10-11 16:23
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: bug, iGenus, qmail, UTF-8, 编码
最近帮忙解决了一个问题(下面的全凭回忆输入,可能拼写上有问题):很古老的qmail+iGenus webmail系统,邮件若是UTF-8编码则显示乱码(缺省编码为GB2312)。主要解决办法就是利用iconv进行转码:
先看看有没有iconv模块,如果没有,需要重新编译php(如果iconv系统里没有装,得先安装iconv:去 http://www.gnu.org/software/libiconv/ 下载,./configure,make,make install),编译php的时候加上 –with-iconv
如果php是静态模块方式和apache绑定的,还得把apache重新编译一下:./configure –activate-module=src/modules/php4/libphp4.a,make clean,make,make install
然后打开iGenus include目录下的Fun_inc.php,找到Decode_mime()函数,在B和Q解码以后加上
- if(strtolower($Charset)=='utf-8') $Text = iconv('UTF-8', 'GB2312', $Text);
还有一个地方是正文的编码,打开include目录下的Prev_inc.php,找到Decode_text()函数,为了防止出现错误,复制一下Decode_text(),比如Decode_text_my(),并增加一个参数:$Charset。在函数内解析完数据准备写到文件之前转码:
- if(strtolower($Charset)=='utf-8') $buff = iconv('UTF-8', 'GB2312', $buff);
打开iGenus主目录下的prev.php,找到调用Decode_text()的两个地方,改成Decode_text_my(),并增加传递一个参数:$Charset
总结:我看的那个iGenus版本php写得很是糟糕,在那个上面改东西有一种想死的冲动……
标签:
bug,
iGenus,
qmail,
UTF-8,
编码遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Technology, php | 3 Comments »
Posted by bianbian on 2006-10-10 14:52
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: AutoIt3, 文档
感谢yonken的前期翻译工作和对我的信任。
我最近有些忙,现在只是整理了目录结构,把删掉的部分补齐(未翻译)。抽空的时候我会继续翻译。
文档在此:AutoIt 3中文在线帮助文档
标签:
AutoIt3,
文档遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in AutoIt3, Technology | 1 Comment »
Posted by bianbian on 2006-09-29 21:53
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: VPN, 端口映射, 远程桌面
先看完我的测试。。。。。
先介绍一下,家里有个没有显示器的台式机连在路由上天天下BT,平时用笔记本双机互联在台式机上上网。
1) telnet挂站测试:
小百合BBS可以登录三个窗口,于是:
笔记本->远程_家里台式机 登一个;
笔记本->远程_家里台式机->VPN南大校内->远程_实验室机器 登一个;
笔记本->远程_家里台式机->公司路由端口映射->远程_公司机器 登一个
2) 连环测试:
笔记本->远程_家里台式机->公司路由端口映射->远程_公司电脑->家里路由端口映射->远程_家里台式机->远程_笔记本(xp,把自己踢了)
标签:
VPN,
端口映射,
远程桌面遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Technology, Windows | No Comments »