自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 JS 模块模式

闭包一个立即执行的匿名函数。代码运行在函数内的闭包,提供了贯穿于整个应用生命周期的私有性和状态。(function () { // ... all vars and functions are in this scope only // still maintains access to all globals}());全局变量在 js 中访问一个变量活着方法时,会沿着作用域链层层

2016-09-27 21:30:28 513

原创 JS 设计模式单例模式

旧的实现方式,通过必包和立即执行函数表达式。var UserStore = (function(){ var _data = []; function add(item){ _data.push(item); } function get(id){ return _data.find((d) => { return d.id === id; });

2016-09-27 21:28:37 446

原创 Redux 学习笔记(四)

actionCreator首先,定义actionCreator。var addTodoActions = function(text){ return { type: 'add_todo', text: text };};reducer然后,定义reducer,可以看到是对add_todo事件进行了处理var todoReducer = funct

2016-08-22 21:08:52 404

原创 节流函数

预先设定一个执行周期,当调用动作的时刻大于等于执行周期则执行该动作,然后进入下一个新周期。function throttle(fn, delay) { var timer = null; return function () { var context = this, args = arguments; clearTimeout(tim

2016-08-22 20:37:24 364

原创 Redux 学习笔记(三)

组件的重新渲染说到 react 组件,肯定离不开组件的 props 和 state,我们可以在 props 和 state 存放任何类型的数据,通过改变 props 和 state,去控制整个组件的状态。当 props 和 state 发生变化时,react 会重新渲染整个组件当组件的 props 或 state 变化,react 将会构建新的 virtual DOM,使用 diff 算法把新老的

2016-08-21 22:37:54 889

原创 javascript 实现继承的不同方法

使用构造函数的 5 种方法:“动物”对象的构造函数:  function Animal(){    this.species = "动物";  }“猫”对象的构造函数  function Cat(name,color){    this.name = name;    this.color = color;  }方法一、构造函数绑定使用call或apply方法,将父对象的构造函数绑定在

2016-08-21 22:03:19 269

原创 ES 7 装饰器

ES 7 语法, 本质是 Object.defineProperty(obj, prop, descriptor) 的语法糖不通过子类或添加额外属性的方式就可以给对象增加新功能的手段作用在类上作用在类的方法上不能作用在函数上,因为存在函数提升Object.assign 函数将来自一个或多个源对象中的值复制到一个目标对象。此函数返回目标对象。仅可枚举自有属性从源对象复制到目标对象。可使用此函数合并或克

2016-08-21 21:58:50 1499

原创 Redux 学习笔记(二)

要将 Redux 和 React 结合起来使用,就还需要一些额外的工具,其中最重要的是 react-redux 。react-redux 提供了两个重要的对象,Provider 和 connect,前者使 React 组件可被连接(connectable),后者把 React 组件和 Redux 的 store 真正连接起来。redux 的基本用法通过 reducer 创建一个 store,每当我们

2016-08-21 21:57:02 3070 3

原创 浏览器跨域通信

第一种 CORS服务器设置头标 :设置Access-Control-Allow-OriginAccess-Control-Allow-Origin: http://blog.csdn.net 浏览器,操作类似普通 XHR:var xhr = new XMLHttpRequest(); xhr.open("GET", "/hfahe", true); xhr.send(); 完整浏览器端

2016-08-21 21:54:54 419

原创 浏览器页面加载性能

整个页面的耗时:window.performance.timing页面上某个静态资源的加载时间:返回网页中所有资源和标记的数据:window.performance.getEntries() 根据entryType返回数据:window.performance.getEntriesByType()window.performance.getEntriesByType(‘resource

2016-08-16 13:31:17 849

原创 树莓派小白教程(二)

虽然通过SSH远程登陆可以命令行的形式操控开发板,接下来介绍的是如何访问树莓派的图形界面。当然如果有 HDMI 线, 直接连接到显示屏幕就可以了,非常简单方便。但如果没有 HDMI 线的话,我们可以通过 openvnc 的方式来访问树莓派的图形界面。当然,一切的前提是已经能登录到开发板操控命令行了。延续上一节中开发板通过网线连接路由器和PC连载同一局域网下的方式。当然可以给树莓派配置固定 IP ,但

2016-08-06 21:21:24 757

原创 树莓派小白教程(一)

配件:主板、网线、电源和电源线(5V 2.1A 的充电宝和手机安卓充电线可代替)、路由器、 笔记本软件:XSHELL 或其他远程登录软件开机前的准备:物理设备连接:1、电源(充电宝)通过USB线给板子供电2、一台正常工作的路由器,通过网线连接路由器和板子3、笔记本接入路由器同一网络中以上操作正确,可以看到板子上的电源灯亮起、网口指示灯亮起。远程登录板子:1、板子通过网线连接好路由器后,在笔记本上浏

2016-08-04 23:33:04 1754

原创 Redux 学习笔记(一)

reducer三个作用:接受 actions保存初始 state 处理 actions , 并更新statecontainersRedux makes the difference between containers, which are connected to the state, and components, which are dumb and stateless作用:连接 s

2016-06-18 21:20:31 1086

原创 React: ES5 和 ES6 比较

React 同时支持 ES5 和 ES6 两种语法。通过 Babel 可以编译 ES 6 和 JSX , 把他们转译成 ES 5 。伴随着学习和使用经验, 这里对React 中 ES5 和 ES6 两种语法做一个对比和归纳。createClass vs class首先上代码,直观感受一下同一个 component 组件使用 ES5 和 ES6 两种不同的语法写出的代码。 var Input

2016-06-17 23:54:47 1827

原创 Angular 学习笔记

Angular 特点1. MVC 模型-视图-控制,甚至其他的 MV* 几乎是现代流行前端框架采用的方法。模型(model)掌管着数据,视图(view)是直接展示给用户的部分,控制(controller)用来操纵视图,三者各司其职,协同密切配合。职责清晰,代码模块化2. 模块化 模块化也是现在流行的做法,从早一点的AMD、CMD规范,到commonJS,而且 ES 6 也开始支持模块化。模块化的优

2016-02-08 18:51:02 536

翻译 5 jQuery.each() Function Examples

This is quite an extensive overview of the jQuery each() function. This function is one of jQuery’s most important and most used functions. In this article we’ll find out why and look into its details

2016-01-23 00:48:33 556

原创 javascript异步实现

回调函数就是把任务的第二段单独写在一个函数里面,等到重新执行这个任务的时候,就直接调用这个函数。它的英语名字 callback,直译过来就是”重新调用”。 读取文件进行处理,是这样写的。fs.readFile('/etc/passwd', function (err, data) { if (err) throw err; console.log(data);});上面代码中,read

2016-01-22 19:05:19 362

转载 最长上升子序列问题的几种解法

http://www.cnblogs.com/dartagnan/archive/2011/08/29/2158247.htmlhttp://www.nowcoder.com/questionTerminal/c2afcd7353f84690bb73aa6123548770?orderByHotValue=0&done=0&pos=1&mutiTagIds=593&onlyReference=fal

2016-01-21 23:02:41 298

原创 javascript性能优化——懒加载提升代码效率

浏览器检测的问题由于各浏览器之间的行为差异,js代码中需要大量的 if 语句,检查浏览器特性,解决浏览器兼容问题。 比如为 dom 节点添加事件的函数:function addEvent (type, element, fun) { if (element.addEventListener) { element.addEventListener(type, fun, fals

2016-01-21 22:09:38 1053

原创 ES 5、ES 6变量和函数声明以及作用域总结

变量提升JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前作用域的最前面。当前作用域内的声明都会提升到作用域的最前面,包括变量和函数的声明。var v = "hello";(function(){ console.log(v); var v = "world";})();这段代码运行的结果是:undefined 第一,function作用域里的变量v遮盖了上层作用域变

2016-01-20 15:37:04 4255 3

原创 巧用位操作符之——^异或运算符

一道题目 题目:Single Number II Given an array of integers, every element appears three times except for one. Find that single one. 除了一个元素外,其它元素都是出现三次,求那个元素? Note: Your algorithm should ha

2016-01-19 11:24:21 1283

原创 Best Time to Buy and Sell Stock 股票交易最大收益

主要是利用动态规划的思想解决问题。Best Time to Buy and Sell Stock I Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one tran

2016-01-13 10:50:18 1002

原创 位运算求平均值

在程序中,使用位运算比加减乘除运行效率要高,尤其是在需要多次迭代或者重复大量计算时。以求两个数的平均值运算为例,应用场景可以参见二分法查找有序数组。first代表数组第一个元素,last代表数组最后一个元素 那么我们可以使用位运算实现mid = (first+last)/2mid = first + ((last - first) >> 1);容易想通等式是成立的。等式右边乘以二再除以2,得到

2016-01-05 09:25:11 659

原创 Linux死机安全重启指令reisub

有时系统负载过大,程序不能及时响应,很容易死机。个人用户强行关机再重启就OK。但是对于需要全天工作提供服务的服务器来说,强行关机不仅会导致服务器停止工作,同时造成未同步的数据丢失。解决方法如果在图形界面下死机,可以按ctrl+alt+F2(F1-F6一般都可以)切换到文字界面,这样会切换到另外一个虚拟终端,需要一个账号来登入,进入后用top命令查看进程表,等待进程信息表刷新一两次,就可以确定占用资

2015-12-24 20:49:12 10478 1

原创 环境变量错误导致Linux指令不可用

环境变量错误导致Linux指令不可用在使用交叉编译器制作内核文件时,需要在makefile中配置交叉路径,也可以在安装交叉编译器完后配置它的环境变量。但是错误或者不恰当地修改了环境变量,将导致linux自带的脚本命令不可用。随便在终端敲一个指令,都会得到这样的系统提示: /bin 不在PATH 环境变量中,故无法找到该命令浏览器兼容最简单的解决方法:执行此命令语句:/usr/local$

2015-12-22 11:17:27 4129

原创 Vi&Vim使用技巧

对多行添加注释例如,选中下面代码片的前四行,并通过在每行的行首添加#号,将它们注释掉:def foo(a,b): for each in (a,b): print each return a+bprint "2"最终形成这样的效果:#def foo(a,b):# for each in (a,b):# print each# retu

2015-12-19 14:04:20 299

原创 ARM 9开发板s3c 2440使用不完全指南(一)

小白入门版学习笔记硬件设备连接 为了方便调试,通过串口线将开发板和宿主机连接起来,在Linux主机上可以通过Xshell、minicom,如果是windows系统的话,可以使用SecureCRT、putty等串口工具登录和访问我们板子的系统。打开串口工具,新建连接,选择正确的com通信端口,不确定的话,到”计算机属性-硬件设备-通信和端口”中查看开发板连接使用的是哪个串口。建立连接后,将开发板通过

2015-12-17 17:57:09 948

原创 git使用入门

安装windows平台下的安装过程非常简单,其他平台安装方法可以参考手册 http://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git初始配置用户信息当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

2015-12-17 09:47:03 521

原创 《将博客搬至CSDN》

为了更好的方便管理,现将博客迁移至http://www.cnblogs.com/pepping/

2015-12-15 08:25:41 267

转载 常见HTTP状态码

HTTP状态码作用web服务器用来告诉客户端,发生了什么事。HTTP状态码构成状态码位于HTTP Response 的第一行中,会返回一个”三位数字的状态码“和一个“状态消息”。 ”三位数字的状态码“便于程序进行处理, “状态消息”更便于人理解。HTTP状态码分类HTTP状态码分为五大类。 已定义范围 分类 1XX 100-101 信息提示 2XX 200-206 成功 3XX

2015-12-14 22:42:24 1524

原创 嵌入式Linux开发交叉编译(二)

Linux中minicom的安装&使用使用windows系统作开发的时候,可以使用DNW、SecureCRT、Putty等串口工具连接和登录开发板。而在linux系统下经常使用的是minicom工具。安装sudo apt-get install minicom配置:1 . 在终端中输入minicom以启动minicom;2. 先按下Ctrl + a, 放开, 再

2015-12-11 16:16:15 394

原创 arguments 对象

用一到题作为开场:var length = 10;function fn() { console.log(this.length);}var obj = { length: 5, method: function(fn) { fn(); arguments[0](); }};obj.method(fn, 1); 在开发者工具里看一下运行结果: 题目考察点有两个

2015-12-07 16:12:33 437

原创 嵌入式Linux开发交叉编译(一)

交叉编译工具的安装嵌入式系统受限于存储空间和处理器计算能力等原因,不能安装发行版的Linux系统,需要专门为目标板定制Linux操作系统。常见的开发环境都采用交叉开发模式:在开发主机上,安装开发工具,编辑、编译目标板的Linux引导程序、内核和文件系统,然后在目标板上运行。与PC开发的本地开发本地运行不同,交叉开发实在主机环境下开发,在目标板上运行。安装ARM-Linux工具链通过网络下载交叉编译工

2015-11-25 09:30:59 565

原创 JavaScript获取DOM元素位置和尺寸

clientHeight和clientWidth描述元素内尺寸,是指 元素内容+内边距 大小,不包括边框(IE下实际包括)、外边距、滚动条部分。 clientHeight就是div的高度+上下的padding,clientWidth同理offsetHeight和offsetWidth描述元素外尺寸,是指 元素内容+内边距+边框,不包括外边距和滚动条部分。 offsetHeight是client

2015-10-26 15:59:05 2013

翻译 OpenMANO初探(二)

安装 1.1. 系统环境 Linux系统版本:ubuntu 14.04.3 LTS 使用lsb_release –a指令查看操作系统版本信息。 Linux系统内核:3.13.0-61-generic 使用uname –r指令查看系统内核版本。 系统位数:32 使用指令file /sbin/init查看操作系统位数1.2. 安装OpenMANO 打开命令行终端执行指令:

2015-08-17 18:11:33 1863

翻译 OpenMANO初探

OpenMANO包含:openvimd、opennanod和openmano-gui三部分以及两个命令行客户端:openvim和openmano。OpenMANO框架OpenMANO架构图如上,openvimd负责管理外部组件,直接管理计算节点和图像存储,并通过Floodlight Openflow控制器来间接管理交换机。环境需求:为了简单体验一下openman

2015-08-14 14:46:22 3608

原创 Reset CSS杂烩

由于不同版本的浏览器(Firefox、Opera、Internet Explorer、Chrome、Safari等)都是以各自的方式去理解CSS规范,由于各种浏览器解释CSS样式的初始值有所不同,导致设计师在没有定义某个CSS属性时,不同的浏览器会按照自己的默认值来为没有定义的样式赋值。因此会导致有的浏览器对CSS的解释与设计师的CSS定义初衷相冲突,使得有些浏览器却并没有按照设计师想要的样子显示出

2015-07-21 12:56:38 473

原创 函数式编程

函数式编程函数式编程概念,包括匿名函数、调用函数的不同方法,以及将函数作为参数传递给其他函数的方式。函数式概念的运营,采用的示例包括:扩展数组排序;动态HTML生成的优美代码;系列函数的应用。相较于指令式编程,函数式编程强调函数的计算比指令的执行重要。相较于过程化编程,函数的计算可随时调用。以编写一个计算阶乘的函数为例,我们可以编写一个循环程序解决问题,也可以使用递归来得到所有数字的乘积。过程化编

2015-07-19 13:29:51 877

原创 OpenDaylight环境搭建指南

Java环境配置 首先查看机器的java版本,在命令终端执行:java –version,如果显示jdk 1.6则需要重新安装高级的jdk 1.7版本。  移除旧版本java,默认同时会自动安装高级版本:apt-get remove openjdk-6-jre-lib open-jre-headless  查看新版本安装目录:ls /usr/lib/jvm/java-7-openj

2015-07-04 13:08:34 1582 1

原创 使用echarts图表库绘制地图

使用echarts图表库绘制地图echarts是一个js图标库,注意到这个图标库的一个功能亮点是可以绘制地图图形。从echarts官网上下载好文件并解压缩,然后使用webstorm创建一个html项目,在js中拖拽解压缩文件夹中的echarts.js文件。编辑html项目中的index.html文件内容,采用标签引用的方式,代码如下。参考 http://echarts.baidu.com/doc/s

2015-06-29 19:41:10 3042

空空如也

空空如也

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

TA关注的人

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