自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Michael_Li的博客

Learn to code.

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

原创 ES6中的类与继承

ES6中通过class实现了类,通过extends实现并标准化了继承,而class、extends本质是语法糖,使用Babel即可将其转为ES5的代码实现。那么ES6中的类是如何实现的,ES6中继承实现和ES5有什么区别?它又是如何使用ES5实现的继承呢?首先我们使用Babel,将最简单的ES6类与继承代码转换为ES5,如下:// ES6代码class SuperClass { cons...

2019-11-07 15:30:24 464

原创 移动端适配viewport的概念与理解

一、基本概念首先,viewport指视口,浏览器上(或一个app中的webview)显示网页的区域。pc端的视口是浏览器窗口区域,而移动端的则存在三个不同的视口:layout viewport:布局视口visual viewport:视觉视口ideal viewport:理想视口1. layout viewport 布局视口在PC端的网页的layout viewport即浏览器页面...

2019-01-11 19:55:24 3776

原创 JavaScript数组方法总结

实例总结Js数组常用的一些方法,从最常用的数组遍历开始。一 数组遍历1 Array.forEach() 为每个数组元素调用一个函数,没有返回值,这个要和map()区分开。var arr = [1, 2, 3];arr.forEach(function(x, i) { console.log(x); arr[i]++;}); // 输出1 2 3// 执行后arr为[2, 3...

2018-08-21 11:56:53 383

原创 JavaScript判断一个变量为数组的方法

1 使用Array.isArray()方法最简单的判断是否为Array类型的方法。var arr = [1, 2];Array.isArray(arr); // true2 使用instanceof判断instanceof是可以用来判断一个对象是否是一个构造函数的实例,也可以用来判断一个变量是否是Array的实例,比如:var arr = [1, 2];a...

2018-04-25 15:48:58 324

原创 Http缓存机制与原理

一 Http缓存基本概念1.1 Http报文在浏览器和服务器进行Http通信时发送的数据即为Http报文,其中分为两部分: 1. header - 报文的首部或头部,其中保存着各类请求的属性字段,关于Http的缓存相关规则信息均保存在header中 2. body - 请求体部分,Http请求真正传输的主体部分1.2 首次请求基本规则Http缓存主要涉及三个角色:一是浏...

2018-04-21 19:01:00 12243 8

原创 react-router4踩坑一:react-loadable的配置

