- 博客(143)
- 收藏
- 关注

原创 数据结构之八种排序(c语言)
8种排序的时间复杂度和稳定性 排序方法 平均情况 最坏情况 最好情况 稳定性 1.冒泡排序 N^2 N^2 n 稳定 2.选择排序 N ...
2019-11-19 02:50:30
863

原创 python是动态语言还是静态语言?强类型语言还是弱类型语言
首先要清楚静态类型语言和动态类型语言的判别的标准定义:如果类型检查发生在编译阶段(compile time),那么是静态类型语言(statically typed languages)中,相反的,如果类型检查发生在运行阶段(run time),那么是动态类型语言(dynamically typed languages)什么是类型检查类型检查就是查看变量的类型,然后判断这个表达式是合理的,可...
2019-11-06 21:52:23
13284
1
原创 工作目录的理解
比如,如果程序读取某个文件,而这个文件的路径没有指定完整的绝对路径,那么程序会根据当前工作目录来查找文件。虽然不指定工作目录程序可能仍然可以运行,但很可能会遇到无法找到文件或资源的错误,因此指定工作目录是一种更为可靠和安全的做法。如果程序没有明确指定工作目录,通常程序会使用启动时的当前目录作为工作目录。默认行为问题:很多程序默认会使用启动程序时的当前目录作为工作目录,但有时程序可能会期望不同的目录。避免错误:如果程序没有指定工作目录或者工作目录没有设置正确,可能会发生找不到文件、资源或配置文件的错误。
2024-11-13 20:07:33
352
1
原创 django中wsgi.py 和 manage.py有什么区别
例如,可以使用manage.py runserver来启动开发服务器,使用manage.py migrate来应用数据库迁移等。– wsgi.py:通常在部署Django项目到生产环境时使用,与WSGI服务器(如Gunicorn、uWSGI等)一起工作。– wsgi.py:定义了WSGI应用程序对象,并配置了如何加载Django项目的设置。它主要与WSGI服务器进行交互。– manage.py:是一个Python脚本,它根据传入的命令行参数调用Django的内部API来执行相应的管理操作。
2024-10-10 12:15:44
601
原创 libvirt中的qemu与kvm
在 libvirt 虚拟机管理中,domain_type 的设置决定了虚拟机使用的虚拟化技术。在 domain_type 中,qemu 和 kvm 是两种不同的虚拟化模式,它们的区别主要在于是否使用硬件虚拟化加速。
2024-09-25 10:53:56
547
原创 zookeeper向管控平台上报状态
report_status_to_zookeeper() 方法二:第一个 worker 进程上报 如果你希望使用第一个工作进程来上报状态,而不是主进程,可以使用进程 ID 来判断: import os if os.getpid()在你的场景中,由于 Django 应用启动了 4 个 uWSGI 进程,每个进程都会创建一个节点并上报状态,因此出现了 4 次状态上报的情况。使用单个进程上报状态 你可以通过 主进程 或 第一个工作进程 来进行上报,避免每个进程都上报。# 只有主进程执行上报逻辑。
2024-09-19 11:03:41
469
原创 libvirt虚拟机是如何与vnet接口是怎么连接的呢
通过这种方式,libvirt能够为每个虚拟机提供独立、灵活且可管理的网络连接,同时保持了与物理网络的兼容性和连通性。libvirt使用QEMU/KVM的网络后端驱动(通常是virtio-net)将虚拟机的虚拟网卡与主机上的vnet接口连接起来。当虚拟机发送数据时,数据从虚拟机的虚拟网卡 -> vnet接口 -> 虚拟网桥 -> 物理网络(如果配置了的话)。每台虚拟机与其对应的vnet接口的连接是通过libvirt的网络虚拟化层来实现的。可以为不同的虚拟机配置不同的网络模式(如NAT、桥接、隔离网络等)。
2024-07-26 14:58:01
357
原创 Netfilter之连接跟踪(Connection Tracking)和反向 SNAT(Reverse SNAT)
连接跟踪:帮助记录并管理连接状态,使防火墙能够正确处理关联的数据包。反向 SNAT:利用连接跟踪信息,将响应数据包的源地址转换回外网 IP,确保外部客户端能正确接收并识别响应。
2024-07-15 17:45:30
400
原创 停止iptables防火墙后默认规则仍然生效
在 iptables 配置中,:INPUT ACCEPT [3303:223440] 这种表示方式是链的默认策略及其当前的计数器。
2024-07-12 13:51:54
900
原创 uWSGI 配置参数记录
如果整个请求(包括处理和返回响应)时间超过45秒,http-timeout 将终止该请求。它作用于工作进程,如果一个请求处理时间超过了45秒,这个进程将被强制终止,并重新启动以防止长时间挂起。示例:如果在与客户端的连接中,有45秒没有任何数据传输(例如,客户端长时间没有发送数据或接收数据),uWSGI将关闭这个连接。示例:如果一个工作进程在45秒内没有处理任何请求(例如,服务器在低流量期间),这个进程将被重启。示例:如果一个请求在任何时候超过了45秒,uWSGI将终止处理该请求的工作进程,并记录日志。
2024-05-31 16:59:11
561
原创 linux dhcp服务器
路由器是连接不同网络的设备,通常具有路由功能、防火墙功能以及DHCP服务功能。由于路由器位于网络中心,因此在许多情况下,它们被配置为提供DHCP服务,以便为连接到网络的设备分配IP地址和其他配置信息。在大多数情况下,DHCP服务器通常是由路由器或专门的DHCP服务器设备提供的,而不是由交换机提供。但在某些情况下,企业可能会使用专门的DHCP服务器设备,这些设备专门设计用于提供DHCP服务并处理大量的DHCP请求。总的来说,DHCP服务通常是由路由器或专门的DHCP服务器设备提供的,而不是由交换机提供。
2024-04-26 17:12:46
303
3
原创 JS原型和原型链的理解
现在引出原型链的概念,当我们调用p1.toString()的时候,先在p1对象本身寻找,没有找到则通过p1.__proto__找到了原型对象Parent.prototype,也没有找到,又通过Parent.prototype.__proto__找到了上一层原型对象Object.prototype。显然它的含义就是告诉我们一个对象的原型对象是谁。prototype 它是函数独有的属性,从图中可以看到它从一个函数指向另一个对象,代表这个对象是这个函数的原型对象,这个对象也是当前函数所创建的实例的原型对象。
2024-03-17 22:37:37
1331
原创 centos7 python3.12.1 报错 No module named _ssl
centos 安装Python 提示 no module named _ssl
2024-03-08 15:32:19
800
原创 What is a Python egg?
“Egg” is a single-file importable distribution format for Python-related projects.Eggs actually are richer than jars; they hold interesting metadata such as licensing details, release dependencies, etc.
2024-01-18 16:59:58
489
原创 Linux系统bin文件打包方法
最近的项目需要客户端从服务器获取到文件后自动执行;由于可执行程序中有相关配置文件,并且运行前要进行环境变量的配置,所以不能直接下载可执行程序运行,上网搜了一下解决方法,发现可以打成bin包,下载时下载这个bin文件,然后运行,先进行解包安装,然后再脚本里配置环境变量,最后运行程序;
2024-01-15 16:39:57
1495
原创 linun/windows下python程序打包成可执行程序
步骤:1 centos下安装pyinstaller ,报错请参考以上连接2 把需要打包的文件放在一个文件夹3 生成spec文件,并修改依赖文件的路径 pyi-makespec -F test.py # ( datas=[(‘test.txt’,‘.’)], ##
2024-01-15 16:27:54
632
原创 VPC网络和经典网络哪个好?VPC网络和经典网络的区别
随着云计算技术的不断发展,越来越多的企业和个人开始使用云服务器来托管自己的应用程序和网站。在使用云服务器时,用户需要选择网络类型其中包括VPC网络和经典网络。那么VPC网络和经典网络哪个好呢?
2024-01-15 16:20:40
2018
原创 二层网络三层网络的区别
二层网络(Layer 2 Network):定义: 二层网络是指在 OSI 模型中的第二层,也称为数据链路层(Data Link Layer)的网络。特点: 主要负责物理地址(MAC 地址)的寻址和数据帧的传输。交换机(Switch)工作在二层,通过学习和转发数据帧来实现局域网内的通信。设备: 典型的二层设备包括交换机(Switch)。三层网络定义: 三层网络是指在 OSI 模型中的第三层,也称为网络层(Network Layer)的网络。
2024-01-05 17:38:57
4477
原创 linux 多路径multipath的安装
在计算机系统中,多路径是指在存储系统中使用多个物理路径来连接主机和存储设备,以增加系统的可用性和容错性。多路径技术的目标是提供冗余路径,以确保在某个路径发生故障时,数据仍然可以通过其他路径进行传输具体而言,多路径通常用于连接主机和存储区域网络(SAN)上的存储设备,例如磁盘阵列。在这种配置中,多个物理路径(例如光纤通道或 iSCSI 连接)可以同时连接主机和存储设备。主机操作系统使用多路径软件来管理这些路径,确保对存储设备的访问是冗余和可靠的。
2023-12-18 14:13:49
1394
原创 svn合并冲突时每个选项的含义
Accept incoming for conflicts:仅在冲突的地方接受传入的改动。这将合并传入的改动,但只在文件的冲突部分。这将放弃你本地的改动和即将合并的改动,恢复到原始的基础版本(即三方合并中的共同祖先版本)。选择这个选项表示你已手动解决冲突,并且当前的文件状态是你想要的最终结果。底部的输入框是用来输入注释的,通常是你对于如何解决冲突的说明。这将接受传入的改动,但在冲突部分保留你的修改。这将完全接受其他分支的改动,放弃你的本地修改。这将保留你的本地修改,忽略其他分支的改动。
2023-11-30 11:44:25
3103
1
原创 KVM网络环境下vlan和trunk的理解
参考:https://www.cnblogs.com/yueshang/p/9454831.html # KVM网络环境之VLAN搭建。
2023-11-16 19:18:23
1261
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人