1。^\d+$ //匹配非负整数(正整数 + 0)
2。^[0-9]*[1-9][0-9]*$ //匹配正整数
3。^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0)
4。^-[0-9]*[1-9][0-9]*$ //匹配负整数
5。^-?\d+$ //匹配整数
6。^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0)
7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数
8。^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮点数(负浮点数 + 0)
9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数
10。^(-?\d+)(\.\d+)?$ //匹配浮点数
11。^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
12。^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
13。^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
14。^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
15。^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
16。^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email地址
17。^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ //匹配url
18。匹配中文字符的正则表达式: [\u4e00-\u9fa5]
19。匹配双字节字符(包括汉字在内):[^\x00-\xff]
20。应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
21。匹配空行的正则表达式:\n[\s| ]*\r
22。匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
23。匹配首尾空格的正则表达式:(^\s*)|(\s*$)
* 正则表达式用例
* 1、^\S+[a-z A-Z]$ 不能为空 不能有空格 只能是英文字母
* 2、\S{6,} 不能为空 六位以上
* 3、^\d+$ 不能有空格 不能非数字
* 4、(.*)(\.jpg|\.bmp)$ 只能是jpg和bmp格式
* 5、^\d{4}\-\d{1,2}-\d{1,2}$ 只能是2004-10-22格式
* 6、^0$ 至少选一项
* 7、^0{2,}$ 至少选两项
* 8、^[\s|\S]{20,}$ 不能为空 二十字以上
* 9、^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$邮件
* 10、\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* 输入多个地址用逗号或空格分隔邮件
* 11、^(\([0-9]+\))?[0-9]{7,8}$电话号码7位或8位或前面有区号例如(022)87341628
* 12、^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+(\,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+)*$
* 只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件
* 13 ^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$上面表达式也可以写成这样子,更精练。
14 ^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$
Java Apache 企业邮件服务(又名:Apache James) 是利用纯java编写的,支持SMTP和POP3邮件服务和NNTP新闻服务,是完整和便携的企业级邮件引擎解决方案。James当前基于可用的开放协议。
James Server也是一个邮件应用平台。James工程同时开发Apache Mailet API,并且James Server 是一个Mailet容器,这点使得邮件处理更容易设计,编写和部署自定义的应用程序。模块化和自定义是James的优点,它允许管理员去创建强大易用的应用程序。
James构建在Avalon Application Framework,这个框架促进了许多开发实践,例如面向组件开发和IOC。James囊括了Phoenix Avalon Framework container,它为James server奠定了强大和稳定的基础。
这篇文档介绍了James的概念和James的实现,还有安装、配置手册,为开发人员build James Server。
I. James 概念
摘要(summary):
--The James Server
James 是一个开源项目,为了创建一个坚固,灵活,强大的企业类服务,并可提供邮件和邮件相关的服务.也被设计为高可定制性,允许管理员去灵活配置James.
James Server 是构建在Avalon Framework上的.标准的James发行版本包括了Phoenix Avalon Framework 容器.除了为James提供坚固的服务架构,Phoenix 的使用允许James管理员去部署它们自己的应用程序到容器中.这些应用程序在邮件处理过程中能被调用.
James server的实现由一些完整的服务集合和相关的组件构成,集成在一起,实现邮件解决方案.这些组件描述如下.
--POP3 Service
POP3 协议允许用户去获取邮件消息,普遍用于客户端下载和管理邮件信息.
James是POP3服务的一个简单直接实现,它与规范一致并且最大化兼容通用的POP3客户端.此外,James能让POP3客户端使用SSL/TLS连接.
--SMTP Service
SMTP是在internet上发送和转移emali的标准方法.James提供基于SMTP规范所有功能的实现,支持一些可选特性,例如消息大小限制,SMTP验证,加密的 客户/服务器 通信.
--NNTP Service
NNTP用于客户端从新闻服务器存储和获取消息.James通过实现NNTP规范实现了服务的交互,还有为存储新闻消息所提供的仓库.James简单和直接的实现,但支持一些额外的特性,例如NNTP验证,加密的 客户/服务器 通信.
--FetchMail
FetchMail ,不像其他的James组件,这不是一个RFC的实现.然而,这个组件允许管理去配置James,能够从更多的POP3服务获取Email和转移邮件到本地.这方便在不同的机器上的多个账户合并邮件转移到一个用户(This is useful for consolidating mail delivered to a number of accounts on different machines to a single account.)
---The SpoolManager, Matchers, and Mailets
当James处理收来的邮件时,James从引擎上区分不同的服务(SMTP,FecthMail)来转移邮件.SpoolManager 组件是James的邮件处理引擎.James的SpoolManager组件是一个Mailet容器,It is these mailets and matchers that actually carry out mail processing.
--Repositories
James有许多不同的仓库去存储消息数据(email,news messages) 和用户信息.用户仓库存储用户信息,包括用户名验证信息和别名.邮件仓库存储已被转移的消息.Spool仓库存储正在被处理的消息.最后,新闻仓库被用作存储新闻消息.另外,他们存储什么类型的数据,仓库以数据存储在什么地方来区分.有3种存储类型--File,Database 和DBFile.
--RemoteManager
James提供一个简单的telnet-base 控制接口,通过这个接口你能添加和删除用户,配置每个用户的别名和forward addresses和停止服务.
五项沟通原则 Interaction Guidelines
(一)、维护自尊 加强自信; KP1:Maintain or enhance self-esteem
(二)、仔细聆听 善意回应; KP2:Listen and respond with empathy
(三)、谋求协助 促进参与; KP3:Ask for help and encourage involvement
(四)、分享感受 传情达理; KP4:Share thoughts, feelings, and rationale
(五)、给予支持 鼓励承担; KP5:Provide support without removing responsibility
目标管理的SMART原则,即是:
1. 目标必须是具体的(Specific);
2. 目标必须是可以衡量的(Measurable);
3. 目标必须是可以达到的(Attainable);
4. 目标必须和其他目标具有相关性(Relevant);
5. 目标必须具有明确的截止期限(Time-based);
摘要: 应用开发人员使用一些传统的技术去监控性能管理。使用像PotimizeIt,JProbe 等通用的调试工具。另一个传统的方法是在代码的特殊地方插入时间和有用的信息。商业的性能管理工具同样使用不同的技术,例如 在类装载时的字节码探测,或者使用应用服务器的拦截器去修饰类。在此文中,我们介绍 一种 使用 Aspect Oriented Programming (AOP)的灵活多变的机制来处理应用程序性能管理。
阅读全文
房子不等于家。构成房子的是物质材料,构成“家” 既需要物质的更需要精神的“材料”。
家----信任是基地,爱是支柱,理解是屋顶,包容是墙。在这个空间里面,融汇着亲情,交流着悲欢,孕育着希望,创造着能量。
家,物质是外壳,精神是实质。
以前的blog地址:
http://deve.blogdriver.com