-
Recent Posts
Recent Comments
- fdaf on SVN — import
- 千寻 on 常用的正则表达式及符号诠释
- 55659 on 常用的正则表达式及符号诠释
- 55659 on 常用的正则表达式及符号诠释
- vincent on Python的调试
Archives
Categories
Meta
Category Archives: Web应用
wxMozilla
地址:http://wxmozilla.sourceforge.net/ wxMozilla is a project to develop a wxWindows component for embedding the Mozilla browser into any wxWindows application. The wxMozilla classes use Mozilla’s XPCOM (Cross Platrom COM) interface to embed a HTML browser or editor within the application. 一直以为,如果自己的程序想嵌入网页,而且兼容性要好一点,就只能使用IE,但是今天突然发现这个家伙,呵呵,看来嵌入firefox也是有希望的啊.
Google的Code站点开张了
站点:http://code.google.com/ 不过这个站点的RSS种子是atom的,用我现在的FeedDemon不认这种格式的种子。好像也没有提供邮件汇总功能,想得到信息估计只能到站点去看了。 这个站点提供了Google自己的一些API,像AdWords – Blogger – Deskbar – Desktop Search – Froogle – Gmail – Groups – Keyhole – Web search,目前也已经存在几个开源的项目了 CoreDumper, Sparse Hashtable,Goopy/Functional,Perftools。 就个人感觉而且,我是非常看好这个站点的,现在开源的是越来越流行了,软件开发已经从原先意义上的技术型开发转为了应用型的开发(业务开发),很多底层的东西,需要的是稳定是根据自己的需求进行修改,因此开源的底层会是越来越欢迎的。
Posted in Web应用, 我的原创
Leave a comment
对日志操作logging的一点补充
昨天照猫画虎的画了日志的雏形,不过封装做的很不好,虽然昨天没有具体的测试封装结果,但是今天的调试发现了很多的问题。 今天我在日志的格式中增加了“<%(pathname)s> -%(lineno)d-”参数,用于输出日志输出时所能输出的文件和源码行号。但是由于我对日志输出部分进行了再次封装,发现所给的文件是日志所在的文件,行号为封装函数调用日志对象所用方法的行号。这种输出对于日志用处是不大的,于是我只好在没有找到好的方法的情况下不进行封装了,直接调用日志对象的信息输出函数。还有,昨天给的那种封装到函数中的方法是不推荐的,因为函数调用一次就生成一个日志对象,这样调用次数越多,对象就越多,modpython下面,好像需要重新启动才可以释放日志对象的。 今天的session也算是搞定了,修改了modpython的源码,把Session.py的165和166行注释掉了,不然老是说字符串越界。注释掉的代码为:if os.name == ‘nt‘ and c.path[-1] == ‘\\‘: c.path = c.path[:-1]
Posted in Python, Web应用
Leave a comment
常用的正则表达式及符号诠释
在脚本程序的写作中,正则表达式是经常用到的,但是正则表达式书写困难,可读性很差也是大家所知道的,今天写email的正则表达式时,由于经常写不对,后来决定gg一下,看看网上有没有现成的,结果发现网上已经提供了很多的常用的正则表达式了,不需要自己写的,而且应该是验证过的吧。 匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]匹配空行的正则表达式:\n[\s| ]*\r匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/匹配首尾空格的正则表达式:(^\s*)|(\s*$)匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$ 下表是元字符及其在正则表达式上下文中的行为的一个完整列表: \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。 * 匹配前面的子表达式零次或多次。 + 匹配前面的子表达式一次或多次。+ 等价于 {1,}。 ? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。 {n} n 是一个非负整数,匹配确定的n … Continue reading
Posted in Python, Web应用
6 Comments
XUL还得慢慢学啊
学习了一段时间的XUL,感觉还是没有进门路,可能是我脑子不好使吧。MAB研究也好几天了,翻了他的很多的JS代码,发现很多JS代码的语法我都不会啊,看来XUL这种语言还是要慢慢来学习的。 本来是准备快速的将XUL学习一下,然后可以在实际项目中应用,现在看来不行了,XUL是一个复杂的东西,不可能快速的掌握的,除非你已经对JS非常的熟悉了。对于我这种JS不熟悉的人来说,基本是要学两门语言。所以暂时放弃快速学习XUL的计划,还是使用熟悉的语言来对目前要开展的项目进行处理了。不过XUL这种玩意还是不错的,有机会还是需要继续学习。 不过现在感觉的是,JS真得好好学习了,以后估计web应用是大趋势了,JS不学习的话,很可能会落伍了。现在想想,99年学的一点JS,现在居然全忘记光了,又得从新开始了。
Posted in Web应用, 我的原创
Leave a comment
又发现一个不错的XUL应用
网址:http://filemanager.mozdev.org/ 这是一个利用XUL来仿win2k的资源管理器的例子,主要用来对远程主机上面的文件进行管理,实现的功能也是不少了,当然了,源码也是自由(LGPL)下载的,看来以后写XUL应用又多了一个参考的猛料了。不过现在MAB都还没有搞明白,看来学习的曲线还是比较曲折的。 Filemanager 的几个界面截图:http://filemanager.mozdev.org/images/screenshot-main.pnghttp://filemanager.mozdev.org/images/screenshot-menu.pnghttp://filemanager.mozdev.org/images/screenshot-upload.pnghttp://filemanager.mozdev.org/images/screenshot-imageviewer.pnghttp://filemanager.mozdev.org/images/screenshot-editor.png
Posted in Web应用
Leave a comment
XUL中的overlay
这几天断断续续的在学习XUL,不过由于年底了,各种聚会非常的多,基本是天天晚上有聚会,今天稍微好一点。我的XUL学习没有按照limodou的教程一步一步的来,而是根据他的一个回复里面的MAB例子来进行的,因为我感觉MAB简直就是学习的精品,不单涉及到XUL,主要还是含有xmlhttp的精髓在里面。 mab中,大量的使用了overlay,使得复杂的界面设计对于主文件来说变得狠简单,狠容易读懂,这也就是适合于初学者学习的原因。不过这个例子的内容确实狠全面的,而且也不是狠容易上手。刚开始的时候,就被他的overlay搞得迷迷糊糊的,其实你只要把他看成是C++里面的文件之间的函数调用就行了。 在a.xul文件中要调用b.xul文件的func块,那么你得先包含b.xul。不过这个包含不是C++里面的include,而是xul-overlay。参考MAB里面的例子:,所遵循的语法是xml的标准语法,只是标签是专有的而已。href后面跟着的是XUL文件的相对调用文件的路径。在b.xul文件中,除了XML标准头()之外,在:http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul“>之前只允许DTD块存在,可以参考mab文件的overlay文件。接下来就是你要定义的“函数”了。我在例子中定义了: 在文件的结尾还是需要使用:来关闭overlay的。定义好了“函数”,我们就可以在a.xul文件中调用了,因为我们已经包含了b.xul,所以只要在使用的地方,直接调用所要用的模块的id即可。我的调用方式是:。这样浏览器显示的结果和原先的没有使用overlay的方式是一样的,只是对以后代码的维护和初学者的学习更加方便和容易。
Posted in Web应用, 我的原创
Leave a comment
XMLHTTP教程
xmlhttp是我最近从Gmail那里得到的新知识,感觉应该是一项比较新的有用的技术。因为Gmail在使用他,而且对于用户来说,用起来是狠方便的。最近在研究的MAB也是使用了xmlhttp,使用xul巧妙的结合了GUI和WEB的优点,对我来说是很有吸引力的。不过我通过google查到的国内的xmlhttp资料来看,都是MS的那一套使用教程,而没有最近非常流行的firefox。如果firefox不能支持,那么我的xul就不能使用了,不过比较幸运的是,我在国外的网站上看到了在Mozilla下的应用(也含IE的),并且使用google提供的SOAP的API进行例子,狠不错的说:http://jibbering.com/2002/4/httprequest.html 顺道还发现了SVG的例子,一并给出:http://jibbering.com/2002/5/dynamic-update-svg.html
Posted in Web应用
Leave a comment
modpython实现XUL的简单例子
由于最近感觉XUL比较符合我的开发想法,因此开始了XUL的学习,这里要狠感谢一下木头兄的XUL教程,也要感谢一下木头兄的blog的回帖里面给的一个地址,我这两天仔细的看了一下内容,对我学习XUL影响很大的。 由于我的XUL程序肯定是需要后台支持的,因此我就没有细细的从头开始学XUL,只是从我的重点开始着手。因为我的后台布置了使用modpython,因此我就使用modpython作为了后台的处理脚本,输出脚本处理结果(XUL)给浏览器。由于对XUL是菜鸟,因此写的代码比较差劲,只是琢磨出了modpython的处理方式,但是与我想象的方式还是有很大的差距,需要继续理解和研究。 下面是代码:———————#Coding: utf-8xul = “””
Posted in Web应用, 我的原创
Leave a comment
XUL中涉及到的技术
下面有一系列的其它技术介绍,作为利用Mozilla的XUL来开发跨平台的web应用程序的补充。 XBL 可扩展绑定语言(XBL)是一种用来定义特殊的新元素(如XUL物件的“绑定”)的标记语言。使用XBL,开发人员可以定义一些XUL物件的新内容,为XUL增加一些附加的事件处理器,或者增加一些新的属性和方法。本质上来说,XBL通过定制已经存在的标签和创建新的标签来授权给开发人员尽可能的扩展XUL。使用XBL时,开发人员可以简单的构建自定义的用户接口物件,像进度条,各式弹出菜单,事件工具栏和搜索表单等。这些自定义组件可以通过特殊的自定义标签和关联属性在XUL应用程序中被使用。 Overlays Overlays被用来申明一些UI的额外内容的XUL文件。使用覆盖小片的XUL文件,而不必重新提供整个UI,并且尽量重用UI中某些特定的部分的这种通用的机制,用于向UI增加额外的组件。Overlays对于定制和扩展已经存在的应用程序来说是狠有用的机制,因为他们工作在两种关联但是高度不同的方式上。某些方面来说,Overlays和其它语言中的的“include”文件是同义的,因为一个应用程序可以在他的定义处使用Overlay方式来包含。但是Overlays也可以使用外部指定,允许设计者无需修改原始代码来添加程序之外的特性。在实际应用中,该特性允许开发人员为已发布的程序维护一个代码流,以后可以为客户定制商标或者专门的依赖于源码的特性。该方向是一个那些长期运行程序的更加容易和低花费的完整解决方案。对于打算为Mozilla增加新特性的软件开发人员来说,使用Overlays方式是有很大好处的。Netscape公众协议(NPL)和Mozilla公众协议(MPL)要求企图修改原始特性(随Mozilla一起提供的源码文件)的开发人员发布修改代码给消费者。Overlays可以被用来给Mozilla增加私有特性,而无需修改原始的开发代码。 XPCOM/ XPConnect XPCOM and XPConnect是XUL应用程序集成和使用外部库的补充技术。XPCOM是跨平台组件对象模型的标准,也是一个写跨平台软件的框架。XPCOM组件可以使用C,C++,和JavaScript来写,可以使用C,C++,JavaScript,Python和处于发展下的Perl扩展。XPConnect是一种允许在XPCOM和JavaScript之间简单协作的技术。XPConnect允许JavaScript对象直接访问和操作XPCOM对象。它也允许JavaScript对象通过XPCOM接口来调用XPCOM对象。总之,XPCOM和XPConnect允许开发人员创建需要使用编译型语言(C/C++)特殊处理的或者与操作系统相关的XUL应用程序。 XPInstall XPInstall,Mozilla的跨平台安装特性,提供了一个使用安装脚本来打包XUL应用程序组件标准方法,可以被Mozilla下载和执行。XPInstall允许用户轻松的通过Internet或者从公司内部服务器上安装一个新的XUL程序。安装一个新的应用程序,用户只需要点击web页面上或者邮件中的超链接,并通过一个Mozilla安装对话框接受新包安装。 ——————–原文———————— Supporting Technologies There are number of other technologies introduced by Mozilla that complement XUL for building cross platform web applications. XBL The eXtensible Bindings Language (XBL) is a … Continue reading
Posted in Web应用
Leave a comment