- 博客(82)
- 收藏
- 关注
原创 MySQL系列11——索引效率测试
MySQL索引效率测试一、以mysql添加索引和不添加索引为例,测试数据的插入速度和查询速度。1、首先创建数据表和数据库,在cmd命令行中执行:create database TestDataSpeed charset=utf8;use testdataspeed;create table DataNoIndex(id int,name char(10),age int,address char(20),gender char(1)); #创建不带索引的数据表create table DataN
2020-10-29 15:52:41
9887
原创 1、python调用java的jar包
在python中调用jar包最近的项目功能需要调用客户的java接口,在调用接口的时候需要使用配套的jar包生成一些参数,但是公司的项目是用django搭建的,经过无数血与泪的尝试,最终终于找到了合适的方法去调用…jpype包是一个Python的包,可以在python项目中调用java的jar包,并获取最终的返回值。使用方法很简单,但是安装的过程比较复杂。本文在ubuntu18.0.4系统,以python2以及jdk8为基础,讲解jpype包的使用。1、安装java首先去官网下载jdk1.8的tar
2020-10-09 10:41:35
10022
6
原创 django免除csrf校验
在django中默认启动csrf校验,当用户发起post请求时,必须携带csrf_token参数。如果不想使用csrf校验时,可以使用以下方式免除校验。以下方式都是在局部中使用,如果想全局禁用时,需要在settings文件中配置,这种方式不推荐使用。
2020-07-15 11:17:26
10710
1
原创 Paginator分页器的使用
当数据量很大时,一次性返回的数据太多会导致加载数据很慢,这时候就要用到分页对数据进行处理,在django中有自带的分页器Paginator,以下是Paginator的详细使用方法。
2020-07-15 11:08:27
9854
原创 NoSQL和关系型数据库的区别和使用场景
NoSQL(NoSQL=Not Only SQL),意为不仅仅是SQL。在现在计算机系统上每天都会产生庞大数据量,这些数据很大一部分是由关系型数据库管理系统(RDMBSs)来处理。1970年E.F.Codd's提出关系模型论文,通过应用实践证明,关系型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。NoSQL是一项全新的数据库革命性运动早期就有人提出,发展至2009年趋势越发高涨。NoSQL维护者们提倡运用芬关系型的数据存储,相对于铺天盖地的关系
2020-07-10 10:49:24
11603
原创 MongoDB系列3——聚合操作
聚合操作处理数据记录并返回计算结果。聚合操作将来自多个文档的值分组在一起,并且可以对分组的数据执行各种操作以返回单个结果。MongoDB提供了三种执行聚合的方法:聚合管道,map-reduce函数和单一目的聚合方法。
2020-07-09 17:51:08
9498
原创 网络协议系列1—TC/PIP网络模型
计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信,使用哪种语言进行通信、怎样结束通信等规则都事先确定。TCP/IP是互联网相关的是互联网相关的各类协议簇的总称,比如TCP,UDP,IP,FTP,HTTP,ICMP,SMTP等属于TCP/IP族内的协议。
2020-06-18 23:27:28
13299
原创 django系列5—QuerySet API的增删改查操作
QuerySet可以构造、过滤、切片、和大致的结果而不实际访问数据库。除非执行某些操作来评估查询集,否则实际上不会发生对数据库的查询活动。
2020-06-16 10:45:15
9698
原创 django系列4—数据库字段约束
字段约束是在搭建数据库时,最字段进行的额外约束,比如max_length,default等。这里是一些常用的字段约束。
2020-06-16 10:41:48
9552
原创 django系列3—数据库字段类型
字段类型字段类型指使用Django ORM创建数据库时支持的数据字段类型。常用字段(1) AutoField自增的整型字段,必填参数primary_key=True,则成为数据库的主键,无该字段时,django会自动创建主键id字段。(2) BigAutoField一个64位整数,非常类似与AutoField,但是范围是从1~9223372036854775807。(3) BigIntegerField一个64位整数,非常类似于IntegerField,不同之处在于保证可以匹配从-92233
2020-06-15 22:05:08
10020
原创 django系列2—class Meta选项
Meta选项class Meta选项是在定义数据库模型时添加额外的属性,用于帮助解读数据库。abstract如果设置为True时,该模型为抽象基类,在创建表时不创建。abstract = Trueapp_label如果模型是在INSTALLED_APPS中定义之外的app中,则必须声明其所属的应用用程序app_label = ‘myapp’verbose_name对象的可读名称,在admin后台上单数形式的名称。verbose_name = ‘新闻’verbose_na
2020-06-15 21:56:47
9734
原创 django系列1—数据库迁移
数据库迁移迁移前的检测python manage.py check生成迁移文件python manage.py makemigrations执行迁移python manage.py migrate显示用于迁移的SQL语句python manage.py sqlmigrate列出项目的迁移及其状态python manage.py showmigrations忽略某条迁移文件python manage.py migrate app_name 0003 -
2020-06-15 21:52:31
9050
原创 数据分析系列4—pandas使用
pandas使用一、pandas简介pandas是一种建立在python基础上的快速,强大,灵活并且易于使用的开源数据分析和处理工具。是基于numpy实现的,具有存储表格数据、统计分析、数据清洗功能。主要有两种数据结构:DataFrame和Series。二、pandas使用两种数据结构的使用import pandas as pdimport numpy as np# 用来存储数据 ---两种结构# DataFrame ---具有行索引、列索引的表格数据# --
2020-06-13 22:19:12
9984
原创 数据分析系列3—matplotlib使用
matplotlib使用matplotlib是一个可视化库,用于在python中创建静态,动画和交互式可视化。绘图流程主要包含以下三步:创建画布绘制图形图形展示简单图形示例import matplotlib.pyplot as pltimport numpy as np# 绘图三部曲# (1)创建画布# 参数: figsize ---画布大小# 参数: dpi ---像素# 返回值: 返回画布对象plt.figure()# (2)绘制图形# 绘制下一周天气走势---折
2020-06-13 21:57:15
7615
原创 数据分析系列2—numpy进阶
数组操作矩阵运算import numpy as np# 创建矩阵进行运算m1 = np.mat('1 2;3 4') # ---(2,2)m2 = np.asmatrix([[2, 1], [1, 2]]) # ----(2,2)print('m1:\n', m1)print('m2:\n', m2)print('*' * 100)# 矩阵相加 ---同型矩阵 ---对应位置相加print('m1 + m2 :\n', m1 + m2)# 矩阵相减---矩阵加上后面的矩阵
2020-06-12 22:17:52
7321
原创 rest_framework系列2—重写登录认证、权限校验、频率限制和版本控制
rest framework的APIView中对request进行了[再封装以及校验](https://blog.csdn.net/qq_42486675/article/details/106610104),本篇文章主要从源码的角度分析这些方法,通过重写实现自己的功能模块快速开发。
2020-06-09 23:28:38
7595
1
原创 数据分析系列1—numpy使用
numpy一、numpy使用numpy介绍numpy是python的科学计算库,在存储数据时使用连续的内存空间存储,提高了查询效率。numpy内存图如下:numpy基本属性# 导入numpyimport numpy as np"""数组的基本属性: ndim: 数组的秩(纬度),一维为1,二维为2 shape: 数组的类型,为元组格式,示例:二行三列的数组为(2,3) size: 数组中元素的个数 itemsize
2020-06-08 17:16:25
7532
原创 rest_framework系列1—restful接口规范和rest_framework初步了解
rest_framework初识在开发过程中,通常会进行前后端分离设计,这样不仅有助于加快前后端的开发速度,降低前后端代码的耦合度,还有利于提高后端代码的适用性,比如一个API接口可以同时供web端和app端进行使用。首先了解python中API开发,python中的API主要有两种视图的处理:FBV:Function base view(基于函数的视图)CBV:Function base view(基于类的视图)CBV:基于反射实现,根据请求方式的不同,执行不同的方法:get,post,p
2020-06-08 00:06:54
7614
原创 python系列5—列表、元组、集合、字典
组合数据类型当基本的数据类型不能完全表示所有的数据时,这时候就会用到组合数据类型。学习组合数据类型之前,需要知道python的两个内置神级函数dir()和help()。dir():查看某个对象支持的操作方法,示例:dir(list)help():查看某个方法的使用方式,示例:help(print)一、列表list列表是组合数据类型中的一种,可以按照有位置顺序的方式、存储不同数据类型、重复的多个数据。列表和变量的使用方式一样,都需要先声明,再使用。列表的声明声明空列表"""
2020-06-06 22:54:23
7393
原创 python系列4—循环结构
循环结构应用场景:当我们在编写代码时,如果有一个需求是输出10次"hello world",这时候我们可以直接写十次print("hello world")。但是当我们需要些十万次"hello world"呢?肯定不会直接写十万行print("hello world")。这时候我们就需要用到循环语句了。python中的循环语句分为两种语法:for…inwhile…循环的条件:初始值控制条件(循环结束的条件)步长一、for…in循环如果知道要迭代的次数或者要对某一个迭代器对象进行循
2020-06-06 18:12:16
10037
原创 python系列3—顺序结构和分支结构
顺序结构和分支结构代码中的结构共分为三种,本篇主要讲解顺序结构和分支结构。:顺序结构分支结构循环结构一、顺序结构顺序结构介绍顺序结构是代码执行的基础,在同一个代码块中,代码自上而下按顺序执行,这种顺序就被称为顺序结构。案例:运行代码时会发现先输出hello world,然后等待用户输入,最后输出用户输入的内容。这个就是顺序结构。"""使用input()函数获取键盘输入(字符串)使用int()函数将输入的字符串转换成整数使用print()函数输出带占位符的字符串Ver
2020-06-06 18:11:08
11241
原创 python系列2—数据类型和运算符
数据类型和运算符一、变量和类型在程序设计中,变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。首先介绍几种基础的数据类型:整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64
2020-06-06 18:07:50
7008
原创 python系列1—初识python
初识python一、安装pythonwindows安装在python官网下载对应的解释器版本:https://www.python.org/。双击运行解释器进行安装。推荐在安装时不要安装在C盘。Linux安装Linux环境中自带了Python 2.x版本,想更新到3.x版本需要去官网下载对应的解释器,以Centos安装python示例:安装依赖库yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-
2020-06-06 15:25:36
6934
原创 Java系列13—StringBuffer、数组排序(冒泡、选择、插入),Integer、Character类
StringBuffer、数组排序,Integer、Charscter类一、StringBuffer/StringBuilder(掌握)StringBuffer/StringBuilder区别StringBuffer是线程安全的可变字符串StringBuilder是县城不安全的可变字符串。和StringBuffer的功能一样。就是效率高一些,但是不安全。构造方法/** * StringBuffer:线程安全的可变字符串 * 可以改变内容和长度 * * StringB
2020-06-05 22:41:39
9091
原创 Java系列12—Scanner和String类的使用
Scanner和String的使用一、Scanner的使用/** * Scanner的使用 * 1、JDK5以后,帮助实现键盘录入数据 * * 2、构造方法: * public Scanner(InputStream is) * Scanner sc = new Scanner(System.in); * * 3、成员方法: * A:hasNextXxx() 判断是否是xxx类型的元素 * B:nextXxx() 获取xxx类型的元素 * * 4、
2020-06-04 22:49:22
10099
原创 Java系列11—包的使用和Object类介绍
包的使用和Object类介绍一、包的概念/* 关于java语言中的包机制 1、包又称为package,java中引入package这种语法机制主要为了方便程序的管理 不同功能的类被分门别类放到不同的软件包中,查找比较方便,管理比较方便,易维护 2、怎么定义package? —— 在java源程序的第一行上编写package语句 —— package只能编写一个语句 —— 语法结构: package 包名; 3、包名的命名规范 公司的域名倒序 + 项目名
2020-06-02 23:50:09
9393
原创 Java系列10—this、static、final和访问控制修饰符
this、static、final和修饰符一、this的使用(1)this使用概述/** * 关于java语言中的this关键字: * 1、this 是一个关键字,翻译为:这个 * 2、是一个引用,保存在堆内存中对象的内部,指的是对象自身 * 3、创建100个java对象,每一个对象都有一个this,也就是有100个不同的this * 4、this可以出现在实例方法中,this指向当前正在执行这个动作的对象 * 5、this多数情况下可以不写 * 6、this不能使用在带有s
2020-06-02 23:45:51
9081
原创 Java系列8—对象创建的内存分配和构造方法
对象的创建类和对象的区别面向对象【java语言的核心机制,最重要的内容,java语言的特色】 * 面向过程和面向对象的区别 -- 面向过程:主要关注点是:实现的具体过程,因果关系 -- 面向对象:主要关注对象【独立体】能完成哪些功能。 优点:耦合度低,扩展力强。 缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统设计 -- c语言是纯面向过程的、C++半面向对象、java纯面向对象 * 面向对象的三大特性 —— 封装 ——
2020-06-02 23:28:14
10627
原创 Java系列7—方法重载(overload)和递归函数
方法重载和递归方法一、方法重载方法重载:两个方法的功能虽然不同,但是实现的功能类似,让程序员调用的时候就像调同一个方法。(1)方法重载示例:/* 体验方法重载的优点: * 程序员调用方法的时候比较方便 前提:功能相似,功能不同时需要编写不同的方法。*/public class OverloadTest02{ public static void main(String[] args){ // 调用方法 int result1 = sum(1,2); Sys
2020-06-02 23:04:18
9031
原创 Java系列6—Java中的方法
Java中的方法一、方法的介绍方法,把某些需要重复使用的代码段放在一块,可供重复调用:方法的好处:代码得到了重复使用方法本质:方法就是一段代码片段,并且这段代码片段:可以完成某个特定的功能,可以被重复的使用方法,对应英语单词:Method方法在C语言中叫做函数/Function方法定义在类体之中,在一个类当中可以定义多个方法,方法编写的位置没有先后顺序,可以随意方法体当中不能再定义方法!!!!方法体由java语句构成,方法体中的代码遵循自上而下执行public class Met
2020-06-02 22:56:39
9088
原创 Java系列5—循环语句
循环语句循环结构:在程序当中总有一些需要反复执行的代码,假设没有循环结构,这些重复执行的代码需要重复编写,代码无法得到重复使用。所以多数编程语言都是支持循环结构的,将来把需要反复执行的代码片段放到“循环体”,再联合计数器,共同控制这段需要反复执行的代码。在Java中循环结构分为三种:for循环while循环do…while循环一、for循环for循环基础语法/* 1、当前示例主要讲解for循环。for循环的语法结构如下: 语法结构: for(初始化表达式;布尔表达式;更
2020-06-02 22:50:31
10110
原创 Java系列4—分支语句
分支语句分支语句又称选择语句,当满足某个条件时,就进行某种操作。Java中有三种选择结构:if…else if…elsewhile…do…while一、java语言中的if分支语句java语言中有if,else if和else三个if语法,与python不同的是没有elif的用法,只有else if。/* 关于java语言中的if语句,属于选择结构,if语句又被称为分支语句/条件控制语句 1、if语句的语法结构:四种编写方式 第一种: if(布尔表达式){
2020-06-02 22:47:59
9995
2
原创 Java系列3—运算符
运算符运算符包括:算术运算符比较运算符逻辑运算符赋值运算符特殊的“+”运算符三元运算符/三目运算符一、Java语言中的算术运算符/* 关于java编程中运算符:算术运算符 + 求和 — 求差 * 乘积 / 商 % 求余数【取模】 ++ 自加1 -- 自减1 注意: 一个表达式中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升*/public class OperatorTest01{ public static void ma
2020-06-02 22:44:53
9043
原创 Java系列2—基本数据类型
基本数据类型一、数据类型概述1、编码发展ASCII码–>随着计算机发展出现:ISO-8859-1(latin-1)随着计算机向亚洲发展,开始逐渐支持中文:GB2312–>GBK–>GB18030支持繁体中文:大五码后来出现了一种编码方式统一了全球所有文字,容量较大,这种编码方式叫做unicode编码。unicode编码方式由多种具体实现。UTF-8,UTF-16,UTF-322、基本数据类型的取值范围:类型范围byte-128~127sh
2020-06-02 22:42:15
9013
原创 Java系列1—运行过程
初识java一、初识java1、初识java ——javac.exe怎么用 javac A.java 生成编译文件 A.class——java.exe怎么用:java 类名例如: 硬盘上有一个A.class,那么就可以用java A 硬盘上有一个B.class,那么就可以用java B 不能写成 java A.class——运行阶段的过程是: * 打开DOS命令窗口 * 输入:java A * java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器Cl
2020-06-02 22:36:16
9045
原创 Elasticsearch系列1—索引原理
Elasticsearch—索引原理一、介绍Elasticsearch 是一个分布式可扩展的实时搜索引擎和分析引擎,一个建立在全文搜索引擎A**pache Lucene™**基础上的搜索引擎。当然Elasticsearch并不仅仅是Lucene,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。实时分析的分布式搜索引擎。可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。基本概念Elasticsearch的文件存储,Elas
2020-06-02 11:17:07
7548
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人