posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 game golang 客户端开发 Minigame Saas rust Python Java cg Typescript
typescript

《TypeScript编程入门》6.1 类、访问修饰符与参数属性

本节讲解 TypeScript 的类相比 JavaScript 多出了什么:访问修饰符如何约束成员的可见性,参数属性怎样把构造函数的样板赋值压缩成一行,普通私有成员与井号私有字段又有什么本质差别。读完本节,你能为真实工程里的领域模型写出既安全又简洁的类,并避开严格模式下属性未初始化的常见报错,为后续学习继承与多态打好基础。

9 分钟阅读
TypeScript TypeScript编程入门
python

《Python编程入门》6.1 类、实例与属性查找(MRO)

本节从 class 语句做了什么讲起,厘清 __init__ 是初始化器而非构造函数,实例属性与类属性的区别及可变类属性被所有实例共享的陷阱;再讲方法绑定中 self 的来源、property 与 setter、staticmethod 与 classmethod 的取舍,用 __mro__ 说清属性查找顺序与 C3 线性化,最后用 tracemalloc 实测 __slots__ 的内存收益。

6 分钟阅读
Python Python编程入门
typescript

《TypeScript编程入门》5.3 结构化类型与两者取舍

本节回答两个贯穿全章的问题:为什么 TypeScript 只比较类型结构、不比较类型名字,以及 interface 与 type 到底该怎么选。内容涵盖结构化类型(鸭子类型)的判定规则、它带来的「意外兼容」风险、用品牌类型模拟名义类型的工程手法,并给出一份可直接照做的取舍清单与代码评审要点。读完本节,你既能解释类型兼容背后的原理,也能在团队里统一 interface 与 type 的使用规范。

8 分钟阅读
TypeScript TypeScript编程入门
typescript

《TypeScript编程入门》5.2 type 别名、联合与交叉

本节讲解 type 别名的定义方式与它相对 interface 的独有能力:给联合类型、交叉类型、元组、函数、字面量起名字。重点剖析联合类型(这个或那个)与交叉类型(这个并且那个)的语义差别、组合规律与常见陷阱,并用一个状态机模型演示两者如何协同表达业务约束。读完本节,你能用类型精确描述「多种可能」与「多项能力叠加」,并知道何时该用 type、何时该用 interface。

7 分钟阅读
TypeScript TypeScript编程入门
typescript

《TypeScript编程入门》5.1 interface 定义对象结构

本节从「如何描述一个对象长什么样」这个问题出发,系统讲解 interface 的定义方式与核心能力:必填属性、可选属性、只读属性、方法签名、索引签名以及接口继承。读者将学会用 interface 为真实业务对象建模,理解 excess property check 的触发时机,并掌握常见报错的定位思路。读完本节,你能为 API 响应、配置项、组件 props 等结构化数据写出清晰的类型契约。

8 分钟阅读
TypeScript TypeScript编程入门 Interface
python

《Python编程入门》5.3 循环导入、命名空间包与惰性导入

本节处理导入体系里最易踩坑的三类问题:循环导入的成因与三种真实修法(调整导入位置、TYPE_CHECKING 类型专用导入、把共享部分抽到第三个模块)、PEP 420 命名空间包的机制与适用场景,以及惰性导入的几种做法,含 Python 3.15 的 PEP 810 语法与版本边界。最后用 python -X importtime 看导入与启动时间的关系。

8 分钟阅读
Python Python编程入门
python

《Python编程入门》5.2 包、__init__.py 与相对导入

本节聚焦「包」这种组织模块的方式:有 __init__.py 的目录发生了什么、空文件与写满代码的 __init__.py 各有什么代价、from 包.模块 import 名字 如何逐层解析、相对导入「只能在包内使用」的硬约束从何而来。还讲了 __all__ 对 import * 的控制、用 importlib 动态导入,以及预导入在易用性与启动时间间的取舍。

7 分钟阅读
Python Python编程入门
python

《Python编程入门》5.1 import 机制与模块搜索路径

本节从「Python 是怎么找到并加载模块」出发,讲透 import 的三种形式及差异、模块对象与名字绑定的区别、sys.modules 缓存带来的「模块只执行一次」语义,以及 sys.path 的构成与搜索顺序。重点用真实实验对比 python -m 与直接运行脚本时 sys.path[0] 的不同,解释相对导入为何会报错,并说明 __name__ 守卫的原理。

7 分钟阅读
Python Python编程入门
typescript

《TypeScript编程入门》4.3 泛型函数入门

泛型是 TypeScript 类型系统里最重要的复用机制。本节从「同一段逻辑要处理多种类型」这个朴素需求出发,讲清类型参数的含义、泛型函数的写法、类型参数的自动推断与显式指定,并重点说明泛型与 any 的本质差别——泛型保留类型信息,any 抹掉类型信息。最后给出多个类型参数、数组与对象泛型的常见模式,以及初学者最容易踩的推断陷阱。读完本节,你能为任意函数写出既不丢类型又足够通用的签名。

9 分钟阅读
TypeScript TypeScript编程入门
typescript

《TypeScript编程入门》4.2 重载、this 类型与箭头函数

一个函数在类型层面可以有多个签名,这就是函数重载。本节先讲清重载签名与实现签名的分工、匹配顺序以及常见的重载误用,再转向 TypeScript 对 this 的处理:this 参数如何显式声明、箭头函数为什么能锁住 this、以及回调里丢失 this 的经典错误如何被编译器提前拦下。读完本节,你能为同一个入口设计出精确的多形态签名,并彻底理解 this 在类型系统中的行为。

8 分钟阅读
TypeScript TypeScript编程入门
typescript

《TypeScript编程入门》4.1 签名、可选参数与默认值

函数是 TypeScript 程序的基本构件,而函数签名则决定了调用方能看到什么、编译器能替你检查什么。本节从函数类型注解讲起,逐步展开参数与返回值的标注方式、可选参数与默认值的语义差异、剩余参数与参数解构的写法,并给出严格模式下的常见报错与修复思路。读完后你将能写出签名清晰、对调用方友好、且能被编译器完整校验的函数,为后面学习重载与泛型打下基础。

7 分钟阅读
TypeScript TypeScript编程入门
python

《Python编程入门》4.2 函数:参数传递、默认值与作用域

本节把函数讲透:从定义与文档字符串说起,拆解位置、默认、*args、仅关键字、**kwargs 五种参数形态,以及调用时用 * 和 ** 解包。重点讲清默认值只在定义时求值一次的陷阱,它和 3.3 节的可变默认参数一脉相承。随后用 LEGB 规则解释名字查找,说明 global 与 nonlocal 的用法并给出闭包示例,最后介绍类型注解、lru_cache 与 partial。

7 分钟阅读
Python Python编程入门 函数
python

《Python编程入门》4.1 条件、循环与推导式

本节讲清 Python 的流程控制与推导式:先梳理哪些值为假,再拆解 if/elif/else、条件表达式、for 与 while、循环 else 子句、break 与 continue,以及 range、enumerate、zip(含 strict=True)。随后用列表、字典、集合、生成器四种推导式替代啰嗦循环,划清嵌套推导式边界,最后介绍 3.10 起的 match/case 模式匹配。

8 分钟阅读
Python Python编程入门