自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老干部的大前端

关注Web前端和移动端技术

  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 React 深入系列2:组件分类

React 深入系列,深入讲解了React中的重点概念、特性和模式等,旨在帮助大家加深对React的理解,以及在项目中更加灵活地使用React。React 组件有很多种分类方式,常见的分类方式有函数组件和类组件,无状态组件和有状态组件,展示型组件和容器型组件。好吧,这又是一篇咬文嚼字的文章。但是,真正把这几组概念咬清楚、嚼明白后,对于页面的组件划分、组件之间的解耦是大有裨益的。...

2018-04-26 18:54:20 319

原创 React 深入系列1:React 中的元素、组件、实例和节点

React 深入系列,深入讲解了React中的重点概念、特性和模式等,旨在帮助大家加深对React的理解,以及在项目中更加灵活地使用React。React 中的元素、组件、实例和节点,是React中关系密切的4个概念,也是很容易让React 初学者迷惑的4个概念。现在,老干部就来详细地介绍这4个概念,以及它们之间的联系和区别,满足喜欢咬文嚼字、刨根问底的同学(老干部就是其中一员)的好奇心。元素 (...

2018-03-08 18:23:28 3014

原创 浅析Redux 的 store enhancer

相信大家都知道Redux的middleware(中间件)的概念,Redux通过middleware可以完成发送异步action(网络请求)、打印action的日志等功能。相对而言,Redux的store enhancer的概念,很多人并不是很清楚。

2017-12-31 13:36:45 1260 1

原创 由React Router引起的组件重复渲染谈Route的使用姿势

React Router 4 Route最佳实践 组件重复渲染问题

2017-11-20 11:50:14 11169

原创 细说Web API中的Blob

在一般的Web开发中,很少会用到Blob,但Blob可以满足一些场景下的特殊需求。Blob,Binary Large Object的缩写,代表二进制类型的大对象。Blob的概念在一些数据库中有使用到,例如,MYSQL中的BLOB类型就表示二进制数据的容器。在Web中,Blob类型的对象表示不可变的类似文件对象的原始数据,通俗点说,就是Blob对象是二进制数据,但它是类似文件对象的二进制数据

2017-10-15 21:35:01 1003

原创 记HTML5 <a> 标签的一个小坑

今天写了段简单的代码,点击<a>标签时却抛出了这个错误:Uncaught TypeError: download is not a function。

2017-10-12 09:58:20 1459 1

原创 Redux中间件对闭包的一个巧妙使用

最近在看Redux的源码,发现Redux在使用中间件applyMiddleware.js的源码中,有一个对闭包非常巧妙的使用,解决了“鸡生蛋,蛋生鸡”的问题,特分享给大家。

2017-09-11 22:06:49 450

原创 Redux进阶系列3:如何设计action、reducer、selector

Redux进阶系列文章:1. React+Redux项目结构最佳实践 2. 如何合理地设计State在前面两篇文章中,我们介绍了Redux项目结构的组织方式和如何设计State。本篇,我们将以前面两篇文章为基础,继续介绍如何设计action、reducer、selector。

2017-09-07 20:16:19 901

原创 Redux进阶系列2: 如何合理地设计State

Redux是一个非常流行的状态管理解决方案,Redux应用执行过程中的任何一个时刻,都是一个状态的反映。可以说,State 驱动了Redux逻辑的运转。设计一个好的State并非易事,本文先从设计State时最容易犯的两个错误开始介绍,然后引出如何合理地设计State。

2017-08-26 20:53:48 1501 1

原创 白话原型和原型链

关于原型和原型链的介绍,网上数不胜数,但能讲清楚这两个概念的很少,大多数都是介绍各种对象、属性之间如何指来指去,最后的结果就是箭头满天飞,大脑一团糟。本文将从这两个概念的命名入手,用通俗易懂的语言,帮助你理解这两个东西到底是何方神圣。

2017-08-24 09:36:56 875 1

原创 Redux进阶系列1: React+Redux项目结构最佳实践

React + Redux 是React生态中使用最频繁的技术栈,但关于如何组织React+Redux的项目结构,一直都有多种声音。本文将讨论其中最常用的3种项目结构,并给出个人的最佳实践。

2017-08-21 19:20:31 1009

原创 聊聊 React Router v4 的设计思想

React Router v4 最大的变更,不是API的变更,而是从静态路由到动态路由的变化。

2017-08-06 16:25:22 2244

原创 八段代码彻底掌握Promise

八段代码彻底掌握Promise

2017-07-25 19:05:08 995

原创 网站数据统计分析相关入门

网站数据统计分析可以帮助监控网站、系统运营状态,优化网站结构和体验,以及提升网站推广效果。不管是网站开发人员、产品人员、还是网站运营人员,都应该掌握网站数据统计分析的基本方法和常用工具。恰巧最近在为公司整理这部分内容,因此将自己的部分总结分享出来,仅供大家入门参考。

2017-07-22 08:41:57 798

原创 React 中被忽略的函数组件(Functional Components)

React中有两种组件:函数组件(Functional Components) 和类组件(Class Components)。据我观察,大部分同学都习惯于用类组件,而很少会主动写函数组件,包括我自己也是这样。但实际上,在使用场景和功能实现上,这两类组件是有很大区别的。

2017-07-16 08:23:02 12635

原创 深入理解React 高阶组件

1. 基本概念高阶组件是React 中一个很重要且较复杂的概念,高阶组件在很多第三方库(如Redux)中都被经常使用,即使你开发的是普通的业务项目,用好高阶组件也能显著提高你的代码质量。高阶组件的定义是类比于高阶函数的定义。高阶函数接收函数作为参数,并且返回值也是一个函数。类似的,高阶组件接收React组件作为参数,并且返回一个新的React组件。高阶组件本质上也是一个函数,并不是一个组件,这一点一

2017-07-15 09:47:54 2530 1

原创 深入理解React 组件状态(State)

React 的核心思想是组件化的思想,应用由组件搭建而成,而组件中最重要的概念是State(状态),State是一个组件的UI数据模型,是组件渲染时的数据依据。如何定义State定义一个合适的State,是正确创建组件的第一步。State必须能代表一个组件UI呈现的完整状态集,即组件的任何UI改变,都可以从State的变化中反映出来;同时,State还必须是代表一个组件UI呈现的最小状态集

2017-06-27 17:30:49 1887

转载 移动前端开发之viewport的深入理解

原文地址:http://www.cnblogs.com/2050/p/3877280.html在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或响应各种不同分辨率的移动设备。

2017-06-20 20:18:09 351

原创 如何优雅地在React中处理事件响应

本文讨论React中,三种绑定事件回调的方式。第一种有额外的性能损失;第二种需要手动绑定this,代码量增多;第三种用到了ES7的特性,目前并非默认支持,需要Babel插件的支持,但是写法最为简洁,也不需要手动绑定this。推荐使用第二种和第三种方式。

2017-06-19 21:18:56 7114 3

原创 用好React,你必须要知道的事情

容器性组件(container component)和展示性组件(presentational component)Props、State和组件的普通属性setState 异步性componentWillReceivePropsshouldComponentUpdaterender如何发送网络请求

2017-06-18 17:04:45 4349 2

原创 网站性能优化实践总结

本文提到的网站性能指网站的响应速度,这也符合绝大部分人对于网站性能的理解:访问快速的网站性能好,反之,访问速度越慢,则网站性能越差。本文总结的优化方法是宏观的工程层面的方法,并不包含微观的语言语法层面的方法,例如,JS、CSS的语法优化,这一部分同样影响网站的性能,但语言语法层面的优化更多的是取决于开发人员的编程水平。

2017-06-17 15:39:17 631

转载 iOS App 签名的原理

转载地址:http://blog.cnbang.net/tech/3386/iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为什么会有这么多概念,希望能有助于理解 iOS App 签名的原理和流程。

2017-04-07 10:34:01 583

原创 Git 服务器搭建

Git服务器搭建过程中遇到了很多坑,总结下来主要原因有:1、 Git、Apache Server 等相关软件版本不一致导致的配置不同。所以参考相关文章时一定要注意文章中用到的软件版本号。 2、尽量参考官文教程。百度、Google里搜到的教程往往直接参照时都会遇到一些问题。 3、参照官文教程的英文版。中文版往往由于更新慢、翻译有误等问题,造成这样或那样的错误。本人就是由于最开始参照了Git的官文中

2016-05-25 13:58:11 359

转载 LRU缓存实现(Java)

LRU的三种实现

2016-05-20 22:12:05 384

原创 Android 读写文件操作

Android读写文件的类型可以分为三类:资源文件的读取、数据区文件的读取、SD卡文件的读取。1、资源文件1.1 从res/raw中读取文件数据(只能读,不能写) InputStream in = getResources().openRawResource(R.raw.test);1.2从asset中读取文件数据(只能读,不能写) InputStream in = g

2015-11-03 16:46:57 424

转载 UI设计师不可不知的安卓屏幕知识

转载地址:http://www.zcool.com.cn/article/ZNjI3NDQ=.html不少设计师和工程师都被安卓设备纷繁的屏幕搞得晕头转向,我既做UI设计,也做过一点安卓界面布局,刚好对这块内容比较熟悉,也曾在公司内部做过相关的讲座,在此,我将此部分知识重新梳理出来分享给大家!1、了解几个概念(1)分辨率。分辨率就是手机屏

2015-10-10 13:24:16 381

转载 移动端高清、多屏适配方案

原文地址:http://www.html-js.com/article/3041背景开发移动端H5页面面对不同分辨率的手机面对不同屏幕尺寸的手机视觉稿在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿。对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点:首先,选取一款手机的屏幕宽高作为基准(以前是iphone4的

2015-07-16 13:43:58 637

转载 Java并发编程:volatile关键字解析

原文地址:http://www.cnblogs.com/dolphin0520/p/3920373.html     volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比

2015-07-11 15:13:07 282

转载 Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释

转载地址:http://www.cnblogs.com/xiaoQLu/archive/2012/07/17/2595294.html正文:本文大部分参考自 http://blog.csdn.net/mayingcai1987/article/details/6200909 ,对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点,用红色标记1. Task是包含一系

2015-05-09 18:25:45 338

原创 Eclipse+JNI+MinGW编写C++,调用dll入门

在Eclipse下利用JNI调用C++的函数,遇到了很多问题,经过一番折腾,终于走通整个过程。一、准备工作。1、下载Eclipse CDT插件,让Eclipse支持C++的开发。我使用的是Eclipse Luna,已经集成了CDT插件。2、安装windows下的C++编译环境MinGW。配置MinGW的环境变量,在path中添加%MinGW%\bin的安装路径:我

2015-03-03 14:14:36 709

原创 Java 读写文件的编码问题——读取是重点

编码设置在读写文件中尤为重要,若不显示指明读写时使用的编码,Java会使用平台的默认编码。最常规最安装的设置编码的方式为:读取和写入时都采用读取文件的编码。例如,如下代码在读取test文件和写入out文件时,都采用的是utf-8编码。 String srcPath = "D://test.txt"; String desPath = "D://out.txt";

2015-01-19 17:08:12 1068

转载 Android批量打包提速 - 1分钟900个市场不是梦

使用Ant或者Gradle来给程序进行多渠道批量打包,通常都是在manifest文件中写入一个meta标签:meta-data android:name="CHANNEL" android:value="xxx" />meta的key值固定,通过循环改变meta中的value值来实现市场渠道的写入。Ant批量打包实现相对麻烦,以前写的时候多亏了谦虚的天下-《App自动化之使用Ant编译

2014-12-16 13:24:01 408

转载 Styling Views on Android (Without Going Crazy)

http://blog.danlew.net/2014/11/19/styles-on-android/?utm_source=Android+Weekly&utm_campaign=a94f126150-Android_Weekly_129&utm_medium=email&utm_term=0_4eb677ad19-a94f126150-337853685

2014-11-25 11:34:38 452

转载 编写更好的jQuery代码的建议

讨论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。首先,如果你是一个javascript新

2013-12-10 14:01:02 363

转载 Java程序员应该知道的10个调试技巧

英文原文:javapapers ,翻译:张红月@CSDN摘要:调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷。对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序。本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅!调试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Ja

2013-10-17 17:57:12 534

转载 如何只用CSS做到完全居中

原文链接: codepen.io   翻译: 伯乐在线 - 埃姆杰译文链接: http://blog.jobbole.com/46574/我们都知道 margin:0 auto; 的样式能让元素水平居中,而 margin: auto; 却不能做到垂直居中……直到现在。但是,请注意!想让元素绝对居中,只需要声明元素高度,并且附加以下样式,就可以做到:1

2013-10-15 17:48:38 509

转载 毫秒必争,前端网页性能最佳实践

原文出处: 微软互联网开发支持你愿意为打开一个网页等待多长时间?我一秒也不愿意等。但是事实上大多数网站在响应速度方面都让人失望。现在越来越多的人开始建立自己的网站,博客,你的网页响应速度如何呢?在这篇文章中我们来介绍一下提高网页性能的最佳实践,以及相应的问题解决方案,让站长或者即将要成为站长的朋友了解如何去测试和提高网站响应速度,对自己的网站更有信心。最佳实践最佳实践我们引用的来自

2013-09-28 20:19:23 395

转载 如何判断Javascript对象是否存在

原文出处: 阮一峰(@ruanyf)Javascript语言的设计不够严谨,很多地方一不小心就会出错。举例来说,请考虑以下情况。现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下:123if(myObj不存在){    声明myObj;

2013-09-22 14:03:05 511

转载 JavaScript正则表达式

原文地址:http://www.cainiao8.com/web/js_note/js_regular_expression.html什么是正则表达式?这个问题可以参见:“正则表达式30分钟入门教程”,很多编程语言都支持正则表达式,本文仅仅讨论JavaScript中的正则表达式。创建一个正则表达式第一种方法:var reg = /pattern/;

2013-08-22 17:17:07 481

转载 Backbone.js的技巧和模式

原文地址:http://coding.smashingmagazine.com/2013/08/09/backbone-js-tips-patterns/ 英文标题:Backbone.js Tips And Patterns         Backbone.js is a popular open-sourceJavaScript “MV*” framework that

2013-08-22 17:09:07 821

MyEclipse6Java开发中文教程_12_Struts2Spring应用

新版《MyEclipse6 java 开发中文教程》的第12章,网上的电子稿一般只有前10章内容

2011-08-19

myeclipse6中整合struts2和spring框架

此文档为新版《myeclipse 6 java开发中文教程》的第12章内容,网上这本书的电子稿一般只到前10章,后面的内容没有,在这里提供第12章内容供大家使用

2011-08-12

空空如也

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

TA关注的人

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