Android SurfaceView 源码分析及使用

概述 SurfaceView 是 Android 中一种比较特殊的视图(View),它跟平时时候的 TextView、Button 最大的区别是它跟它的视图容器并不是在同一个视图层上,它的 UI 显示也可以不在一个独立的线程中完成,所以对 SurfaceView 的绘制并不会影响到主线程的运行。综合这些特点,SurfaceView 一般用来实现动态的或者比较复杂的图像还有动画的显示。 SurfaceView 的 MVC 框架 要使用 SurfaceView…

Read More

分布式系统中负载均衡算法在高可用场景下的分析

在分布式系统中,负载均衡是非常重要的环节,通过负载均衡将请求派发到网络中的一个或多个节点上进行处理。通常来说,负载均衡分为硬件负载均衡及软件负载均衡。硬件负载均衡,顾名思义,在服务器节点之间安装专门的硬件进行负载均衡的工作,F5便为其中的佼佼者。软件负载均衡则是通过在服务器上安装的特定的负载均衡软件或是自带负载均衡模块完成对请求的分配派发。      一般而言,有以下几种常见的负载均衡策略:      一.轮询。作为非常经典的负载均衡策略,早期该策略应用地非常广泛。其原理很简单,给每个请求标记一个序号,然后将请求依次派发到服务器节点中,适用于集群中各个节点提供服务能力等同且无状态的场景。其缺点也非常明显,该策略将节点视为等同,与实际中复杂的环境不符。加权轮询为轮询的一个改进策略,每个节点会有权重属性,…

Read More

2015 SegmentFault 杭州黑客马拉松赛后回顾

编者按:西瓜同学是有赞的数据团队的工程师。在10月24日这个特殊的日子,他参加黑客马拉松,和小伙伴们愉快地 hack 了一把,来看看他的回顾吧。 上个周末,也就是10月24、25号,参加了人生中第一次黑客马拉松(hackathon),虽然最终没有获奖,但是这个比赛过程中还是 hack 的挺爽,趁现在还有余热,纪录下比赛时的一些心得与收获。 为什么参加 hackathon 当在公司得知有黑客马拉松之后,我就立即报名了,觉得这件事本身就很酷,虽然身边一些同事说此类比赛没意思,…

Read More

用 Git Subtree 在多个 Git 项目间双向同步子项目,附简明使用手册

什么时候需要 Subtree ? 1、当多个项目共用同一坨代码,而这坨代码跟着项目在快速更新的时候 2、把一部分代码迁移出去独立为一个新的 git 仓库,但又希望能够保留这部分代码的历史提交记录。 背景 有赞微商城曾经是一个很大的前后端代码都包含在里面的 Git 项目,为了方便管理我们把前后端代码分离成2个 Git 仓库,进而再作分项目拆分成多个Git 仓库。 于是,就需要有好的方式同步各个项目共用的Css库、JS库、PHP库(他们都是以独立的 Git…

Read More

Web Component:过去、现在和未来

编者按:作者高凯从 JS 的中古时代的 jQuery 说起,到 Backbone,再到 Augular,最后到现代的时髦的 React,为我们梳理了 Web Component 从概念到标准化的历程 1.什么是 web component 援引MDN上的解释: Web Components consists of…

Read More