- 后端开发
基于原生 Node 备份软路由上的 Minecraft 服务器存档,并通过 Alist 上传到云端
笔者最近在 OpenWRT 软路由上部署了一个 Minecraft 服务器,出于对数据安全的焦虑,于是折腾了一下存档备份的相关事宜,记录为此文。 在 CurseForge 等模组站上已有方便好用的 Minecraft 服务器存档备份插件,除非您喜欢折腾或高自由度的定制,不用像笔者这样编写一整个脚本。 完整的脚本可见此。 编写备份脚本 前置准备 为了脚本编写方便,约定应该在 Minecraft…
05 月 11 日 2024 年Linux OpenWRT Minecraft Node JavaScript Alist - 技术琐事
漫谈 JavaScript 类(Class)的使用
类(Class)是用于创建对象的模板,他们用代码封装数据以处理该数据,是面向对象编程方法的重要特性之一。JavaScript 中的 语法在 ES6 中引入,其底层实现基于原型(Prototype),系原型继承的语法糖(Syntactic Sugar)。 本博文将探讨 JavaScript 中如何使用类的相关知识 ,文章组织架构和内容基于 MDN 上关于类的章节。 定义类 类可以被看作一种…
05 月 20 日 2021 年JavaScript ES6 - 技术琐事
漫谈 JavaScript 闭包
JavaScript 中有一个叫作闭包(Closure)的概念,非常有趣且适用,值得学习并整理为一篇博客。 为了更好理解闭包的作用,不妨看看我的关于 JS 变量提升(Hoisting)和函数提升现象的阐述。 作用域 在 JavaScript 中,作用域(Scope)是当前代码执行的上下文,也即是值和表达式在其中可访问到的上下文。 如果一个变量或其它表达式不在当前作用域中,就会沿作用域链…
05 月 18 日 2021 年JavaScript - 技术琐事
漫谈 JavaScript 变量提升和函数提升
在 ES6 规范出现之前,使用 JavaScript 声明变量只有 , 以及隐式声明三种方式。 按照一般编程的思维,我们会通过“先声明,后调用”的方式去使用变量,例如: 但假如反过来,我们“先调用,后声明”,会发生什么呢? 如上所示,在声明变量 之前尝试将它的值打印出来,控制台输出的结果是 ,而不是预期中的报错 。这就是变量提升。 而对于函数的声明与使用,也出现了相似的情况: 在声明函数…
05 月 11 日 2021 年JavaScript - 前端开发
函数防抖和节流,以及在 Vue 中的运用
在前端性能优化中存在一个老生常谈的问题:如何优化高频率执行的 JS 代码?例如: 我们为浏览器滚动 scroll 绑定了监听事件,当滚动到某位置之下后,会在浏览器右下方显示一个点击后能快速回到页面顶部的浮动按钮;而滚动回该位置之上时,浮动按钮消失。现在我们发现,用户每次使用滚轮滑动页面,都会触发很多次该事件,判断当前在该位置之上还是之下,这在一定程度上降低了前端的性能。 我们为网页添加了搜索功能…
05 月 08 日 2021 年JavaScript Vue-2 Nuxt - 前端开发
在 Nuxt.js 中引入高德地图并实现定位及逆地理编码
迷途知反!腾讯地图的 JS API 文档实在过于简陋,且库很久没有更新,转身投入高德地图的怀抱,享受 this moment 的美好! 高德地图与腾讯地图定位功能区别 高德地图将定位功能和逆地理编码功能分开为两个操作,而腾讯地图将二者合并。 这意味着使用高德地图实现逆地理编码,首先需要执行定位操作,再将得到的结果传给逆地理编码插件获得最后的结果。 此外…
03 月 17 日 2021 年JavaScript Node Vue-2 Nuxt Promise - 前端开发
使用腾讯位置服务进行 Web 前端定位