自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 乐观锁悲观锁

为什么要使用悲观锁,乐观锁线程安全是程序开发中非常需要我们注意的一环,当程序存在并发的可能时,如果我们不做特殊的处理,很容易就出现数据不一致的情况。通常情况下,我们可以用加锁的方式来保证线程安全,通过对共享资源 (也就是要读取的数据) 的加上"隔离的锁",使得多个线程执行的时候也不会互相影响,而悲观锁,乐观锁正是并发控制中较为常用的技术手段。悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据。特点:可以完全保证

2022-06-15 18:00:50 289

原创 flask中使用SQLAlchemy使用mysql遇到的问题

AssertionError: The sqlalchemy extension was not registered to the current application. Please make sure to call init_app() first.今天在进行数据迁移时,执行到 python migrate.py db migrate 时候 报错经过反复试验,在配置上加上db.init_app(app)执行成功!...

2022-06-10 14:31:31 516

原创 后台使用RBAC实现角色的权限管理

1.介绍:随着互联网的快速发展,不同的系统中权限的应用复杂程度不一样,都是根据实际产品以及需求情况而设置合理的权限。而我们现在对于权限的设置基本上都是建立在RBAC权限模型上的、扩展的,下面我会通过介绍RBAC权限模型的概念以及结合实际业务情况列举权限设置的应用。2.RBAC模型:RBAC(Role-Based Access Control)即:基于角色的权限控制。通过角色关联用户,角色关联权限的方式间接赋予用户权限。RBAC权限模型是基于角色的权限控制所有权限的本质是对数据库中表中数据增删改查的操作而这些

2022-06-07 14:44:41 299

原创 闭包和装饰器

闭包:两个函数的嵌套,外部函数返回内部函数的引用,外部函数一定有参数def 外部函数(参数): def 内部函数(): pass return 内部函数 他跟函数之间的区别: 1.格式两个函数嵌套 2.闭包外部函数的参数可以在内存中保持装饰器是什么:闭包加@xxx装饰器的作用:在不改变原先的函数值跟调用的方式,添加额外的功能装饰器的代码: def set_fun(func): def call_fun(*arg

2022-06-01 20:13:45 89

原创 常见的响应码

1xx(临时响应)100: 请求者应当继续提出请求。101(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备进行切换。2xx(成功)200:正确的请求返回正确的结果,如果不想细分正确的请求结果都可以直接返回200。201:表示资源被正确的创建。比如说,我们 POST 用户名、密码正确创建了一个用户就可以返回 201。202:请求是正确的,但是结果正在处理中,这时候客户端可以通过轮询等机制继续请求。3xx(已重定向)300:请求成功,但结果有多种选择。301:请求

2022-05-25 08:03:19 326

原创 什么是状态保持

原因:浏览器与服务器是使用 socket 套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的 socket 连接,而且服务器也会在处理页面完毕之后销毁页面对象 所以针对这情况我们要进行状态保持来记录用户的一些操作来实现状态保持主要有两种方式:    在客户端存储信息使用 Cookie    在服务器端存储信息使用 Session...

2022-05-24 10:54:36 132

原创 flask服务器启动方式无法运行

刚开始反复报错,显示* Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.* Debug mode: offUsage: flask run [OPTIONS]Error: Could not locate a Flask application. ...

2022-05-19 17:39:03 1519

原创 超详细创建配置前端vue全过程

1.新建vue项目vue create 项目名选择你要创建的vue版本,这里我选择创建vue2[上下键调整,回车选择]2.接下来我们在vs code 上面 打开刚刚创建的项目运行 npm run serve进入之后看到这个页面证明我们的创建是成功的3.然后把项目先停止一下,装一些插件我们一般在vue里面发送请求的时候都是用axiosnpm install -s axiosnpm install -s vue-router@3 (因为是vue2,所以要指定版本)

2022-05-13 17:46:39 925

原创 Cookie 和 Session 的区别

什么是sessionSession是另一种记录客户状态的机制,基于Cookie实现,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是Session,客户端浏览器再次访问时只需要从Session中查找该客户的状态就可以了session的认证过程· 用户第一次请求服务器的时候,服务器根据用户提交的相关信息,创建对应的session· 请求返回时将此session的唯一标识sessionID返

2022-05-12 19:56:48 84

原创 python math 数学函数教程

一、math库简介math库是python提供的内置数学类函数库math库不支持复数类型,仅支持整数和浮点数运算math库一共提供了4个数字常数和44个函数其中44个函数共分为4类,包括16个数值表示函数,8个幂对数函数,16个三角对数函数和4个高等特殊函数二、数字常数import math# 圆周率,值为3.141592653589793math.pi# 自然对数,值为2.718281828459045math.e# 正无穷大,负无穷大为-math.infmath.inf#..

2022-05-11 21:19:19 5648 1

原创 无法正常运行celery,出现报错

在运行中,除了 “ModuleNotFoundError: No module named XXX” 错误,还可能出现not enough values to unpack (expected 3, got 0)的错误。可以用以下方法:1、先安装 eventlet 库pip install eventlet2、启动worker的使用加入参数celery -A <项目名> worker -P eventlet这是今天帮别人找错发现的问题...

2022-05-09 22:45:01 468

原创 mac 配置mysql

一、下载安装官网下载社区版dmg安装文件: https://dev.mysql.com/downloads/mysql/1、执行安装文件,按步骤完成安装。2、安装完成后终端输入:mysql --version;----显示版本号说明正常,若显示command not found,在终端输入如下,”/usr/local/mysql/bin/mysql”为mysql默认安装路径:$ cd /usr/local/bin/$ sudo ln -fs /usr/local/mysql/bi

2022-05-09 17:04:24 3382

原创 静态方法类方法的区别

Python 的类方法和静态方法很相似,它们都推荐使用类来调用(其实也可使用对象来调用)。 类方法和静态方法的区别在于,Python会自动绑定类方法的第一个参数,类方法的第一个参数(通常建议参数名为 cls)会自动绑定到类本身;但对于静态方法则不会自动绑定。类方法是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(当然可以用其他名称的变量作为其第一个参数,但是大部分人都习惯以'cls'作为第一个参数的名字,就最好

2022-05-09 16:57:13 7915

原创 添加文件到远程仓库

1.创建一个项目,在项目目录下,初始化git仓库: git init2.设置签名:1.用户名:git config user.name 用户名 2.Email(邮箱):git config user.email 邮箱名3.查看当前工作区、暂存区状态:git status4.所有文件增加到暂存区,也可指定一个文件:git add .5.暂存区提交到本地仓库:git commit -m "描述信息"6.查看历史记录:git log7.查看远程仓库:git remote -v8.添加远程仓...

2022-05-09 16:54:51 152

原创 使用Celery踩过的坑

celery

2022-04-28 16:33:37 605

原创 AbstractUser

使用AbstractUser时要注意setting里面的配置,配置认证用户的模型类:AUTH_USER_MODEL=""正确的结构式:AUTH_USER_MODEL = 'app名.表名'。其中的表名是model中你用来代替原本默认的auth_user的自建的用来判定密码或账号的表。...

2022-04-28 11:40:55 368

原创 celery报错

celery报错[2022-04-27 16:04:25,173: ERROR/MainProcess] consumer: Cannot connect to redis://123@127.0.0.1:6379/5: Authentication required..Trying again in 2.00 seconds... (1/100)密码前面少加:号

2022-04-27 16:28:31 720 1

空空如也

空空如也

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

TA关注的人

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