avatar
文章
25
标签
0
分类
9
Home
About
Links
RomeoMo
Home
About
Links

RomeoMo

Deno 1.0
发表于2020-06-11|Deno
说明: 本文来自 Deno ,作者:Ryan Dahl, Bert Belder, and Bartek Iwańczuk文章版权属于原网站/原作者。我依旧只是个搬运工+不称职的翻译。本文不翻译鸣谢部分。 动态语言是有用的工具。脚本允许用户快速高效的将复杂的系统连接在一起,并且在不需要关心诸如内存管理或者构建系统等细节中表达想法。最近几年,像 Rust 以及 Go 这样的语言,使机器代码更易生成;这些项目使得计算机基础架构获得了极大的发展。然而,我们认为拥有一个强大的脚本环境来处理各种问题依旧重要。 JavaScript 是最广泛使用的动态语言,运行于各种浏览器中。大量程序员精通 JavaScript,并且已经在优化其执行方面投入了大量精力。通过如 ECMA 这样的组织的建立,JavaScript 得到了谨慎并且持续的进步。我们相信 JavaScript 是动态语言工具的必然选择;无论是在浏览器环境还是作为独立进程。 我们是这块实践的先行者,Node.js 被证明是非常成功的平台。Node.js 足以构建 Web 开发工具、创建独立进程以及无数其他案例。在 2009 设...
Deno 是什么,它能代替 NodeJS 吗?
发表于2020-05-24|Deno
说明: 本文来自Medium ,作者:Fernando Doglio文章版权属于原网站/原作者。我依旧只是个搬运工+不称职的翻译。Deno v1.0.0 计划于 5 月 13 号发布。这里有一些有趣的事实,可能对确定 Deno 起作用。 确定的是,(显然)太早了来讨论这个事情,但这些事实可能可以确定 Deno。 对于初学者来说,Deno 由创建过 Node.js 的 Ryan Dahl 编写,是不是听起来很熟?这是不是意味着 Deno 是 Node 的替代方案并且可以计划我们对重构进行冲刺了?当然不是!但如果你想了解更多,请继续读下去! 让我们从头开始在 2018 年,Ryan 讲了他认为做 Node.js 时犯的错误的前十名,并且在演讲的最后,他揭示了 Deno,在那个时候,这只是一个可以称为 Node.js 第二的小项目,提供了更多的安全方案。 点击这里观看视频(请自备梯子)。 两年后,Deno 1.0 官方发布日期确定了:5 月 13 号。为后端开发准备的全新的 JavasSript 运行时,使用 Rust 而不是 C++ 编写而成,基于 Tokio 平台(为 ...
HTTP/3 是什么?
发表于2019-10-17|HTTP
说明: 本文来自Medium,作者:Grigor Khachatryan文章版权属于原网站/原作者。我依旧只是个搬运工+不称职的翻译。这段时间在研究 HTTP/2 的相关知识,没想到 HTTP/3 也在酝酿中,于是乎找到一篇介绍 HTTP/3 的文章,学习并在此进行记录。 HTTP-over-QUIC 这个实验性的协议会被命名为 HTTP/3,IETF 的一位成员披露了这条消息。 从 HTTP/1.1(发布于1999年)到 HTTP/2 已经过了许多年,而在 2019 年将大大推动 HTTP/3 的发展。 HTTP/3 由 Google 的 QUIC 协议发展而来。它开始于 Mark Nottingham 的建议。 所以啥是 QUIC ? QUIC(Quick UDP Internet Connections / 快速 UDP 网络连接)是一种新的传输模式,与 TCP 相比减少了延迟。大体来说,QUIC 类似于 UDP 上实现 TCP + TLS + HTTP/2。由...
介绍 CSSOM
发表于2019-09-27|CSS
说明: 本文来自Varvy,作者:Patrick Sexton文章版权属于原网站/原作者。我依旧只是个搬运工+不称职的翻译。前不久,在微博上看到貘吃馍香在吐槽 于是去搜索和查阅了相关资料,也做了一些复习,加上 W3C Plus 相关文章收费,因此在此做个记录。 CSSOM 是什么? CSSOM 代表着 CSS Object Model CSSOM 基本上是页面中 CSS 的“映射” CSSOM 与 CSS 的关系类似于 DOM 之于 HTML CSSOM 与 DOM 相结合使浏览器渲染页面 CSSOM 是页面渲染不可缺少的部分。 CSSOM 是 关键路径渲染(critical rendering path)的基础和关键,理解 CSSOM 做了什么是对页面优化(页面加载更快)的重要部分。 CSSOM 做了什么?CSSOM 将样式表中的规则映射到页面上需要样式化的内容。 为此,CSSOM 做了许多复杂的操作,但是 CSSOM 的最终是将样式映射到这些样式需要去的地方。 (更精确的说,CSSOM 定义了令牌(token)并将其隐藏的链接到树结构的节点中。页面中节点及其样...
函数式系列(2):闭包和柯里化
发表于2019-06-09|Functional Programming
说明: 本文来自scotch,作者:Austin Roy文章版权属于原网站/原作者。我依旧只是个搬运工+不称职的翻译。什么是闭包?如果经常写 JavaScript 代码,大概率你会遇到一个既有用又经常引起困惑的概念—闭包。但什么是闭包? 闭包是函数和声明该函数的词法环境(lexical environment)的组合。 但这到底是什么意思呢?词法环境 由函数创建时的所有局部变量组成。通过闭包,可以引用函数下的所有局部变量。这实际上是通过在一个函数中定义另一个函数来实现的,在函数中的这一函数称为闭包。一旦父函数被调用,一个包含所有局部变量的全新拷贝的执行上下文将创建。在全部变量中引用局部变量可以通过与全局变量进行链接,或者是返回父函数中的闭包。 一个简单的示例将采用与此类似的: 12345function closuredFunc (){ function closure(){ // some logic }} 同样也可以通过以下方式让同一闭包返回多个方法: 123456function closure()&#...
函数式系列(1):Map, ForEach 及 Filter, Reduce
发表于2019-05-03|Functional Programming
Map, ForEach 及 Filter, Reduce概念map, foreach, 及 filter, reduce 为典型的函数式编程实践,均为高阶函数(Higher-Order Functions)。 高阶函数指的是一个函数能作为值传递到另一个函数中,或者,一个函数可以作为另一个函数的输出。 区别 map filter 和 reduce 均有返回值,而 forEach 是没有返回值的 forEach 能终止循化,而 map, filter 和 reduce 是无法终止的 map filter 和 reduce 的区别如图所示。 map filter 和 reducemapmap 是将数组的每一项通过同样的操作进行变换,得到一个新的数组,且新数组与原数组的长度是一致的。 1234567var array1 = [1, 4, 9, 16];const map1 = array1.map(x => x * 2);console.log(map1); // 输出:[2, 8, 18, 32]console.log(array1); // 输出: [1, 4, 9, 16...
函数式编程
发表于2019-04-21|Functional Programming
说明:这个系列来源于 Fun Fun Function 函数式编程系列视频,以《JavaScript函数式编程指南》和 《Hands-On Functional Programming with TypeScript》 等函数式书籍,加上在工作中总结的经验完成此系列。 注: 此系列文章的参考资料,是对文章的扩展及补充,请擅加利用。 总论函数式编程是声明式编程的一种实践,声明式编程目标是将程序的描述与求值分离开来。 “To have a deep understanding of functional programs as a data transform pipeline, you need a way to define your data structures.” (摘自 《Hands-On Functional Programming with TypeScript》 ) 目录 Map, ForEach 及 Filter, Reduce 纯函数(Pure Function) 闭包和柯里化 参考资料 Fun Fun Function 函数式编程视频(需翻墙) 《Java...
详解 JavaScript 事件循环
发表于2018-02-24|JavaScript
说明: 本文来自Medium,作者:Anoop Raveendran文章版权属于原网站/原作者。我依旧只是个搬运工+不称职的翻译。“JavaScript 的异步和单线程是怎样实现的?”简单来说,JavaScript 是单线程的但异步并不是在 JavaScript 中实现的,而是基于浏览器中 JavaScript 内核之上实现的并且通过浏览器 APIs 进行访问。 现在我试着通过两个简单的片段详细解释事件循环。 基础结构 堆(Heap)—— 对象存储在堆中,堆表示了内存中一个大的非结构化的区域。 栈(Stack)—— 这个表示了 JavaScript 代码执行时的单线程。函数的调用组成了栈的帧(详情见下面的描述)。 浏览器或是 Web APIs 是在浏览器中实现的,能从浏览器和电脑系统得到数据并且在此基础上执行复杂的事情。这些并不属于 JavaScript 语言本身,而是基于浏览器中 JavaScript 内核之上实现的,为你在使用 JavaScript 代码提供了额外的超能力。 举个栗子🌰,地理位置定位 API 提供了一些简单的 JavaScript 方法来检索位...
ES6 & ES7 脑图
发表于2017-08-11|JavaScript
说明:本图基于 Nicholas C. Zakas《深入理解ES6》豆瓣链接及相关 MDN 文档
初学者的柯里化指南
发表于2016-04-21|Functional Programming
说明: 本文来自SitePoint,作者:M. David Green文章版权属于原网站/原作者。我依旧只是个搬运工+不称职的翻译。柯里化(Currying),或称为偏函数应用(Partial Application),是函数式编程中会给听起来给更熟悉传统的JavaScript编程的人带来困惑。但只要使用得当,柯里化会让你的函数式JavaScript更加易读。 更易读以及更具有扩展性函数式JavaScript的一个显而易见的优点是代码量更少、代码内聚更高、代码更少的重复,在代码行更少的情况下,也能输出正确的结果。在不熟悉函数是编程如何实现之前,有时会多花一些时间去阅读理解代码,代码的书写也会变得难以理解。 如果你对柯里化这个词有影响,但从来不知道它的意思,你完全不用担心你曾经认为它是一种陌生或者神奇的技术。其实柯里化是一个相当简单的概念,当处理函数参数,它能处理一些常见的问题,并且为开发者开辟了更多的选择。 什么是柯里化?简而言之,柯里化是一种允许偏函数应用作为参数组成新的函数。意味着为了获取函数结果,你可以传递函数所需要的所有参数,或者也可以传递一部分参数得到结果作为...
123
avatar
RomeoMo
关于技术、生活、工作的吐槽、感悟
文章
25
分类
9
最新文章
《Designing for Interaction:Creating Innovative Applications and Devices》笔记2025-06-21
《UX for Beginners:A Crash Course in 100 Short Lessons》笔记(3)2025-05-25
《UX for Beginners:A Crash Course in 100 Short Lessons》笔记(2)2025-05-18
《UX for Beginners:A Crash Course in 100 Short Lessons》笔记(1)2025-05-10
《Don't Make Me Think, Revisited》笔记2025-04-15
分类
  • CSS2
  • Deno2
  • Full Stack3
  • Functional Programming4
  • HCI8
  • HTTP1
  • JavaScript2
  • 推荐3
© 2015 - 2026 By RomeoMo框架 Hexo 8.1.1|主题 Butterfly 5.5.2