Python
有糖爱辣条呀丶
Overcome yourself and challenge yourself!
展开
-
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 · 844 阅读 · 0 评论 -
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 · 564 阅读 · 0 评论 -
Supervisor使用详解
一、supervisor简介Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为superviso原创 2021-03-03 15:55:39 · 1051 阅读 · 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 · 142 阅读 · 0 评论 -
Azkaban的调度任务执行失败钉钉,短信提醒(二)
场景Azkaban默认的异常提醒为邮件提醒,但在实际工作中邮件并不那么方便。于是azakabn调度任务失败及删除定时任务时都需要钉钉,短信提醒等。引入因为考虑到azakabn的默认方法为邮件提醒,若改为钉钉提醒需要更改源码,但源码被编译过。然后我就想到从MySQL的触发器http请求主动通知业务系统(mysql-udf-http)。一、MySQL的触发器什么是触发器触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完原创 2020-10-27 17:52:28 · 2428 阅读 · 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 · 462 阅读 · 0 评论 -
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 · 448 阅读 · 0 评论 -
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 · 165 阅读 · 0 评论 -
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 · 7547 阅读 · 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 · 541 阅读 · 0 评论 -
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 · 1935 阅读 · 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 · 4424 阅读 · 0 评论 -
Python实现签名去除字典中的键值对的冒号后的空格方法
Python实现签名去除字典中的键值对的冒号后的空格方法 最近遇到一个比较怪的签名方式,先采用了正则匹配,发现不行。之后发现使用字符串的replace方法可以实现。代码实例import collectionsfrom hashlib import md5import jsonpramrs = { "action": "wanyilian.distributor.order.cre...原创 2019-03-08 09:19:52 · 3344 阅读 · 0 评论 -
关于pip安装virtualenv虚拟环境出现的Permission denied问题及虚拟环境安装步骤
关于pip安装virtualenv虚拟环境出现的Permission denied问题及虚拟环境安装步骤系统:Ubuntu 16.04错误产生截图:原因:虚拟环境安装的目录所属用户非当前用户解决办法:将目录及其文件的所有者改为当前用户解决命令:sudo chown -R 当前用户 待更改用户的目录/ 当前用户查看命令:whoami实例截图:安装成功!虚拟环境的安装安装命令...原创 2019-03-11 11:33:54 · 3490 阅读 · 0 评论 -
谷歌身份验证器(Google Authenticator)的使用详情
谷歌身份验证器(Google Authenticator)前言Google Authenticator,是谷歌推出的一款动态口令工具,解决大家的google账户遭到恶意攻击的问题;许多安全性比较高的网站都会采用这种工具来验证登录或者交易;这个动态口令就是Google身份验证器每隔30s会动态生成一个6位数的数字。它的作用是:对你的账号进行“二步验证”保护,或者说做一个双重身份验证,来达到提升安...原创 2018-11-08 10:10:05 · 40349 阅读 · 2 评论 -
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 · 6748 阅读 · 3 评论 -
Python实现日周月排行榜
Python根据当前时间实现日周月排行榜前言根据各种时间模块和Python内置函数实现,换算的步骤比较简单,逻辑比较多,仅供参考。代码写的比较喽,参考下思路就好,测试过,功能都能实现,自己可以去优化。这是用Django框架实现的。直接怼代码!import calendarimport timefrom datetime import datetime, timedelta, date...原创 2018-10-23 14:12:18 · 1071 阅读 · 0 评论 -
Python实现md5二次及多次加盐加密
Python实现md5(md5()+salt)加密原理:在第一次md5加密后,再加盐进行二次md5加密用处:一般用在密码,交易密码之类的密码安全和验证(将前端传入的密码参数进行md5(md5()+salt)加密与数据库中保存的数据进行对比,如果相同则密码验证成功, 银行的交易密码就是进行多次sha256和MD5的多次加盐加密校验)简单代码示例:from hashlib import...原创 2018-10-22 15:30:07 · 2336 阅读 · 0 评论 -
Python--长连接与短链接(TCP)
@ HTTP的长连接和短连接本质上是TCP长连接和短连接1.短链接 浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话。(1)client向server 发起连接请求 (2)...原创 2018-10-22 15:16:31 · 5285 阅读 · 2 评论