自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在Windows server 2012R2系统安装使用docker

目录## 0、环境准备1、下载docker_toolbox工具1、2安装docker_toolbox1、3 使用虚拟机1、4 端口映射1、5 目录挂载:示意图:后面安装的docker_toolbox工具,其实类似于Windows的VMware一样,docker_toolbox提供了一个Linux系统,可以在里面进行docker的使用(和平时在Linux环境使用docker一样)## 0、环境准备Docker 在 window 上需要你的 Cpu 支持虚拟化。打开任务管理器,选择性能就可以查看:

2021-10-29 16:46:21 3728 1

原创 Windows Server系统使用的docker,将容器目录映射到Windows本地

**环境:**Windows Server系统使用的docke。**目的:**将docker容器里面的目录挂载到Windows目录下,以便于管理。**挂载流程:**Windows目录——挂载——>docker虚拟机目录——挂载——>docker容器内部目录1、打开Oracle VM VirtualBox管理器,虚拟机——设置。2、在设置——共享文件夹——添加共享文件。3、选择要挂载到虚拟机里的Windows文件夹。4、进入虚拟机,这里显示还不是root用户(需要切换权限)输入

2021-10-26 23:34:50 2384

原创 django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclie

解决办法一:1、安装pymysqlpip install pymysql2、在根目录的__init__.py文件里加下面两行代码:import pymysqlpymysql.install_as_MySQLdb()

2021-10-15 10:57:48 490 1

原创 win10安装使用子系统Ubuntu

我们在本地开发过程中,经常会使用到虚拟机进行开发。如VMware,但这类虚拟机需要自己准备镜像文件(一般都很大,不方便)。在网上无意中发现,Windows的商店中就自带有Ubuntu,可以直接进行安装使用,个人觉得还是挺方便的,下面记录使用方法:一、安装子系统步骤1、在Windows10的微软商店中,搜索Ubuntu进行下载安装2、安装成功后,需要到控制面板中,设置系统允许使用子系统。然后重启电脑使之生效。3、启动子系统Ubuntu,之间需要自己注册账号和密码。4、注册成功后。就可以进.

2021-10-11 15:16:03 2465

转载 python高阶函数

python高阶函数,学习一波;引用自:https://www.cnblogs.com/littlefivebolg/articles/9094942.htmlpython高阶函数学习map()函数filter()函数reduce()函数map()函数demo_list = [1, 2, 3, 4, 5]def deal_func(x): return x ** 2# map函数模拟:map_test()函数作用等同于map()def map_test(func, iter_ob

2021-09-28 14:59:45 88

原创 gitflow工作流

一、Gitflow工作流流程大致如下:master: 主分支, 保留发布版本Hotfix: 线上版本bug紧急修复Release: 存放测试版本dev: 开发分支, 保留所有历史版本f_功能名称: feature 功能特性分支, 实现功能开发b_功能名称: bug修复分支, 负责处理线上bugr_功能名称 :release 发布分支, 负责代码测试,bug修复,分包发布等二、初始化项目仓库# 查看分支git branch # 切换分支git checkout 分支名称# 创

2021-08-31 12:01:02 5165

原创 python环境:本地有网服务器的python环境,迁移到离线服务器

A服务器的虚拟环境,迁移到离线服务器B(已安装好anaconda)设:A服务器的虚拟环境名称为:flask_env创建虚拟环境在A服务器data01目录下使用mkdir创建目录flask_env,用于存放venv环境。创建虚拟环境:python3 -m venv flask_env进入环境:cd 存放路径 source bin/activate安装自己项目需要的环境包:pip install -r requirement.txt退出:deactivate打包A服务器的环境flask

2021-08-02 10:30:45 488

原创 python使用pymysql库操作mysql

安装pymysql第三方包:sudo pip3 install pymysql脚本模板如下:# -*- coding: utf-8 -*-# create_user:user_san# create_time:2021/6/14 11:24import timeimport pymysqlimport requests# 数据库配置db_host = 'localhost'port = 3306db = 'python_test_1'user = 'root'pwd = 'm

2021-06-21 17:43:25 114

