自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

距离的博客

简书www.jianshu.com/u/b473784d730c

  • 博客(59)
  • 收藏
  • 关注

原创 React 16.8.6 版本存在内存泄露

发现这个React 内存泄露问题是某一天的晚上一直开着直播页,直播页用的 react 版本是 16.8.6,到了早上跳到这个页面的时候,控制台有点卡,怀疑是有内存泄露,于是就开始分析这个直播页面。分析打开控制台 performance 面板点击开始录制,如下:从上图可以发现在这时间内, nodes 节点一直在增长,很有可能发生了内存泄露。我们来到 memory 面板分析内存变化:...

2020-04-16 14:14:31 938

原创 页面CPU和内存占用监控可视化Chrome插件-Graph Process

写这个插件的原因是最近要对比一下页面的 cpu 和内存占用的性能,本来是想找看看有没有什么软件能够去可视化一下当前标签页的cpu和内存占用,但是发现却找不到这种软件,mac 上有个活动监视器,但是当你开很多标签页的话并不很好的监听当前标签页的 cpu 和内存占用,能看到谷歌浏览器的 rendered 进程,但是谷歌浏览器的 rendered 进程很多你并不知道是哪个,而且也没有可视化进行查看平...

2019-10-15 19:03:23 6774 4

原创 html5调用摄像头功能

