自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猴子饲养员的博客

爱Python,爱生活

  • 博客(81)
  • 收藏
  • 关注

原创 巨坑,Mac M1 pip install mysqlclient失败,那就换条路走吧

突发奇想,不用mysqlclient了,本地找个替代品。使用pymsql ,完全没毛病啊!试了网上的所有方法,什么安装gcc openssl,重装Python都不行,心累。加在本地config文件中即可(也不影响测试服线上什么的),本地终于可以跑起来了😭。

2023-05-10 16:33:20 342

原创 FFmpeg 的使用

FFmpeg是一个流行的开源音视频处理工具,支持多种音视频格式的解码、编码、转换等功能。

2023-04-03 18:36:40 2067

原创 docker常用命令

列举了实际开发中的docker常用命令

2023-02-07 14:55:00 193

原创 charles 如何抓HTTPS的包 - Mac版

修改Charles为Mac系统代理安装root证书改为始终信任,该步骤可能需要输入Mac密码,放心大胆的输入吧将https的域名设置为enable5. 有新的请求进来就可以看到啦,该域名前面的icon没有🔐的标志了...

2022-04-10 15:33:45 423

原创 python websocket 接入的设计方案、核心代码

需求场景:在用户登陆后,与前端保持websocket的连接,进行前后交互,比如:消息通知参考官方文档:https://websockets.readthedocs.io/en/stable/intro.html使用版本python 3.8 websockets==8.1redis==3.5.3websocket 安装pip install websockets主要设计方案用户:websocket 对象存储格式,存在内存中, 以用户id为key, value是websock.

2020-12-08 18:19:52 782

原创 redis 监控常用参数

参考官方文档:https://redis.io/commands/info每秒获取一次数据,存入数据库,用grafana面板展示,即可生成监控大盘例如监控项,通过info命令来筛选,常用的如下:服务端:uptime_in_seconds:自Redis服务器启动以来的秒数uptime_in_days:自Redis服务器启动以来的天数客户端:connected_clients:客户端连接数(不包括来自副本的连接)cluster_connections:集群总线使用的套接字数量的近似值

2020-11-10 23:12:24 1947

原创 Redis 类型系统那些事

