自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python 人脸离线识别SDK(Baidu)

python 调用 java版本的 百度离线识别SDK

2022-03-24 06:59:34 2695 2

原创 基于redis实现的数字验证码生成核验

# @Time :2022/3/13 0013 14:07# @Author :lionlone# @FIle: :vcs.py# @Software :PyCharm# @Describe :基于redis的验证码生成、校验系统, 可对验证码生成和校验做次数限制, 用于手机验证码、邮箱验证码的实现import hashlibimport randomimport stringfrom redis import Redisclass Vcs: def __

2022-03-13 17:05:44 2251

原创 flask sqlalchemy (高级篇)

本篇介绍一些高级的orm操作技巧

2022-03-10 10:25:49 1017

原创 flask sqlalchemy(基础篇)

本篇主要记录常用的 CURD 操作。from flask_sqlalchemy import SQLAlchemydb = SQLAlchemy()class User(db.Model): # 下面是定义表内字段 index = db.Column('index', db.Integer, primary_key=True, autoincrement=True) nick = db.Column(db.String(100), default="unknown") e

2022-03-10 10:17:35 1463

原创 flask sqlchemy(入门篇)

1. 安装pip install flask-sqlalchemy2. 初始化配置这是我的flask项目常用的目录结构,仅作参考

2022-03-10 08:32:47 645

原创 flask 自定义错误类型

做前后端分离全栈项目,前端必然要对路由进行封装、拦截等,而本人使用的又是阿里云fc的HTTP触发器,无法使用任意的状态码标识错误,因此需要基于HTTPException类自定义错误类,固定所有错误的响应码都是200,自定义响应体结构,便于前端封装。class BaseError(HTTPException): code = 200 def __init__(self, code=500, msg="error", content=None): if content is

2022-03-09 06:16:26 562

原创 flask装饰器的应用

开发中经常遇到需要对某个接口做权限校验,或者访问频率限制等,这时候就可以使用装饰器对请求进行预处理,如果满足访问条件,则放行;不满足则抛出自定义的异常。from flask.views import Viewclass User(View): @aac.require_login def get(user_id): '''登录校验''' ··· return "" @aac.limit_rate(1, 1) def post(user_id): '''频率限制器'''

2022-03-09 05:49:33 385

原创 android color详解

res>values>themes 应该是全局覆盖所继承的样式,其实可以对每个控件定制的,因此这里的样式就可以不必强记,记住几个主要的即可<!-- 状态栏背景色 --> <item name="android:statusBarColor" tools:targetApi="l">#dddddd</item> <!-- 状态栏文字色 true:黑色,false: 白色 --> &

2022-01-11 00:04:22 2542

原创 使用pypy环境——快到飞起

先做个简单测试,感受下这玩意儿的速度import timest = time.time()result = 0for each in range(1000000000): result+=eachprint(result)print('runtime:%f\n'%(time.time() - st))结果# 一般的python环境(称为Cpython)499999999500000000runtime:91.477087# pypy环境499999999500000000

2022-01-05 14:09:11 460

原创 web低成本的安全登录方案

背景最近在开发restful风格的数据仓库,使用的是阿里云的函数计算,技术栈是:Vue+Flask(部分用Go),后端API采用restul风格。由于数据比较敏感,安全系数肯定要比较高才行,但由于我是个人开发,限于成本,只能尽可能的优化代码逻辑,平衡存储和计算成本。遇到的问题与自己的解决方案权限管理这个地方,遇到的问题是否开放账号密码注册的方式?我参考了国内多数app/web应用,发现相当一部分仅开放了手机号验证注册/登录,或者开放第三方如微信/支付宝之类的,但是最后还是要绑定手机,于是我想了

2022-01-04 10:10:52 2876

原创 flask 返回前端可以拖动进度的视频流

近期在做一个pc webview的项目,用的是熟悉的flask+pywebview, 涉及到本地视频文件在前端页面上播放,最开始尝试直接打开文件,然后返回read的值,发现前端无法拖动进度条,查阅之后,才知道需要传输视频流,条件是:前端请求头携带 Range, 其值表示视频文件的读取起点后端需要在响应头中添加Content-Length,Content-Range,Accept-Range状态码需返回206具体配置如下,至于原因,不详,自己猜出来的。大概就是通过移动文件的指针来指定开始读取的地

2022-01-03 21:57:31 1877 2

原创 跨域问题 完全解决方案

按照这个思路走一遍,5分分钟左右,你就大彻大悟了

2021-12-30 04:08:34 109

原创 vue通过临时url上传文件到oss | 跨域 | 请求头 | 等问题解决

