logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

餐馆那些事之:Null Object

1. 概述在开发过程中,我们常常会越到这么一种case:向一个对象发送消息,每次都必须先检查对应的对象是否存在。如果对象存在执行相应操作,对象不存在则获取默认值或者做一些默认的操作。NULL object即使这么一种模式:通过提供NULL对象,从而使客户在向对象发送消息时,不关心对象是否存在,NULL对象中保存相应的默认值或方法。NULL object的优势个人理解:1)降低代码复

浅谈API设计

为什么需要了解一些API设计?只要你编程,你就是API Designer!一个完整功能的程序,如果你独立开发,那你既是API的Designer,也是API的User如果你和你的同事一起开发,一个好的设计,模块之间的耦合应该也是API级别的,你既是你负责模块API的Designer,也是其他同事模块API的User另外,你有可能对外提供一个程序包,用户通过api调用你的服务。你也有可

STL容器:list

1. 概述STL::list是STL最常用的容器之一,其本质上是一个双向环状链表,链表每一个结点内容如下:templatestruct __list_node {typedef void* void_pointer;void_pointer next; // 指向下一个节点的指针void_pointer prev; // 指向前一个节点的指针T data;

#list
标准非STL容器 : bitset

1. 概念什么是“标准非STL容器”?标准非STL容器是指“可以认为它们是容器,但是他们并不满足STL容器的所有要求”。前文提到的容器适配器stack、queue及priority_queue都是标准非STL容器的一部分。此外,valarray也是标准非STL容器。bitset:一种高效位集合操作容器。2. APIbitset提供的api:(constructor)    Co

STL容器:deque

1. 概念vector支持随机访问每个元素,所需要的时间为常量,其在末尾增加或删除元素所需时间与元素数目无关,但是,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。和vector相比,deque 是一个双向开口的连续线性空间,它允许在常数时间内对头端进行元素的插入或删除操作。需要注意的是,虽然deque也支持常数时间的随机访问,但是,由于其数据内存特点,其效率较v

STL容器:vector

1. 概念vector是一种序列式容器,所谓序列式容器,即其中的元素可以排序,但是并未排序。可以把vector可作为加强版的array,它和array一样,存储空间是一段连续的内存,因此支持随机访问,但是,和array相比,vector支持动态增加数据。vector支持动态增加数据,同时又需要保持空间的连续性从而支持随机访问,因此,在对vector动态增加元素

Kafka(一):基础

1. 引言互联网够公司的日志无处不在,web日志,js日志,搜索日志,监控日志等等。对于这些日志的离线分析(Hadoop),wget&rsync虽然人力维护成本较高,但可以满足功能行需求。但对于这些日志的实时分析需求(例如实时推荐,监控系统),则往往必须要引入一些“高大上”的系统。传统的企业消息系统(例如WebSphere)并不是非常适合大规模的日志处理系统,理由有三:1) 过于关注可

Kafka(二):环境搭建&测试

参考:Kafka QuickStart在一台机器上构建一个3个节点的kafka集群,并测试producer、consumer在正常情况下的行为,以及在lead broker/follow broker失效情况下的行为1.下载并解压kafka 0.8.0 release$ mkdir kafka$ wget http://apache.dataguru.cn/kafka/0.

数据在线服务的一些探索经验

一个新增的数据服务,在选取存储类型时,follow以下原则:1. 优先使用HBase/Redis,HBase/Redis无法支持的查询语义使用Mysql(分页查询,count)2. 小数据量(内存占用<10G量级)或者对查询响应时间要求很高的应用使用Redis(user profile)3. 海量数据使用HBase(用户行为流水/消息)

配置管理系统浅析

我们的程序常常有一些配置信息,例如连接的数据库配置、缓存大小、线程数等等。这些配置信息的管理一般有两种方式:a. 配置信息放到文件中,程序启动时导入,或者在程序运行过程中监控文件的修改重新导入配置文件b. 公司或者部门范围内构建统一的配置管理系统,应用通过API获取配置服务。通过配置文件管理配置信息的方式存在一些问题,主要有:1.部署和更新成本高当前一个互联网服务常常部署在多台

    共 11 条
  • 1
  • 2
  • 请选择