自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 利用pandas 删除csv文件中的某几列或行

利用pandas 删除csv文件中的某几列或行

2023-01-16 14:42:22 3306

原创 在 Pandas 中如何获取列与特定值匹配的行的索引?

在 Pandas 中如何获取列与特定值匹配的行的索引?

2023-01-16 14:32:09 1592

原创 python利用pandas和csv包两种方式向一个csv文件写入或追加数据

python利用pandas和csv包两种方式向一个csv文件写入或追加数据

2023-01-16 14:24:51 6457 1

原创 列表中的字典排序

列表中字典的排序

2022-12-13 16:11:52 267

原创 Windows平台安装MongoDB教程

一.下载MongoDB根据网址:https://www.mongodb.com/download-center/community来到官网,根据自己所需要下载的版本进行选择后,下载MSI安装包。二.进行安装双击msi安装包,开始进行安装。需要注意的地方有:1、通过点击Custom(自定义)按钮来设置你当前的安装目录最好是安在自己熟悉的盘符,方便查找,本次以E:\MongoDB为例。2、取消"Install MongoDB Compass"勾选,否则可能要很长时间都一直在执行安装,Mon

2021-07-02 14:42:01 367

原创 Django ORM 模糊查询和查询操作

queryset中支持链式操作book=Book.objects.all().order_by(’-nid’).first()只要返回的是queryset对象就可以调用其他的方法,直到返回的是对象本身模糊查询常用的操作大于、大于等于:__gt 大于>__gte 大于等于>=Student.objects.filter(age__gt=10) // 查询年龄大于10岁的学生Student.objects.filter(age__gte=10) // 查询年龄大于等于10岁的学生特

2021-07-02 14:28:59 2009

原创 fastapi 将一个文件夹中的文件,复制到另一个文件夹中

fastapi 将一个文件夹中的文件,复制到另一个文件夹中仅供参考@route.post('/get_test/')async def Asd(*, file: UploadFile = File(...)): """ 将考生上传的文件夹分配到对应的考试等级下面 """ res = await file.read() with open(file.filename, "wb") as f: f.write(res) csvFile = o

2021-04-01 14:48:56 211

原创 fastapi 接受excel文件,将excel表格中的数据写入数据库

fastapi 接受excel文件,将excel表格中的数据写入数据库下面代码写的是 接受excel中用户对应对的得分情况,将得分与数据库中的得分进行相加# 导入load_workbook模块,用于操作excel表格from openpyxl import load_workbookimport [email protected]('/calculation/')async def AAA(file: UploadFile = File(...)): res = await file.read

2021-03-30 13:46:58 1285 1

原创 Python+Django实现微信扫码支付流程(NATIVE、JSAPI)

登录 https://mp.weixin.qq.com/cgi-bin/loginpage公众号,左边找到“开发”->“基本配置”,找到:开发者ID(AppID)开发者密码(AppSecret)设置IP白名单登录 https://pay.weixin.qq.com/core/home/login商户平台,找到:商户号mchIDNATIVE一、实现生成二维码扫码支付创建一个Django项目,名为wechatPay创建一个子应用,名为paysettings.py

2021-03-25 15:08:24 1084 2

原创 下载 excel、csv表格(django为例)

下载 excel、csv表格(django为例)首先我们要下载 django-excelpip install django-excel看具体代码class UploadImageView(APIView): def post(self, request): # 表格的表头 data = [[ '监考日志ID', '上传时间', ]] # 表头下面的具体信息 for s in range(1,1

2021-03-25 14:09:11 361

原创 本地保存图片(django为例)

本地保存图片(django为例)首先我们来在settings.py里面配置图片存储的路径,在settings.py文件最下面加入下面两行代码MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/') #设置静态文件路径为主目录下的media文件夹MEDIA_URL = '/media/'接下来是model了class User(models.Model): img = models.ImageField

2021-03-25 14:04:35 1713 1

原创 python安装教程(Windows系统,python3.7为例)

1.在python的官网下载python对应版本:https://www.python.org/downloads/windows/64位下载Windows x86-64 executable installer 版本32位下载Windows x86 executable installer 版本打开链接如下图,版本会一直更新,选择任意一个适合自己电脑的版本就好2.勾选 Add python to PATH 添加路径安装界面点击Customize installation 自定义安装3.不改

2020-10-08 17:26:02 2024 4

原创 Git下载安装及设置详细教程

一、安装前准备Git教程 :推荐Git入门教程。按照自己的系统版本下载Git软件,我的操作系统:Windows10 64位,安装版本为Git-2.18.0-64-bit.exe(截至2018.8.27最新版本)。二、安装过程1. 下载完成后,双击下载好的软件开始安装,出现如下对话框 2. 点击Next,默认选项和图中不一样,建议按照图中修改,Git Bash Here和Git GUI Here可以方便的在任意目录下打开git,建议选中,选中这两项后Additional icons->

