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
另一种增量计算框架
工具链需要用到的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
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