My Blogs
K12 English
Published 2023年01月28日 22:00 by james
K12 英语知识点总结
疑问词
疑问代词
- what
- who
- which
- whose
- whom
疑问形容词
(what、which、whose) + 名词
疑问副词
- when
- where
- why
- how
常见组合
十二生肖
🐁 | 🐂 | 🐅 | 🐇 | 🐉 | 🐍 |
Rat | Ox | Tiger | Hare … |
Django Best Practices: Models
Published 2022年12月08日 02:05 by james
Properly defining database models is arguably the most important part of a new project, however Django provides us with tremendous flexibility around how we structure our models.
There is an …
Python语言的指导原则
Published 2022年06月30日 17:00 by james
Guido van Rossum发明了Python,并确立了Python的指导原则,他被社区称为仁慈的独裁者(Benevolent Dictator For Life,BDFL)。 Tim Peters把这些原则写成了一段偈语,让我们一句一句来解释。
- 美观优于丑陋。(Beautiful is better than ugly.)这句话的意思是说代码是写给人看的,所以在所有程序中,代码都应该尽可能地好看,表达式语法应该简单,并且语法和风格应前后保持一致。
- 显明胜过隐晦。(Explicit is better than implicit.)绝大多数概念应该都是显式的,就像显式的布尔类型。我们直接用文字true和false表示布尔类型,而不需要用数字1和0表示。当然,Python也支持用数字表示布尔类型。而且非零值都可以作为布尔值。类似地,for循环可以处理任何数据结构,不需要考虑变量类型。一个循环语句既可以遍历元组的每个元素,也可以处理字符串的每个字符。
- 简单优于复杂。(Simple is better than complex.)Python的内存管理方式对用户而言很简单,通过垃圾回收器分配/回收内存,避免复杂操作。另一个范例就是简洁的print语句:不仅打印时可以避免使用文件描述符,而且多个对象用逗号隔开就可以自动转换成可以打印的形式。
- 复杂胜过混乱。(Complex is better than complicated.)科学计算的概念都很复杂,但并非程序结构都会十分混乱。即使产品结构十分复杂,Python的程序结构也不应该杂乱无章。Pythonic方式本质上就是简单、简洁,SciPy和NumPy程序包都是非常好的例子。 …
Django设计理念
Published 2022年04月10日 12:00 by james
TL;DR
- DRY(Don’t repeat yourself): 不重复造轮子
- MVT
- 快速开发
- 灵活易于扩展
- 松耦合
- 显式优于隐式
详情
总体
松耦合
Django
栈的基本目标是低耦合高内聚。框架里的不同层(Layers)不应该知道对方的代码,除非它们确实需要。
例如,模板系统不需要知道用户的Web请求,数据库层不需要了解如果显示数据,而视图并不关心程序员所使用的模板系统。
尽管为了方便Django
带有一个完整的堆栈,但堆栈的各个部分尽可能独立于另一个堆栈。
更少的代码
Django
应用的代码应该尽可能地精简,Django
应该充分利用Python
的动态能力,比如自省机制(introspection
)。 …
事务
Published 2022年03月31日 00:00 by james
事务
TL;DR
- [ ] 特性
- 原子性(
Atomic
): 构成事务的所有操作要么全部执行成功,要么全部执行失败,不可能出现部分执行成功,部分执行失败的情况。 - 一致性(
Consistency
): 在事务执行之前和执行之后,数据始终处于一致的状态。 - 隔离性(
Isolation
): 并发执行的两个事务之间互不干扰。 - 持久性(
Durability
): 事务提交完成后,此事务对数据的更改操作会被持久化到数据库中,并且不会被回滚。
- 原子性(
- [ ] 类型
- 扁平事务
- 带有保存点的扁平事务
- 链式事务
- 嵌套事务
- 分布式事务
- [ …