自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 【js】有关时间、日期的知识和一些处理!

前言有些东西看起来不起眼,但是到了真正的开发中,会给你使很大的绊子。比如说在js中对于时间的处理,不是什么大问题,但是每次遇到都会在这上面花费一定的时间,所以我打算趁着周末整理一下js中有关时间和日期方面的知识。一、一些概念1. 时区我们的世界有数百个时区。 在JavaScript中,我们只关心两个, 本地时间和协调世界时(UTC)。本地时间是指你的计算机所在的时区。UTC实际上是格林威治标准时间(GMT)的同义词默认情况下,JS中的几乎每个日期方法(除了一个)都是本地时间。 只有指定UT

2021-09-13 09:12:31 349

原创 【js】向一个数组中添加其他数组的每个元素

假如我有两个数组const array1 = ['a','b']const array2 = ['c','d']现在,我想把array2中的每一个元素值添加到array1中,我会想到下面的方法,但是结果和我想的却不一样:array1.push(array2)console.log(array1) // ["a", "b", Array(2)],跟我想象中的["a","b","c","d"]不一样看来我们需要寻求另一种办法,给大家指个路子——js中的apply!我们知道call和apply的

2021-08-30 16:11:52 1153

原创 【mongoose】使用mongoose查询数据时,字符串自动转换为ObjectId的问题

今天写接口的时候,想要测试一个查询操作。但是数据库里面的数据不全,于是我自己手动填上了几条,然后就开始测了!嗯,不行?我的查询语句错了?对的呀!借着就是各种尝试各种失败……最后我去看了一眼数据库,发现一个文档中的一个_id字段是我自己手动填的,是string字符串,但是我又瞄了一眼该文档其他的id,都是ObjectId(字符串)形式,我突然明白了什么……在使用mongoose进行查询操作时,输入的id可能会被自动转化成ObjectId()形式,但是因为我数据库里面的是string形式,所以你只要是

2021-08-20 10:35:07 1373

原创 【js】三元运算符的一个bug!

前两天在处理一个bug时发现了一个有关三元运算符隐藏的小问题我们应该都大体知道三元运算符的基本规则,下面还是贴出来一下:我们发现,上面图中的三元运算符中条件是isMember,这是一个Boolean值,为true的时候选择$2.00,false的时候选择$10.00。那我们引申出一个问题:如果条件不是一个boolean值,而是字符串、数值或者其他值呢?我以前一直的认为都是三元运算符在某种意义算是if-else语法的语法糖,他可以简化if-else语句到一行语句中,所以这里的条件应该就和if()括号中

2021-08-19 09:47:22 340

原创 【js】获取对象中的名称为变量的属性

遇到的问题今天下午搬砖的时候遇到了一个业务场景——我有一个对象,这个对象里面有且只有一个属性,但令人难过的是,这个属性的名称是个变量,也就是说我不知道这个属性名称是什么,我只能知道它一定是我一个数组中的某个值,现在我想取出来这个属性,怎么办呢?解决方式在网上看了很多老哥的建议,最终选了一个我自己认为还是比较简单的,分享一下:const object = _.pick(req.body, objectMap) //这就是遇到的问题,object是只有一个属性的对象const value = Obje

2021-08-05 09:36:40 600

原创 【后端开发】直击痛点系列之——cookie、session、token、LocalStorage和SessionStorage。

背景工作时出现了一个错误,追根溯源,感觉在一个“字符串”上出了问题,于是想要打印出来看一下,结果用console.log()打印得出来了[object Object],这到底怎么回事?原因细心的同学可能早就已经发现了,我前面写的“字符串”都带上了引号,因为我以为的“字符串“其实不是字符串!我是从前端的一个JSON对象中抽出来了一部分传到了后端,我认为传过来的是个”字符串“,但是他其实是一个JSON对象!我随即用JSON.stringify()方法解析了一下,得出来了正儿八经的字符串,然后终于成功打印

2021-07-30 16:21:32 566

转载 【eslint】局部关闭eslint代码检查

1. 关闭单一文件校验在文件头部添加如下内容:/* eslint-disable */2. 关闭当前行校验let arr = null; // eslint-disable-line3. 关闭下一行代码校验// eslint-disable-next-linelet arr = []4. 关闭段落校验/* eslint-disable */ 代码块/* eslint-enable */5. 关闭指定错误校验//eslint-disable-next-line no-

2021-07-23 20:15:29 752

