自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 Mysql中concat,concat_ws,group_concat用法总结

一.concat、concat_ws、group_concat用法总结1.1 concat函数CONCAT(str1, str2, ...)select concat('a', 'b', 'c') as dt-------| dt |------| abc |------注意点:concat在连接字符串的时候,只要其中一个时NULL,那么将返回NULLmysql> select concat('11','22',null);+-----------------------

2021-06-30 11:27:53 282

原创 Vue中基于moment.js实现日期格式化

一. moment.js模块的安装moment.js模块是一个优秀的js日期处理模块,支持UTC格式时间的序列化npm install --save-dev [email protected]二. 基于moment实现日期格式化1.1 当前日期减一年moment().add(-1, 'year').format('YYYY-MM-DD')1.2 获取当天结束的时间moment().endOf('day').format("YYYY-MM-DD hh:mm:ss")1.3 获取一天前开始的时间

2021-06-30 11:05:45 514

原创 iview组件篇之布局

一.iview中24栅格布局介绍1.1 iview24列栅格布局介绍引入概念:Row代表一行Col代表一列Card代表着卡片<template> <div> <Row> <Col v-for='n in 24' span="1" :key='n'> <Card :title=n> {{ n }}列 </Card> </Col&g

2021-05-31 00:05:49 1300

原创 IView-UI组件篇之主题,语言,导航,路由