axios设置不知原因,看了一天的oss2-python的源码,用工具模拟各种请求,fiddler抓请求,最终发现,请求头中不能有Content-Type,且要携带Access-Control-Request-Headers,值设置为Content-Type,成功上传。PS: 有大神知道原因的,希望给个解答,不胜感激const ossService = axios.create({ // ... headers:{ 'Access-Control-Request-Header

2021-12-29 00:45:37 964

原创 寻找Python和Java的语法共性,便于快速入门

Python和Java都是面向对象的语言,而计算机语言和人类的各种自然语言其实是类似的,交流的目标对象不同而已。既然如此,首先回忆下,各位学习外语,是将母语的词汇与外语的词汇在大脑中做连接,比如读书的时候外语老师要求背诵词汇表。那么学习Java,我们大脑其实...

2021-11-14 03:09:08 390

原创 Python转Java(Android原生方向)历程

序我相信,读者朋友们可能有跟我经历类似的——非科班出身热爱编程,从谭浩强的《C语言基础》到各种技术的入门视频书籍资源辗转腾挪,最终发现了Python 这样一个可以快速拥抱编程世界的语言。搞Python已经3年了,web、数据分析处理(音频/视频/文本/)、GUI(tkinter/wxpython/pyqt/勉强算上webview),回过头看Python对于我这种情况的人,所带来的好处,总结为以下几点:快速入门:即便是完全没接触过Python,静下心来,也能大致看出入门级的示例快速实现想法:简单灵

2021-11-13 17:59:56 3416

原创 vue+axios 本地开发环境端口跨域

在vue.config.js中添加module.exports = { publicPath: "/static", indexPath: "E:\\PyProgram\\xxx\\v1\\static\\index.html", outputDir: "E:\\PyProgram\\xxx\\v1\\static", css: { extract: false, }, //添加如下代码,则拦截所有以" /api "开头的请求,发送到target指定的允许跨域的地址中

2021-09-21 01:20:09 238

原创 百度图片爬虫(requests版本)

#原创更新日期:2021/02/15如果觉得能够节省您抓包的时间,哪怕打赏0.1也是爱呀,嘿嘿!import requestsfrom urllib.parse import quote,unquoteimport jsondef search_baidu_image(key,num=4): ''' 百度图片爬虫 :param key: 关键词 :param num: 页面数,一页最多30张 :return: 有数据返回数据,没数据返回None

2021-02-15 01:28:30 257

原创 2. tkinter二次开发控件

背景本人不是处女座,但有着处女座的‘坏毛病’。tkinter原生的控件美感让我十分苦恼,于是我决定二次封装一些调用方便并且相对美观的控件。1. LabelEntry(带标签的输入框)本人最近开发tkinter可视化开发工具时,需要写一个实时改变控件属性的页面,其中就需要若干个Label+Entry(或者Button)阵列。简单而直接的办法就是Grid方法进行排列,但是调试过程十分麻烦,比如调边距、对齐方式、Entry的快捷输入等等。于是就用一个Frame封装了Label、Entry、Butt

2020-09-11 07:12:01 340

原创 1. tkinter可视化开发工具

唠唠嗑tkinter玩久了,就会从开始震惊(除了VB居然还有这么简单的UI开发工具!!)到厌倦(基本控件好丑、界面美观度调优太麻烦)。于是我找到了万能的谷歌,结果找了一个下午,才在某篇与tkinter可视化无关的文章评论区找到了一个工具:,二话不多说,下载!额又是一番折腾,可算是安装好了,尝试了一下,结果生成的代码,跟我本人的代码风格完全不同。。。。。好吧,那咱就自个儿个可视化开发工具写总行吧,经过一下午的奋斗,第一代诞生了,尝试了一下,简直是歪瑞古德啊!我建议各位朋友如果对在学tkinter,同时有

2020-09-09 05:02:31 1465

原创 -1. tkinter 技巧总结(不定期更新,欢迎指正)

1. tkinter.Entry 响应<Key>事件时,缺少最后一个字符的问题 解决:通过设置计时器,1ms后执行Entry.get()方法即可from tkinter import Tk,Entryroot=Tk()et=Entry(root)# 方式1# 缺少最后输入的字符et.bind('<Key>',lambda event:print(event.widget.get()))# 方式2# 问题:不够优雅et.bind('<Key&gt..

2020-09-05 05:03:28 245

原创 成长日记_1

前言今天是第一次在从事多年上面分享我的成长日志,这个模块是用来记录自己对于我对自己人生格局的思考,人应该每隔一段时间,都停下来,细细思考自己做这些,意义究竟是什么,或者接触到了什么新的思想等等正文四五年了,从来不关心综艺、电视剧什么的我,今天突发奇想,看了吐槽大会第三季最后一期。这一期,欧阳娜娜突然又闯进我的视线,对这个名字,我以前只是听过,也只是知道她好像跟我同岁。于是二话不说,到知乎去翻...

2019-06-13 05:48:35 167

原创 C语言循环的BUG苦恼了两天,苦不堪言,哪位大神能拔刀相助!!!

#include&lt;stdio.h&gt;#include&lt;string.h&gt;/*在自学C的小白一枚,书上留的习题为什么循环到第二次就出问题了?跳过gets(a)直接到gets(b),也就是说,打印到屏幕上的,是连续的请输入学号:请输入成绩:(光标)注:我省了主函数没写*/void put(char a[],char b[],float c)...

2019-02-19 03:21:53 531

原创 Java知识点

Java知识点第一章 准备工作1-1 jdk的安装下载安装包–&gt;选择安装路径–&gt;配置环境变量–&gt;检验安装是否成功*重点 *安装完jdk之后,会提示安装jre,注意最好不要将两者放在同一个目录下配置环境变量(JAVA_NAME和Path)JAVA_HOMEJava的安装路径Path%%JAVA_HOME%\bin在DOS中输入j...

2019-02-16 19:09:49 307

空空如也

空空如也

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

TA关注的人

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