2019-2021 美团技术年货 前端篇
图片处理:经过对源码的大量阅读及梳理,我们发现图片请求的 URL 首先会 读取 meta 标签中 assetBase 值进行 URL 路径拼接,根据拼接好的 URL 来获取资源。目前,在项目 web/index.html 模板文件中并没有 meta 标 签,于是就会根据相对路径进行请求。解决方案是在编译过程中,根据请求环 境增加 meta 标签并把 content 设置为 CDN 路径。 ● JavaScript 利器一:横竖切割 生成 DSL 时采用了整分的思路,即将大布局不断的切分成小布局,下面以动画的形 式看一下简化过的 DSL 生成过程: 将设计稿一部分区域视为一个子区域,最开始的时候子区域和整个模板的面积一样 大,基于图层的位置、大小信息,计算每个图层的上 / 下 / 左 / 右边缘坐标与其他图 64 > 2021年美团技术年货 层的相对关系,就可以寻找到切割点(如上图中红色箭头所指的位置)。接下来依据切 层之间的位置关系构建了交叉模型,如下图所示: 上图的交叉模型可以记住历史模板中成组布局图层之间的位置关系,下次遇到相交布 局时判断是否在历史规则库中即可完成识别,如果在就按成组布局处理否则按照悬浮 布局处理。下图是通过历史模板构建的成组规则库。 上面介绍了本方案中涉及的 5 种布局类型,目前来看这五种布局类型可以描述所有的 模板布局,并且生成代码符合 RD 的预期。下面展示两个设计稿 DSL 实例:0 码力 | 738 页 | 50.29 MB | 1 年前3阮一峰 JavaScript 教程
书栈(BookStack.CN) 构建 就是在 Mosaic 的基础上,开发面向普通用户的新一代的浏览器 Netscape Navigator。 1994年12月,Navigator 发布了1.0版,市场份额一举超过90%。 Netscape 公司很快发现,Navigator 浏览器需要一种可以嵌入网 页的脚本语言,用来控制浏览器行为。当时,网速很慢而且上网费很 贵,有些操作不宜在服务器端完成。比如,如果用户忘记填写“用户 网页 中嵌入小程序,让浏览器检查每一栏是否都填写了。 管理层对这种浏览器脚本语言的设想是:功能不需要太强,语法较为简 单,容易学习和部署。那一年,正逢 Sun 公司的 Java 语言问世, 市场推广活动非常成功。Netscape 公司决定与 Sun 公司合作,浏 览器支持嵌入 Java 小程序(后来称为 Java applet)。但是,浏 览器脚本语言是否就选用 Java,则存在争论。后来,还是决定不使用 0发布,第一次将 KHTML 浏览器包括其中。 2001年,微软公司时隔5年之后,发布了 IE 浏览器的下一个版本 Internet Explorer 6。这是当时最先进的浏览器,它后来统治了 浏览器市场多年。 2001年,Douglas Crockford 提出了 JSON 格式,用于取代 XML 格式,进行服务器和网页之间的数据交换。JavaScript 可以原生支 持这种格式,不需要额外部署代码。0 码力 | 540 页 | 3.32 MB | 10 月前3Hello 算法 1.0.0b1 JavaScript版
OpenJDK(版本需满足 > JDK 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 12.1.4. Python 环境 1. 下载并安装 Miniconda3 。 2. 在 VSCode 的插件市场中搜索 python ,安装 Python Extension Pack 。 12.1.5. Go 环境 1. 下载并安装 go 。 2. 在 VSCode 的插件市场中搜索 go ,安装 Go 。 3. 快捷键 Ctrl + Shift + P 呼出命令栏,输入 go ,选择 下载并安装 node.js 。 2. 在 VSCode 的插件市场中搜索 javascript ,安装 JavaScript (ES6) code snippets 。 12. 附录 hello‑algo.com 179 12.1.7. C# 环境 1. 下载并安装 .Net 6.0 ; 2. 在 VSCode 的插件市场中搜索 c# ,安装 c# 。 12.1.8. Swift 环境0 码力 | 185 页 | 14.70 MB | 1 年前3Hello 算法 1.0.0b1 TypeScript 版
OpenJDK(版本需满足 > JDK 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 12.1.4. Python 环境 1. 下载并安装 Miniconda3 。 2. 在 VSCode 的插件市场中搜索 python ,安装 Python Extension Pack 。 12.1.5. Go 环境 1. 下载并安装 go 。 2. 在 VSCode 的插件市场中搜索 go ,安装 Go 。 3. 快捷键 Ctrl + Shift + P 呼出命令栏,输入 go ,选择 下载并安装 node.js 。 2. 在 VSCode 的插件市场中搜索 javascript ,安装 JavaScript (ES6) code snippets 。 12. 附录 hello‑algo.com 180 12.1.7. C# 环境 1. 下载并安装 .Net 6.0 ; 2. 在 VSCode 的插件市场中搜索 c# ,安装 c# 。 12.1.8. Swift 环境0 码力 | 186 页 | 14.71 MB | 1 年前3廖雪峰JavaScript教程
法发挥出面向对象编程的威力。 JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样。如果你熟悉 Java或C#,很好,你一定明白面向对象的两个基本概念: 类:类是对象的类型模板,例如,定义Student类来表示学生,类本身是一种类型,Student表 示学生类型,但不表示任何具体的某个学生; 实例:实例是根据类创建的对象,例如,根据Student类可以创建出xiaoming、xiaohong、 于两者都是Webkit核心,结果HTML5首先在手机上全面普及(桌面绝对是Microsoft拖了后 腿),对JavaScript的标准支持也很好,最新版本均支持ES6。 其他浏览器如Opera等由于市场份额太小就被自动忽略了。 另外还要注意识别各种国产浏览器,如某某安全浏览器,某某旋风浏览器,它们只是做了一个壳,其核 心调用的是IE,也有号称同时支持IE和Webkit的“双核”浏览器。 不同0 码力 | 264 页 | 2.81 MB | 10 月前3Hello 算法 1.1.0 Dart版
量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。 ‧ 硬盘难以被内存取代。首先,内存中的数据在断电后会丢失,因此它不适合长期存储数据;其次,内存 的成本是硬盘的几十倍,这使得它难以在消费者市场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 L1、L2、L3 缓存的容量逐步增大,其物理尺寸会变大,与 CPU 核心之间的物理距离会变远,从而导致数据传输时间增加,元素访问延迟变高。在当前技术下,多层级 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ OpenJDK(版本需满足 > JDK 9)。 2. 在 VS Code 的插件市场中搜索 java ,安装 Extension Pack for Java 。 第 16 章 附录 hello‑algo.com 364 4. C# 环境 1. 下载并安装 .Net 8.0 。 2. 在 VS Code 的插件市场中搜索 C# Dev Kit ,安装 C# Dev Kit (配置教程)。 30 码力 | 378 页 | 18.45 MB | 1 年前3Hello 算法 1.1.0 JavaScript版
量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。 ‧ 硬盘难以被内存取代。首先,内存中的数据在断电后会丢失,因此它不适合长期存储数据;其次,内存 的成本是硬盘的几十倍,这使得它难以在消费者市场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 L1、L2、L3 缓存的容量逐步增大,其物理尺寸会变大,与 CPU 核心之间的物理距离会变远,从而导致数据传输时间增加,元素访问延迟变高。在当前技术下,多层级 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ OpenJDK(版本需满足 > JDK 9)。 2. 在 VS Code 的插件市场中搜索 java ,安装 Extension Pack for Java 。 第 16 章 附录 hello‑algo.com 365 4. C# 环境 1. 下载并安装 .Net 8.0 。 2. 在 VS Code 的插件市场中搜索 C# Dev Kit ,安装 C# Dev Kit (配置教程)。 30 码力 | 379 页 | 18.46 MB | 1 年前3Hello 算法 1.1.0 TypeScript版
量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。 ‧ 硬盘难以被内存取代。首先,内存中的数据在断电后会丢失,因此它不适合长期存储数据;其次,内存 的成本是硬盘的几十倍,这使得它难以在消费者市场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 L1、L2、L3 缓存的容量逐步增大,其物理尺寸会变大,与 CPU 核心之间的物理距离会变远,从而导致数据传输时间增加,元素访问延迟变高。在当前技术下,多层级 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ OpenJDK(版本需满足 > JDK 9)。 2. 在 VS Code 的插件市场中搜索 java ,安装 Extension Pack for Java 。 第 16 章 附录 hello‑algo.com 369 4. C# 环境 1. 下载并安装 .Net 8.0 。 2. 在 VS Code 的插件市场中搜索 C# Dev Kit ,安装 C# Dev Kit (配置教程)。 30 码力 | 383 页 | 18.49 MB | 1 年前3Hello 算法 1.2.0 简体中文 Dart 版
量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。 ‧ 硬盘难以被内存取代。首先,内存中的数据在断电后会丢失,因此它不适合长期存储数据;其次,内存 的成本是硬盘的几十倍,这使得它难以在消费者市场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 L1、L2、L3 缓存的容量逐步增大,其物理尺寸会变大,与 CPU 核心之间的物理距离会变远,从而导致数据传输时间增加,元素访问延迟变高。在当前技术下,多层级 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ OpenJDK(版本需满足 > JDK 9)。 2. 在 VS Code 的插件市场中搜索 java ,安装 Extension Pack for Java 。 第 16 章 附录 www.hello‑algo.com 364 4. C# 环境 1. 下载并安装 .Net 8.0 。 2. 在 VS Code 的插件市场中搜索 C# Dev Kit ,安装 C# Dev Kit (配置教程)。0 码力 | 378 页 | 18.46 MB | 10 月前3Hello 算法 1.2.0 简体中文 JavaScript 版
量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。 ‧ 硬盘难以被内存取代。首先,内存中的数据在断电后会丢失,因此它不适合长期存储数据;其次,内存 的成本是硬盘的几十倍,这使得它难以在消费者市场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 L1、L2、L3 缓存的容量逐步增大,其物理尺寸会变大,与 CPU 核心之间的物理距离会变远,从而导致数据传输时间增加,元素访问延迟变高。在当前技术下,多层级 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ OpenJDK(版本需满足 > JDK 9)。 2. 在 VS Code 的插件市场中搜索 java ,安装 Extension Pack for Java 。 第 16 章 附录 www.hello‑algo.com 365 4. C# 环境 1. 下载并安装 .Net 8.0 。 2. 在 VS Code 的插件市场中搜索 C# Dev Kit ,安装 C# Dev Kit (配置教程)。0 码力 | 379 页 | 18.47 MB | 10 月前3
共 35 条
- 1
- 2
- 3
- 4