- 博客(93)
- 资源 (1)
- 收藏
- 关注
原创 reduce用法
/会输出4次 hello world, 每次间隔3秒。//会输出4次 hello world, 每次间隔3秒。// 使下面调用代码能正常工作。//利用reduce实现。// 需要实现的函数。
2024-04-18 21:49:21 197
原创 zsh: command not found: air
背景利用air(git)实现go项目的热重启,关于air的介绍不再赘述。在Mac安装air后,仍然不能正常使用,并且报错,如本博客标题所示。后来经过探索,找到解决方案。先上解决方案配置Mac下的.zshrc文件,在最后添加语句alias air='$(go env GOPATH)/bin/air'原理分析.zshrc文件是Mac终端命令的配置文件(个人暂时的理解)安装air后,安装在GOPATH的bin目录下,而报错是因为在终端执行air命令,终端找不到对应文件(这个文件地址要说明给z
2021-08-24 22:19:13 1245
原创 解构运算符(...)的几个主要使用场景
函数参数function fn(...numb){ return reduce(pre,cur)=>{ return pre+cur; }}const arr=[1,2,3,4,5,6]fn(arr)深拷贝对象const ob={name:'tom'}const ob_={...ob}对象属性合并const ob={name:'tom'}const ob_={...ob,age:12}//pb_={name:'tom',age:'12'}...
2021-04-26 10:43:38 427
原创 局部严格模式
严格模式不仅可以用在全局,还能用在局部。当在严格模式下,this不会指向window两个简单函数,对比局部严格模式和非严格模式下的两种this指向function f(){ console.log(this)}function f2(){ 'use strict' console.log(this)}f();f2();执行结果:可见:局部严格模式下的this值为undefined在ES6的类定义中,类的内部默认是严格模式,即其中函数的this指向默认是u
2021-04-23 15:56:58 213
原创 Node与Java后台对比
高并发场景下的对比:nodejs具有单线程、非阻塞IO、事件循环/驱动的特点,所以在高并发场景下,线程占用cup处理资源,cup不用等待IO的处理过程,而是不停的的发起异步请求,在异步处理结束后继续下一步异步任务。所以不会出现线程阻塞。如图1所示。优势:cpu利用率较高,因为cpu不用等待IO,而时一直在发起异步请求。不足:单个线程崩溃后,所以任务都无法进行,而多线程并发场景下,某个线程崩溃,不影响其他线程任务类似Java的后台则通过多线程处理高并发任务,某个线程在进行IO时,cpu总是会等待I
2021-04-15 11:17:09 1839
原创 大文件切片上传(Vue+NodeJS)
大文件上传时,前端切片,上传后,后端组合先上界面前台<template> <div> <div style="margin:20px"> <h2>Upload Large Files</h2> <br> <el-row> <el-col :span="4"> &l
2020-12-14 22:49:23 1853
原创 Linux服务器上Node服务端进程崩溃
添加日志,查看状态记录forever start -o out.log -e err.log test.jsout.log 是console.log的输出err.log 是报错
2020-12-01 17:24:11 365
原创 Promise封装原生ajax
function fetch(url){ return new Promise((res,rej)=>{ let xhr=new XMLHttpRequest(); xhr.open('GET',url); xhr.onreadystatechange=function(){ if(xhr.readyState==4&&xhr.status==200){ res(xhr.re
2020-10-15 10:25:22 208
原创 RGB与16进制颜色值的相互转换
提纲javaScript语言中通过parseInt()和toString()进行数字与字符串之间的转换,这种相互间的转换在许多方面都有应用场景。字符串转数字:parseInt(str, rad);数字转字符串: toString(rad);注意一般通常用paseInt()的时候不写第二个参数,即不指定进制转换的基数时,有可能不会转换成功,结果为NaN, 指定第二个参数,便于parseInt函数识别字符串代表的数据类型,这个方法可用于颜色值从16进制转为十进制rgb(r,g,b)值。同样一般
2020-09-28 11:29:37 1889
原创 腾讯笔试题:前端table点击触发单元格所在行列样式变化
实现效果就是点击表格,触发所在行列样式变化,如图所示“html<script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js"></script><!DOCTYPE html><html><head><meta charset="utf-8"><title>文档标题</title></head><bod
2020-08-23 22:38:37 297
原创 输出所有的笛卡尔积组合
字节面试遇到的,已经基本做出来了,太紧张了。回溯递归,很简单function f(arr,re,tp,k){ if(tp.length===arr.length){ re.push([...tp]) }else{ for(let i=k;i<arr.length;i++){ for(let j=0;j<arr[i].length;j++){ tp.push(arr[i][j
2020-07-21 22:26:38 414
原创 nodejs调用python单反斜杠“\”转正斜杠“/“
最近在node中传入路径(eg: c:\usr\file)调用python,但python不识别反斜杠(\),因为会当作转义进行处理,而node中在window下识别(\),并且_dirname中也是(\),为了让python运行,所以进行替换。 let input="c:\user\myfile\file" let forward=input.replace(/\\/g,'%5C')//"c:%5Cuser%5Cmyfile%5Cfile" input=forward.replace(/%5C
2020-07-02 11:41:35 561
原创 哈希
哈希函数关键字集合与地址集合的映射就是通过将关键字映射到表中一个位置来进行访问,避免了传统的一个个比较的查找方式如K为关键字,F(K)为映射的地址,经典的哈希函数就是通过对关键字取余得到在哈希表中的存储地址。哈希表按照哈希函数建立的表,一般是存放记录的数组冲突因为关键字集合是一个非常庞大的集合(包括很多关键字),而地址集合相对较小(为哈希表中的地址值),所以难以避免的会发生冲突。而冲突不可能没有,一般情况下只可能尽量的减少。解决冲突的方法:开放定址法、再哈希法、链地址法、建立一个公共溢
2020-05-31 22:34:33 302
原创 node服务文件下载响应头中文乱码报错
node服务实现一个文件上传和下载功能,在文件下载时因为文件名字含有中文,所以报错:The header content contains invalid characters源代码: res.writeHead(200, { 'Content-Type': 'application/octet-stream;charset=UTF8',//告诉浏览器这是一...
2020-05-05 23:29:01 1011
原创 Linux服务器中Node服务进程避免总是崩溃持续运行的解决办法
问题最近在linux服务器中部署了一套node服务接口,但是总是过了几天后接口调用者就反映服务调不起来了,在服务器上看了一下,进程不知道什么时候崩了。之前一直是用forever start app.js启动服务可能的原因首先,就是代码问题,调用的时候可能抛出异常,单线程的node服务就直接崩了解决办法捕获并打印异常,从不退出node服务用法app.listen(config....
2020-04-23 13:03:00 1221
原创 每隔三个数加一个逗号,还要考虑小数点的情况
/*输入为数字,在小数点左边每三位添加逗号 *同时考虑到了有小数点和没有小数点的情况/ function f(str){ str=String(str) let point=str.indexOf('.'),position=[] //有小数点 if(point>-1){ let start=point-1,c=0...
2020-01-15 20:13:39 1008
原创 css动态计算宽高
css3动态计算元素的高度及宽度1、px 像素,我们在网页布局中一般都是用px。2、百分比 百分比一般宽泛的讲是相对于父元素,自适应网页布局越来越多,百分比也经常用到了3、Viewport当已知一个div的高度时,它的同胞div高度是根据窗口高度减去已知div高度而得到,此时就需要calc函数 viewport:可视窗口,也就是浏览器。 vw Viewport宽度, 1vw...
2020-01-09 11:26:11 1441
原创 js中的Math.round(),ceil(),floor()
ceil:向上取舍-floor:向下取舍-round:实际上,Math.round()方法准确说是“四舍六入”,对0.5要进行判断对待。Math.round()的原理是对传入的参数+0.5之后,再向下取整得到的数就是返回的结果。这里的向下取整是说取比它小的第一个整数或者和它相等的整数。因此Math.round(-1.5)的结果是-1.5 + 0.5 再向下取整,即-1.0取整,结...
2019-12-06 20:48:25 462
原创 js中的undefined,null
==可以从Javascript规范中找到答案:规范中提到, 要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,并且规定null 和 undefined 是相等的。null 和 undefined都代表着无效的值。undefined==null //true===类型不一致undefined=== null //false...
2019-12-05 16:59:40 154
原创 获取上传表单input的文件
input上传文件获取文件流对象:document.getElementById('fileToUpload').files[0]
2019-11-28 17:19:14 385
原创 数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组
据说这是一道美团面试撸代码题目,我花一会功夫实现了,还可以var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];// 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组function fx(arr){ var a=[] f(...
2019-11-22 22:34:36 387
原创 LRU算法的JavaScript实现
LRU就是Least Recently Used,即最近最少使用,是一种常用的页面置换算法,将最近长时间未使用的页面淘汰,其实也很简单,就是要将不受欢迎的页面及时淘汰,不让它占着茅坑不拉shit,浪费资源。其核心就是利用栈,进行操作,其中主要有两项操作,get和putgetget时,若栈中有值则将该值的key提到栈顶,没有时则返回nullput栈未满时,若栈中有要put的key,则...
2019-11-20 11:00:40 1507 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人