AllardZhao
码龄5年
  • 724,406
    被访问
  • 428
    原创
  • 2,758
    排名
  • 77
    粉丝
关注
提问 私信

个人简介:学习的练习生,晓康。Python和Go语言追随者,喜欢学一些新技术,关注新技术发展动态。不断前进拥抱变化,永远确定的就是不确定。

  • 加入CSDN时间: 2016-12-28
博客简介:

晓康的博客

博客描述:
用技术推动生活方式的改变。
查看详细资料
  • 5
    领奖
    总分 1,560 当月 171
个人成就
  • 获得412次点赞
  • 内容获得111次评论
  • 获得819次收藏
创作历程
  • 90篇
    2022年
  • 92篇
    2021年
  • 234篇
    2019年
  • 12篇
    2018年
成就勋章
TA的专栏
  • Python语言
    117篇
  • Linux系统
    46篇
  • Shell 脚本编程
    54篇
  • Java语言
    31篇
  • 数据库
    36篇
  • 数据结构和算法
    38篇
  • 计算机基础
    20篇
  • 知识点杂记
    25篇
  • 自动化测试
    28篇
  • Git集中式版本管理工具
    10篇
  • Docker容器
    8篇
  • 前端Knowledge
    10篇
  • python设计模式
    8篇
  • 系统设计
    2篇
  • Go语言学习笔记
    2篇
兴趣领域 设置
  • 编程语言
    开发语言
  • 数据结构与算法
    算法
  • 大数据
    大数据
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Shell编写守护进程实现nginx服务监控

需求描述: 写一个监控nginx的脚本;如果Nginx服务宕机,则该脚本可以检测到并将进程启动;如果正常运转,则不做任何处理。1. 如何判断一个进程死掉了,分析思路如下:# Mac 启动nginx服务 ~ % sudo nginx # 通过ps -ef命令查看服务是否存在,通过grep-v参数过滤掉执行查看命令时生成grep子进程~ % ps -ef | grep nginx | grep -v grep 0 36127 1 0 11:04下午 ...
原创
发布博客 2022.05.14 ·
178 阅读 ·
0 点赞 ·
0 评论

Shell结合业务编写“字符串处理”脚本及思路分析

1、结合业务介绍编写字符串处理完整脚本需求描述:变量string="Bigdata process framework is Hadoop,Hadoop is an open source project"执行脚本后,打印输出string字符串变量,并给出用户以下选项:(1)、打印string长度(2)、删除字符串中所有的Hadoop(3)...
原创
发布博客 2022.05.14 ·
85 阅读 ·
0 点赞 ·
0 评论

Python在类中定义装饰器举例详解

1、如何在类中定义装饰器实际案例:实现一个能将函数调用信息记录到日志的装饰器:[1] 把每次函数的调用时间,执行时间,调用次数写入日志;[2] 可以对被装饰函数分组,调用信息记录到不同日志;[3] 动态修改参数,比如日志格式;[4] 动态打开关闭日志输出功能。解决方案:...
原创
发布博客 2022.05.14 ·
56 阅读 ·
0 点赞 ·
0 评论

Python实现属性可修改的装饰器详解

1、如何实现属性可修改的函数装饰器实际案例:为分析程序内哪些函数执行时间开销比较大,我们定义一个带timeout参数的函数装饰器,timeout是一个时间阀值,比如运行时间超过1秒的都是比较慢的,这种函数比较可疑。装饰器功能如下:[1] 统计被装饰函数单词调用运行时间;[2] 时间大于参数timeout的,将此次函数调用记录到log日志中;...
原创
发布博客 2022.05.14 ·
89 阅读 ·
0 点赞 ·
0 评论

Python定义带参数的装饰器举例详解

Python装饰器实现函数参数类型检查
原创
发布博客 2022.05.14 ·
80 阅读 ·
0 点赞 ·
0 评论

Python如何保留被装饰函数的元数据

Python保留原函数的元数据
原创
发布博客 2022.05.14 ·
31 阅读 ·
0 点赞 ·
0 评论

Python装饰器使用场景及实现详解

通过举例带你一步步走进Python装饰器实现和原理
原创
发布博客 2022.05.13 ·
20 阅读 ·
0 点赞 ·
0 评论

Python使用多进程和多线程执行“水仙花数”算法对比耗时时间

1、使用多线程和多进程执行一个CPU密集型任务水仙花数介绍:水仙花数就是将一个数的个位、十位、百位,拆分出来。 然后将各个位的3次方相加,结果与数字本身相同的就是水仙花数。对比多进程和多线程在执行“水仙花算法”的效率,代码如下:# _*_ encoding:utf-8 _*_from threading import Threadfrom multiprocessing import Processdef is_ar...
原创
发布博客 2022.05.13 ·
25 阅读 ·
0 点赞 ·
0 评论

Python多进程Process和管道Pipe举例介绍

1、如何使用多线程?实际案例:由于python中全局解释器锁(GIL)的存在,在任意时刻只允许一个线程在解释器中运行。因此python的多线程不适合处理cpu密集型的任务。想要处理cpu密集型的任务,可以使用多进程模型。解决方案:使用标准库中multiprocessing.Process,它可以启动子进程执行任务,操作接口,进程间通信,进程间同步等,都与Thre...
原创
发布博客 2022.05.13 ·
29 阅读 ·
0 点赞 ·
0 评论

Python多线程和多进程不同使用场景介绍

