awsome-tech

Summary

罗列最近看到的不错的技术文章/新的东西 如果实际上用了会移动到具体方面

Rust

https://github.com/TimelyDataflow/timely-dataflow

https://github.com/TimelyDataflow/differential-dataflow

对于某些要求全局正确性的强状态服务的可能是必须的,看起来是可以做一个分布式的计算,并且根据增量的数据自动更新结果,缺点是需要把很多现有算法都重新实现成图对工程要求非常高 可能需要了解下datalog才能理解这种范式

https://github.com/frankmcsherry/blog

他的产品就是Materialize.io

https://salsa-rs.github.io/salsa/about_salsa.html

另一种增量计算框架

https://github.com/j178/prek

工具链需要用到的git钩子,主要是为了学库的结构

https://github.com/astral-sh/uv

python版本管理

这个uv对python的版本依赖使用的PubGrub算法来进行的

这也是下一代cargo要替换到的算法

介绍性博客 https://medium.com/@nex3/pubgrub-2fb6470504f

https://github.com/dart-lang/pub/blob/master/doc/solver.md (详细解释)

基于 https://potassco.org/book/ ASP (Answer Set Programming)

https://rust-lang.github.io/rust-project-goals/2024h2/pubgrub-in-cargo.html

https://github.com/astral-sh/ruff

类似python black但是更快

https://docs.rs/good_lp/latest/good_lp/index.html

线性规划求解器 https://docs.rs/lol_html/latest/lol_html/

html重写,他的api风格非常有趣

https://github.com/rust-lang/rust/issues/92985

LendingIterator 需要下一代求解器才能工作,不损耗性能的情况下,能证明生命周期的话,可以直接使用裸指针绕过

而不是把结构体设计成包含RefCell/Cell的结构,最好是从行为上封装,把unsafe的地区压到最低

https://docs.rs/dynosaur/latest/dynosaur/

提供一个方案来dyn调用async 函数,并且还能保留静态调度的优势是async_trait的直接上位替代品

https://rust-for-linux.com/arc-in-the-linux-kernel

这个其实也是为啥要搞arbitrary_self_types的原因

而且需要一个SmartPointer 的drive

https://rust-for-linux.com/

rrdebug 得阅读看看感觉实现原理挺神奇的

https://arxiv.org/pdf/1705.05937

Server

https://www.codedump.info/post/20220129-weekly-3/ https://www.cnblogs.com/fingerpass/p/game-server-programming-paradigm.html non-trivial buffer,ringbuffer,bufferlist https://github.com/hyperion-mc/hyperion 他的网络buffer确实跟我的类似rkyv

Connect


Reference

#fact