- 博客(82)
- 收藏
- 关注
原创 CORS 请求代理的实现
当我们请求第三方的资源时,常常收到跨域的限制,而我们有无法去修改对方的服务器设置来允许我们的访问,我们就可以使用代理请求服务器来帮我们实现跳过跨域限制。
2024-08-17 17:59:57 467
原创 django 实现:闭包表—树状结构
闭包表(Closure Table)是一种通过空间换时间的模型,它是用一个专门的关系表(其实这也是我们推荐的 归一化方式)来记录树上节点之间的层级关系以及距离。实现一个文件树,文件夹直接可以实现无限嵌套。
2023-09-25 17:29:02 731
转载 shell脚本实现mysql完全备份、增量备份、检查过期备份清理
这是一个一个完整的示例,包含了完全备份、增量备份、事务日志备份、备份完整性检查、备份恢复测试和过期备份清理的代码
2023-09-08 10:59:47 256
转载 Nginx 常用配置及和基本功能讲解
Nginx 已经广泛应用于 J-one 和 Jdos 的环境部署上,本文对 Nginx 的常用的配置和基本功能进行讲解,适合 Nginx 入门学习。
2023-07-14 12:30:17 96
原创 踩坑之路:Dockerfile执行ENTRYPOINT指令之后没有执行CMD指令
当容器被挂起的之后自动执行了。格式就可以了,不知道为啥。脚本,然后就停止了。
2023-07-07 17:09:43 840
原创 本地 Docker Registry 的安装与使用
v:把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;如果要在其它装了 docker 的电脑上获取这个镜像, 或者下载局域网其它 registry 服务器上的镜像,直接使用http是不被允许。unless-stopped:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器。on- failure:3 :在容器非正常退出时重启容器,最多重启3次。
2023-07-02 15:12:01 1162
转载 Mysql索引失效场景
为了方便学习和记忆,这篇文件将常见的15种不走索引情况进行汇总,并以实例展示,帮助大家更好地避免踩坑。建议收藏,以备不时之需。
2023-05-03 13:09:27 299
转载 collections模块常用拓展数据类型
除内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。
2022-08-19 18:31:27 213
转载 Redis-大key删除法
redis大key是让人比较头疼的问题,如果线上redis出现大key,断然不可立即执行,因为大key的删除会造成阻塞。阻塞期间,所有请求都可能造成超时,当超时越来越多,新的请求不断进来,这样会造成redis连接池耗尽,尽而引发线上各种依赖redis的业务出现异常。...
2022-06-14 14:58:05 3348
转载 Redis的发布/订阅模型(pubsub)
为什么还要发布订阅模型?前面我们讲了Redis消息队列的使用方法,但是没有提到Redis消息队列的不足。Redis消息队列的一个很大的不足就是无法支持消息的多播机制,正因为如此,Redis才提出了发布订阅模型!消息多播消息多播允许生产者值生成一次消息,由中间件负责将消息复制到多个消息队列中,每个消息队列由相应的消费组进行消费。PubSub为了支持消息多播,Redis不能再依赖基本的数据类型实现了,它单独的使用了一个模块来支持消息多播的功能,既PubSub模块, 也就是通常我们所说的发布/订阅模型
2022-05-24 15:47:15 696
原创 Docker学习4 - docker-compose
参考:https://www.cnblogs.com/zhujingzhi/p/9786622.html参考:https://www.cnblogs.com/minseo/p/11548177.html一、Docker-compose简介1.Docker-compose简介Compose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/compose 上我们知道使用Dockerfile模板文件可以让用户很方便的
2022-05-07 15:21:17 862
原创 Docker学习3 - 镜像上传及导入导出
镜像上传1. 注册 Docker hub 账号上传镜像到DockerHub前,需要在DockerHub上注册账号。注册步骤可参考:注册 docker hub 的账号2. Linux 登录 Docker hub 账号有了Docker Hub账号后就可以进行登陆docker login [OPTIONS] [SERVER]options 说明options作用-u账号-p密码–password-stdin通过 STDIN 提供密码3.给镜像设置 TAG
2022-04-25 17:48:32 513 1
原创 Docker学习2 - Dockerfile
容器的构建方式1. 通过容器构建镜像通过容器构建是将部署好的容器,使用`docker commit`命令将该容器打包成一个镜像优点: 1. 交互性好**缺点:** 1. 每次做更改都需要再次commit来构建 2. 无法查看容器的构建历史:做过哪些更改 2. Dockerfile构建镜像Dockerfile 是一个文件,里面记录了镜像构建的步骤,它
2022-04-22 16:57:25 872
原创 Docker学习1 - Docker
Docker 在部署中的重要性直接把程序安装或部署在Linux操作系统上面,很容易引发资源冲突程序卸载不干净,导致无法安装或部署新程序每次部署之前要安装很多软件,修改复杂的配置文件无法让服务器硬件资源实现多租户服务增大了在Linux系统上部署集群和分布式的难度Vmware 和Docker的对比Vmware 是重量级虚拟机,每个虚拟机实例都虚拟了完整的硬件环境,所以对硬件要求较高Docker 是轻量级虚拟机,只虚拟了少量的硬件设备,虚拟实例共享使用Linux内核Linux之外可以用D
2022-03-03 16:49:33 1775
转载 python3中超级好用的日志模块-loguru模块详解
在部署一些定时运行或者长期运行的任务时,为了留存一些导致程序出现异常或错误的信息,通常会才用日志的方式来进行记录这些信息。在 Python 中用到日志记录,那就不可避免地会用到内置的 logging标准库 。虽然logging 库采用的是模块化设计,你可以设置不同的 handler 来进行组合,但是在配置上通常较为繁琐;而且如果不是特别处理,在一些多线程或多进程的场景下使用 logging还会导致日志记录会出现错乱或是丢失的情况。但有这么一个库,它不仅能够减少繁琐的配置过程还能实现和logging类似的
2021-08-02 18:05:29 2435 2
原创 werkzeug.routing.WebsocketMismatch异常解决办法
Traceback (most recent call last): File "D:\Users\Desktop\StockQTS\venv_stock\lib\site-packages\gevent\pywsgi.py", line 999, in handle_one_response self.run_application() File "D:\Users\Desktop\StockQTS\venv_stock\lib\site-packages\geventwebsocket\
2021-08-02 15:17:36 4617
转载 你的SQL注入攻击了吗?
什么是 SQL 注入攻击?首先我们得知道什么是 SQL 注入攻击,官方一点的说法是这样的:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。那通俗一点呢?这么来说吧,一般我们提交的表单数据(未经过滤的情况下)都会拼接到 SQL 查询语句中的,就例如:SELECT * FROM users WHERE name='zone'其中 name 参数 zone 就是从表单中传过来的数据,如果传的参数不是 zone,而是一
2021-07-30 15:38:21 102
转载 Python 操作数据库之 Peewee
Peewee系列:Peewee 使用Peewee使用之事务Peewee批量插入数据Peewee 使用(二)——增删改查更详细使用Peewee是一个简单小巧的Python ORM,它非常容易学习,并且使用起来很直观。如果想快速入门,请参考官方的Quckstart。本文,只是写今天在使用过程中的一些记录。基本知识在官方的Quckstart中,我了解到,Peewee中Model类、fields和model实例与数据库的映射关系如下:d也就是说,一个Model类代表一个数据库的表,一个Fiel
2021-07-29 17:32:12 944
原创 Python中的google authenticator 认证
环境描述python 3.7所需安装包 :pyotp qrcode Image实现原理1.使用pyotp 的python模块生成google auth 需要的密钥2.根据密钥生成条形码图片3.使用google authenticator 客户端扫描条形码,客户端根据时间及密钥经过算法 生成6位数的验证码4.平台二次认证通过对输入的验证码进行校验,校验也是基于时间和密钥代码实现import osimport tracebackimport pyotpfrom qrco
2021-07-29 15:23:08 1213
转载 Docker基本命令汇总
Docker的三大核心概念:镜像、容器、仓库镜像:类似虚拟机的镜像、用俗话说就是安装文件。容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。仓库:类似代码仓库,是Docker集中存放镜像文件的场所。1.设置docker自启动使用yum安装好docker后,设置开机启动。[root@CentOS ~]# systemctl enable docker2.docker的启动、停止、重启[root@localhost ~
2021-07-23 17:21:17 113
原创 Docker 安装和 Flask项目部署
linux 安装dockeryum在线安装在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看uname -r#3.10.0-1160.11.1.el7.x86_641. 查看是否已安装docker列表yum list installed | grep docker2. 安装dockeryum -y install docker-y表示不询问安装,直到安装成功,安装完后再次查看安装列表3. 启动dockersystemctl
2021-07-23 17:09:01 377
转载 常见几种加密算法的Python实现
生活中我们经常会遇到一些加密算法,今天我们就聊聊这些加密算法的Python实现。部分常用的加密方法基本都有对应的Python库,基本不再需要我们用代码实现具体算法。MD5加密全称:MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。md5加密算法是不可逆的,所以解密一般都是通过暴力穷举方法,通过网站的接口实现解密。Python代码:impor
2021-06-24 17:14:25 675
原创 Python3 面向对象
属性1、类属性与实例属性类属性就相当与全局变量,实例对象共有的属性,实例对象的属性为实例对象自己私有。类属性就是类对象(Tool)所拥有的属性,它被所有类对象的实例对象(实例方法)所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似。对于公有的类属性,在类外可以通过类对象和实例对象访问。2、实例:类属性 1 class People(object): 2 name = 'Jack' #类属性(公有) 3 __age = 12 #类属性(私有) 4
2021-04-13 18:39:16 123 1
转载 Python2.7 安装pip报错 sys.stderr.write(f“ERROR: {exc}“)
本文主要介绍Python2(Python 2.7)中,使用sudo python2 get-pip.py命令安装pip报错 sys.stderr.write(f“ERROR: {exc}”)的解决方法。错误信息如下:Traceback (most recent call last): File "get-pip.py", line 24226, in <module> main() File "get-pip.py", line 199, in main bootst
2021-03-19 19:10:46 744 1
原创 Linux 安装Python 3.7.6
1.下载安装包在https://www.python.org/ftp/python/中选择自己需要的python源码包,我这选用的是python 3.7.61.下载wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz2. 解压tar -zxvf Python-3.7.6.tgz3. 建立一个空文件夹,用于存放python3程序mkdir /usr/local/python34. 执行配置文件,编译,编译安装cd P
2021-03-19 17:43:10 728
转载 Python JSON WEB TOKEN
JSON Web Tokens ,是一种开发的行业标准RFC 7519 ,用于安全的表示双方之间的声明。1、jwt认证流程传统token方式和jwt认证方式有什么差异?传统token方式用户登录成功后,服务端生成一个随机的token给用户,并且在服务端(数据库或缓存)中保存一份token,以后用户再来访问时需要携带token,服务端接收到token之后,去数据库或缓存中进行校验token的是否超时、是否合法jwt方式用户登录成功后,服务端通过jwt生成一个随机token给用户(服务端无需
2021-03-16 15:35:44 256
原创 flask 数据库迁移过程中保留现有的表
我们开发过程中,每当使用flask-migrate 进行数据迁移时,总会将数据库原有的表全部删除。那是因为在 alembic的设定中:如果目标数据库有许多不属于元数据的表,自动生成过程通常会假定这些表是要删除的数据库中的无关表,并且它将为每个表执行 Operations.drop _ table ()操作。为了防止这种情况,可以使用 EnvironmentContext.configure.include _ name 钩子进行过滤:# ./migrations/env.pyfrom flask i
2021-03-15 13:10:19 484 2
原创 Python中使用 WebSocket 和 SSE 实现 HTTP 服务器消息推送
很多时候我们需要实时获取最新数据,但是传统意义上的HTTP请求,必须由客户端向服务端发起请求,服务端再返回相应的数据。那如果我们需要获取实时数据,就要通过HTTP轮询,客户端不间断的向服务器发起请求。这样不断的的请求不但严重加大服务器的压力,还可能因为网络延迟而影响数据的时效性。下面介绍两种方法能够很好的满足业务的需求。一、WebSocketWebSocket是HTML5开始提供的一种在单个 TCP 链接上进行全双工通信的协议。优点:双工通信缺点:需专门定义数据协议,解析数据流,且部分服务器支持不完
2021-03-12 15:20:33 9601 1
转载 以太坊(ETH)Linux(Cent os7)(geth)部署
根据需求下载自己的版本(我是geth-linux-amd64-1.9.7)版本地址:https://ethereum.github.io/go-ethereum/downloads/进入mnt目录(可以自己选择目录)创建以太坊目录并进入该目录# cd mnt# mkdir ethereum# cd ethereum用wget命令下载安装包并解压# wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.9
2021-01-02 21:58:33 735
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人