licaomeng的专栏

Focus on Android, Front-end

模拟ES6 Promise的轻量级实现

Promise是ES6提供的原生的异步编程解决方案,它的出现主要是为了解决回调地狱实现异步编程的糟糕语法。最早是由社区提出并实现的。本文提供了一个轻量级的Promise实现方式,主要想解释下Promise实现的主要原理。至于更细节的部分,本文不做阐述。我已经将该轻量级的Promise实现放到了Gi...

2018-05-27 23:09:00

阅读数 333

评论数 0

Nginx + Node.js 利用Socket.IO实现前后端实时通讯

在HTML5的WebSocket以及HTTP2 出现之前,我们实现如网页聊天这种前后端实时通讯的功能只能是通过AJAX的方式了,无论是轮询也好,长轮询也罢。而后来者,WebSocket、HTTP2.0 更多的是在TCP运输层之上进行了改良,实现前后端的双向通信。比如WebSocket,在建立之前,...

2018-04-08 00:14:00

阅读数 1602

评论数 0

Nginx+Redis 利用redis2-nginx-module让Nginx直接访问Redis服务

Nginx常用作反向代理服务器,而Redis是一种key-value数据库。本文将叙述如何让Nginx直接访问Redis服务。需要用到Nginx模块redis2-nginx-module。GitHub地址:https://github.com/openresty/redis2-nginx-modu...

2018-04-02 19:12:32

阅读数 4589

评论数 0

Nginx + Tomcat 使用Let's Encrypt 搭建HTTPS

最近把公司的微信公众号,从HTTP升级到了HTTPS,过程还是非常坎坷的,参考了不少的文章,也踩过很多坑,所以这里想和大家分享一下。如果有同学也是使用Nginx +Tomcat,或许这篇文章可以会帮上你大忙哦。刚开始使用Openssl制作证书,但是制作证书完成后发现不受信任,就像下面这样:Open...

2018-03-29 11:00:35

阅读数 779

评论数 0

计算机网络为什么要分层,从形而上到形而下视角的理解

文章开始我想先亮明一下我个人的立场,个人关于世界的思考立场是偏唯心的。文章的标题其实也表明了我对于计算机网络的理解立场是从形而上出发的。计算机网络是计算机专业的同学的必修课,但很多同学学习的过程中都会觉得东西很多很杂,开始学还比较有动力,但越往后学就越发现,迷失在了计算机网络的庞杂知识体系之中。那...

2018-03-21 20:32:50

阅读数 1309

评论数 0

Angular 图片裁剪上传插件

本文将介绍基于Angular的图片裁剪上传插件。 github: https://github.com/licaomeng/angular-image-upload 插件效果如下: 该插件的图片裁剪是通过图片的放大、缩小、拖动完成的。而不同于我们通常所见到的拖动剪裁范围,进行的图片剪裁。这是...

2017-08-23 18:36:04

阅读数 1666

评论数 0

Nginx初探

前段时间在帮手公司做微信公众号,使用到了Nginx做反向代理,发现Nginx真的是个好东西。 我为什么使用Nginx? 我们的微信公众号开发是使用前后端分离的架构,后端使用java做WebService, 前端就是用html5 + jQuery。下面就来说下web 服务器选择的几个阶段。Pha...

2017-03-16 22:52:48

阅读数 526

评论数 0

使用spring-loaded实现java web的热部署

做过java web的同学应该都知道jvm 的hotswap。例如你在使用tomcat作为web容器的时候,在debug模式下启动tomcat,你这个时候修改java代码,会立即生效。但是,这个“修改”是有条件限制的:就是你只能够修改方法体中的内容。这就苦了我们的工程师,如果修改方法名,修改方法参...

2017-02-21 22:26:42

阅读数 3058

评论数 1

基于java反射的Spring事务代理下的JUnit测试

最近在对一个比较复杂的java后台程序进行单元测试,需要使用JUnit测试框架。但是由于后台业务太过复杂,甚至构造比较完整的测试数据都要花上一天的时间才能够搞定。一开始我采用最笨的方法,从最外部调用该API,需要一层一层的往下调用才能调到我需要测试的程序,这样的方法固然是可靠、可行的。但是,感觉这...

2016-07-16 00:15:13

阅读数 1367

评论数 0

Material Design风格的水波涟漪效果(Ripple Effect)的实现

Material Design是Google在2014年Google I/O大会上推出的一套全新的设计语言,经过接近两年的发展,可谓是以燎原之势影响着整个设计交互生态,和Material Design相关的开源项目也犹如雨后春笋般的出现。其中,Ripple Effect是Google非常推崇的Ma...

