自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极客点儿

但行好事,莫问前程

原创 NumPy 教程(目录)

待续。。。

2019-06-20 18:49:33 1127 0

原创 Dockek docker.errors.DockerException: Credentials store 报错解决!

报错背景: 之前使用的是老版本的 Docker,今天升级之后发现项目不能使用了,原因是 Python 的驱动和 MySQL 版本不兼容的问题。于是,就把 Docker 回滚到旧版本,但是在执行 docker-compose up -d 的时候使用 control + c 强制关掉,在启动的时候就...

2020-05-26 13:22:33 49 0

原创 Python3 traceback 错误处理

traceback 包可以详细等位到程序出错的位置,经常和 try 配合处理 import traceback try: ... except BaseException as e: traceback.print_exc()

2020-05-22 14:30:53 40 0

原创 Django3.0.6 和 Xadmin2 环境配置

Django3 出来有一段时间了,但是 xadmin 总是跟不上节奏。顺便吐槽一下 Django 的环境,各种乱七八糟的版本,各种不兼容,各种辣鸡问题。。。但是,也阻止不了它快速开发交付的特点,所有才会有这么多人使用吧。 Django3.0.6 和 Xadmin2 环境配置因为各种原因导致很乱,所...

2020-05-09 11:08:46 212 0

原创 《用户数据备份方案》设计、开发、爬坑

最近公司要做一个数据备份,数据是用户产生的,基本上都是文件和图片。备份数据要打包成成 tar 包,所以设计如下方案: 《用户数据备份方案》 1. 采用 bash shell 开发数据备份脚本 2. 数据备份目录新建在 dcp/backup 下 3. 所有需要备份的文件打包为 tar 包,名字以年月...

2020-04-08 18:05:52 141 0

原创 Python3 开发 OAuth2.0 服务

OAuth 2.0 的一个简单解释 http://www.ruanyifeng.com/blog/2019/04/oauth_design.html OAuth 2.0 的四种方式 http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.h...

2020-03-27 11:41:29 337 0

原创 Python3 GUI 程序打包发布

pyinstaller 可跨平台(Mac、Linux、Windows)打包 py2app Mac 平台打包 py2exe Windows 平台打包

2020-03-26 12:41:47 384 0

原创 Python3 解决文件 save 多次出现空文件

最近项目中需要做批量上传日报的功能,照片只拍一张,所有的日报共用,要保存多份,所以在迭代的时候就直接使用 file.save(filename) 进行保存了 结果发现,从第二次开始保存的文件都是错误的,打不开。排查发现文件都是空的 后来想通了,这是因为文件在写入的过程中,指针也会随着向后指。所有...

2020-03-26 12:31:28 331 0

原创 Python3 flask 依赖包 werkzeug 报错 ImportError

pip 是 Python 中超级好用的包管理工具,但是 pip 会不定时更新 WARNING: You are using pip version 19.3.1; however, version 20.0.2 is available. You should consider upgrading...

2020-03-19 17:50:58 926 2

原创 Elasticsearch 简介

反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。 搜索引擎原理就是建立反向索引。 Elasticsearch 在 Lucene 的基础上进行封装,实现了分布式搜索引擎。 Elasticsearch 中的索引、类型和文档的概念比较重要,类似于 MySQL 中的数据库、表和行。 ...

2020-03-11 14:59:38 390 0

原创 SQLAlchemy 两张表联表查询后获取两张表所有的字段

在实际开发中 发现 SQLAlchemy 中的一个问题 我想获得一张完整的连结表的结果 举个例子: 有 Post 和 Follow 两个表格 Post 表格有 body 等列 Follow 表格有 follower_id 等列 在连结 Post 和 Follow 的表后,对其查询 我希望获得的查询...

2020-03-07 00:56:22 712 0

原创 SQLAlchemy 如何获得一行中的所有数据

