自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 问答 (1)
  • 收藏
  • 关注

原创 leetCode 知识点笔记(JS)

字符转ASCIIlet c = 'A'c.charCodeAt() // 65ASCII转字符String.fromCharCode(97) // 'a'sort方法var nums = [ 3, 4, 1, 2, 8]// 升序排序(从小到大)nums.sort((a, b) => { return a - b })// 降序排序(从大到小...

2019-12-16 11:28:39 235

原创 windows安装 node-sass sass-loader

window 上直接安装node-sass 和sass-loader是不行的,因为它需要一些编译环境npm install -g node-gypnpm install --global --production windows-build-tools然后安装python,安装好之后执行// E:\applicationE\python2.7\python.exe是我本地安装的pyt...

2019-12-09 13:30:49 1195

原创 mxGraph浅入之 mxEditor

这次说一下mxGraph的核心类mxEditor,字面意思是编辑器,官方意思:一个继承自mxEventSource类,为了实现一个应用程序的、graph的包装器。该类的可以注册actions、结合mxCodec类实现I/O、集合mxLayoutManager类实现自动布局、结合undoManager类实现undo和redo,还结合了标准对话框dialogs 和widgets等等。总之言之,该类特别...

2019-12-06 14:35:05 2734

原创 mxGraph浅入之 makeDraggable

makeDraggable主要用来构建拖动源,鼠标拖动实现向graph图中添加图形。文章转译自mxGraph官方github,官方定义:将给定的DOM元素配置为指定graph的拖动源。返回一个新的mxDragSource对象。如果mxDragSource.guidesEnabled为true,则必须在funct中使用x和y参数来匹配预览位置。makeDraggable: func...

2019-12-05 09:36:08 1622

原创 nodejs 之 跨域

nodejs服务端在和前端进行数据交互时,常常会发生跨域问题,对于nodejs的两种常用框架express和koa2,解决跨域问题代码如下:express// 服务端的主页面添加app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("...

2019-12-04 14:33:58 187

原创 计算属性computed

computed计算属性computed的由来:vue模板内可以写表达式,但是设计它们的初衷是用于简单计算的。在模板中通过表达式写入太多、复杂的逻辑则会使得模板过重,不易维护,最重要的是失去了vue的核心意义(数据和视图的分离)// vue官方文档例子<div id="example"> {{ message.split('').reverse().join('') }...

2019-11-29 14:43:24 238

原创 nginx 使用

nginx使用的比较少,偶尔使用,所以一直“知其然,不知其所以然”,所以每次总是在使用时多多少少因为配置会出现些许问题,现对nginx做反向代理和静态服务器部分做个总结:user nginx; # 用户worker_processes 1; # 进程数量error_log /var/log/nginx/error.log warn;pid /var/run...

2019-11-27 11:13:43 83

原创 mxGraph浅入 之 Tooltip