2016-02-21 23:18:58

阅读数 5577

评论数 0

Android开源项目解析:PullToRefresh

说明:本文的源码解析都是基于PullToRefresh-SwipeMenuListView进行的。 我想PullToRefresh应该是Android上面使用的最广泛的开源项目之一了。之前写过一篇Android仿qq下拉刷新及向左滑动列表—PullToRefresh, SwipeMenuListV...

2015-12-17 13:44:41

阅读数 645

评论数 0

基于HTML5 Canvas绘制的支持手势缩放的室内地图

你是否有过这样的经历,在大型的商圈、商场中傻傻找不到路。嗯,室内地图就这样应运而生了。百度地图、高德地图等都提供了室内地图的功能,高德地图最近还把室内地图的API开放了。室内地图的导航、定位功能一定是未来几年非常有前途的一件事。本文提供了一种基于HTML5 Canvas绘制室内地图的方案,更重要的...

2015-11-30 18:18:32

阅读数 11869

评论数 2

利用CSS3 @font-face使用图标字体

CSS3可以通过@font-face使用自定义字体,这是让前端工程师拍手称赞的一件事情。在CSS3之前,前端页面的字体只能使用设备中已经安装好的字体。@font-face 可以让前端工程师随心所欲的使用各种字体,让我们的页面更丰富、更炫酷。@font-face 不仅仅可以让我们的前端文字变得更加丰...

2015-11-26 18:24:24

阅读数 6921

评论数 0

手机淘宝的客户端架构探索之路

主讲人:冯森林(无锋/ Oasis Feng)产品挑战淘宝手机客户端承载并整合多样化的业务生态。 淘宝手机客户端生态是非常多样的,有IM形态的旺信,购物形态的天猫,工具形态的充值,教育形态的淘宝大学等等。在这样的架构中要支持5个以上的BU,十多个部门开发的代码。能够安全、稳定的运行,并且能够保证...

2015-10-19 18:40:53

阅读数 9619

评论数 0

深入Android 'M' Doze

在Android ‘M’的诸多新的特性中,有一个特性被Google称作是“doze” – 通过这个机制,当你的设备在特定时间内没有被使用。应用就会被限制到有限的活动中。在这篇博文中,我们将会试图从系统层面上解密这个新特性是如何工作的。

2015-09-25 17:59:02

阅读数 4857

评论数 0

Android Touch事件传递机制

Touch事件传递机制,其实说起来还是比较复杂的,所涉及的内容和细节也都比较多。为了方便理解,本文将由浅入深的进行讲解。 首先要知道我们对于屏幕的所有操作,包括点击、放开、滑动,以及由这些基本操作组成的放大、缩小、旋转等操作全部是被封装在MotionEvent对象中进行操作的。我们需要通过getA...

2015-09-13 14:25:36

阅读数 2908

评论数 4

Android中的多线程之AsyncTask

上篇文章我们讲了Android中实现异步机制方式之一-----Handler方式,这一章我们来讲第二种方式----异步类AsyncTask 前面我们了解到Handler方式实现异步还是比较复杂的,不是特别容易理解。而AsycTask方式相对来说就要方便简单多了。先来看一下AsyncTask的一般模...

2015-09-13 14:20:13

阅读数 687

评论数 0

Android中的多线程之handler

Android系统中提供了两种实现多线程的方式,首先是我们Android编程中非常眼熟的Handler,然后是AsyncTask异步类,本章将讲解Handler方式实现多线程。在本章正式开始前,我觉得有必要说一下Android为什么需要多线程。 其实Android中的多线程主要是用来避免ANR(A...

2015-08-16 22:29:56

阅读数 680

评论数 0

Android中java反射(Reflection)实战

反射作为java语言非常重要的特性之一,在开发的过程中可以为我们提供极大的便利。在J2EE中,java反射得到了大量的应用,尤其是在一些主流框架中,如Spring中反射就发挥了极大的作用。那将java作为开发语言的Android,我们能否利用java反射这一重要特性,帮助我们更加灵活、高效的进行开...

2015-08-08 18:16:28

阅读数 7265

评论数 1

Git常用命令

1.配置好Git,创建ssh key进行测试: ssh -T git@github.com 2.Clone别人的项目: Git clone https://github.com/licaomeng/Android-PullToRefresh-SwipeMenuListView-Sample.gi...

2015-07-30 14:59:29

阅读数 737

评论数 0

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