原创 flask_restful自定义序列化规则

在使用flask_restful进行开发类视图函数的时候,需要自定义序列化规则。两种方式:class Coo(fields.Raw): def format(self, start_time): """重写format函数,将时间返回改成:年-月""" time_ = start_time.strftime('%Y-%m') return time_fields = { # 序列化规则 'username': fields.Str

2021-05-12 10:19:31 224

转载 安装opencv踩过的坑ImportError-libSM.so.6

安装opencv库需要安装三个东西:如果下面的报错:(py37_taoche_ocr) [app@VM-12-138-centos ai-paggy]$ python Application.py Traceback (most recent call last): File "Application.py", line 9, in <module> import cv2 File "/home/app/miniconda3/envs/py37_taoche_ocr/li

2021-01-29 16:44:09 223

原创 github如何快速精确搜索github开源项目

转载:in:name 条件: 根据名字查找in:name djangoin:readme 条件 : 根据项目说明过滤in:readme djangoin:description 条件: 根据项目描述过滤in:description djangolanguage:条件: 根据语言过滤in:description django language:pythonpushed: 条件 : 根据推送时间过率in:description django language:python puish

2020-12-29 17:44:23 189

原创 【flask】——定义用户模型类,并迁移建表

工程目录/user/models.pyfrom app import dbfrom datetime import datetimeclass User(db.Model): """ 用户基本信息 """ __tablename__ = 'user_basic' id = db.Column(db.Integer, primary_key=True, doc='用户ID') mobile = db.Column(db.String(11), doc

2020-12-11 09:51:45 331

原创 Shell——脚本语言入门

1、基础知识1.1、简介什么是shell?功能定位在计算机科学中,Shell就是一个命令解释器。 shell是位于操作系统和应用程序之间,是他们二者最主要的接口,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。一句话,shell就是在操作系统和应用程序之间的一个命令翻译工具。分类类型说明图形界面shell图形界面shell就是我们常说的桌面命令行式shellwindows系统:cmd.exe 命令提示字符 li

2020-11-16 11:53:16 450

原创 定时任务crontab和APScheduler——页面静态化

1、什么是“页面静态化”?答:页面指的是完整的html页面(模版+动态数据)。静态化指的就是,提前渲染出完整的html页面,以静态文件的形式存起来,那么下一次浏览器访问的时候,直接返回该静态文件就可以了。避免频繁地渲染页面;#mermaid-svg-1ZJEJoUxzFuaB94o .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#

2020-11-16 11:51:00 362

原创 一篇就够了!!!——Redis缓存设计

目录一、缓存介绍1.1 缓存架构1.1 缓存粒度二、缓存过期和淘汰2.1 缓存过期2.2 缓存淘汰2.2.1 LRU (Least recently used 最后使用时间策略)2.2.2 LFU (Least Frequently Used 最少使用次数策略)三、缓存问题及解决方案3.1 缓存更新3.2 缓存穿透3.3 缓存雪崩四、缓存模式4.1 Cache Aside(主要由web后端完成)(不推荐)4.2 Read-through 通读(主要由缓存工具完成)(推荐使用)五、缓存设计代码实现一、缓存

2020-11-15 17:45:30 782

原创 redis分布式——哨兵机制、redis集群

目录2、哨兵机制2.1 配置步骤2.2 python中使用哨兵3、redis集群4、集群redis在python中的使用1、根据redis.conf文件复制两个配置文件6381.conf(主库)6380.conf(从库)2、编辑6381.confbing 0.0.0.0port 6381# 把保护模式设置为no,才能让外网访问protected-mode no 编辑6380.confbing 0.0.0.0port 6380# 把保护模式设置为no,才能让外网访问protect

2020-11-14 22:06:05 180

原创 Redis事务、乐观锁和悲观锁

1、Redis事务(ACID)1、原子性:不支持不会回滚并且继续执行2、隔离性:支持事务中命令顺序执行, 并且不会被其他客户端打断 (先EXEC的先执行)单机redis读写操作使用 单进程单线程3、持久性:支持, 但相比Mysql, redis数据易丢失4、一致性:不支持基本语法MULTI开启事务, 后续的命令会被加入到同一个事务中事务中的操作会发给服务端, 但是不会立即执行, 而是放到了该事务的对应的一个队列中, 服务端返回QUEUEDEXEC执行EXEC后, 事务中的命令

2020-11-14 19:30:04 132

原创 Django获取request请求中的参数的四种方式

一、查询字符串数据(string)形如:?key1=value1&key2=value2使用1.request.GET.get("key", "value")获取2.request.GET.getlist("key",[])获取最后一个值二、请求体数据(body):比如:表单数据、json、…2.1 表单数据:(只支持post方式发来的请求)request.POST.get("name", "")2.1 json数据:(支持post、put请求方式)json_str =

2020-11-12 19:50:55 6700

原创 MySQL的分布式——flask-sqlalchemy实现读写分离

目录1、复制1.1 主从架构(一主多从)1.2 主备架构1.3 高可用复合架构2、flask-sqlalchemy实现读写分离3、分片3.1 垂直拆分3.1.1 垂直分表3.1.2 垂直分库3.2 水平拆分3.2.1 水平分表4、分布式的问题4.1 分布式事物问题解决方案4.2 解决跨节点 Join/排序/分页1、复制作用:对数据进行备份,实现高可用HA通过读写分离,提高吞吐量,实现高性能原理:当主库中有数据更新时,主库会将该操作写入一个二进制日志文件中,从库中专门有一个io线程去读取主库

2020-11-12 18:37:01 2116 1

原创 【面试】——TCP 和 UDP 的区别

TCP 是面向连接的,UDP 是面向无连接的TCP 是面向字节流的,UDP 是基于数据报的TCP 保证数据顺序,UDP 不保证TCP 保证数据正确性,UDP 可能丢包Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制TCP对系统资源要求较多,UDP对系统资源要求较少。UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信...

2020-11-11 20:08:03 180

原创 redis的缓存穿透、击穿、雪崩、预热和更新

1.缓存穿透特点: 当缓存和数据库中都没有数据的时候描述:当查询Redis没有数据的时候,会继续查询mysql,mysql也没有数据,当大量查询请求发生或遭到恶意攻击时,这些访问全部透过Redis,并且mysql也没有数据,这种现象称为“缓存穿透”。解决:1.对访问进行校验,如参数、登录状态、限流等2.设置值为null的key返回3.使用布隆过滤器(概率,一定不存在或可能存在)2.缓存击穿特点: 当Redis没有数据,但数据库有数据当Redis的热点数据key失效时,大量并发查询直接打到m

2020-11-11 19:54:24 109

转载 redis内存用完了怎么办?

本文转载自:https://www.cnblogs.com/johnnyblog/p/11479649.html,也可点我跳转问题引入:redis是一个内存型数据库,当缓存满了的时候,该如何解决呢?1、通过配置文件配置通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小//设置Redis最大占用内存大小为100Mmaxmemory 100mbredis的配置文件不一定使用的是安装目录下面的redis.conf文件,启动redis服务的时候是可以传一个参数指定r

2020-11-11 17:42:43 429

原创 【面试】——如何处理高并发和超卖现象

1、 秒杀带来的问题:高并发和超卖 1.高并发:大量用户同一时间抢购,网站瞬时访问量剧增,导致服务器压力大 2.超卖: 成功下订单买到商品的人数,超过数据库最大库存数量2. 前端解决方案A 扩容:加机器,这是最简单的方法,通过增加前端池的整体承载量来抗峰值。B 静态化:将页面能够静态化的元素全部静态化,并减少动态元素,通过CDN加速来抗峰值 [内容分 发网络,缓存服务器]C 限流:ip限流.针对某一个ip地址,限制单位时间内访问次数 [防止黄牛刷单]D:其他在活动入口的

2020-11-09 21:12:27 2032

原创 使用七牛云进行图片存储

1、安装pip install qiniu2、上传图片接口from flask import current_appfrom qiniu import Auth, put_file, etag, put_dataimport qiniu.configdef upload_image(data): """ 上传二进制图片数据到七牛云 :param data: bytes类型图片数据 :return: 图片名称 """ # 需要填写你的 Acce

2020-11-09 08:30:38 517 1

原创 Redis如何进行持久化存储

问题引入:我么知道,redis是内存存储,mysql是磁盘存储,如果电脑关机或断电,redis是如何保证数据不丢失的呢?Redis的持久化有如下两种机制RDB:将Reids在内存中的数据库定时dump到磁盘上(默认文件名dump.rdb)AOF:将Reids的操作日志以追加的方式写入文件(默认是appendonly.aof)一、RDB 快照持久化(默认开启)redis可以将内存中的数据定期写入磁盘进行持久化。在进行持久化时,redis会创建子进程来执行。持久化的三种触发机制:1、定期自动

2020-11-07 20:45:46 1441

原创 mysql数据库表设计——如何对图片进行存储

业务场景:当我们进行头条文章接口的设计时,需要存储封面图片的字段。文章和图片关系 ----> 一对多方案一:传统的表设计设计一张表,专门保存文章和封面图片之间的关系idarticle_id(文章id,FK外键)cover_url (封面url地址)12url122url234url345url4提出问题:文章的封面一般是不会去修改的,但是在文章首页都需要展示,此时又涉及到关联查询,所有速度是比较慢的。方案二: 使用mys

2020-11-05 18:38:57 6306

原创 【flask框架】——MySQL数据库基础配置

1、Flask-SQLAlchemy 是一个为 Flask 应用增加 SQLAlchemy 支持的扩展。它致力于简化在 Flask 中 SQLAlchemy 的使用。2、SQLAlchemy 是目前python中最强大的 ORM框架, 功能全面, 使用简单。ORM优缺点优点1、有语法提示, 省去自己拼写SQL,保证SQL语法的正确性2、orm提供方言功能(dialect, 可以转换为多种数据库的语法), 减少学习成本3、面向对象, 可读性强, 开发效率高4、防止sql注入攻击5、搭配数.

2020-11-04 21:57:10 440

原创 【flask框架】——flask-restful风格

首先,安装依赖包。帮助文档:中文文档,官方文档pip install flask-restful1、基本使用注意:类视图return返回的数据为字典,底层会通过from flask_restful import output_json会自动将字典封装成json对象返回。# 在restful风格中想返回中文,需要取消ascii编码的配置app.config["RESTFUL_JSON"] = {"ensure_ascii": False}# 1、创建组件对象组件对象 = Api(app)

2020-11-04 21:19:52 707 1

原创 【flask框架】——装饰器问题及要求用户登录的限制

引入:一旦添加上装饰器,被装饰的函数的函数名称和文档信息都会被装饰器修改成wrapper和wrapper函数对应的文档,显然,这不是我们希望看到的。而且,如果被装饰的函数是多个视图函数的话,就会造成路由访问不到视图函数(因为多个视图函数的名字都一样了(都变成了wrapper))解决:方法一:使用python自带的functools工具,再对装饰器进行再装饰。方法二:使用装饰器调用的方式。...

2020-11-03 14:40:10 482

原创 SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 2-3: truncated \UX

flask框架进行使用下面两种方式进行加载配置信息的时候报错或者加载不到配置信息,# 从py文件中加载配置信息app.config.from_pyfile('C:\Users\123\Desktop\day02\secret_config.py')#从环境变量中加载配置信息# export CONFIG=/Users/chenqian/Desktop/深圳39期Flask项目/Flask基础day02/03-代码/secret_config.py# 如果存在同名的配置信息,后添加的会覆盖之前添加的

2020-11-01 20:30:54 140

原创 RuntimeError: The session is unavailable because no secret key was set. Set the secret_key on the a

问题:在flask工程中,用session方式进行状态保持的时候,报错下面信息:解决:是因为没有添加秘钥,在创建app对象后面,添加如下代码即可:# 字符串随便起app.secret_key = "affedasafafqwe

2020-11-01 08:32:11 3171

原创 【flask框架】——异常处理、请求勾子、蓝图和上下文

目录1、异常处理2、请求勾子2、蓝图3、上下文(context)1、异常处理flask对 HTTP错误 进行了封装, 可以捕获http错误, 也可以主动抛出http错误扩展:# 权限认证失败# abort(401)# 禁止访问# abort(403)# 请求方法错误# abort(405)# 服务器内部错误# abort(500)from flask import Flask, redirect, abort# 需求:捕获项目中的所有404异常信息,引导到一个统一的页面#

2020-10-31 20:45:17 410

原创 【flask框架】——状态保持cookie、session和jwt

目录1、设置和获取cookie2、设置和获取session3、签发和获取校验jwt的token令牌1、设置和获取cookie使用方法描述response.set_cookie(“name”, “laowang”, max_age=3600)设置cookierequest.cookies.get(“name”)获取cookiefrom flask import Flask, make_response, Response, requestapp = Flask(__

2020-10-31 19:38:25 762

原创 【flask框架】——请求对象request和响应对象response

1、请求对象request方法:提取方法描述request.cookies提取cookie字典信息<转换器名称:变量名称>请求路径传递参数 /user_id/66request.args.get(“name”)查询字符串参数 /user?name=curry&age=18request.form.get(“name”)表单数据 {“name”: “james”, “age”: 38}request.json.get(“name”)

2020-10-31 18:05:00 319

原创 【flask框架】——自定义路由转换器

from flask import Flask, requestfrom werkzeug.routing import BaseConverterapp = Flask(__name__)"""# 需求:127.0.0.1:5000/mobile/18511112222# 自定义转换器类# 思路# 1.自定义转换器类,继承于:BaseConverter# 2.重写父类的regex属性,自定义正则表达式# 3.将自定义的转换器类添加到默认的转换器字典中# 4.使用自定义的转换器完成u

2020-10-31 17:40:19 208

原创 【flask框架】基础入门

认识flask:Flask 本身相当于一个内核, 主要实现了路由分发和模板渲染功能, 分别集成自 Werkzeug 和 Jinja2模块包, 这两个也是Flask框架的核心。虽然核心精简, 但flask提供了非常好的扩展机制, 开发中的各类需求基本都有对应的官方/第三方扩展可以实现, 甚至连自己动手实现也很简单。常用的flask扩展包:点我跳转重量级的框架:包含全家桶式丰富的工具,方便业务程序的快速开发,如Django轻量级的框架:只提供Web框架的核心功能,自由灵活、方便高度定制,如Fla

2020-10-31 17:38:08 210

原创 邮箱验证——异步任务实现发邮件

0、验证流程1、网易邮箱获取相关参数获取授权码往下滚动,获取参数信息2、配置Django工程的配置文件后面构建异步任务的时候需要导过去使用# 发送短信的相关设置, 这些设置是当用户没有发送相关字段时, 默认使用的内容:# 发送短信必须进行的设置:EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'# 我们使用的 smtp服务器 地址EMAIL_HOST = 'smtp.163.com'# 端口号EMAIL

2020-10-26 17:30:25 1101 1

原创 django.core.exceptions.ImproperlyConfigured: Requested setting EMAIL_FROM, but settings are not conf

报错信息:django.core.exceptions.ImproperlyConfigured: Requested setting EMAIL_FROM, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.原因:我们在运行异步任务的

2020-10-26 17:15:40 405

原创 【自动化测试】——什么是PO模型

概念:通过面向对象的方式,对页面定位和页面操作进行分离封装(解耦合,方便后续维护)

2020-10-26 10:43:15 8548 1

原创 【移动自动化】——Appium

一、工作流程C/S框架,appium核心是一个Web服务器,提供了一套接口。它会接收客户端发送过来的命令,然后在移动设备上运行命令,最后把运行结果通过HTTP响应包返回给客户端。session,每个client连接到server以后都会创建一个session,自动化始终围绕一个session进行二、环境搭建2.1、安装JDK开发环境1、JDK下载地址,下载完一直下一步安装即可2、配置Windows环境变量,环境变量的值为刚刚安装的JDK路径3、打开命令行窗口,输入java -versio

2020-10-25 20:40:09 444 1

空空如也

空空如也

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

TA关注的人

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