一.IView组件项目目录结构iview-ui一套基于vue.js的前端组件库,iview中定制了一些自己组件的样式以及组件标签的书写规范,是一套非常流行的前端组件1.1 基于iview创建的项目基于ivew创建的项目和我们通过webpack创建的项目区别在于会新增plugins插件目录,而且下面会新建一个iview.js的js文件,其中就是用来对iview进行实例和引入import Vue from 'vue'import ViewUI from 'view-design'Vue.use(

2021-05-30 13:54:56 1457 4

原创 webpack篇之插件plugin

一.html文件处理插件html-webpack-plugin打包时希望在dist目录下生成index.html文件并依据某个模板生成首先安装html-webpack-pluginnpm install [email protected] --save-dev然后在webpack.config.js文件中配置const path = require('path')const webpack = require('webpack')const htmlWebpackPlugin

2021-05-23 11:17:40 376

原创 Webpack打包工具安装使用介绍

一.Webpack的安装webpack安装依赖nodejs,下面介绍是基于系统已安装node.jswebpack3.6.0 是vue cli2脚手架依赖的版本npm install [email protected] -g(全局安装)二.webpack模块化开发基本目录结构下面是一个最基础的webpack目录结构src 源代码放置目录dist(distribution发布)代码发布目录当进行模块化开发时,js代码之间有依赖(CommonJS或ES6模块化开发),我们可以将依赖的js文件打包成一个文

2021-05-23 01:46:01 483 4

原创 windows下搭建web HTTP服务

一.基于node.js下的http-serve搭建http服务http-server的全局安装npm install http-serve -g ( -g 全局安装 )

2021-05-22 17:18:39 222

原创 python之常见排序算法实现

一. 快速排序实现快速排序算法的核心思想就是分而治之,将要排序的数组基于一个基准值(一般选择数组的第一元素)进行一份为二(大于基准值的放到右边,小于基准值的放到左边),然后进行两组递归(小于基准值和大于基准值的分别进行二分排序,依次递归,直到每组无法拆分,此时每组的顺序都已排好),二分法思想在很多算法中有应用,例如数结构一分为二,所以二分的时间复杂度为O(n*logn)。python具体实现快速排序代码如下:# _*_ coding:utf-8 _*_def quick_sort(array,

2021-05-11 16:24:02 69

原创 python之栈结构实现篇

一.栈结构引用场景介绍栈是一种先进后出的数据结构,桟的应用场景非常多:1、内存管理中使用的堆栈;2、基于桟实现的二叉树的遍历;3、在语言处理中,符号的平衡问题二. python基于类和引用实现栈在桟的设计中,我们需要定义一个实例属性top。三个实例方法:获取栈顶元素peek();出桟pop();入栈push()具体实现代码如下:# _*_ coding:utf-8 _*_class Node: def __init__(self, val): self.val

2021-05-11 10:59:52 147

原创 Python之单向链表实现

一.基于类+引用实现单向链表python中要实现链表数据结构需要借助于类和对象引用来实现,根据结构的不同,链表可以分为单向链表、单向循环链表、双向链表、双向循环链表等。其中,单向链表和单向循环链表# _*_ coding:utf-8 _*_class Node: def __init__(self, val): self.val = val self.next = None def get_val(self): return se

2021-05-10 19:14:00 170

原创 DRF(django-restframework)中用户认证模块配置

一. drf中某个视图进行用户登录认证1.1 基于jwt解耦token生成校验模块首先我们使用jwt将用户登录生成token功能解耦成独立模块,给该模块放在middleware目下下并命名为generate_token.pyimport jwtimport datetimefrom django.conf import settingsdef generate_jwt_token(payload, timeout=1): key = settings.SECRET_KEY r

2021-05-03 14:15:38 427

原创 算法系列-动态规划问题

一. 动态规划问题1.1 斐波那契数列问题1.递归解法"""斐波那契数列问题实现,队列如上 1 1 2 3 5 8 13........"""# 递归版class Fib: def __init__(self): pass def fib_n(self, p): if p == 0: return 1 elif p == 1: return 1 else:

2021-04-28 18:27:08 109

原创 基于Django框架实现简单token校验

一.普通token校验待续

2021-04-27 20:20:07 1531

原创 windows中安装配置Mongodb以及通过配置文件启动

一. MongoDB安装下载进入MongoDB官网,Products -> 选择SOFTWARE下的MongoDB Server,下载地址如下:https://www.mongodb.com/try/download/community下载完后按照提示安装,安装完后配置环境变量,安装完后目录结构如下注意点:config: mongodb启动时的配置文件,没有该目录以及文件则新建,配置文件内容如下:设置完配置文件后就可以通过配置文件启动mongodb服务注意点:(这里存在比较多的坑)1

2021-04-26 16:34:53 3396

原创 本地Git设置密码后TortoiseGit客户端相关配置

一. Git设置密码在安装完git后采用非对称加密算法生成公钥和私钥时后可以设置密码,例如执行如下代码:ssh-keygen -t -rsa -C “[email protected]”,并按照提示在设置密码enter passphrase处设置密码设置密码,这里设置密码的作用是在用ssh连接 这里创建一个你的连接的密码注意点:设置和不设置密码的区别在enter passphrase选项中设置密码: 在使用ssh连接 这里创建一个你的连接的密码,然后每次在使用ssh拉取代码时需要输入创建链接的密码不设置

2021-04-25 11:06:53 334

原创 Docker运行原理分析和镜像/容器打包

一.Docker运行原理docker是用golang语言开发的一个开源软件,让应用程序运行在一个相对隔离的环境运行,借此在Linux操作系统上提供一层额外的抽象,以及操作系统层虚拟化的自动管理机制。docker实现虚拟化技术的基本原理:Docker利用Linux中的核心分离机制,例如Cgroups,以及Linux的核心Namespace(名字空间)来创建独立的容器。一句话概括起来Docker就是利用Namespace做资源隔离,用Cgroup做资源限制,利用Union FS做容器文件系统的轻量级虚拟化技

2021-04-20 15:40:54 468

原创 Vue组件开发之插槽

一.Vue组件开发中插槽1.1 插槽的作用插槽的作用是为了拓展组件的灵活性,因为我们定义组件时,组件中的内容基本被固定,所以在组件中预备插槽时可以拓展组件的功能,在引用组件时可以修改组件内容的显示<!DOCTYPE html><html lang='en'> <head> <meta charset='UTF-8'> <meta name='viewport' content="width=device-w

2021-04-20 02:06:50 167

原创 Vue父子组件之间属性访问

一.父子组件之间属性访问通常父子组件是可以进行属性访问的,例如父组件调用子组件中的方法,变量等,这些都是可以通过拿到各自对应的父子组件对象,然后调用其属性,例如:父组件访问子组件中的属性有两种方式在父组件中使用this.$children拿到所有的子组件数组对象,然后索引访问对应子组件中的方法,变量等属性通过this.$refs(子组件名称来访问),这种相比于第一种就是可以通过子组件的具体名称来访问了,避免索引顺序改变问题1.1 父组件访问子组件(this.$children,this.$re

2021-04-20 01:30:00 354

原创 Vue进阶之组件化开发

一.组件化思想介绍组件化开发,本质就是将相同功能的模块开发成 一个个可以复用的小组件,然后通过引入各个组件实现一个完整页面的开发,组件化开发就像树结构一样,每一个组件都是树形结构上的一个分支节点1.1 Vue实例创建组件在Vue中创建组件构造器有几种实现方式,但是大体思想包含3步,如下:1.创建组件构造器2.注册组件3.在Vue实例对象中使用组件组件第一种创建使用方法,基于extend方式:<!DOCTYPE html><html lang="zh"> &l

2021-04-18 16:07:41 253

原创 Vue中v-model表单绑定几种实现方式

一.单个复选框checkbox单个复选框对应v-model绑定的数据类型为bool值类型,即选中后v-model绑定的值被修改成true,否则为false,因为只有两种状态,选中和不选中,废话不多说,直接上代码:<!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewpot" content="width=de

2021-04-18 01:50:38 1883

原创 Vue实战小案例

一.表格数据添加,删除,搜索功能第一个小案例我们模拟购物车效果,实现表格中数据添加,删除,以及搜索功能,废话不多说,直接上代码<!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewpot" content="width=device-width, initial-scale=1.0">

2021-04-17 19:01:09 1914 1

原创 css进阶知识

一.css如何设置元素在垂直居中当我们希望容器中的元素在垂直方向进行剧中时,我们通常可以通过如下两种方式实现,例如如下案例:1.1 使用position定位我们希望输入框和点击按钮在长方形容器进行垂直居中,这时候进行如下设置<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" cont

2021-04-17 18:55:29 60

原创 Python正则分组,后向引用,断言用法总结

一.python正则分组1.1 无命名分组在正则分组中,隐藏的全局分组的索引号为0,即整个正则表达式的匹配结果,然后从左到右,第一个括号表示第一组,第二个表示第二组,依此类推1.2 有命名分组命名分组就是给需要用正则匹配的内容组重新取一个名字,语法格式为:(?P<name>regex),其中那么表示匹配到的分组别名import rethe_str = "the target ip='192.168.0.1',version='1.0.0' "group_res = re.sear

2021-04-14 16:59:42 567 1

原创 经典算法问题Python实现

一. 约瑟夫环问题约瑟夫环问题描述:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列,求最后一个出圈人得编号。一般我们把编号从0~n-1,最后结果+1即为原问题的解。通常,我们会要求输出最后一位出列的人的序号。首先我们对n个人进行编号0, 1, 2,…, n-1然后第一次报数后出圈得人为x,那么此人的序列编号为(x+m) % n,推理依据如下:例如

2021-04-12 16:31:46 447

原创 Django中文件上传下载

一.Django后端文件上传下载实现1.1 view中实现文件上传from django.http import HttpResponse, StreamingHttpResponse, FileResponseimport osfrom django.shortcuts import render, HttpResponseUPLOAD_PATH = 'home/server/file'# Create your views here.def files_upload(request)

2021-04-09 11:52:03 223

原创 Django中uwsgi服务启动配置

一.初识WSGI1.1 WSGI协议简介WSGI全称Web Server Gateway Interface,指Web服务器网关接口协议,它不是什么框架,而是一种通信协议,其目的是为了使框架和web服务器分离,使实现了WSGI的框架和web服务器可以自由搭配,一旦后端框架中实现了WSGI协议后,开发人员进行api开发时不需要关注web请求与后台api的交互。Python Web框架早期发展过程中,各种Web框架层出不穷,但由于各自实现的交互接口,导致它们难以跨Web Server使用,而WSGI的出现

2021-04-09 11:17:38 613

原创 Django中解决跨域问题配置(后端解决跨域)

一. Django中解决请求跨域问题django-cors-headers模块可以解决请求跨域问题,支持Python 3.5 - 3.8,支持Django 1.11 - 3.0解决跨域问题的步骤如下1.1 django-cors-headers模块安装pip install django-cors-headers1.2 django中setting文件配置1.在setting配置文件应用中添加app配置INSTALLED_APPS = [ ... 'corsheaders

2021-04-08 16:25:08 1702

原创 Python中json自定义jsonschema进行json数据格式校验

一.python中jsonschma库python中有时候我们想对json数据进行键值对(key,value)数据的数据格式进行校验,因为数据类型不符合业务逻辑会导致业务逻辑代码执行报错,这时候我们可以对传入的json数据格式定义一个schema,定义数据模式,然后通过schema对data进行校验,python中我们进行进行如下校验:# _*_ coding: utf-8 _*_# !/usr/bin/pythonimport jsonschemaschema = { "type":

2021-04-08 00:16:53 1249

原创 Python异步编程之美

一. Python中线程thread实现以及调度高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程,一般线程是由操作系统进行直接调度的,例如当出现IO时,操作系统会自行实现实现线程切换,直接上代码:# _*_ coding: utf-8 _*_# !/usr/bin/python"""Author:mymCreate Date: -15:05User: EDZdescription:"""import ti

2021-03-16 20:23:54 85

原创 浅谈Python作为后台开发语言的可行性问题

一.Python语言简介背景    python语言是由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,至今为止已有30多年的历史,版本迭代也从python2到python3,如今python语言在机器学习,大数据等领域有着非常广泛的使用,至于有人质疑 Python 的性能,但是例如国外比较有名的社交网站 Instagram 的后台就是全套 Django 开发的,而且具有亿级用户吞吐量,所以了解一门技术之后好好深入学习提高,

2021-03-16 15:03:17 1504

原创 Input输入框的value属性常见处理方式

一. input输入框中value属性通常,我们在做登录界面的时候,会有数入用户名和密码的输入框,而且我们为了用户的体验感会给数入框中设置默认的提示语,提示用户数入用户名和密码,当输入框聚焦时提示语消失,当输入框为空时提示语出现聚焦效果如下:1.1 使用placeholder属性实现(方式一)<!DOCTYPE html> <!--声明为html5文档 --><html lang="zh-CN"> <head> <

2021-03-12 17:11:41 3025

原创 Java开发实战之开发环境搭建

一.Java jdk1.8安装1.1 背景通过一些java社区使用者统计信息来看当前主流的java版本是到java8在 Java 开发者中,常用的应用程序服务器为 Apache Tomcat,对于不用应用服务器的程序员而言,超过 六成的受访者表示会选用 Spring Boot 框架。因此,Spring Boot 也是最流行的 Java Web 开发框架当前流行开发java程序的IDE是IntelliJ IDEA(Java开发编辑器)综上,建议java初学者一般安装java8版本1.2 JDK1.

2021-03-12 15:43:55 178 1

原创 Scrapy原理源码解读以及实战

一.Scrapy框架原理下面是scrapy框架运行的整体原理图其中引擎是框架的整体的核心,负责与各个组件之间通信,下面介绍一下各个组件的具体功能引擎(Scrapy Engine)引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。调度器(Scheduler)调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。下载器(Downloader)下载器负责获取页面数据并提供给引擎,而后提供给spider。SpidersSpider是Scrapy用户编

2021-03-10 10:47:48 1222

原创 Vue基础语法

一.Vue中template模板二.vue中Mustache语法vue中mustache语法就是插值表达式,其中插值表达式支持的操作:1.部分模板中标签元素内容替换2.不仅支持变量,而且支持简单的表达式<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev

2021-03-05 01:20:49 60 1

原创 Python中生成器以及协程实现

一.Python中生成器例如在处理列表生成式的时候通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。1.1

2021-03-02 15:00:27 197

原创 Css进阶知识

一.CSS中浮动1.1 CSS中浮动是什么?个人理解:css中浮动就是让文档中占用位置的元素脱离文档流,例如让块级元素不独占一行,核心点,标签元素脱离文档流的意思是标签元素不占标准文档流中的位置。1.2 清除浮动float目的是让设置了浮动的块级元素后面的块级元素自动换行方法一:设置空标签以及样式div {clear:both;}方法二:在要清除样式的父级标签添加overflow属性,可以用来处理文本域中超出文本隐藏,也可以用来设置清除浮动div {overflow:hidden;}方

2021-03-02 01:06:17 289

原创 Django3+websocket+paramiko实现远程linux shell 执行内容实时输出到web页面

一.Python中paramiko连接远程linux服务器    python中paramiko库可以执行远程linux服务器命令并接收返回结果,基于channel信道模式,channel允许用户在不同程序间进行通信,这是实现分布式实时应用的一部分如果你不想所有的message和event都经由数据库的话此外,它还可以和工作进程结合使用来创建基本的任务队列或者卸载任务但是channel本身是不附带任何开箱即用的channel layer的,因为每一个channe

2021-03-01 11:06:45 1514

原创 python中type元类动态创建类实现原理以及单例模式

type元类记忆动态创建类的实现1.1 type类的介绍在python中,type类属于元类,即创建类的类,用class定义一个类都是基于type这个元类去创建的,直接上代码class Wrap(object): def __init__(self, name): self.name = name def __get__(self, instance, owner): print('instance-----', self.name, instan

2021-02-24 15:02:09 239

原创 Python中property实现原理以及纯python实现

一.Python中property的实现原理探究在python中访问类(class)的属性可以通过实例化的类对象名称.属性名称(obj.attribute)来访问类中定义的属性,那类中定义的函数可不可以直接通过类名来进行对应的功能操作呢,答案肯定是可以的,property类修饰类方法后的作用就是让类的定义的函数能像类属性一样进行访问和修改1.1 如何获取类(class)中属性直接上代码class Wrap(object): def __init__(self, name):

2021-02-23 15:59:56 253

原创 Git配置.gitignore过滤特定类型上传文件

一.Git配置.gitignore文件背景Git上传代码时,有时习惯使用git add .命令来将工作区的修改同步到暂存区,但是最后push代码时,例如提交python代码时,这样操作会将.pyc,__pycache__文件夹等一起提交到远程仓库,这样其他拉取pull代码时会提示有这些差异,于是.gitignore主角上场了,通过配置.gitignore文件中文件过滤规则,可以非常方便过滤这些我们不想提交的文件。1.1 配置.gitignore文件首先,确保.gitignore文件放在与.git文件

2021-02-22 14:04:59 1075

空空如也

空空如也

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

TA关注的人

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