react-router4中使用react-loadable进行组件的懒加载和代码分割。不同于以往的版本的react-router,react-loadable将react的组件化思想贯彻到底,其懒加载即使用react-loadable创建一个懒加载的组件。刚开始使用的时候我仿照官方的事例对自己开发的需要懒加载的组件进行处理:```// Dashboardconst Loadabl...

2018-04-11 21:30:23 3945

原创 实例解析Js中的this

零 从一个例子说起前几天在看面试题的时候看到了这样一段程序:obj = { name: 'a', getName: function () { console.log(this.name); }};var fn = obj.getName;obj.getName();fn();要求问题是这里fn()执行的结果和执行时this的指向问题。下面结合这个例子...

2018-04-09 12:00:30 313

原创 webpack生产环境优化及配置总结

一 介绍之前在开发一个react网站项目, 到正式部署到云服务器时才发现对react及webpack生产环境配置没有什么了解, 下面就总结一下自己配置生产环境的内容.二 需要配置的内容1. js文件压缩首先就是要进行打包后的js文件的压缩, 其中要使用uglifyjs-webpack-plugin, 首先使用npm安装这个包, 然后在配置文件中加入插件配置项: //...

2018-04-03 15:22:14 1226

原创 实例详解JavaScript闭包

一、闭包的概念定义参考《JavaScript高级程序设计第三版》,闭包指的的有权访问另一个函数作用域中的变量的函数。其中要注意的是闭包指的是一个函数。 举例来说:function outFun() { var a = 1; return function () { console.log(a); }}var myFun = outFun();my...

2018-03-29 16:40:38 255

原创 webpack-dev-server搭配react-router找不到资源文件的问题解决

最近使用webpack3 + react-router4开发一个小项目, 发现使用BrowserRouter时进入到二级url, 如从localhost:8080/ 进入到 localhost:8080/background时本来的资源文件会找不到.问题的解决方法是所有的资源文件都使用绝对路径, 因为在webpack.config.js配置的是:devServer: { // 本地服务

2018-01-24 21:40:35 2088

原创 去除input:focus状态下边框的方法

首先, 可以在css中添加outline: none, 使边框消失在使用Bootstrap框架的时候, 添加 box-shadow: none, 否则仍有边框

2018-01-16 11:47:36 5056

原创 JavaScript继承的实现方式

总结归纳了6种js的继承实现方式并分析了其中实现的区别,为了解释,定义一个作为的父类的类型Animal,之后定义的类都为Animal类的子类,实现方式不同,Animal类代码如下:function Animal(name) { this.name = name; this.color = 'blue';}Animal.prototype.sayName = funct...

2017-11-20 16:55:21 520

原创 prototype与__prototype__与原型链

一、 基本概念我们知道在js中,原型链是实现继承关系的主要机制,而在实际编程过程中有两个与原型相关的属性,一个是prototype一个是__proto__,这两个属性有什么联系与区别呢?首先需要明确几个概念:每一个对象都有一个__proto__属性,此属性本质是对象的一个内部的指针,指向了对象的构造函数的原型对象。在浏览器环境如Chrome及Firefox及node环境下都可以访问到这一...

2017-11-17 10:51:07 749

原创 Js原型链与继承

一、基本概念原型链是ESMAScript实现继承的主要方法,基本思想是让一个引用类型继承另一个引用类型的属性和方法。其中的主要内容分以下几点:1 构造函数与原型对象每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,以下面的代码为例:function SuperType() { this.property = true;}console.log...

2017-11-16 20:33:58 277

原创 ng2-admin项目技术整理

一、项目中使用的技术和第三方库lodash github地址: https://github.com/lodash/lodashngx-translate github地址: https://github.com/ngx-translate/corengx-uploader github地址: https://github.com/jkuri/ngx-uploader

2017-09-25 09:34:49 3104

原创 angular2向组件中传值的问题

今天在看angular2的项目ng2-admin时, 发现了其中向组件传值的一个问题: ba-card是一个组件, 其中有一个输入属性为: @Input cardTitle: string, 而在以往的情况在其他组件中使用子组件时向其中的输入属性传值使用的是’[]’的形式, 比如: <ba-card [cardTitle]="value" ></ba-card> 而在项目中使用了如下形式:

2017-09-19 15:53:11 1464

原创 Ionic开发问题汇总

Ionic开发过程中的问题汇总1 安装到真机上时出现(node:8878) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: channel closed 类似的错误时,有可能是@ionic/cli-plugin-cordova的版本出现了问题,解决方法是安装较低的版本:np

2017-08-23 16:55:34 4495 1

原创 gradle指定版本下载缓慢问题的解决

在最近开发ionic应用部署到机器上时, 会经常出现下载指定版本gradle卡住的问题. 一般情况下都是因为国内网络问题导致下载某个版本gradle-x.x-all.zip这个文件比较慢的问题. 解决方法是, 访问gradle下载的网址: https://services.gradle.org/distributions, 在里面找到需要的某一版本的gradle, 然后放到对应用户的 $user/

2017-08-07 15:45:18 4628

翻译 WebStorageW3C标准第二版

翻译自W3C WebStorage推荐标准第二版,水平有限有翻译错误的地方欢迎指正。1 简介此规范引入了两个相关联的机制,机制的目的和Http session cookies一样,就是为了在客户端储存name-value形式的键值对。 第一个机制的使用场景是用户不仅可以在一个窗口中进行一次单独的交易,也可以同时可以在多个窗口中进行多个交易。 Cookie并不能很好的处理这种场景,举例来

2017-05-14 15:42:43 684

原创 css实现三列浮动流式布局

欢迎使用Markdown编辑器写博客一、html内容我们将整个屏幕分为左右两大部分,再将左部分分为两列以实现三列的布局。使用基于浮动的方式进行布局,具体代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Demo1</title> <link rel="stylesheet" h

2017-05-09 10:55:45 4022

翻译 使用Gora构建Hadoop Mapreduce程序

原文翻译自:http://gora.apache.org/current/tutorial.html#mapreduce-support使用Gora构建Hadoop Mapreduce程序1 构建Job在构建Hadoop的Job对象时,我们要确定是否使用Gora作为job的输入、输出或者都使用。类似于FileInputFormat和FileOutputFormat,Gora自己定义了GoraInpu

2017-03-08 17:03:20 581

原创 Hadoop Hbase分布式部署基础配置

Hadoop、Hbase分布式部署一 基础配置在这里我们默认使用一台机器作为namenode结点,另外两台机器作为datanode结点,进行分布式部署hadoop及hbase,namenode结点为master,两个datanode结点为slave1和slave2.1 创建Hadoop用户分别在三台机器中创建名为hadoop的用户,专门用于对hadoop的配置和运行.//创建用户1 sudo u

2017-03-06 11:44:11 853

原创 JavaScript函数调用与this解析

js函数调用的四种方式javascript主要有四种函数的调用方式,分别是方法调用、函数调用、构造器调用、Apply调用,不同之处在于this的初始化。对this关键字有解释:一般而言,在Javascript中,this指向函数执行时的当前对象。 结合《JavaScript语言精粹》,下面用实例的方式对四种方式进行总结和解析。一、方法调用模式这种方式即为,一个函数被保存为一个对象...

2017-02-16 19:24:46 511

原创 使用Spring的Quartz Scheduler进行任务定时调度

使用Spring的Quartz Scheduler进行任务定时调度,使任务定时启动和触发,对应Spring文档 33.6Using the Quartz Scheduler 部分。一、准备工作首先使用maven配置webapp项目,目录结构如下,新建myJob测试类及Sping配置文件。 然后添加依赖,pom.xm代码如下:<project xmlns="http://maven.apache

2017-02-16 09:47:29 1229

转载 cron表达式使用方法

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下: Seconds(秒): 可出现 ,

2017-02-16 09:38:06 1008

原创 实例分析java中synchronized关键字用法

在多线程运行下,对共享资源的访问要遵循互斥原则,否则会出现资源访问的错误。这时可以使用synchronized关键字对互斥的资源或是方法、对象进行加锁,实例如下: 首先在MyDataGenerator类中有一个偶数数据,以及一个布尔标志数据,代码如下:public class MyDataGenerator { private int evenData; private boole

2017-02-14 16:32:25 321

原创 Flux实例流程解析

对阮一峰老师Flux实例的流程解析,流程图如下:Created with Raphaël 2.1.0开始MyButton点击onclick事件onclick来自MyButtonController的creatNewItem,触发ButtonAction向AppDispatcher的dispatch方法发送数据Dispatcher根据发送的数据对ListStore进行操作ListStore进行数据的更

2017-02-10 14:54:54 1170

原创 Scrapy+MongoDB爬取并存储豌豆荚App数据

基于python2.7,使用scrapy爬取豌豆荚app的名字大小及下载次数等字段并将其存储到MongoDB数据库中,步骤如下:一.新建scrapy项目并编写爬虫程序使用scarpy命令新建爬虫项目

2017-01-20 11:10:32 1954

原创 scrapy代理的配置方法

根据最新的scrapy官方文档,scrapy爬虫框架的代理配置有以下两种方法:一.使用中间件DownloaderMiddleware进行配置使用Scrapy默认方法scrapy startproject创建项目后项目目录结构如下,spider中的crawler是已经写好的爬虫程序: 其中的DOWNLOADER_MIDDLEWARES用于配置scrapy的中间件.我们可以在这里进行自己爬虫中间键

2017-01-15 11:28:48 13896 1

原创 WebMagic爬取论坛链接实现流程分析

Created with Raphaël 2.1.0开始输入关键字得到关键字搜索页面是否是应用页面回复该页面下载该页面并爬取apk下载链接结束yesnoCreated with Raphaël 2.1.0开始Sipder.setDownloader()Sipder.addUrl()addUrl()中调用addRequest(new Request(url)),以及signalNewUrl(

2016-12-07 15:02:28 2085

原创 linux下安卓设备连接失败的解决方案

在做ReactNative开发时想要把做好的APP在安卓设备上运行,发现插上数据线后输入adb devices一直不显示设备,打开调试之后依然没有用。在网上查找到了解决方案,自己的linux系统版本为unbuntu14.04。

2016-11-29 19:41:50 842

原创 React事件处理函数中绑定this的bind()函数

今天在看最新的React官方教程时发现了一个问题,开始全面使用ES6语法的React在Handling Events这节中,提到了绑定的事件处理函数要现在构造函数中使用bind()将this进行正确的绑定,涉及到的代码如下:

2016-11-28 18:19:19 24672

原创 Ajax提交中文数据乱码问题处理

在做一个Ajax小demo的时候想要使用Ajax发出请求通过url的形式向服务器传递中文数据,却发现传到后台的中文数据变成了乱码,后尝试了一些方法,发现最好用的方法是如下:使用js中的encodeURL()函数将中文进行两次编码,再在后台使用解码。

2016-11-17 12:00:42 683

原创 Linux下hibernate向mysql中插入中文变成问号问题的解决

hibernate向mysql中插入中文变成问号

2016-11-17 10:20:32 1197

原创 React编程思想Demo解析

[TOC] 对React官网中教程:Thinking in React部分Demo的思路分析。首先,这个小Demo的需求是要完成一个如下图所示的app,最上面的搜索框和checkbox用于对下面列表进行过滤,取到想要数据。 下方列表中红色的表示不在库存中的商品,所有商品的数据保存在JSON中:[ {category: "Sporting Goods", price: "$49.

2016-10-14 17:08:20 569

原创 使用python爬虫爬取百度手机助手网站中app的数据

基于python2.7版本,爬取百度手机助手(http://shouji.baidu.com/software/)网站中app的数据。1.分析url地址结构进入百度手机助手网站http://shouji.baidu.com/software/后,可以看到共分为十个类别:社交通讯、系统工具、理财购物等等,可以知道通过这十个类别分别爬取app的数据,应该就可以全部完整的爬取到所有app。

2016-10-07 14:57:48 10188 2

空空如也

空空如也

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

TA关注的人

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