装饰者模式及其应用前几天看了鸿洋大神的 Android 优雅的为RecyclerView添加HeaderView和FooterView,发现装饰者模式 在某些情况下是设计得如此 优雅,现在总结如下:
什么 是装饰者模式
怎样实现装饰者模式
装饰者模式的优缺点
装饰者模式在Android中的应用
什么是装饰者模式应用场景咖啡店里咖啡中可以加不同的配料–摩卡、牛奶、糖、奶泡;不同的饮品加上不同的配料有不...
分类:
其他好文 时间:
2016-07-13 17:35:55
阅读次数:
294
onLayout源码 流程 思路详解简介:
在自定义view的时候,其实很简单,只需要知道3步骤:
1.测量——onMeasure():决定View的大小
2.布局——onLayout():决定View在ViewGroup中的位置
3.绘制——onDraw():如何绘制这个View。而第3步的onDraw系统已经封装的很好了,基本不用我们来操心,只需要专注到1,2两个步骤就中好了。
第一步的测量,可...
分类:
其他好文 时间:
2016-07-13 17:34:53
阅读次数:
188
Android-async-http开源项目可以是我们轻松的获取网络数据或者向服务器发送数据,使用起来非常简单, 这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通过回调方法处理请求结果.
主要特点:处理异步Http请求,并通过匿名内部类处理回调结果,Http异步请求均位于非UI线程,不会阻塞UI操作,...
分类:
Web程序 时间:
2016-07-13 17:34:42
阅读次数:
538
写在前面:
这篇blog主要参考pixhawk的高度解算算法解读,并且加以扩展,扩展到其他传感器,其实里面处理好多只是记录了流程,至于里面实际物理意义并不是很清楚,也希望大牛能够指导一下。
概述:
整个算法的核心思想是由地理坐标系下的加速度通过积分,来获得速度、位置信息;经过2次修正产生可利用的信息,第一次是利用传感器计算修正系数产生加速度的偏差修正加速度,第二次是利用修正系数修正位置;最后...
分类:
其他好文 时间:
2016-07-13 17:34:17
阅读次数:
946
一、初识JavaScriptJavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。二、入门JavaScript一般JavaScript是用于页面的动态效果展示。JavaScript可以...
分类:
编程语言 时间:
2016-07-13 17:33:32
阅读次数:
226
机器学习的应用建议
好久没有更新机器学习的学习笔记了,上一次还是更新的神经网络的部分。这一次我们来聊一聊,机器学习的应用建议。
决定下一步做什么
假设我们需要用一个线性回归模型(Linear Regression)来预测房价,当我们运用训练好了的模型来预测未知数据的时候,发现有较大的误差,我们下一步可以做什么?
获得更多的训练实例——通常是有效的,但是代价较大,下面的方法也...
分类:
其他好文 时间:
2016-07-13 17:34:10
阅读次数:
216
像很多初创型公司一样,Uber的架构一开始也是一整块的,或者说是整体的、不可分割的,服务端部署在一个城市,对外整体上是单个节点。这个也迎合了当时服务范围和功能选项有限的业务场景。可执行代码部署在单个节点,对于这种场景下,可以说是简洁、易管理的,而且直接上来说,满足了我们的业务需求:简单的连接司机和乘客,出账单,支付。在这种“小而美”的场景下,将Uber的这些简单的业务逻辑放在一起,也是很有道理、很...
分类:
其他好文 时间:
2016-07-13 17:31:38
阅读次数:
301
最近项目做接口服务中用到了两种请求方式,一种是webservice,另一种是HttpPost
就Http请求方式详细的学习和了解了下
一、TCP/IP
1. 协议
a. TCP/IP整体构架概述
TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这...
分类:
Web程序 时间:
2016-07-13 17:34:35
阅读次数:
651
内容提供器(Content Provider)主要用于在不同的应用程序之间共享数据,虽然Android提供的文件存储和SharePreferences都可以设置全局读写模式共享数据,但由于安全性问题,已经在Android4.2中被废弃。内容提供器将提供一种安全的数据共享方式。当一个程序通过内容提供器提供了韦布访问接口,其他任何程序都可以通过该接口来对这部分数据进行访问,例如:联系人数据,短信数据。...
分类:
移动开发 时间:
2016-07-13 17:34:25
阅读次数:
282
要点
使用 TensorFlow, 你必须明白 TensorFlow:
使用图 (graph) 来表示计算任务.
在被称之为 会话 (Session) 的上下文 (context) 中执行图.
使用 tensor 表示数据.
通过 变量 (Variable) 维护状态.
使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据.
tenso...
分类:
其他好文 时间:
2016-07-13 17:33:57
阅读次数:
517
今天给大家介绍一下关于如何用Java实现记事本功能,是学习Java swing的一个非常好的案例,下面先看一下运行结果:
下面我们来看源码:
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
import java.io.*;
import javax.sw...
分类:
编程语言 时间:
2016-07-13 17:33:07
阅读次数:
336
1 概述2 Runnable为了实现多线程共享同一段代码,一般将共享代码放在runnable中执行,然后new一个runnable出来,给3个thread共享运行。3 interrupted可以在 Thread 对象上调用 isInterrupted()方法来检查任何线程的中断状态。这里需要注意:线程一旦被中断,isInterrupted()方法便会返回 true,而一旦 sleep()方法抛出异常...
分类:
编程语言 时间:
2016-07-13 17:33:15
阅读次数:
218
最近因为项目需求 ,需要播放网络视频 ,于是乎 研究了一番 ,说说我遇到的那些坑 现在市面上有几个比较主流好用的第三方框架
Vitamio ( 体积比较大,有商业化风险 github:https://github.com/yixia/VitamioBundle/)
ijkplayer(B站下开源的框架 体积大 配置环境比较麻烦 github:https://github.com/Bilib...
分类:
移动开发 时间:
2016-07-13 17:33:13
阅读次数:
1040
1.使用febootstrap制作base image
制作镜像目录
在Docker入门(http://blog.csdn.net/woshiluahuo/article/details/51838451)中,我们讲到base image,现在要使
用febootstrap工具制作base image:
febootstra...
分类:
其他好文 时间:
2016-07-13 17:31:42
阅读次数:
197
keepalived + nginx 实现高可用集群方案一.使用场景介绍:
nginx做负载均衡,来达到分发请求的目的,但是不能很好的避免单点故障,加入nginx服务器挂点了,那么所有的服务也会跟着瘫痪,这样何来的高可用架构?,更别谈什么高扩展。keepalived+nginx,就能很好的解决这一问题。二.原理介绍:
Keepalived 是一种高性能的服务器高可用或热备解决方案...
分类:
其他好文 时间:
2016-07-13 17:30:13
阅读次数:
174
1 GCD它是一种纯C语言,它是为多核并列运算设计的。可以自动管理线程的生命周期。
GCD 是面向任务和队列的,不是面向线程的。他有两个关键字“任务”“队列”。
使用 GCD 的步骤主要是:
1 定制任务
2 任务添加到队列中,队列支持 FIFO 原则#基本形式如下dispath_queue_t queue = dispath_get_global_queue(DISPATCH_QUEUE_...
分类:
移动开发 时间:
2016-07-13 17:32:21
阅读次数:
236
1.DDL(Data Definition
Language)数据库定义语言statements
are used to define the database structure or schema.
DDL是SQL语言的四大功能之一。
用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束
DDL不需要commit.
CR...
分类:
数据库 时间:
2016-07-13 17:32:31
阅读次数:
140