- 博客(81)
- 收藏
- 关注
原创 容器(如 Docker)中,通常不建议运行多个进程或要求进程必须运行在前台
若容器中运行多个进程,且没有进程管理器(如systemd、supervisord)处理子进程的退出状态,父进程(非PID 1进程)退出后,子进程会成为“僵尸进程”(状态为。在容器(如Docker)中,通常不建议运行多个进程或要求进程必须运行在前台,这与容器的设计理念、资源管理和生命周期管理机制密切相关。:若容器中同时运行Web服务(进程A)和日志服务(进程B),若进程A先退出,进程B未被正确管理,就会成为僵尸进程。),进程会脱离终端控制,导致容器在启动后立即“假死”(表面上运行,但实际无有效进程)。
2025-05-29 15:13:27
1112
原创 python3【字典】常用方法及示例
字典是 Python 中最常用的数据结构之一,通过上述方法可以灵活操作键值对。)是一种无序、可变且键唯一的数据结构,使用键值对(key-value)存储数据。这些方法能帮助你高效处理键值对数据!在 Python3 中,字典(
2025-05-21 08:57:25
763
原创 解决 MySQL 错误 1356 (HY000)
错误时,通常是由于 MariaDB 或 MySQL 版本更新导致的视图引用问题。更新 MariaDB 的 mysql.global_priv 表。对于 MariaDB 10.4.4 及以上版本,可以使用。对于 MariaDB 10.4.4 以下版本,可以使用。使用 SET PASSWORD FOR 命令重置密码。在 MariaDB 10.4 及以上版本中,使用 ALTER USER 命令重置密码。表已被替换为视图,实际数据存储在。命令来重置用户密码。命令来重置用户密码。
2025-05-19 09:44:11
413
原创 Nginx配置中include mime.types的作用及正确配置mime类型
的作用是引入一个预定义的文件类型映射表,该表将文件扩展名与MIME类型关联起来。这使得服务器能够正确地告知客户端(如浏览器)所请求文件的内容类型,从而确保文件被正确解析和显示。正确配置MIME类型的关键在于:首先确保。,可能导致浏览器无法正确解析文件(如CSS、JS无效或下载而非显示)。此外,自定义文件类型时需在。确保所有文件类型均被正确定义,可提升用户体验并避免潜在安全风险。,以处理未匹配的文件类型。,然后设置默认MIME类型为。在Nginx配置中,
2025-05-18 22:27:35
343
原创 容器的网络类型
在容器化技术中,容器的网络类型决定了容器之间、容器与宿主机以及外部网络的通信方式。根据不同的场景和需求,容器可以配置多种网络类型。理解这些网络类型有助于优化容器通信性能、安全性和可扩展性。
2025-04-25 17:14:41
627
原创 容器化实现基于的技术
每个名称空间负责隔离不同的系统资源,使得容器内的进程仿佛运行在独立的系统中。通过这 6 大名称空间,容器实现了轻量级的资源隔离,这是 Docker、Kubernetes 等技术的底层基础。
2025-04-25 17:10:25
329
原创 CRI、CSI 和 CNI 是三大核心接口标准
在容器化技术中,CRI、CSI 和 CNI 是三大核心接口标准,分别针对容器运行时、存储和网络的不同层面。:定义容器运行时与 Kubernetes 的交互接口,用于管理容器的生命周期(创建/启动/停止等)。这些组件通过标准化接口与 Kubernetes 集成,使得用户可以根据需求灵活选择技术栈。:定义容器网络配置的标准,负责 Pod 的网络连接、IP 分配等。:标准化容器与外部存储系统的集成(如块存储、文件存储等)。
2025-04-25 17:07:40
386
原创 基于隧道的Overlay网络:二层与三层详解
二层Overlay网络在虚拟化环境中模拟传统以太网(L2)功能,提供MAC层连接性。基于MAC地址转发保持广播域支持虚拟机的自由迁移扩展了传统VLAN的限制三层Overlay网络基于IP层(L3)构建,提供逻辑上的IP连接性。基于IP地址路由天然支持跨子网通信更好的扩展性通常无广播流量。
2025-04-21 11:50:46
667
原创 【python以打包的形式运行和脚本形式运行获取路径注意事项】
这两行代码通常用于处理Python程序打包成可执行文件后的路径问题,用于获取临时资源文件夹的路径,用于获取可执行文件所在的目录路径。
2025-04-07 16:17:19
478
原创 【NGINX代理附件上传服务配置优化】
如果后端是 Tomcat,并且你需要处理大文件上传,以下是一个完整的 Nginx 配置文件示例。这个配置文件会处理大文件上传的超时问题,并将请求代理到后端的 Tomcat 服务器。
2025-03-20 18:04:48
560
原创 源码安装redis后配置redis开机自启动
`ExecStop`使用`kill -9`强制停止进程,这可能不是最优雅的停止方式,在实际情况中,如果Redis提供了更合适的停止脚本或命令,建议替换此处的停止方式,以确保数据的完整性和一致性,避免数据丢失或损坏等问题。- 确保`/app/redis-5.0.4/src/redis-server`和`/app/redis-5.0.4/redis.conf`的路径与你的实际Redis安装路径一致。- `PIDFile`指定了Redis进程ID文件的位置,这有助于systemd跟踪服务进程。
2024-12-25 15:53:36
323
原创 【ORALCE】用户user与模式schema之间关系
User用户是一个数据库账户,用于连接到Oracle数据库并执行操作。每个用户都有唯一的用户名和密码,并且可以拥有不同的权限和角色。SchemaSchema 是一个数据库对象的集合,通常与一个用户相关联。一个 schema 包含该用户创建的所有数据库对象,例如表、视图、索引、存储过程等。用户是一个数据库身份,用于验证和授权访问数据库。Schema是与用户相关联的对象集合,用于组织和管理数据库中的数据。希望这些信息能帮助你更好地理解 Oracle 数据库中的 schema 和 user 之间的区别!
2024-12-02 17:11:35
689
原创 数据库事务的特性
原子性:事务是不可分割的,所有操作要么全部成功,要么全部失败。一致性:事务执行后,数据库应保持一致性状态,遵循所有业务规则和数据完整性约束。隔离性:事务的执行不应受到其他并发事务的影响。持久性:一旦事务提交,其对数据库的更改应该持久保存,即使系统发生故障。这些特性共同确保了数据库在处理多个事务时能够保持数据的可靠性和一致性。
2024-08-01 14:13:44
475
原创 MySql锁机制
行级锁:适用于 InnoDB 存储引擎,通常在有索引的情况下使用,锁定的是具体的行,提高了并发性能。表级锁:适用于 MyISAM 存储引擎,或者在执行某些 DDL 操作时使用,锁定的是整个表,可能会影响并发性能。了解锁的机制可以帮助你在设计数据库和事务时更好地优化性能和数据一致性。
2024-08-01 14:03:02
324
原创 Docker部署kafka,Docker所在宿主机以外主机访问
e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://139.226.179.239:9092 把kafka的地址端口注册给zookeeper,若远程访问要改成外网IP,千万注意是外网IP,很多文章只说是宿主机IP, 演示例子上写的是内网IP,很容易被误导。-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口。-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间。
2024-07-19 10:11:46
917
2
原创 关于redis单线程却能支持高并发业务的原因
与多线程模型相比,Redis 的单线程模型避免了线程切换带来的开销,如上下文切换、锁竞争等,这在高并发场景下尤为显著。是 Linux 内核提供的一种高效的 I/O 多路复用机制,用于处理大量并发连接的网络应用程序。尽管 Redis 是单线程的,但是它通过上述技术和优化手段,使得即使在高并发的情况下,仍能保持出色的性能表现。:Redis 内置了丰富的数据结构和高效的算法,如哈希表、跳表等,使得在处理数据时效率极高。),这样可以在等待数据准备就绪的同时,继续处理其他请求,提高了系统的并发处理能力。
2024-07-17 17:16:59
385
原创 关于redis单线程却能支持高并发业务的原因
与多线程模型相比,Redis 的单线程模型避免了线程切换带来的开销,如上下文切换、锁竞争等,这在高并发场景下尤为显著。是 Linux 内核提供的一种高效的 I/O 多路复用机制,用于处理大量并发连接的网络应用程序。尽管 Redis 是单线程的,但是它通过上述技术和优化手段,使得即使在高并发的情况下,仍能保持出色的性能表现。:Redis 内置了丰富的数据结构和高效的算法,如哈希表、跳表等,使得在处理数据时效率极高。),这样可以在等待数据准备就绪的同时,继续处理其他请求,提高了系统的并发处理能力。
2024-07-17 14:41:32
705
原创 react中状态管理useState
这段代码我在运行的时候,后台始终拿到的secret值是null,通过后台、前台打印日志,显示的secret是有值的,但为什么按照顺序执行了setSecret(res.secret)后,然后使用secret的值,没有实时取得res.secret值。解释就是,有延迟,在我执行请求接口2的时候,secret的值还没有更新完成。2.然后请求接口2,携带上接口1返回的密钥参数,请求二维码的状态信息,获取用户信息。直接将接口1拿到的数据进行请求。1.页面挂载后,我先请求后台接口1获取二维码和密钥。
2024-07-17 09:54:48
348
原创 跨域问题出现的原因,怎么解决?
跨域问题在Web开发中是指在浏览器中运行的JavaScript代码试图在不同域名、不同端口或不同协议之间进行访问时所遇到的限制。浏览器出于安全考虑,实施了同源策略(Same-Origin Policy),该策略要求JavaScript只能访问与其所在页面具有相同协议、域名和端口的资源。WebSocket协议:WebSocket协议是一种双向通信协议,它不受同源策略的限制。代理服务器:可以设置一个同源的代理服务器,将跨域请求转发到目标服务器,并将响应返回给前端。// 处理返回的数据。
2024-07-12 09:34:16
379
原创 SSE流式响应遇到的问题记录
例如,在 Nginx 中,可以通过配置 `proxy_buffering` 指令来控制缓冲行为,并根据 `X-Accel-Buffering` 的值进行相应的设置。- 如果 `X-Accel-Buffering` 的值为 "no",表示反向代理服务器应禁用缓冲,即实时将后端服务器返回的数据传递给客户端。总结起来,`X-Accel-Buffering` 请求头参数用于指示反向代理服务器是否缓冲响应数据,提供更好的性能或实时性,具体行为取决于反向代理服务器的配置和实现。# SSE 连接时的超时时间。
2024-06-26 09:54:17
2830
原创 embed_model和llm_model
目的不同:Embedding Model 旨在将文本或数据映射到低维稠密向量空间,以便计算机更好地理解语义;而Language Model 则专注于理解和生成自然语言文本序列。使用场景不同:Embedding Model 主要用于NLP任务中的特征提取和表示学习;Language Model 则用于生成文本、理解上下文等更高层次的语言处理任务。在某些情况下,这两个术语可能会有重叠或交叉,特别是在涉及到深度学习和NLP中使用预训练模型时。因此,具体的区别还需根据具体的上下文和使用情景来分析。
2024-06-21 14:05:50
767
原创 在linux和windows平台启动子进程差异及终止子进程差异
因此,在 Windows 中,子进程的全局变量与父进程的全局变量是完全独立的。在linux操作系统下,执行process.terminate()会传递终止信号给到子进程,但是不会终止子进程,在windows系统下直接终止子进程,子进程中注册的signal.signal(signal.SIGTERM, handle_signal)handle_signal都来不及执行。因此,子进程会拥有与父进程相同的全局变量副本。综上所述,在 Windows 中,父进程对全局变量的修改不会直接影响到子进程中的全局变量。
2024-06-07 10:48:15
444
原创 银河麒麟V10 sp1使用pyautogui进行屏幕截图报错
在银河麒麟操作系统上,系统版本是V10 sp1,窗口系统是Wayland,桌面环境是UKUI,或是银河麒麟操作系统内部做了什么拦截操作吗?使用以上代码在Ubuntu22.04操作系统上进行截屏没有任何问题(桌面环境GNOME,窗口系统Wayland)其中使用向日葵远程银河麒麟操作系统也是黑屏,现在截取屏幕也是黑屏,各种不顺啊。有遇到过在银河麒麟操作系统进行截屏出现黑屏的情况吗?这里新闻有说对窗口截屏的管控。
2024-06-04 14:24:52
873
2
原创 ubuntu系统上,自带了python3,使用apt install python3-tk能安装上tkinter模块,我编译安装了另一个python3.8.8,始终无法将该模块安装
请注意,在使用自行编译安装的Python版本时,需要使用正确的Python解释器和pip版本来运行你的代码。确保你在使用正确的Python版本下执行代码,以及使用正确的pip版本来安装其他Python包。如果你在Ubuntu系统上编译安装了另一个Python版本(例如Python 3.8.8),而无法通过。这样,你就在系统的默认Python和自行编译安装的Python 3.8.8中都安装了。包与你编译安装的Python版本不兼容。在这种情况下,你可以尝试使用以下步骤安装。模块,可能是因为系统的。
2024-05-28 20:38:25
654
原创 使用selenium打开浏览器之后,有浏览器内部的提示设置默认浏览器等,怎么屏蔽或关闭这些提示
当使用Selenium打开浏览器时,可能会遇到浏览器内部的一些提示或弹窗,例如设置默认浏览器的提示。你可以通过配置选项或设置浏览器参数来屏蔽或关闭这些提示。请注意,不同的浏览器和浏览器版本可能具有不同的配置选项和参数。因此,建议查阅相关的浏览器驱动程序文档,了解更多关于禁用或关闭特定提示的详细信息。对于其他浏览器,你可以查阅相关文档或参考其对应的浏览器驱动程序的配置选项,以了解如何禁用或关闭特定的提示或弹窗。
2024-05-28 14:40:28
945
原创 X11,wayland,Xorg,KDE,GNOME它们之间的关系
KDE和GNOME都是为Linux和UNIX系统设计的,它们提供了不同的外观、风格和功能,以满足不同用户的需求和偏好。需要注意的是,虽然Wayland被认为是X11的替代方案,但在过渡期间,X11仍然广泛使用,并且许多桌面环境和应用程序仍然依赖于X11。随着时间的推移,随着Wayland的发展和采用,X11逐渐减少了在新系统上的使用。Wayland是一种用于显示服务器的协议和通信协议栈,旨在替代X11成为新一代Linux和UNIX系统中的图形显示方式。Wayland提供了更简单、更现代化的图形堆栈。
2024-05-28 09:38:32
2747
原创 关于python3中文字符使用unicode表示
是的,汉字的码点是一个整数表示的。Unicode字符集中的每个字符都有一个唯一的整数值,称为Unicode码点或代码点。在计算机中,汉字的码点通常是以整数形式存储和处理的。汉字通常使用Unicode字符集进行表示,而Unicode字符集是一个字符集,不涉及进制的概念。Unicode字符集使用唯一的代码点来表示每个字符,这些代码点是十六进制表示的。函数得到的结果是一个十进制整数,表示该字符在Unicode字符集中的位置。函数将一个汉字转换为对应的Unicode码点,然后使用十六进制表示。
2024-04-29 15:47:40
450
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人