自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

helloworld的专栏

helloworld的专栏

  • 博客(31)
  • 资源 (9)
  • 收藏
  • 关注

转载 Default Parameter Values in Python

Default Parameter Values in PythonFredrik Lundh | July 17, 2008 | based on a comp.lang.python postPython’s handling of default parameter values is one of a few things that tends to trip up most n

2018-01-18 21:20:39 552

原创 静态方法(staticmethod),类方法(classmethod)与实例方法

@classmethod 将方法转为类方法,类方法接收类cls作为隐式的第一个参数class C: @classmethod def f(cls, arg1, arg2, ...): ...@staticmethod 将方法转换为静态方法,静态方法接收隐式的第一个参数。实例方法: 实例方法接收实例self作为隐式的第一个参数 def

2018-01-18 11:08:59 1103

原创 【format】 vs 【%】 in Python

相比【%】,Python中的【format】更显精致,对于【%】来说,它无法同时传递一个变量和元组(Tuple)比如,对于: “hi there %s” % name如果name传递Tuple元组类型参数,那么将抛出如下错误: TypeError: not all arguments converted during string formatting为保证其正常执

2018-01-16 19:59:34 399

转载 从技术角度告诉你,区块链到底有哪些特点和运作机制

从技术角度告诉你,区块链到底有哪些特点和运作机制 王思宇 • 2016-06-28 13:18摘要: 区块链技术的核心是实现了沿时间轴记录数据与合约,并且一旦写入,就只能读取,不能修改和删除。自从今年1月20日,中国人民银行在数字货币研讨会上表示高度重视区块链(Blockchain)等技术带来的新机遇和挑战,并争取早日推出央行发行的数字货币[1]以来,区块链的概念在国内越发火

2018-01-16 16:47:26 8715

原创 Python中的property类与@property装饰器

class property(fget=None, fset=None, fdel=None, doc=None)返回一个property属性fget:获取属性值fset:设置属性值fdel:删除属性doc:属性描述 注意,如果设置了doc参数,则参数值就是属性的docstring,否则系统将会读取fget参数的docstring(如果存在)作为属性的docstring,

2018-01-16 16:39:53 3220

原创 Flask Web开发入门(十四)之使用蓝图(Blueprints)

Flask uses a concept of blueprints for making application components and supporting common patterns within an application or across applications. Blueprints can greatly simplify how large applications

2018-01-15 10:04:15 1473

原创 Flask Web开发入门(十三)之构建REST API

关于REST API,我们先看一个比较形象的图: 在我们之前的章节中,我们其实已经涉及到了Flask框架下REST API接口的构建,比如,文件下载接口:# 文件下载@app.route('/download/')def send_html(filename): logger.debug("download file, path is %s" % filename)

2018-01-12 13:56:03 3754

原创 Flask Web开发入门(十二)之图片下载与展现(使用send_from_directory)

在Flask Web开发入门(十一)之图片展现,我们介绍了Flask框架下我们通过file.open与make_response结合运用实现了图片的下载与展现功能,这略显复杂,其实Flask本身已经帮我们提供了相应的功能:即send_from_directory函数。首先,我们来看下send_from_directory函数定义: Send a file from a given di

2018-01-12 11:31:14 10735 5

转载 区块链入门教程

区块链入门教程作者: 阮一峰 日期: 2017年12月26日 区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块链,还会明白

2018-01-12 09:28:05 705

原创 Python中类的JSON序列化

