Forwarded from ❌; Ζέφυρος Λύκος
为什么 shadowsocks-libev 占那么多内存就是因为要防重放
Forwarded from Node.js | ?!
Shadowsocks-libev有一个重放过滤器; 但是大多数的Shadowsocks实现则没有。重放过滤器可以防御一模一样的重放(类型1),如果载荷的最初几字节被改变了(类型2和3)那么过滤器就无法防御了。
Forwarded from ❌; Ζέφυρος Λύκος
Forwarded from ❌; Ζέφυρος Λύκος
GitHub
SIP004 - Support for AEADs implemented by large libraries · Issue #30 · shadowsocks/shadowsocks-org
Use AEADs to replace stream cipher + OTA. Previous discussion: #29. Proposed AEAD algorithms: ChaCha20-Poly1305 (see also: xSocks) XChaCha20-Poly1305 Salsa20-Poly1305 AES-256-GCM (faster but not lo...
https://www.blender.org/download/demo-files/ 真舒服
虽然我大概连用 blender 剪视频都不会,但模型摆拍还是做得到的 🤔
虽然我大概连用 blender 剪视频都不会,但模型摆拍还是做得到的 🤔
Blender
Demo Files — Blender
The Free and Open Source 3D Creation Software — blender.org
https://nasy.moe/Kusa/gron-make-json-greppable/
这个
ParserKt v3 的 example 要包含这个实现!
这个
gron 工具有意思!好像 find 的 recursive list 一样。json[0].commit.author = {};
json[0].commit.author.date = "2016-07-02T10:51:21Z"; ParserKt v3 的 example 要包含这个实现!
Nasy Land
gron -- Make JSON Greppable
Nasy 的花园,栽花养鱼闲聊的地方~
https://nasy.moe/Hana/Python/python-002/ #Python
不是有点奇怪吗?这里提到了一些 stream 操作(惰性函数式里实际上就是列表操作) map, any, all, filter 什么的
一句话总结一下,nasy 为了显得函数式,把
Py3 里 map 是一个 generator 了,惰性求值每次 next(这样 takeWhile 之类的操作就可以避免多余的结果内存分配)
所以不可能这么做,有以下 workaround:
+
我的意思是,为什么不定义
最后既然我都说了这么多了那总结完本文好了
不是有点奇怪吗?这里提到了一些 stream 操作(惰性函数式里实际上就是列表操作) map, any, all, filter 什么的
一句话总结一下,nasy 为了显得函数式,把
for x in xs: f(x) 以 map(f, xs) 替代,也因为禁止 for 关键字所以 [f(x) for x in xs] comprehension 也不可用。Py3 里 map 是一个 generator 了,惰性求值每次 next(这样 takeWhile 之类的操作就可以避免多余的结果内存分配)
所以不可能这么做,有以下 workaround:
+
list(map(f, xs))
+ for l in ls: f(l)
+ all(map(f, xs)), any(map(f, xs)) 我的意思是,为什么不定义
each_apply(f, xs) 或者 for_each(xs, f) 之类的,免得用 any(map(f, xs))。最后既然我都说了这么多了那总结完本文好了
[x+1 for x in range(0,10) if x > 5]
map(lambda x: x+1, filter(lambda x: x>5, range(0, 10))) #[7, 8, 9, 10]Nasy Land
立即执行 map 函数
Nasy 的花园,栽花养鱼闲聊的地方~