复习

多元微积分


哈密顿算子,nabla算子、场论

梯度、散度、旋度与数量场,向量场之间的转换。

https://www.bilibili.com/video/BV19s41157Z4/?spm_id_from=333.880.my_history.page.click

https://www.bilibili.com/video/BV1a541127cX/?spm_id_from=333.880.my_history.page.click

transformer:从数学角度解释为什么用缩放点积会有更稳的梯度
https://zhuanlan.zhihu.com/p/371143022

雅可比矩阵
https://baike.baidu.com/item/%E9%9B%85%E5%8F%AF%E6%AF%94%E7%9F%A9%E9%98%B5/10753754?fr=ge_ala

计算机与科学


进程和线程的关系及区别,进程间如何通讯,线程间如何通讯

设计模式


依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)

https://blog.csdn.net/leila_W/article/details/90105192

简单工厂、工厂模式、抽象工厂、工厂方法
简单工厂:单一工厂决定初始化哪一个具体类,抽象产品接口,具体产品
抽象工厂:有抽象工厂、具体工厂、抽象产品接口、具体产品接口

Flutter


abstract class Widget的主要方法 80行代码

子类:StatelessWidget、StatefulWidget、ProxyWidget、RenderObjectWidget
1.createElement():工厂方法创建抽象Element
2.canUpdate(Widget oldWidget,Widget newWidget):判断Widget 能否用来更新Element,Widget是Element的配置
3.key()

abstract class Element 大概有1500行代码

子类:ComponentElement、RenderObjectElement
孙类:StatelessElement、StatefulElement、ProxyElement、LeafRenderObjectElement、SingleChildRenderObjectElement、MultiChildRenderObjectElement
1.widget作为Element的配置
2.reassemble:hot reload时重新构建时调用
3.markNeedsBuild: 将Widget标记dirty下一帧刷新
4.Widget get widget => _widget!;Element和Widget是一对一的关系
StreamBuilder与Setstate

abstract class RenderObject 大概2200行代码

https://www.jianshu.com/p/62508ad21be5

Notification和NotificaionListener的使用,原理【沿着Widget树向上冒泡】。
使用场景:自定义Notification和监听ListView的滚动

AbsorbPointer不会阻止点击事件向上冒泡,IgnorePointer会阻止点击事件向上冒泡

Listener可以监听原始点击事件

Flutter为什么能跨平台【OpenGL和C++】

Widget、Element、RenderObject的生命周期
1.Widget CreateElement
2.mount creatRenderObject
3.canUpdate 决定着Element的复用
4.Element调用deactiveChild
5.inactive->unmount
6.需要重新插入 通过GlobalKey

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容