[啊] 好久没更新了,I’m back now!
Posted by bianbian on 2008-06-03 10:25
本文Tags: 照片
都在忙一件事情:
遵守创作共用协议,转载请链接形式注明来自http://bianbian.org 做人要厚道
相关日志
Posted in Not IT | 2 Comments »
Posted by bianbian on 2008-06-03 10:25
本文Tags: 照片
都在忙一件事情:
Posted in Not IT | 2 Comments »
Posted by bianbian on 2008-05-21 16:02
随着我国民航运输业的迅猛发展,区域预警预报的作用日益突显,对此项技术的研究已成为迫在眉睫的任务。民航气象系统应加强综合立体探测系统的建设,加快精细化航空数值预报系统的建设,通过加强实时探测资料的联网应用、建立航空危险天气要素预警预报模型和资料共享平台等手段,提高危险天气的预警和临近预报水平,为保障飞行安全、提高空域容量、提升运行效率提供辅助决策工具。
标签: 区域预警, 民航, 气象Posted in Meteorology, Not IT | No Comments »
Posted by bianbian on 2008-05-16 00:30
今天偶然又发现一个gmail强悍的功能:
把exe文件改名为doc,比如cmd.exe.doc,然后当附件上载。(因为不允许直接上载exe)
然后收到以后因为是doc结尾,会列出“在 HTML 格式下查看 以 Google 文档打开 下载”功能,这时候点了“在HTML格式下查看”。我想出个乱码应该是常理。
结果,强悍的gmail取出了exe里的格式信息(exe由几个段构成,详细请查询exe文件格式,此不赘述):
Read the rest of this entry »
Posted in Technology | 3 Comments »
Posted by bianbian on 2008-05-14 13:15
本文Tags: apache, IdP, LDAP, Shibboleth, tomcat
首先佩服老外:1)把简单的东西搞得很复杂 2)很会创造标准和协议
这次遇到的Shibboleth就是这么个东西,看了两天英文,对人为复杂、创造协议痛恨中。简单写个配置指南,给其他人做个参考,少走弯路。
注意:
1) 系统时间必须设置正确
2) apache 需要 mod_ssl mod_proxy_ajp,假设安装在 /etc/httpd
3) 必须使用 tomcat-5.5.x+,假设安装在 /opt/apache-tomcat-5.5.26
4) 如果需要改变安装目录重新安装,必须退到解压那步(否则很多和目录有关的代码不会重新编译,导致严重错误–啊!我整整一天的痛苦啊!)
Read the rest of this entry »
Posted in Java, Technology | No Comments »
Posted by bianbian on 2008-05-10 21:23
![]()
用了2罐黄瓜(这次的黄瓜实在太小,中间停工一次,等店里补充),1罐菠萝(菠萝只剩残渣,因此中间不整齐),2罐黄桃(中间全是黄桃,哈哈哈哈)
Posted in Not IT, bianbian & xuxu | 3 Comments »
Posted by bianbian on 2008-05-06 21:12
使用方法:
[code]
代码
[/code]
目前支持:C/C++、Java、Python、Bash、SQL、HTML、XML、CSS、Javascript、Makefile、Ruby、PHP、Awk、Perl
效果示例:
Read the rest of this entry »
Posted in JavaScript, Technology | 2 Comments »
Posted by bianbian on 2008-05-05 10:42
尽管solr 1.3还是dev版,目前还没release,它比1.2多的很多特性(特别是multicore的支持)还是让我选择了1.3(1.2用了一段时间,多个索引要复制多份,非常麻烦)。
使用基本和solr 1.2差不多,几乎没什么难度就切换到1.3了。只是多了multicore的配置:
solr/home比如设为/opt/solrs
在/opt/solrs下新建multicore.xml
Posted in Java, Technology | No Comments »
Posted by bianbian on 2008-05-01 21:25
也许跟FORTRAN差不多,那也是我为什么讨厌FORTRAN最大的原因
比如我要输出 YY-MM-DD hh_mm_ss 的时间格式:
IDL> PRINT, FORMAT= $
IDL> '(C(CYI2.2,"-",CMOI2.2,"-",CDI2.2,CHI3.2,"_",CMI2.2,"_",CSI2.2))', $
IDL> SYSTIME(/JULIAN)
OMG…..Orz……
Posted in ENVI & IDL, Technology | 1 Comment »
Posted by bianbian on 2008-04-25 21:16
这几天做了一个东西:在DAO上往数据库插入一个bean的时候,用java反射机制自动产生SQL语句,同时publishEvent触发bean更新事件,事件监听类根据配置文件处理bean并自动提交到Lucene(Solr)全文检索(主要是bean的属性跟Solr字段的对应)进行准实时的索引更新(当然bean有缓冲);反过来,检索结果有望自动转成bean丢给用户callback。
danny这个巨牛完成的基于spring的再次开发框架除了自动controller Action绑定、ResultSet自动转成bean、自动分页、自动View视图等等快捷开发功能外(Orz),现在支持自动全文检索了,而且整个过程对其他开发人员是无缝过渡的,建立全文索引不需要修改任何一处代码(其实概念上用AOP比事件监听更适合:“可热插拔”的全文检索切面,但是事件监听最大的优势是异步的,全文检索准实时索引更新这种需求用AOP同步包装一层实在是太不实际了):只要在配置文件里指定哪些数据表的bean哪些字段需要全文检索,OK。。。添加或者全记录更新的时候索引都会准实时更新——而且几乎近似热插拔。
Posted in Java, Technology | 1 Comment »
Posted by bianbian on 2008-04-20 15:43
本文Tags: JavaScript, 正则表达式, 解决
发信人: Net (BBS上没有什么事情是bg不能解决的), 信区: WebDesign
标 题: Re: 如何使用正则分别替换?
发信站: 南京大学小百合站 (Sun Apr 20 15:21:23 2008)
不太可能一句话搞定,不过有相对而言的解决办法:
1) 简单易懂
2) 勉强算一句话吧。。。
【 在 superphoenix (格云朱雀) 的大作中提到: 】
: 比如要将一个字符串中的A替换为asdf,B替换成fdsa,C替换成……
: 能不能用一个正则话就替换成功?
: 而不是写成str=str.replace(/A/g,”asdf”).replace(/B/g,”fdsa”)….
: 谢谢!
※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: Net.nEt.neT.Orz]
标签: JavaScript, 正则表达式, 解决Posted in JavaScript, Technology | No Comments »
Posted by bianbian on 2008-04-20 01:08
本文Tags: binary, bug, pack, php, struct, unpack, 二进制, 数据, 解决
尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持。
不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转:
其中,$format跟perl里的pack格式类似,有如下一些(中文是我加的,有不准确的欢迎提出):
a NUL-padded string,即“\0”作为“空字符”的表示形式
A SPACE-padded string,空格作为“空字符”的表示形式
h Hex string, low nibble first,升序位顺序
H Hex string, high nibble first,降序位顺序
c signed char,有符号单字节
C unsigned char,无符号单字节
s signed short (always 16 bit, machine byte order)
S unsigned short (always 16 bit, machine byte order)
n unsigned short (always 16 bit, big endian byte order)
v unsigned short (always 16 bit, little endian byte order)
i signed integer (machine dependent size and byte order)
I unsigned integer (machine dependent size and byte order)
l signed long (always 32 bit, machine byte order)
L unsigned long (always 32 bit, machine byte order)
N unsigned long (always 32 bit, big endian byte order)
V unsigned long (always 32 bit, little endian byte order)
f float (machine dependent size and representation)
d double (machine dependent size and representation)
x NUL byte,实际使用的时候作为跳过多少字节用,很有用
X Back up one byte,后退1字节
@ NUL-fill to absolute position,实际使用的时候作为从开头跳到某字节用,很有用
实际使用发现:C里的“\0”(即字符串终止符)在php里并不是终止符,而是作为了字符串的一部分。因此,必须对“\0”进行特殊处理,才能进行struct和php内部数据的完美互转。比如 char name[10]; 如果实际数据是“62 69 61 6E 00 62 69 61 6E 00”,在C语言里第5个位置有终止符,name应该是“bian”;而用了unpack转换以后在php里的name却是“bian\0bian\0”。
一开始我用了strpos函数找到“\0”的位置,然后进行substr截取:
不过很Faint的事情发生了,不知道是strpos的bug还是substr的bug(其实测试一下就知道,懒得试),有些字符串没问题,有些字符串却只能得到空值(即$name == ”)。很是郁闷,后来找了个strtok函数,这下没有问题了:
难为大家看了那么多,下面写个完整的php读取二进制数据流(C语言结构体struct数据)文件的示例代码:
首先是C的struct定义示例,为了演示,我就写个简单点的,实际对照上面那个$format格式表应该没有问题:
比如有个“bianbian.org”文件,内容就是上面的N个BIANBIAN结构体构成的。读取的php代码:
pack应该跟unpack相反。
标签: binary, bug, pack, php, struct, unpack, 二进制, 数据, 解决Posted in Technology, php | 5 Comments »
Posted by bianbian on 2008-04-15 11:08
ftp4j是个很年轻的开源项目,但是试用后发现很好很强大,如果你找一个纯java的FTP库,要支持socks4,socks4a,socks5,http代理,就是他了!
比apache的FTPClient(不支持代理)、半商业的edtFTPj(PRO支持代理,但是要$,而且是系统变量级的代理,不能单个指定)等好用多了,而且是LGPL协议,源码质量很高。(不过如果你需要FTPS及SFTP,那ftp4j不支持)
jar包只有50多k,地址在这里:ftp4j
使用代理的代码:
Posted in Java, Technology | 2 Comments »
Posted by bianbian on 2008-04-09 21:16
php 5的流读取函数好像默认编码是UTF-8,以前在php 4里直接file_get_contents()读取gb2312编码的正常,到了5就乱码了。网上的解决办法说抓取后用iconv()转码。看后我就觉得不对劲:一个是不一定编译了iconv库,更大的问题是编码都跟流转换的时候有关(如果用了iconv实际上php转了两次码:流 -> UTF-8 -> GB2312):这不是白忙乎了吗?
仔细看了下php的文档(不知道大家都是怎么写代码的,其实文档上很清楚啊),上面关于fopen()及file_get_contents()都提到了“默认是UTF-8,但是用户可以用stream_default_encoding()或者用户自定义上下文属性改变编码”(If unicode semantics are enabled, the default encoding of the read data is UTF-8. You can specify a different encoding by creating a custom context or by changing the default using stream_default_encoding().)。于是用stream_default_encoding(’gb2312′);测试:但是faint的是,这个函数不存在?!似乎php 6才支持。不过天无绝人之路,还有“用户自定义上下文属性”可以用。
经过更仔细的看文档,最后解决了这个问题:
Posted in Technology, php | No Comments »
Posted by bianbian on 2008-04-09 11:13
上次讨论了C的struct结构体与JSON交互,并提出了能否自动把struct转为JSON的问题。
今天我总算解决了这个问题,虽然中间也想过传参数给一个函数集中处理,不过都是比较麻烦。我写了一个脚本,自动生成把struct的成员插入json_object的函数,底下页面有演示:auto generate function of C struct to JSON:
Posted in C/C++, Technology | 4 Comments »
Posted by bianbian on 2008-04-07 01:28
本文Tags: BBS, Firefox, IE, JavaScript, 脚本
最近发现个别网友访问小百合BBS会出现如下提示:
见到此文字可能是由于浏览器禁用了活动脚本或者脚本有误
请启用脚本支持后刷新本页;若仍有问题,请点击这里提问
原理:使用Javascript动态输出框架结构(好处是能缓存静态化网页,区别guest用户和登录用户)。因此,一旦这步出现错误,框架结构未建立成功,那么就会显示body里的提示内容。
原因:
(1)浏览器版本不支持。目前小百合BBS支持IE5.5(不保证全部功能有效),完美支持IE6+、Firefox 2.0+、Opera 9+等。如果您的浏览器不在此列,并且测试正常,欢迎反馈。
(2)浏览器脚本引擎未启用。您可以点击这里测试:如果能弹出“脚本启用”,那说明这项没有问题;否则,请修改设置如下:
Firefox: IE:
(3)脚本有误。可能性不是很大,除非刚好碰到更新的脚本确实存在错误。基本上我都会测试以后才放上去。不过万一你怀疑是这个问题,可以telnet方式到sysop版看看,如果其他人都没问题那基本就只是您的问题了。
(4)浏览器缓存内的脚本版本过旧。因为浏览器缓存脚本文件(这样不需要每次都下载,加快速度),如果服务器端已经更新了脚本文件,而您的浏览器缓存因为各种原因没有更新,可能也会导致这个问题。请清空浏览器缓存后刷新测试:
Firefox: IE:
(5)校内用户访问BBS请关闭代理服务器。
(6)浏览器或系统部分DLL(动态链接库)功能因为病毒或木马的原因失效(Windows系统),请点此下载修复程序,保存后运行,然后重新打开浏览器测试。
如果还有问题,请留言将您的操作系统、浏览器(基本是IE出问题)及版本、杀毒软件等告知。另外推荐使用Firefox:
标签: BBS, Firefox, IE, JavaScript, 脚本Posted in JavaScript, Technology | 31 Comments »