自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小红书逆向算法还原最新

小红书 x-s x-t x-commen

2024-07-20 01:19:59 157 3

原创 网易滑块逆向

网易滑块逆向

2024-07-18 17:36:58 192

原创 瑞幸咖啡小程序逆向

2024-07-01 11:07:59 218

原创 古茗小程序逆向

2024-07-01 11:06:33 236

原创 星巴克小程序逆向

2024-07-01 11:05:29 218

原创 蜜雪冰城小程序逆向

蜜雪冰城小程序逆向

2024-07-01 11:02:51 726 6

原创 幸运咖小程序逆向

幸运咖小程序逆向

2024-07-01 10:58:10 219

原创 库迪咖啡小程序逆向

库迪小程序逆向

2024-07-01 10:51:15 241

原创 瑞数6代逆向

2024-03-13 22:45:35 705 1

原创 瑞数5代逆向

2024-03-13 22:44:56 436

原创 瑞数4代逆向

2024-03-13 22:44:04 302

原创 小红书 x-s x-t x-common

搜索用户页面请求ok。详情页面评论请求ok。

2024-01-28 21:39:32 1006

原创 抖音 X-Bogus

完美过X-Bogus。

2024-01-28 21:33:33 431 1

原创 docker容器

docker容器

2022-04-04 23:17:31 1263

原创 docker镜像

docker镜像

2022-04-04 11:07:33 753

原创 docker安装

docker安装

2022-04-04 10:57:38 711

原创 Supervisor