前言 前些天,线上笔试的时候,发现需要浏览器同意开启摄像头,感觉像是 js 调用的,由于当时笔试,也就没想到这么多��。今天闲来无事,看了下自己的 todo,发现有这个调用摄像头的todo,才想到��。网上查了一下,果然 js 有调用摄像头的 api,为此自己写一个 demo ,避免忘记。正文调用摄像头一共有两种实现方式,一种是使用navigator.getUserMedia(该特性已经从 W

2018-05-05 23:04:54 29620 4

原创 Vue全家桶+TypeScript使用总结

前言 最近重构了我之前项目 qq 音乐移动端,使用的技术是 vue,vuex,vue-router,和 typescript,在这期间,遇到的问题还是蛮多的,一会儿我会把我遇到的问题以及解决方法列出来,避免忘记。重构完成的项目 ===> vue-qq-musicTypeScript与Vue全家桶的配置可以参考以下两篇文章(在这里由衷感谢两位作者):vue + type...

2018-03-01 14:19:06 25690

原创 node简单实现一个更改头像功能

前言 一直想写这篇文章,无奈由于要考试的原因,一直在复习,拖延到现在才写��,之前用 node 的 express 框架写了个小项目,里面有个上传图片的功能,这里记录一下如何实现(我使用的是 ejs)��思路首先,当用户点击上传头像,更新头像的时候,将头像上传到项目的一个文件夹里面(我是存放在项目的public/images/img里面),并且将图像名重命名(可以以时间戳来命名)。同时图片

2017-12-28 12:46:13 2065 1

原创 解决 webstrom 上的 babel 编译问题

前言 近日,在写 ejs 文件时,我发现用 vscode 没有啥提示,因此换成 webStrom ,但是 es6 编译成 es5 的时候出现了一些问题��,经过一番搜索, 最后终于成功解决,这里记录一下��方法首先建立一个新的工程,点击设置在设置里面,把JavaScript language version改成ECMAScript 6 然后在js文件里写一段ES6代码现在IDE会出现一个

2017-12-05 07:12:09 2812

原创 解决安装electron卡在node install.js 不动问题

在安装electron的时候,一直卡在node install.js不动��,翻了墙也不行,于是在 github 上搜索终于找到解决方法,为此记录下来��install.js,里面的下载是依赖于electron-download这个模块 搜索electron-download发现:��解决方法:打开终端,输入vi ~/.npmrc,在里面添加electron_mirror="https://np

2017-11-13 07:27:03 15212 1

原创 已知主机 ip 和子网掩码,计算这个主机所在网络的网络地址和广播地址的解法

小提示: * ip 地址为32位,每8位分成一组 * 128.14.35.7/20 /20表示前20位为网络前缀,后32-20=12位为主机号,也就是说子网掩码是255.255.240.0 即20个全1(二进制),主机位全零的为网络地址,主机位全1的为广播地址,剩余的主机号码为主机地址范围 * 子网掩码255.255.255.252 得出其网络位为30位,因为252为1111110

2017-11-11 20:19:41 11746 2

原创 vscode 前端插件推荐

常用插件Auto Close Tag 自动添加HTML / XML关闭标签(必备)Auto Rename Tag 自动重命名配对的HTML / XML标签(必备)Beautify 格式化javascript,JSON,CSS,Sass,和HTMLBootstrap 4 & Font awesome snippets 包含Bootstrap 4&Font awesome 的代码片

2017-10-30 16:54:25 2792

原创 js 的 call 与 apply 速度对比

最近在看 underscore 的源码时发现,作者好多都用 call,而用 apply 比较少,比如说这段:var optimizeCb = function(func, context, argCount) { // 如果没有指定 this 指向,则返回原函数 if (context === void 0) return func; switch (argCount == null ?

2017-10-20 12:44:59 596

原创 Vimium 常用快捷键

最近用了谷歌插件vimium,发现非常好用,牛逼神器一个,下面记一下常用的快捷键打开 vimium help 快捷键 shift+/j: 向下移动 k: 向上移动h: 左移 l : 右移d:向下移动一个页面u:向上移动一个页面gg : 移到页面顶部G : 移到页面底部 x:关闭当前标签页X:恢复关闭的标签页H:回到上一个历史页面L:回到下一个历史页面J:跳到左边标签页K

2017-10-19 20:01:37 1268

原创 前端学习笔记之观察者模式

观察者模式也称”发布-订阅”模式,它的作用就是当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,自动刷新对象状态举个生活比较常见常见的例子,比如你去面试之后,面试官看你表现不错,最后会跟你要联系方式,以便之后可以联系你。在这角色扮演当中,你就是“订阅者”,面试官就是“发布者”。那么发布订阅模式是咋实现的呢?思路 1. 给定一个发布者 2. 面试者将联系方式给发布者 3. 发布者的一

2017-10-05 15:01:44 1271

原创 使用 react 总结

最近学了一些 react 和es6 的一些知识,并且使用 react 写了一个 TodoList 项目===>预览 && 源码 感觉学的挺多的,并且遇到的坑也不少��,说实话,一开始学 react 看到 jsx 语法有点不适应,说好的结构和行为分离呢��,不过随着通过一个项目的完成,渐渐明白了这么写的好处好处自定义标签结构清晰代码模块化更加语义化不过也有缺点浏览器不支持这语法必须通过

2017-10-02 15:23:20 963

原创 解决 webstrom sass 注释中文出错问题

最近用 webStrom 写 sass,感觉非常好用,自动帮你编译好,但是有一个问题,就是在写中文注释的时候,就会出错如下: 网上查了一下,说在 scss 文件头部加上:@charset "utf-8";但是,我试了一下并不管用!!��经过一番查找终于找到方法,在这里记录一下:① 在 scss 文件的头部加上:@charset "utf-8";② 打开 /Library/Ruby/Gems/2.

2017-09-27 07:24:51 1104

原创 解决inline-block元素的 bug

在使用inline-block时,有时候出现的效果莫名奇妙,例如: * 两个inline-block 元素之间如果有空格、回车、tab,那么在页面上就有一个空隙 * 两个不同高度的 inline-block 元素顶部无法对齐,或者使用inline-block下面无缘无故多出几像素例子1,出现空隙<!DOCTYPE html><html><head> <meta charset="

2017-08-30 21:19:46 702

原创 浮动

1. 块级元素浮动将并排显示,不再独占一行示例代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compat

2017-07-01 16:16:26 372

原创 解决android studio出现building gradle project info不动的问题

Mac安装android studio后建立项目一直卡在building gradle project info,下面介绍一下如何解决这个问题首先找到你的建立的工程,打开如下文件/Users/chenzekun/AndroidStudioProjects/MyApplication/gradle/wrapper/gradle-wrapper.properties,如下将\号删除,然后用迅雷下载,下

2017-06-20 07:12:25 3037

原创 hexo的next主题个性化教程:打造炫酷网站

看到有些next主题的网站很炫酷,那么是怎么配置的呢?接下来我会讲一讲如何实现一些炫酷的效果主要有以下32种:在右上角或者左上角实现fork me on github添加RSS添加动态背景实现点击出现桃心效果修改文章内链接文本样式修改文章底部的那个带#号的标签在每篇文章末尾统一添加“本文结束”标记修改作者头像并旋转博文压缩修改“代码块自定义样式侧边栏社交小图标设置

2017-05-24 22:10:04 53204 37

原创 github博客绑定个性域名

首先我们先买个域名,可以在阿里云购买域名,买完之后登陆阿里云的管理控制台,然后点击域名,再点击解析如下接下来点击添加解析,并输入以下信息(记录值不一样,第一个的记录值填你的github访问地址,如shenzekun.github.io,第二个填的是你的网站的ip地址,比如我原来的网站是shenzekun.github.io,那么就查找shenzekun.github.io的ip地址,网站的ip地址可

2017-05-23 09:31:57 771

原创 解决Charles乱码问题

在网上查了半天说在Info.plist文件加字符串就好了,其实没有用,下面有一个方法亲试可以解决乱码问题安装ssl证书3.10版本之前的需要去http://www.charlesproxy.com/ssl.zip 下载 CA 证书文件,然后双击 .crt 文件,选择‘总是信任’按钮,在钥匙串访问中即可看到添加成功的证书。 我是4.02版本的,在3.10版本之后的,操作如下:先点proxy中的ma

2017-05-12 20:29:50 1747

原创 前端面试题:从url到页面展现,这之中发生了什么?

我们平常在地址栏里输入一些网址时,页面很快就会出现,但在这之中到底发生了什么事情呢?大概是这样的流程:在浏览器的地址栏中敲入了url域名解析服务器处理请求浏览器处理绘制网页一、在浏览器的地址栏中敲入了url首先,我们要知道url是什么?URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上的资源,实际上就是网站网址。url的格式一般为: 协议类

2017-05-06 20:16:53 3464

原创 常用基本Linux命令行(附图)

介绍一些常用的linux命令行查看完整路径 pwd打开终端,输入pwd,显示出当前的完整路径查看当前目录下的文件 ls ls -a ls -al ls 是不包括隐藏文件ls -a是查看当前目录下的所有文件(包括隐藏文件)ls -al是查看当前目录下的所有文件(包括隐藏文件)的详细信息举个例子:我在cal文件夹放了三个文件如下图:在终端切换到这个文件夹下输入l

2017-05-04 14:02:14 657

原创 前端小项目:使用canvas绘画哆啦A梦

最近在学canvas元素,标签只是图形容器,必须使用js来绘制图形。为了增强对canvas元素的理解,于是用canvas画了一个哆啦A梦来要实现的效果图要想绘画出这个哆啦a梦首先要掌握以下一些函数: - arcTo() - canvas绘制圆形或弧线 - bezierCurveTo() - quadraticCurveTo() 开始绘画!!首先我们需要创建一个400*600的画布,代码如下

2017-04-22 07:18:56 1298

原创 前端学习笔记之常用的命名(详细)

1. 常用命名 页头:header 登录条:loginBar 标志:logo 侧栏:sideBar 广告:banner 导航:nav 子导航:subNav 菜单:menu 子菜单:subMenu 搜索:search 滚动:scroll 页面主体:main 内容:content 标签页:tab 文章列表:list

2017-04-19 21:14:47 3847

原创 前端学习笔记之js中apply()和call()方法详解

经过网上的大量搜索,渐渐明白了apply()和call方法的使用,为此写一篇文章记录一下。定义apply()方法: Function.apply(obj,args) obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args–>arguments)call()方法: Function.call(obj,[param

2017-04-15 11:15:23 3169 1

原创 前端学习笔记之Html标签元素类别

HTML 中的标签元素可以分为三种不同的类型:块状元素、内联元素和内联块状元素。块状元素的特点有:1、独占一行。每个块级元素都从新的一行开始,并且其后的元素也另起一行。2、元素的高度、宽度、行高以及顶和底边距都可设置。3、可以设置高度,如果不设置元素的高度,则其高度与父元素的高度一致。常用的块状元素有: <div>、<p>、<ol>、<ul>、<table>、<blockquote>、<form

2017-04-08 20:09:23 534

原创 蓝桥杯模拟 猜算式

问题你一定还记得小学学习过的乘法计算过程,比如: 273 x 15 ——— 1365   273 ——— 4095星号代表某位数字,注意这些星号中, 0~9中的每个数字都恰好用了2次。 (如因字体而产生对齐问题,请参看图p1.jpg)请写出这个式子最终计算的结果,就是那个5位数是多少?注意:只需要填写一个整数,不要填写任

2017-04-05 12:29:00 549

原创 弹簧板

问题有一个小球掉落在一串连续的弹簧板上,小球落到某一个弹簧板后,会被弹到某一个地点,直到小球被弹到弹簧板以外的地方。假设有 n 个连续的弹簧板,每个弹簧板占一个单位距离,a[i] 代表代表第 i 个弹簧板会把小球向前弹 a[i] 个距离。比如位置 1的弹簧能让小球前进 2 个距离到达位置 3。如果小球落到某个弹簧板后,经过一系列弹跳会被弹出弹簧板,那么小球就能从这个弹簧板弹出来。现在希望你计算出小球

2017-04-04 19:51:01 964

原创 24点游戏

问题今天,我们蒜头君想玩另外一种形式的 24 点游戏。蒜头君取出一副扑克牌,去掉大小王,还剩下 52 张牌,1,2, 3, 4, 5, 6, 7, 8, 9, J, Q, K, A每张牌四种花色。我们规定A代表 1 点,J, Q, K分别代表 11, 12, 13 点。蒜头君要取出任意张牌,使得取出的牌的点数和为 24。求出蒜头君有多少种方案完成 24 点游戏。注意,花色不同也视为不同的选取方案。比

2017-04-03 21:41:46 517

原创 简单的划分数

问题划分数就是将整数 n 分成若干个大于 00 的数的和。例如,n = 4,可以分成 1+1+1+1,1+1+2,1+3,2+2,4,一共 5 种方案,注意 1+1+2,1+2+1,2+1+1被认为是相同的方案。求整数 80 的划分数方案。答案 15796476思路还是用dfs做,只是有点慢(要25s)( ̄▽ ̄)”代码#include <iostream>using namespace st

2017-04-03 19:17:46 2952

原创 蓝桥杯模拟-排列序数

问题X星系的某次考古活动发现了史前智能痕迹。 这是一些用来计数的符号,经过分析它的计数规律如下: (为了表示方便,我们把这些奇怪的符号用a~q代替) abcdefghijklmnopq 表示0 abcdefghijklmnoqp 表示1 abcdefghijklmnpoq 表示2 abcdefghijklmnpqo 表示3 abcdefghijklmnqop 表示4

2017-04-03 11:10:28 1502

原创 成绩查询系统

问题数学老师小y 想写一个成绩查询系统,包含如下指令:insert [name] [score],向系统中插入一条信息,表示名字为name的学生的数学成绩为score。 find [name],表示查找名字为name的学生的数学成绩。 注意有些同学可能会为了刷分多次选课,查询的时候给出最大成绩即可。学生的名字是由小写字母组成。成绩是一个 0 …100 的整数。老师找到你,想你帮他完成这个系统。输

2017-04-02 17:45:22 913

原创 九宫格

问题将数字 1 …9 填入一个 3×3 的九宫格中,使得格子中每一横行和的值全部相等,每一竖列和的值全部相等。请你计算有多少种填数字的方案答案 72思路还是用全排列做实现代码#include <iostream>using namespace std;int main() { int a[9]={1,2,3,4,5,6,7,8,9}; int x[3][3]; int

2017-04-02 17:39:51 723

原创 补全等式

问题下图中,每个方块代表 1…13 中的某一个数字,但不重复。例如:1×2+9×7=13×510×8−12×3=11×4只要有任意一个方块代表的数字不同,就算两种不同的方案。请你计算,一共有多少种不同的方案。答案 122368思路只需用全排列枚举13个数,然后依次填12个数去判断就行了(出现答案要3分钟)( ̄▽ ̄)”实现代码#include <iostream>using namespace

2017-04-02 17:35:09 701 2

原创 方格选数

问题有一个 5×5 的如下矩阵: 3 4 5 7 6 6 2 8 4 12 7 12 4 8 3 1 9 5 10 7 8 5 6 5 2矩阵中两个数字共用一条边,那么这两个数字相连。选一组相连的数字,这组数字相加的和不超过 24,并且这组数字所在格子构成的形状可以被一笔画出,请你计算出这组数字的乘积

2017-04-02 16:56:01 509

原创 堆积木

问题蒜头君有 n 块积木,编号分别为 1 到 n。一开始,蒜头把第 i 块积木放在位置 i。蒜头君进行 m 次操作,每次操作,蒜头把位置 b 上的积木整体移动到位置 a 上面。比如 1 位置的积木是 1,2 位置的积木是 2,那么把位置 2 的积木移动到位置 1 后,位置 1 上的积木从下到上依次为 1,2。输入格式第一行输入 2 个整数 n,m(1≤n≤10000,0≤m≤10000)。接下来 m

2017-03-30 22:54:49 2201

原创 矩阵旋转

问题输出一个 n 行 m 列的矩阵顺时针旋转 90 度旋转 k 次的结果。输入格式第一行输入 3 个整数n,m(1≤n,m≤200),k(1≤k≤10^9​),接下来 n 行,每行输入 m 个 int 范围内的整数表示矩阵。输出格式输出最后的矩阵。每行行末不要多输出空格。样例输入1 2 3 1 1 2 3 4 5 6样例输出1 4 1 5 2 6 3样例输入2

2017-03-30 21:46:11 1721

原创 括号匹配方案

问题一个串只包含有’(‘和’)’,如果每个左括号都能和一个右括号匹配,且左括号在左边,右括号在右边,那么称这个串是括号匹配的。比如”(())”,”()()”都是括号匹配的,”)(“,“())(“都不是括号匹配的。你能求出长度为 30 的括号匹配的串有多少个吗?答案 9694845思路这题其实就是一个卡特兰数问题,当括号为1对的时候,有1种,当括号为2对的时候,有2种,当为3对的时候有5种,当为

2017-03-29 22:42:52 4118

原创 寻找字符串

问题某天,蒜头君和花椰妹在公园里散步,走着走着,我的天!他们各自都捡到了一串漂亮的字符串,然而蒜头君好奇心比较重,他想知道自己的字符串在花椰妹的字符串中出现了多少次,例如花椰妹的字符串为abababa,蒜头君的字符串为aba,那么蒜头君的字符串在花椰妹的字符串中出现了 3 次。蒜头君一向比较傲娇,于是向你请教,你可以帮帮他么?输入格式输入包含两行,第一行为花椰妹捡到的字符串,第二行为蒜头君捡到的字符

2017-03-29 22:21:30 1020 1

原创 一维坐标的移动

问题在一个长度为 n的坐标轴上,蒜头君想从 A 点 移动到 B 点。他的移动规则如下:向前一步,坐标增加 1。向后一步,坐标减少 1跳跃一步,使得坐标乘 2蒜头君不能移动到坐标小于 0 或大于 n 的位置。蒜头想知道从 A 点移动到 B 点的最少步数是多少,你能帮他计算出来么?输入格式第一行输入三个整数 n,A,B,分别代表坐标轴长度,起始点坐标,终点坐标。(0≤A,B≤n≤5000)输出格

2017-03-28 22:47:27 1322

空空如也

空空如也

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

TA关注的人

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