2020-10-08 17:17:06 3318 2

原创 fatal: ambiguous argument ‘stash@‘: unknown revision or path not in the working tree.报错解决办法

From github.com:26huitailang/learn-sth-everyday 7cf57b0..d9f7ae2 master -> origin/masterUpdating 7cf57b0..d9f7ae2error: Your local changes to the following files would be overwritten by merge: liaoxuefeng/awesome-python-webapp/LICENSEPlea

2020-10-08 13:57:59 11070 3

原创 git pull 和 本地代码有冲突解决办法

多人协同开发,会出现各种冲突,比较常见的是我和别人同时修改同一个文件,别人修改好后上传到git仓库,我需要拉取他修改的代码和我本地的代码合并。当我们使用git pull时会出现报错信息,需要我们自己手动去合并。这里有一个比较简单的操作:1、先将本地修改存储起来git stash这样本地的所有修改就都被暂时存储起来 。查看暂存情况git stash list可以帮我们查看,刚才的存储情况2、pull内容暂存了本地修改之后,就可以pull了。git pull3、还原暂存的内容 g

2020-10-08 13:44:59 3508

原创 Django设置允许跨域访问

安装django-cors-headerspip install django-cors-headers修改settings.pyINSTALLED_APPS = [ ...... 'corsheaders', ......]MIDDLEWARE = [ ...... 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware',

2020-06-30 17:41:04 9742

原创 如何 新建Vue项目

首先:先从nodejs.org中下载nodejs双击安装,在安装界面一直Next直到Finish完成安装。打开控制命令行程序(CMD),检查是否正常使用淘宝NPM 镜像大家都知道国内直接使用npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。$ npm install -g cnpm --registry=https://registry.npm.taobao.org这样就可以使用cnpm 命令来安装模块了:第二步项目初始化1.第一步:安装vue-clicn

2020-06-23 16:50:41 12668

原创 mysql 的引擎和事务

mysql 数据表引擎有哪些?MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等。MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等(5.6.4以后支持全文索引)。常用的两种引擎是: MyISAM和InnoDBMysql 的存储引擎,myisam和innodb的区别?MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。in

2020-06-19 11:26:32 13595

原创 mysql的自动提交的设置

问题1 : 如何查看mysql的自动提交的设置?select @@autocommit;查看默认提交的状态是否是自动提交0手动提交 1 自动提交问题2 :怎么设置autocommit;set @@autocommit=0;设置的是本次mysql 窗口的自动提交取消,不影响别的连接的自动提交查看怎么锁定了行锁的例子的演示1 开启事务 未提交;2 重新打开一个连接,更新锁定的行的内容 ,一直等待释放锁3 第一个连接提交完,释放锁4 第二次的跟新获得锁得以提交5 如果长时间未获

2020-06-18 15:35:25 14573

原创 mysql的事务

事务在django中的使用什么叫做事务InnoDB事务原理事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种一致性状态。在数据库提交时,可以确保要么所有修改都已保存,要么所有修改都不保存。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。  例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行。所以,应该把他们看成一个事务。事务是数据库维护数据一致性的单位,

2020-06-18 15:27:01 13439

原创 mysql中的锁(悲/乐观锁结合事务的使用)

锁分类按操作划分:DML锁,DDL锁按锁的粒度划分:表级锁、行级锁、页级锁按锁级别划分:共享锁、排他锁按加锁方式划分:自动锁、显示锁按使用方式划分:乐观锁、悲观锁乐观锁实现方法每次获取商品时,不对该商品加锁。在更新数据的时候需要比较程序中的库存量与数据库中的库存量是否相等,如果相等则进行更新反之程序重新获取库存量,再次进行比较,直到两个库存量的数值相等才进行数据更新。乐观锁适用于 读多写少的操作乐观锁 与事务的实现def post(self,request): wit

2020-06-18 15:23:11 13260

原创 阻塞非阻塞和同步异步的区别 小例子

老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。3 老张把响水壶放到火上,立等水开。(异步阻塞)老张觉得这样傻等意义不大4 老张把响水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响了再去拿壶。(

2020-06-18 15:17:30 13443

原创 select、poll、epoll简介

epoll跟select都能提供多路I/O复用的解决方案。在现在的Linux内核里有都能够支持,其中epoll是Linux所特有,而select则应该是POSIX所规定,一般操作系统均有实现 select:  select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:单个进程可监视的fd数量被限制,即能监听端口的大小有限。一般来说这个数目和系统内存关系很大,具体数目可以cat/proc/sys/fs/file-max察看。32位机默认是1024个。64位机默

2020-06-18 15:09:34 13547

原创 socket阻塞与非阻塞,同步与异步

概念理解一、与I/O相关的五个重要概念第一个概念:用户空间与内核空间1. 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)2. 操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。3. 为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间划分为两部分:一部分为内核空间,一部分为用户空间  4. 针对linux操作系统而言,将最高的1G字节(从虚拟地

2020-06-18 14:42:52 14229

原创 redis中的锁以及使用场景

分布式锁什么是分布式锁?​ 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。为什么要使用分布式锁?​ 为了保证共享资源的数据一致性。什么场景下使用分布式锁?​ 数据重要且要保证一致性如何实现分布式锁?​ 主要介绍使用redis来实现分布式锁​redis事务redis事务介绍:​ 1.redis事务可以一次执行多个命令,本质是一组命令的集合。​ 2.一个事务中的所有命令都会序列化,按顺序串行化的执行而不会被其他命令插入​ **作用:**一个队列中,一次性、顺序性

2020-06-17 20:13:31 17201

原创 Nginx正向代理与反向代理详解

一、介绍实践中客户端无法直接跟服务端发起请求的时候,我们就需要代理服务。代理可以实现客户端与服务端之间的通信,我们的Nginx也可以实现相应的代理服务。代理分为正向代理和反向代理,此文就来演示一下Nginx配置正向代理和反向代理的场景。二、正向代理和反向代理的区别正向代理和反向代理的区别我在知乎上找到两张图可以帮助我们很好的理解:正向代理:客户端 <一> 代理 一>服务端正向代理简单地打个租房的比方:A(客户端)想租C(服务端)的房子,但是A(客户端)并不认识C(服务端)租

2020-06-17 14:01:57 14482

原创 高并发解决方案

高并发介绍高并发中一些概念PV(访问量): 页面访问量,页面刷新一次算一次。UV(独立访客): 即Unique Visitor,一个客户端(电脑,手机)为一个访客; DAU(日活跃用户数):登录或使用了某个产品的用户数,这与流量统计工具里的访客(UV)概念相似。 峰值QPS:原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) QPS/TPS(每秒查询率

2020-06-16 14:30:36 14017

原创 nginx详解

一、nginx基本介绍1、nginx高并发原理( 多进程+epoll实现高并发 )Nginx 在启动后,会有一个 master 进程和多个相互独立的 worker 进程。每个子进程只有一个线程(协程),采用的 IO多路复用模型epoll,实现高并发。2、epoll能实现高并发原理epoll() 中内核则维护一个链表,epoll_wait 方法可以获取到链表长度,不为0就知道文件描述符准备好了。在内核实现中 epoll 是根据每个 sockfd 上面的与设备驱动程序建立起来的回调函数实现的。

2020-06-16 14:23:59 13736

原创 mysql和redis的区别

1.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限2.mysql的运行机制mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库。第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;第二:反复的访问数据库也会导致数

2020-06-14 14:06:11 13365

原创 排序方法:冒泡,选择,快排,插入,并归,堆排

冒泡排序:相邻的元素进行比较(每一对),排序,(由小到大)def bubble_sort(li): for i in range(len(li)-1): for j in range(len(li)-i-1): if li[j] > li[j+1]: li[j],li[j+1]=li[j+1],li[j]li = [1,5,2,6,3,7,4,8,9,0]bubble_sort(li)print(li)

2020-06-09 18:26:07 13450 1

原创 数据结构--树

树:树的种类:无序树、有序树有序树:二叉树、霍夫曼树、B树(myqsl 数据库引用)二叉树:每个节点最多有两个子树结构 完全二叉树、平衡二叉树、排序二叉树满二叉树:除了叶节点(最后一层),每个节点都有两个子树完全二叉树:在满二叉树的基础上,最后一层,从左到右排序,排节点(不排满)树的两种遍历模式:深度优先遍历、广度优先遍历(层次遍历)深度优先遍历:先序遍历(根—左子树—右子树)、中序遍历(左子树—根—右子树)、后序遍历(左子树—右子树—根)树的特点如果一棵完全二叉树的父节点编号

2020-06-09 18:06:55 13832

原创 关于 数据结构 与算法的复杂度

程序=数据结构+算法(瑞士 尼克劳斯·威茨 提出)数据结构:逻辑结构 和 物理结构逻辑结构:集合结构、线性结构、树形结构、图形结构物理结构:数据存储数据元素的存储结构:顺序存储结构(地址连续的存储单元) 和 链式存储结构(任意存储单元,数据间使用指针关联)算法的基本特性:输入性 有零个或多个输入输出性 至少有一个或多个输出有穷性 算法在执行有限步后能自动结束,不会出现无限循环确定性 算法的每一步都具有确定的含义,不会出现二义性可行性 算法的每一步都能够通过执行有限操作完成

2020-06-09 16:31:48 13780

原创 字符串类型 常见操作方法

字符串是以 双引号 或 单引号 包起来的,叫字符串在字符串中取值根据索引(下标)进行取值:name="abcdef" print(name[0])

2020-06-03 18:15:44 14354

原创 递归说明(高斯求和、斐波那契、青蛙跳台阶的问题解决)

什么是递归?在数学与见算计科学中,是指在函数的定义中使用函数自身的方法。递归算法就是一种直接或者间接的调用自身函数或者方法的算法递归算法的实质是把问题分解规模小的同类问题的子问题然后调用自身方法来解递归的基本原理每一级的函数调用都有自己的变量每一次函数调用都会有一次返回递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反虽然每一级递归都有自己的变量,但是函数的代码不会得到复制递归的优缺点优点

2020-06-02 15:56:16 13764

原创 websocket 那些配置及具体的Demo

Websocket 即时通讯1.需求即时通讯工具一定要保障的是即时性基于现在的通讯协议HTTP要如何保障即时性呢?2.短连接型基于HTTP短连接如何保障数据的即时性HTTP的特性就是无状态的短连接,即一次请求一次响应断开连接失忆,这样服务端就无法主动的去寻找客户端给客户端主动推送消息1.轮询即:客户端不断向服务器发起请求索取消息优点:基本保障消息即时性缺点:大量的请求导致客户端和服务端的压力倍增2.长轮询即:客户端向服务器发起请求,在HTTP最大超时时间内不断开请求获取消息,超时后重

2020-06-02 15:47:17 13871

原创 webshell 那些配置以及 具体的Demo

Webshell“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为通过网站端口对网站服务器的某种程度上操作的权限。一方面,webshell被站长常常用于网站管理、服务器管理等等,根据FSO权限的不同,作用有在线编辑网页脚本、上传下载文件、查看数据库、执行任意程序命令等。另一方面,被入侵者利用,从而达到控制网站服务器的目的。这些网页脚本常称为WEB脚本木马,比较流行的asp或php木马,也有基于.NET的脚本木马与JSP脚本木

2020-06-02 15:30:17 13990

原创 Django自带的用户验证系统

Django自带的用户验证系统第一步 系统配置用户表第二步 用户注册和登陆验证功能首先,我要说明一下,下面内容不是必须品,如果各位大神喜欢手写也是可以的,你也可以选择自带的功能来缩减你的代码量,提高效率!第一步 系统配置用户表首先,在models中创建用户表,导包from django.contrib.auth.models import AbstractUser#创建用户表class User(AbstractUser): username = models.CharField(ma

2020-06-02 15:25:41 13686

原创 梳理开发中常用的加密算法-对称加密与非对称加密,可逆加密与不可逆加密

加密种类:1. 不可逆加密:【Hash加密算法/散列算法/摘要算法】一旦加密就不能反向解密得到密码原文,一般用来加密用户密码,app的服务器端数据库里一般存储的也都是加密后的用户密码。在数据传输的过程中,首先把密码类数据经过MD5加密算法加密,然后再在外面使用可逆的加密方式加密一次,这样在数据传输的过程中,即便数据被截获了,但是想要完全破解,还是很难的。Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目

2020-06-01 17:25:19 14139

原创 七牛云文件存储系统

三种图片上传的模式使用 vue 上传到七牛云 (推荐使用)使用 django 上传到七牛云将图片保存到 django (极力不推荐)vue上传图片到七牛云如何完成?先下载 qiniupip install qiniu在 后端 django#获取七牛tokenfrom qiniu import Authclass QiNiu(APIView): def get(self,request): #声明秘钥对象 #对应七牛云里面的 AK SK q = Au

2020-06-01 17:11:06 13726

原创 Oauth2 四种模式

Oauth2 四种模式1. 隐式授权模式(Implicit Grant)第一步:用户访问页面时,重定向到认证服务器。第二步:认证服务器给用户一个认证页面,等待用户授权。第三步:用户授权,认证服务器想应用页面返回Token第四步:验证Token,访问真正的资源页面授权码授权模式(Authorization code Grant)第一步:用户访问页面第二步:访问的页面将请求重定向到认证服务器第三步:认证服务器向用户展示授权页面,等待用户授权第四步:用户授权,认证服务器生成一个cod

2020-06-01 16:59:29 13804

空空如也

空空如也

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

TA关注的人

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