1、多线程及多进程使用场景: 多线程介绍:如图所示,有一个进程Process,进程内部有线程T0和T1,假设这两个线程被分别调度到本地的两个cpu上,但是它们不能同时执行,只有那个线程获取了GIL锁它才有执行的权利,但另一个线程就要等待对方释放掉GIL锁才能执行,这显然是浪费CPU资源的,本来我们有多个处理器,现在在某一时刻只能有一个CPU进行工作,这是我们不希望看到的,对于这种情况我们要摆脱GIL束缚可以使用多进程。 多进程介绍:...
原创
发布博客 2022.05.13 ·
13 阅读 ·
0 点赞 ·
0 评论

Python线程池ThreadPoolExecutor详细介绍

1、如何使用线程池? 实际案例:我们之前实现了一个多线程web视频监控服务器,我们需要对请求连接数做限制,以防止恶意用户发起大量连接而导致服务器创建大量线程,最终因资源耗尽而瘫痪。可以使用线程池,替代原来的每次请求创建线程。 解决方案:python3中有线程池实现,使用标准库中concurrent.futures下的ThreadPoolExecutor,对象的submit和map方法可以用来启动线程池中线程执行任务。 ...
原创
发布博客 2022.05.13 ·
45 阅读 ·
0 点赞 ·
0 评论

Python使用线程本地数据及threading.local库介绍

1、如何使用线程本地数据? 实际案例:我们实现了一个web视频监控服务器,服务器端采集摄像头数据,客户端使用浏览器通过http请求接收数据。服务器使用推送的方式(multipart/x-mixed-replace)一直使用一个tcp连接向客户端传递数据。这种方式将持续占用一个线程,导致单线程服务器无法处理多客户端请求。改写程序,在每个线程中处理一个客户端请求,支持多客户端访问。 解决方案:threading.local函数可以创建线...
原创
发布博客 2022.05.13 ·
82 阅读 ·
0 点赞 ·
0 评论

Python线程间的事件通知Event举例详解

Python线程间事件通知
原创
发布博客 2022.05.13 ·
36 阅读 ·
1 点赞 ·
0 评论

Python线程间的线程通信举例详解

1、如何线程间通信?实际案例:http://quotes.money.163.com/stock/,我们通过网站获取了中国股市某支股票csv数据文件,现在要下载多只股票的csv数据,并将其转换为xml文件。由于全局解释器锁的存在,多线程进行CPU密集型操作并不能提高执行效率,我们修改程序架构:[1] 使用多个DownloadThread线程进行下载(I/O操作);...
原创
发布博客 2022.05.13 ·
35 阅读 ·
0 点赞 ·
0 评论

Python多线程使用详解及适合处理I/O密集型原理

1、如何使用多线程?实际案例:http://quotes.money.163.com/stock/,我们通过网站获取了中国股市某支股票csv数据文件,现在要下载多只股票的csv数据,并将其转换为xml文件。如何使用多线程来提高下载并处理的效率?解决方案:使用标准库threading.Thread创建线程,在每一个线程中下载并转换一只股票数据。...
原创
发布博客 2022.05.13 ·
21 阅读 ·
0 点赞 ·
0 评论

Python使用实例方法名调用方法

1、如何通过实例方法名字的字符串调用方法?实际案例:某项目中,我们的代码使用了三个不同库中的图形类:Circle,Triangle,Rectangle。他们都有一个获取图形面积的接口(方法),但接口名字不同。我们可以实现一个统一的获取面积的函数,使用每种方法名进行尝试,调用相应类的接口。解决方案:方法1(案例解决):使用内置函数getattr,通过名字在实例上获...
原创
发布博客 2022.05.13 ·
16 阅读 ·
0 点赞 ·
0 评论

Python使用弱引用weakref实现环状数据的内存管理

1、如何在环状数据结构中管理内存?实际案例:在python中,垃圾回收器通过引用计数来回收垃圾对象,但某些环状数据结构(树,图...),存在对象间的循环引用,比如树的父节点引用子节点,子节点也同时引用父节点。此时同时del掉引用父子节点,两个对象不能被立即回收。如何解决此类的内存管理问题?解决方案:使用标准库weakref,它可以创建一种能访问对象但不增加引用计...
原创
发布博客 2022.05.12 ·
25 阅读 ·
0 点赞 ·
0 评论

Python使用描述符实现属性类型检查

1、如何使用描述符对实例属性做类型检查?实际案例:在某项目中,我们实现了一些类,并希望能像静态类型语言那样(C,C++,Java)对它们的实例属性做类型检查。 p = Person() p.name = 'Bob' # 名字属性必须是str p.age = 18 # 年龄必须是int p.height = 1.83 # 身高必须是float要求:(1)可以对实例变量名指定类型...
原创
发布博客 2022.05.12 ·
26 阅读 ·
0 点赞 ·
0 评论

Python实现让类支持比较操作

1、如何让类支持比较操作?实际案例:有时我们希望自定义的类,实例间可以使用 ,>=,==,!= 符号进行比较,我们自定义比较的行为。例如,有一个矩形的类,我们希望比较两个矩形的实例时,比较的是他们的面积。 class Rectangle: def __init__(self, w, h): self.w =w self.h = h def area(se...
原创
发布博客 2022.05.12 ·
64 阅读 ·
0 点赞 ·
0 评论

Python使用property函数为类创建管理方法属性

1、如何创建可管理的对象属性?实际案例:在面向对象编程中,我们把方法(函数)看作对象的接口,直接访问对象的属性可能是不安全的,或设计上不够灵活。但是使用调用方法在形式上不如访问属性简洁。# 创建圆的类,获得圆的半径或设置圆的半径,需要为这个类添加如下两个方法# 访问器和设置器形式:circle.getRadius()circle.setRadius(5.0) # 繁# 直接访问形式:circle.radiuscircle.radius...
原创
发布博客 2022.05.12 ·
25 阅读 ·
0 点赞 ·
0 评论
加载更多