Typescript, Angular, 和移动端的跨平台开发Ryan Chen 陈亮, Engineering Manager Chromecast and Home, Google Typescript, Angular, 和移 动端的跨平台开发 1 What’s TypeScript? What’s TypeScript? ● A statically typed superset of JavaScript that compiles into0 码力 | 60 页 | 1.05 MB | 1 年前3
TypeScript 多场景设计方案及应用实践
} } 关键字 TS 请求 A类 B类 C类 α对象 β对象 Ω对象 TS 请求 A类 B类 C类 α对象 β对象 Ω对象 IoC容器器 TS 请求 A类 B类 C类 α对象 β对象 Ω对象 IoC容器器 TS 解决体验问题 尝试让⽤用户体感⼀一致,不不再考虑写法 服务层写法⼀一致,体验⼀一致 TS 体验上的问题 1、写法上的不不⼀一致 - Class Midway-orm Midway- schedule midway-rpc-generator Midway-rpc-mock TS Serverless 场景 前端绝佳的机会 TS FaaS 初探 平台 ⽹网关 函数 触发器器(事件) 运⾏行行时 ⼀一些概念 TS FaaS 初探 ⼀一些概念 Fn Fn Fn Node.js Runtime K8S API Gateway Business Code TS FaaS 框架 我们调研了了业界的⼤大部分 Serverless 的开发平台和开发的私 ⽤用习惯,虽然业务不不同,但是业务的代码量量依旧可观。 为什什么需要框架 TS Midway-FaaS ⽬目标: 1、体验⼀一致,⽅方便便代码模块迁移 2、跨平台发布 实现⼩小⽽而美 TS Midway-FaaS 实现⼩小⽽而美 Midway For Egg0 码力 | 95 页 | 8.28 MB | 1 年前3
Hello 算法 1.1.0 TypeScript版‧“时间和空间的增长趋势”表示复杂度分析关注的不是运行时间或占用空间的具体值,而是时间或空间 增长的“快慢”。 复杂度分析克服了实际测试方法的弊端,体现在以下两个方面。 ‧ 它独立于测试环境,分析结果适用于所有运行平台。 第 2 章 复杂度分析 hello‑algo.com 19 ‧ 它可以体现不同数据量下的算法效率,尤其是在大数据量下的算法性能。 Tip 如果你仍对复杂度的概念感到困惑,无须担心,我们会在后续章节中详细介绍。 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 5 ns 等。 3. 统计代码中所有的计算操作,并将所有操作的执行时间求和,从而得到运行时间。 例如在以下代码中,输入数据大小为 ? : // 在某运行平台下 function (6? + 12) ns : 1 + 1 + 10 + (1 + 5) × ? = 6? + 12 但实际上,统计算法的运行时间既不合理也不现实。首先,我们不希望将预估时间和运行平台绑定,因为算 法需要在各种不同的平台上运行。其次,我们很难获知每种操作的运行时间,这给预估过程带来了极大的难 度。 2.3.1 统计时间增长趋势 时间复杂度分析统计的不是算法运行时间,而是算法运行时间随着数据量变大时的增长趋势。0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版‧“时间和空间的增长趋势”表示复杂度分析关注的不是运行时间或占用空间的具体值,而是时间或空间 增长的“快慢”。 复杂度分析克服了实际测试方法的弊端,体现在以下两个方面。 ‧ 它独立于测试环境,分析结果适用于所有运行平台。 第 2 章 复杂度分析 hello‑algo.com 18 ‧ 它可以体现不同数据量下的算法效率,尤其是在大数据量下的算法性能。 � 如果你仍对复杂度的概念感到困惑,无须担心,我们会在后续章节中详细介绍。 图的相关问题,因为它们非常适合用分治思想进行分 析。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想要准确预估一段代码的运行时间,应该如何操作 呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns,乘法操作 * 需要 10 ns,打印操作 print() 统计代码中所有的计算操作,并将所有操作的执行时间求和,从而得到运行时间。 例如在以下代码中,输入数据大小为 ? : 第 2 章 复杂度分析 hello‑algo.com 26 // 在某运行平台下 function algorithm(n: number): void { var a: number = 2; // 1 ns a = a + 1; // 1 ns a = a * 2;0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版复杂度分析克服了实际测试方法的弊端,体现在以下几个方面。 第 2 章 复杂度分析 www.hello‑algo.com 19 ‧ 它无需实际运行代码,更加绿色节能。 ‧ 它独立于测试环境,分析结果适用于所有运行平台。 ‧ 它可以体现不同数据量下的算法效率,尤其是在大数据量下的算法性能。 Tip 如果你仍对复杂度的概念感到困惑,无须担心,我们会在后续章节中详细介绍。 复杂度分析为我们提供了一把评估算法效 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 5 ns 等。 3. 统计代码中所有的计算操作,并将所有操作的执行时间求和,从而得到运行时间。 例如在以下代码中,输入数据大小为 ? : // 在某运行平台下 function (6? + 12) ns : 1 + 1 + 10 + (1 + 5) × ? = 6? + 12 但实际上,统计算法的运行时间既不合理也不现实。首先,我们不希望将预估时间和运行平台绑定,因为算 法需要在各种不同的平台上运行。其次,我们很难获知每种操作的运行时间,这给预估过程带来了极大的难 度。 2.3.1 统计时间增长趋势 时间复杂度分析统计的不是算法运行时间,而是算法运行时间随着数据量变大时的增长趋势。0 码力 | 383 页 | 18.49 MB | 10 月前3
TypeScript 4.0 使用手册
6. } 这里我们想让 languageName 表示应用使用的编程语言(例如,TypeScript或者 JavaScript), enthusiasmLevel 是可变的。 在写我们的第一个容器的时候,就会明白为什么要 令state与props稍有不同。 下面我们创建这个应用将要响应的消息类型, src/constants/index.tsx 。 1. // src/constants/index 输入,可以测试reducers生成的新的状态。 可以考虑使用Jest的toEqual方法。 在使用Redux时,我们常常要创建组件和容器。 组件是数据无关的,且工作在表现层。 _容器_通常包 裹组件及其使用的数据,用以显示和修改状态。 你可以在这里阅读更多关于这个概念的细节:Dan Abramov写的_表现层的容器组件_。 现在我们修改 src/components/Hello.tsx ,让它可以修改状态。 我们将添加两个可选的回调属性16. ); 创建容器 React - 69 - 本文档使用 书栈网 · BookStack.CN 构建 17. } 通常情况下,我们应该给 onIncrement 和 onDecrement 写一些测试,它们是在各自的按钮被点击 时调用。 试一试以便掌握编写测试的窍门。 现在我们的组件更新好了,可以把它放在一个容器里了。 让我们来创建一个文 件 src/containers/Hello
0 码力 |
683 页 |
6.27 MB
| 1 年前
3
TypeScript Handbook(中文版)
number; } 这里我们想让 languageName 表示应用使用的编程语言(例如,TypeScript或者 JavaScript), enthusiasmLevel 是可变的。 在写我们的第一个容器的时候,就 会明白为什么要令state与props稍有不同。 添加actions 下面我们创建这个应用将要响应的消息类型, src/constants/index.tsx 。 // src/constants/index 针对每个输入,可以测试reducers生成的新的状态。 可以考虑使用Jest的 toEqual方法。 创建容器 在使用Redux时,我们常常要创建组件和容器。 组件是数据无关的,且工作在表现 层。 容器通常包裹组件及其使用的数据,用以显示和修改状态。 你可以在这里阅 读更多关于这个概念的细节:Dan Abramov写的表现层的容器组件。 TypeScript Handbook(中文版) 81 React 现在我们修改 通常情况下,我们应该给 onIncrement 和 onDecrement 写一些测试,它们是在 各自的按钮被点击时调用。 试一试以便掌握编写测试的窍门。 现在我们的组件更新好了,可以把它放在一个容器里了。 让我们来创建一个文 件 src/containers/Hello.tsx ,在开始的地方使用下列导入语句。 TypeScript Handbook(中文版) 82 React import
0 码力 |
557 页 |
7.48 MB
| 1 年前
3
Hello 算法 1.2.0 繁体中文 TypeScript 版
,其中的每個元素代表一個垂直隔板的高度。陣列中的任意兩個隔板,以及它們之 間的空間可以組成一個容器。 容器的容量等於高度和寬度的乘積(面積),其中高度由較短的隔板決定,寬度是兩個隔板的陣列索引 之差。 請在陣列中選擇兩個隔板,使得組成的容器的容量最大,返回最大容量。示例如圖 15‑7 所示。 圖 15‑7 最大容量問題的示例資料 容器由任意兩個隔板圍成,因此本題的狀態為兩個隔板的索引,記為 [?, ?] 。 15‑10 中,移動短板後面積變大。 第 15 章 貪婪 www.hello‑algo.com 359 圖 15‑10 向內移動短板後的狀態 由此便可推出本題的貪婪策略:初始化兩指標,使其分列容器兩端,每輪向內收縮短板對應的指標,直至兩 指標相遇。 圖 15‑11 展示了貪婪策略的執行過程。 1. 初始狀態下,指標 ? 和 ? 分列陣列兩端。 2. 計算當前狀態的容量 ???[?,
0 码力 |
384 页 |
18.80 MB
| 10 月前
3
Hello 算法 1.0.0b1 TypeScript 版
关系; ‧“增长趋势”表示复杂度分析不关心算法具体使用了多少时间或占用了多少空间,而是给出一种“趋势性 分析”; 复杂度分析克服了实际测试方法的弊端。一是独立于测试环境,分析结果适用于所有运行平台。二是可以体现 不同数据量下的算法效率,尤其是可以反映大数据量下的算法性能。 如果感觉对复杂度分析的概念一知半解,无需担心,后续章节会展开介绍。 2.1.3. 复杂度分析重要性 复杂度分析给 的复杂度分析。 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间能够直观且准确地体现出算法的效率水平。如果我们想要 准确预估一段代码的运行时间,该如何做 呢? 1. 首先需要 确定运行平台,包括硬件配置、编程语言、系统环境等,这些都会影响到代码的运行效率。 2. 评估 各种计算操作的所需运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作需要 5 时间。 例如以下代码,输入数据大小为 ? ,根据以上方法,可以得到算法运行时间为 6? + 12 ns 。 1 + 1 + 10 + (1 + 5) × ? = 6? + 12 // 在某运行平台下 function algorithm(n: number): void { var a: number = 2; // 1 ns a = a + 1; // 1 ns a = a * 2;
0 码力 |
186 页 |
14.71 MB
| 1 年前
3
抛开文档,让Web开发更高效 - Typescript 项目第三方类库使用指南
2D / 3D 游戏引擎: Egret Engine 轻量 APP 开发: 青雀平台 可视化开发环境:Egret Wing 开发者、渠道商和第三方服务商的服务平台 • TypeScript 简介 • TypeScript 开发环境 • 如何使用现有 JavaScript 库 超集 静态类型 JavaScript npm install typescript –g npm install
0 码力 |
24 页 |
961.21 KB
| 1 年前
3
共 10 条
- 1













