笔记
游走走
这个作者很懒,什么都没留下…
展开
-
C++递归删除目录下所有文件(macOS和windows两种)
最近各种搞C++文件操作, 顺手记录一下也可以加个系统判断把这两段结合起来写个兼容方法macOS#include <dirent.h>#include <iostream>using namespace std;void removeDir(const char* dirPath){ struct dirent *dirp; cout << "dirPath:" <<dirPath << endl; DI原创 2022-01-08 15:48:40 · 1416 阅读 · 1 评论 -
JS脱敏处理-只展示前x和后x位
/** * 脱敏处理,加*号,只展示前preLen位和后subLen位 */function desensitize = (str = "", preLen, subLen = 0) => { if (!str) { return str || ""; } str = str.toString(); const len = str.length; const subIndex = len - subLen > preLen ? len - subLen : pr原创 2021-12-20 10:44:23 · 771 阅读 · 0 评论 -
在线博客转PDF电子书 | JS爬虫初探
最近在看一位大佬写的源码解析博客,平时上下班用手机看不太得劲,但是平板又没有网卡,所以就想搞个离线pdf版,方便通勤时间学习阅读。所以,问题来了: 怎么把在线网页内容转成pdf?这位大佬的博客是用gitbook写的,我先上网搜了下工具,发现大多是将自己本地gitbook转pdf,只有一个开源工具是用python爬取的在线gitbook,但是一看issues,中文乱码、空白页、看不到图等等问题都没解决,遂放弃……经过我不懈的搜索,终于找到了一个可以直接把网页保存成pdf工具:phantomjs。pha原创 2021-06-18 14:58:59 · 165 阅读 · 0 评论 -
[高效工具]vscode配置jsx模板
首先打开vscode,菜单选项:File>Preferences>User Snippets>javascritreact.json文件内容改为:{ "JSX": { // 函数式组件 "prefix": "jsx", "body": [ "import React, { useEffect, useState } from \"react\"", "", "function DemoPage$1 (props){", "\tuseEffect(()原创 2021-05-20 10:28:48 · 678 阅读 · 0 评论 -
源码学习之noop
/** * Perform no operation. * Stubbing args to make Flow happy without leaving useless transpiled code * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). */function noop(a, b, c) { }这是一段vue2里的源码。noop,是No Operatio原创 2021-03-30 15:08:19 · 1077 阅读 · 0 评论 -
源码学习之void 0
今天看源码的时候看到 void 0 这样的写法,平时在业务代码里基本没有这样的写法,于是学习了一下。在控制台运行了一下void 0,得到返回值是undefined。在MDN上搜了一下void,了解到:void是个运算符void用于获取原始数据类型undefinedvoid可以将function关键字识别为函数表达式(立即执行函数)void可以用于箭头函数以避免泄漏以vue的源码为例: var createEmptyVNode = function (text) { if (te原创 2021-03-30 09:39:18 · 369 阅读 · 0 评论 -
ssh免密登录
A服务器要免密登录B服务器,在A服务器执行ssh-keygen,生成两个密钥,这两个秘钥在用户目录:~/.ssh下,将其中的公钥文件id_rsa.pub中的内容,复制追加粘贴到B服务器的~/.ssh下的authorized_keys中即可。注意用户名和端口号。如root用户免密登录22端口:ssh root@xxx.xxx.xx.x...原创 2021-03-17 18:44:57 · 114 阅读 · 0 评论 -
前端模块化
《源码学习之前端模块化》一、什么是模块化模块化并不是前端独有的思想。模块化是一种自顶向下的过程,通过把一个大的系统,逐步划分为一个个小的模块,这些模块内部封装了一些特定的功能,通过约定的接口对外暴露。各个模块之间互不干扰,易于插拔。模块化可以解耦代码,更好地进行复用,每个模块之间互不影响,不用担心变量污染、命名冲突等问题,同时也有利于并行开发,提升效率。js最初是没有模块化的。随着前端应用越来越复杂,比如,当一个html页面要请求多个js文件时,如何保证这些js文件之间的变量互不干扰?为了解决诸如变原创 2021-03-17 10:09:45 · 255 阅读 · 0 评论 -
【bug】解决nodejs的post请求只有option预请求
在app.js里添加这段:app.all('*', function (req, res, next) { res.header('Access-Control-Allow-Origin', "*"); res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type'); res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, O原创 2021-03-11 09:53:20 · 773 阅读 · 0 评论 -
node+express连接mysql数据库并实现get请求demo
npm install mysql --save安装成功后// dao.jsvar $sql = require('./sqlMapping'); // 这个文件是定义sql语句的var mysql = require('mysql');// 采用连接池连接var pool = mysql.createPool({ host: '127.0.0.1', user: 'root', password: '123456', database: 'database_te原创 2021-03-02 17:25:24 · 320 阅读 · 0 评论 -
shell循环判断数组中的文件夹是否存在,不存在则创建,存在则进行清理
arr=("a" "b" "c")for folder in ${arr[@]}do #如果文件夹不存在,创建文件夹 echo $folder if [ ! -d "$folder" ]; then mkdir "$folder" echo $folder else # 如果存在则清理文件夹 rm -rf $folder/* fidone原创 2021-03-02 09:42:16 · 793 阅读 · 0 评论 -
shell列出文件夹下的文件及其更新时间
ls -l --time-style=iso原创 2021-03-02 09:39:22 · 1393 阅读 · 0 评论 -
Javascript标准内置对象Proxy
Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。语法:const p = new Proxy(target, handler)target:要使用 Proxy 包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。handler:一个通常以函数作为属性的对象,各属性中的函数分别定义了在执行各种操作时代理 p 的行为。handler 对象的方法handler 对象是一个容纳一批特定属性的占位符对象。它包含有原创 2021-01-24 22:16:54 · 142 阅读 · 1 评论 -
【Javascript】Object.prototype
几乎所有的 JavaScript 对象都是 Object 的实例;一个典型的对象继承了Object.prototype的属性(包括方法)。存在两种不具备原型链的创建Object的方法:Object.create(null)和Object.setPrototypeOf(obj, null)。通过Object.create(null)创建的对象没有prototype:var a = Object.create(null);var b = {}console.log(a); // 没有prototy原创 2021-01-19 22:31:33 · 1365 阅读 · 0 评论 -
【Javascript】Object.defineProperty()
语法:Object.defineProperty(obj, prop, descriptor)返回参数中的obj。obj:要定义的对象;prop:要定义或修改的属性的名称(或者Symbol);descriptor:要定义或修改的属性描述符。descriptor里有以下几种选项:configurableenumerablevaluewritablegetsetJavascript对象有两种描述符:数据描述符和存取描述符。数据描述符没有get和set选项,存取描述符没有valu原创 2021-01-19 01:17:22 · 260 阅读 · 0 评论 -
【Javascript】Object.freeze()
Object.freeze() 方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。语法:Object.freeze(obj)返回被冻结的对象obj。⚠️注:在ES5中如果参数不是对象,会报TypeError错误,在ES6中则会把非对象参数简单地返回。数值描述符,属原创 2021-01-19 01:15:52 · 206 阅读 · 0 评论 -
Vue3.0会带来什么?—— 2018 vue conf回顾笔记
BV1Et41197L4更快更小更易于维护更好的多端渲染支持新功能更快模板编译和Virtual DOM运行时优化新的Virtual DOM实现完全重构初始渲染/更新提速达100%(最高)更多编译时的优化以减少运行时的开销当我们将模板编译为Virtual DOM的渲染函数的时候,Vue2.0的做法是不管是组件还是浏览器自带的原生html元素,都是统一作为一个字符串,然后传到h函数,也就是创建一个虚拟node的函数里面。判断一个元素是组件还是原生元素时,Vue2.0是在运.原创 2021-01-09 14:27:16 · 261 阅读 · 0 评论 -
Redux官方文档学习笔记(基础部分)
reducer:形式为 (state, action) => state 的纯函数state可以理解成状态机,action是一些操作描述,reducer根据action中的操作描述来改变状态机state,从而得到一个新的状态机state。Redux三大原则:单一数据源(整个应用的state被存储在一棵对象树上,并且这棵对象树只存在于唯一一个store中)state是只读的(只能通过action改变,视图和网络请求都不能直接修改 state)使用纯函数来执行修改(reducer,接收先前的.原创 2021-01-09 00:19:49 · 262 阅读 · 2 评论 -
docker核心概念
图源:https://www.jianshu.com/p/23a13bf73de3Docker客户端:Docker客户端是许多Docker用户与Docker交互的主要方式。当您使用诸如docker run之类的命令时,客户端会将这些命令发送到守护进程,由守护进程执行这些命令。Docker客户端可以与多个守护进程通信。Docker守护进程(daemon):监听客户端请求,并管理Docker对象,如镜像、容器、网络和卷。守护进程还可以与其他守护进程通信,以便对Docker服务进行管理。Docker注册器:原创 2020-11-28 17:28:36 · 133 阅读 · 1 评论 -
docker常用命令总结
注:<>表示必填参数,[]表示可选参数。一、镜像docker image pull [用户名或组织名]/<仓库名>:<标签>:从远程镜像仓库服务的仓库中下载镜像,用户名或组织名不填则默认从Docker Hub的仓库中拉取。docker image ls:列出本地Docker主机上存储的镜像。可以通过–digests参数来查看镜像的SHA256签名。docker image inspect [用户名或组织名]/<仓库名>:<标签>:展示.原创 2020-11-28 16:31:11 · 199 阅读 · 0 评论 -
Krpano功能化
相关文章:java全自动生成krpano全景漫游krpano 功能化 – linux 部署(此教程有去水印方法)步骤总结:将krpano部署到linux服务器上去水印部署部署后端代码部署前端代码各个版本的Krpano下载⤵️链接: https://pan.baidu.com/s/1COs1rzaO7-MIXx3tijdIeQ 密码: shrm...原创 2020-11-11 22:18:33 · 325 阅读 · 0 评论 -
【Java入门】5000字JVM学习总结 ( 面试必看 )
目录一、执行引擎1. 编译2. 执行3. 垃圾回收二、类加载器子系统1. 类的生命周期2. 类加载器类型3. 双亲委派机制4. 类初始化的时机三、运行时数据区一、执行引擎1. 编译2. 执行3. 垃圾回收二、类加载子系统1. 类的生命周期2. 类加载器类型3. 双亲委派机制4. 类初始化的时机三、运行时数据区一、执行引擎1. 编译2. 执行3. 垃圾回收二、类加载器子系统1. 类的生命周期2. 类加载器类型3. 双亲委派机制4. 类初始化的时机三、运行时数据区JVM,Java Vir原创 2020-11-09 11:45:42 · 429 阅读 · 0 评论 -
Springboot+jwt实现token校验
pom.xmlJwtInterceptor.javaJwtToken.javaJwtUtil.javaWebConfig.javaGlobalExceptionHandler.javapox.xml <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> ..原创 2020-10-25 01:59:01 · 231 阅读 · 0 评论 -
Springboot配置validator参数校验
pom.xmlGlobalExceptionHandler.javaResult.java1 pom.xml <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version&g.原创 2020-10-22 21:15:48 · 345 阅读 · 0 评论