博客园 - Jaxu
uuid:6cbd1ba2-f883-4c34-aed1-30dde64a3a3e;id=718454
2023-12-01T08:35:46Z
Jaxu
https://www.cnblogs.com/jaxu/
feed.cnblogs.com
https://www.cnblogs.com/jaxu/p/17870386.html
防止Node.js应用中的命令行注入攻击 - Jaxu
攻击者可以使用Node.js应用侵入你的系统。本文介绍如何阻止这种行为的发生。 当Node.js首次发布时,它引起了一场革命。它允许开发人员在服务器端运行JavaScript,这是浏览器的主要编程语言。随着时间的推移,Node.js变得越来越流行,并成为构建Web应用程序和API的首选工具。 Nod
2023-12-01T08:35:00Z
2023-12-01T08:35:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】攻击者可以使用Node.js应用侵入你的系统。本文介绍如何阻止这种行为的发生。 当Node.js首次发布时,它引起了一场革命。它允许开发人员在服务器端运行JavaScript,这是浏览器的主要编程语言。随着时间的推移,Node.js变得越来越流行,并成为构建Web应用程序和API的首选工具。 Nod <a href="https://www.cnblogs.com/jaxu/p/17870386.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17824226.html
原型污染 - Jaxu
使用不可信的数据,通过调用不安全的递归函数来暴露默认原型 原型污染:基础 什么是原型污染? 原型污染是一种针对JavaScript运行时的注入攻击。通过原型污染,攻击者可以控制对象属性的默认值,从而篡改应用程序的逻辑并可能导致服务被拒绝,甚至在某些极端情况下远程执行代码。 现在,你是不是满脑子充满了
2023-11-10T11:39:00Z
2023-11-10T11:39:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】使用不可信的数据,通过调用不安全的递归函数来暴露默认原型 原型污染:基础 什么是原型污染? 原型污染是一种针对JavaScript运行时的注入攻击。通过原型污染,攻击者可以控制对象属性的默认值,从而篡改应用程序的逻辑并可能导致服务被拒绝,甚至在某些极端情况下远程执行代码。 现在,你是不是满脑子充满了 <a href="https://www.cnblogs.com/jaxu/p/17824226.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17805006.html
华为P20Pro进入开发者模式 - Jaxu
正常情况下,我们按照下面的步骤操作即可进入Android的开发者模式(大部分安卓手机进入的方式都类似): 打开手机的设置,点击最下面的关于手机。 点击这里的“HarmonyOS版本”。连续点击多次(我的手机是7次),然后会弹出需要输入密码解屏。解锁之后屏幕上会提示“您正处于开发者模式!”。 返回到上
2023-11-02T03:23:00Z
2023-11-02T03:23:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】正常情况下,我们按照下面的步骤操作即可进入Android的开发者模式(大部分安卓手机进入的方式都类似): 打开手机的设置,点击最下面的关于手机。 点击这里的“HarmonyOS版本”。连续点击多次(我的手机是7次),然后会弹出需要输入密码解屏。解锁之后屏幕上会提示“您正处于开发者模式!”。 返回到上 <a href="https://www.cnblogs.com/jaxu/p/17805006.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17800599.html
Node.js子进程:你想要知道的一切 - Jaxu
如何使用spawn(),exec(),execFile()和fork() 对于单进程而言,Node.js的单线程和非阻塞特性表现地非常好。然而,对于处理功能越来越复杂的应用程序而言,一个单进程的CPU是远远无法满足需要的。 无论你的服务器有多强大,单线程都是远远不够用的。 事实上,Node.js的单
2023-10-31T09:33:00Z
2023-10-31T09:33:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】如何使用spawn(),exec(),execFile()和fork() 对于单进程而言,Node.js的单线程和非阻塞特性表现地非常好。然而,对于处理功能越来越复杂的应用程序而言,一个单进程的CPU是远远无法满足需要的。 无论你的服务器有多强大,单线程都是远远不够用的。 事实上,Node.js的单 <a href="https://www.cnblogs.com/jaxu/p/17800599.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17702980.html
JS基本原理:对象类型赋值和原生类型赋值 - Jaxu
介绍 在本文中,我试图以最简洁的方式来阐明JavaScript编程原理中对象类型赋值和原生类型赋值之间的区别,以及它们各自是如何工作的。这也是我希望在我的JavaScript编程生涯早期就已经理解的东西。 JS中的原生类型和对象类型 首先,让我们回顾一下JavaScript中不同的原生类型和对象类型
2023-09-14T09:25:00Z
2023-09-14T09:25:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】介绍 在本文中,我试图以最简洁的方式来阐明JavaScript编程原理中对象类型赋值和原生类型赋值之间的区别,以及它们各自是如何工作的。这也是我希望在我的JavaScript编程生涯早期就已经理解的东西。 JS中的原生类型和对象类型 首先,让我们回顾一下JavaScript中不同的原生类型和对象类型 <a href="https://www.cnblogs.com/jaxu/p/17702980.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17616225.html
在单元测试中使用Jest模拟VS Code extension API - Jaxu
对VS Code extension进行单元测试时通常会遇到一个问题,代码中所使用的VS Code编辑器的功能都依赖于vscode库,但是我们在单元测试中并没有添加对vscode库的依赖,所以导致运行单元测试时出错。由于vscode库是作为第三方依赖被引入到我们的VS Code extension中
2023-08-09T02:31:00Z
2023-08-09T02:31:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】对VS Code extension进行单元测试时通常会遇到一个问题,代码中所使用的VS Code编辑器的功能都依赖于vscode库,但是我们在单元测试中并没有添加对vscode库的依赖,所以导致运行单元测试时出错。由于vscode库是作为第三方依赖被引入到我们的VS Code extension中 <a href="https://www.cnblogs.com/jaxu/p/17616225.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17600792.html
Jest和Mocha对比:两者之间有哪些区别? - Jaxu
什么是单元测试? 所谓单元测试,是对软件中单个功能组件进行测试的一种软件测试方式,其目的是确保代码中的每一个基本单元都能正常运行。因此,开发人员在应用程序开发的整个过程(即代码编写过程)中都需要进行单元测试。在进入到软件开发的下一阶段之前,对程序进行单元测试是一个不错的主意。单元测试非常有用,它使用
2023-08-02T07:26:00Z
2023-08-02T07:26:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】什么是单元测试? 所谓单元测试,是对软件中单个功能组件进行测试的一种软件测试方式,其目的是确保代码中的每一个基本单元都能正常运行。因此,开发人员在应用程序开发的整个过程(即代码编写过程)中都需要进行单元测试。在进入到软件开发的下一阶段之前,对程序进行单元测试是一个不错的主意。单元测试非常有用,它使用 <a href="https://www.cnblogs.com/jaxu/p/17600792.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17509632.html
微服务架构基本原理学习笔记(三) - Jaxu
上一篇:微服务架构基本原理学习笔记(二) 五、微服务之间的通信 微服务通信模式 微服务本身并没有规定通信规则,换句话说,一个微服务并没有规定可以被哪些应用程序访问,或者被哪些其它的微服务调用。应用程序与微服务间的直接通信,或者微服务与微服务间的直接调用,往往会因为其中错综复杂的关系而导致级联故障,任
2023-06-27T10:59:00Z
2023-06-27T10:59:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】上一篇:微服务架构基本原理学习笔记(二) 五、微服务之间的通信 微服务通信模式 微服务本身并没有规定通信规则,换句话说,一个微服务并没有规定可以被哪些应用程序访问,或者被哪些其它的微服务调用。应用程序与微服务间的直接通信,或者微服务与微服务间的直接调用,往往会因为其中错综复杂的关系而导致级联故障,任 <a href="https://www.cnblogs.com/jaxu/p/17509632.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17448186.html
微服务架构基本原理学习笔记(二) - Jaxu
上一篇:微服务架构基本原理学习笔记(一) 三、微服务架构 从一个已有的单体架构的应用程序开始进行微服务架构的重构往往是一个不错的选择。随着业务量和功能的增加,我们可以考虑使用微服务架构来扩充应用程序中原有的功能,或者每次添加新功能时,都为其创建一个新的微服务。这比从一开始就选择使用微服务架构进行设计
2023-06-01T02:24:00Z
2023-06-01T02:24:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】上一篇:微服务架构基本原理学习笔记(一) 三、微服务架构 从一个已有的单体架构的应用程序开始进行微服务架构的重构往往是一个不错的选择。随着业务量和功能的增加,我们可以考虑使用微服务架构来扩充应用程序中原有的功能,或者每次添加新功能时,都为其创建一个新的微服务。这比从一开始就选择使用微服务架构进行设计 <a href="https://www.cnblogs.com/jaxu/p/17448186.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17428316.html
微服务架构基本原理学习笔记(一) - Jaxu
一、什么是微服务 微服务是一种技术架构,通常我们可以把它理解为一组可以相互之间协同工作的应用程序或服务,这些应用程序或服务能够被单独部署到不同的服务器中,并且能够自主运行和维护。 微服务技术只是一个名称而已,或许我们在日常工作中已经或多或少在使用其中的一种或几种技术和架构,但我们并没有将其称之为微服
2023-05-24T06:52:00Z
2023-05-24T06:52:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】一、什么是微服务 微服务是一种技术架构,通常我们可以把它理解为一组可以相互之间协同工作的应用程序或服务,这些应用程序或服务能够被单独部署到不同的服务器中,并且能够自主运行和维护。 微服务技术只是一个名称而已,或许我们在日常工作中已经或多或少在使用其中的一种或几种技术和架构,但我们并没有将其称之为微服 <a href="https://www.cnblogs.com/jaxu/p/17428316.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17385999.html
如何在VSCode Webview中打开一个新的页面 - Jaxu
上一篇我介绍了如何在VSCode Webview中实现点击链接下载图片或文件,本文介绍如何在默认浏览器中打开一个新的页面。 在浏览器中,如果要实现打开一个新的页面有许多种不同的方法,例如: window.open("https://www.cnblogs.com/jaxu", "_blank");
2023-05-09T11:13:00Z
2023-05-09T11:13:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】上一篇我介绍了如何在VSCode Webview中实现点击链接下载图片或文件,本文介绍如何在默认浏览器中打开一个新的页面。 在浏览器中,如果要实现打开一个新的页面有许多种不同的方法,例如: window.open("https://www.cnblogs.com/jaxu", "_blank"); <a href="https://www.cnblogs.com/jaxu/p/17385999.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17357374.html
VSCode Webview中如何实现点击下载图片 - Jaxu
众所周知,在一个普通的HTML页面中,如果要实现一个链接点击后下载图片,只需要在页面上放一个<a>标签,然后将属性href的值指向图片的URL或者Base64字符串就可以了。或者按照stackoverflow上提供的方法动态创建<a>标签来完成图片的下载动作。不过原理都是相同的。 但是这个方法在VS
2023-04-26T13:40:00Z
2023-04-26T13:40:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】众所周知,在一个普通的HTML页面中,如果要实现一个链接点击后下载图片,只需要在页面上放一个<a>标签,然后将属性href的值指向图片的URL或者Base64字符串就可以了。或者按照stackoverflow上提供的方法动态创建<a>标签来完成图片的下载动作。不过原理都是相同的。 但是这个方法在VS <a href="https://www.cnblogs.com/jaxu/p/17357374.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17171211.html
npm install时遇到错误"error:0308010C:digital envelope routines::unsupported"的解决办法 - Jaxu
今天早上打开电脑,更新了日常工作的github仓库,然后就是习惯性地执行了"npm install",发现报了下面这个错误: Error: error:0308010C:digital envelope routines::unsupported 顺便看了一下错误堆栈,发现是一个Node的内核文件抛
2023-03-02T03:27:00Z
2023-03-02T03:27:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】今天早上打开电脑,更新了日常工作的github仓库,然后就是习惯性地执行了"npm install",发现报了下面这个错误: Error: error:0308010C:digital envelope routines::unsupported 顺便看了一下错误堆栈,发现是一个Node的内核文件抛 <a href="https://www.cnblogs.com/jaxu/p/17171211.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/17049604.html
如何自定义sapui5 TreeTable控件的可展开列 - Jaxu
参考sapui5 TreeTable控件的示例,我们发现所有的可展开列(即所谓的hierarchical data column)默认都在第一列,而且API中并没有给出对应的属性或方法来重新指定可展开列在table中的位置。 我们可以编写一个自定义控件,使其继承sapui5的TreeTable控件,
2023-01-13T06:55:00Z
2023-01-13T06:55:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】参考sapui5 TreeTable控件的示例,我们发现所有的可展开列(即所谓的hierarchical data column)默认都在第一列,而且API中并没有给出对应的属性或方法来重新指定可展开列在table中的位置。 我们可以编写一个自定义控件,使其继承sapui5的TreeTable控件, <a href="https://www.cnblogs.com/jaxu/p/17049604.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/16521871.html
如何将一个大的Promise.all拆分为几个较小的部分依次执行 - Jaxu
前段时间在用Promise.all执行一个非常大批量的操作时遇到一个奇怪的问题。 这个Promise.all需要遍历一个指定目录中的所有文件,并以异步的方式读取文件内容并进行后续操作。由于目录中的文件数目比较多(大约8000+),Promise.all在执行的过程中有许多文件读取失败,但是如果指定一
2022-07-26T10:02:00Z
2022-07-26T10:02:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】前段时间在用Promise.all执行一个非常大批量的操作时遇到一个奇怪的问题。 这个Promise.all需要遍历一个指定目录中的所有文件,并以异步的方式读取文件内容并进行后续操作。由于目录中的文件数目比较多(大约8000+),Promise.all在执行的过程中有许多文件读取失败,但是如果指定一 <a href="https://www.cnblogs.com/jaxu/p/16521871.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/15736034.html
JavaScript展开运算符和剩余运算符的区别 - Jaxu
JavaScript使用符号三个点(...)作为剩余运算符和展开运算符,不过这两个运算符是有区别的。 最主要的区别就是,剩余运算符将用户提供的某些特定值的其余部分放入JavaScript数组中,而展开运算符则将可迭代的对象展开为单个元素。 例如下面这段代码,其中使用了剩余运算符将部分值存放到数组中:
2021-12-27T14:04:00Z
2021-12-27T14:04:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】JavaScript使用符号三个点(...)作为剩余运算符和展开运算符,不过这两个运算符是有区别的。 最主要的区别就是,剩余运算符将用户提供的某些特定值的其余部分放入JavaScript数组中,而展开运算符则将可迭代的对象展开为单个元素。 例如下面这段代码,其中使用了剩余运算符将部分值存放到数组中: <a href="https://www.cnblogs.com/jaxu/p/15736034.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/15650411.html
使用Sinon和Rewire对JavaScript中的私有方法进行单元测试 - Jaxu
我们曾经试图遵循良好的编程习惯,在创建和定义方法时尽可能按照“职责单一”和“开放-封闭”原则将那些没有必要暴露出来的方法定义为私有方法,但是在编写测试用例时又往往对这些设计原则嗤之以鼻,因为你会为无法编写测试这些私有方法的测试用例而感到苦恼。 从互联网上找到的许多方法都不是最优解决方案。在本文中,我
2021-12-07T03:32:00Z
2021-12-07T03:32:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】我们曾经试图遵循良好的编程习惯,在创建和定义方法时尽可能按照“职责单一”和“开放-封闭”原则将那些没有必要暴露出来的方法定义为私有方法,但是在编写测试用例时又往往对这些设计原则嗤之以鼻,因为你会为无法编写测试这些私有方法的测试用例而感到苦恼。 从互联网上找到的许多方法都不是最优解决方案。在本文中,我 <a href="https://www.cnblogs.com/jaxu/p/15650411.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/15435386.html
如何查找Visual Studio Code中的内置命令并通过executeCommand来执行 - Jaxu
我们在开发Visual Studio Code插件时,经常需要通过Visual Studio Code提供的API来进行一些UI操作,例如打开文档、修改并保存文档内容、关闭文档、打开功能面板等,有些功能可以通过查看Visual Studio Code的官方文档找到对应的API接口和相应的对象,但很多
2021-10-21T13:50:00Z
2021-10-21T13:50:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】我们在开发Visual Studio Code插件时,经常需要通过Visual Studio Code提供的API来进行一些UI操作,例如打开文档、修改并保存文档内容、关闭文档、打开功能面板等,有些功能可以通过查看Visual Studio Code的官方文档找到对应的API接口和相应的对象,但很多 <a href="https://www.cnblogs.com/jaxu/p/15435386.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/15382725.html
如何在JavaScript的实例对象中改写原型方法 - Jaxu
在JavaScript中,我们通常可以像下面的代码这样来简单地定义一个类: var sample = function() { // constructor code here } sample.prototype.func1 = function() { // func1 code here }
2021-10-08T12:49:00Z
2021-10-08T12:49:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】在JavaScript中,我们通常可以像下面的代码这样来简单地定义一个类: var sample = function() { // constructor code here } sample.prototype.func1 = function() { // func1 code here } <a href="https://www.cnblogs.com/jaxu/p/15382725.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jaxu/p/15374686.html
如何在Visual Studio Code中用Mocha对TypeScript进行测试 - Jaxu
首先,本文不是一篇介绍有关TypeScript、JavaScript或其它编程语言数据结构和算法的文章。如果你正在准备一场面试,或者学习某一个课程,互联网上可以找到许多相关的资源,我个人比较推崇hackerrank.com。 本文的主要目的在于帮助你了解并熟知以下两点: 如何用TypeScript编
2021-10-06T18:09:00Z
2021-10-06T18:09:00Z
Jaxu
https://www.cnblogs.com/jaxu/
【摘要】首先,本文不是一篇介绍有关TypeScript、JavaScript或其它编程语言数据结构和算法的文章。如果你正在准备一场面试,或者学习某一个课程,互联网上可以找到许多相关的资源,我个人比较推崇hackerrank.com。 本文的主要目的在于帮助你了解并熟知以下两点: 如何用TypeScript编 <a href="https://www.cnblogs.com/jaxu/p/15374686.html" target="_blank">阅读全文</a>