无价值人生记录.0:浪费 1000% 时间去做一个用来节省 1% 时间的“轮子玩具”(上:因缘)

用户头像
八苦-瞿昙
关注
发布于: 2020 年 07 月 11 日
无价值人生记录.0:浪费1000%时间去做一个用来节省1%时间的“轮子玩具”(上:因缘)

-0.1 系列目录

  1. 无价值人生记录.0

  2. AOP 有几种实现方式?

  3. 用 Roslyn 做个 JIT 的 AOP

  4. 基于 Source Generators 做个 AOP 静态编织小实验

  5. 思想无语言边界:以 cglib 介绍 AOP 在 java 的一个实现方式

  6. 常见的emit实现AOP demo

0. 重要备注

本文皆为个人的闲言碎语,不具备任何价值,大家不必放在心上,如果浪费了大家时间,大可骂我几句即可,就别打了我。

这篇随笔目的只是记录一下个人正在做的事情,当前时间节点上我为什么做这个事情,些许会掺杂一些技术想法,最核心其实只是通过随笔文字去与自我对话,清理掉繁杂的贪嗔痴。

1. 因缘

相信有许多同学应该有过觉得有些技术或者其他东西好有趣,想知道它们时怎么做到的,原理到底是什么的经历。



本人在两年前对 AOP 中的做静态编织 ( Static weaving ) 充满了兴趣,所以做了一些研究(实际就是google搜索+copy,何谈资格研究呀)



如下是当时的部分结果内容:

AOP静态编织 分为两条道路:

  • 使用预处理器添加源代码 c++等中存在类似宏的处理

  • 使用后处理器在编译后的二进制代码上添加指令, dotnet 里面可以叫做 IL 重写。

C# 里面有三种方式可以做静态编织:

  1. 可以使用Roslyn 在编译时修改AST添加拦截的代码 (不过暂时我没有在msbuild task的文档中找到怎么添加Roslyn 编译时修改,倒是可以自己利用Roslyn自己做编译,感觉这工作量有点大,有同学如果知道怎么添加Roslyn 编译时修改请一定要告知我,thanks very much)

  2. 使用mono.cecli或者dnlib 在编译后进行IL重写

  3. 实现CLR Profiling API 在JIT编译时修改method body。实现真正无任何限制的运行时静态AOP (不过貌似得用C++才能做CLR Profiling API)

完整的内容备份在 https://github.com/fs7744/Norns/blob/backup/old-design/README.md

当时因为担心roslyn 之外的技术去实现成本过大(时间工作量以及兼容性),而且本来只是研究的目的,并没有打算做个成品出来用,所以研究实验了一下就直接搁置了。



随后恍然之间发现自己积累的问题开始爆发

  • 发福严重

  • 开始秃头,掉发严重

  • 生活单调模式化,逐渐丧失了意义和动力,欲望和无法实现的愤慨交织掺杂

  • 没有女盆友,家人和朋友催婚行为日渐严重,永远在我面前的话题离不开 单身/爱情/婚姻/传宗接代

  • 意识到自身性格缺陷,不太合群,时而只爱静静,时而嘻嘻闹闹,反反复复,时常不顾及他人情绪

所以接下来的时间直接远离了github,停用qq,消减微信各种交流,过以前的生活,心开始离群索居,尝试各种平易近人的(便宜)人生玩法,试图找到人生的答案。



时至今日,

一切过往不过“空”一字涵盖,

一切皆为自己怎么想,怎么看,认为是什么样便会在自己面前是什么样,

这一切他人怎么想,怎么看,可能和自己相同,可能和自己不同,皆为他人自由,

没有什么人必须一起,没有什么事情必须有绝对意义,没有什么必须怎么样,

一切皆为相对,实质为空,而空因相对而有意义。

当然说着容易,做着难,所以这篇随笔也是我修行所走的路。



心态有了一些变化,

人生就感觉有了很多空闲时间可以让我挥霍(不在乎价值,不在乎成败,就是花费时间做想做的)了,

然后恰巧Roslyn有了一个实验特性: https://github.com/dotnet/roslyn/blob/master/docs/features/source-generators.md

本人又有研究的动力了,

所以我又开始了做 https://github.com/fs7744/Norns

这“玩具”最后有没人用,多少人关注,能带来多少名声,有啥可在乎的,

做完了我心满意足,做人最重要不是开心吗?

发布于: 2020 年 07 月 11 日 阅读数: 51
用户头像

八苦-瞿昙

关注

一个假和尚,不懂人情世故。 2018.11.23 加入

会点点技术,能写些代码,只爱静静。 g hub: https://github.com/fs7744 黑历史:https://www.cnblogs.com/fs7744

评论

发布
暂无评论
无价值人生记录.0:浪费1000%时间去做一个用来节省1%时间的“轮子玩具”(上:因缘)