自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python获取路径中的文件名

获取路径中的文件名一、字符串分割–split()函数path=“K:\Project\FilterDriver\DriverCodes\hello.txt”print(path.split(’\’)[-1])二。使用basename()函数import os.pathfilePath=“K:/Project/FilterDriver/DriverCodes/hello.txt”pri...

2019-10-30 15:54:54 29516

转载 输入一个url完整过程

转载于github写的挺好,足够了

2020-08-09 22:13:11 344 1

原创 Promise与Async Await详解

不管是使用还是面试,Promise都是一整个重点,下面来总结下Promise和Async Await。先看下常见的异步操作:事件监听:document.getElementById('#start').addEventListener('click', start, false);function start() { // 响应事件,进行相应的操作}// jquery on 监听$('#start').on('click', start)回调// 比较常见的有ajax$.ajax(

2020-08-09 14:44:15 883

原创 animation和transition两种方法实现简单动画

animation和transition都是css3中新增的属性,面试中被问到的几率非常大,今天来简单的使用下,主要实现一个长宽为100px的框变为长宽为200px(1)animation看概念可能不太理解,上代码<style>.test{ /* infinite自动播放 */ width: 100px; height: 100px; background-color:burlywood; animation: mymove 5s infinit

2020-08-09 13:02:19 793

原创 实现一个水平垂直居中的淡入淡出提示框

面试中遇到的问题,没答上来,虐哭了,直接贴上代码,可直接复制运行<!DOCTYPE html><html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>toast</title> </head> <style media="screen"> /* 出现时的渐变 */ @keyframes fa

2020-07-25 21:29:52 138

原创 浅谈SPA单页面应用原理

设计理念/SPA优点(1)前后端分离后端只需要提供数据,一套后端程序代码可以应用于多种客户端(2)减轻服务器的压力(3)增强用户体验不需要重新加载整个页面,获取数据通过异步的Ajax获取,没有页面之间的切换,页面流畅SPA缺点(1)首屏加载慢解决Vue-router路由懒加载CDN加速服务器渲染(2)不利于SEOSPA工作原理(1)入口与页面相对应(2)点击前进后退或其他控制回到页面实现以上两个功能,主要有两种方法,History API和hash,二者实现原理一样,不过

2020-06-19 16:31:40 656

原创 python的复制,深拷贝与浅拷贝

一.复制直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变。a = [1,2,['a','b','c']]# 复制b = aa[0] = 3print(a,b)#a:[3, 2, ['a', 'b', 'c']] b:[3, 2, ['a', 'b', 'c']]a.append(3)print(a,b)#a:[3, 2, ['a', 'b', '...

2020-05-01 11:03:02 134

原创 宝塔面板部署django项目

由于直接部署在服务器上一直不成功,所以安装了宝塔面板用来部署django项目。使用nginx+mysql+uwsgi启动一。安装宝塔面板Centos安装命令:yum install -y wget && wget -O install.shhttp://download.bt.cn/install/install.sh && sh install.sh安装...

2020-04-28 17:07:51 4194

原创 Linux内存管理机制

一物理内存与虚拟内存二内存的监控

2020-04-18 09:15:42 126

转载 浅谈python的上下文管理器

例一,先看一段代码class Foo(object): def __init__(self): print('实例化一个对象') def __enter__(self): print('进入') def __exit__(self, exc_type, exc_val, exc_tb): print('退出')ob...

2020-04-09 21:11:05 99

原创 Django的cookie缓存以及set_cookie中文格式问题

一.cookie的作用第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的 cookie 数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。 cookie 存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用 cookie 只能存储一些小量的数据。二.对比sess...

2020-04-09 10:41:10 1503

原创 python变量前置单下划线,前置双下划线,前后双下划线

一.前置单下划线变量前的单下划线表示表面上私有但是其实这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。二.前置双下划线前置双下划线表示一个私有属性。如上图,__name是真正意义上的私有,在外部访问不到,那它是怎么实现这种访问不到的呢?是真的访问不到么?我们可以通过__dict__...

2020-04-04 08:41:45 573

转载 浏览器中输入一个url之后到看到页面所经过程

当我们在浏览器的地址栏输入 www.cnblogs.com ,然后回车,回车到看到页面到底发生了什么呢?文章是在博客园转载的,尾部有作者链接。域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --&g...

2020-04-03 20:18:44 143

原创 python装饰器---实现一个简单装饰器

由于面试中遇到了让写出一个装饰器,结果并没有写上来,然后来学习一下相关内容。1.什么是python装饰器:装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象,它经常用于有切面的需求的场景,比如:插入日志,性能测试,事务处理,缓存,权限校验等场景,装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功...

2020-04-02 17:53:50 625

原创 Go操作kafka----kafka安装启动以及使用

一.安装kafka1.kafka运行需要依赖java的jdk,先安装好jdk。地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html安装完成后需要添加以下的环境变量(右键点击“我的电脑” -> “高级系统设置” -> “环境变量” ):JAVA_HOME: C:...

2020-02-18 14:15:07 690

原创 Go操作kafka----kafka简介

一.kafka简介1.介绍kafka是一个分步数据流平台,可以分布在单个服务器上,也可以分布在多个服务器上部署形成集群,提供了发布和订阅功能,使用者可以发送数据到kafka中,也可以从kafka中读出数据,kafka具有高吞吐,低延迟,高容错等特点。2.kafka集群的架构代理(Broker):缓存代理,Kafka的核心功能生产者(Producer):消息和数据生产者消费者(Cons...

2020-02-17 12:00:01 1103

原创 Go操作mysql数据库增删改查

一.查询单条数据查询单条数据使用QueryRow1.将数据库连接封装成单独的函数var db *sql.DB //连接池对象func initDB() (err error) { // DSN:Data Source Name dsn := "root:123456@tcp(127.0.0.1:3306)/test2" db, err = sql.Open("mysql", dsn...

2020-02-16 18:09:59 1114

原创 Go连接MySQL数据库

一.下载依赖包进入cmd中 使用go get -u github.com/go-sql-driver/mysql命令,有可能下载时间比较慢,需要设置代理,执行以下两条命令,SET GO111MODULE=on,SET GOPROXY=“https://goproxy.cn”。二连接mysql数据库package main//将包导入import ( "database/sql" "f...

2020-02-15 16:29:19 279

原创 go环境安装以及LiteIDE安装与使用

一.go环境安装地址:https://golang.google.cn/dl/下载完成后,一路next完成安装。go会自动将安装路径保存到环境变量中。进入cmd 输入go version,如下图说明安装成功。二.LiteIDE安装百度云链接:http://pan.baidu.com/s/1mgCgx64 密码:vsip下载完成后解压到go的安装目录下,然后进入liteIDE的bin...

2020-02-07 16:11:04 851 2

原创 git添加远程仓库到GitHub

1.创建一个本地仓库可以创建一个文件夹或使用一个已有的文件夹。在git bush中进入文件夹的路径使用$git init命令是文件夹变成仓库。下图创建成功可以使用$touch test.txt在文件夹中创建一个txt文件二.创建SSH Key1.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到...

2019-11-15 18:24:13 285

原创 Python进制转换

1.二进制,八进制,十六进制转十进制print(int('1101',2)) #1*2^0+0*2^1+1*2^2+1*2^313print(int('0o226',8)) #6*8^0+2*8^1+2*8^2150print(int('0x96',16))#6*16^0+9*16^11502.十进制转化为二进制用n除以2,得到的商再除以2 直到除到1,然后记录每次得到的余数,...

2019-11-14 15:37:00 500

原创 Python操作mongodb增删改查

# coding=utf-8# 使用pymongo模块连接mongoDB数据库from pymongo import MongoClient# 建立MongoDB数据库连接client = MongoClient('localhost', 27017)# 连接所需数据库,test为数据库名db = client.xiaomei#第二种写法 db = client['xiaomei...

2019-10-31 18:49:42 198

原创 python-------split函数与join函数

一 split函数.split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串split() 接收两个参数:str.split(str="", num=string.count(str)).str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num – 分割次数。默认为 -1, 即分隔所有。返回值 返回参数...

2019-10-27 14:23:16 310

原创 python操作excel表格以及根据url下载文件

一.读取excel表我excel表中的内容。web.py中的代码from . import web_blueimport xlrd@web_blue.route('/pexcel')def pexcel(): # 打开文件 data = xlrd.open_workbook(r'C:\Users\mei\Desktop\教师.xls')#文件的路径 tabl...

2019-06-05 20:38:29 7870

原创 SQLalchemy查询数据对象转化为字典

ORM技术:Object-Relational Mapping,把关系数据库的表结构映射到对象上但是由谁来做这个转换呢?所以ORM框架应运而生。在Python中,最有名的ORM框架是SQLAlchemy。当时用sqlalchemy时,查询到的是一个对象,而不是列表。解决方法。一.查询单条数据。modelfrom sqlalchemy import Column, String, Int...

2019-06-02 11:37:36 7615 7

原创 Linux常用命令

1.安装东西#yum install2.显示当前所在目录#pwd查看软链接的实际路径#pwd -P3.新建文件夹#mkdir新建文件#touch4.删除空的目录#rmdir删除目录#rm - rf5.ls命令就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数...

2019-05-22 20:14:51 94

原创 Python查看文件用的什么类型的编码

文件主要分为二进制文件和文本文件这两种,看你想要查看哪种文件的编码,如果是文本文件的话,open函数里的就要用r,二进制文件用的是rb,别搞错哦!代码:import chardet# 我要打开的是二进制的文件,所用的是rbf=open('b.dat','rb')data=f.read()print(chardet.detect(data)['encoding']) # 去掉['enc...

2019-05-09 21:25:08 1922

原创 python的__dict__属性详解

{'__module__': '__main__', '__doc__': '\n Class A.\n ', 'a': 0, 'b': 1, '__init__': <function A.__init__ at 0x00000167D3C809D8>, 'test': <function A.test at 0x00000167D3C80D90>, 'static_test': <staticmethod object at 0x00000167D3C852E8>, 'class_test'

2019-05-05 21:09:29 470

原创 Python 字典与JSON数据转换

JSON 在Python中分别由list和dict组成。那么字典与JSON数据怎么转换呢1.json.loads(json_str) json字符串转换成字典2. json.dumps(dict) 字典转换成json字符串3. json.dump把数据类型转换成字符串并存储在文件中4. json.loads把文件打开从字符串转换成数据类型import json# 创建一个字典info...

2019-05-05 21:00:03 4075

原创 Windows下mysql5.7版本安装教程

1.进入mysql官网https://dev.mysql.com/downloads/也可选择其他版本然后下载zip,下载后解压到自己创建的文件夹中。我解压到了D:\mysql\mysql-5.7.25-winx64中。2.解压后的文件夹中没有my.ini文件 需要手动添加。[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=D:...

2019-04-20 14:05:16 360

原创 Flask学习系列——修改数据库字段

1.做项目时,经常需要修改数据库字段,一般修改了model字段后,需要删除数据库重新更新,调用db.creat_all()来重新建表。但是,flask引入了flask-script和flask-migrate解决。(自行安装 pip install)2.新建一个helper.py文件夹。from app.models.base import dbfrom mesage_Tab import...

2019-04-11 12:18:37 1739

原创 Flask学习系列12——token的作用及使用原理

一.token的概述在网页登录时可以将用户的账号密码写入Cookie中,保存到浏览器,但在访问某些接口时,无法使用浏览器访问。token的意思是令牌,是一串加密的字符串作为客户端进行请求的标识。当用户一次登录时服务器生成一个token并将token返回给客户端,客户端需要自己管理token。二.token特征1.有效期2.可以标识用户身份(可以存储用户id号)3.加密...

2019-04-10 20:11:12 561

原创 Flask学习系列11——sqlalchemy实现简单分页功能

在web开发中,分页是必不可少的功能,这里通过实例来了解下简单的分页功能。1.test.py文件@web_blue.route('/')def stu_psge(): # 获取page参数 默认为1 page = int(request.args.get('page',1)) # 获取每页显示数据条数默认为2 per_page = int(request.args....

2019-03-24 17:00:12 2524 2

原创 Flask学习系列10—pymysql连接数据库以及增删改查操作

1.安装pymysql进入cmd 输入pip install pymysql或者进入pycharm的settings安装。2.测试连接import pymysql #导入 pymysql ,如果编译未出错,即表示 pymysql 安装成功。naviact示例表结构注意:建数据库时要选utf8不然会报错。3.插入操作。写一个简单的form表用来提交数据。代码如下register...

2019-01-30 13:59:37 3277 9

原创 Flask学习系列9.2—WTF表单验证

在flask中,为了处理web表单我们一般使用Flask_WTF,它封装了WTForms,可以用来表单验证。这里需要先安装Flask-WTF。1.创建一个表单类。注意:需要将表单传入类中register.html页面。注意:1.验证时没有CSRF token需要在html中加入{{form.csrf_token()}}不然会直接跳到else语句中打印参数有误。2.使用表单验证需要在c...

2019-01-19 15:10:29 272

原创 Flask学习系列9.1—普通参数验证

一.普通表单验证目的:实现一个简单的表单的验证的逻辑处理1.路由需要get和post两种请求方式,需要判断请求方式2.获取请求的参数3.判断参数是否正确register.py文件浏览器运行结果...

2019-01-17 19:35:33 2218 2

原创 Flask学习系列8—获取参数

当客户端向web服务器发送请求的时候,会在flask中生成一个request的对象,通过这个对象,可以获取浏览器发送的请求参数。请求方式的类型定义时如果没指定,默认是GET,如果需要指定,则可以在定义路由的时候,通过传递关键字参数methosd=[]来指定,[]内写入指定的请求方式,如下@app.route('/index/&amp;lt;user_id&amp;gt;', methods=['GET', ...

2019-01-17 18:54:02 519

原创 Flask学习系列7.3补充—控制语句与表达式

有时候在页面中就需要显示{{ }}这样的符号,“raw”语句可以忽略掉所有的模板语句。{% raw %}{% block two %} &lt;h1&gt;我是子模板&lt;/h1&gt;{% endblock %}{% endraw %}浏览器运行在语句前面加入了raw,block就像正常内容一样被显示了。...

2019-01-17 15:30:14 141

原创 Flask学习系列7.4—jinja模板继承

一.模块继承是为了相同的内容不用重复引用,可以将相同的部分写在父模板(基础模板)中,子模板去继承它。main.py文件中@admin_blue.route('/test')def test(): return render_template('son.html' )在基础模板中使用block关键字定义了三个区域。注意:也需要闭合base.html&lt;!DOCTYPE h...

2019-01-16 17:11:30 157

原创 Flask学习系列7.3—jinja控制语句与表达式

flask的模板功能都是有jinja2实现的,html文件要放在template中。注意:文件名不能更改,只能用这个。 模板的表达式都是包含在分隔符”{{ }}”内的;控制语句都是包含在分隔符”{% %}”内的 另外,模板也支持注释,都是包含在分隔符”{# #}”内,支持块注释。main.pyfrom flask import Flask, render_template app ...

2019-01-16 16:23:54 432

空空如也

空空如也

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

TA关注的人

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