- 博客(357)
- 资源 (86)
- 收藏
- 关注
原创 事件(Event)
Python中的Event对象用于线程间通信,通过信号标志控制线程阻塞与唤醒。当标志为False时,线程会阻塞;当设置为True时,会唤醒所有等待线程。示例展示了两个线程("Alone"和"Ruby")在event.wait()处阻塞,直到主线程调用event.set()才继续执行。这种机制适用于需要协调多个线程执行顺序的场景,如示例中线程等待主线程通知后才开始学习。
2025-06-12 11:28:15
22
原创 信号量(Semaphore)
信号量是一种同步机制,用于控制同时访问共享资源的线程数量。与互斥锁不同,信号量允许指定数量的线程同时访问资源。其底层通过计数器实现:获取资源时计数器减1,释放时加1。典型应用场景包括限制文件读取线程数或爬虫并发量。示例代码展示通过Semaphore(5)创建一个允许5个线程同时访问的信号量,演示了10个线程按5个一批有序访问房间的过程,确保资源访问的并发控制。信号量在需要精细控制并发度的场景中具有重要作用。
2025-06-12 10:27:36
24
原创 局域网文件共享简单几步搞定
然后把查到的IP输入进去。需要查看一下电脑的IP 地址是多少,用于手机连接电脑。在输入ipconfig 查看ip地址,看IPv4。手机和电脑需要在同一个局域网才可以。把共享次文件夹勾选上,点击确定。到这里电脑端就设置完成了。在搜索栏上输入CMD ,回车。打开文件管理,找到网络邻居。选择无密码保护的共享。
2025-06-10 18:26:37
119
原创 pack 布局管理器
摘要:本文介绍了使用Python tkinter的pack布局管理器创建钢琴界面的方法。pack布局是tkinter中最简单的布局方式,按创建顺序垂直或水平排列组件。代码示例展示了如何分步构建界面:首先添加标题标签,然后创建两个框架分别放置风格按钮和钢琴键(用黑白交替的按钮模拟)。通过设置pack参数如side、padx、pady等控制组件排列间距,最终实现了一个简洁的钢琴模拟界面。该方式代码量少,适合快速构建基础GUI。
2025-06-04 20:03:51
241
原创 用布局管理器grid实现计算机界面
摘要:本文介绍了使用tkinter的grid布局管理器创建GUI应用程序。grid采用表格结构组织组件,通过行列单元格定位,支持跨行跨列布局。文章展示了一个计算器界面的实现代码,使用grid布局排列按钮(数字、运算符等)和输入框,其中特殊按钮("="、"0"等)通过rowspan/columnspan实现合并单元格效果。示例代码创建了一个200x260像素的计算器窗口,演示了grid布局在构建复杂GUI界面时的灵活性和实用性。
2025-06-04 18:39:05
329
原创 时区转换工具
开发一个Python程序,将用户输入的北京日期时间转换为全球多个目标地区的对应时间,支持手动选择地区,并显示开始和结束两个时间段的转换结果
2025-03-17 21:55:38
205
原创 deepseek本地部署
哈喽,兄弟们!大家可以想象一下,如果有一个超级聪明的人机大脑,能帮你解答任何问题,从复杂的数学难题到编程代码,再到那些让你头疼的写作任务,它都能轻松搞定。这不是科幻电影里的场景,而是DeepSeek带来的现实奇迹!DeepSeek,这个名字听起来就充满了探索和求知的意味。它不仅仅是一款大语言模型,更是你学习路上的得力助手。无论你是学生、程序员还是任何需要知识帮助的人,DeepSeek都能为你提供精准、高效的解决方案。1、版本区分。
2025-03-12 22:51:01
648
原创 redis 数据类型---集合(set)
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Qtg4DXK-1673087838552)(http://182.61.10.71/server/index.php?Set 是 String 类型的无序集合,集合中的成员是唯一的,这就意味着集合中不能出现重复的数据,可以在两个不同的集合中对数据进行对比并取值。差集:已属于A而不属于B的元素称为A与B的差(集)并集:已属于A或属于B的元素为称为A与B的并(集)交集:已属于A且属于B的元素称为A与B的交(集)
2023-01-07 18:38:50
451
1
原创 redis 数据类型--sorted set(有序集合)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double(双精度浮点型)类型的分数,redis正是通过该分数来为集合中的成员进行从小到大的排序,有序集合的成员是唯一的,但分数(score)却可以重复,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1), 集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。
2023-01-07 18:38:40
309
原创 redis 数据类型---列表(list)
列表是一个双向可读写的管道,其头部是左侧尾部是右侧,一个列表最多可以包含2^32-1个元素即4294967295个元素。##列表(list)获取列表指定位置数据。
2023-01-07 18:37:30
301
原创 redis 数据类型--字符串(string)
字符串是所有编程语言中最常见的和最常用的数据类型,而且也是redis最基本的数据类型之一,而且redis中所有的key的类型都是字符串。##字符串(string)获取一个key的内容。返回字符串key长度。查看key的过期时间。设置key的过期时间。取消key的过期时间。
2023-01-03 21:53:40
221
原创 redis配置文件
appendonly no #是否开启AOF日志记录,默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用 了,但是redis如果中途宕机,会导致可能有几分钟的数据丢失(取决于dumpd数据的间隔时间),根据save来策略 进行持久化,Append Only File是另一种持久化方式,可以提供更好的持久化特性,Redis会把每次写入的数据在 接收后都写入 appendonly.aof 文件,每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。
2023-01-03 21:52:50
925
原创 CDN缓存
内容分发网络(Content Delivery Network),通过将服务内容分发至全网加速节点,利用全球调度系统使用户能够就近获取,有效降低访问延迟,提升服务可用性,CDN 第一降低机房的使用带宽,因为很多资源通过CDN就直接返回用户了,第二解决不同运营商之间的互联,因为可以让联通的网络访问联通让电信的网络访问电信,起到加速用户访问的目的, 第三:解决用户访问的地域问题,就近返回用户资源。缓存-缓存到最快的地方如内存,缓存的数据准确命中率高,访问速度就快。
2023-01-02 20:53:53
360
原创 Redis 哨兵模式
当我们的主服务器宕机后,要手动的去切换主从模式,这样的人工干预,费事费力,还会造成一段时间我们的服务不能使用。所有我们要使用哨兵模式来解决这一问题。哨兵是对Redis的系统的运行情况的监控,它是一个独立进程,功能有二个:监控主机Redis和从机Redis是否运行正常;主机Redis出现故障后自动将从机转化为主机;
2023-01-02 20:52:30
6140
10
原创 redis持久化
AOF和RDB一样使用了写时复制机制,AOF默认为每秒钟fsync一次,即将执行的命令保存到AOF文件当中,这样即使redis服务器发生故障的话顶多也就丢失1秒钟之内的数据,也可以设置不同的fsync策略,或者设置每次执行命 令的时候执行fsync,fsync会在后台执行线程,所以主线程可以继续处理用户的正常请求而不受到写入AOF文件的。可以最大化IO 的性能,因为父进程在保存RDB 文件的时候唯一要做的是fork出一个子进程,然后的-操作都会有这个子进程操作,父进程无需任何的IO操作。
2023-01-02 20:47:06
475
原创 mysql yum的时候报错处理方法
处理警告:/var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-server-5.7.37-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥源 “MySQL 5.7 Community Server” 的 GPG 密钥已安装,但是不适用于此软件包
2022-04-05 13:41:48
2463
原创 源码安装Redis缓存服务 ;常用Redis数据库操作指令;配置Redis主从服务器
源码安装Redis缓存服务1.3 步骤步骤一:安装Redis服务器1)源码安装Redis软件[root@svr5 ~]# tar -xzf redis-3.0.6.tar.gz[root@svr5 ~]# cd redis-3.0.6[root@svr5 ~]# make[root@svr5 ~]# make install[root@svr5 ~]# ./utils/install_server.sh //初始化Welcome to the redis s
2021-05-09 13:49:09
277
原创 误格式化磁盘
早上一来,不小心把电脑磁盘给格式化了哎,本想格式化U盘结果点错了然后在网上搜索了数据恢复工具https://www.cleverfiles.com/howto/zh/top-5-data-recovery-software-windows.html用EaseUS数据恢复精灵扫描半天,数据太大了...
2021-05-03 09:24:19
211
原创 k8s证书可用年限的修改
证书可用时间查看当前集群使用证书的时间[root@k8s-master01 kibana]# cd /etc/kubernetes/pki[root@k8s-master01 pki]# openssl x509 -in apiserver.crt -text -noout......Validity Not Before: Apr 27 01:19:41 2021 GMT Not After : Apr 27 01:19:41 2022 GMT
2021-04-28 14:38:40
658
原创 Error response from daemon: OCI runtime create failed
3530e24d28767e3e06734fad9c160748fbe94b730c3b353048fd4a4da48bc721docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: rootfs_linux.go:60: moun
2021-04-28 14:26:40
1022
原创 docker: Error response from daemon
这个报错主要就是进程冲突了,已经有一个名字叫 HAProxy-K8S 的进程在运行,如果想要运行,可以把正在运行的进程关闭。a1c9a9e3035d是进程ID。
2021-04-28 14:23:56
1410
原创 k8s-存储-Secret
Secret 存在意义Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret 可以以 Volume 或者环境变量的方式使用Secret 有三种类型:Service Account :用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂载到 Pod 的/run/secrets/kubernetes.io/serviceaccount 目录中Opaque :base64编码格式的Secre
2021-04-24 12:16:27
222
原创 k8s-存储-configMap
configMap描述信息ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象ConfigMap 的创建使用目录创建[root@k8s-master01 ~]# ls docs/user-guide/configmap/kubectl/game.propertie
2021-04-24 12:11:38
229
原创 Π小数点2000位
3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564
2021-04-21 13:20:29
639
原创 k8s-CronJob
CronJob Specspec.template格式同PodRestartPolicy仅支持Never或OnFailure单个Pod时,默认Pod成功运行后Job即结束.spec.completions 标志Job结束需要成功运行的Pod个数,默认为1.spec.parallelism 标志并行运行的Pod的个数,默认为1spec.activeDeadlineSeconds 标志失败Pod的重试最大时间,超过这个时间不会继续重试CronJobCron Job 管理基于时间的 Job,即:
2021-04-21 13:18:59
266
原创 k8s-job
JobJob 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束特殊说明spec.template格式同PodRestartPolicy仅支持Never或OnFailure单个Pod时,默认Pod成功运行后Job即结束.spec.completions 标志Job结束需要成功运行的Pod个数,默认为1.spec.parallelism 标志并行运行的Pod的个数,默认为1spec.activeDeadlineSeconds 标志失败Pod的重试最大时间,超过这
2021-04-21 13:17:31
231
原创 k8s-DaemonSet
什么是 DaemonSetDaemonSet 确保全部(或者一些)Node 上运行一个 Pod 的副本。当有 Node 加入集群时,也会为他们新增一个 Pod 。当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod使用 DaemonSet 的一些典型用法:运行集群存储 daemon,例如在每个 Node 上运行 glusterd 、 ceph在每个 Node 上运行日志收集 daemon,例如 fluentd 、 logstash在每个 N
2021-04-21 13:15:58
220
原创 k8s-RS 与 Deployment 的关联
DeploymentDeployment 为 Pod 和 ReplicaSet 提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController 来方便的管理应用。典型的应用场景包括:1.定义Deployment来创建Pod和ReplicaSet2.滚动升级和回滚应用3.扩容和缩容4.暂停和继续Deployment部署一个简单的 Nginx 应用#接口信息以及版本apiVersion: extensions/v1beta1#控制器kind:.
2021-04-21 13:14:52
387
原创 k8s初始化报错
[root@k8s-master01 ~]# kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.log[init] Using Kubernetes version: v1.14.0[preflight] Running pre-flight checks [WARNING SystemVerification]: this Docker version is not on the list of v
2021-04-20 18:56:14
1207
原创 容器的生命周期
Pod 能够具有多个容器,应用运行在容器里面,但是它也可能有一个或多个先于应用容器启动的 Init容器Init 容器Init 容器与普通的容器非常像,除了如下两点:1 Init 容器总是运行到成功完成为止2 每个 Init 容器都必须在下一个 Init 容器启动之前成功完成如果 Pod 的 Init 容器失败,Kubernetes 会不断地重启该 Pod,直到 Init 容器成功为止。然而,如果 Pod 对应的 restartPolicy 为 Never,它不会重新启动Init 容器的作用因.
2021-04-19 16:32:33
612
原创 fatl: the remote end hung up unexpectedly
git提交代码报错504error: RPC failed ; HTTP 504 curl 22 The requested URL returned error: 504send-pack: unexpected disconnect while reading sideband pack fatl: the remote end hung up unexpectedly原因git push/pull. 导致文件内容过大报错HTTP 504 curl 22 The requested UR
2021-04-19 11:34:07
845
1
原创 k8s控制器
pod的分类自主式pod: pod 退出了。此类型的pod不会被创建控制器管理的pod:在控制器的生命周期里,始终维持pod的副本数目什么是控制器Kubernetes 中内建了很多 controller(控制器),这些相当于一个状态机,用来控制 Pod 的具体状态和行为控制器类型ReplicationController 和 ReplicaSetDeploymentDaemonSetStateFulSetJob/CronJobHorizontal Pod AutoscalingRep
2021-04-19 09:13:31
180
原创 k8s资源清单
在 k8s 中,一般使用 yaml 格式的文件来创建符合我们预期期望的 pod ,这样的 yaml 文件我们一般称为资源清单简单说明是一个可读性高,用来表达数据序列的格式。YAML 的意思其实是:仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点基本语法缩进时不允许使用Tab键,只允许使用空格缩进的空格数目不重要,只要相同层级的元素左侧对齐即可#标识注释,从这个字符一直到行尾,都会被解释器忽略YAML 支持的数据结构对象:键值对的集合,又称为映射(mapping)
2021-04-18 18:26:43
489
原创 k8s-资源类型
K8s 中所有的内容都抽象为资源, 资源实例化之后,叫做对象资源类型名称空间级别工作负载型资源( workload ): Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、CronJob ( ReplicationController 在 v1.11 版本被废弃 )服务发现及负载均衡型资源( ServiceDiscovery LoadBalance ): Service、Ingress、…配置与存储型资源: Volume( 存储卷 )、CSI
2021-04-18 18:17:44
685
Linux磁盘加密技术应用2
2018-07-28
13-CentOS7-搭建Nginx代理服务(负载均衡)
2018-07-28
CentOS7-安装部署Apache
2018-07-28
实战1-RHEL7-Linux批量添加用户
2018-07-28
02-CentOS7-搭建Samba文件共享服务器
2018-07-28
监控客户端安装包zabbix-4.2.1.tar.gz
2020-02-13
sersync2.5.4_数据同步.zip
2020-07-19
tbe_veeam_backup.reg
2020-06-18
mysql数据库连接程序的连接工具.zip
2020-03-02
CA本地环境搭建软件包.zip
2020-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人