mxGraph中对图元可以设置在鼠标移入时,显示自定义的提示文字相关的源码文件:./src/js/view/mxGraph.js ---> getTooltipForCell./src/js/handler/mxToolTipHandler.js ,该文件中定义了一个封装了和提示信息设置相关的mxtTooltipHandler(graph, delay)类(第二个参数del...

2019-11-21 14:33:44 2049 3

原创 mxGraph浅入 之 核心包

后续均以JavaScript语言为例 /mxgraph/javscript./examples目录下是官方提供的demo示例,均为html文件,直接打开即可./src/js目录下是核心类的js文件./src/resources 目录下是国际化的文件其余目录含义如其名整个mxgraph的核心就在./src/js目录下./editor 目录下存放整个编辑器相关的类,封...

2019-11-18 11:13:07 300

原创 SVG 判断 图形填充区域

SVG的图形填充规则通过fill-rule属性来指定。其值有nonzero(默认)和evenodd(看参考文章说还有一个inherit属性,但是我在MDN上看只有两种)fill-rule属性用于指定使用哪一种算法去判断画布上的某区域是否属于该图形“内部”(内部区域将被填充)。对一个简单的无交叉的路径,哪块区域是“内部”是很直观清除的。但是,对一个复杂的路径,比如自相交或者一个子路径包围另...

2019-11-15 11:46:04 1087

原创 无法将“nodemon”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

今天再次安装nodemon时,出现一个奇怪的问题(之前使用nodemon的时候没仔细探究过):1、当非全局(--save-dev)安装了nodemon时,直接用nodemon ./bin/www.js执行文件时,报错:2、配置了package.json文件后,使用npm run dev 就能正常运行3、当全局安装了nodemon时(npm install node...

2019-10-15 09:10:36 6961 2

原创 杂文记录 之 一

企业竞相用低成本来夺取有限的市场份额,欲依赖价格战等传统商业手段取胜,但最终只落得伤痕累累,却鲜有成效。这就形成了低成本、恶性竞争的“红海”。企业要摆脱这个恶性竞争的“红海”,就必须打破传统竞争策略,创造一个无人竞争的全新市场空间,追求价值创新,也就是找到一片“蓝海”。【摘自原文】红海战略:市场竞争已经白热化,产品、服务同质化严重,企业利润呈现微薄甚至负利,在这样的市场中竞争、搏杀。蓝...

2019-10-12 17:05:47 101

原创 JS中的“特殊点”

为什么typeof null返回的是object类型?在JavaScript最初的实现中,JavaScript中的值是由一个表示类型的标签和实际数据值表示的。对象的类型标签是0,由于null代表的是空指针(大多数平台下值为0x00),因此,null类型标签也成为了0(十进制),typeof null就错误的返回了object(摘自原文出处)函数带大括号和不带大括号的区别?// 不带大...

2019-10-12 10:56:55 135

原创 mxGraph浅入 之 环境搭建

mxGraph源码下载直接去mxgraph的github上下载mxgraph的项目即可源码的主要目录分析/mxgraph 总目录 /docs 说明文档根目录,包含使用手册的各个部分文档 /dotnet net相关API和demo /java java相关类和demo /javascript ...

2019-09-29 11:28:47 684

原创 mxGraph浅入 之 写在前面的话

写在前面的话因为工作的需要,接触到了mxGraph,也利用其进行了开发,一年多的时间,只是陷入在具体代码中,哪里需要研究哪里,并没有从整体去详细的了解mxGraph框架和其部分的组成关系,因此,一只处于“只缘身在此山中,不识庐山真面目”的状态。最近有时间再来看mxGraph,发现自己从理论上来说,并不能真正对mxGraph有多深、多全面的了解,因此决定搜集官方以及网友提供的相关信息,结合自...

2019-09-27 16:46:00 144

原创 VS Code中不能拖入文件夹问题解决

最近在使用VS Code的时候,发现不能向工作区拖入或粘贴文件夹,百度得以解决(原博文)解决方式:右键VS Code应用 ----> 属性---->兼容性---->取消勾选 "以管理员身份运行此程序",保存重启VS Code即可亲测有效,记得自己确实之前因为某些原因(windows使用npm下载babel-cli需要设置管理员权限)设置了VS Code以管理...

2019-09-27 16:05:17 12298 6

原创 nodejs 之pm2

PM2是Node.js应用程序的生产过程管理器,具有内置的负载平衡器。它允许您永远保持应用程序的活动状态,在不停机的情况下重新加载应用程序,并简化常见的系统管理任务(出处)。部署nodejs程序,pm2管理器真的是非常的方便,即可以做守护进程还做负载均衡等。pm2的主要常见面命令可以参考(pm2常用的命令用法介绍)nodejs中使用pm2配置文件pm2.conf.json{...

2019-09-27 11:15:00 248

原创 Dockerfile中的CMD和ENTRYPOINT

因为不怎么用得到,所以之前一直对Dockerfile中的CMD、ENTRYPOINT命令迷迷糊糊,没有彻底区分开这两者的区别和各自的作用,最近做练习,就根据网上的资料做测试和总结先说一下两者的各自功能1、CMD用于运行程序,只是在运行容器时,即docker run时执行,目的是为启动的容器指定默认要运行的程序(默认,默认,默认,重要的事情说三遍),因为是默认,所以,即使Dockerfi...

2019-09-18 15:48:46 263

原创 vue源码之render函数中with的用法

学习vue中的渲染render函数时,涉及到with的用法<script> var obj = { name:"zhangsan", age : 20, getAddress:function() { alert("hahaha") } } function fn()...

2019-09-18 15:06:42 1270 1

原创 Object.defineProperty方法在vue中的关键地位

Vue.js中重要的数据监听及响应的核心就是Object.defineProperty方法var vm = new Vue({ el:"#app", data:{ name:"zhangsan" }})在Vue.js中,通常是直接通过vm.name来操作数据,而不是vm.data.name,因为该方法将data对象代理到了vm上,实现了对数据的劫...

2019-09-18 14:09:11 173

原创 CnetOS7安装chrome浏览器

1、官网下载google chrome安装包(直接在linux图形化界面中下载最方便)百度云盘:https://pan.baidu.com/share/init?surl=Bm5Y8icwZROiPD8KoN8rzQ提取码:vyxg2、安装依赖yum install libappindicator*yum install pax*yum -y install libXss...

2019-09-16 15:35:43 134

原创 解决Centos7系统每次重启网卡找不到IP问题

有时候进入linux系统会发现IP找不到,或者重启之后总是找不到IP,可以设置:# 首先使用ifconfig查看没有IP的网卡是哪个(假如是eno1)# 然后修改该网卡的相关配置vim /ect/sysconfig/network-scripts/ifcfg-eno1# 将其中的ONBOOT属性值由no改为yes# 然后重启服务即可service network rest...

2019-09-16 13:40:49 3160

原创 H5新增的计时器----requestAnimationFrame

window.requestAnimationFrame(function(){ ......})setInterval、setTimeout函数设置的时间无法保证和显示频率刷新同步(即显示频率刷新的时候无法保证setInterval操作正好被执行,即使都是相同的刷新时间),因此会出现丢帧和动画效果生硬不连贯等问题requestAnimationFrame的调用时间是和系统的刷...

2019-09-10 14:40:53 370

原创 改变和不改变原有数组的方法

改变原有数组的方法push(): // 向数组尾部添加元素pop(): // 删除数组的最后一个元素,返回删除的元素reverse(): // 反转数组中的元素顺序shift(): // 删除数组中的第一个元素unshift(): // 向数组的开头添加元素sort(): // 在源数组上进行排序,不生成副本splice(index,n) // 删除从in...

2019-09-10 11:28:46 620

原创 立即执行函数

立即执行函数需要单独写在js文件中,在HTML的<script>标签写立即执行函数会报错。并且,使用<script>引入立即执行函数文件时,会在加载js文件时候直接执行,阻塞DOM的加载。// execute.js(function(){ alert(1) console.log("middle....")})()// index.html&...

2019-09-10 09:19:50 193

原创 封装全局变量(不可修改)

// config.js(function(w){ GlobalConfig = function(){ return { version:1.1 } } w.G = GlobalConfig})(window)// index.html<script ...

2019-09-09 14:58:15 709

原创 函数变量提升

var a =10function a(){}console.log(typeof a) // "number"函数提升优先级高于变量提升,所以代码等价于:function a(){}var a;a = 10;console.log(typeof a)

2019-09-05 15:29:22 68

原创 脱离文档流

所谓脱离文档流就是,将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当没看到它,两者可以重叠。脱离文档流主要有:绝对定位和浮动脱离文档流两种区别是:使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。而使用绝对定位position:absolute脱离文档流的元素,其他盒子和盒子内的文本都会无视它。详细请参考:链接...

2019-09-05 14:08:07 206

原创 定位

相对定位:relative是元素在所处元素(直接父元素)中相对于自身的位置进行上、下、左、右的偏移,它原本所占用的空间仍保留绝对定位:absolute元素框从文档流完全删除,元素原先在正常文档流中占用的空间会关闭(元素框随页面滚动而滚动)固定定位:fixed元素框的表现类似于绝对定位,但其包含块是视窗本身(即页面滚动,采用固定定位的元素仍然在)...

2019-09-05 11:51:51 84

原创 选择排序

/** * 基本思想: * 第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置, * 然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。 * 以此类推,直到全部待排序的数据元素的个数为零 * * 时间复杂度:O(N^2) 稳定性:...

2019-09-04 15:18:47 68

原创 冒泡排序

/** * 冒泡排序:从大(小) 到 小(大) * 时间复杂度:O(N^2) 稳定性:稳定 */ const arr = [2, 10, 7, 9, 3, 4, 7, 1, 6]; // 从大到小 for(let i=0;i<arr.length-1;i++){ ...

2019-09-04 14:29:55 58

原创 快速排序

/*** 基本思想:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;* 其中一部分的所有数据都比另一部分的所有数据要小。然后按照此方法对这两部分* 数据分别进行快速排序,整个过程可以递归进行** 时间复杂度:O(NlogN) 稳定性:不稳定*/const arr = [2, 10, 7, 9, 3, 4, 7, 1, 6];// 数组的左右边界let l = 0;...

2019-09-04 14:26:25 60

原创 Linux进程关闭

# 根据端口查看进程 1netstat -anp | grep 端口号# 根据端口查看进程 2 (推荐,因为PID各项字段一目了然)lsof -i :端口号# 关闭指定进程kill -9 进程号...

2019-09-04 10:24:15 102

原创 容器挂载卷volume

1、使用匿名卷(以buxybox镜像为例)# 创建数据容器(/data为卷挂载点)docker run -itd --name data-container -v /data busybox# 创建服务容器docker run -itd --name service-container --volumes-from data-container busybox# 在数据容器的...

2019-09-02 11:32:48 415

原创 JS中宽度和高度

借用一下别人博客中的一张图片1、屏幕尺寸screen.height: 屏幕高度(在显示比例为100%时,屏幕高度和宽度和分辨率是一样的)screen.width: 屏幕宽度screen.avaiHeight: 屏幕可用高度(screen.height - 上下侧任务栏的高度)screen.availWidth:屏幕可用宽度(screen.height - 左右侧任务栏的宽...

2019-08-30 15:15:35 329

原创 CentOS安装maven

1、创建安装目录mkdir /usr/mavencd /usr/maven2、导入安装包或下载,并解压tar -xzvf apache-maven-3.6.0-bin.tar.gz3、配置环境变量vim /etc/profile添加export M2_HOME=/usr/maven/apache-maven-3.6.0export PATH=$PA...

2019-08-26 09:39:38 91

原创 CentOS安装JDK

1、卸载原有的openjdk# 查看原有的openjdkrpm -qa | grep java# 做个手动卸载以java-*开头的 rpm -e --nodeps java-* 2、创建java安装目录mkdir /usr/javacd /usr/java3、导入或下载jdk安装包,并解压(以jdk1.8为例)tar -xzvf jdk-8u21...

2019-08-26 09:05:10 74

原创 yum方式安装升级docker

Centos7系统上,如果默认直接使用yum install docker 安装docker,一般版本比较低,有些情况下不适用(传送门),下面介绍利用yum安装指定版本的docker:1、docker要求Centos系统的内核版本高于3.10,查看内核版本:# uname -a2、删除旧版本的docker(若没装过则省略)# yum remove docker doc...

2019-08-21 15:42:50 3060

原创 Docker镜像多阶段构建

使用Dockerfile中的 FROM<image>[:<tag>] [AS <name>] 命令进行多阶段构建时,报如下错误:解决:参考链接docker版本太低,多阶段构建是在docker的17.06版本之后才引入的利用Dockerfile文件创建镜像时,出现“Forbidden path outside the build context...

2019-08-21 11:37:42 569

原创 向github提交了内容却不显示记录(格子未变绿)

有时候明明向github提交了东西,overview页面的Contributions却看不到当天的提交,此时可以查看一下配置的git邮箱:git config --global user.email发现邮箱和自己之前配置的邮箱不一致了(至于为什么会变,暂不清楚),于是重新设置一下邮箱:git config --global user.email 邮箱名最后,再提交的内容就...

2019-08-15 15:48:11 846

空空如也

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

TA关注的人

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