• RE:从0开始阅读Flask源码 Ⅱ

    我们已经基本理解了 Flask 的框架原理,即 Flask 通过与 WerkZeug WSGI 框架进行交互实现 HTTP Web Server 所需要具备的功能,但这些框架原理的讨论实际上是将 Flask 框架视作为一个黑箱,或者说视作了 Web Application Framework 的一个实例为前提进行的。我们所探究的是较为一般的 Web Application Framework 与 HTTP Server 如何协同工作从而实现 Web Server 的方式,并基本了解了 Flask 如何作为 Web Application Framework 与 WSGI 交互以启动 WebServer 的。但我们仍不了解 Flask 在抛开 Web Application Framework 所需要做的基本工作以外,其工作流具体是什么样的。我们将路由匹配,上下文,异常处理的具体实现暂时忽略,单纯的从 Flask 接收到请求并响应的工作流程这一抽象层级上来看看 Flask 是如何工作的

  • (译)(中英对照) Rust 让你觉得自己是个天才

    (译)(中英对照) Rust 让你觉得自己是个天才

    当我写 Rust 时,我觉得自己像个天才。我稍后会告诉你为什么,但首先看一个简单的问题,这段代码正确吗?

    When I write Rust , I feel like a genius . I’ll tell you why in a moment , but first a simple question . Is this code correct ?

  • RE:从0开始阅读Flask源码 Ⅰ

    简单解读 Flask 的源代码以了解 Flask 与类 Flask 框架中相关功能的具体实现,设计模式和代码组织方式

    Flask 框架的源代码写的非常简洁,例如 Flask 最早发行的 0.1 版本只包含了核心脚本 flask.py , 不考虑空行代码量仅 400 余行,故比较容易阅读与理解。不过 Flask 各个模块联系紧密,线性的阅读方式可能比较难以达成理想的阅读效果,因此本博客系列决定从一些功能切入,自顶向下地解读 Flask 的核心源代码,了解具体的实现方法,再掌握 Flask 框架的整体结构,最后在理想的条件下融汇贯通完整理解 Flask 框架的设计,真是一次酣畅淋漓的源代码阅读之旅啊!

    Flask,启动!

  • StreetFighter

    StreetFighter

    各单位注意,本人于 2024.3.23 21:17 登上大师位,望周知

  • To be Pythonic Ⅳ 推导与生成

    我们经常需要处理 list 、 dict 和 set 等数据结构,并以这种处理逻辑为基础构建程序。Python 提供了一种特殊的写法,叫做推导 (comprehension) ,可以简洁地迭代这些结构,并根据迭代结果派生出另一套数据。Python 还将这一理念运用到了函数上,也就是生成器。泛式可以使用迭代的任务都支持生成器函数(例如循环,带星号的表达式等)。生成器可以提升性能,减少内存用量并提升代码的可读性,是 Pythonic Code 的鲜明特征

  • To Be Python Ⅲ 函数

    不要把函数返回的多个数值拆分到三个以上的变量中函数返回多个返回值时实际上是返回了一个元组,同时返回的返回值就是元组中的元素。由于 Python 中存在 unpacking 机制,函数返回的多个返回值组成的元组可以被等号左边的变量接收。当函数存在较多返回值时,接收返回值时很容易出现搞错顺序导致出错或代码过长而看起来很别扭的情况。为了避免这些问题,最好不要吧函数返回的多个值拆分到三个以上的变...
  • 栈溢出攻击初探

    前置知识

    段 ( Segment )

    一个程序的本质就是 bss 段,data 段和 text 段。其中 text 和 data 段在可执行文件中,程序执行时由系统从可执行文件中加载,bss 段不在可执行文件中,但会被记录数据所需空间大小,在程序链接时链接器得到这个大小的内存块,紧跟在 data 段后面。包含 data 段和 bss 段的整个区段成为数据区。

15678911