猴子补丁、垃圾回收机制 一 猴子补丁 1 什么是猴子补丁 属性在运行时的动态替换,叫做猴子补丁(Monkey Patch) 。 猴子补丁的核心就是用自己的代码替换所用模块的源代码。 2 猴子补丁的功能(一切皆对象) 拥有在模块运行时替换的功能,例如:一个函数对象赋值给另一个函数对象(把函数原本的执行 ...
分类:
其他好文 时间:
2021-06-25 17:23:33
阅读次数:
0
一、re模块 1、正则的概念: 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 ...
分类:
Web程序 时间:
2021-01-08 11:24:16
阅读次数:
0
一、 元类(***)难点 定义类,控制对象产生 定义元类,控制类产生(看源码时用) 二、 单例模式 设计模式的一种 三种方式实现单例模式 三、猴子补丁 理论知识 四、内置函数 五、垃圾回收机制 理论知识 ...
分类:
其他好文 时间:
2020-08-20 18:26:00
阅读次数:
61
angular2 脏检查总述 这系列文章将介绍angular2的脏值检查是如何工作的?如何比ng1更高效?带着上述问题,让我们一起来看看angular2这禽兽(谁让它叫angular,又那么生猛)干了什么。 什么是脏值检查 片面的说脏检查是对比当前的数据和曾经的数据是否发生改变。而在这个contex ...
分类:
Web程序 时间:
2020-05-21 14:45:39
阅读次数:
66
打补丁得时候需要在方法中实现,如果直接在外部调用猴子补丁,在odoo服务启动时,就会出现锁异常,会出现死锁, 错误的示范: 正确的示范: ...
分类:
其他好文 时间:
2020-01-11 10:11:03
阅读次数:
119
猴子补丁 什么是: 1,这个词原来为Guerrilla Patch,杂牌军、游击队,说明这部分不是原装的,在英文里guerilla发音和gorllia(猩猩)相似,再后来就写了monkey(猴子)。 2,还有一种解释是说由于这种方式将原来的代码弄乱了(messing with it),在英文里叫mo ...
分类:
其他好文 时间:
2019-12-06 19:53:46
阅读次数:
114
Gevent官网文档地址:http://www.gevent.org/contents.html 进程、线程、协程区分 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程。 在linux系统中,线程就是轻量级的进程,而我们通 ...
分类:
其他好文 时间:
2019-11-20 23:31:04
阅读次数:
91
我们都知道使用gevent协程时,经常会看见在导入包的时候看见这样的代码 from gevent import monkey; monkey.patch_all() monkey.patch_all()作用呢,就是将阻塞的改成非阻塞 具体有哪些呢。 Example: 执行发现报错了。loop_exi ...
分类:
其他好文 时间:
2019-10-23 11:39:02
阅读次数:
99
协程工作的特点是遇到阻塞或耗时的任务时就切换,协程的生存依赖于线程,线程依赖于协程 一个似乎有点问题的例子 输出结果: 貌似这样的结果并未能达到我们所期待的并发效果,任务仍旧是按部就班的执行。答案在于使用gevent时,相关的一切都要更换成gevent的 耗时,阻塞部分换成gevent库的实现 输出 ...
分类:
编程语言 时间:
2019-10-04 18:54:42
阅读次数:
150
“猴子补丁”就是指,在函数或对象已经定义之后,再去改变它们的行为。 举个例子: import datetime datetime.datetime.now = lambda: datetime.datetime(2012, 12, 12) 大部分情况下,这是种很不好的做法 - 因为函数在代码库中的行 ...
分类:
编程语言 时间:
2019-09-03 10:04:51
阅读次数:
148