JavaScript 模块简史
你是否是 JavaScript 新手?并且对模块,模块加载器和模块打包器感到困惑吗?或者你已经编写了一段时间的 JavaScript ,但是没法掌握模块的一些术语?你是否听过 CommonJS、AMD、Browserify、SystemJS、Webpack、JSPM 等等术语,但是不理解我们为什么需要它们?
我会试着解释他们是什么,他们试图解决什么问题,以及他们如何解决这个问题。
你是否是 JavaScript 新手?并且对模块,模块加载器和模块打包器感到困惑吗?或者你已经编写了一段时间的 JavaScript ,但是没法掌握模块的一些术语?你是否听过 CommonJS、AMD、Browserify、SystemJS、Webpack、JSPM 等等术语,但是不理解我们为什么需要它们?
我会试着解释他们是什么,他们试图解决什么问题,以及他们如何解决这个问题。
那段时间我的站点有时会打不开,起初以为是网络问题,后来越来越严重,进入后台才发现数据库 IO 拉满了。看了看 nginx 的日志才发现站点被疯扫,于是打算做点什么。
然后在 Github 上看了几个防火墙模块,要不然功能不全,要不然使用复杂,于是萌生了自己写模块的想法。
在本文中,我将向你展示如何编写一个 C++ 扩展模块。使用 C++ 而不是 C,因为大多数编译器通常都能理解这两种语言。我必须提前说明缺点:以这种方式构建的 Python 模块不能移植到其他解释器中。它们只与 CPython 解释器配合工作。因此,如果你正在寻找一种可移植性更好的与 C 语言模块交互的方式,考虑下使用 ctypes 模块。
本篇文章分享一个和 Nginx 以及 PHP 有关的“黑魔法”:NGX-PHP 模块。通过这个方式,我们可以低成本的实现高性能应用,以及适合在服务器资源有限的情况下,同时体验到 Nginx 的高效以及 PHP 的灵活。如果你对 PHP 的印象还停留在“慢”,那么或许这篇文章可以帮助你打开新世界。
你有没有花一个下午的时间阅读 Mozilla 文档?如果有,你会发现网上有很多 JS 资料,这使我们很容易忽略那些更为基础的 JS 运算符。
这些运算符不常见但很强大!在语法上看起来很相似,作用却不一样,一定要仔细阅读。
TypeScript 是 Airbnb 前端开发的官方语言。但是,采用 TypeScript 的过程和迁移一个包含成千上万个 JavaScript 文件的成熟代码库不是一夕发生的。TypeScript 的采用经过了最初提案、多数团队采用、测试阶段,最后落地为 Airbnb 前端开发的官方语言。
据 Stackoverflow 的 2021 年开发者调查,JavaScript 已连续第八年成为使用最多的语言,有 67.7% 的受访者选择它。之所以如此受欢迎,主要是因为 JavaScript 是通用的,可以用于前端和后端开发和测试网站或 Web 应用程序。
对浏览器中运行的任何内容进行快速可靠的测试。
Cypress允许你创建可以与单击按钮交互的测试,填写表格,这个很好地支持定期更新。
唯一的缺点是你会发现Cypress的学习曲线有点宽,因为它需要一些时间,这取决于你之前测试JavaScript应用程序的知识。
此外,另一个主要问题是它目前不支持Safari。
PyO3 主要用于创建原生 Python 的扩展模块。PyO3 还支持从 Rust 二进制文件运行 Python 代码并与之交互,可以实现 rust 与 Python 代码共存。在一些对性能要求较高的模块上,可以考虑使用 PyO3 构建对应的功能模块。PyO3 的功能分离,不用过多担心模块之间的耦合性,并且在速度上能有一定的提升
如何为 Flarum 论坛添加 medium-zoom(用于缩放图像的 JavaScript 库,如 Medium)呢?本篇文章,在于分析借助 MutationObserver 函数,从而为 SPA 应用,添加些特殊处理,如添加 medium-zoom 动画。
在JavaScript里,构造函数通常是认为用来实现实例的特殊的构造函数。通过new关键字来调用定义的构造函数,你可以告诉JavaScript你要创建一个新对象并且新对象的成员声明都是构造函数里定义的。在构造函数内部,this关键字引用的是新创建的对象。