2019-2021 美团技术年货 前端篇图片处理:经过对源码的大量阅读及梳理,我们发现图片请求的 URL 首先会 读取 meta 标签中 assetBase 值进行 URL 路径拼接,根据拼接好的 URL 来获取资源。目前,在项目 web/index.html 模板文件中并没有 meta 标 签,于是就会根据相对路径进行请求。解决方案是在编译过程中,根据请求环 境增加 meta 标签并把 content 设置为 CDN 路径。 ● JavaScript rWeb 依赖的这些 SDK 中包含了一些使用频率较低的功能,例如:蓝牙、USB、WebRTC、陀螺仪等 功能的支持。为此,我们提供了对这些长尾功能的定制能力(这些功能默认不开启, 但业务可配置),将未被启用长尾的功能进行裁剪。 通过上述分析可得,我们的思路就是对 Dead Code 进行二次剔除,以及对这些长 尾功能做裁剪。基于这样的思路,我们深入 Dart-SDK、Framework DOMContentLoaded 之后,对网络资源、事件、DOM 变动 进行监听,并对监听结果根据特定规则进行分析加权,得到一个首屏加载完成 的状态标识; ● 运行阶段,在首屏加载完成之后对配置平台下发的云端 JSON 文件进行解 析,对符合配置规则的资源进行 HTTP XHR 预加载,从而实现文件的预缓存 功能。 下图为预缓存的整体方案设计: 48 > 2021年美团技术年货 图 15 预缓存方案设计 编译阶段0 码力 | 738 页 | 50.29 MB | 1 年前3
阮一峰 《ECMAScript 6入门》 第三版}); 上面的原始代码用了箭头函数,Babel 将其转为普通函数,就能在不支持箭头函数 的 JavaScript 环境执行了。 配置文件 .babelrc Babel 的配置文件是 .babelrc ,存放在项目的根目录下。使用 Babel 的第一步, 就是配置这个文件。 该文件用来设置转码规则和插件,基本格式如下。 { "presets": [], "plugins": map, ast } // Babel AST转码 babel.transformFromAst(ast, code, options); // => { code, map, ast } 配置对象 options ,可以参看官方文档http://babeljs.io/docs/usage/options/。 下面是一个例子。 var es6Code = 'let x = n => n function x(n) {\n return n + 1;\n} ;' 上面代码中, transform 方法的第一个参数是一个字符串,表示需要被转换的 ES6 代码,第二个参数是转换的配置对象。 ECMAScript 6简介 16 babel-polyfill Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比 如 Iterator0 码力 | 679 页 | 2.66 MB | 1 年前3
前端开发者指南(2017)6.4 1.7 1.7.1 1.7.2 1.7.3 1.7.4 学习可访问性相关知识 学习 web/浏览器 API 学习 JSON (JavaScript 对象表示法) 学习 JS 模板 学习静态网页生成器 通过JS学习计算机科学 学习前端应用架构 学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 动画 学习 DOM、BOM 和 jQuery 学习网页字体 & 图标 学习可访问性相关知识 学习 web/浏览器 API 学习 JSON (JavaScript 对象表示法) 学习 JS 模板 学习静态网页生成器 通过JS学习计算机科学 学习前端应用架构 学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 模块 依赖管理 包管理 JavaScript 动画 CSS 动画 图表/图形 UI 控件 代码质量测试 代码覆盖率测试 代码复杂性分析 集成测试 命令行/命令行界面 模板策略 模板引擎 单页应用 XHR 请求(亦称 AJAX) Web /浏览器 安全 HTML 语义 浏览器开发工具 前端开发技能 25 前端开发者为 ... 而开发 前端开发者所编写的 HTML、CSS0 码力 | 164 页 | 6.43 MB | 1 年前3
阮一峰 JavaScript 教程preventExtensions() :防止对象扩展。 Object.isExtensible() :判断对象是否可扩展。 Object.seal() :禁止对象配置。 Object.isSealed() :判断一个对象是否可配置。 Object.freeze() :冻结一个对象。 Object.isFrozen() :判断一个对象是否被冻结。 (3)原型链相关方法 Object keys() )跳过该属性。 (4) configurable 属性描述对象 - 276 - 本文档使用 书栈(BookStack.CN) 构建 configurable 是一个布尔值,表示可配置性,默认为 true 。如果设 为 false ,将阻止某些操作改写该属性,比如无法删除该属性,也不 得改变该属性的属性描述对象( value 属性除外)。也就是 说, configurable false 的属性,有 时可以利用这一点。如果对象的 JSON 格式输出要排除某些属性,就 可以把这些属性的 enumerable 设为 false 。 configurable (可配置性)返回一个布尔值,决定了是否可以修改属性 描述对象。也就是 说, configurable 为 false 时, value 、 writable 、 enumerable 和 configurable0 码力 | 540 页 | 3.32 MB | 10 月前3
廖雪峰JavaScript教程法发挥出面向对象编程的威力。 JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样。如果你熟悉 Java或C#,很好,你一定明白面向对象的两个基本概念: 类:类是对象的类型模板,例如,定义Student类来表示学生,类本身是一种类型,Student表 示学生类型,但不表示任何具体的某个学生; 实例:实例是根据类创建的对象,例如,根据Student类可以创建出xiaoming、xiaohong、 ,所以,绝大部分需要在服务器运行期反复执行 业务逻辑的代码,必须使用异步代码,否则,同步代码在执行时期,服务器将停止响应,因为 JavaScript只有一个执行线程。 服务器启动时如果需要读取配置文件,或者结束时需要写入到状态文件时,可以使用同步代码,因为这 些代码只在启动和结束时执行一次,不影响服务器正常运行时的异步执行。 用fs读写文件 原文: https://wizardforcel0 码力 | 264 页 | 2.81 MB | 10 月前3
Hello 算法 1.0.0b1 JavaScript版的最直接的方式,就是找一台计算机,把两个算法都完整跑一遍,并监控记录运行时间和内存占用情况。这种 评估方式能够反映真实情况,但是也存在很大的硬伤。 难以排除测试环境的干扰因素。硬件配置会影响到算法的性能表现。例如,在某台计算机中,算法 A 比算法 B 运行时间更短;但换到另一台配置不同的计算机中,可能会得到相反的测试结果。这意味着我们需要在各种机 器上展开测试,而这是不现实的。 展开完整测试非常耗费资源。随着输入数据量的大小 2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间能够直观且准确地体现出算法的效率水平。如果我们想要 准确预估一段代码的运行时间,该如何做 呢? 1. 首先需要 确定运行平台,包括硬件配置、编程语言、系统环境等,这些都会影响到代码的运行效率。 2. 评估 各种计算操作的所需运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作需要 5 ns 等。 9)。 2. 在 VSCode 的插件市场中搜索 java ,安装 Java Extension Pack 。 12.1.3. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程),MacOS 自带 Clang 无需安装。 2. 在 VSCode 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 12.1.4. Python 环境 10 码力 | 185 页 | 14.70 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。 者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 3.(可 选) 打 开 Settings0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.0.0b5 JavaScript版是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。比如在某台计算机中,算法 A 的 运行时间比算法 B 短;但在另一台配置不同的计算机中,我们可能得到相反的测试结果。这意味着我们需要 在各种机器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费 因为它们非常适合用分治思想进行分 析。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想要准确预估一段代码的运行时间,应该如何操作 呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns,乘法操作 * 需要 10 ns,打印操作 print() 需要 5 9)。 2. 在 VSCode 的插件市场中搜索 java ,安装 Extension Pack for Java 。 3. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程),MacOS 自带 Clang 无须安装。 2. 在 VSCode 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 3.(可 选) 打 开 Settings0 码力 | 375 页 | 30.68 MB | 1 年前3
Hello 算法 1.0.0 JavaScript版是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。 者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 3.(可 选) 打 开 Settings0 码力 | 376 页 | 17.57 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。比如一个算法的并行度较高,那 么它就更适合在多核 CPU 上运行,一个算法的内存操作密集,那么它在高性能内存上的表现就会更好。也 就是说,算法在不同的机器上的测试结果可能是 者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要 Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 3.(可 选) 打 开 Settings0 码力 | 379 页 | 18.47 MB | 10 月前3
共 13 条
- 1
- 2













