自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis最全说明

缓存雪崩概念:是指缓存在同一时间大面积失效,导致后面的请求全部落在数据库上,造成数据库短时间内承受大量请求而崩掉。场景:缓存失效、缓存重启等解决方案1、缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生;2、给每一个缓存数据增加相应的缓存标记,记录缓存是否失效,如果缓存标记失效,则更新数据缓存;弊端:比较消耗性能,需要一直监控缓存。3、缓存预热:在启动系统之前写一个接口把热点数据放到缓存中再启动服务;4、互斥锁:缓存穿透概念:是指缓存和数据库中都没有数据,导致所有请求都落在数据库

2021-06-03 19:54:07 131

原创 2021-05-19

这里写自定义目录标题Python基础编1、列表list的底层实现2、字典底层的实现:3、Python的反射机制:4、python的魔法方法:5、类对象,实例对象,类变量,实例变量,类方法,实例方法,静态方法,元类6、单例模式7、Python中的作用域及命名空间8、read,readline和readlines及大数据读取处理9、拷贝10、pickle模块11、Python参数的传递12、位运算:13、协程:14、isinstance() 与 type() 区别:Python基础编1、列表list的底层实

2021-05-19 18:59:18 264

原创 Python总结常见算法题

import collectionsimport randomfrom collections import defaultdictclass Ten_classics_arithmetic(object): '''十大经典算法''' def bubbleSort(self, nums): '''冒泡排序''' for i in range(len(nums) - 1): # 遍历 len(nums)-1 次 for j

2021-03-17 17:41:43 516

原创 Supervisor使用详解

一、supervisor简介Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为superviso

2021-03-03 15:55:39 1022 1

原创 docker安装Jenkins及基本使用

docker安装Jenkins及基本使用Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins的官方网站一、docker安装docker pull jenkins/jenkins # 拉取镜像二、挂载及授权创建Jenkins挂载目录并授权权限(我们在服务器上先创建一个jenkins工作目录 /var/jenkins_mount,赋予相应权限,稍后我们将jenkins容器目录挂

2021-02-05 16:30:17 119

原创 Azkaban的调度任务执行失败钉钉,短信提醒(二)

场景Azkaban默认的异常提醒为邮件提醒,但在实际工作中邮件并不那么方便。于是azakabn调度任务失败及删除定时任务时都需要钉钉,短信提醒等。引入因为考虑到azakabn的默认方法为邮件提醒,若改为钉钉提醒需要更改源码,但源码被编译过。然后我就想到从MySQL的触发器http请求主动通知业务系统(mysql-udf-http)。一、MySQL的触发器什么是触发器触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完

2020-10-27 17:52:28 2291 1

原创 Azkaban的安装,集群及使用(一)

Azkaban的介绍:Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。功能特点:1、Web用户界面2、方便上传工作流3、方便设置任务之间的关系4、调度工作流5、认证/授权(权限的工作)6、能够杀死并重新启动工作流7、模块化和可插拔的插件机制8、项目工作区9、工作流和任务的日志记录和审计Azkaba

2020-10-22 10:29:21 397

转载 简历的优化

转载:https://blog.csdn.net/WANXT1024/article/details/106385831

2020-08-01 15:09:41 118

原创 docker安装Rancher及添加主机

Rancher的安装1、版本1.6.302、dokcer拉取镜像方法一:docker pull rancher:v1.6.30docker run -d -p 8080:80 -p 9443:443 --restart=always --name rancher-server方法二:docker run -d -p 8080:80 -p 9443:443 --restart=always --name rancher-server rancher/rancher:v1.6.303、添加主

2020-08-01 14:38:41 1735

原创 Pycharm美观化

Pycharm美观化1、主题:pycharm 的 File -> Settings -> Plugins,搜索Material Theme UI 并安装,安装之后进行restart2、字体:File -> Settings -> Editor -> Font, Font: Source Code Pro,Size: 16, line-spacing: 1.0,apply,保存 .3、字体颜色:File -> Settings -> Editor ->

2020-07-27 16:01:58 351

原创 Python日常常用小知识

1、Python重连机制长时间没有操作数据库导致连接被数据库断开,django的orm会有缓存,以为数据库还没有断开。处理方法(多用于脚本):在exception中加入以下代码: if str(e).__contains__('MySQL server has gone away'): from django.db import connections connections['default'].close_if_unusable_or_obsolete()py

2020-07-24 10:05:55 113

原创 Docker-最好的平台

Docker基础什么是docker标准化软件单元,将软件打包到标准化单元中,以进行开发和部署。Docker是开发,运行和部署应用程序的开放管理平台开发人员能利用docker 开发和运行应用程序运维人员能利用docker 部署和管理应用程序为什么使用docker开发人员通过Docker将他们的想法变为现实保证程序运行环境的一致性;降低配置开发环境、生产环境的复杂度和成本;实现程序的快速部署和分发。docker安装官网参考:https://docs.docker.com/engine

2020-07-23 16:55:13 315

原创 docker安装ES(elasticsearch)、Kibana;几种基本使用

安装ES版本:6.8.2docker拉取: sudo docker pull elasticsearch:6.8.2 创建配置文件 在/根目录创建ES/config文件,然后创建esl.yml文件夹(ES/config/esl.yml)配置文件详情: cluster.name: elasticsearch-cluster node.name: es-node1 network.bind_host: 0.0.0.0 设置可以访问的ip network.publish_hos

2020-05-22 17:31:05 7440 2

原创 Subscribe too much celery-task-meta using Redis backend

Subscribe too much celery-task-meta using Redis backend问题原因:1、publish消息订阅 subscribe发布机制。服务端pub断开,或者主动杀死,如果客户端主动断开或者杀死的话,还是占用链接数的,客户端sub不会断开,但不会接受消息,占用连接数;2、通过redis查看的info clients连接数越来越多,不多久就会报连接数太高的异...

