在大型应用或者分布式系统中,我们经常需要跨网络收集和处理日志信息。Python 标准库的 logging 模块提供了一种便捷的方式来实现这个功能。 使用场景 当需要将日志事件从一个应用程序(客户端)发…
分类: 编程语言
Python 日志记录完整示例,显示日期 / 时间,并且写入日志到文件
日志是追踪软件运行过程中发生的事件的一种机制。通过在代码中添加日志记录语句,开发人员可以记录程序运行时的重要信息,例如程序执行状态、变量值、错误信息等。这些信息可以帮助开发人员调试程序、监控系统运行状…
Python 函数式编程入门示例,与过程式编程区别是什么
在日常编程中,我们大多使用 过程式编程,即一步一步地告诉计算机如何执行任务。但还有一种强大的编程范式叫做 函数式编程,它将问题分解成一系列函数来解决。 函数式编程的本质 以流水线工作为例,每个工人只负…
Python 枚举类型 (enum) ,使用 @unique 装饰器,确保枚举值是唯一的
在 Python 中,枚举类型 (enum) 可以让我们定义一组命名常量。默认情况下,枚举允许多个名称对应同一个值。例如,你可以定义 NORTH = 1 和 UP = 1,它们都代表同一个值 1。 但…
Python 使用 GDB 调试 C API 扩展和 CPython 内部代码
在开发 CPython 扩展或者处理 CPython 内部用 C 语言编写的代码时,我们经常需要进行低层级的调试。这时,GDB 作为一款强大的调试器就成为了我们的首选工具。由于 GDB 本身并不理解 …
Python 描述器教程,自定义检查规则,实现数据验证
Python 的描述器,可以让我们在设置属性值时,加入一些自定义的检查规则。 什么是描述器? 描述器其实是一种特殊类型的对象,它可以控制我们如何访问类的属性。通过定义几个特殊的方法,比如 get()、…
使用 curses.wrapper() 简化 Python 终端程序调试
在编写与终端交互的 Python 程序时,经常需要处理复杂的屏幕控制、键盘输入以及异常处理。curses 库提供了一套工具来管理这些任务,但直接使用 curses 函数可能会比较繁琐,Python 提…
JavaScript 怎么合并对象,使用Object.assign()方法,复制对象的属性
在JavaScript编程中,我们常常需要把一个对象的属性转移到另一个对象里,以此来合并或者混合对象。ES6(ECMAScript 6)引入了Object.assign()方法,让这个过程变得简单。 …
深入理解 ECMAScript 6 新增数据结构:Map 对象详解与代码示例
以往我们要存储键值对数据时,虽然可以使用对象(Object)来实现,但对象存在一些限制,例如键名必须是字符串或 Symbol,并且难以迭代。为了解决这些问题,ECMAScript 6 引入了 Map …
JavaScript 中 ArrayBuffer 和 Float32Array 的使用指南
在 JavaScript 中,如果我们需要处理大量的二进制数据,例如图像、音频或 3D 模型,使用普通的数组可能会导致性能问题。这时,ArrayBuffer 和类型化数组(例如 Float32Arra…