自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

林钹渊的博客

立志向上,不愿妥协,一起进步

  • 博客(59)
  • 资源 (2)
  • 收藏
  • 关注

原创 # generator.MD

一:什么是webSocket ?  webSocket是HTML5出的新协议,WebSocket协议支持,在受控环境中运行不受信任代码的客户端与选择了该代码通信的远程主机之间进行双向通信。两者之间就直接可以数据互相传送。二:和传统的http请求比较  http:一个request只能有一个response。而且这个response也是被动的,不能主动发起。  webSocket:服务端就可以主动推送信息给客户端啦其他特点包括:(1)建立在 TCP 协议之上,服务器端的实现比较容易

2021-10-24 22:18:19 186 2

原创 generator的分享

generatorgenerator yield配合使用一、generator介绍​ 1.generator函数式es6引入的,用于异步编程​ 2.最大特点是可以交出函数的执行权(暂停函数)​ 3.和普通函数写法区别function关键字和函数名之间有一个星号内部使用yield,定义不同的状态本质上generator函数是一个异步任务的容器,yield命令是不同状态的分界线。function* gen(){ yield 'a'; yield 'b'; yield 'c'; ret

2021-10-17 23:51:32 158

原创 websocket的分享

一:什么是webSocket ?webSocket是HTML5出的新协议,2011年成为国际标准。所有浏览器都已经支持了WebSocket协议支持,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。(兼容性:ie10)二:和传统的http请求比较http:一个request只能有一个response。而且这个response也是被动的,不能主动发起。webSocket:服务端就可以主动推送信息给客户端[外链图片转存失败,源站可能有防

2021-09-21 23:16:49 280

原创 / 1.求最大公约数

// 1.求最大公约数function getgy(a,b){ let max = Math.max(a,b); let min = Math.min(a,b); dp(max,min); function dp(max,min){ let res = max%min; if(res == 0){ return min; }else{ dp(min,res) } }}getgy(6,9)

2021-08-13 16:57:52 80

原创 宽度搜索(走迷宫)

核心:1.使用队列推入有效的子节点,在寻找到当前节点的子节点后推出当前父节点2.使用数组记录已经走过的节点,用于判断子节点是否推入let strArr = [["+","+",".","+"],["+","+","+","+"],["+","+",".","+"],["+",".","0","+"],["+","+","+","."]];let queen = []; let visited = new Array(10).fill(0).map(i=> {return new A

2021-08-07 11:22:51 86

原创 一句话解决的算法

611. 有效三角形的个数q: 给你一个数组,求能组合出三角形的个数a: 排序 给每一个最大边寻找另外两个边,n^3解决

2021-08-04 16:12:58 53

原创 最长递增子序列个数

let arr = [5,6,7,1,2,8];let arr_num = new Array(6).fill(1);for(let i=1;i<arr.length;i++){ for(let j=0;j<i;j++){ if(arr[i] > arr[j]){ arr_num[i] = Math.max(arr_num[j] +1 ,arr_num[i] ) ; } }}console.log(arr_num)

2021-07-30 17:39:46 57

原创 01背包问题

// 4个物品,背包最多装10let vs = [0,2,4,3,7];let ws = [0,2,3,5,5];let f = new Array(5).fill(0).map(i=> new Array(11).fill(0) );// f[m][n]:装m个物品背包n最大价值for(i=1;i<vs.length;i++){ for(j=1;j<11;j++){ if(ws[i] > j ){ f[i][j] =f[i-1][j];..

2021-07-30 15:51:52 39

原创 n个数的全排列

let label = 4; let arr = new Array(4).fill(0); let x = 0; let arr_result = new Array(4).fill(0); DFS(0); function DFS(n){ if(n == label){ x++; console.log(x,arr_result) return; } for(let i=0;.

2021-07-30 15:16:59 82

原创 react相关不熟悉原理总结

1,setState本身并不是异步,只是因为react的性能优化机制体现为异步。在react的生命周期函数或者作用域下为异步,在原生的环境下为同步。

2021-04-25 12:07:06 51

原创 前端如何使用代理解决跨域问题

之前一直都是让后端通过配置Access-Control-Allow-Origin来解决跨域这一问题,现在尝试自己使用代理解决,并总结下来共同学习。使用代理分两种情况:1、开发中使用webpack的代理服务器在前端项目中我们通常使用webpack来打包和运行项目,因此在webpack的devServer配置里面添加代理参数devServer:{ proxy:{ "/login_key":{ target:"https://loginurl.net/

2021-04-17 11:27:06 1854

原创 小程序开发踩坑记录

小程序开发踩坑记录1.授权appid的比对失败("missing code, hints: [ req_id: wEKAPiqNe-9QVxxa ]")2.封装接口请求函数3.两种跳转页面的方式4.

2021-02-22 17:32:17 163

原创 最常用的js设计模式总结

策略模式要解决if扎堆最好的办法是什么?答:策略模式核心将算法的使用和算法的实现分离开来。一个基于策略模式的程序至少由两部分组成:第一个部分是一组策略类(可理解为构建一个json对象),策略类封装了具体的算法,并负责具体的计算过程。第二个部分是环境类Context,Context接受客户的请求,随后把请求委托给某一个策略类。=需要使用这个对象。// 加权映射关系(策略类)var l...

2020-04-28 11:24:29 202

原创 通用jsbridge封装

/** * 用法: * import jsBridge from 'fileName.js' * * 1、给 APP 端发送数据 * jsBridge.callHandler(eventName, data, callback(reponseData)) * 参数说明: * eventName (string): 必传, 与 APP 端约定的事件名 * data (object...

2020-03-04 09:11:32 795

原创 ie内核下createObjectURL创建url链接失效的

在正常的浏览器下(chrome,firefox等),createObjectURL可以讲一个bolb文件转化为一个正常的资源链接例如:blob:http://localhost:8081/17ac2a20-56e4-4d46-a43d-26b72a5f9768但在ie下,转化为的结果却是:blob:17ac2a20-56e4-4d46-a43d-26b72a5f9768解决办法i...

2020-02-25 16:50:11 2010

原创 解决前端每次发版白屏问题的新思路(修改webpack保存上一次发版文件)

在使用vue-cli脚手架构建完项目,项目完成后,需打包上线。默认打包方式则是 npm build,然后项目根目录会生成 dist 文件夹。服务端将该文件夹替换线上即可。但是当第n(n>1)次上线后,由于在用户端会默认缓存index.html入口文件,而由于vue打包生成的css/js都是哈希值,跟上次的文件名都不同,因此会出现找不到css/js的情况,导致白屏的产生。虽然刷新一...

2019-12-04 10:52:52 2021

原创 使用echarts中国地图上绘制散点图(自适应宽高)

先上最终效果图(显示公司在中国各个城市药店分布图)我这边使用的技术栈是react,不熟悉的可走:https://zh-hans.reactjs.org/首先使用npm安装echartscnpm install echarts --save除此之外,我还自己引用了两个json,分别是chainaJson(http://datav.aliyun.com/tools/atlas/#...

2019-10-09 11:55:28 7317

原创 给定数组里选出随机位数的和为固定值sum(从n个数字中选取多个相加,结果为m )

直接代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equ...

2019-09-19 10:27:15 1530

原创 js下载处理文件格式(base64,二进制)

file.blob().then(blob => { let a = document.createElement('a'); let url = window.URL.createObjectURL(blob); let filename = `${moment().format('YYYY-MM-DD')}导入失败药品.xls...

2019-09-04 10:40:35 976

原创 解决ios图片拍照旋转90度问题,使用ImageCompressor图片压缩

在进行图片拍照上传功能时,由于现在手机像素越来越好,常常一张照片拍下来好几M,在上传时即拉长了上传时间,用户体验糟糕,又增加了服务器压力。除此之外,iphone手机竖直方向拍照还会存在图片自动旋转90度的问题。以为ic插件是比较好的解决办法。首先引入ImageCompressornpm install image-compressor.js使用时先引入import Image...

2019-08-04 15:33:24 1135

原创 使用js动态修改元素的伪元素before或after

初始样式代码<div class="formBox" ref='indentDom' id='indentDom' ></div>.formBox { &:before { content: '*'; position: absolute; left: 7px; font-size: 14px;...

2019-07-17 09:23:02 6540

原创 身份证号正则验证及提取性别出生年月出生时间

正则验证:reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;通过身份证号获取性别:getSex(idCard) { var sexStr = ''; if (parseInt(idCard.slice(-2, -1)) % ...

2019-07-11 15:58:34 3039

原创 工作项目问题记录贴

不定期更新遇到的问题及解决办法。1.Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported在使用canvas base64格式转为图片时遇到的问题,这是受限于 CORS 策略,会存在跨域问题,虽然可以使用图像(比如append到页面上)但是绘制到画布上会污染画布,...

2019-07-03 15:28:45 118

原创 base64格式图片转为二进制图片文件及new File兼容性解决

base64格式时图片打印出来为data:image/bmp;base64,LASDJFLKAJDFLKASDJFL...很长一大截转化函数function dataURLtoFile(dataurl, filename = 'file') { let arr = dataurl.split(',') let mime = arr[0...

2019-07-03 11:18:05 3038 4

原创 react脚手架中引入less

首先引入less less-loadercnpm install less less-loader -D接着使用npm run eject 暴露webpack的配置文件,在config里面找到webpack.base.js文件。先引入判断less正则const lessRegex = /\.less$/;const lessModuleRegex = /\.module\....

2019-05-05 16:21:12 1308

原创 js时间转化函数,时间戳转年月日时分秒随意搭配格式

/** * 修改时间戳 * fmt 例如:yyyy-MM-dd hh:mm:ss || yyyy-MM-dd || yyyy.MM 等等,可随意搭配年月日时分秒 */function getDate(val, fmt) { if (!val) { return ''; } if (val && val.length == 10) { ...

2019-04-30 15:50:24 665

原创 【程序员读书】读阮一峰最新作《未来世界的幸存者》有感

引子(导读) 一切要从2016年开始讲起。年初,我读了一本畅销书,叫做《人类简史》,可能很多人都看过。这本书的观点,很让人震惊。人类在生物学上属于"智人"(有智慧的猿人),这本书宣称,智人的历史也许就要结束了。未来的人类可能跟现在的人类不是同一个品种,是一种半自然半人工的生物,体内会有各种芯片和机械装置。从化学角度看,就是半碳半硅,一半是碳基化合物(有机物),另一半是硅基化合物(半导体...

2019-04-30 11:31:27 302

原创 js中对象当做参数传递是否改变自身

先套用js高程一句话——ECMAScript 中所有函数的参数都是按值传递什么叫做按值传递???可以简单理解为生成一个新的变量和需要传递的参数的值一样,就像把值从一个变量复制到另一个变量一样。var a = 1;function num(o){ o = 2; return o;}obj(a);console.log(a);//1 看上面的代...

2019-04-24 17:05:59 2341

原创 css小于12px的文本强制按照 12px 显示解决办法,CSS文字两端对齐...

1、Chrome中文界面下默认会将小于 12px 的文本强制按照 12px 显示 解决方法:可通过加入 CSS 属性 -webkt-text-size-adjust:none;解决2、CSS文字两端对齐 解决方法:可通过加入 CSS 属性 text-align: justify,并给对应标签一个伪类after(display:inline-block;)...

2019-04-08 14:48:22 636

原创 React搭建项目遇到的问题记录

1. React修改项目启动的默认端口默认端口3000,当已经有一个300时,在使用npm start不会像vue一样自动加一,而且会报错警告,需要手动设置端口在package.json文件找到scripts 中的"start"修改为"set PORT=9999 && node scripts/start.js",2.暴露配置文件及“Remove untracke...

2019-03-18 11:34:13 1050

原创 网络知识整理

关于tcp协议三次握手最明了的解释:https://baijiahao.baidu.com/s?id=1593714120815701015&wfr=spider&for=pcie低版本问题解决:https://blog.csdn.net/yovven/article/details/80705321...

2019-03-15 11:08:12 79

原创 css初始化样式

因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。 当然,初始化样式会对SEO有一定的影响,但鱼和熊掌不可兼得,但力求影响最小的情况下初始化。body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset...

2019-03-12 14:14:40 123

原创 网页引用优酷视频并添加封面自动播放

引用优酷视频可以减轻公司的服务器压力,而且和自己上传保存视频相比会方便轻松许多,不过相对的需要忍受广告。首先你需要在优酷里找到你要引用的视频,或者自己上传。然后打开会有一个分享按钮:以我使用的第二个为例,复制下来如下:&lt;embed src='http://player.youku.com/player.php/sid/XNDAwOTEyMTgyNA==/v.swf' allowF...

2019-02-27 15:36:30 3541

原创 前端向全栈前行的第一步

写在前头,写了一段时间的前端,各种前端工具技术都是用过了,已经能自己完成前端的页面任务,不过在搭建自己的网站博客或者想做一个什么样的产品时总归会感觉自己知识的局限性,无法自己完成一个骨肉丰满的可交互的网站的无力使我决定向全栈工程师前行。要看下面内容除了前端(js,css,html)的技术的需要粗略的掌握以下知识:node.js  mysql操作使用的后端技术栈为node(ejs模板)和mysq...

2019-02-19 13:55:31 207

原创 我的收藏夹

1.3d模型展示网页 :https://blog.csdn.net/wildrice/article/details/75173102

2018-12-26 10:38:12 123

转载 mint-ui使用手册

npm 安装推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。npm i mint-ui -SCDN目前可以通过 unpkg.com/mint-ui 获取到最新版本的资源,在页面上引入 js 和 css 文件即可开始使用。&lt;!-- 引入样式 --&gt;&lt;link rel="stylesheet" href="https://unp...

2018-11-28 17:05:12 4712

转载 虚拟DOM介绍

转自简书 链接:https://www.jianshu.com/p/616999666920近一年业务项目中都在使用React框架,也出现了一些以前没怎么关注过的新概念,例如虚拟DOM。虚拟DOM本身不是什么新鲜事物,网上随便一搜,早在2015年就有人详细介绍过了,但我只知道它速度快,效率高,对原理一无所知,最近抽空学习了一下。为什么需要虚拟DOM 实现虚拟DOM Diff算法 映射...

2018-11-16 11:41:06 139

原创 vue的图片src动态引入失败的解决办法

之前因为把图片放在assets里面,所以图片地址正确了但是怎么都不显示。要了解为什么先了解一下assets和static的区别assets中的文件会经过webpack打包,重新编译,推荐该方式。而static中的文件,不会经过编译。项目在经过打包后,会生成dist文件夹,static中的文件只是复制一遍而已。简单来说,static中建议放一些外部第三方,自己的放到assets,别人的放到s...

2018-10-26 10:18:45 6163

原创 vue项目的IE兼容问题

这里使用的是babel-polyfill 插件,用法如下:首先cnpm install babel-polyfill -D 安装插件,然后在main.js里面引用import "babel-polyfill";接着webpack的入口文件以及babel进行配置:entry: { // app: './src/main.js' app: ['babel-pol...

2018-10-13 11:08:47 1463

原创 js前端base64转码解码

我们为什么要用basebase64是网络上最常见的用于传输8bit字节代码的编码方式之一。有时我们需要把二进制数据编码为适合放在URL中的形式。这时采用base64编码具有不可读性,即所编码的数据不会被人直接看出。除此之外,还可以放在请求头,响应头进行传输。 最方便的转码解码window.atob() 与window.btoa()Window.atob() 函数用来解码一个已经被b...

2018-09-29 14:10:32 34228 5

vue全家桶后台管理源码

使用vue全家桶(axios+vue-router+vuex+el-ui)搭建的后台管理系统,已经配置好所有东西,可以拿着直接进行页面开发(已配置封装axios,tool工具集合),也可以当做学习工具。

2019-04-30

sublime的react高亮插件

对于sublime的install pacages下载报错的朋友们,可以直接把这个文件放在插件目录里面,就能够使react的js或者jsx实现高亮了。当然你需要在右下角选择文件格式。

2018-06-27

空空如也

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

TA关注的人

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