From 07a0aeee660c3ba4b99dba7a3d690c715ab2fe8a Mon Sep 17 00:00:00 2001 From: lmj01 Date: Tue, 9 Jan 2024 15:24:42 +0800 Subject: [PATCH] update --- articles/2023/associateEditor.md | 1 + articles/2023/fractionalIndexing.md | 7 +++++++ {articles => cg/tools}/CAD.md | 0 dev-note/buildSystem.md | 16 ++++++++++++++++ index/article.md | 1 + index/computerScience.md | 2 +- 6 files changed, 26 insertions(+), 1 deletion(-) rename {articles => cg/tools}/CAD.md (100%) create mode 100644 dev-note/buildSystem.md diff --git a/articles/2023/associateEditor.md b/articles/2023/associateEditor.md index c59ce67..08170ad 100644 --- a/articles/2023/associateEditor.md +++ b/articles/2023/associateEditor.md @@ -6,6 +6,7 @@ ### CRDT > CRDT 的正式定义出现在 Marc Shapiro 2011 年的论文Conflict-free replicated data types中(而2006 的Woot可能是最早的研究)。提出的动机是因为最终一致性(Eventual Consistency) 的冲突解决设计很困难,很少有文章给出设计指导建议,而随意的设计的方案容易出错。所以这篇文章提出了简单的、理论证明的方式来达到最终一致性,也就是 CRDT。 +>> 高性能库[Y.js Shared data types for building collaborative software ](https://github.com/yjs/yjs) CRDT(conflict-free replicated data type)无冲突复制数据类型,是一种可以在网络中的多台计算机上复制的数据结构,副本可以独立和并行更新,不需要在副本之间协调,并保证不会有冲突. diff --git a/articles/2023/fractionalIndexing.md b/articles/2023/fractionalIndexing.md index d964dc9..db79bfa 100644 --- a/articles/2023/fractionalIndexing.md +++ b/articles/2023/fractionalIndexing.md @@ -2,6 +2,13 @@ 小数索引技术 +图形对象会使用 index 属性表示顺序,记录自己在同级图形中的位置, index的值为0到1,不包含边界值, + +figma处理时丢掉前面的0.,把小数部分转换为ascii中可打印的字符,共95个。 如0.2,0.3,之间就是0.25。 如果只是这样算,就想得太轻松了,数值计算从来不是小事。 + +精度问题,两个小数之间求中间点,多进行几次就会造成误差,与预期的产生错觉, 当然可以根据使用场景实际判断是否更改。 + +针对这个问题,就是用无限精度的类型,字符串来表示。可参考[David Greenspan](https://observablehq.com/@dgreensp/implementing-fractional-indexing),有人根据他的文章写了一个[npm库](https://github.com/rocicorp/fractional-indexing) ## 参考 diff --git a/articles/CAD.md b/cg/tools/CAD.md similarity index 100% rename from articles/CAD.md rename to cg/tools/CAD.md diff --git a/dev-note/buildSystem.md b/dev-note/buildSystem.md new file mode 100644 index 0000000..df6e53e --- /dev/null +++ b/dev-note/buildSystem.md @@ -0,0 +1,16 @@ +# BuildSystem +> 构建系统,把源码编译成目标对象,都需要使用构建系统来帮助 + + +## [CMake](https://cmake.org/) +> CMake is the de-facto standard for building C++ code, with over 2 million downloads a month. It’s a powerful, comprehensive solution for managing the software build process. Get everything you need to successfully leverage CMake by visiting our resources section. + +## [The Meson Build system](https://mesonbuild.com/) +> Meson® is a project to create the best possible next-generation build system. + +[github](https://github.com/mesonbuild/meson) + +## [Ninja](https://ninja-build.org/) +> Ninja is a small build system with a focus on speed + +[github](https://github.com/ninja-build/ninja) \ No newline at end of file diff --git a/index/article.md b/index/article.md index 4ae7642..261cfa0 100644 --- a/index/article.md +++ b/index/article.md @@ -18,6 +18,7 @@ - [cmd](../dev-note/cmd.md) - [bazel](../dev-note/bazel.md) - [Mathjax](../articles/mathjax.md) +- [build System](../dev-note/buildSystem.md) ### web diff --git a/index/computerScience.md b/index/computerScience.md index f94383f..8376ca5 100644 --- a/index/computerScience.md +++ b/index/computerScience.md @@ -55,7 +55,7 @@ - [LNLib is a C++ NURBS Algorithms Library. These algorithms are primary referenced from The NURBS Book 2nd Edition. ](https://github.com/BIMCoderLiang/LNLib) ### CAD - +- [CAD相关笔记](../cg/tools/CAD.md) - [FreeCAD is an open-source parametric 3D modeler made primarily to design real-life objects of any size](https://github.com/FreeCAD/FreeCAD) ### api