从Power Apps认识「数据连接器」
bookmark 什么是PowerApps连接器 Power Apps是微软的低码平台,和腾讯云的lowcode非常像。 Power Apps的数据来自2部分:连接器+数据源。这个和腾讯云低码平台有区别,低码平台没有单独抽象出「连接器」的概念,只有数据源。 如何使用连接器? Power APPs定义了2种连接器:官方内置的连接器、自定义链接。 对于官方的连接,支持各种常见的...
bookmark 什么是PowerApps连接器 Power Apps是微软的低码平台,和腾讯云的lowcode非常像。 Power Apps的数据来自2部分:连接器+数据源。这个和腾讯云低码平台有区别,低码平台没有单独抽象出「连接器」的概念,只有数据源。 如何使用连接器? Power APPs定义了2种连接器:官方内置的连接器、自定义链接。 对于官方的连接,支持各种常见的...
概述 介绍 class-validator 和 class-transformer 实现 DTO,以及一些复杂功能的实现,部分实现参考了 NestJS 的管道源码。 项目参考:github.com/dongyuanxin/cloudpress NestJS 中的 DTO NestJS 文档中提到了 2 种定义 DTO 的方法: 方法 1: 通过 joi 库创建 schema ...
什么是OpenAPI? openapi是用于定义API信息的规范。抽象了info、path、request、header、response等元信息(见官方文档),定义的约束文件是json-schema(见官方文档),生成的api信息是json配置文件(见GUI系统)。 除了此规范外,还有其它规范用于定义API,比如Google、Github都有自己的API规范。相较来说,swagger ...
介绍 如果用数组实现个简单的栈,那么弹出和插入复杂度都是O(N),因为会涉及到数组的动态扩容。 这里可以使用「线性栈」和「链表栈」: 链表栈(推荐):实现和链表一样,只是限制了链表操作,并且也没有扩容问题 线性栈:利用指针移动来实现,避免自动阔缩数组。当容量不够,自动阔缩,复杂度是O(N)。 但是由于读写是O(1),平均复杂度是O(1)。 线性栈...
json schema 作用 用一种通用规范,描述数据结构。 比如对于数据: { "name": "shijisun", "age": 24, "gender": "male" } 那么按照 json schema 的规范,它的结构是: { "type": "object", "properties": { "name": ...
特性 1: 内置对象 ImmutableJs 提供了大量的内置对象,它们和 js 的原生对象不同,可以互相转换。 这意味着在使用 ImmutableJs 时,对原来的代码会有比较大的侵入型,需要改造。 const { Map, List } = require("immutable"); const assert = require("assert"); // Immutable Ma...
什么是 Immutable Immutable 代表着不可变数据类型。它一旦被创建,不可被更改。 它不是 js 特有,是一种编程理念。在 js 中,一个常见的落地实现是 immutable.js 库。 可变数据类型与不可变数据类型 举个例子,在 js 中,默认都是可变数据类型: const obj = { name: "dongyuanxin", age: 22 }; const ...
方案 1: 排序 + 遍历 先对 N 个数做一次整体从大到小的快速排序,然后返回排序结果集合的前 K 个数。 优点:思路简单,时间复杂度是 O(NlogN) 缺点:当数据量(N)过大的时候,例如 10 亿个数字,一次读入内存不现实,需要考虑其它方案。 方案 2: 排序 + 文件切分 借助分布式的思想,分而治之计算部分结果,最终再汇总所有结果。 将 N 个数,切分成 m 个文件,分...
Hook 实现原理请参考 一文彻底搞懂react hooks的原理和实现 背景 挑选了 2 个最常用以及有代表性的自定义 hooks: useRequest:和数据有关,用于处理异步请求 useScroll:和操作有关,用于监听鼠标滚动,并且实时拿到最新的滚动数据 DIY 一个简易的 useRequest 这里模仿 ahooks.js,简单封装下 useRequest ...
Hook 实现原理请参考 一文彻底搞懂react hooks的原理和实现 原:不使用 React.memo 和 useMemo function C() { console.log(">>> C: render"); return <div>C</div>; } function B() { console.log("&...