
Javascript随笔
文章平均质量分 79
JS作为未来发展的“头号玩家”,搞起。
没有系统的学习过,这里记录一些平常使用的代码,通过不断练习提高自己的水平。
夜猫逐梦
2022,希望在优快云上总结并分享一个14年老二次猿的职业生涯。
大二开始有了自己的电脑。
大三参加ACM。
大四组建ACM社团,第一批报名就超过百人。
大四上学期末(10年底)开始北漂,毕业后入职北京瑞星,后又就职于搜狐畅游,从事反外挂相关业务。
15年开始了半年的沿海旅游,之后又是半年的“自由职业”。
之后从事游戏相关行业逆向开发至今。
逆向,网络安全,全栈,啥都会点,算个技术控吧。
记录并分享知识和经验,结交有志之士,共同进步。
展开
-
【前端】记录一次五年前前端代码编译的全流程
查看raw.githubusercontent.com的真实IP地址,打开 https://site.ip138.com/raw.Githubusercontent.com/ 查看下面的IP,复制一个,ping一下看下通不通,不通就用下面其它的ping ,通了才能用。总体来说,整个过程还算顺利(之前踩过node版本的坑),只要根据提示一步一步的解决即可,解决不了求助AI或者搜索引擎(Google等)。额,的确没装,小编用的VS2022,只安装了22和19。安装node 12.12.12。原创 2025-01-08 17:09:48 · 769 阅读 · 0 评论 -
【nodejs】“__dirname is not defined”错误修复
在这个示例中,我们首先导入了 Node.js 中的 fileURLToPath 和 dirname 函数,然后使用 import.meta.url 获取当前模块的 URL。接着,通过 fileURLToPath 将 URL 转换为文件路径,并最终通过 dirname 获取该文件路径的目录部分,从而模拟实现了类似 __dirname 的功能。这样,您就可以在 ESM 模式下获取当前模块的目录路径,类似于 CommonJS 中的 __dirname 变量。不过,您可以通过一些方法来模拟实现类似的功能。原创 2024-03-06 20:21:54 · 5671 阅读 · 0 评论 -
【js】 lodash命名转换和封装
underscore 内置了多种实用的函数,例如字符串操作、数组操作、对象操作、日期操作等等。爬虫中经常出现各种类型的命名,往往一个对象,几十个字段的命名风格都不是自己想要的,这时候就需要将整个对象自动转为自己想要的风格,而不是手动一个个转换。本节对snakeCase、camelCase、kebabCase进行封装,三个函数结构类似,主要逻辑都是遍历对象key,将key转换后返回新的对象。本章对lodash进行了介绍,并对其中的转换函数进行了简单的测试。1️⃣ lodash转换函数。原创 2023-11-16 23:51:47 · 1539 阅读 · 0 评论 -
【leaflet】1. 初见
你可以使用 leaflet 提供的在线底图服务,如 mapbox,OpenStreetMap 等,或者加载本地的瓦片地图。总体来说,leaflet 是一款非常优秀的 WebGIS 库,适用于需要在移动端或 Web 平台上展示地理信息的应用。总体来说,leaflet 是一款非常优秀的 WebGIS 库,适用于需要在移动端或 Web 平台上展示地理信息的应用。加载 leaflet 库:在你的 HTML 文件中,使用 script 和 link 标签加载 leaflet 库。加载底图:使用 leaflet 的。原创 2023-11-09 21:30:00 · 1306 阅读 · 0 评论 -
【程序员日记】一行console.log引发的血案
Terser 是一个非常强大的压缩库,它能够减小 JavaScript 代码的体积,并提高代码的运行效率。terser-webpack-plugin 插件的使用非常简单,只需要在 Webpack 的配置中添加这个插件,并设置相关的选项即可。内存泄漏是指在程序运行过程中,一些不再需要的对象或资源仍然被占用,导致内存无法被释放,从而导致程序运行缓慢或崩溃。小编遇到的问题,可以在这上面发现,每2秒,内存增加3Mb左右。因此,在编写代码时,我们需要注意避免这些问题,以保证程序的稳定性和性能。原创 2023-11-04 18:17:53 · 459 阅读 · 0 评论 -
【Vue】初步认识<script setup>语法糖和组合式 API
async setup() 必须与 Suspense 组合使用,Suspense 目前还是处于实验阶段的特性。这个 FAQ 假定你已经有一些使用 Vue 的经验,特别是用选项式 API 使用 Vue 2 的经验。以后,vue2也有了这样的特性,所以大胆的去学习吧。是在单文件组件 (SFC) 中使用组合式 API的。中可以使用顶层 await。很多文章都说setup是vue3的特权。这样的代码,没见过,好奇,想知道。选项的方式书写 Vue 组件。顶层的绑定会被暴露给模板。最近写代码的时候,发现。原创 2023-10-30 21:01:13 · 567 阅读 · 0 评论 -
【js】从0开始工程化项目、webpack打包混淆js代码
公司代码提供给第三方使用,为了安全不泄露源码,需要对给出的代码进行加密混淆,前端代码虽然无法做到完全加密混淆,但是通过使用 webpack-obfuscator 通过增加随机废代码段、字符编码转义等方法可以使构建代码完全混淆,达到无法恢复源码甚至无法阅读的目的。因工作需要,经常写写短小精悍的js,然后再去掉注释,混淆,再加密,麻烦的很。从最初的需求来看,为了可以实现模块化,同时帮忙打包、混淆代码。目录结果按照习惯编写就行,下面是小编的目录,仅供参考。,这时候需要不断尝试修正,或者将相关代码排除出去。原创 2023-06-29 21:15:34 · 2082 阅读 · 2 评论 -
【JS每N日一练】【自动化】gitcode创建子项目并导入git
github访问时好时不好的,而且克隆代码及其麻烦,经常失败。所以小编往往是把代码先在国内做个镜像,然后再下载。目前使用还是挺方便的,今天就以gitcode为例,写两个脚本,加速代码下载。**ps:**文章中内容仅用于技术交流,请勿用于违规违法行为。写代码的时候发现一个更方便的方案,从项目中打开项目就不用设置。通过上面的方式进入导入页面,项目URL已经被设置为了。代码很简单,封装了一个函数,传递。2️⃣ 导入github项目。2️⃣ 导入github项目。原创 2023-05-08 19:30:00 · 720 阅读 · 0 评论 -
[JS每M日N练] [格物] - 你所不知道的toString
文章目录导读开发环境1.toString误区h3Object.toString !== Object.prototype.toStringtoString、typeof、constructor和instanceof、文章小结对Object.prototype.toString.call(obj)的理解实际上,所有类在继承Object的时候,改写了toString()方法。以上知识点的总结和作用!!!参考资料导读开发环境版本号描述操作系统Win10-1607Pyth原创 2023-05-03 23:21:50 · 545 阅读 · 2 评论 -
【JS每N日一练】 将优快云文章自动生成Markdown列表
上一步我们获取了文章列表,现在我们封装一个转换函数,将其中一项转为Markdown文本。标签列表,将每一项中的标题和链接取出来,拼成Markdown文本。然后封装成Array对象,方便使用forEach函数。文章中内容仅用于技术交流,请勿用于违规违法行为。处理li,获取Markdown。处理li,获取Markdown。也就是把写过的文章列表,转成。2️⃣ 完整代码及运行结果。2️⃣ 完整代码及运行结果。选择出所有的li列表。控制台输出,整整齐齐!原创 2023-04-14 18:04:54 · 689 阅读 · 0 评论 -
【JavaScript】根据元素内容遍历元素的方案
方案,通过Array的各种方法,将代码通过链式调用,已经很优雅了;而且通过箭头函数自定义过滤条件,非常的灵活,值得推荐。jQuery作为老牌强大的js库,提供了丰富的元素查询接口,也包含了根据元素内容定位元素的功能。XPATH,内置了一些函数,可以方便的处理文本。**ps:**文章中内容仅用于技术交流,请勿用于违规违法行为。就是王道,灵活运用js基础,一样可以优雅高效的实现各种任务。因业务需要,根据元素的文本内容,删选出来想要的元素。本文中提到的三种方案,各有优劣。原创 2023-02-28 14:36:11 · 724 阅读 · 0 评论 -
【算法】排序算法稳定性分析及常见算法JavaScript实现
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。原创 2010-12-23 12:09:00 · 1754 阅读 · 2 评论 -
【JavaScript】循环遍历大赏
创建一个循环,该循环遍历异步可迭代对象以及同步可迭代对象,包括内置的 String、Array,类数组对象(arguments 或 nodeList),TypedArray, Map, Set 和用户定义的异步/同步迭代器。本质是获取对象的key(键),数组作为特殊的对象,key就是下标(索引),所以遍历出来的是key,通过数组对象访问key可以获得value。of循环,作为遍历所有数据结构的统一的方法。Object.keys获取对象所有属性的名字数组,有了数组,可以参考之前的四种方式进行对象的遍历。原创 2023-02-22 22:25:56 · 1047 阅读 · 0 评论 -
【ant-design】生态介绍和表单设计器 汇总
基于vue和ant-design-vue实现的表单设计器,样式使用less作为开发语言,主要功能是能通过简单操作来生成配置表单,生成可保存的JSON数据,并能将JSON还原成表单,使表单开发更简单更快速。FormRender 是阿里旗下的飞猪 app 的表单生成方案,从 2017 年在内部开始使用到 2019 年正式对外开源,FormRender 经历了多个阿里大项目的迭代和升级,细节已经相当全面。v-form-antd是使用伪vue3开发的低代码可视化表格设计器,支持自定义组件、表单联动等高级功能。原创 2022-12-15 14:17:10 · 4326 阅读 · 0 评论 -
【JavaScript】ESLint 深入浅出
ESLint原创 2022-12-07 21:24:20 · 635 阅读 · 0 评论 -
【javascript】 初见浏览器端日志系统 log4js、bunyan
log4js bunyan原创 2022-12-07 19:00:00 · 1143 阅读 · 0 评论 -
【Ctool】json 转 mysql
获取某json格式的数据后,希望将它保存到数据库,这时就需要根据json内容转换为数据库建表语句,方便快速建表。**ps:**文章中内容仅用于技术交流,请勿用于违规违法行为。1️⃣ 编写js实现json转mysql。1️⃣ 编写js实现json转mysql。本文在ctool基础上,扩展该功能。根据json生成mysql的语句。2️⃣ 集成到ctool中。2️⃣ 集成到ctool中。原创 2022-11-26 23:52:09 · 1241 阅读 · 0 评论 -
【jsdoc-to-markdown】一步步实现js文件的文档生成
不过当团队大了,或者异地办公等原因,导致前端也需要进行对接,因此有了这篇文章。我的jsdoc是全局安装的,配置文件所在目录为。jsdoc-to-markdown踩坑!jsdoc-to-markdown踩坑!jsdoc-to-markdown的使用。jsdoc-to-markdown的使用。jsdoc-to-markdown安装。jsdoc-to-markdown使用。jsdoc-to-markdown安装。jsdoc-to-markdown使用。创建测试文件example.js。原创 2022-10-27 20:45:00 · 1727 阅读 · 0 评论 -
[JS每N日一练] devtools-snippets-01 检测内存泄露
文章目录导读开发环境h2h3参考资料导读开发环境软件名版本号描述操作系统Win10-1607Python(venv)Python3.8.6(virtualenv)Chrome96.0.4664.110 (正式版本) (64 位) (cohort: 97_Win_99)h2h3参考资料http://bgrins.github.io/devtools-snippets/qq群:夜猫逐梦技术交流裙/953949723**ps:**文章中内原创 2022-10-24 13:39:48 · 901 阅读 · 0 评论 -
【TypeScript笔记】04 - 在React中使用TypeScript
【TypeScript】原创 2022-08-07 19:36:05 · 317 阅读 · 0 评论 -
【nvm】【node多版本管理工具】使用说明和踩坑(exit status 1)
nvm(node version manager) 是 node.js 的版本管理工具,能运行在非windows系统上。如果不知道安装在哪里,可以通过在终端输入:where node,命令查看安装路径。1、在nvm安装的根目录下,新建node_cache和node_global文件夹。目前看来,nvm的确实现了多版本管理,但是测试中发现,同一时间只能运行一个nvm。3、终端执行(如果安装之前,终端开着,请重启终端):nvm v 查看是否安装成功。目录不存在(该目录是手动添加的,未创建该目录)!...原创 2022-08-07 14:42:00 · 1367 阅读 · 4 评论 -
【TypeScript】使用CRA创建支持TS的React项目(从踩坑到放弃)
踩坑,痛并快乐着原创 2022-08-06 23:17:31 · 909 阅读 · 0 评论 -
【TypeScript笔记】03 - TS类型声明文件
TS为JS运行时可用的所有标准化内置API都提供了声明文件。第三方类型声明文件-由DefinitelyTyped提供的。Windows下VSCode中,这些文件保存在。为已有JS文件提供类型声明文件。第三方类型声明文件-库自带的。类型声明文件的使用说明。VSCode通过库中的。创建自己的类型声明文件。...原创 2022-08-05 14:07:24 · 955 阅读 · 0 评论 -
【TypeScript笔记】02 - TS高级类型
我们可以看出,类的实现其实就是将class转换为一个函数;ts中类的构造函数,就是在函数中执行构造函数中的语句。黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程》从运行结果中我们可以看出,类其实就是名为Person的对象。类继承 - implements。泛型工具类型 - Readonly。泛型工具类型 - Partial。这样的语句在C#中是会报错的。泛型工具类型 - Record。,类型检测关注的是类的形状。相对的,C#、Java等都是。泛型工具类型 - Pick。.原创 2022-08-04 22:17:16 · 339 阅读 · 0 评论 -
【TypeScript笔记】01 - TS初体验 && TS常用类型
DOM里面的console是浏览器环境下的,属于浏览器BOMAPI,Node里面的console是Node.js里面的,由nodejs自己定义的API,两者虽然有同样的功能,但是并不是同一个东西。原始类型number,string,boolean,null,undefined,symbol。黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程》PSts-node不会生成hello.js文件。入门级TypeScript,《...原创 2022-07-31 01:17:43 · 408 阅读 · 0 评论 -
[JS每M日N练] 监听DOM内容改变的各种方案
监听DOM内容改变的各种方案原创 2022-03-24 11:35:01 · 3384 阅读 · 0 评论 -
[JS每M日N练] 基于libcef应用(Steam)的js导出对象分析
文章目录导读方案实现目标软件window对象的keys获取求补集参考资料导读市面上越来越多的第三方软件的使用了cef进行客户端开发,为了丰富软件功能,这些软件一般都会封装一些全局变量,向下面这样:这样的windows对象下有两三百个这样的对象,如何找到蓝色标记的自定义api呢?方案枚举出所有目标软件中的window对象的keys,记为cefKeys;枚举任一网站的window对象的keys,记为defaultKeys;两个数组求cefKeys关于defaultKeys的相对补集,cef原创 2022-02-15 20:00:00 · 577 阅读 · 0 评论 -
[echarts] 图像可视化实战01 - 折线图应用
实战echarts原创 2022-02-02 23:58:21 · 768 阅读 · 0 评论 -
[JS每N日N练] Mac笔记本上使用pig-ui项目,node-sass安装报错
文章目录导读h3文章小结参考资料导读今天在Mac笔记本上安装pig框架的时候,报错啦https://npmmirror.com/mirrors/node/v14.18.3/https://npmmirror.com/mirrors/node/v14.18.3/node-v14.18.3.pkghttps://nodejs.org/download/release/v14.18.3/node-v14.18.3.pkgh3文章小结参考资料node-sass与node版本不匹配问题解决方法原创 2022-01-30 17:19:06 · 1744 阅读 · 0 评论 -
[JS每N日一练] fetch、axios、jquery的ajax用法及区别
文章目录用法jQueryfetchaxios简写jQueryaxios文章小结参考资料用法jQuery// 基本用法无参数get请求$.ajax({ url: url, success:function(result){ console.log(result); }}// 需指定方法则增加method字段$.ajax({ url:url, method:"POST", success:function(result){ cons原创 2022-01-29 23:54:02 · 1535 阅读 · 2 评论 -
JS每N日一练 -- 猿人学 任务十七
文章目录导读注入axiosxxhr.js:162 Refused to set unsafe header "User-Agent"参考资料导读日期:2022-1-19最近发现个js逆向的刷题网站,猿人学,作为新手,练练手,总结一下自己所学。注入axios参考:JS练习 – 动态加载JS即可。xfunction loadJS( url, callback ){ var script = document.createElement('script') var fn =原创 2022-01-19 13:59:30 · 1388 阅读 · 0 评论 -
JS练习 -- 动态加载JS
文章目录导读通过CDN网站获取js的urlcreateElement、script.srcXHR加载参考资料导读日期:2022-1-18分析网页时,经常遇到一些库未加载的情况,比如想使用axios库,该网站本身未加载,这时候就需要通过js加载。通过CDN网站获取js的url这里以axios为例。https://www.bootcdn.cn/https://www.bootcdn.cn/axioshttps://cdn.jsdelivr.net/npm/axios@0.25.0/d原创 2022-01-18 23:59:21 · 1157 阅读 · 0 评论 -
JS随笔 2022-1-13 -- 获取优快云最新的个人数据
文章目录导读代码实现参考资料导读最近魔怔了,一直想把自己优快云的排名搞上去,于是天天看着自己的排名。后来就出现了个需求,获取个人数据,然后后期做成数据可视化。本篇文章只涉及到数据采集,也就是通过JS把网页数据变为目标数据(Markdown的表格数据),如下所示:代码实现// 补0function __(v) { var ret = '' + v; if (ret.length < 2) { ret = '0' + v; } return ret}function原创 2022-01-13 11:31:15 · 280 阅读 · 0 评论