- 博客(73)
- 收藏
- 关注
原创 利用AOP实现日志切面统一处理
利用AOP实现日志切面统一处理最近很多业务日志需要优化改进,实现对业务更好的监控和优化。下面介绍利用Spring Aop实现面向切面编程的一个实例。能够实现不改动原有代码逻辑,只加一行描述即可实现统一日志收集。实现思路定义两个注解类,分别给service类和controller类使用,然后使用切面类,对这两个注解进行绑定监控。 可以达到效果就是,只需要在我们想要监控的敏感方法增加一行代码注解,相当
2017-10-30 23:44:17
11727
1
翻译 赋值,算术和一元运算符
赋值,算术和一元运算符翻译自ORACLE Java Tutorials –Assignment, Arithmetic, and Unary Operators简单分配算子您将遇到的最常见的运算符之一是简单的赋值运算符“=”。你在自行车课上看到这个操作符它将其右侧的值分配给左侧的操作数: int cadence = 0; int speed = 0; int gear = 1;此操作符也可用于对
2017-08-20 09:34:30
579
翻译 操作符
操作符翻译自ORACLE Java Tutorials –Operators现在你已经学会了如何声明和初始化变量,你可能想知道如何与他们做某事。学习Java编程语言的运算符是开始的好地方。运算符是对一个,两个或三个操作数执行特定操作的特殊符号,然后返回一个结果。当我们探索Java编程语言的运算符时,可能有助于您提前知道哪些运算符具有最高优先级。下表中的运算符按照优先顺序列出。运算符出现的表格越靠近,
2017-08-20 08:57:24
244
翻译 数组
数组翻译自ORACLE Java Tutorials –Arrays 数组是一个容器对象,它保存单个类型的固定数量的值。 创建数组时,建立数组的长度。 创建后,其长度是固定的。 你已经看到了一个数组的例子,在“Hello World!”的主要方法中。 应用。 本节将更详细地讨论数组。数组中的每个项目称为元素,每个元素都由其数字索引访问。 如上图所示,编号从0开始。例如,第9个元素将在索引8处被访问
2017-08-20 08:26:40
435
翻译 原始数据类型
原始数据类型翻译自 ORALCE 《JAVA TUTORIAL 》 Primitive Data TypesJava编程语言是静态类型的,这意味着所有变量必须先被声明才能使用。 这包括说明变量的类型和名称,如您已经看到的:int gear = 1;这样做会告诉你的程序,一个名为“gear”的字段存在,保存数字数据,初始值为“1”。变量的数据类型确定其可能包含的值,以及可能对其执行的操作。 除了
2017-08-17 22:59:09
881
翻译 变量
变量翻译自 ORALCE 《JAVA TUTORIAL 》 Variables正如您在上一课中学到的,一个对象将其状态存储在字段中。int cadence = 0;int speed = 0;int gear = 1;什么是对象? 讨论向您介绍了领域,但您可能还有几个问题,例如:命名字段的规则和惯例是什么? 除了int,还有什么其他数据类型? 当声明声明时,是否必须初始化字段? 如果这些字段
2017-08-15 14:55:49
217
翻译 章节:语言基础
章节:语言基础翻译自 ORALCE 《JAVA TUTORIAL 》 Lesson: Language Basics变量你已经知道对象将其状态存储在字段中。 然而,Java编程语言也使用术语“变量”。 本节讨论此关系,以及可变命名规则和约定,基本数据类型(原始类型,字符串和数组),默认值和文字。运算符本节介绍Java编程语言的运算符。 它首先提供最常用的运算符,而不太常用的运算符就最后。 每个
2017-08-15 09:49:17
182
翻译 什么是包?
翻译自ORACLE Java Tutorials –What Is a Package?一个包是一个命名空间,它组织一组相关的类和接口。 从概念上讲,您可以将软件包看作与计算机上不同的文件夹相似。 您可以将HTML页面保存在一个文件夹中,另一个文件中的图像,另一个文件中的脚本或应用程序。 由于用Java编程语言编写的软件可以由数百或数千个单独的类组成,通过将相关的类和接口放入包中来保持组织是有意义的
2017-08-15 09:21:53
1842
翻译 什么是接口
翻译自ORACLE Java Tutorials –What Is an Interface?正如你已经学到的,对象通过他们公开的方法来定义与外部世界的交互。 方法形成物体与外界接口; 例如,电视机前面的按钮是您和塑料外壳另一侧的电线之间的接口。 按“电源”按钮打开和关闭电视机。在其最常见的形式,接口是一组与空机构相关方法。 如果指定为接口,自行车的行为可能如下所示:interface Bicycl
2017-08-14 17:18:04
789
翻译 什么是继承
什么是继承翻译自ORACLE Java Tutorials –What Is an Object?不同种类的物体通常具有一定的共同之处。 例如,山地自行车,公路自行车和串联自行车都具有自行车的特点(当前速度,当前踏板节奏,当前档位)。 然而每个人还定义了使它们不同的附加功能:串联自行车有两个座位和两组车把; 公路自行车有落地车把; 一些山地自行车有一个额外的链环,给他们较低的传动比。面向对象编程允许
2017-08-14 17:07:24
511
翻译 什么是类
什么是类翻译自ORALCE 《JAVA TUTORIAL 》 What Is a Class? 在现实世界中,你经常会发现许多单独的对象都是一样的。可能有成千上万的其他自行车存在,所有相同的品牌和型号。每辆自行车是由同一套蓝图构成的,因此包含相同的组件。在面向对象的术语中,我们说你的自行车是被称为自行车的物体的一个实例。类是创建单个对象的蓝图。以下自行车类是自行车的一种可能的实现方式:class
2017-08-14 16:55:53
294
翻译 什么是对象
面向对象的编程的一个基本原理 - 隐藏内部状态和要求的所有交互通过对象的方法被称为数据封装来执行。翻译自ORACLE Java Tutorials –What Is an Object? 对象是理解面向对象技术的关键。 现在看看,你会发现很多真实世界的例子:你的狗,你的桌子,你的电视机,你的自行车。现实世界的对象共有两个特征:它们都有状态和行为。 狗有状态(名称,颜色,品种,饥饿)和行为(
2017-08-08 21:36:34
346
翻译 面向对象编程概念
前言:这一章,面向对象编程概念会教会你面向对象编程背后的核心概念:对象,消息,类和基础。这章最后会代码形式展示给你这些概念怎么转化为代码。对于已经熟悉面向对象编程的人,你可以跳过。章节:面向对象编程概念如果你之前从没有使用过面向对象编程语言,在你将要开始写任何代码之前,你需要学习少量基础的概念。这个章节将会给你介绍,对象,类,基础,接口和包。每一个讨论都会聚焦这些概念如何和现实世界联系起来,同时提供
2017-08-08 20:48:09
325
原创 WIN10上的Anaconda教程
Anaconda使用记录背景: 最近想要做股票的一些数据分析,因为女朋友说自己不知道什么时候买卖股票好。所以我想了用量化分析的思路给她做点分析,先从Anaconda使用开始搞数据分析。 以下所有内容均只涉及在WIN10环境下操作,不兼容MAC OS ,LINUX.环境搭建:conda create -n py3 python=3conda create -n py2 python=2配置好
2017-07-20 20:18:10
441
原创 VMWARE10与WIN10共享文件夹问题
折腾了好久,执行了三四个方案,就是没法把共享文件夹弄出来。 回去查看详细的日志才发现有一个模块没编译出来导致错误。vmhgfs !!!能定位问题就好解决了,又搜了老半天。看到GITHUB上给了个最好的解决方案,果然还是歪果仁靠谱。问题如下:sudo mount -t vmhgfs .host:/$(vmware-hgfsclient) /mnt/hgfs sudo vmware-hgfsmou
2016-12-07 21:13:37
4055
2
原创 MONGDB查询操作
MONGDB查询操作介绍下Mongodb查询查询语句1.find()#用法 db.collection_name.find()#查询不加如何参数默认返回所有数据记录#.pretty()让结果更美观db.collcetname.find().pretty()2.AND条件当 find() 中传入多个键值对时,MongoDB就会将其作为 AND 查询处理。#用法:db.mycol.find
2016-11-15 23:00:21
398
原创 MONGODB入门操作(一)
MONGODB入门操作按照惯例,官方文档的资料是最好的学习材料。 https://docs.mongodb.com/manual/基本概念MongoDB是面向集合的存储。以下以mongodb与MySq对比: collection对应就是table表的概念。 ducument对应就是表中一条记录,类似一行数据。 mongodb中使用了一种类json的bson存储数据。文档之间的逻辑联系1.嵌入
2016-11-15 22:18:50
344
原创 HTML引用资源相对路径
HTML引用资源相对路径HTML相对路径(Relative Path)和绝对路径(Absolute Path),同目录文件引用“.”——代表目前所在的目录。 我们现在建一个源文件test.html,在info.html里要引用test.html文件作为超链接。<a href = "./index.html">index.html</a>其实,对同级目录文件的引用可以省略”./”直接引用。表示上级目
2016-08-12 00:15:51
5150
原创 Django中提供大内容(或大文件)下载
def bigFileView(request): u"""在Django中提供大内容(或大文件)下载 @see http://oldj.net/article/django-big-file-response/ """ # do something... def readFile(fn, buf_size=262144): f = open(f
2015-12-22 16:01:04
447
原创 Python日期各种处理方式
好好使用好datetime这个库,源代码的量不大。import datetimetoday = datetime.date.today()#获得今天,只有日期today_datetime = datetime.datetiem.today()#获得今天,是个datetime对象,可以做各种操作。#把datetime转成字符串def datetime_toString(dt): ret
2015-12-17 16:57:15
625
原创 python 发邮件。可以带附件列表
python 发邮件。可以带附件列表#发送邮件脚本def send_mail(to, sub, content, from_email, mail_pass, filelist = []): ''' to:发给谁 sub:主题 content:内容 from_email:登录邮箱 mail_pass:登录密码 filelist:附件列表,文
2015-12-17 15:36:46
730
原创 django中使用chart.js的例子
背景:由于运营的需求,需要一些数据图表进行分析。整个思路是这样的,利用DJANGO的ORM操作数据库,从库中查询出所需要的数据。并把查询整个动作封装成一个数据接口。返回给前端json格式。利用chart.js将数据展现在页面上。html引用好所需要的文件,static可以在settings.py中设定好。<script src="{% static "js/Chart.js" %}"></scrip
2015-12-13 17:46:06
4060
原创 利用chartjs生成图表
说明下面是如何利用chartjs生成图表,引用好Chart.js之后我们就可以直接使用了。很方便就可以生成了。还有很多其他格式,以后会再详细介绍如何使用。html<canvas id="canvas" height="400" width="500"></canvas>JSvar json = [{"company_name":"project A","present_worth":"81531
2015-12-13 00:31:26
2584
原创 如何查询数据库
应用场景:标签选择,参与人,各种选择可以从数据库中查出所有,反馈到前端的标签中。还可以在模板文件中添加selected标签做预选择model.py中from django.db import modelsclass MessageTag(models.Model): class Meta: db_table = "message_tag" # 标签名称 ta
2015-11-26 11:10:43
527
原创 实现查询功能,提交GET请求到后端
目标:实现页面上选择框,输入内容等内容捕捉后,拼接成查询字符串,提交GET请求到后端。实现逻辑:前端部分:后端部分:背景知识:JQUERY:indexOf() 和 lastIndexOf() 方法返回的都是指定的子串在另一个字符串中的位置,如果没有找不到子串,则返回 -1。淡入淡出:选择包含这个类属性的表情,让它出现。 $(".filters").fadeIn();同上,就是让它消失 $(".f
2015-11-25 14:21:09
901
原创 select标签和GET提交参数互相影响
背景:DJANGO开发在实现一个功能时遇到一个这样的问题。select的标签默认总是第一个值,重新刷新页面时,又会默认选择第一个值,而我想实现选择一个标签然后拼接成一个url?zone=bj,之后发送一个GET请求后,刷新页面后,标签选择在刚刚选中的标签。以下分别是JQUERY代码,和后端DJANGO的模板语言。解决方法:其实很简单,每次刷新后,重新渲染时,只要加个语句判断选择标签在哪个位置,VIE
2015-11-24 10:30:16
1066
原创 鸟哥私房菜阅读笔记-第六章文件权限和目录设置
第六章文件权限和目录设置 系统中所有账户信息文件: /etc/passwd所有的信息含root /etc/shadow个人密码 /etc/group所有组名man ls info ls 可以用来查看基础用法修改文件属性,权限 chgrp 改变所属用户组 chown改文件所有者 (加-r递归子文件) chmod改权限 数字类型改变权限 r:4 w:2 x:
2015-07-22 17:46:29
358
原创 CHECKIO-题目之Elementary(下)
Absolute sortinghttp://www.checkio.org/mission/absolute-sorting/absolute-sorting: def checkio(numbers_array): li=sorted(numbers_array,key = lambda x : abs(x)) return li #These "asserts" usi
2015-05-15 09:30:43
1207
原创 Checkio--题目之Elementary(上)
练习三:def checkio(array): """ sums even-indexes elements and multiply at the last """ if len(array) == 0: return 0 return sum(array[0::2]) * array[-1]#很巧妙,这里array[0::2]表示取序号为0,2,4,6....的元素
2015-05-15 09:16:42
3012
原创 Checkio--Friends
题目连接:http://www.checkio.org/mission/friends/题目:For the mission "How to find friends" , it’s nice to have access to a specially made data structure. In this mission we will realize a data str
2015-05-14 22:49:26
979
原创 定制自己的VIM
昨天折腾了一天,看了好多资料,终于把自己的VIM改成一个很好看的配色还有把PYTHON的开发环境也配置的差不多了。从完全不会VIM配置,都后面熟悉了很多参数。慢慢得一个一个做实验,去修改自己的.vimrc 整个过程学了好多小知识,以下都是在LINUX下操作。 大概总结下怎么定制自己的VIM: .vimrc是配置vim的文件。直接在自己的目录下 ~/.vimrc 是自己的配置VIM其他用户不影
2015-05-03 13:11:22
1617
原创 VIM常用操作
一,三种模式在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(append/追加)键或者i(insert/插入)键 在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式1.模式切换vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc或者Ctrl+[即可进入
2015-05-03 10:46:23
320
原创 PYTHON-文件和素材
文件和素材1.打开文件 f = open(r’c:\txtt\filename’)文件模式 r w a 追加模式 b 二进制模式(可以添加其他模式,如’b+’) + 读/写()sys.stdin标准输入 sys.stdout标准输出sys.stdin.read() 读取屏幕输入2.对文件内容迭代:文件也可以迭代,sys.stdin是可以迭代的 import sys for
2015-04-23 10:23:24
743
原创 PYTHON-模块学习与导入
探究模块方法:1.all 变量, 它给出了模块导入所有名字代表含义,提供公用接口,输出所有不以下划线开头的全局名称2.help(module.using) 提供模块方法介绍等还有参数。3.文档。提供详细的模块文档。 print range.__doc__4.源代码 ,下列语句直接查找出文件位置。print copy.__file__# -*- coding: utf-8 -*-#hello
2015-04-16 10:34:02
601
原创 PYTHON--re模块与正则表达式
正则表达式1. 通配符点号可以匹配除了换行符外的任何单个字符。 特殊字符要转义 前面加\ 2. 字符集用中括号括住字符串来创建字符集。字符集能匹配它包括的所有字符。只能匹配一个字符。'[^abc]' # 可以匹配除了abc之外的字符3. 选择符和子模式'p(ython|erl)' # 匹配两个字符串4. 可选项和重复子模式在子模式后面加上问号,就变成可选项。r'(http:/
2015-04-16 10:25:34
482
原创 PYTHON-异常
异常 常见内建异常异常 描述 Exception 所有内建异常 SystemExit 由sys.exit()产生 StandardError 除SystemExit外所有内建异常 ArithmeticError 所有运算异常 FloatingPointErr
2015-04-16 00:16:54
450
原创 PYTHON-函数特性
函数:在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。递归函数,自身调用自身就是递归函数定义默认参数 定义函数的时候,还可以有默认参数。 由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面: 默认参数必须指向不可变对象 如:# OK:def fn1(
2015-04-13 17:27:15
987
原创 PYTHON-if while,for语句
1. if语句Python代码的缩进规则。具有相同缩进的代码被视为代码块,即为C中一个大括号包含的代码块。缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。语法: if 表达式 : print 'test' print 'gg' elif 表达式 : pr
2015-04-13 17:01:02
620
转载 常见的正则表达式总结
只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\d{n}$"。只能输入至少n位的数字:"^\d{n,}$"。只能输入m~n位的数字:。"^\d{m,n}$"只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{
2015-04-08 14:40:29
399
原创 Python-字典使用
创建:字典可嵌套 {key1:value1,key2:value2} 说明:字典是由多个键以及其对应的值组成的键值对组成的,字典以左大 括号开始,并以右大括号结束,键与值之间用冒号分隔,键值对儿之间用 逗号分隔; 注意:字典中的键是唯一的基本操作 通用的有: len[d] , d[k] = v , del d[k] , k in d 特点: 第一点:键(key)的类型任意 第二点
2015-03-28 21:33:30
416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人