原创 【ts】有关报错Line 0: Parsing error: Cannot read property ‘map‘ of undefined的解决方法

我一直使用的typescript 3.7.5版本,然后又一次升级到了4.2版本,结果再次运行就会报标题的错误,然后我把ts的版本返回以前的3.7.5,就解决了!

2021-07-07 11:01:45 2095

转载 【ts】报错Could not find a declaration file for module xxx

问题我们在 typescript 的项目中安装一些包的话,可能会报错 Could not find a declaration file for module ‘xxx’ ,这是因为这个包可能不是.ts文件而是.js文件,那么如何解决呢?解决如果有这个包的 ts 版本,则npm install @types/xxx否则,找到根目录下的 shims-vue-d.ts 文件declare module '*.vue' { import Vue from 'vue' export defau

2021-06-23 16:16:27 1260

原创 【Mac】如何在Mac Finder 中显示/隐藏默认隐藏文件

方法一:快捷键Command+Shift+. 可以显示隐藏文件,再按一次,恢复隐藏;方法二:命令行命令在终端中输入以下命令:defaults write com.apple.finder AppleShowAllFiles TRUE(回车)killall Finder(回车)好了,现在你的Finder里会显示出所有的隐藏文件了再输入以下命令:defaults write com.apple.finder AppleShowAllFiles FALSE(回车)killall Finder(回

2021-06-20 18:37:10 260

原创 【node,ts】后端开发常用公共方法(不定期更新)

/*@Author: AlexFun@Date: 2021-05-11 18:47:08@LastEditors: AlexFun@LastEditTime: 2021-05-11 22:03:40@Description: 常用公共类*/import util from ‘util’import fs from ‘fs’import path from ‘path’//递归创建文件夹function mkdirsSync(filePath: string) {if (fs.ex

2021-05-11 22:12:34 294

原创 【mongodb】解决已经启动了mongod服务但是无法连接robo 3t的问题

嘿,您猜怎么着?划红线的地方不要写localhost????,要写127.0.0.1,呵就这么一回儿事儿!对我有用,故此记录。

2021-05-03 16:37:13 773

转载 vue项目根目录下index.html中的id=“app“,与src目录下的App.vue中的id=“app“为什么不会冲突

使用cli构建项目后,在根目录下有个index.html文件,其中有一行代码为:// index.html<body> <div id="app"></div> <!-- built files will be auto injected --> </body>而src目录下的App.vue中也有id="app"的代码// APP.vue<template> <div id="app">

2021-05-01 18:32:22 1044

原创 【JS】异步之路二:回调函数

上一节我们简单说了一下什么是JS中的异步这一届我们来看一个我们常遇到的概念——回调函数回调函数肯定是个函数,那么他和普通的函数有什么不同的呢?callback 是一种特殊的函数,这个函数被作为参数传给另一个函数去调用。 这样的函数就是回调函数。我在网上查找了一些资料,看到了一些好的回答,我将其摘抄下来:什么是回调函数?我们绕点远路来回答这个问题。编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是

2021-04-28 14:24:18 87

原创 【JS】异步之路一:什么是异步?

一、异步的概念异步的概念很广泛,下面是百度百科上面摘抄下来的异步定义:异步:一种通讯方式,对设备需求简单。我们的PC机提供的标准通信接口都是异步的。异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。异步的另外一种含义是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。但此处需要明确的是:异步与多线程与并行不是同一个

2021-04-28 11:15:13 871

原创 【JS】AMD,CMD,CommenJS和ES6

本节我们来对比一下AMD,CMD,CommenJS和ES6首先说一下什么是AMD,CMD和CommenJS。其实这三个都是一种规范或者说标准。AMD是过我一个团队搞出来的异步模块定义,CMD是国内的淘宝团队搞出来的同步模块定义,其知名度不如AMDAMDAMD是RequireJS在推广过程中对模块定义的规范化产出。这听起来是不是很拗口?首先又蹦出来了一个新概念,什么是RequireJS?RequireJS 是一个JavaScript文件和模块加载器。我们知道ECMAScript是一个组织,Javas

2021-04-27 22:05:28 171

原创 【HTTP】401未经授权的错误及其通常解决方案

今天早上写api自动化测试的时候报了一个错误:Fatal: UncaughtException: AssertionError: expected { Object (_events, _eventsCount, …) } to have status code 200 but got 401与之有关的代码块具体如下:it("GET /users with admin", function (done) { chai.request(server) .get("/users")

2021-04-27 10:40:43 7950

原创 【Git】提交代码时对于commit信息的规范

type用于说明 commit 的类别,只允许使用下面7个标识。feat:新功能(feature)fix:修补bugdocs:文档(documentation)style: 格式(不影响代码运行的变动)refactor:重构(即不是新增功能,也不是修改bug的代码变动)test:增加测试chore:构建过程或辅助工具的变动举个栗子:Alex 2021/4/26feat:新增评论功能相关David 2021/4/20fix:修复主页导航栏的一些bug即标识+简述的形式去提交c

2021-04-26 16:50:49 220

原创 【MongoDB】解决由于权限问题导致的MOngoDB服务无法启动问题

终端报错信息: ERROR: child process failed, exited with error number 1我是在stackoverflow上读到一位老哥的回答解决的问题,下面这一段是原回答:I had the same thing and it turned out to be a permissions issue. If the owner of the child process cannot access the log path or the log path does n

2021-04-25 14:22:17 596

转载 【Vue】Vue项目开发目录结构和引用调用关系

main.js —>找到index.html中的挂载位置—>找到app.vue中的挂载内容原文:https://www.cnblogs.com/chenleideblog/p/10432375.html最近做一些CI+Vue开发的简单项目,由于刚开始一直从事后端,对Vue了解不是很多,fork了团队的项目代码发现项目的文件夹很多,一时间有些懵,上网上参考了部分资料,博客园中的放晴的天空与狮子爱吃草两位的博客提供了很大的帮助,现将该部分知识做以下总结。下图为Vue项目文件夹:以下就项目文

2021-04-24 12:18:12 315

原创 【终端】终端,shell,与bash。

终端历史通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal),下面是几个比较常见的终端模拟器: gnome-terminal,Konsole,xterm,rxvt,kvt,nxterm 和 eterm 。终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登陆就是通过不同的 /dev/tty 设

2021-04-21 21:17:03 979

转载 【ubantu】系统获取root权限且修改文件内容的方法

获取root 权限首先普及一个知识 就是ubantu 终端上输入密码是不现实的。不要把他看做出问题了首次root,sudo passwd root一 输入账户密码二 输入unix密码(root密码)三 再次输入unix 密码(root密码)注意: Linux系统是基于unix系统开发的一个系统非首次root打开终端 输入 su 然后 输入 root密码就进入root了最后说一下修改文件内容的方法我一般使用的是sudo gedit /etc/、、/文件( /etc/、、 是指目录 et

2021-04-21 16:07:11 1050

原创 【Mongodb】Mac和Linux环境下安装和配置Mongodb

Mac OS XMongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包。下载地址:https://www.mongodb.com/try/download/community注意:从 MongoDB 3.0 版本开始只支持 OS X 10.7 (Lion) 版本及更新版本的系统。接下来我们使用 curl 命令来下载安装:进入 /usr/localcd /usr/local下载sudo curl -O https://fastdl.mongodb.org/osx/m

2021-04-21 10:46:39 185

转载 【命令】Warning: Binary output can mess up your terminal. Use “--output -“ to tell

Windows或者mac或者Linus用curl命令下载资源curl -0 https://alibaba.github.io/arthas/arthas-boot.jar的时候,会出现如下的警告:Warning: Binary output can mess up your terminal. Use “–output -” to tellWarning: curl to output it to your terminal anyway, or consider "–outputWarning

2021-04-21 09:56:08 10823 1

原创 【Node】Node环境安装

一、Windows&MacOS系统进入node官方网站,点击导航栏中的下载,其中就有对于该两个系统的安装,直接进行傻瓜式安装。二、Linux系统以ubantu系统,安装较稳定的node-10.23.0版本为例,依次执行下述内容:(0)首先 我们更改我们的ubantu镜像,我们去到开源软件镜像站,然后按照提示更改相应的文件(记得选择合适的ubantu版本)。(1)我们可以自行选择一个目录来存放我们的node源码,进入目录之后,通过wget命令获得node资源,资源能翻墙随便找,不能翻墙找国

2021-04-21 09:29:48 379

转载 [ubantu]在ubantu系统中使用命令行下载谷歌浏览器Google Chrome

Google Chrome 是世界上使用最广泛的网络浏览器。它是为现代网络构建的快速,易于使用和安全的浏览器。Chrome不是开放源代码浏览器,它也不包含在Ubuntu存储库中。 Google Chrome基于 Chromium ,这是一个开放源代码浏览器,可在默认的Ubuntu存储库中使用。在本教程中,我们将向您展示如何在Ubuntu 18.04上安装Google Chrome浏览器。相同的说明适用于Ubuntu 16.04和任何其他基于Debian的发行版,包括Debian,Linux Mint和E

2021-04-19 21:47:50 1380

原创 【JS】js语言基础——数据类型

二、数据类型0. 数据类型总览&typeof操作符ECMAScript的数据类型如下:(1)6中简单数据类型(也称原始类型):Undefined,Null,Boolean,Number,String,Symbol(ES6新增)(2)1中复杂数据类型:Object——一种无序名值对的集合。在JS中不能定义自己的数据类型,所有值都可以用上述的7种数据类型之一来表示,只有7种数据类型似乎不足以表示全部数据,但是js数据类型很灵活,一种数据类型可以当做多种数据类型来使用。typeof

2021-04-19 13:16:50 113

原创 【Vue】Vue-router

Vue-router零、什么是Vue-router?Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有:·嵌套的路由/视图表·模块化的、基于组件的路由配置·路由参数、查询、通配符·基于 Vue.js 过渡系统的视图过渡效果·细粒度的导航控制·带有自动激活的 CSS class 的链接·HTML5 历史模式或 hash 模式,在 IE9 中自动降级·自定义的滚动条行为一、动态路由匹配...

2021-04-16 16:53:29 118

原创 【JS】js语言基础——语法之var,let与const

一、语法语法宽松借鉴了C语言和类C语言(如Java)的语法。1. 区分大小写ECMASript中的一切都区分大小写。像typeof这种关键字不能作为函数名,但是由于严格区分大小写,所以Typeof是一个完全有效的函数名。2. 标识符标识符是变量、函数、属性或函数参数的名称,标识符可以由一或多个下列字符组成:(1)第一个字符必须是一个字母、下划线( _ )或美元符号($);(2)剩下的其他字符可以是字母、下划线、美元符号或数字。标识符中的字母可以是扩展ASCII(Extended

2021-04-09 20:39:18 147

转载 【进程】杀死挂起的进程

在用管理员执行一个命令后,用Ctrl+Z把命令转移到了后台。导致无法退出root的。输入命令:exit终端显示:There are stopped jobs.解决方法:方法一、输入命令:jobs终端显示:[1]+ Stopped vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /)kill -9 %1方法二、输入命令:jobs -l终端显示:[1]+ 4664 停止 vim /etc/network/interfa

2021-04-06 23:04:50 1119

原创 【路由】前端路由与后端路由

什么是前端路由?前端路由就是根据不同的url地址展示不同的内容或页面。前端路由就是把不同路由对应不同的内容或页面的任务交给前端来做,之前是通过服务端根据url的不同返回不同的页面实现的。什么时候使用前端路由?在单页面应用,大部分页面结构不变,只改变部分内容的时候。前端路由的优缺点:优点:用户体验好,不需要每次都从服务器全部获取,快速展现给用户。缺点:不利于SEO;使用浏览器的前进,后退时会重新发送请求,没有合理地利用缓存;单页面无法记住之前滚动的位置,无法在前进,后退的时候记住滚动..

2021-04-06 11:57:30 57

原创 【Vue】使用webpack搭建vue项目的配置学习

前言我们本节来了解使用webpack搭建vue项目时的vue项目框架中的各个配置。首先,我要提前声明一点:vue,node,webpack之间是什么关系?1.vue的开发本身是不依赖node的,不过vue的脚手架工具vue-cli里面集成的webpack是基于node开发出来的。因此只能说webpack是依赖node的。2.npm run dev本质也是起一个服务,不过是利用node起的服务,起的是前端项目的服务;两者没有联系。(你可以使用npm run命令来运行package.json文件中sc

2021-04-06 09:44:13 481

转载 【知识点】Linux下文件的路径及管理

1.linux系统的结构类似windows中的文件夹,在Linux中叫做目录,linux是一个倒树形结构,最大目录为“/”称为根目录;/根目录下成为二级目录多为系统在安装过程中建立的目录;以下式二级目录以及主要作用:/bin #常用系统命令 /sbin #系统管理命令 /boot #启动分区 /sys #内核参数调整/dev #设备文件 /lib #32位库文件

2021-03-31 00:11:09 221

转载 package.json,package.json与node_modules

package.json记录当前项目所依赖模块的版本信息,更新模块时锁定模块的大版本号(版本号的第一位)。package-lock.json记录了node_modules目录下所有模块的具体来源和版本号以及其他的信息。当你修改了package.json 某一个模块的版本信息后,用npm i 更新模块,你会得到该模块在package.json限定的大版本下的最新模块。例如模块A有3.0.0, 3.1.0, 3.2.0版本,当前项目中模块A版本为3.0.0,你将package.json中模块A版本改成了3.1

2021-03-30 22:20:04 597

原创 【Git】使用手册03:分支管理

Git使用手册03:分支管理引言有关分支的内容十分推荐廖雪峰廖大大的官博:https://www.liaoxuefeng.com/wiki/896043488029600/896954848507552在这里不做赘述,下面会贴上一些常用的分支操作,以作日后自己及有缘看官查阅。常用分支管理命令及提示查看分支:git branch创建分支:git branch 切换分支:git checkout 或者git switch 创建+切换分支:git checkout -b 或者gi

2021-03-07 22:03:31 52

原创 【Git】使用手册02--在本地玩转代码

Git使用手册02–在本地玩转代码1.工作区的修改提交到本地仓库(1)工作区->暂存区当你在本地做完更改后,可以通过add命令把更改从工作区提交到暂存区:git add <filename> (2)暂存区->本地仓库然后我们确定暂存区中的代码无误后,想要把他们推送到本地仓库中,就可以使用commit命令:git commit -m“备注信息”每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。一旦你把文件改乱了,或者误

2021-03-07 21:54:04 68

原创 【Git】使用手册00:Git的运作流程

Git使用手册–00:Git的运作流程1.Git的几个重要区域(1)工作区你的IDE workspace所在的区域,用来写代码。(2)暂存区在工作区中修改过的文件,通过git的add命令可以提交到暂存区,这里是本地工作区和本地仓库的缓冲部分。(3)本地仓库当你在工作区中忙活完一阵子,把所要修改的种种文件全都提交到暂存区且确认过这些修改之后,你就可以把他们提交到自己的本地仓库了。(4)远程仓库本地仓库的代码可以推送到服务器上面,这样你的代码就可以和别人的共享了。2.代码在几个区域间流转的命

2021-03-07 16:14:47 60

原创 【Git】使用手册01:创建本地仓库,远程仓库,并实现本地仓库与远程仓库互联。

Git使用手册–01:创建本地仓库,远程仓库,并实现本地仓库与远程仓库互联。1.创建本地仓库打开terminal或者CMD,找到你想要存放本地仓库的文件夹位置打开点进去,然后键入下面内容即可以将文件夹初始化为一个本地仓库。git init //初始化本地仓库创建之后会出现一个.git隐藏文件,里面存放着该本地仓库的一些配置文件和信息等内容,不要乱动它。2.创建远程仓库使用代码托管平台github或gitee或gitlab等等,或者自己搭建服务器均可。这里介绍使用国内的代码托管平台gitee。

2021-03-07 12:01:18 204

原创 【待改善】

我住在A社区,想要给住在B社区的一个朋友寄个礼物——一只超级大的宣威火腿!于是我把这个礼物准备好然后交给计网快递公司帮我送到我的朋友家。我把火腿用保鲜膜封上,并在保鲜膜表面写上一些信息,这些信息就是你所选用的应用层所用协议报文的头部,比如若是你想用这只宣威火腿换朋友家的伊比利亚火腿,那么这只火腿可以看做是个http请求报文的实体主体(实体主体也可以没有,那么你就是空手套白狼,啥都不给朋友,让朋友给你信息),然后你写的信息就是http协议请求报文的请求行+首部行。好了你包装好之后,你叫了上门服务,然后快递

2021-01-13 11:00:58 154

原创 【机组】位,比特,字节,字

位是计算机存储的最小单位,简记为b,也称为比特(bit)计算机中用二进制中的0和1来表示数据,一个0或1就代表一位。位数通常指计算机中一次能处理的数据大小,也是信息量的度量单位,为信息量的最小单位; 字节 Byte 是计算机用于计量存储容量的一种计量单位,通常情况下一字节等于八位,字节同时也在一些计算机编程语言中表示数据类型和语言字符,在现代计算机中,一个字节等于八位; ...

2019-04-26 22:34:41 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除