自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

webnoob

每一个你讨厌的现在,都有一个不努力的曾经

原创 博客迁移

个人博客迁移 >> inoob’s notes

2019-01-28 19:16:44 71

原创 Promise实现原理

Promise 是 es6 引入的异步处理方案,让我们可以采用链式的写法注册回调函数,摆脱多层异步回调函数嵌套的情况,使代码更加简洁。而理解 Promise 内部实现原理也十分重要,我们可以从简单的模型开始,考虑不同的边界情况,一步一步的往最终结果实现。一个简单的雏形如下我们可以新建一个 Promise对象, 然后马上执行成功的回调。var a = new Promise(function...

2019-03-02 21:39:27 85

原创 JS的防抖和节流

在浏览器中如果一个事件被频繁触发,比如输入框的 keyup, 窗口的 resize 以及 scroll 事件等,如果不做任何处理,事件的回调函数将会对应执行,这必然会加重浏览器的负担,影响用户的体验。面对这种场景,我们可以用函数的防抖 (debounce) 和节流 (throttle) 来处理。函数防抖防抖 debounce: 让事件触发时的回调在一定的延时后执行。如果在计时期间又触发了事...

2019-03-02 21:35:41 340

原创 如何理解CSS中的BFC特性

css中的 BFC 特性是在css2.1规范中引入的块渲染规则,利用这些规则可以帮助我们处理页面中的布局等问题。比如:在清除浮动方案中我们可以在父容器中加入 overflow:hidden,这就是利用了 BFC 特性。同时也是面试中一个常问的知识点,所以深入理解 BFC 很重要。什么是BFCBFC是 (Block Formatting context)的简称,即块格式化上下文。可以理解为它是...

2019-03-02 21:32:28 165

原创 express-路由自动加载

在express构建的程序中,配置一个路由规则可以用 app.get(urlPath, callback) 方式,也可以用路由中间件 app.use(urlPath, express.Router),但是在项目扩大时候这种配置会显得很冗余,所以就需要实现一种路由自动加载的机制。1.项目目录与路由规则映射自动加载路由的原理就是找出控制器的目录结构和路由规则的匹配关系,比如请求/ 就是对应控制器的...

2018-12-09 15:36:57 692

原创 vue-router初识

vue-router 是vue框架的前端路由插件,主要是通过监测 onhashChange 事件,在动态挂载不同组件到固定位置。1. 基本配置如下代码:<body> <div id="app">&a

2018-11-21 23:41:57 91

原创 vue生命周期小记

1.beforeCreate 和 created这两个钩子函数用在vue组件创建时开始调用,处在vue分配数据节点前后,如下测试代码:<body> <div id="app"></div>

2018-11-19 00:54:37 62

原创 PHPExcel操作excel

1.导出文件基本操作<?php$dir = dirname(__FILE__);// 引入插件类require $dir . '/Class/PHPExcel.php';// 实例化类$objExcel = new PHPExcel();// 创建新页,此时有两个页,第一页是默认存在的$objExcel->createSh

2018-10-22 12:55:24 88

原创 HTML5 文件上传

1.XHR2上传二进制文件html代码:<input type="file" onchange="handleUpload()">javascript代码:function handleUpload(){ var file = document.querySelector('input[type=file]').files[0]; if(!!f...

2018-08-03 21:17:26 195

原创 MacOS删除文件需要输入密码问题

修改用户回收站的权限 sudo chmod 777 ~/.Trash

2018-03-25 23:46:01 2797

原创 php排序函数

php类里面排序函数的写法<?phpclass test{ public $a = [2,4,1,3,5]; public function cmp($a, $b) { return $a > $b; } public function show() { usort($this->a, array(__C

2018-01-02 09:46:56 171

原创 webpack+babel+es6+react环境搭建

本文为简单搭建一个react的初始开发环境。1.工程目录新建一个工程目录(比如react-demo),在window中cmd控制台进入该目录下,执行npm init初始化目录,如下在工程目录下新建文件夹src用来存放源文件,新建文件夹dist用来存放打包后的文件,在src内新建文件夹component用来存放组件,新建文件index.js表示打包的入口文件,在根目录下新建web

2017-05-21 16:23:41 616

原创 webpack之css-loader

如果我们在打包的入口js文件中import了css文件,并且想要把css文件作为的内容插入到模版文件,这时候我们要用到webpack的css-loader和style-loader,前者用于在js中加载css,后者把加载的css作为style标签内容插入到html中。另外,如果某些css要考虑到浏览器的兼容性(比如css3中的flex),我们要webpack在打包的过程中自动为这些css属性加上浏

2017-05-20 22:38:56 9332

原创 webpack之loader

loader,即加载器。是webpack用来解析加载某些格式的文件,转化为浏览器能够识别的格式。比如转化less/sass为css,转化JSX语法为JS,转化ES6为ES5。1.安装解析es6语法我们用到babel加载器,在webpack安装如下,其他构建工具的安装查看babel官网npm install babel-loader babel-core --save-devnpm i

2017-05-20 14:50:13 880

原创 webpack初识

1.安装全局安装npm install webpack -g在项目下安装:npm install webpack --save-dev打包文件基本命令:webpack source.js bundle.js

2017-05-19 22:14:51 439

原创 VSCode中emmet被自动提示覆盖问题

在我们用vscode的时候,按下emmet补全html元素,有时候会被vscode的自动提示功能给覆盖,解决的办法可以用:(1)在按下emmet快捷键(如:tabs)的时先按ESC,再快捷键(2)可以在vscode的快捷键中

2017-05-19 16:22:00 7528 2

原创 win10启动apache显示443端口被占用

一般是虚拟机服务占用了443端口,通过修改apache配置文件解决。首先修改apache安装目录下conf/extra/httpd-ssl.conf,把443全部替换成442。再不行的话,修改该目录下的httpd-ahssl.conf,同样把443全部替换成442。

2017-03-18 13:39:31 4101

原创 NYOJ-17 单调递增最长子序列

1.思路用dp[i]表示以a[i]为结束的最长递增子序列,最有子结构为dp[i]=max(dp[j]+1)(a[i]>a[j],j=i~0),dp[i]默认为1,自身也是递增的。2.代码:复杂为O(n^2)#include #include #define maxn 10009using namespace std;int main(){ int t;

2016-11-02 22:46:31 379

原创 js继承中的方法重写

1.面试中遇到的一道题,子类继承父类,父类有两个方法,重写其中一起方法。继承我是肯定是用组合方式继承,方法都是在原型上写的,重写的方法直接在子类的原型对象上写就ok了,因为对象的属性查找是按照原型链上就近原则的,先找到的方法就调用这个方法。2.代码如下:// supcalssvar parent = function(name,age){ this.name = name;

2016-11-02 19:26:23 13175 1

原创 两列布局常用实现

1.概述两列布局是常用的网页布局之一。主要为两个div排在一行,左边宽高已定,右边宽度自适应。2.利用position实现: Document .main{ position:relative; width: 100%; } .left{ width: 200px; height: 200px; background-c

2016-11-02 10:57:32 557

原创 NYOJ-18 The Triangle

source link1.tips求下三角矩阵的最大路径和。利用动态规划思想。dp[i][j]表示以点[i,j]结尾的最大路径和,最有子结构为: dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+a[i][j], a[i][j]表示当前点的值。在矩阵的每行的开始和结束点做特殊处理就行了。2.code#include <iostream>using namespace s

2016-11-01 12:40:02 372

原创 NYOJ-10 skiing

source link1.tips深度搜索+动态规划。dp[i][j]表示从a[i,j]出发能滑行的最大长度。深搜相邻能滑行的点的最大长度+1。记得要进行记忆化搜索,能节约很多时间。2.code#include <iostream>#include <cstring>#define max(a,b) (a>b?a:b)using namespace std;int h[110][110];

2016-10-30 23:21:56 396

原创 javascript编写acm算法题

我们都所知,acm算法题一般用c++或者java敲比较多。一个是效率搞,运行速度快,另外一个是处理输入输出比较简单。随着javascript语言的不断完善,我们如今也可以用js这门语言来实现算法题。作为喜欢算法的前端,难道不心动咩~但是支持js编写的OJ网站并不多,有下来两个:http://judge.u-aizu.ac.jp/onlinejudge/index.jsphttp://codefo

2016-10-26 13:59:05 2999

原创 NYOJ-15 括号匹配(二)

原题目链接1.思路区间Dp经典问题。最优子结构的表述如下:①若S为 [S’] 或 (S’),则我们只需要把 S’ 串变成规则的就可以了。②若S为[S’ 或 (S’ ,则我们只需要把 S‘ 串变成规则的,最后再加一个] 或)就可以了。③若S为 S’] 或 S’),则我们只需要把 S’ 串变成规则的,最后再在前面加一个[或(就可以了。④若找S[i……j]变成规则的最小数目,就是S[i……k] 和 S[k

2016-10-24 14:47:17 434

原创 NYOJ-97 兄弟郊游问题

source link1.tips 数学推公式。另S为兄弟相遇时间,有Mx+Sx=Sy,结果为S*z;2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>#include <stack>#include <cstdio>using names

2016-10-24 13:23:17 385

原创 NYOJ-96 n-1位数

source link1.tips 结果就是n对10的n-1次方求余数,比如3位数对100求余。2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>#include <stack>using namespace std;int digit(in

2016-10-23 12:40:08 264

原创 NYOJ-2 括号匹配

source link1.tips 栈应用的经典问题。对每个准备入栈元素判断他是否和栈顶元素匹配即可。2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>#include <stack>using namespace std;int main(

2016-10-23 12:27:39 318

原创 NYOJ-94 cigarettes

source link1.tips 由于是求能得到的最大香烟数,所以每次换完剩下的香烟头记得累加,以便下次换。接下来循环模拟这个过程就可以了。2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>using namespace std;int ma

2016-10-21 20:00:20 553

原创 NYOJ-77 开灯问题

source link1.tips 暴力循环即可2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>using namespace std;int main(){ int light[1010]; int k,n; mem

2016-10-21 19:26:51 442

原创 JS实现图片的延迟加载

一.概述懒加载:主要目的是作为服务器前端的优化,减少请求数或延迟请求数,一些图片非常多的网站中非常有用,在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置才加载,这样对于含有很多 图片的比较长的网页来说,可以加载的更快,并且还能节省服务器带宽。二.实现方式第一种是纯粹的延迟加载,使用setTimeOut或setInterval进行加载延迟。第二种是条件加载,符合某些条件,或触

2016-10-21 19:06:03 1290

原创 JS实现图片的异步加载

1.概述异步加载:也称为图片的预加载。利用js代码提前加载图片,用户需要时可以直接从本地缓存获取,但是会增加服务器前端的压力。这样做可以提高用户的体验,因为同步加载大图片的时候,图片会一层一层的显示处理,但是经过预加载后,直接显示出整张图片。但是在图片响应时间上优化不是那么明显。2.基本形式<script> function loadImage(id,url,callback)

2016-10-21 18:00:34 13010

原创 NYOJ-75 日期计算

source link1.tips 主要判断下年份是不是闰年,对2月份进行处理就ok了2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>using namespace std;int month[13]={0,31,28,31,30,31,3

2016-10-20 18:48:14 401

原创 NYOJ-74 小学生算术

source link1.tips 分解3为整数,判断每位相加和进位之和是否大于9,进位数+1;记得进位标记;2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>using namespace std;int* divi(int n){

2016-10-20 16:34:18 398

原创 NYOJ-65 另一种阶乘问题

source link1.tips 预处理下数组就ok2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>using namespace std;int fac[21],res[21];void init(){ fac[1]=res[

2016-10-20 16:09:24 338

原创 NYOJ-64 鸡兔同笼

source link1.tips 解方程,判断下解是不是正整数2.code#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>using namespace std;int main(){ int t; int n,m; cin>>

2016-10-20 16:00:19 409

原创 NYOJ-62 笨小熊

source linktips: 由于数据量很小,不用打印素数表,直接判断就行!!code:#include <iostream>#include <string>#include <cstring>#include <cmath>#include <algorithm>using namespace std;bool isPrime(int n){ if(n<2)

2016-10-20 15:47:38 480

原创 NYOJ 60谁获得了最高奖学金

原题目链接判断每种情况的获得奖金就行,水一下~#include #include using namespace std;struct student{ string name; int argEnd; int argCls; char isLeader; char isWester; int num; int getAw

2016-10-17 23:40:39 454

原创 土巴兔2017校招前端开发

2016.10.14,土巴兔在华南理工宣讲会。总体第一感觉就是一家很有潜力的公司。宣讲会结束后就开始笔试,我面试的前端开发岗位,但是技术类的题目都是一样,分为A,B卷。笔试题目为选择题,填空题,算法题。范围是数据结构,c++,计算机网络,操作系统和基本算法。题目不多,基本一个范围点一道题。算法题目考到了二叉树的层次遍历,动态规划求出三角矩阵的最佳路径。在当天晚上很幸运就收到了面试的hr电话。听说技术

2016-10-16 23:18:11 2090

原创 JS内存泄漏排查

可以利用chrome f12审查工具中的profile功能进行内存泄漏排查,点击take snapshot拍下堆内存的快照,对比相邻的两次快照就能得出哪些内存没有回收1.在控制台中新添加一个对象,观察profile中的变化:function Foo(name){ this.name = name;}var foo = new Foo('heap');得出内存快照如下: 其中const

2016-10-13 21:27:03 1047

原创 2017深信服校招面试小记

在前天笔试完,第二天就收到面试通知了。深信服这次是一二面一起,再做一个综合评估。由于面试时间持续1个多小时,基本根据你简历上的项目进行挖问,所以在写简历的时候就要有所准备。问题比较多,我就列出几个我能记住而且比较有深度的!1.内存泄漏是什么?几种情况?用什么工具可以排查? 2.图片的异步加载怎么实现?按需加载呢? 3.怎么实现类似天猫物品鼠标放大图片功能? 4.SPA和多页面的区别? 5.用

2016-10-13 16:04:04 5247

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