搜索到与相关的文章
Python

Python实现的Google IP 可用性检测脚本

需要Python3.4+,一个参数用来选择测试搜索服务还是GAE服务。测试GAE服务的话需要先修改开头的两个变量。从标准输入读取IP地址或者IP段(形如192.168.0.0/16)列表,每行一个。可用IP输出到标准输出。实时测试结果输出到标准错误。50线程并发。checkgoogleip#!/usr/bin/envpython3importsysfromipaddressimportIPv4Networkimporthttp.clientasclient

系统 2019-09-27 17:48:50 2291

Python

Python装饰器使用实例:验证参数合法性

python是不带静态检查的动态语言,有时候需要在调用函数时保证参数合法。检查参数合法性是一个显著的切面场景,各个函数都可能有这个需求。但另一方面,参数合法性是不是应该由调用方来保证比较好也是一个需要结合实际才能回答的问题,总之双方约定好,不要都不检查或者都检查就可以了。下面这个模块用于在函数上使用装饰器进行参数的合法性验证。你可以直接执行这个模块进行测试,如果完全没有输出则表示通过。你也可以找到几个以_test开头的函数,所有的测试用例都包含在这几个函数

系统 2019-09-27 17:37:43 2291

编程技术

架构设计的三个维度

架构设计是一个非常大的话题,不管写几篇文章,接触到的始终只是冰山一角,更多的是实践中去体会。这篇文章主要介绍的是面向对象OO,面向方面AOP,面向服务SOA这三个要素在架构设计中的位置与作用。一、架构设计三个维度架构设计有三个维度,或者说是我们在考虑架构时需要思考的三个方向。分别为:面向对象、面向方面、面向服务。这三个维度可以看作是正交的,但不同维度会互相印证,互相支撑。整个架构的示意图如下所示:二、面向对象面向对象技术最初是从面向对象的程序设计开始的,它

系统 2019-08-29 23:37:12 2291

编程技术

struts2远程执行漏洞学习

首先,这个漏洞已经是比较早的一个了,大概影响范围是struts2.2.1.1以下版本(这个其实是不对的),其次值得参考的参考的网上公开资料有http://security.ctocio.com.cn/100/11466600.shtml这是我看过的唯一的一篇对这个漏洞有一定深入讲解的文章。http://www.securityfocus.com/archive/1/521121这个是一个发散的文章,指出了struts2的高版本的一些人在持续的问题,其中很多

系统 2019-08-29 23:19:57 2291

编程技术

Draw2d 学习笔记一 helloworld

先来个hellloworld入门啊。publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){Shellshell=newShell();shell.setText("Draw2dHelloWorld");shell.pack();shell.open();//createcontent4shell.createContent4Shell(shell);while(!shell.isDisposed(

系统 2019-08-29 22:44:27 2291

编程技术

Google Guava EventBus

在GoogleGuava10版本引入了EventBus,它主要用来简化我们处理生产/消费者编程模型.基本用法使用Guava之后,如果要订阅消息,就不用再继承指定的接口,只需要在指定的方法上加上@Subscribe注解即可:Java代码publicclassEventListener{publicintlastMessage=0;@Subscribepublicvoidlisten(OurTestEventevent){lastMessage=event.g

系统 2019-08-29 22:13:17 2291

编程技术

不错的Js消息提示框(vista,qq等众多样式)

组件简介:1、调用方式进行二次分装,现编写成类,然后将调用方法变成几个简单的方法调用,调用时无需new了。调用方法明了简单。2、兼容IE6.0+、FF1.5+、Opear9+,兼容HTML4/XHTML1.0页面渲染模式。3、支持CSS皮肤定制。目前提供了五种皮肤,Vista、QQ、dmm-green、ExtBlue和BlackColl。有兴趣可以修改样式表文件定义新的皮肤。4、提供四种消息类型。分别为消息提示、成功信息、错误信息、询问信息。5、弹出消息框

系统 2019-08-29 22:04:42 2291

数据库相关

SQL存储过程事务和优化方法(包括查询方式语句

判断插入值是否重复:CREATEPROCEDUREIR_rb_User_UpdateUser(@UserIDint,@Namenvarchar(50),@Emailnvarchar(100),@Passwordnvarchar(20),@RoleIDint,@iSuccessintoutput)ASset@iSuccess=-1--判断是否成功有错误应为插入重复键IFEXISTS(SELECTEmailFROMrb_UsersWHEREEmail=@Ema

系统 2019-08-12 01:55:37 2291

数据库相关

用户和组的操作

1组管理组名:口令:组标识号:组内用户列表1)“组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。2)“口令”字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。3)“组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。4)“组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。/e

系统 2019-08-12 01:54:04 2291

数据库相关

遍历数据表名、字段名、视图名甚至存储过程名

1、查询数据库中所有的用户表:select[name]fromsysobjectswherextype='u'select*frominformation_schema.tables2、查询某表[tableName]中所有的字段名称:select[name]fromsyscolumnswhereid=object_id('[tableName]')select*frominformation_schema.columnswhereTABLE_NAME='[

系统 2019-08-12 01:52:17 2291