其中,AnyType、AppFlowy、Focalboard 均可以离线使用。而 FlowUs 目前正在完善核心的协作功能,离线模式/飞行模式也在规划之中。建议关注。 AnyType介绍一款有别于 Notion 的 All In One 的在线文档型工具。优点本地离线,没有网络也可以使用。高度重视隐私。 AnyType 采用了 IPFS 和 libp2p 等安全机制,高度重视用户的数据隐私安全。拥有独特的设计思想。AnyType 并不只是 Notion 离线版、加密版。 AnyType 并没有对 Notion 亦步亦趋,而是主张建立一款数字对象的操作系统。在 AnyType 中,存在不同类型的对象/Objects. 缺点产品还不够成熟;缺少 Database 等视图;缺少协作等多种功能;Anytype 官网微软 Loop、印象笔记 Verse 也是类 Notion 的应用。
Anytype,这个被称为“Everything App”的新星,正在尝试做到这一点。 Anytype 是什么? Anytype 的核心特性 统一的数据模型:Anytype 不区分笔记、任务或数据库。它使用一个统一的数据模型来处理所有类型的信息。 高度自定义:用户可以根据自己的需求,自由定义数据结构和视图。 跨平台同步:无论是 Mac、Windows、iOS 还是 Android,Anytype 都能保持数据的实时同步。 Anytype 的使用场景 个人知识管理:整理你的学习笔记、研究资料和创意想法。 Anytype 的独特之处 灵活性:Anytype 的设计哲学是“无模式”,这意味着你可以按照自己的方式组织信息。 扩展性:通过插件和 API,Anytype 可以与其他应用和服务无缝集成。 结语 在这个快速变化的世界里,Anytype 提供了一个令人兴奋的可能性——一个应用,整合你的全部数字生活。无论你是信息管理的新手还是老手,Anytype 都值得你一试。
> { private class Node<AnyType>{ public Node<AnyType> pre; public Node<AnyType> next; public AnyType data; public Node(AnyType d, Node<AnyType>p, Node<AnyType> n){} public Node(){} } private int theSize; private Node<AnyType> Header; private Node<AnyType> Tail; public MyList (){} public void add(AnyType item){} public boolean isEmpty(){} public int size(){} public AnyType 其构造函数的实现如下,不解释: View Code*/ public Node(AnyType d, Node<AnyType>p, Node<AnyType> n){ this.data =
> rotate( AnyType item, RedBlackNode<AnyType> parent ) { if( compare( item, parent ) < 0 > rotateWithRightChild( RedBlackNode<AnyType> k1 ) { RedBlackNode<AnyType> k2 = k1.right; ( theElement, null, null ); } RedBlackNode( AnyType theElement, RedBlackNode<AnyType RedBlackNode<AnyType> header; private RedBlackNode<AnyType> nullNode; private static final > current; private RedBlackNode<AnyType> parent; private RedBlackNode<AnyType> grand; private
代码示例 public class MyList<AnyType> { private class Node<AnyType>{ public Node<AnyType> pre; public Node<AnyType> next; public AnyType data; public Node(AnyType d, Node<AnyType>p, Node<AnyType > n){} public Node(){} } private int theSize; private Node<AnyType> Header; private Node<AnyType size(){} public AnyType get( int idx){} public void print(){} } /*Node<AnyType>类定义了双向链表中节点的结构 其构造函数的实现如下,不解释: View Code*/ public Node(AnyType d, Node<AnyType>p, Node<AnyType> n){ this.data =
= 1; private static class AvlNode<AnyType> { AvlNode(AnyType theElement) { this (theElement,null,null); } AvlNode(AnyType theElement,AvlNode<AnyType> lt,AvlNode<AnyType element; AvlNode<AnyType> left; AvlNode<AnyType> right; int height; } -1:t.height; } private AvlNode<AnyType> insert(AnyType x,AvlNode<AnyType> t) { if (t > rotateWithLeftChild(AvlNode<AnyType> k2) { AvlNode<AnyType> k1 = k2.left; k2.left =
ArrayList public class MyArrayList<AnyType> implements Iterable<AnyType> { /** * Construct an idx, AnyType newVal ) { Node<AnyType> p = getNode( idx ); AnyType oldVal = p.data > { public Node( AnyType d, Node<AnyType> p, Node<AnyType> n ) { data = d; prev = p; next = n; } public AnyType data; public Node<AnyType = 0; private Node<AnyType> beginMarker; private Node<AnyType> endMarker; } class TestLinkedList
泛型类 泛型类声明时,在类名后面的尖括号内,放置一个或多个类型参数 class GenericMemoryCall<AnyType> { private AnyType storedValue ; public AnyType read() { return storedValue; } public void write( AnyType public static <AnyType> boolean contains( AnyType[] arr, AnyType x ) { for( AnyType val : arr ) >接口,且该接口里的类型必须是泛型类型及其超类 public static <AnyType extends Comparable<? super AnyType>> AnyType findMax( AnyType[] arr ) { int maxIndex = 0; for( int i = 1; i < arr.length
. */ public class SeparateChainingHashTable<AnyType> { private static final int DEFAULT_TABLE_SIZE = 10; private List<AnyType>[] theLists; private int currentSize; public SeparateChainingHashTable x) { List<AnyType> whichList = theLists[myhash(x)]; if (! whichList.remove(x); currentSize--; } } public boolean contains(AnyType x ) { List<AnyType> whichList = theLists[myhash(x)]; return whichList.contains(x);
* @param x */ public AnyType remove( AnyType x ){ //需要自己尝试书写 //先查找是否存在,存在后删除 RedBlackNode <AnyType>p=find(x); RedBlackNode<AnyType>pParent=parent; if (p == null){ return null; //只有左儿子使用左儿子最大替换, RedBlackNode<AnyType>replacement=findReplaceMent(p); if(replacement! item) { grand=header; RedBlackNode<AnyType>p=header.right; RedBlackNode<AnyType>x=nullNode; RedBlackNode<AnyType>t=nullNode; RedBlackNode<AnyType>i=find(item); //先把p涂成红色,最后恢复 p.color=RED;
import java.util.LinkedList; import java.util.List; public class SeparateChainingHashTable<AnyType> { private static final int DEFAULT_TABLE_SIZE = 101; private List<AnyType>[] theLists; x){ List<AnyType> whichList = theLists[myhash(x)]; return whichList.contains(x); } /* * 数据的插入 */ public void insert(AnyType x){ List<AnyType> whichList = theLists[myhash x){ List<AnyType> whichList = theLists[myhash(x)]; if(whichList.contains(x))
例如一个交换模版: template<typename AnyType> //关键字template和typename是必须的 void Swap(AnyType &a,AnyType &b) //许多程序员习惯使用T代替AnyType { AnyType temp; temp=a; a=b; b=temp; } (在c++98添加关键字
> 在浏览器运行:http://localhost/soap.php后,返回结果如下 Array ( [0] => ArrayOf_xsd_anyType introduceAcceptedBusiness string $linknum, string $num, string $idcard, string $remark, string $address) [1] => ArrayOf_xsd_anyType $xmlStr) [4] => string introduceAcceptedBusinessByYddj(string $xmlParam) [5] => ArrayOf_xsd_anyType string $endtime) [6] => string queryCallOutOrderByConfig(string $xmlParam) ) Array ( [0] => anyType ArrayOf_xsd_anyType[] ) 其中有个方法 introduceAcceptedBusinessByStandardInterface(string $xmlStr),将是开发文档中提到的要使用的接口
一般将模板放在头文件中例子:原型:template <typename AnyType>void Swap(AnyType& a, AnyType& b);实现:template <typename AnyType > //typename可以用class代替,C++98提出使用关键字typenamevoid Swap(AnyType& a, AnyType& b){AnyType temp;temp
先在 Zig 中定义一个泛型 maxiumum 函数,用 anytype 和 @TypeOf(a) 替代 i32 类型参数。 在 maximum 函数在被调用时,将默认 anytype 为提供的参数类型。请注意,Zig 不是动态编程语言,在用不同参数类型调用 maximum 时,Zig 的编译情况也会不同。 anytype 不能用作是返回类型,因为我们不能在函数调用处再确定变量的具体类型。 , b: anytype) @TypeOf(a) { var result: @TypeOf(a) = undefined; if (a > b) { result = 为保证返回类型范围足够,我们可以让两个输入参数类型必须相同: fn maximum(a: anytype, b: anytype) @TypeOf(a) { const A = @TypeOf(
具体包括,Joplin、 Turtle、 Laverna、 Boostnote、 Anytype、 Focalboard、 TiddlyWiki 、 Athens、 Trilium.Joplin —— Boostnote 官网Anytype —— Notion 的开源替代品介绍一款有别于 Notion 的 All In One 的在线文档型工具优点本地离线,没有网络也可以使用。高度重视隐私。 AnyType 采用了 IPFS 和 libp2p 等安全机制,高度重视用户的数据隐私安全。拥有独特的设计思想。AnyType 并不只是 Notion 离线版、加密版。 AnyType 并没有对 Notion 亦步亦趋,而是主张建立一款数字对象的操作系统。在 AnyType 中,存在不同类型的对象/Objects. 缺点产品还不够成熟;缺少 Database 等视图;缺少协作等多种功能;Anytype 官网Focalboard —— Notion 的开源替代品介绍Trello、Notion 和 Asana 的开源、
Wolai 官网 AnyType 介绍 一款有别于 Notion 的 All In One 的在线文档型工具。 优点 本地离线,没有网络也可以使用。 高度重视隐私。 AnyType 采用了 IPFS 和 libp2p 等安全机制,高度重视用户的数据隐私安全。 拥有独特的设计思想。AnyType 并不只是 Notion 离线版、加密版。 AnyType 并没有对 Notion 亦步亦趋,而是主张建立一款数字对象的操作系统。在 AnyType 中,存在不同类型的对象/Objects. 缺点 产品还不够成熟; 缺少 Database 等视图; 缺少协作等多种功能; Anytype 官网 Coda 介绍 一款类似 Notion 的在线现代文档产品。 类工具的国产组件库 NotionPet Notion 优质资源汇总 Notion Like 软件横向评测 关于 Notion-Like 工具的畅想 参考资料 展开讲讲 Craft|我的 2021 年度应用 Anytype
public interface HashFamily <AnyType>{ //根据which来选择散列函数,并返回hash值 int hash(AnyType x, int which); super AnyType> hashFunctions; //定义散列函数个数 private final int numHashFunctions; //定义当前表 private AnyType[] array; //定义当前表的大小 private int currentSize; //定义rehash的次数 private int rehashes = 0; super AnyType> hf){ this(hf, DEFAULT_TABLE_SIZE); } //初始化操作 public CuckooHashTable(HashFamily super AnyType> hf, int size){ allocateArray(nextPrime(size)); doClear(); hashFunctions
也就是说他们必须借助于如下类似函数将他们的[]AnyType类型参数转换为[]interface{}类型: func conv(in []AnyType) (out []interface{}) {
complexType> 29 * <complexContent> 30 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType <complexContent> 38 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType complexContent> 43 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType * <complexContent> 192 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType lt;complexContent> 197 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType