自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

思而慕之。

hello world.

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

原创 记录一下这几天困扰了好久的bug。。

最近做的electron应用,有缓存的功能。 但是长时间使用下来有个bug一直存在,就是切换主题的时候,上一个主题里面的svg内容会出现缓存一半,从而下次切到这个主题的时候,这个写了一半的会加载不出来。 ok稳定版发布好了我要开始优化了。棘手啊,这他妈怎么弄,来来来不写完不准切换主题。redux,各种记录要加载的数据,和已经写完的数据。毕竟加了懒加载,更加糟心了。 好的搞定了,录...

2018-03-22 11:10:24 247

原创 深入浅出nodejs内存控制知识点整理

node基于v8构建,所以在node中使用的js对象基本上都是通过v8自己的方式来进行分配和管理的。 在v8中,所有的js对象都是通过堆来进行分配的。process.memoryUsage();{ rss:24473600, heapTotal: 7331840, heapUsed: 5736952, external: 8727}v8内存分代 v8中,主要

2017-10-24 19:45:23 710

原创 常见漏洞和攻击及防范方法

XSS(Cross-Site Script) 跨站脚本攻击1.Reflected XSS(基于反射的XSS攻击) 诱骗用户点击带攻击性的代码链接,服务器解析后响应,不转存数据库,在服务器响应的内容中有攻击性代码,被浏览器执行,从而获取信息等。不过这个url是会被用户怀疑的。2.Stored XSS(基于存储的XSS攻击) 主动提交恶意数据到服务器,提交的代码能存储在数据库中(谁做的服务器端校验拖

2017-09-07 15:52:36 10621

原创 常见的排序方法(javascript)

冒泡排序重复的走访过要排序的数列,一次比较两个元素,如果顺序错误就交换过来。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 let arr = [3,12,5,8,19,21,1,15];for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j<arr.length - 1 - i; j+

2017-08-22 15:18:17 288

原创 记录一下自己最近的学习曲线路程。。

这两个月简直是我从事程序员行当中,接触知识范围最广的两个月。。 要用数据库,ok,mysql基础操作撸一遍。 要用egg写服务端,看着别人之前写过的项目,写出了一大堆接口。嗯,接口能用,还不错。。 因为egg基于koa,所以还时不时要查一下koa的文档。 ok顺带还看了express,node模块也要查。 之前的发布系统用的是sails,ok查文档。 electron的autoUpdat

2017-08-16 17:44:47 596

原创 es6基础回顾--async函数

async是generator函数的语法糖。 async表示函数里有异步操作,await表示紧跟在后面的表达式需要等待结果。//generator函数var gen = function * (){ var f1 = yield readFile('xxx'); var f2 = yield readFile('xxx');}//async函数var asyncRead =

2017-06-19 16:01:46 1336

原创 记一次面试中遇到的问题。

1.假设我用构造函数fun构造出一个新对象obj,构造之后在fun的原型对象上加一个新的属性age为10,请问obj.age是什么?function fun(){ this.name = 'a'}var obj = new fun();fun.prototype.age = 10;obj.age = ?答案为obj.age = 10;我的理解是因为obj. _ proto _ (实

2017-06-13 14:34:45 366

原创 sass用法

sass是一种css的开发工具,提供了许多便利的写法。 sass的文件后缀名为.scss,意思为Sassy CSS。 sass提供四个编译风格的选项,nested :嵌套缩进的css代码,默认值。expanded:没有缩进的、扩展的css代码。compact:简洁格式的css代码。compressed:压缩后的css代码。基本用法:变量所有变量以$开头,这个最常用。$red:#f00;

2017-06-01 17:27:44 555

原创 es6基础回顾--Generator函数

Generator可以理解成状态机,封装了多个内部状态。 形式上Generator就是一个普通的函数,但是function关键字和函数名之间有一个星号,内部使用yield表达式。function* test (){ yeild 'hello'; yeild 'world'; return 'ending';}var hw = test();test函数有三个

2017-05-16 14:49:04 341

原创 es6基础回顾--Promise

从我理解来说,Promise解决回调地狱,不会在ajax里面无休止的调用ajax了。 Promise是一个对象,从其中可以获取异步操作的消息。 Promise对象的状态不受外界影响,其代表一个异步操作,有三种状态:Pending(进行中),Resolved(已完成),Rejected(已失败)。一旦状态改变就不会再变。生成Promise实例对象基本用法: var promise = new

2017-05-10 17:37:31 546

原创 es6基础回顾--Set和Map

SetSet,ES6中新的数据结构,类似于数组,但是成员的值都是唯一的,没有重复。 const a = new Set(); [2,3,2,3,4,5,6].forEach(item => a.add(item)); //遍历输出a的值 for (let i of a){ console.log(i); } //2 3 4 5 6

2017-05-09 15:56:11 333

原创 es6基础回顾--解构赋值

ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构//以前的写法let a=1;let b=2;let c=3;//es6写法let [a,b,c] = [1,2,3];只要等号两边的模式相同,左边的变量就会被赋予对应的值。let [a,[[b],c]] = [1,[[2],3]];let [ , , third] = [1,2,3];thir

2017-05-05 17:09:28 421

原创 es6基础回顾--let和const

天天在用es6,但是自己还没有详细的做过一份知识点整理。 前两天写代码碰到await和async,傻眼了。。完全忘了是什么。。。 现在开始好好的整理一下,保不齐哪天es7出来,那我es6还没搞明白就不好了。。let声明变量只在let命令所在的代码块内有效。{ let a=10; var b=1;}a //error : a is not defined.b //1let声

2017-05-05 11:19:31 401

原创 package.json---解析

之前看了蛮久阮大师的javascript标准参考教程。 前面和边上的妹纸关于dependencies和devDependencies讨论了一下,看来还是要梳理一下知识点。 (讲道理,用了博客一个多月,整理了一些知识点,有时候用到想不起来就过来查一下,很方便,新技能get。 []~( ̄▽ ̄)~*)每个项目的根目录下一般都有一个package.json文件,定义项目所需要的各种模块,以及项目的配置信

2017-04-26 17:14:13 3504

原创 Redux基础使用

突然来了个项目要用redux,打的措手不及。。之前没用redux写过项目,现在要学一下。整个应用只能有一个Store,包含项目中所有数据 生成Store createStore(fn) 想获得某个时点的数据State,就要对Store生成快照。可以通过store.getState()。一个State对应一个View。View变化—>生成通知Action—>通过dispatch发出Action—

2017-04-14 10:57:41 393

原创 JavaScript---迭代方法

最近在看javascript高级程序设计,第五章引用类型里面讲到了迭代方法,之前一直不太搞的清楚,现在梳理一下。 总共有五个迭代方法:every() : 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回truesome() : 对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回truefilter() : 对数组中的每一项运行给定函数,返回该函数会返回

2017-04-10 18:37:23 875

原创 Git---版本控制器(远程仓库操作)

(划重点啊盆友们。讲道理我觉得之前在学git的时候,弄那个分支的概念,简直了。) 远程仓库是指托管在因特网或其他网络中的你的项目的版本库。查看远程仓库如果想查看已经配置的远程仓库服务器,可以用git remote命令。如果你已经克隆了自己的仓库,至少能看到origin,这个是Git给的仓库服务器的默认名字。$ git remote //查看远程仓库服务器origin或者用

2017-03-31 14:16:34 438

原创 css3---新特性

前两天在看网易的面试题,有一道是考察对css3新特性的background-clip等。表示我还是乖乖的去查了手册。 趁着css4还没出来还是要抓紧把css3弄起来啊。。要不然真的要忘光了。css3边框border-radius前年去边锋面试应聘当实习生的时候,技术主管就问了我这个问题。对于那时候只自学了css2的我来说,圆角啥的简直是难到我了。。依稀记得慕课网上教育我,用圆角,找个图片加背景

2017-03-29 10:55:28 482

原创 Git---版本控制器(本地仓库操作)

git-分布式版本控制器分布式和集中式的区别: 集中式版本控制:版本库集中在一台服务器上,每次开发都需要先从服务器上获取最新版本,开发完成需要提交再把新的版本发回服务器。例如SVN。 分布式版本控制:本地电脑中有一份完整的版本库,需要多人合作时只需把自己修改的推送到服务器上,对方拉取就好。每次的修改都是版本的更新,所以我们需要一个版本库来记录这些信息。$ git init# Git初始化的命令

2017-03-28 11:15:55 484

原创 2017.3.28---开始写我的博客

2017.3.28—开始写我的博客这是我第一次开始写博客。 不知道以后有没有人会来看,但我希望能坚持写下去。 感觉做IT这一行,你必须要有一个博客,或者github上得有什么开源项目,写简历的时候可以添上一笔。但我的目的不在于此,只希望自己在有什么知识点找不到的时候,可以过来翻阅一下。 不知不觉已经工作一年了。因为要搬出阿里园区,这几天动了跳槽的念头。但是看了现在的行情,发现一年工作经验真的太

2017-03-28 11:01:40 493

空空如也

空空如也

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

TA关注的人

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