日志是软件工程中最基础也是最重要的能力之一。无论是Web服务、AI应用、数据处理任务、自动化脚本、后台Worker,都离不开日志。Python标准库提供了logging。它功能强大,但实际工程使用中经常会遇到一些问题:
- 配置复杂
- 格式设置繁琐
- 文件滚动需要额外配置
- 多模块项目初始化麻烦
例如标准logging:
|
|
简单记录一条日志到文件,需要很多代码。这也是为什么可以尝试用Loguru。
日志是软件工程中最基础也是最重要的能力之一。无论是Web服务、AI应用、数据处理任务、自动化脚本、后台Worker,都离不开日志。Python标准库提供了logging。它功能强大,但实际工程使用中经常会遇到一些问题:
例如标准logging:
|
|
简单记录一条日志到文件,需要很多代码。这也是为什么可以尝试用Loguru。
论文:You Only Look Once: Unified, Real-Time Object Detection
作者:Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi
Python诞生于1991年,经过30多年发展,已经成为:
但Python工程化一直存在一个问题:
代码开发体验优秀,但项目管理体验长期落后。
特别是在依赖管理方面。
在日常开发中CSV导入是一个比较常见的数据处理场景。例如:
很多项目开始都会写出类似下面的代码:
|
|
数据只有几千条时,这段代码运行地非常流畅。然而,当数据增长到几十万甚至几百万条之后,问题便开始暴露出来:
在阅读一些大型 C++ 项目源码时,经常会看到类似下面这样的代码:
|
|
第一次看到这种写法,很多人都会疑惑:
Impl类?.cpp中实现?实际上,这就是C++中非常经典的Pimpl(Pointer to Implementation)设计模式。本文将从设计思想、实现方式、优缺点以及使用场景几个方面详细介绍Pimpl。
Hugo基于 Chroma 实现代码高亮,对 Go、Python、C++、Matlab 等主流语言都提供了开箱即用的支持。最近阅读机器视觉算法与应用 第2版 (Carsten Steger)时,需要在博客中展示 HDevelop 代码,却发现 Hugo 默认并不支持这种语言。与其退而求其次使用普通文本展示,不如直接扩展 Hugo 的语法高亮能力。因此本文记录整个实现过程,包括:
在软件开发、系统运维和DevOps 等领域,有一个永远存在的问题:大量重复性的工作正在消耗工程师的时间。每天登录服务器、检查日志、修改配置、部署应用、整理数据、生成报告……这些事情单次并不复杂,但重复几十次、几百次之后,就变成了巨大的时间成本。PowerShell(pwsh)就是解决这类问题的工具之一。它不仅是一门脚本语言,更是一套现代化自动化平台。本文将从基础语法开始,一直到脚本工程实践,全面介绍如何使用 pwsh 构建可靠、高效的自动化工具。