dragon and boy in new year style

甲辰龙年

KMP Algo

0x00 缘起 又来欣赏艺术了,今天的主角是KMP Knuth–Morris–Pratt algorithm, 又看到Knuth大佬了,TAOCP的作者,图灵奖的获得者。 KMP算法旨在提供一 …

Fenwick Tree

0x01 背景 学习的过程,就是领略一代代天才凝结的智慧结晶。TA们的想法是如此的巧妙,就如同世界上最美妙的艺术品一般。今天要介绍的艺术品,叫做Fenwick Tree, 它巧妙的结构能让我们 …

Configure 8051 on Linux

0x00 前情提要 这几年我很喜欢做给自己用的产品,通常是根据自己的需求,一点一点的迭代,提升工作效率,我觉得很棒。尤其是接触到 suckless 这种针对 technical-users 的开发哲学 …

Picoctf Some Assembly Required Writeup

有意思的题 最近突然起了兴趣,准备把CTF比赛捡起来。准备从入门级的picoCTF开始刷,今天正好碰到一个有意思的题目,题目需要根据WebAssembly代码找出flag,正好也能熟悉 …

Resize a Canvas

起因 最近在一个教程里看到了一个神奇的写法: const canvas = document.getElementByID("#canvas"); const ctx = …

The Euclidean Algorithm

0x00 最大公因数 两数 a, b 的最大公因数指的是:能被a,b同时整除的因子中最大的一个 令g为 a,b的最大公因数,记作g=\gcd(a,b) 0x01 …

SVG 滤镜实现粘连效果(Gooey Effect)

0x00 前因 前段时间在这里 看到了下图的效果,感觉非常奇妙。该效果的实现主要用到了SVG Filter的知识,本文旨在探索涉及到的滤镜知识。 模糊粘连效果 <svg …

瀑布流与 Intersection Observer

0x01 瀑布流(Masonry) 最近在研究瀑布流布局,调查一番发现有许多实现方式。权衡一下最终还是选择了 JS + transform 定位去实现。 能够按行排序 transform + …

mix-blend-mode 实现任意形状蒙版

0x00 闲言少绪 mix-blend-mode的screen与multiply在使用得当的情况下,可以实现任意形状的蒙板效果。 screen: multiplies the background …

JS 中使用补间动画

0x00 前言 在没接触tweening概念之间,Canvas 动画是个很另人头疼的事。 如果想让方块从A点到B点,则需要在 requestAnimationFrame 中每帧让方块的x与y属性进 …

addEventListener 方法第三个参数的作用

长话短说(TLDR): 对不会冒泡的事件进行事件委托 0x00 前因 我需要完成一个效果:鼠标在进入某个 元素 时可以改变颜色、改变大小,显示文字,如下图所示 效果展示 我的想法是小球由 DIV 构 …