标签: unix

257 篇文章

c++如何获取一个文件的总大小_c++文件大小获取方法
使用std::filesystem::file_size是C++17及以上推荐的跨平台方法,代码简洁且支持异常处理;若不支持C++17,Linux/macOS可选用POSIX stat函数,Windows平台则可用GetFileSize或GetFileSizeEx API获取文件大小。 在C++中获取一个文件的总大小有多种方法,常用的包括使用标准库…
C++如何进行TCP客户端和服务端通信_C++ TCP通信实现方法
TCP通信通过套接字实现,服务端创建套接字、绑定地址、监听、接受连接并收发数据;客户端创建套接字、连接服务端、收发数据。代码示例展示了Linux下服务端监听8080端口,客户端连接本地服务端并发送消息的流程。Windows需初始化Winsock环境。编译运行后可完成基础通信,核心为套接字生命周期管理。 在C++中实现TCP客户端和服务端通信,主要依…
Linux用户和权限管理的安全最佳实践
最小权限原则要求用户和进程仅拥有必要权限,避免赋予root权限,通过sudo提权并限制命令,服务账户禁止登录且权限最小化;定期审查sudoers文件,删除无用账户,禁用root直接登录,强密码策略由pam_pwquality实现,usermod -s /sbin/nologin限制服务账户登录;文件权限遵循u/g/o模型,敏感文件设600,禁用ch…
Golang如何实现并发安全的缓存
使用 sync.RWMutex 可实现读写安全的缓存,适用于读多写少场景;sync.Map 适合高并发下键频繁变化的情况;通过封装过期时间并启动清理 goroutine 支持 TTL;可选 channel 进行优雅控制。选择方案需根据读写比例、key 分布和是否需过期机制决定。 在Go语言中实现并发安全的缓存,核心是解决多个goroutine同时读…
如何在Golang中使用net包实现网络通信
net包是Golang网络编程核心,支持TCP、UDP等协议。通过net.Listen创建TCP服务器,net.Dial实现客户端通信,使用goroutine处理并发连接;UDP则用net.ListenPacket和ResolveUDPAddr实现无连接通信;需注意地址解析、错误处理及设置读写超时,及时关闭连接以避免资源泄漏。 在Golang中,n…
VS Code终端配置:环境变量与信号处理技术指南
合理配置环境变量和理解信号机制可提升VS Code终端使用效率。1. 项目级变量通过.env文件或launch.json中设置env字段实现,Node.js需手动加载;2. 用户/系统级变量需在操作系统中修改并重启VS Code生效;3. 终端启动时应确保正确shell及配置文件加载;4. Ctrl+C发送SIGINT终止进程,程序捕获该信号可能阻…
c++中静态链接库(.lib/.a)和动态链接库(.dll/.so)的区别_c++静态库与动态库区别解析
静态链接库在编译时嵌入可执行文件,生成独立程序但体积大;动态链接库运行时加载,节省空间且支持热更新,但需依赖外部文件。1. 静态库(.lib/.a)将代码复制到每个程序中,修改后需重编译全部项目;2. 动态库(.dll/.so)允许多进程共享同一份库文件,更新方便但存在版本兼容问题;3. 编译静态库需头文件和库文件参与链接,动态库仅需导入库(Win…
Pytest-HTML报告文件名动态定制与独立化指南
本文详细介绍了如何定制 `pytest-html` 生成的 html 测试报告的文件名,包括使用 `--html` 选项指定静态文件名,以及结合 shell 命令(如 `date`)实现动态、带时间戳的文件命名,以避免报告文件被覆盖。此外,还强调了使用 `--self-contained-html` 选项生成独立报告的重要性,确保每个报告及其所有资…
如何在Golang中实现静态文件缓存
答案:通过设置Cache-Control、ETag等响应头控制浏览器缓存,并结合文件哈希生成唯一URL,可高效实现Golang静态文件缓存。 在Golang中实现静态文件缓存,核心是利用HTTP响应头控制浏览器缓存行为,并结合文件指纹或版本化URL提升缓存效率。下面介绍几种实用方式。 使用HTTP缓存头控制浏览器行为 通过设置Cache-Contr…
PHP中从日期字符串高效提取年份的教程
本教程将详细介绍在php中如何从形如'yyyy-mm-dd'的完整日期字符串中准确提取出年份部分。文章将通过字符串分割和datetime对象两种主要方法,解决常见的`strtotime`误用导致的问题,并提供示例代码和注意事项,帮助开发者高效处理日期数据,确保获取到正确的年份信息。 在Web开发中,我们经常会遇到从用户输入、数据库或其他页面获取完整…
text=ZqhQzanResources