自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 GO同步等待组

go 同步等待组

2022-06-18 15:23:33 238 1

原创 python 对列表内的字典排序

python 对列表内的字典排序升序排序:alldate = [{'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0}, {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0}, {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0}, {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩':

2022-04-15 11:55:47 4203 2

原创 golang并发安全和锁

golang并发安全和锁互斥锁:package mainimport ( "fmt" "sync")var ( x int64 wg sync.WaitGroup lock sync.Mutex)func add() { for i := 0; i < 5000000; i++ { lock.Lock() // 加锁 x = x + 1 lock.Unlock() // 解锁 } wg.Done()}func main() { wg.Add(2)

2022-04-12 00:26:57 462

原创 python基本数据结构

栈:class Stack: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): self.items.pop()

2022-04-05 20:49:21 138

原创 gin集成Swagger-UI

gin 中间件使用 Swagger 2.0 自动生成 RESTFUL API 文档。1. 安装Swagger使用以下命令下载Swag for Go:go get -u github.com/swaggo/swag/cmd/swag在 Go 项目根路径运行Swag , Swag将解析注释并生成所需的文件和文件夹。swag init生成目录如下:.├── docs│ ├── docs.go│ ├── swagger.json│ └── swagger.yaml├── g

2022-03-27 19:04:18 701

原创 golang strings常用函数

package mainimport ( "fmt" "strings")func main() { s1 := " aBc" s2 := "100a" s3 := s1 + s2 fmt.Println(s3) fmt.Println(strings.HasPrefix(s3, "a")) //判断前缀 fmt.Println(strings.HasSuffix(s3, "0")) //判断后缀 fmt.Println(s

2022-03-05 18:20:29 145

原创 记录一个Markdown编写的接口文档模版

接口名称1) 请求地址https://apis.cnblogs.com/user/info?a=xx&b=xx2) 调用方式:HTTP post3) 接口描述:接口描述详情4) 请求参数:GET参数:字段名称字段说明类型必填备注astrY-bstrY-5) 请求返回结果:{"errNum": 10001,"errMsg": "Param Error"}6) 请求返回结果参数说明:字段名称字段说明类

2022-03-04 18:05:47 1457

原创 部署django-celery

安装包# pip安装必选 Django==3.2 celery==5.0.5 redis==3.5.3 # 可选,windows下运行celery 4以后版本,还需额外安装eventlet库 eventlet # 推荐安装, 需要设置定时或周期任务时安装,推荐安装 django-celery-beat==2.2.0 # 视情况需要,需要存储任务结果时安装,视情况需要 django-celery-results==2.0.1 # 视情况需要,需要监控celery运行任务

2022-01-17 23:54:33 537 1

原创 记录python httpx库的基本使用

详细注释记录在代码中。。。# 文档地址https://www.python-httpx.org/import httpx # pip install httpx # pip install httpx[http2]import asyncioimport time# headers = {'user-agent': 'my-app/1.0.0'}# params = {'key1': 'value1', 'key2': 'value2'}# cookies = {'color': 'gre

2022-01-15 12:47:31 687

原创 记录一个JWT验证装饰器

记录一个JWT验证装饰器,可用于做接口验证。用到的包:import timeimport jwtimport uuidimport functools用到的加密解密方法:class Token: @classmethod def encrpyt_token(cls, username, exp_time=None, secret=None): """ jwt加密 :param username: :param e

2022-01-12 16:33:11 1871

原创 python 懒加载

python 懒加载getattr() 函数用于返回一个对象属性值。减少内存消耗 try: namespace_ = convert_upper_case_to_snake_case(service_name) + '_service' namespace_module = import_module(f"app.services.{namespace_}") class_object = getattr(namespace_module, servic

2021-12-22 18:34:30 915

原创 一些MySQL配置查询

MySQL补全缺失的ID和恢复ID自增长mysql语法:ALTER TABLE table_name AUTO_INCREMENT = num;

2021-11-24 16:04:51 421

原创 Django自定义Some of Simple JWT’s behavior

# Django project settings.pyfrom datetime import timedelta...SIMPLE_JWT = { 'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5), 'REFRESH_TOKEN_LIFETIME': timedelta(days=1), 'ROTATE_REFRESH_TOKENS': False, 'BLACKLIST_AFTER_ROTATION': False,

2021-10-23 17:44:48 125

原创 Python强类型笔记(一)

一个简单的例子:def speak(name,age): print(name,age)speak("张三","18")可以知道,speak函数的name参数,接收的一定是个字符串,并且希望它以后接收的也一直是字符串,传统的写法如上。现在有个很简单的需求,我想把name接收的参数都转成大写,我们都知道字符串有upper方法。print("stark".upper())但是当我们敲“.”符号的时候,有时候可能并不会出现自动提示,但是name确实是字符串。我们将代码稍微改一下:def

2021-09-05 22:21:07 147

原创 Flask-RESTX笔记(二)之一个完整的flask-restx实例

一个完整的flask-restx实例from flask import Flaskfrom flask_restx import Api, Resource, fieldsfrom werkzeug.middleware.proxy_fix import ProxyFixapp = Flask(__name__)app.wsgi_app = ProxyFix(app.wsgi_app)api = Api(app, version='1.0', title='TodoMVC API',

2021-08-25 17:54:04 1360 1

原创 Flask-RESTX笔记(一)

初始化与其他所有扩展一样,您可以使用应用程序对象对其进行初始化:from flask import Flaskfrom flask_restx import Apiapp = Flask(__name__)api = Api(app)或者懒惰地使用工厂模式:from flask import Flaskfrom flask_restx import Apiapi = Api()app = Flask(__name__)api.init_app(app)一个最小的 API一

2021-08-23 00:38:33 2494

原创 python消息队列(生产者消费者模型)

from multiprocessing import Queuefrom threading import Threadimport time#创建生产者def producer(q, n): print("开始生产") for i in range(n-99, n+1): print("生产{}".format(i)) q.put(i) #发消息 if i == 80 or i == 180:

2021-08-10 20:11:27 436

原创 Linux crontab 命令

Linux crontab 命令service crond start //启动服务service crond stop //关闭服务service crond restart //重启服务crond -e //编辑20 03 * * * python /home/test.py > /home/test.log

2021-07-06 16:31:49 104

原创 nginx总结

nginx总结nginx常用命令启动nginx-s quit是正常停止。nginx -s quit-s stop是强制停止nginx -s stop启动状态下重新加载配置文件nginx -s reload查看nginx进程ps aux|grep nginx关于Gunicorn 的终止进程显示主进程pidpstree -ap | grep gunicorn杀掉这个主进程就okkill -9 查询出的pid...

2021-07-04 23:54:37 118 1

原创 python操作SQLite

连接数据库下面的 Python 代码显示了如何连接到一个现有的数据库。如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象。#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully"在这里,您也可以把数据库名称复制为特定的名称 :memory:,这样就会在 RAM 中创建一个数据库。现在,让我们来运行上面的程序,在当前目录中创建我们的数据库

2021-06-19 16:54:17 194

原创 我用Python打开了女朋友的加密压缩包(生产者消费者模型和多进程实现)

我用Python打开了女朋友的加密压缩包???? 概况女朋友的压缩包密码忘记了,在她说明是6位数的某一个日期后,我决定帮她打开,毕竟我也想看看加密的压缩包里面是什么图片。关键字:多进程 产消模型首先我们需要生成一个密码库,已知密码是6位数的纯数字,即000000-999999。这就简单了。上代码:#生成从000000到99999的密码表f = open('passdict.txt','w')for id in range(1000000): password = str(id).zfi

2021-06-11 13:26:25 272 5

原创 Golang打印小结

Golang打印小结package mainimport "fmt"var ( name string age int isOk bool)func main() { name = "mzh" age = 23 isOk = true fmt.Println(isOk) //打印后换行 fmt.Print(name) //正常打印 fmt.Printf("的年龄是:%d", age) //使用占位符打印}打印结果:true

2021-05-27 19:35:07 273

原创 Django项目解决Error loading MySQLdb module

Django项目解决Error loading MySQLdb module在项目__init__.py文件中引入模块:import pymysqlpymysql.install_as_MySQLdb()解决!关注公众号一起学python

2021-05-24 13:33:32 229

原创 某音乐歌曲爬虫

某音乐歌曲爬虫???? 概况使用python爬虫自动下载酷gouTop500的歌曲。目标网址:https://www.kugou.com/yy/rank/home/1-8888.html?from=rank网站分析:点击歌曲进入播放页面后对网页进行抓包分析,抓包分析发现歌曲信息出现在上图的地址中,“来迟”这首歌曲的信息api地址是https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery1910045939

2021-05-21 10:57:33 1044 5

原创 python异步编程之asyncio

python异步编程之asyncio前言:python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板,如最新的微服务框架japronto,resquests per second可达百万级。python还有一个优势是库(第三方库)极为丰富,运用十分方便。asyncio是python3.4版本引入到标准库,python2x没有加这个库,毕竟python3x才是未来啊,哈哈!pyth

2021-05-18 01:43:53 725

原创 ActionChains 操作总结

ActionChains 操作总结ActionChains类继承自object类,但是需要为其传入一个driver对象,即ActionChains(driver)此类常用于模拟鼠标键盘操作,其API列表如下:perform() 此方法执行储存的所有动作单击click(self, on_element=None),此方法即为鼠标单击动作,输入参数为一个元素,可以不输入用法:ActionChains(driver).click(driver.find_element_by_id(“input”)

2021-05-02 17:08:07 1691

原创 Django开发接口时setting.py源码

Django开发接口时setting.py源码import os# Build paths inside the project like this: os.path.join(BASE_DIR, ...)BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# SECURITY WARNING: keep the secret key used in production secret!SECRET

2021-04-28 16:44:53 69

原创 Python之base64加密解密

Python之base64加密解密加密:import base64str1 = "hello word"str2 = str1.encode(encoding ='utf-8',errors = 'strict')str3 = base64.b64encode(str2)str4 = str3.decode()解密:enstr = base64.b64decode(str3.decode())print(enstr.decode())

2021-04-27 23:05:27 266

原创 猿人学第一届爬虫比赛第四题(雪碧图、样式干扰)

猿人学第一届爬虫比赛第四题(雪碧图、样式干扰)???? 概况本题与前面几题要求一致,依旧是采集5页的全部数字,计算加和并提交结果。可以发现,数据是以图片形式展示,并且第四第五页是无法通过页面查看的,查看网页源码发现数据并不在源码中,抓包分析发现请求了两个文件,其中logininfo返回了登录信息,文件4返回了一串json数据。拷贝其中的info信息,在浏览器中执行,发现info包含的是渲染图片的html代码,与题目第一页的数据比较,可以发现这些图片的顺序与网页展示的顺序不同,数量也不一致。

2021-03-31 23:09:30 471 2

原创 爬虫之某翻译网站的js逆向分析

某翻译的js逆向分析今天学习了爬虫的高阶内容:js逆向分析。选择难度较低的某翻译网站,首先进行抓包分析。点击翻译,选择xhr文件就可以找到了我们点击发送的请求,网页是一个post请求,网址如图所示,接着往下看,这里有很多我们看不懂的参数,我们再发送一次请求看看这些参数是否发生变化,我们可以发现i:是我们翻译的单词,其他发生变化的有图中三项:有经验的同学应该可以看出lts和时间戳很相似,而salt比lts多了一位数。sign是一个32位的字符,应该是md5加密。我们来验证一下;在s

2021-01-05 04:05:59 493 1

原创 解决node: bad option:-V

解决node: bad option:-V一起来看图找茬!

2021-01-03 19:28:34 11238 10

原创 R语言课程设计之-深圳房价预测模型

R语言课程设计之-深圳房价预测模型目录一、 摘要: 3二、 R语言简介 3三、 商品房价和时间的非线性模型 3(一) 数据准备(导入数据): 3(二) 建立非线性模型 4四、 影响房价的多因素的多元线性回归模型 6(一) 模型的建立 6(二) 模型的求解 7(三) 模型总结 13五、 房价预测及模型的对比评价 13(一) 指数方程预测房价 13(二) 多元线性回归预测房价 13六、 总结 14(一) 建议 14(二) 心得 14(三) 参考文献 14摘要:利用 R 语言

2020-12-31 02:37:41 10250 10

原创 pycharm最新解决方法!!

今天给大家带来Pycharm激活方式。利用激活码激活(理论2100年到期)使用方法如下:打开IDE,将下载的压缩包jetbrainscrack20201126.rar解压(会获取到补丁和key.txt),将补丁(BetterIntelliJ.zip无需解压缩!!!)直接拖拽到IDE窗口中。补丁已为你打包好,已经关注公众号的直接在公众号回复Pycharm即可领取。没有关注公众号的,先关注公众号回复Pycharm即可领取压缩包出现弹窗,点击OK,IDE会自动重启,如果不能自动重启,可直接关闭IDE

2020-12-28 16:52:06 4019 12

原创 Redis的有序集合zadd,zrange,zrevrange,zrem,zscore,zrangebyscore,zincrby,zcard命令学习

Redis的有序集合zadd,zrange,zrevrange,zrem,zscore,zrangebyscore,zincrby,zcard命令学习1.特点:Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。最多包含2^32-1元素。zadd实例1:Redis Zadd 命令用于将一个或多个成

2020-12-23 02:40:17 2958

原创 python生成器

python生成器# -*- coding:UTF-8 -*-def create_num(all_num): #a = 0 #b = 1 a, b = 0, 1 current_num = 0 while current_num < all_num: #print(a) yield a #如果一个函数中有yield语句,那么这个就不再是函数,而是一个生成器模板 a, b = b, a+b cu

2020-12-20 23:58:24 74

原创 python迭代器应用之输出斐波拉契数列

python迭代器应用之输出斐波拉契数列迭代器优点:占用空间小# -*- coding:UTF-8 -*-from collections import Iterable,Iteratorimport timeclass Fibonacci(object): def __init__(self,all_num): self.all_num = all_num self.current_num = 0 self.a = 0 s

2020-12-20 20:15:59 288

原创 python迭代器理解

python迭代器理解# -*- coding:UTF-8 -*-from collections import Iterable,Iteratorclass Classmate(object): def __init__(self): self.name = list() def __add__(self, name): self.name.append(name) def __iter__(self): #如果想要一个对象称

2020-12-20 03:13:03 271 1

原创 python多进程实现文件海量复制

python多进程实现文件海量快速复制直接上代码:# -*- coding:UTF-8 -*-import osimport multiprocessingdef copy_file(q,file_name,old_folder_name,new_folder_name): '''完成文件的复制''' # print('======>模拟copy文件:从%s--->%s 文件名是:%s' % (old_folder_name,new_folder_name,file

2020-12-20 01:30:00 329 3

原创 解决在window系统下创建多进程的出现RuntimeError的问题

解决在window系统下创建多进程的出现RuntimeError的问题。今天在做python创建进程池的时候出现了以下的错误,RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase. This probably means that you are not u

2020-12-19 19:16:40 979 2

原创 python创建进程池

python创建进程池# -*- coding:UTF-8 -*-from multiprocessing import Poolimport os,time,randomdef worker(msg): t_start = time.time() print('%s开始执行,进程号为%d' % (msg,os.getpid())) # random.random() 随机生成0-1之间的浮点数 time.sleep(random.random()*2) t

2020-12-19 19:07:16 372 1

frida-server-14.2.18-android.zip

测试,安全,爬虫工程师

2021-06-24

空空如也

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

TA关注的人

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