这肯定是个老生常谈的问题,在此记录下。在Python中,当在我们使用sqlalchemy.orm来对数据库对象进行存取,并将这些数据展现到前台页面时,我们就面临如何将Python中的类对象进行JSON序列化。简单起见,我们从代码说起:首先,我们定义一个用户类,用以存储用户信息class User(object): def __init__(self, id, name, p

2018-01-11 20:30:12 1625 1

原创 Flask Web开发入门(十一)之图片展现

在Flask Web开发入门(十)之图片上传(使用Flask-Uploads)我们介绍了使用Flask插件Flask-Uploads上传图片,本章就此话题继续展开。我们知道,我们可以通过UPLOADS_DEFAULT_DEST参数来指定文件上传的默认路径,假如我们指定的路径是upload目录,那么文件实际保存的路径为: upload/files/xxx注意,files为Uploa

2018-01-11 20:05:55 6006

原创 Flask Web开发入门(十)之图片上传(使用Flask-Upload)

在Flask Web开发入门(八)之文件上传中,我们探讨了Flask框架下的文件上传,本章我们将使用Flask插件Flask-Uploads示例说明的图片上传与展现如何实现开始之前,我们先简单看下Flask-Uploads源码实现:类UploadSet:文件上传配置集合,包含三个参数:name:文件上传配置集合的名称,默认files,一般不用修改,只是一个标识,要求数字、字母或两

2018-01-11 19:42:46 18287 8

原创 Python接收application/json与application/x-www-form-urlencoded数据

http://blog.csdn.net/kangkanglou/article/details/79027556

2018-01-10 20:23:17 5254

原创 Flask Web开发入门(九)之表单处理

本章我们介绍Flask Web开发中的表单处理application/json类型请求前台请求代码: $.ajax({ url: '/add' , type: 'POST' , data: JSON.stringify(data.field)

2018-01-10 19:47:07 16879 22

原创 Flask Web开发入门(八)之文件上传

本章我们介绍Flask Web开发中涉及的文件上传模块定义后台接收处理逻辑# http://flask.pocoo.org/docs/0.12/patterns/fileuploads/@app.route('/upload', methods=['POST'])def upload_file(): if request.method == 'POST':

2018-01-10 19:30:23 14985 12

原创 Flask Web开发入门(七)之SQLAlchemy

上一章中,我们简单介绍了使用 SQLAlchemy ORM框架来访问MySQL数据库,本章我们将继续就此话题进行展开。 SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQ

2018-01-09 20:03:37 1118

原创 Flask Web开发入门(六)之访问数据库

我们介绍两种访问MySQL数据库的方式,一种是使用mysql.connector直连,另一种是使用sqlalchemy ORM框架。mysql.connector直连方式# get database connectiondef get_connection(): try: conn = mysql.connector.connect(**config)

2018-01-08 21:20:19 1585 2

原创 Flask Web开发入门(五)之日志

作为码农,在开发功能中记录日志是必要且必须的,因为事情往往不像你想象的那样理想完美,就像你开发的代码那样,良好的日志习惯能助你快速排查定位问题,从 Flask 0.3 开始,Flask 就已经预置了日志系统。以下是Flask日志的运用示例:import osimport loggingimport sysLOG_PATH = 'logs'LOG_FILE = 'text.t

2018-01-08 21:05:02 3127

原创 Flask Web开发入门(四)之错误处理

在我们上一章中,我们介绍了使用 Request Loader 定制登录,在我们的逻辑分支中,错误处理我们使用了abort函数:当我们使用abort函数时,它表示放弃请求并返回错误代码,默认情况业务不友好,那么我们可以使用errorhandler() 装饰器来进行定制错误页面,errorhandler装饰器使用如下:@app.route('/error')@app.errorhan

2018-01-08 20:47:19 1902

原创 Flask Web开发入门(三)之使用 Request Loader 定制登录

在上一章中,我们介绍了使用Flask-Login进行会话管理,实现基本的登入、登出功能,在实际的业务运用中,不仅要求基本的登录登出授权管理,还要求对外暴漏API接口服务,当然暴漏的服务接口不可能随意访问,还需要一定的授权信息,这时,我们需要Request Loader来进行定制登录,简单期间,我们使用HTTP Header中的Authorization作为查询参数的API密钥,只有请求Header

2018-01-08 20:37:17 2877 1

原创 Flask Web开发入门(二)之Flask-Login使用

上一章我们介绍了使用Flask开发基本的Web应用,并使用session来进行基本的登录授权验证,接下来我们将使用Flask-Login来进行会话管理,来处理我们的“登入、登出”问题 Flask-Login provides user session management for Flask. It handles the common tasks of logging in, loggi

2018-01-08 20:18:59 9745

原创 Flask Web开发入门(一)之简单的登录验证

Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. 我们的目标是通过Flask实现一个简单的web系统,系统需要用户登录,未登录用户无法访问授权页面,因此,我们定义页面如下:index.html默认首页,需要登录授权访问login.html登录页,输入用户名和密码e

2018-01-08 19:47:42 22222 2

原创 改版后的CSDN-markdown编辑器确实有点难用

就是这个:还有这个:Firefox点击上传图片没有反应每次发表完成之后,点击操作按钮都要弹框,啥意思?改版效果,差评!!!

2018-01-05 08:47:59 1526 2

原创 Java并发编程之Executors与Thread Pool

上一章,我们谈到了JDK1.5引入的多线程编程框架Executors,其通过工作线程的方式对外提供线程池服务。一个ExecutorService实例就可以表示一个线程池,通过Executors,你可以创建以下集中类型线程池:Single Thread Executor:仅包含一个线程的线程池,所有提交的任务顺序执行,创建方法: Executors.newSingleThreadExe

2018-01-04 20:21:17 740

原创 Java并发编程之Callable与Future

java.util.concurrent.Callable是JDK1.5引入的线程接口,与Runnable类似,但可以返回一个对象,也可以抛出异常。@FunctionalInterfacepublic interface Callable { /** * Computes a result, or throws an exception if unable to do

2018-01-04 20:12:21 484

原创 JVM启动参数

JVM启动内存参数最常用的JVM启动参数 参数 说明 -Xms JVM初始堆大小 -Xmx JVM最大堆大小 -Xss 每个线程的堆栈大小Behavioral Options Option and Default Value Description -XX:-AllowUserSignalHandlers

2018-01-04 20:01:20 741

原创 Java并发编程之ReentrantLock

public class ReentrantLock extends Object implements Lock, Serializable A reentrant mutual exclusion Lock with the same basic behavior and semantics as the implicit monitor lock accessed using synchro

2018-01-03 19:49:48 411

原创 Python之str内置函数

str.capitalize() 字串首字母大写 a_str = "hello World"print("%s capitalized is %s" % (a_str, a_str.capitalize())) str.casefold() 与lower()类似,将字串转换为小写,可用于大小写不敏感字串匹配 与lower()不同的是:lower方法只

2018-01-02 20:30:27 4672

原创 删除pip安装缓存

指定–no-cache-dir确保安装不缓存如果pip版本在6.0以上,可以在安装时使用–no-cache-dir参数,查看pip版本 pip -Vpip命令格式:如果pip版本在6.0以下,可以使用如下命令升级pip版本 pip install -U pip删除已缓存文件,根据各自不同的操作系统,删除对应目录缓存文件Linux and Unix ~/.cache/pip # an

2018-01-02 20:11:24 104693 2

翻译 2018开年第一篇:equals()与hashCode()

equals()和hashcode()是java.lang.Object中提供的用以对象比较的两个重要方法,下面是其定义及默认实现:public boolean equals(Object obj) { return (this == obj); }:用以判断变量参数与当前实例是否相等,JDK默认实现是基于对象内存地址是否相同,如果两个对象内存地址相同,则表示两个对象相同。public nativ

2018-01-02 19:51:57 1692 2

原创 你好,2018

你好,2018!

2018-01-01 13:54:53 422

3DES加密算法源码

3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。 最早的定义了该算法的标准(ANS X9.52,1998年发布)将其描述为“三重数据加密算法(TDEA)”— 即为ANSI X3.92中定义的数据加密算法(DEA)的三次重复操作— 而完全没有使用术语“3DES”或“DES”。FIPS PUB 46-3(1999)定义了“三重数据加密算法”(TDEA),也使用了术语“Triple DES”和“DES”。该标准中互换的使用“数据加密算法”(DEA)和“DES”的概念,其中以此开始DES的定义: 数据加密标准(DES)应当包括下文中的数据加密算法(DES[4])与三重数据加密算法(TDEA,如ANSI X9.52中所描述的) NIST SP 800-67(2004,2008[5])主要使用术语TDEA,但也提到了“Triple DES(TDEA)”。ISO/IEC 18033-3(2005)使用“TDEA”,但其中提到: TDEA通称Triple DES(数据加密标准)。 没有一个定义了本算法的标准使用术语“3DES”。 3DESughhhg34465345556555678==算法== 3DES使用“密钥包”,其包含3个DES密钥,K1,K2和K3,均为56位(除去奇偶校验位)。加密算法为: 密文 = EK3(DK2(EK1(平文))) 也就是说,使用K1为密钥进行DES加密,再用K2为密钥进行DES“解密”,最后以K3进行DES加密。 而解密则为其反过程: 平文 = DK1(EK2(DK3(密文))) 即以K3解密,以K2“加密”,最后以K1解密。 每次加密操作都只处理64位数据,称为一块。 无论是加密还是解密,中间一步都是前后两步的逆。这种做法提高了使用密钥选项2时的算法强度,并在使用密钥选项3时与DES兼容。 密钥选项[编辑] 标准定义了三种密钥选项: 密钥选项1:三个密钥是独立的。 密钥选项2:K1和K2是独立的,而K3=K1 密钥选项3:三个密钥均相等,即K1=K2=K3 密钥选项1的强度最高,拥有3 x 56 = 168个独立的密钥位。 密钥选项2的安全性稍低,拥有2 x 56 = 112个独立的密钥位。该选项比简单的应用DES两次的强度较高,即使用K1和K2,因为它可以防御中途相遇攻击。 密钥选项3等同与DES,只有56个密钥位。这个选项提供了与DES的兼容性,因为第1和第2次DES操作相互抵消了。该选项不再为国家标准科技协会(NIST)所建议[6],亦不为ISO/IEC 18033-3所支持。

2015-01-21

mail.jar mail.jar

mail.jar

2014-05-11

Java2WSDL和WSDL2Java操作指南.doc

Java2WSDL和WSDL2Java操作指南.doc

2014-05-11

Java使用SOAP获取webservice实例解析.doc

Java使用SOAP获取webservice实例解析.doc

2014-05-11

dom4j-1.6.1

dom4j-1.6.1

2014-05-10

servlet-api

servlet-api

2014-05-10

jsp-api.jar

jsp-api.jar

2014-05-10

C++ Builder 汉诺塔算法动态演示系统

采用C++ Buidler开发环境,C++ 语言,结合线程技术,将经典的汉诺塔算法的执行过程动态的演示出来,对于用户理解汉诺塔算法产生巨大的帮助

2009-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除