2019-2021 美团技术年货 前端篇在美团外卖的实践 14 FlutterWeb 性能优化探索与实践 36 设计稿(UI 视图)自动生成代码方案的探索 56 美团外卖终端容器无关化研发框架 74 一款可以让大型 iOS 工程编译速度提升 50% 的工具 96 从预编译的角度理解 Swift 与 Objective-C 及混编机制 108 美团民宿跨端复用框架设计与实践 165 美团跨端一体化富文本管理技术实践 Probe:Android 线上 OOM 问题定位组件 560 活动 Web 页面人机识别验证的探索与实践 580 React Native 工程中 TSLint 静态检查工具的探索之路 589 ESLint 在中大型团队的应用实践 610 美团 iOS 工程 zsource 命令背后的那些事儿 627 客户端单周发版下的多分支自动化管理与实践 635 美团外卖前端容器化演进实践 643 MTFlutter 是美团外卖搭建起的公司级 Flutter 研发生态,它的架构图如下图所示: MTFlutter 架构图 如图所示,MTFlutter 已涵盖研发、调试、测试、发布、线上运维及工程管理整套闭 环,同时落地了动态化解决方案,支撑了公司多个业务发展。在大前端融合的趋势 下,美团外卖商家端持续在探索更优的多端复用方案,通过 MTFlutter 生态的建设, 目前 Flutter0 码力 | 738 页 | 50.29 MB | 1 年前3
前端开发者指南(2017)作者:科迪·林黎(Cody Lindley),由「前端大师(Frontend Masters)」倾情赞助。 这是一本可供任何人使用的指南,用于学习前端开发实践。该指南大体上勾勒出了前端工程 的轮廓,同时也讨论了前端工程的实践:2017 年,如何学习前端工程,用什么工具来实践? 笔者有意将本书打造为一份专业资料,为想要或正在实践的前端开发者们提供学习材料和开 发工具。其次,它同样可供主管、CTO、讲师和猎头们深入探索前端开发实践。 领。其价值在于为恰好够用的分类信息搜罗简 洁、聚焦且符合时宜的甄选内容,以免在特别话题下钻了牛角尖。 预期本书每年都迭代一次内容。 本书分为三部分。 第一部分:前端实践 第一部分概述了前端工程实践。 第二部分:学习前端开发 第二部分指出了学习成为一个前端开发者所需的自学资源和教学资源(译者注:教学资源包 括有讲师指导的付费课程、计划、学院和训练营)。 第三部分:前端开发工具 第 app" 这些理念可以归结为一个概念:"JAM Stack"。 展望 2017 16 第一部分. 前端实践 第一部分概述了前端工程实践。 第一部分. 前端实践 17 前端职称 以下是前端职称的描述清单。前端开发者最常用的称呼是 “前端开发者” 或 “前端工程师” 。注 意,通常在名称里包含 “前端”、“客户端”、“web UI”、“HTML”、“CSS” 和 “JavaScript”0 码力 | 164 页 | 6.43 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版位数的整数(例如学号),那么我们就可以用效率更高的“基数排序”来做,将时间复杂度降为 ?(??) , 其中 ? 为位数。当数据体量很大时,节省出来的运行时间就能创造较大价值(成本降低、体验变好等)。 在工程领域中,大量问题是难以达到最优解的,许多问题只是被“差不多”地解决了。问题的难易程度一方 面取决于问题本身的性质,另一方面也取决于观测问题的人的知识储备。人的知识越完备、经验越多,分析 问题就会越深入,问题就能被解决得更优雅。 非常贵,随 CPU 打包计价 我们可以将计算机存储系统想象为图 4‑9 所示的金字塔结构。越靠近金字塔顶端的存储设备的速度越快、容 量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。 ‧ 硬盘难以被内存取代。首先,内存中的数据在断电后会丢失,因此它不适合长期存储数据;其次,内存 的成本是硬盘的几十倍,这使得它难以在消费者市场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 两种实现的对比结论与栈一致,在此不再赘述。 5.2.3 队列典型应用 ‧ 淘宝订单。购物者下单后,订单将加入队列中,系统随后会根据顺序处理队列中的订单。在双十一期 间,短时间内会产生海量订单,高并发成为工程师们需要重点攻克的问题。 ‧ 各类待办事项。任何需要实现“先来后到”功能的场景,例如打印机的任务队列、餐厅的出餐队列等, 队列在这些场景中可以有效地维护处理顺序。 5.3 双向队列 在队列中0 码力 | 379 页 | 18.47 MB | 10 月前3
廖雪峰JavaScript教程是JavaScript全栈教程! 可以在线免费学习! JavaScript教程 - 5 - 本文档使用 书栈(BookStack.CN) 构建 不要再犹豫了,立刻从现在开始,零基础迈向全栈开发工程师! 原文: https://wizardforcel.gitbooks.io/liaoxuefeng/content/js/1.html 可以在线编写JavaScript代码并直接运行! JavaScript教程 研几个月,也未必搞得清楚 XML的规范。 终于,在2002年的一天,道格拉斯·克罗克福特(Douglas Crockford)同学为了拯救深陷水深火热 同时又被某几个巨型软件企业长期愚弄的软件工程师,发明了JSON这种超轻量级的数据交换格式。 道格拉斯同学长期担任雅虎的高级架构师,自然钟情于JavaScript。他设计的JSON实际上是 JavaScript的一个子集。在JSON中,一共就这么几种数据类型: 却是JavaScript世界中使用最广泛的一个库。 江湖传言,全世界大约有80~90%的网站直接或间接地使用了jQuery。鉴于它如此流行,又如此好用, 所以每一个入门JavaScript的前端工程师都应该了解和学习它。 jQuery这么流行,肯定是因为它解决了一些很重要的问题。实际上,jQuery能帮我们干这些事情: 消除浏览器差异:你不需要自己写冗长的代码来针对不同的浏览器来绑定事件,编写AJAX等代0 码力 | 264 页 | 2.81 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 JavaScript 版固定位數的整數(例如學號),那麼我們就可以用效率更高的“基數排序”來做,將時間複雜度降為 ?(??) ,其中 ? 為位數。當資料體量很大時,節省出來的執行時間就能創造較大價值(成本降低、體 驗變好等)。 在工程領域中,大量問題是難以達到最優解的,許多問題只是被“差不多”地解決了。問題的難易程度一方 面取決於問題本身的性質,另一方面也取決於觀測問題的人的知識儲備。人的知識越完備、經驗越多,分析 問題就會越深入,問題就能被解決得更優雅。 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 4‑9 所示的金字塔結構。越靠近金字塔頂端的儲存裝置的速度越快、容 量越小、成本越高。這種多層級的設計並非偶然,而是計算機科學家和工程師們經過深思熟慮的結果。 ‧ 硬碟難以被記憶體取代。首先,記憶體中的資料在斷電後會丟失,因此它不適合長期儲存資料;其次, 記憶體的成本是硬碟的幾十倍,這使得它難以在消費者市場普及。 ‧ 快取的大容量和高速度難以兼得。隨著 兩種實現的對比結論與堆疊一致,在此不再贅述。 5.2.3 佇列典型應用 ‧ 淘寶訂單。購物者下單後,訂單將加入列列中,系統隨後會根據順序處理佇列中的訂單。在雙十一期 間,短時間內會產生海量訂單,高併發成為工程師們需要重點攻克的問題。 ‧ 各類待辦事項。任何需要實現“先來後到”功能的場景,例如印表機的任務佇列、餐廳的出餐佇列等, 佇列在這些場景中可以有效地維護處理順序。 5.3 雙向佇列 在佇列中0 码力 | 379 页 | 18.78 MB | 10 月前3
Hello 算法 1.1.0 JavaScript版非常贵,随 CPU 打包计价 我们可以将计算机存储系统想象为图 4‑9 所示的金字塔结构。越靠近金字塔顶端的存储设备的速度越快、容 量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。 ‧ 硬盘难以被内存取代。首先,内存中的数据在断电后会丢失,因此它不适合长期存储数据;其次,内存 的成本是硬盘的几十倍,这使得它难以在消费者市场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 两种实现的对比结论与栈一致,在此不再赘述。 5.2.3 队列典型应用 ‧ 淘宝订单。购物者下单后,订单将加入队列中,系统随后会根据顺序处理队列中的订单。在双十一期 间,短时间内会产生海量订单,高并发成为工程师们需要重点攻克的问题。 ‧ 各类待办事项。任何需要实现“先来后到”功能的场景,例如打印机的任务队列、餐厅的出餐队列等, 队列在这些场景中可以有效地维护处理顺序。 5.3 双向队列 在队列中 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 ‧ 抗碰撞性:应当极难找到两个不同的输入,使得它们的哈希值相同。 ‧ 雪崩效应:输入的微小0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.0.0 JavaScript版非常贵,随 CPU 打包计价 我们可以将计算机存储系统想象为图 4‑9 所示的金字塔结构。越靠近金字塔顶端的存储设备的速度越快、容 量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。 ‧ 硬盘难以被内存取代。首先,内存中的数据在断电后会丢失,因此它不适合长期存储数据;其次,内存 的成本是硬盘的几十倍,这使得它难以在消费者市场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 两种实现的对比结论与栈一致,在此不再赘述。 5.2.3 队列典型应用 ‧ 淘宝订单。购物者下单后,订单将加入队列中,系统随后会根据顺序处理队列中的订单。在双十一期 间,短时间内会产生海量订单,高并发成为工程师们需要重点攻克的问题。 ‧ 各类待办事项。任何需要实现“先来后到”功能的场景,例如打印机的任务队列、餐厅的出餐队列等, 队列在这些场景中可以有效地维护处理顺序。 5.3 双向队列 在队列中 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 ‧ 抗碰撞性:应当极难找到两个不同的输入,使得它们的哈希值相同。 ‧ 雪崩效应:输入的微小0 码力 | 376 页 | 17.57 MB | 1 年前3
阮一峰 JavaScript 教程Association),希望 JavaScript 能够成为国际标准,以此抵抗 微软。ECMA 的39号技术委员会(Technical Committee 39)负 责制定和审核这个标准,成员由业内的大公司派出的工程师组成,目前 共25个人。该委员会定期开会,所有的邮件讨论和会议记录,都是公开 的。 1997年7月,ECMA 组织发布262号标准文件(ECMA-262)的第一 版,规定了浏览器脚本语言的标准,并将这种语言称为 虚拟机,可以运行 Dart 程 序,但 Dart 程序也可以被编译成 JavaScript 程序运行。 历史 - 27 - 本文档使用 书栈(BookStack.CN) 构建 2011年,微软工程师Scott Hanselman提出,JavaScript 将是互 联网的汇编语言。因为它无所不在,而且正在变得越来越快。其他语言 的程序可以被转成 JavaScript 语言,然后在浏览器中运行。 对象的继承 - 466 - 本文档使用 书栈(BookStack.CN) 构建 码越来越庞大,越来越复杂。网页越来越像桌面程序,需要一个团队分 工协作、进度管理、单元测试等等……开发者必须使用软件工程的方法, 管理网页的业务逻辑。 JavaScript 模块化编程,已经成为一个迫切的需求。理想情况下, 开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模 块。 :”污染”了全0 码力 | 540 页 | 3.32 MB | 10 月前3
JavaScript 正则表达式迷你书 老姚 - v1.1迹可循! — Jack Lo 老姚编写的JavaScript正则表达式系列文章通俗易通,虽然示例以JavaScript编写,但是对于正则表 达式的学习通用于其他语言。所以,不论您是前端还是后端工程师,通过阅读此迷你书都能获益。最 后,感谢老姚能够写出这一系列文章,让大家能够更轻松的理解和使用正则表达式。 — 程序猿DD 正则表达式是通用的技能,基础的东西永远绕不开。能在实战中进行总结,并形成专题,更是一种值0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.0迹可循! — Jack Lo 老姚编写的JavaScript正则表达式系列文章通俗易通,虽然示例以JavaScript编写,但是对于正则表 达式的学习通用于其他语言。所以,不论您是前端还是后端工程师,通过阅读此迷你书都能获益。最 后,感谢老姚能够写出这一系列文章,让大家能够更轻松的理解和使用正则表达式。 — 程序猿DD 正则表达式是通用的技能,基础的东西永远绕不开。能在实战中进行总结,并形成专题,更是一种值0 码力 | 89 页 | 3.42 MB | 11 月前3
共 12 条
- 1
- 2













