反射reflect 一、引入 先看官方Doc中Rob Pike给出的关于反射的定义: 维基百科中的定义: 不同语言的反射模型不尽相同,有些语言还不支持反射。《Go 语言圣经》中是这样定义反射的: Go 语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具 ...
分类:
编程语言 时间:
2020-04-26 10:39:57
阅读次数:
61
博客日渐落寞,更新者越来越少,但是留下的很多都是精华,就像我之前推荐的那些博客一样。 http://macshuo.com/ MacTalk卖桃者,池建强,曾经任职锤子科技,现极客时间创始人。博客结合科技与人文,值得一看。 著有《MacTalk·人生元编程》,《MacTak·跨越边界》 https: ...
分类:
其他好文 时间:
2020-04-12 16:41:31
阅读次数:
57
Python Cookbook(第3版)中文版介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和Web编程,并发,实用脚本和系统管理,测试、调试以及 ...
分类:
编程语言 时间:
2020-04-12 00:11:05
阅读次数:
301
Julia语言具有强大的元编程机制,本文用Julia实现《SICP》中文第二版中第 99 页中的实例:符号求导,体验一下Julia元编程。 运行结果如下: julia> include("deriv.jl") # 加载代码multiplicand (generic function with 1 m ...
分类:
其他好文 时间:
2020-04-05 22:35:14
阅读次数:
142
最近Python关于协程和元编程我实在看不下去了,就来补一下MySQL的坑,第二章关于基准测试的部分先放着,放到最后再说。 先说重点吧,3-6掌主要是讲优化的。我看了一遍只能说懵懂懵懂,就借着写blog的机会再次学习一下。 我们常遇到的三个性能相关的服务请求是:如何确认服务器是否达到了性能最佳状态, ...
分类:
数据库 时间:
2020-02-25 12:32:17
阅读次数:
71
元编程的主要目标是创建函数和类,并用它们来操纵代码(比如修改、生成或者包装已有的代码)。Python中基于这个目的的主要特性包括装饰器、类装饰器以及元类。 9.1 给函数添加一个包装 问题 我们想给函数添加一个包装以添加额外的处理。 解决方案 写一个简单的装饰器 import time from f ...
分类:
编程语言 时间:
2020-02-16 01:07:33
阅读次数:
72
SFINAE 与 type_traits SFINAE 替换失败不是错误 (Substitution Failure Is Not An Error),此特性被用于模板元编程。 在函数模板的重载决议中应用此规则, 当将模板形参替换为显式指定的类型或推导的类型失败时,从重载集中丢弃这个特化,而非导致编 ...
分类:
其他好文 时间:
2020-02-05 13:52:18
阅读次数:
79
元编程 vs 动态代理 vs isa代理 springaop的底层实现有两种,一种是jdk的动态代理,另一种是cglib,springaop没有用到aspectj,只是借鉴了它并添加了aspectj风格的注解,使用aspectj必须用到它自己特殊的编译器和运行环境的插件。 https://zhida ...
分类:
编程语言 时间:
2019-12-18 19:03:18
阅读次数:
90
Java学了几个小时,这两天又被元编程搞死,准备粗粗写一些我的理解。后面还有协程需要理解。感觉年底之前搞定这些有点累。 先上参考文献:https://www.liaoxuefeng.com/wiki/1016959663602400/1017592449371072 https://stackove ...
分类:
其他好文 时间:
2019-12-02 23:56:19
阅读次数:
262
用代码来操纵代码(增删查该代码原来的逻辑和功能) 元编程的要素 1、元数据(描述目标的(运行时)结构、语法结构、二进制文件结构等) 2、元逻辑(系统和目标语言提供了什么样的支持来对元数据进行修改) 3、元编程(根据元数据、元逻辑和需求开发出的部件) 4、部署与运行机制。 一、元编程的编程层级(元数据 ...
分类:
其他好文 时间:
2019-10-16 18:08:53
阅读次数:
75