Python深入学习
字节码与虚拟机 当每次调用函数或刚开始运行时候,建立新 frame,然后在这个 frame 的环境下一条条的运行 bytecode,每一条 bytecode 都有相应的 c 语言代码执行,在每一个 frame python 会维护一个 stack,然后 bytecode 和 stack 进行交互,当然也会和 code object 保存信息进行交互,执行逻辑运算结果 Code Object 编译一次就不会再改变 Frame 和 Code Object… »
女王控的博客
字节码与虚拟机 当每次调用函数或刚开始运行时候,建立新 frame,然后在这个 frame 的环境下一条条的运行 bytecode,每一条 bytecode 都有相应的 c 语言代码执行,在每一个 frame python 会维护一个 stack,然后 bytecode 和 stack 进行交互,当然也会和 code object 保存信息进行交互,执行逻辑运算结果 Code Object 编译一次就不会再改变 Frame 和 Code Object… »
基础 学习 Bash 的基础知识。具体地,在命令行中输入 并至少全文浏览一遍; 它理解起来很简单并且不冗长。其他的 shell 可能很好用,但 Bash 的功能已经足够强大到几乎总是可用的( 如果你只学习 zsh,fish 或其他的 shell 的话,在你自己的设备上会显得很方便,但过度依赖这些功能会给您带来不便,例如当你需要在服务器上工作时)。 熟悉至少一个基于文本的编辑器。通常而言 Vim ( ) 会是你最好的选择,毕竟在终端中编辑文本时 Vim 是最好用的工具(甚至大部分情况下 Vim… »
提供的源代码链接如无特殊说明均来自于 CPython repo 中的 Python3.7 分支。 背景 这本书旨在深入 Python 解释器之中,提供 python 程序运行机制的概念上的概述。本书描述的对象是 CPython 的解释器实现,它是目前最主流或者说官方的 Python 实现。 根据对解释器调用方式的不同,一个 Python 程序的执行可以分为两个或三个阶段,这些内容将会被涵盖在本书的不同章节中: 初始化(Initialization):这个阶段涉及到对于 python… »
入门 Hello, World 我们以现已成为传统的 案例来开始吧 Go 是一门编译型语言,Go 语言的工具链将源代码及其依赖转换成计算机的机器指令(译注:静态编译)。Go 语言提供的工具都通过一个单独的命令 go 调用,go 命令有一系列子命令。最简单的一个子命令就是 run。这个命令编译一个或多个以 .go 结尾的源文件,链接库文件,并运行最终生成的可执行文件(本书使用 表示命令行提示符。) 毫无意外,这个命令会输出: Go 语言原生支持 Unicode… »
高并发架构 消息队列 为什么使用消息队列? 优点 解耦:通过一个 MQ,Pub/Sub 发布订阅消息这么一个模型,A 系统就跟其它系统彻底解耦了。 异步:任务发到消息队列,由消费者异步消费 削峰:任务发到消息队列,由消费者决定消费速度 缺点 系统可用性降低:MQ 挂了如何处理?即如何保证消息队列的高可用? 系统复杂度提高:怎么保证消息没有重复消费?怎么处理消息丢失的情况?怎么保证消息传递的顺序性? 一致性问题:A 系统处理完直接返回成功,发到消息队列后供 B、C、D 消费,如果 B、D 成功、C… »