SQLAlchemy 获取数据库中的数据是字典形式,我们可以通过迭代的方式进行对字段逐一获取,那有没有方法可以将数据直接通过字典返回呢,进过研究发现还真有 users = session.query(Users).all() for user in users: print(user.__...

2020-03-07 00:41:43 416 0

原创 Python3 文件打包与解包

在做业务中有时候会遇到批量文件下载的功能,要批量下载需先将文件进行打包,这里介绍常用的 zip 和 tar 打包与解包 Python 中内置了打包的库,我们直接使用即可 zip #!/usr/bin/env python3 # -*- coding: UTF-8 -*- import zipfi...

2020-03-06 23:42:49 401 0

原创 Python3 安装 Crypto 三方库

最近在做小程序登录认证,需要拿到用户的手机号,但是微信 API 返回的手机号码是加密后过的,需要使用 AES 进行解密 安装 pip install pycryptodome 安装完后导包 from Crypto.Cipher import AES 发现竟然有错 ImportError: No...

2020-01-16 21:18:39 1323 0

转载 Flask + PyJWT 实现基于Json Web Token的用户认证授权

这是我在做用户认证开发过程中看到一位大神写的文章,不过源地址已经失效了,希望有可能未来还能看到传送门。在此转载是不忍心这么好的文章绝版 我在 github 上找到了作者的源码,有需要的可以去下载https://github.com/yaoyonstudio/flask-pyjwt-auth 在...

2020-01-16 21:07:43 2070 1

原创 python PyJWT 使用

在程序开发中,用户认证授权是一个绕不过的重难点。以前的开发模式下,cookie 和 session 认证是主流,随着前后端分离的趋势,基于 Token 的认证方式成为主流,而 JWT 是基于 Token 认证方式的一种机制,是实现单点登录认证的一种有效方法 PyJWT 是一个用来编码和解码 JWT...

2020-01-16 20:42:26 1452 0

原创 修改 Flask 中 request.args 不可变字典类型

Flask 里面的 request.args 请求回来的参数是 ImmutableMultiDict 类型,ImmutableMultiDict 是不可变字典,这是为了保证传参的数据安全性。但是某些时候我们需要对其进行操作,例如:将参数中为空串的参数去掉,这时候我们可以使用 dict 将其转变为普...

2020-01-16 20:20:55 1257 0

原创 如何在宿主机上执行 Docker 容器里面的命令

关键参数是 exec -it,参数可接镜像 id 或 镜像名称 docker exec -it 583e6ec3c424 ls

2020-01-16 20:13:35 1854 0

原创 Python3 使用 SQLalchemy 如何判断某个字段为空 None

SQLalchemy 是 Python 中的 ORM 模型,在开发的过程中,遇到了如何对字段值进行判空的坑 方法一 table.name is None 这样的写法 Python 的解释器不会报错,但是结果和预期不符,解释器直接忽略这一行 方法二 table.name == None 这样...

2020-01-16 20:07:27 649 0

原创 Python3 使用 SQLalchemy ORM 模型 upgrade 报错 max key length is 767 bytes

开发背景 公司使用 Flask 进行开发,使用 SQLalchemy ORM 模型,在开发环境中 migrate 和 upgrade 正常通过,但是在部署测试环境的时候报了一行错误: sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.Ope...

2020-01-16 19:56:42 73 0

原创 Flask 组件 Bcrypt

Bcrypt 简介 Bcrypt 是一个 Flask 扩展,它为你的应用提供了bcrypt散列功能 得益于近些年来计算机硬件(如GPU)性能的提升,散列技术已经变得很容易被攻破了。想要解决这个问题,一个积极的作法是使用一种“去优化”的散列技术。Bcrypt就是这样一个散列工具;不同于MD5和SHA...

2019-12-16 15:39:03 216 0

原创 Flask 组件 APScheduler

APScheduler 简介 APScheduler 是 Flask 的一个任务调度模块,类似于 Linux 中的 Crontab 功能,但它不仅仅只有定时任务 APScheduler 分为4个模块,分别是: Triggers 触发器 Task Job 工作任务 Executors 执...

2019-12-16 15:25:53 183 0

原创 Flask 组件 Migrate

Migrate 简介 Migrate 类似于 Django 中的 manager.py 的 migrate,它的作用是将我们写好的 ORM 类对象,迁移到数据库中 数据库迁移操作顺序 python 文件 db init 根据需求修改模型 python flaskapp文件 db mig...

2019-12-16 15:15:22 195 0

原创 Flask 组件 Script

flask-script 的作用是可以通过命令行的形式来操作Flask.例如通过命令跑一个开发的服务器、设置数据库等 命令的添加方式 使用manage.command: 这个方法是用来添加那些不需要传递参数的命令的 使用manage.option: 这个方法是用来添加那些需要...

2019-12-16 15:01:52 166 0

原创 Flask 组件 SQLAlchemy

SQLAlchemy 简介: SQLAlchemy 相当于 Django 框架中 ORM,ORM 主要实现模型对象到关系数据库数据的映射 优点 只需要面向对象编程,不需要使用sql语言 实现数据模型和数据库的解藕,及不用关心是什么数据库,更改简单配置即可更换数据库 缺点 有部分性能损...

2019-12-16 14:57:32 169 0

原创 Flask 组件 App、Blueprint、RESTful 配合使用

前几篇文章简单的介绍了 Flask 各个组件 App、Blueprint、RESTful,以及各个组件的使用方法,现在第一道坎是如何将这些组件组合在一起使用 PS:App 就是最原始的 Flask 的应用,我统一将这个应用叫做 App,这是为了方便以后集成而人为定义的规范 首先,我们按照最原始...

2019-12-16 14:01:22 74 0

原创 Flask 组件 RESTful

RESTful 简介: Web 得以如此规模的发展,这和Web诞生之初的架构设计是分不开的。而REST则是用来发现,识别Web的架构模型中,有哪些地方需要改善,哪些地方需要说不的。所以,想要理解REST是什么,必须要站在俯览Web的角度,以Web的上帝视角来看待Web,才能搞清楚REST对Web到...

2019-12-16 13:47:57 44 0

原创 Flask 组件 Blueprint

Blueprint 简介: Blueprint 译为蓝图。简单来说,Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以及处理请求。 Flask 使用 Blueprint 让应用实...

2019-12-16 13:30:57 67 0

原创 Flask 框架的简单使用

Flask 简介: Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务,在介绍Flask之前首先来聊下它和Django的联系以及区别,django个大而全的web框架,它内置许多模块,flask是一个小而精的轻量级框架,Django功能大...

2019-12-16 13:14:44 85 0

原创 MySQL 如何修改 root 密码

首先登录 MySQL 用 SET PASSWORD 命令 mysql> set password for 用户名@localhost = password('新密码'); 用 UPDATE 直接编辑 user 表 mysql> use mysql; mysql...

2019-12-16 10:16:49 35 0

原创 Mac 安装 mysqlclient 报错解决方案

在 Python 中安装包正常情况下都会使用 pip pip install mysqlclient 但是很多情况下上述的命令会报错,解决办法度娘上可以找到,解决办法大致一致 首先叫你安装 mysql-connector-c,然后在使用 pip 进行安装,如果还有问题就打开 /usr/local...

2019-12-12 14:08:53 39 0

原创 IaaS、PaaS、SaaS 的区别

云服务只是一个统称,可以分成三大类 IaaS:基础设施即服务,Infrastructure-as-a-service PaaS:平台即服务,Platform-as-a-service SaaS:软件即服务,Software-as-a-service 参考文章:http://www.ruany...

2019-11-26 17:47:53 57 0

原创 Python3 多线程编程

一、线程的基本概念 引入进程的目的,是为了使多道程序并发执行,以提高资源利用率和系统吞吐量;而引入线程,则是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。 线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器...

2019-09-05 18:34:32 1202 0

原创 服务器性能参数:QPS、PV、IP

QPS Queries Per Second 的缩写,每秒查询数。每秒能够响应的查询次数。 QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。每秒的响应请求数,也即是最大吞吐能力。 TPS Transact...

2019-09-05 12:31:54 153 0

原创 Python3 多进程编程

一、进程与程序的区别与联系 进程这个概念是源于操作系统,下面列出 4 项进程与线程的区别与联系 进程是程序及其数据在计算机上的一次运行活动,是一个动态的概念。进程的运行实体是程序,离开程序的进程没有存在的意义。从静态角度看,进程是由程序、数据和进程控制块(PCB)三部分组成的。而程序是一组有序...

2019-09-05 11:51:00 308 0

原创 Python3 迭代器和生成器

一、迭代和可迭代对象 迭代(Iteration):迭代就是遍历,遍历就是将序列按照顺序一个一个输出 可迭代对象(Iterable):可以迭代的对象就是可迭代对象。或者是能作用于 for 循环之上的对象就是可迭代对象 二、迭代器 1. 为什么要用迭代器? 通过列表生成式,我们可以直接创建一个列表。但...

2019-09-02 11:45:35 77 0

原创 Python3 如何同时迭代列表元素和下标

众所周知 Python 中的 index 方法可以将 list 的下标获取到: data = [1, 2, 3] data.index(2) Out: 1 同时获取的话我们可以自己使用 for 循环配合 index,不过 Python 提供了一个内置函数 enumerate,可以同时获取到元素...

2019-08-28 11:52:26 208 0

原创 Python3 pymongo 使用 count 报警告解决办法

最近老代码重构,使用的新版本 MongoDB,Python3.7 安装 pymongo 模块,在使用 count 统计数据量的时候报了一个警告: DeprecationWarning: count is deprecated. Use estimated_document_count or co...

2019-08-27 11:53:19 2009 0

原创 Python3 pathlib 模块替代 os.path 获取文件路径

没时间整理,推荐一篇文章:《为什么你应该使用 pathlib 》 文章地址:https://treyhunner.com/2018/12/why-you-should-be-using-pathlib/

2019-08-23 16:16:43 218 0

原创 Python3 sandman2 模块

一个 Python 语言的数据库适配库,可以为各种数据库自动生成 RESTful 接口 GitHub 地址:https://github.com/jeffknupp/sandman2

2019-08-23 16:02:01 94 0

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