想学但是暂时没时间先占个位置
首页 | 时间线 | 分类 | 标签 | 关于 |
|
想学但是暂时没时间先占个位置
写了一个脚本,又回想起了之前的前端知识。
https://github.com/ancientElement/bilibili-filter-home
过滤指定类型的哔哩哔哩首页视频。喜欢的话可以点个星星。
一开始学的时候其实是看不懂的,之前做前端也是懵懵懂懂。Promise
就是将回调进行了封装,另外可以使用await
等待reject
或者reslove
的执行;
明白了原理之后其实很好复现。
1 | public class Test |
这个命令模式确实有点意思,可以将判断与执行解耦,并且可以回退,原因是Commmad记录了操作对象执行命令之前的状态,或者Revock可以给到一个相反的状态
并且文中提到如果使用第一公民函数的语言和闭包也可以实现,重点就是要可以记录状态。
1 | public interface BaseCommand |
翻译自:Separating Axis Theorem (SAT) Explanation – sevenson.com.au
Separating Axis Theorem (SAT) is a technique for calculating collisions between convex polygons.
分离轴定理 (SAT) 是一种计算凸多边形之间碰撞的技术。
I’m by no means an expert on it, but after the need arose for me to do some collision detection I did a pile of reading and finally got it working in ActionScript 3.
我绝不是这方面的专家,但是在我需要做一些碰撞检测之后,我做了大量的阅读,最终让它在 ActionScript 3 中工作。
I thought I would share what I learned in the hope others wouldn’t suffer so much 🙂
我想我会分享我所学到的东西,希望其他人不会遭受那么多🙂痛苦
When I found myself in a need to calculate collisions between polygons in flash, I came across a method known as Separating Axis Theorem (SAT). The only problem I had was that I really struggled to get a grasp on it.
当我发现自己需要在 Flash 中计算多边形之间的碰撞时,我遇到了一种称为分离轴定理 (SAT) 的方法。我唯一的问题是我真的很难掌握它。
通俗易懂的讲,在C#中,闭包使用类实现,闭包函数变成了一个类,闭包中使用的变量(其定义域外的)变成了其成员变量,修改这个变量就是修改其成员变量,这样也就可以理解为什么修改闭包定义域以外的变量运行结果也会变化。
所以可以将闭包称为有状态的函数。
https://www.bilibili.com/video/BV1sY4y1U7BT
下面是js中的典型闭包:
1 | for(var i=0;i<10;i++) { |
其实序列化有很多方法,二进制序列化只是其中的一种,就是将类中的变量以二进制的形式存储成为一个可读写的文件。
究其本源就是将类中的成员变量序列化成二进制数据,许多变量都可以进行二进制序列化,比如int``float``bool
等等,就是将int
转化成为16进制的int
,就是将float
转化成为16进制的flaot
,就是将bool
转化成为16进制的bool
。
如果有的类不可以序列化,那么可能是没有实现自己的序列化方法。
这里就不讲解如何序列化一个类了,简单的来说就是实现一个Serilized
方法,这个方法里面实现了每个值类型如何转化成为16进制数据,在这个方法里面,可以通过反射得到一个类所有的成员变量。然后将其成员变量按顺序转化为16进制数据,并且存储为二进制文件。
主流抗锯齿方案详解(一)MSAA - 知乎 (zhihu.com)
MSAA(Multisampling Antialiasing) 多次采样
原理是在单个像素点中再多加4个像素采样点