2019-2021 美团技术年货 前端篇255 外卖客户端容器化架构的演进 270 Flutter 包大小治理上的探索与实践 297 美团外卖持续交付的前世今生 326 微前端在美团外卖的实践 352 积木 Sketch 插件进阶开发指南 372 积木 Sketch Plugin:设计同学的贴心搭档 400 Native 地图与 Web 融合技术的应用与实践 431 目录 前端 | 2019 446 MTFlexbox 行和交互能力之上,我们更需要关注 Flutter 与鸿蒙自身生态的结合:如何优雅地适配鸿蒙的分布式技术?如何用 Flutter 实现设备之间的快速连接、资源共享?现有的众多 Flutter 插件如何应用到鸿蒙系统 上?未来 MTFlutter 团队将在这些方面做更深入的探索,因为解决好这些问题,才是 真正能让应用覆盖用户生活的全场景的关键。 参考文献 ● https://developer Flutter Web 的工作主要还集中在 dart:ui(Web)的对齐,工程 化和性能相关的事项做的还比较少,例如: 前端 < 17 ● Flutter Web 构建产物较简陋,只是简单的输出 main.dart.js(1.1M,未 Gzip) 和 图片等静态资源,缺少 JS 拆包、文件 Hash、资源上传 CDN 等优 化工作,极大影响了页面的加载性能。 ● 由于 Flutter0 码力 | 738 页 | 50.29 MB | 1 年前3
Hello 算法 1.0.0b1 JavaScript版算法是什么 1.2.1. 算法定义 「算法 Algorithm」是在有限时间内解决特定问题的一组指令或操作步骤。算法具有以下特性: ‧ 问题是明确的,需要拥有明确的输入和输出定义。 ‧ 解具有确定性,即给定相同输入时,输出一定相同。 ‧ 具有可行性,可在有限步骤、有限时间、有限内存空间下完成。 ‧ 独立于编程语言,即可用多种语言实现。 1.2.2. 数据结构定义 「数据结构 Data 乐高」类比到「数据结构与算法」,那么可以得到下表所示的对应关系。 数据结构与算法 LEGO 乐高 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 1. 引言 hello‑algo.com 11 � 约定俗成的简称 在实际讨论中,我们通常会将「数据结构与算法」直接简称为「算法」。例如,我们熟称的 LeetCode 算法 算法运行中,使用的内存空间主要有以下几种: ‧「输入空间」用于存储算法的输入数据; ‧「暂存空间」用于存储算法运行中的变量、对象、函数上下文等数据; ‧「输出空间」用于存储算法的输出数据; � 通常情况下,空间复杂度统计范围是「暂存空间」+「输出空间」。 暂存空间可分为三个部分: ‧「暂存数据」用于保存算法运行中的各种 常量、变量、对象 等。 ‧「栈帧空间」用于保存调用函数的上下文数据。系0 码力 | 185 页 | 14.70 MB | 1 年前3
Hello 算法 1.0.0b5 JavaScript版算法定义 「算法 algorithm」是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 所示。 表 1‑1 将数据结构与算法类比为积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 算法在运行过程中使用的内存空间主要包括以下几种。 ‧ 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文0 码力 | 375 页 | 30.68 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版算法定义 算法(algorithm)是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 算法在运行过程中使用的内存空间主要包括以下几种。 ‧ 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版算法定义 算法(algorithm)是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 算法在运行过程中使用的内存空间主要包括以下几种。 ‧ 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文0 码力 | 379 页 | 18.47 MB | 10 月前3
Hello 算法 1.0.0 JavaScript版算法定义 「算法 algorithm」是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 算法在运行过程中使用的内存空间主要包括以下几种。 ‧ 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文0 码力 | 376 页 | 17.57 MB | 1 年前3
前端开发者指南(2017)Assembly 有望达到一个新的高度。 有望在 中使用 import 进行模块懒加载。详情见这里 JavaScript 同构解决方案持续增长,致敬服务器端输出前端内容的时代(即:页面直出 到浏览器)。参见 NextJS 响应式编程继续茁壮成长。(参见 MobX and RxJS) React,尤其是它倡导的概念继续占有支配地位。而 React 本身会被彻底重写(React 是一个高级的、动态的、弱类型的解释性编程语言,被包含在 ECMAScript 的语言规范中。同 HTML 和 CSS 一样,它是万维网内容生产环节必不可少的三种技术 之一,被大多数网站所使用,并且在不需要使用插件的情况下被所有现代的浏览器所支 持。Javascript 基于原型并且把函数视为头等公民,因此是一种多范式的编程语言,支持 面向对象,命令式以及函数式编程风格。它有一个可被用来操作文字,数组,日期以及 JavaScript是一种高级的、动态的、无类型的、解释型的的编程语言。它是万维网内容制 作的,除了HTML和CSS以外的三大基本技术之一;大多数网站都在使用它,并且所有现 代的Web浏览器无插件的支持。JavaScript是基于原型并具备极好的功能,这使它成为一 种多范式的语言,支持面向对象、指令式和函数式编程风格。它提供文字、数组、日期 和正则表达式的操作API,但不支持任何I/O相关的,例如网络、存储或图形设备,这取0 码力 | 164 页 | 6.43 MB | 1 年前3
JavaScript Promise迷你书(中文版)的、Promise的相关知识为主要讲解内容。 在Firefox和Chrome这样技术比较超前的浏览器上,不需要安装额外的插件就能使用 Promise功能,此外ES6 Promises的规范来源于Promises/A+社区,它有很多版本的实 现。 我们将会从基础API开始介绍可以在浏览器的原生支持或者通过插件支持的Promise功 能。 也希望各位读者能了解这其中Promise适合干什么,不适合干什么,能根据实际需 方法来设置resolve后的回调函数, catch 方法来设置发生错误时的回调函数。 该promise对象会在setTimeout之后的16ms时被resolve, 这时 then 的回调函数会被调 用,并输出 'Async Hello world' 。 在这种情况下 catch 的回调函数并不会被执行(因为promise返回了resolve), 不过如 果运行环境没有提供 setTimeout then(function(value){ console.log(value); // 3 }); console.log("outer promise"); // 2 执行上面的代码会输出下面的log,从这些log我们清楚地知道了上面代码的执行顺序。 inner promise // 1 outer promise // 2 JavaScript Promise 迷你书(中文版)0 码力 | 112 页 | 1010.02 KB | 1 年前3
廖雪峰JavaScript教程20. alert('测试失败!'); 21. } 请把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入: ['adam', 'LISA', 'barT'] ,输出: ['Adam', 'Lisa', 'Bart'] 。 1. 'use strict'; 2. 3. function normalize(arr) { 4. 5. return … of 循环迭代generator对象,这种方式不需要我们自己判断 done : 1. for (var x of fib(5)) { 2. console.log(x); // 依次输出0, 1, 1, 2, 3 3. } generator和普通函数相比,有什么用? 因为generator可以在执行过程中多次返回,所以它看上去就像一个可以记住执行状态的函数,利用这 一点, "middle-school":"\"W3C\" Middle School","skills":["JavaScript","Java","Python","Lisp"]}' 要输出得好看一些,可以加上参数,按缩进输出: 1. JSON.stringify(xiaoming, null, ' '); 结果: 1. { 2. "name": "小明", 3. "age": 140 码力 | 264 页 | 2.81 MB | 10 月前3
阮一峰 JavaScript 教程控制其他大型应用程序(比如浏览器)的“脚本”。 JavaScript 也是一种嵌入式(embedded)语言。它本身提供的核 心语法不算很多,只能用来做一些数学和逻辑运算。JavaScript 本 身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境 (host)提供,所以 JavaScript 只合适嵌入更大型的应用程序环 境,去调用宿主环境提供的底层 API。 目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是 下节),而是因为 Netscape 公司已经决定,使用 Java 语言开发网络应用程序, JavaScript 可以像胶水一样,将各个部分连接起来。当然,后来的 历史是 Java 语言的浏览器插件失败了,JavaScript 反而发扬光 大。 1995年12月4日,Netscape 公司与 Sun 公司联合发布了 JavaScript 语言,对外宣传 JavaScript 是 Java console.log(n); 3. } 4. countdown(3) 5. // 2 6. // 1 7. // 0 上面代码中, n --> 0 实际上会当作 n-- > 0 ,因此输出2、1、0。 JavaScript 使用大括号,将多个相关的语句组合在一起,称为“区 块”(block)。 对于 var 命令来说,JavaScript 的区块不构成单独的作用域 (scope)。0 码力 | 540 页 | 3.32 MB | 10 月前3
共 14 条
- 1
- 2