Redis 类型系统主要功能包括:redisObject 对象。基于 redisObject 对象的类型检查。基于 redisObject 对象的显式多态函数。对 redisObject 进行分配、共享和销毁的机制。1 redisObjecttypedef struct redisObject { // 类型 unsigned type:4; // 对齐位 unsigned notused:2; // 编码方式 unsigned enc

2020-10-13 18:31:15 124

原创 PEP 591-python中 Final 最终限定符 使用规范

来源:https://www.python.org/dev/peps/pep-0591/添加final目的声明不应重写的方法声明一个类不应该被子类化声明不应重新分配变量或属性@final 使用方法typing.final装饰用来限制使用继承from typing import final@finalclass Base: ...class Derived(Base): # Error: Cannot inherit from final class "Base"

2020-10-09 18:28:36 3044 1

原创 python3.8 typing 使用规范

参考来源:https://docs.python.org/zh-cn/3.8/library/typing.html入参出参规则一致简单变量直接返回,例如:str int float bool若返回代码中或第三方包的类/实例,则使用导入类class A: passdef test() -> A: a = A() return a若代码中对象(变量/类/方法)不可变更/继承,则必须尽量(最好、必须)使用Final声明,详情使用方法参阅https://www.

2020-10-09 16:35:22 2111 1

原创 celery中的 task_time_limit 和 task_soft_time_limit

本周,项目里突然爆出几个任务失败的告警,失败任务也没进死信,就这么丢了,经过排查,发现了这两个配置项的坑。两个配置项都是默认无时间限制, 单位:秒区别task_time_limit:hard模式,如果配置了10s, 10s内 task 没有执行结束,则处理这个task会被杀掉,并继续执行其他新的 tasktask_soft_time_limit:soft 模式,如果配置了10s, 10s内 task 没有执行结束,可以在 task 内捕获这个异常,并处理。也可以在全局处理,进行重试或扔死信队列等

2020-08-25 17:32:55 4602

原创 唠唠python的协程 分享

2020-06-29 16:31:45 145

原创 项目管理笔记-第十二章 项目采购管理

1、项目采购管理包括从项目团队外部采购或获取所需产品、服务或成果的各个过程,包括编制和管理协议所需的管理和控制过程,例如:合同、订购单、协议备忘录(MOA)、服务水平协议(SLA)。被授权采购的可以是项目团队、管理层或组织采购部的成员。2、项目采购管理过程包括: 12.1 规划采购管理:记录项目采购决策、明确采购方法,及时识别潜在卖方的过程。 12.2 实施采购:获取卖方应...

2020-02-23 17:45:03 1165

原创 项目管理中的各种技术,分析图(简介+应用子过程)

各种技术1、德尔菲技术:专家匿名/背靠背做独立判断,几轮反馈后使意见逐渐趋同用于:收集需求2、名义小组技术:专家面对面,通过投票来排列最有用的创意,以便进一步的头脑风暴优先排序。是头脑风暴的深化应用。用于:收集需求3、会议:焦点小组和引导的区别:焦点小组是同职能开会 ,引导是跨职能部门开会4、参数估算:利用历史数据之间的统计关系和其他变量,估算如成本、预算、持续时间等活动参...

2020-02-18 21:00:19 3805

原创 项目管理笔记-第十一章 项目风险管理

1、项目风险管理目的在与提高正面风险的概率和影响,降低负面风险的概率和影响,从而提高项目成功的可能性。过程包括: 11.1 规划风险管理:定义如何试试项目风险管理活动的过程。 11.2 识别风险:识别单个项目风险,以及整体项目风险的来源,并记录风险特征的过程。 11.3 实施定性风险分析:通过评估单个项目风险发生的概率和影响以及其他特征,对风险进行优先级排序,从而为后...

2020-02-18 20:46:50 2278

原创 项目管理笔记-第十三章 项目相关方管理

1、项目相关方管理包括识别能够影响项目或会受项目影响的人员、团体或组织,分析相关方对项目的期望和影响,制定合适的管理策略来有效调动相关方参与项目的决策和执行。其过程包括: 13.1 识别相关方:识别相关方是定期识别项目相关方,分析和记录他们的利益、参与度、相互依赖性、影响力和对项目成功的潜在影响的过程。 13.2 规划相关方参与:规划相关方参与是根据相关方的需求、期望、利益和对...

2020-02-09 18:18:07 1720

原创 项目管理笔记-第十章 项目沟通管理

1、项目沟通管理:包括通过开发工作,以及执行用于有效交换信息的各种活动,来确保项目以及相关方的信息需求得以满足的各个过程。由两个部分组成:制定策略,确保沟通对相关方行之有效;执行必要活动,以落实沟通策略。2、项目沟通管理的过程包括: 10.1 规划沟通管理:基于每个相关方或相关方群体的信息需求、可用的组织资产,以及具体项目的需求,为项目沟通活动制定恰当的方法和计划的过程。 ...

2020-02-08 16:47:47 1646

原创 项目管理笔记-第九章 项目资源管理

1、项目资源管理包括识别、获取和管理所需资源以完成项目的各个过程。2、实物资源包括:设备、材料、设施、基本设施。3、团队资源或人员指的是资源。4、项目资源管理的过程包括: 9.1 规划资源管理:定义如何估算、获取、管理和利用实物以及项目资源的过程。 9.2 估算活动资源:估算执行项目所需的团队资源,以及材料、设备和用品的类型和数量的过程。 9.3 获取资源...

2020-02-08 00:39:16 2203

原创 项目管理笔记-第八章 项目质量管理

1、项目质量管理包括把组织的质量政策应用于规划、管理、控制项目和产品质量要求,以满足相关方目标的各过程。2、质量管理以执行组织的名义支持过程的持续改进活动,包括:8.1 规划质量管理:识别项目及其和交付成果的质量要求、标准,并书面描述项目将如何证明符合质量、标准的过程。8.2 管理质量:把组织的质量政策用于项目,并将质量管理计划转为可执行的质量活动的过程。8.3 控制质量:为了评估...

2020-02-05 20:36:14 918

原创 项目管理笔记-第七章 项目成本管理

1、成本管理包括为使项目在批准的预算内完成而对成本进行规划、估算、预算、融资、筹资、管理、控制的各过程,从而确保项目在批准的预算内完工。过程包括: 7.1 规划成本管理:确定如何估算、预算、管理、监督、控制项目成本的过程。 7.2 估算成本:对完成项目活动所需货币资源进行近似估算的过程。 7.3 制定预算:汇总所有单个活动或工作包的估算成本,建立一个经批准的成本基准的...

2020-02-03 22:23:15 812

原创 项目管理笔记-第六章 项目进度管理

1、进度管理:说明项目如何以及何时交付项目范围中定义的产品、服务和成果,是一种用于沟通和管理相关方期望的工具,为绩效报告提供了依据。过程包括: 6.1 规划进度管理:为规划、编制、管理、执行、控制项目进度而制定政策、程序、文档的过程。 6.2 定义活动:识别和记录为完成项目可交付成果而需采取的具体行动的过程。 6.3 排列活动顺序:识别和记录项目活动之间的关系的过程。...

2020-02-03 17:27:02 852

原创 项目管理笔记-第五章 项目范围管理

1、范围管理确保项目做且只做所需的工作,项目范围管理过程包括: 5.1 规划范围管理:为记录如何定义、确认和控制项目范围及产品范围,而创建范围管理计划的过程。 5.2 收集需求:为实现项目目标而确定、记录并管理相关方的需要和需求的过程。 5.3 定义范围:制定项目和产品详细描述的过程。 5.4 创建WBS:将项目可交付成果和项目工作分解为较小的、更易于管理的...

2020-02-02 19:19:39 463

原创 项目管理笔记-第四章 项目整合管理

1、项目整合管理:包括为识别、定义、组合、统一、协调项目管理过程组的各过程及项目管理活动而进行的各种过程和活动。2、项目整合管理包括进行以下选择:资源分配;平衡竞争需求;研究各种备选方案;为实现项目目标而裁剪过程;管理各个项目知识领域之间的依赖关系。3、项目整过管理子过程: - 4.1 制定项目章程:编写一份正式批准项目并授权项目经理在项目活动中使用组织资源的文件的过程。 ...

2020-02-01 20:51:14 1228

原创 项目管理笔记-第三章 项目经理的角色

1、职能经理:专注于某个职能领域或业务部门的管理监督。2、运营经理:负责保证业务运营的高效性。3、项目经理: 由执行组织委派,领导团队实现项目目标和相关方期望。 充当发起人,团队成员及其他相关方的沟通者。 使用软技能(人际关系技能/人员管理技能等)来平衡项目相关方之间相互冲突和竞争的目标,以达成共识。 前2%的优秀项目经理:展示了超凡的人际关系技能和...

2020-01-31 21:42:23 424

原创 项目管理笔记-第二章 项目运行环境

1、项目运行环境可能造成的影响主要分为:事业环境因素EEF(来自组织的内部和外部)、组织过程资产OPA(组织内部)2、事业环境因素:项目团队不能控制的,将对项目产生影响、限制或指令的各种条件。组织内部:组织文化、结构和治理;设施资源分布;基础设施;信息技术软件;资源可用性;员工能力组织外部:市场条件;社会文化影响与问题;法律限制;商业数据库;学术研究;政府或行业标准;财务考虑因素;物业...

2020-01-31 00:28:50 334

原创 项目管理笔记-第一章 引论

1、PMP(Project Management Professional) 是项目管理专业人士资格认证,由美国 PMI(Project Management Institute项目管理协会)在1969年发起。80年代第一版 PMBOK(Project Management Book Of Knowledge) 发行,最近的为2018.05的第六版。2、《道德与专业行为规范》包含期许标准和强制...

2020-01-30 23:11:49 429 1

原创 记一个搞笑且牛逼轰轰的可以纠正控制台命令的 thefuck

第一次看见这个名字,也是醉了,真是直白啊,赤裸裸的写出了由于拼写错误而执行失败的命令的心声。闲来试用了一下,感觉还是很不错的。所需环境python (3.4+)pippython-dev安装支持多平台多种安装方式, 可以自由选择OS/Linuxbrew 可以依赖 Homebrew/Linuxbrewbrew install thefuckUbuntu / Mintsud...

2020-01-29 23:42:49 385

原创 Docker 部署 Flask 应用实践

打开docker在项目目录下编写 DockerFile 文件,以下是我项目中DockerFile文件,并对每一行进行解读FROM python:3.6 # 项目的基础镜像为 python3.6EXPOSE 8080 # docker的指定出口端口为8080RUN mkdir /project_name # 创建项目的目录COPY . /project_name/ # 将...

2019-12-24 12:03:11 774

原创 celery 自定义数据持久化方案

文章主要以自己现在写的项目举例,提供自定义异步任务数据持久化的一个思路,具体如何执行还要参考每个项目的具体情况。版本Flask==0.10.1celery==3.1.18celery 自定义数据持久化方案由于当前使用MySQL存储任务即可完成日常检索需求,故使用MySQL来做任务的持久化。如果有复杂检索的需求,可以使用 elasticsearch 来存储数据,可以更方便的实现 U...

2019-11-06 15:30:36 1431 4

原创 celery broker 迁移 (Redis 迁移至 RabbitMq)

背景项目中一直使用 Redis 作为 celery 的 broker,会出现偶发的任务重复执行的情况,再加上一直没有队列的监控工具,任务没有持久化,存在一定的风险。故开启了 broker 由 Redis 迁移至 RabbitMq 的路程。如何无缝迁移 ?由于不能停服迁移,最大的问题就变成了如何保证原有 Redis 中的任务都能正常执行完成,且新的任务在 rabbitmq 中正常运转。话说 ...

2019-11-06 11:20:06 861

原创 python 内置函数一览

int(x, base=10) 将一个字符串或数字转换为整型, 默认十进制>>> int('120')120>>> int(120.12)120>>> int('10', base=16)16str() 将对象转化为适于人阅读的形式,即字符串# 数字转中文>>> str(100)'100'# unico...

2019-09-30 14:42:52 427

原创 python 中 set 集合支持的操作

集合是一个无序的不重复的可迭代对象,集合中的元素都是可哈希的(不可变的)set([iterable]) 初始化一个集合>>> set()set()>>> set([1,2,3,2,4]){1, 2, 3, 4}add(self, *args, **kwargs) 往集合里添加元素>>> a = {1,2,3}>>...

2019-09-27 19:15:23 144

原创 Flask 源码解析之 route 规则的实现

Flask 的 route 的原理如果大家去看 flask 库的第一个commit,可能会很好理解,现在的Flask 也是延续了这个设计,源码如下:def route(self, rule, **options): """A decorator that is used to register a view function for a given URL rule. Exam...

2019-09-12 14:20:13 292

原创 开发常用 Git 命令

文章目录新建代码库git配置git addgit rm改名git mvgit commit分支建立追踪新建分支合并删除分支更改远端仓库合并 commitgit tag查看信息远程同步撤销 git checkoutgit resetgit stash新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [proje...

2019-08-21 15:01:06 158

原创 浅谈开发的角度对项目规划、项目管理的理解

规划即流程,以下内容按照阶段划分,每个阶段的界限并不是说完全明了,可以有部分交叉重叠针对开发参与者来讲,我觉着主要分为以下五个阶段:一、需求阶段:由于角色不同所以分工不同,大概流程分为以下三步:1、产品提出需求概略2、开发负责人进行大概模块拆分3、产品根据模块进行需求细化二、设计阶段:1、开发产出概要设计,包括模块拆分,以及模块细化2、开发根据概要设计,产出详细设计,主要步骤为:功...

2019-08-15 10:56:12 418

原创 python debug新姿势 -- pysnooper

一般情况下,在项目中都用 Pycharm 来进行debug, 但是不方便的时候怎么办呢? 还用老旧的 logger 吗?今天发现 pysnooper 的工具,真是超级方便,可以把函数每一步执行的输出都打到文件中。首先,你要安装它pip install pysnooper然后,使用它, pysnooper 可以以装饰器的方式放到你想debug的函数上,然后指定输出文件, 也可以不输出,...

2019-07-31 11:19:59 326

翻译 presto 语法攻略

最近用presto引擎查数据,发现了语法和MYSQL,PG的稍许区别,写此文章留念~~文章目录1 数据类型2 SELECT 搜索查询2.1 with 子句2.2 GROUP BY 子句2.2.1 GROUP BY2.2.2 GROUPING SETS2.2.3 CUBE2.2.4 ROLLUP2.2.5 group by, clue, rollup区别2.2.6 group sets, clue...

2019-07-28 23:33:02 21241 3

原创 airflow 使用心得,从环境到部署上线

使用版本:python 3.6.8apache-airflow 1.10.3安装python 环境准备apache-airflow 对于 python 版本限制如下: requires Python '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*'# wget 用于下载源码包, gcc 和 make 用于编译yum instal...

2019-05-12 15:53:19 7295

原创 缓存穿透,缓存雪崩,缓存击穿 解决方案

一 、缓存穿透一个数据在缓存中查不到,每次发起请求就会反复去DB里查,失去了缓存的意义。如果这个不存在的数据被黑客发现,对应用发起攻击,这就是漏洞。缓存穿透解决方案1 布隆过滤器原理布隆过滤器(Bloom Filter)的核心实现是一个超大的位数组和几个哈希函数。假设位数组的长度为m,哈希函数的个数为3,假设集合里面有3个元素{x, y, z}。首先将位数组每个位都初始化为0。对于集合...

2019-03-28 22:17:12 313

原创 单体应用和微服务对比

单体应用适合场景:1 单体应用架构图:2、微服务架构图微服务,服务调用基本组件:服务描述,注册中心,服务框架,服务追踪,服务治理3 、 单体应用与微服务架构优缺点单体应用有如下优点:为人所熟知:现有的大部分工具、应用服务器、框架和脚本都是这种应用程序;IDE友好:像 NetBeans、Eclipse、IntelliJ 这些开发环境都是针对开发、部署、调试这样的单个应用而设计的...

2019-03-27 09:26:24 2985

原创 读书笔记-互联网创业核心技术(构建可伸缩的Web应用)

文章目录核心概念,单一服务器到更强的服务器垂直伸缩服务分离内容分发网络(CDN)分散访问流量:水平伸缩服务全球用户的伸缩性架构。分层架构支持技术软件设计原则核心概念,单一服务器到更强的服务器垂直伸缩通过使用RAID增加I/O吞吐能力通过切换SSD改善I/O访问速度通过增加内存减少I/O操作(意味着文件系统有更多的缓存空间,应用程序有更多的工作内存)通过升级/增加网络接口提高网络吞吐能...

2019-03-06 20:43:40 536

空空如也

空空如也

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

TA关注的人

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