编程技术

【第六章】 AOP 之 6.1 AOP基础 ——跟我学spri

6.1.1AOP是什么考虑这样一个问题:需要对系统中的某些业务做日志记录,比如支付系统中的支付业务需要记录支付相关日志,对于支付系统可能相当复杂,比如可能有自己的支付系统,也可能引入第三方支付平台,面对这样的支付系统该如何解决呢?传统解决方案:1)日志部分提前公共类LogUtils,定义“longPayBegin”方法用于记录支付开始日志,“logPayEnd”用于记录支付结果:2)支付部分,定义IPayService接口并定义支付方法“pay”,并定义了

系统 2019-08-29 22:00:22 2292

编程技术

IP地址规划的重要性

在搭建一个局域网的时候,IP地址规划的意义重大。如果你的网络永远不会被扩展和定制,那么你可以随意的规划IP地址,只要能保证路由是通的就可以了。然而如果将来有一天你需要对已有的网络进行拓展,那么就需要精心安排地址了。原则就是:尽量使逻辑上同类的地址规划成连续的地址,并且起始地址最好是2的次幂。这样做的原因在于可以方便的划分子网。考虑下面的拓扑:有一天,需要在该局域网增加一台加密网关,所有到达外部网络2的流量都要被加密,而且需要把加密流量路由指向加密网关(流量

系统 2019-08-12 09:30:33 2292

Python

重磅!Google推出了Python最牛X的编辑器....

原文链接:https://edu.csdn.net/bundled/detail/49?utm_source=csdn最近Python越来越火了!前几天,PYPL(即编程语言流行指数,基于Google搜索频率而定)出炉了6月编程语言排行榜,Python拿下NO.1,成为最流行的编程语言。赢得毫无波澜!究其原因,Python随着和大数据、人工智能绑定在一起,可畏是越来越厉害了。语言简单、效率高、应用范围广,这三项优势已让其它语言无法跟进。随着Python的状

系统 2019-09-27 17:57:15 2291

Python

python 类装饰器

类装饰器propetyproperty是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值classStudent:def__init__(self,name,birth):self.name=nameself.birth=birth@property#将一个方法伪装成属性defage(self):importtimereturntime.localtime().tm_year-self.birthalex=Student('alex',1930)p

系统 2019-09-27 17:56:49 2291

Python

python logging模块

logging模块简介logging模块是python内置模块,专门为打印日志的模块importlogginglogging.debug('debugmessage')logging.info('infomessage')logging.warning('warningmessage')logging.error('errormessage')logging.critical('criticalmessage')默认情况下python的logging模块将

系统 2019-09-27 17:56:41 2291

Python

Python按行读取大文件

在工作中遇到一个需求,需要用Python脚本读取一个13G的文件,把每行的记录写入redis。由于机器的内存只有8G,所以不能一次将磁盘上的文件全部读入内存,需要一行一行读取文件。Python按行读取文件主要是使用file.readline方法或者利用file对象的迭代器性质,而file.readlines方法则是一次把所有内容从磁盘读入内存。当内存足够时,file.readlines方法显然会更快,因为磁盘I/O次数更少。下面给出了三种遍历文件每行的方式

系统 2019-09-27 17:56:36 2291

Python

Python代理IP爬虫的使用

Python爬虫要经历爬虫、爬虫被限制、爬虫反限制的过程。当然后续还要网页爬虫限制优化,爬虫再反限制的一系列道高一尺魔高一丈的过程。爬虫的初级阶段,添加headers和ip代理可以解决很多问题。本人自己在爬取豆瓣读书的时候,就以为爬取次数过多,直接被封了IP.后来就研究了代理IP的问题.(当时不知道什么情况,差点心态就崩了…),下面给大家介绍一下我自己代理IP爬取数据的问题,请大家指出不足之处.问题这是我的IP被封了,一开始好好的,我还以为是我的代码问题了

系统 2019-09-27 17:56:11 2291

Python

Python中的字符串切片(截取字符串)的详解

字符串索引示意图字符串切片也就是截取字符串,取子串Python中字符串切片方法字符串[开始索引:结束索引:步长]切取字符串为开始索引到结束索引-1内的字符串步长不指定时步长为1字符串[开始索引:结束索引]练习样例#1.截取2-5位置的字符num_str_1=num_str[2:6]print(num_str_1)#2.截取2-末尾的字符#当开始索引和结束索引为开始和结束时可以省略不写num_str_1=num_str[2:]print(num_str_1)

系统 2019-09-27 17:55:42 2291

Python

python中的*args和**kwargs

python支持可变参数:可以使用*args、**kwargs实现*args是可变的positionalarguments列表,是一个tuple。**kwargs是可变的keywordarguments列表,是一个dict。*args必须位于**kwargs之前,因为positionalarguments必须位于keywordarguments之前。*args、**kwargs的使用:函数定义:是一个将参数pack的过程函数调用:将参数unpack例子:d

系统 2019-09-27 17:55:35 2291

Python

SQL题,Python做

01问题描述这个SQL题来源于自己的Python学习交流群,具体是这样的:用一条SQL语句查询出每门课都大于80的学生姓名和总成绩。02解题思路本人使用Python来解决这个问题,大概的思路如下:首先筛选出课程成绩小于等于80的列(布尔选择)。取这些列的学生姓名的唯一值。这些学生姓名就是不符合条件的,我们反选符合条件的。最后用groupby求和即可完成。03解题代码①通过布尔选择成绩小于等于80的列。data[data['score']<=80]其实通过结

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

Python

python实现员工管理系统

这是一个简易的员工管理系统,实现最简单的功能:1.登录用户密码验证(错误三次自动退出)2.支持文本员工的搜索、添加、删除、修改3.一级层级多个选项、二级层级多个选项,都支持判空、退出、返回上一层级4.针对删除和修改有员工当前自动搜索到的结果进行参照修改和特殊提醒是否删除用到的基础知识点比较多:1.计数器2.whileTrue以及给while做退出层级标记3.if…elif…else的嵌套使用4.continue和break以及简单函数定义def5.键盘抓取

系统 2019-09-27 17:52:38 2291

Python

Django或者Flask创建Python虚拟环境启动第一个Hello

前言刚开始开发Web的时候,没太在意隔离虚拟环境,用了系统的那一套,Python2.7版本是系统自带的,虽说明年就结束了,但是现在开发都会有一套3.x以上的环境,即使你开发不注意,你部署的时候总归是要隔离出来的。1.方便隔离,不同环境编写测试2.方便迁移,pipfreeze到出包文件依赖,随后提交管理和迁移都很方便virtualenv前提是你有两套PythonmikejingdeMacBook-Pro:~MKJ$whichpython/usr/bin/py

系统 2019-09-27 17:52:33 2291

Python

详解Python对JSON中的特殊类型进行Encoder

Python处理JSON数据时,dumps函数是经常用到的,当JSON数据中有特殊类型时,往往是比较头疼的,因为经常会报这样一个错误。自定义编码类#!/usr/bin/envpython#-*-coding:utf-8-*-#Author:wxnacy(wxnacy@gmail.com)importjsonfromdatetimeimportdatetimeUSER_DATA=dict(id=1,name='wxnacy',ts=datetime.now(

系统 2019-09-27 17:52:11 2291

Python

python光标图片获取

#-*-coding:utf-8-*-importwin32apiimportwin32gui,win32uiimporttimewhileTrue:time.sleep(1)#等待一秒ci=win32gui.GetCursorInfo()#获取光标信息print'包含光标类型,句柄,坐标'+str(ci)#包含光标类型,句柄,坐标print'GetCursor获取的句柄'+str(win32gui.GetCursor())#win32gui.GetCur

系统 2019-09-27 17:52:03 2291

Python

python常用函数与用法示例

本文实例讲述了python常用函数与用法。分享给大家供大家参考,具体如下:自定义函数实例#定义一个函数defprintme(str):"打印任何传入的字符串"printstr;return;#使用这个函数printme("chtml.cn");运行结果:chtml.cn删除一个文件函数实例defdellFile(pathFile):importosfilename=pathFileifos.path.exist(filename):os.remove(fi

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