supervisor是进程管理工具安装supervisor对python3支持不好,须使用python2sudo pip install supervisor配置运行echo_supervisord_conf命令输出默认的配置项,可以如下操作将默认配置保存到文件中echo_supervisord_conf > supervisord.confvim 打开编辑supervisord.conf文件,修改[include]files = relative/directory/*.in

2021-12-29 22:58:53 144

原创 Gunicorn使用

Gunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器。从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗。Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多。安装gunicornpip install gunicorn查看命令行选项: 安装gunicorn成功后,通过命令行的方式可以查看gunicorn的使用信息。gunicorn -h直接运行:#直接运行,默认启动的12

2021-12-29 22:55:26 651

原创 单元测试基本写法

为什么要测试Web程序开发过程一般包括以下几个阶段:[需求分析,设计阶段,实现阶段,测试阶段]。其中测试阶段通过人工或自动来运行测试某个系统的功能。目的是检验其是否满足需求,并得出特定的结果,以达到弄清楚预期结果和实际结果之间的差别的最终目的。测试的分类测试从软件开发过程可以分为:单元测试对单独的代码块(例如函数)分别进行测试,以保证它们的正确性集成测试对大量的程序单元的协同工作情况做测试系统测试同时对整个系统的正确性进行检查,而不是针对独立的片段在众多的测试中,与程序开发人员最密切的

2021-12-29 22:52:51 6172

原创 Python elasticsearch 全文检索实现以及suggest查询

安装 pip install elasticsearch对于elasticsearch 5.x 版本 需要按以下方式导入from elasticsearch5 import Elasticsearch# elasticsearch集群服务器的地址ES = [ '127.0.0.1:9200']# 创建elasticsearch客户端es = Elasticsearch( ES, # 启动前嗅探es集群服务器 sniff_on_start=True,

2021-12-29 22:39:18 658

原创 elasticsearch查询

1 基本查询根据文档ID curl -X GET 127.0.0.1:9200/articles/article/1 curl -X GET 127.0.0.1:9200/articles/article/1?_source=title,user_id curl -X GET 127.0.0.1:9200/articles/article/1?_source=false查询所有curl -X GET 127.0.0.1:9200/articles/article/_search?_sou

2021-12-29 22:28:13 151

原创 Logstash导入数据

使用logstash 导入工具从mysql中导入数据Logstach安装sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch在 /etc/yum.repos.d/ 中创建logstash.repo文件[logstash-6.x]name=Elastic repository for 6.x packagesbaseurl=https://artifacts.elastic.co/packages/6.x/yum

2021-12-29 22:24:07 451

原创 Elasticsearch 文档

一个文档的实例{ "name": "John Smith", "age": 42, "confirmed": true, "join_date": "2014-06-01", "home": { "lat": 51.5, "lon": 0.1 }, "accounts": [ { "type": "facebook

2021-12-29 22:20:55 296

原创 Elasticsearch索引与类型

索引查看索引curl 127.0.0.1:9200/_cat/indices 请求curl 127.0.0.1:9200/_cat可获取用于查询的名称创建索引索引可以在添加文档数据时,通过动态映射的方式自动生成索引与类型。索引也可以手动创建,通过手动创建,可以控制主分片数目、分析器和类型映射。PUT /my_index{ "settings": { ... any settings ... }, "mappings": { "type_one": { ..

2021-12-27 22:09:34 937

原创 IK中文分析器

Github:https://github.com/medcl/elasticsearch-analysis-ik下载完scp到远程服务器安装sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/python/elasticsearch-analysis-ik-5.6.16.zip重新启动sudo systemctl restart elasticsearch 测试:...

2021-12-27 21:57:07 2747

原创 Elasticsearch集群

Elasticsearch 尽可能地屏蔽了分布式系统的复杂性。这里列举了一些在后台自动执行的操作:分配文档到不同的容器 或 分片 中,文档可以储存在一个或多个节点中按集群节点来均衡分配这些分片,从而对索引和搜索过程进行负载均衡复制每个分片以支持数据冗余,从而防止硬件故障导致的数据丢失将集群中任一节点的请求路由到存有相关数据的节点集群扩容时无缝整合新节点,重新分配分片以便从离群节点恢复节点:一个运行中的 Elasticsearch 实例称为一个 节点,集群是由一个或者多个拥有相同 cluste

2021-12-27 21:27:38 2112

原创 Elasticsearch原理

简介与原理Elasticsearch是一个基于Lucene库的搜索引擎。Elasticsearch是最受欢迎的企业搜索引擎Elasticsearch 是一个实时的分布式搜索分析引擎,它被用作全文检索、结构化搜索、分析以及这三个功能的组合Elasticsearch 属于面向文档的数据库Elasticsearch 有2.x、5.x、6.x 三个大版本搜索的原理——倒排索引(反向索引)、分析、相关性排序倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引

2021-12-27 21:18:16 2196

原创 IM即时通讯

即时通讯(Instant Messaging)是一种基于互联网的即时交流消息的业务。类型可分为两种:在线推送适用:web页面 和 App自己构建IM服务器使用WebSocket 采用成熟的框架方案Socket.IO 对于App还可自己封装socket使用第三方IM服务商提供的服务离线推送适用:App对于iOS,使用APNs对于andorid,使用FCM(国外)或第三方IM服务商提供的服务提供第三方IM服务的服务商有:网易、融云…需求场景:服务器主动给客户端推送消息用户下了订单,

2021-12-27 21:06:31 3260

原创 RPC远程调用

1.啥是RPC?远程过程调用(英语:Remote Procedure Call,缩写为 RPC,也叫远程程序调用)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。广义我们可以将所有通过网络来进行通讯调用的实现统称为RPC。按照这样来理解的话,那我们发现HTTP其实也算是一种RPC实现。狭义区别于HTTP的实现方式,在传输的数据格式上和传输的控制上

2021-12-27 20:45:41 2345

原创 APScheduler定时任务

APScheduler (advanceded python scheduler)是一款Python开发的定时任务工具。文档地址 https://apscheduler.readthedocs.io/en/latest/userguide.html#starting-the-scheduler特点:不依赖于Linux系统的crontab系统定时,独立运行可以动态添加新的定时任务,如下单后30分钟内必须支付,否则取消订单,就可以借助此工具(每下一单就要添加此订单的定时任务)对添加的定时任务可以做持

2021-12-27 20:03:07 2753

原创 缓存穿透和雪崩

1) Cache Aside更新方式先更新数据库,再更新缓存。这种做法最大的问题就是两个并发的写操作导致脏数据。两个并发更新操作,数据库先更新的反而后更新缓存,数据库后更新的反而先更新缓存。这样就会造成数据库和缓存中的数据不一致,应用程序中读取的都是脏数据。先删除缓存,再更新数据库。这个逻辑是错误的,因为两个并发的读和写操作导致脏数据。假设更新操作先删除了缓存,此时正好有一个并发的读操作,没有命中缓存后从数据库中取出老数据并且更新回缓存,这个时候更新操作也完成了数据库更新。此时,数据库和缓存中的数据不

2021-12-27 19:33:58 2105

原创 缓存有效期与淘汰策略

有效期 TTL (Time to live)设置有效期的作用:节省空间做到数据弱一致性,有效期失效后,可以保证数据的一致性Redis的过期策略三种:定时过期每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。 setex('a', 300, 'aval') setex('b', 600, 'bval')惰性过期只有当访问一个key时,才会判断该ke

2021-12-26 22:00:21 2233

原创 缓存的设计

缓存架构脑中的直观反应计算机体系结构中的缓存多级缓存SQLAlchemy起到一定的本地缓存作用在同一请求中多次相同的查询只查询数据库一次,SQLAlchemy做了本地缓存(类似Django中的Queryset查询结果集)使用Redis构建一层缓存缓存数据在设计缓存的数据时,可以缓存以下类型的数据例如:验证码、用户状态 如:user:{user_id}: enable数据库记录:Caching at the object level以数据库对象的角度考虑, 应用更普遍例如,

2021-12-26 21:51:44 2505

原创 CDN理解

CDN全称:Content Delivery Network或Content Distribute Network,即内容分发网络是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。基本思路尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据

2021-12-26 21:38:20 2201

原创 对象存储(七牛云)

需求:如用户头像、文章图片等数据需要使用文件存储系统来怎么保存呢?方案:自己搭建文件系统服务选用第三方对象存储服务今天我们就以七牛云为例:http://www.qiniu.com使用:注册新建存储空间使用七牛SDK完成代码实现七牛Python SDK 网址 [https://developer.qiniu.com/kodo/sdk/1242/python](https://developer.qiniu.com/kodo/sdk/1242/python)安装SDKpip insta

2021-12-26 21:34:19 2551

原创 JWT禁用问题

需求:token颁发给用户后,在有效期内服务端都会认可,但是如果在token的有效期内需要让token失效,该怎么办?此问题的应用场景:用户修改密码,需要颁发新的token,禁用还在有效期内的老token后台封禁用户解决方案在redis中使用set类型保存新生成的tokenkey = 'user:{}:token'.format(user_id)pl = redis_client.pipeline()pl.sadd(key, new_token)pl.expire(key, token有

2021-12-26 21:26:49 2291

原创 Python的JWT库

独立的JWT Python库itsdangerousJSONWebSignatureSerializerTimedJSONWebSignatureSerializer (可设置有效期)pyjwthttps://pyjwt.readthedocs.io/en/latest/安装 pip install pyjwt实例:import jwtencoding_jwt = jwt.encode({'some':'payload'},'secret',algorithm='HS256')pr

2021-12-26 21:21:08 2819

原创 JWT & JWS & JWE

JWT & JWS & JWEJson Web Token(JWT)JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在两个组织之间传递安全可靠的信息。现在网上大多数介绍JWT的文章实际介绍的都是JWS(JSON Web Signature),也往往导致了人们对于JWT的误解,但是JWT并不等于JWS,JWS只是JWT的一种实现,除了JWS外,JWE(JSON Web Encryption)也是JWT的一种实现。JWT与JWE的两种实现方式:

2021-12-26 21:04:40 1740

原创 Redis高级使用

1 Redis事务Redis提供了一定的事务支持,可以保证一组操作原子执行不被打断,但是如果执行中出现错误,事务不能回滚,Redis未提供回滚支持。multi 开启事务exec 执行事务例如:127.0.0.1:6379> multiOK127.0.0.1:6379> set a 100QUEUED127.0.0.1:6379> set b 200QUEUED127.0.0.1:6379> get aQUEUED127.0.0.1:6379> ge

2021-12-26 20:58:20 1601

原创 数据库优化

数据库优化

2021-12-26 20:39:20 1095

空空如也

空空如也

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

TA关注的人

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