2019-12-17 15:15:27 485

原创 数据库安装教程及遇到的问题解析

数据库安装教程及遇到的问题解析安装系统:Ubuntu 16.04mysql版本:5.7安装步骤:1、安装(三部曲)sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclient-dev安装过程中遇到需要按Y/N的输入Y然后确定。2、检查安装情况:su...

2019-03-15 11:49:42 159 2

原创 关于pip安装virtualenv虚拟环境出现的Permission denied问题及虚拟环境安装步骤

关于pip安装virtualenv虚拟环境出现的Permission denied问题及虚拟环境安装步骤系统:Ubuntu 16.04错误产生截图:原因:虚拟环境安装的目录所属用户非当前用户解决办法:将目录及其文件的所有者改为当前用户解决命令:sudo chown -R 当前用户 待更改用户的目录/ 当前用户查看命令:whoami实例截图:安装成功!虚拟环境的安装安装命令...

2019-03-11 11:33:54 3333

原创 Python使用md5加密算法实现签名

Python使用md5加密算法实现签名 def md5_sign(dict_map, key): """md5加密算法""" d = sorted(dict_map.items(), key=lambda x: x[0]) list_l = [] for i in range(len(d)): k, v = d[i] i...

2019-03-08 09:33:57 1856 1

原创 Python使用SHA1withRsa算法实现签名

Python使用SHA1withRsa算法实现签名代码biz_content = {"amount": int(money) * 100, "pay_type": "KJ-UY", "merType": "1", "tradeName": "充值{}&quo

2019-03-08 09:29:47 4351

原创 Python实现签名去除字典中的键值对的冒号后的空格方法

Python实现签名去除字典中的键值对的冒号后的空格方法 最近遇到一个比较怪的签名方式,先采用了正则匹配,发现不行。之后发现使用字符串的replace方法可以实现。代码实例import collectionsfrom hashlib import md5import jsonpramrs = { "action": "wanyilian.distributor.order.cre...

2019-03-08 09:19:52 3260

原创 Python+Django+channels实现websocket

Python+Django+channels实现websocket前言公司需要实现一个长连接,用的Python的Django框架。研究了很长时间,发现Django+channels可以实现websocket。学习Django Channels可以访问官网:https://channels.readthedocs.io/en/latest/学习,基础写的很详细。这里记录下我实现的websocke...

2019-01-23 16:21:32 6558 3

原创 谷歌身份验证器(Google Authenticator)的使用详情

谷歌身份验证器(Google Authenticator)前言Google Authenticator,是谷歌推出的一款动态口令工具,解决大家的google账户遭到恶意攻击的问题;许多安全性比较高的网站都会采用这种工具来验证登录或者交易;这个动态口令就是Google身份验证器每隔30s会动态生成一个6位数的数字。它的作用是:对你的账号进行“二步验证”保护,或者说做一个双重身份验证,来达到提升安...

2018-11-08 10:10:05 37989 2

原创 Go语言最新版运行环境下载、安装、配置图文教程

GO语言最新版运行环境下载、安装、配置图文教程简介Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是...

2018-10-26 15:40:16 1429

转载 高并发处理

高并发处理前言一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很...

2018-10-26 14:08:18 126

原创 Python实现日周月排行榜

Python根据当前时间实现日周月排行榜前言根据各种时间模块和Python内置函数实现,换算的步骤比较简单,逻辑比较多,仅供参考。代码写的比较喽,参考下思路就好,测试过,功能都能实现,自己可以去优化。这是用Django框架实现的。直接怼代码!import calendarimport timefrom datetime import datetime, timedelta, date...

2018-10-23 14:12:18 1043

原创 Redis实现秒杀功能

用Redis实现各种秒杀功能前言个人经验总结的一些观点看法,阅读了各大平台提供的关于秒杀实现的资料,总结的仅供参考,文中有写的不对的地方请指正!秒杀设计一般处理秒杀有三种思路:分布式处理异步处理写入内存处理分布式处理分布式处理就是把大量的请求分散到多个服务器上运行,一般使用hash实现均匀分布(通过支持MD5与MurmurHash两种计算方式,默认是采用MurmurHash,高效...

2018-10-23 11:05:01 5311

转载 java实现长连接

java实现长连接package socket.keepalive.test;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.net.Socket;import ja...

2018-10-22 15:33:32 12175 4

原创 Python实现md5二次及多次加盐加密

Python实现md5(md5()+salt)加密原理:在第一次md5加密后,再加盐进行二次md5加密用处:一般用在密码,交易密码之类的密码安全和验证(将前端传入的密码参数进行md5(md5()+salt)加密与数据库中保存的数据进行对比,如果相同则密码验证成功, 银行的交易密码就是进行多次sha256和MD5的多次加盐加密校验)简单代码示例:from hashlib import...

2018-10-22 15:30:07 2201

原创 Python--长连接与短链接(TCP)

@ HTTP的长连接和短连接本质上是TCP长连接和短连接1.短链接 浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话。(1)client向server 发起连接请求 (2)...

2018-10-22 15:16:31 5191 2

原创 Phantomjs在虚拟机

Phantomjs在虚拟机访问默认去访问127.0.0.1不能正确获取到数据问题原因phantomjs内部域名解析问题, 没有找到具体原因解决方法可以直接通过访问百度的域名ip地址直接获取资源 如上图通过soocket 模块逆向解析获取域名ip 再通过得到的ip地址来获取资源import socketcur_ip = socket.gethostbyname(‘baidu.c...

2018-10-22 14:42:23 176 1

空空如也

空空如也

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

TA关注的人

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