自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(594)
  • 资源 (12)
  • 收藏
  • 关注

转载 开源的DevOps开发工具箱

DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。在DevOps的整个流程中,使用一些开源工具可以促进开发与运维之间的沟通,有利于项目的管理,甚至可以达到事半功倍的效果。本文作者Richard Kraaijenhagen是Owlin创始人,全栈工程师,数据科学家。他收集了DevOps开发可能用到的所有工具,并

2016-04-11 19:38:28 1620

转载 etcd VS zookeeper

背景coreOS中使用了etcd作为集群配置服务,拥有众多出色的特点,etcd是一个key,value的数据服务器,单实例可达每秒 1000 次写操作,以及方便的REST接口。 zookeeper则是在Hadoop中大放光彩的分布式协调服务,提供了分布式锁,数据同步,等服务。从功能上看,二者都可以很好的完成集群中分布式中遇到的同步,配置问题,但是不可否认,这2种服务在设计的时候的目

2016-04-11 19:20:03 4914 1

转载 流失用户研究方法及流程

大量的用户流失给我们的产品带来极大的挑战,用户为什么流失?流失之后去哪儿了?怎么挽留现有用户?怎么“召回”已流失用户?本文以“手机QQ音乐播放器流失用户研究”为例,谈一下自己的理解,供大家参考。一、先把相关术语搞清楚  有些术语团队内部之前会有定义,没有错误的话,只需要理解和延用即可。有些术语团队第一次接触,需要先进行定义,经过团队内部一致认同之后,方可进行后续工作。  以

2016-04-02 20:53:37 1374

转载 用Kibana和logstash快速搭建实时日志查询、收集与分析系统

Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。kibana 也是一个开源和免费的工具,他可以帮助您汇总、分析和搜索重要数据日志并提供友好的web界面。他可以为 Logstash 和 ElasticSearch 提供的日志分析的 Web 界面说到这里,我们

2016-03-31 19:06:54 1108

转载 贝叶斯分类

朴素贝叶斯分类1.1、摘要       贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正式的定义。然后,介绍贝叶斯分类算法的基础——贝叶斯定理。最后,通过实例讨论贝叶斯分类中最简单的一种:朴素贝叶斯分类。1.2、分类问题综述      对于分类问题,其实谁都不会陌生,

2016-03-31 11:44:28 858

转载 文本聚类算法分析

1. 传统的文本聚类算法  传统的文本聚类算法分为以下几种1.1 分割方法(partitioning methods)1.1.1 K-MEANS算法:工作原理:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类

2016-03-30 22:34:02 824

转载 主题提取

随着因特网在全球范围内的飞速发展,网络媒体已被公认为是继报纸、广播、电视之后的“第四媒体”,网络成为反映社会舆情的主要载体之一。网络环境下的舆情信息的主要来源有:新闻评论、BBS、聊天室、博客、聚合新闻(RSS)。网络舆情表达快捷、信息多元,方式互动,具备传统媒体无法比拟的优势。网络舆情形成迅速,对社会影响巨大,不仅需要各级党政干部密切关注,也需要社会各界高度重视。最近,舆情分析成为了热门的研究话

2016-03-30 21:28:45 5529 1

转载 SparkShell实战

1、Spark编程模型1.1 术语定义l应用程序(Application): 基于Spark的用户程序,包含了一个Driver Program 和集群中多个的Executor;l驱动程序(Driver Program):运行Application的main()函数并且创建SparkContext,通常用SparkContext代表Driver Program;l执行单元(Execu

2016-03-27 20:34:21 5727

转载 redis持久化策略RDB和AOF

Redis 持久化:redis 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF.RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到

2016-03-27 16:55:16 1853

转载 MySQL索引背后的数据结构及算法原理

数据结构及算法基础索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),

2016-03-27 15:40:02 375

转载 LSM树存储引擎

2.2.3 LSM树存储引擎LSM树(Log Structured Merge Tree)的思想非常朴素,就是将对数据的修改增量保持在内存中,达到指定的大小限制后将这些修改操作批量写入磁盘,读取时需要合并磁盘中的历史数据和内存中最近的修改操作。LSM树的优势在于有效地规避了磁盘随机写入问题,但读取时可能需要访问较多的磁盘文件。本节介绍LevelDB中的LSM树存储引擎。1.存储结构

2016-03-27 14:33:40 3389

转载 秒杀业务架构优化之路

一、秒杀业务为什么难做im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);微博系统,每个人读你关注的人的数据,一个人读多个人的数据;秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。 例如小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如12306抢票,票是有限的,库存一份,

2016-03-24 21:34:53 2930

转载 主从DB与cache一致性

本文主要讨论这么几个问题:(1)数据库主从延时为何会导致缓存数据不一致(2)优化思路与方案 一、需求缘起上一篇《缓存架构设计细节二三事》中有一个小优化点,在只有主库时,通过“串行化”的思路可以解决缓存与数据库中数据不一致。引发大家热烈讨论的点是“在主从同步,读写分离的数据库架构下,有可能出现脏数据入缓存的情况,此时串行化方案不再适用了”,这就是本文要讨论的主

2016-03-24 19:28:15 2132

转载 Storm与Spark Streaming比较

Storm风暴和Spark Streaming火花流都是分布式流处理的开源框架。这里将它们进行比较并指出它们的重要的区别。处理模型,延迟虽然这两个框架都提供可扩展性和容错性,它们根本的区别在于他们的处理模型。而Storm处理的是每次传入的一个事件,而Spark Streaming是处理某个时间段窗口内的事件流。因此,Storm处理一个事件可以达到秒内的延迟,而Spark Streami

2016-03-13 13:35:19 4040

转载 ZeroMQ研究与应用分析

1  ZeroMQ概述ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型、连接处理、帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。ZeroMQ是网络通信中新的一层,介于应用层和传输层之间(按照TCP/IP划分),其是一个可伸缩层,可并行运行,分散在分布式系统间。2  系统架构2.1总体架构ZeroMQ几乎所有的I/O操作都是异步的,主线程不

2016-03-12 17:06:06 723

转载 流式大数据处理的三种框架:Storm,Spark和Samza

许多分布式计算系统都可以实时或接近实时地处理大数据流。本文将对三种Apache框架分别进行简单介绍,然后尝试快速、高度概述其异同。Apache Storm在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology)。这个拓扑将会被提交给集群,由集群中的主控节点(master node)分发代码,将任务分配给工作节点(worker node)执行。一个拓

2016-03-12 16:23:49 760

转载 scribe、chukwa、kafka、flume日志系统对比

1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;(3) 具有高可扩展性。即:当数据量增加时,可以通过增加节点进行水平扩展。本文从设

2016-03-12 15:41:01 440

转载 Zero-Copy&sendfile浅析

服务器响应一个http请求的步骤如下: 1 把磁盘文件读入内核缓冲区 2 从内核缓冲区读到内存 3 处理(静态资源不需处理) 4 发送到网卡的内核缓冲区(发送缓存) 5 网卡发送数据 数据从第一步中的内核缓冲区到第四步的内核缓冲区白白绕了一个圈,没有任何变化浪费了时间 而sendfile系统调用就是来解决这个问题的。sendfile省略了上面的 2、3步,磁盘文

2016-03-12 15:19:27 1066

转载 Redis与Memcached的区别

传统MySQL+ Memcached架构遇到的问题  实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:  1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。  2.Mem

2016-03-11 15:05:22 293

转载 初探nginx架构

众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而可以使nginx以单进

2016-03-10 22:08:03 568

转载 浅谈我对协程的理解

最近在研究网络服务框架方面的东西,发现了一个神奇的东西-协程。一句话说明什么是线程:协程是一种用户态的轻量级线程。一句话并不能完全概括协程的全部,但是起码能让我们对协程这个概念有一个基本的印象。从硬件发展来看,从最初的单核单CPU,到单核多CPU,多核多CPU,似乎已经到了极限了,但是单核CPU性能却还在不断提升。server端也在不断的发展变化。如果将程序分为IO密集型应用和CP

2016-03-10 21:06:17 293

转载 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2016-03-08 22:22:33 305

转载 二叉树转变为双向链表

要求只改变指针,不创建新的结点。在中序遍历中按输出的结点序逐个更改其指针指向,使其转变为双向链表。  Head=NULL;//指向双向链表头结点BSTreeNode*pIndex=NULL;//指向双向链表最后一个结点 voidinOrderBSTree(BSTreeNode* pBSTree){if(NULL==pBSTree)return;inOrd

2016-03-06 21:06:18 713

转载 动规:数的划分

描述    将整数 n 分成 k 份,且每份不能为空,任意两种划分方案不能相同 (不考虑顺序)。    例如:n = 7,k = 3,下面三种划分方案被认为是相同的。1 1 51 5 15 1 1问有多少种不同的分法。输入n,k(6 输出一个整数,即不同的分法。样例输入7 3样例输出4

2016-03-05 16:15:44 573

转载 动规:线段覆盖

描述数轴上有 n(n ≤ 1000) 条线段,线段的两端都是整数坐标,坐标范围在 0 ∼ 1000000,每条线段有一个价值,请从 n 条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段价值之和最大。输入第一行一个整数 n,表示有多少条线段。接下来 n 行每行三个整数, a i ,b i ,c i ,分别代表第 i 条线段的左端点 a i ,右

2016-03-05 14:52:00 1709

原创 背包问题总结

背包问题 (Knapsack problem x ) 有很多种版本,常见的是以下三种:• 0-1 背包问题 (0-1 knapsack problem):每种物品只有一个• 完全背包问题 (UKP, unbounded knapsack problem):每种物品都有无限个可用• 多重背包问题 (BKP, bounded knapsack problem):第 i 种物品有 c[i]

2016-03-05 14:07:52 640

转载 最大M子段和

描述给定一个整数序列S1 ,S2 ,·,Sn (1 ≤ n ≤ 1,000,000,−32768 ≤ Si ≤32768),定义函数sum(i,j) = Si + ...+ Sj (1 ≤ i ≤ j ≤ n)。现给定一个正整数 m,找出 m 对 i 和j,使得 sum(i1 ,j1 ) + sum(i2 ,j2 ) + ... + sum(im ,jm ) 最大。这就是最大 M 子段

2016-03-05 12:59:07 1984

转载 动态规划要诀

如果一个问题具有以下两个要素:• 最优子结构 (optimal substructure)• 重叠子问题 (overlap subproblem)则可以用动态规划求最优解。动态规划分为 4 个步骤:• 描述最优解的结构。即抽象出一个状态来表示最优解。• 递归的定义最优解的值。找出状态转移方程,然后递归的定义• 计算最优解的值。典型的做法是自底向上,当然也可以

2016-03-05 12:13:23 342

转载 kafka入门:简介、使用场景、设计原理、主要配置及集群搭建

一、入门    1、简介    Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kaf

2016-03-04 21:01:00 301

转载 项目管理中的任务分配

一个项目需求确定了(需求这个东西永远没有确定的哪一天,时时刻刻都是在变化,但是经理认为确定了那就是确定了:P),然后项目经理给了一份需求文档就算真是开始开发了。大致用了一天的时间数据库就由一个开发人员设计了出来(其实对于这个速度我还是比较“惊讶”的,一天就把数据库设计出来,可见数据库中丢字段、字段设计不合理等等问题一定在后面等着我们),数据库经过大家统一“审查”过一遍之后没有什么异议(时间这么紧没

2016-03-04 20:23:56 1822

转载 项目开发团队如何更有凝聚力

一向认为软件开发就像是在搭房子或者说是在构建一座宏伟的大厦,当然这根据工程的大小而定。其实细细想来软件工程的很多地方都是借助于建筑方面的知识,就从“工程”这个词来说就是从建筑学引进的,类似的还有设计模式等概念也是来源于建筑学。如此说来软件的开发和建造房屋一样,一般是多人合作完成的。如果您非要自己动手盖一个小平房也不是不可以,但请注意那一定是一个足够小的小平房。其实要说起团队开发让人最头疼的

2016-03-04 20:21:15 573

转载 高效能的5个项目管理工具

要想获得管理的高效率,经理必须熟知并熟练运用以下几个工具:工具A:招聘面试的STAR原则 招聘面试是经理工作的一项重要内容,每个成功的经理人都必须具备高超的招聘面试技巧,以招聘到合适的人充实到工作团队中,使合适的人在合适的岗位上,创造岗位员工的高绩效。 所谓STAR原则,即Situation(背景)、Task(任务)、Action(行动)和Result(结果)四个英文单词的首字母组合。

2016-03-04 19:58:35 1714

转载 技术负责人的三种角色

企业管理是一盘棋,而技术是支撑企业生存和发展的重要一环。因此,作为企业的技术负责人,无论企业处于发展中的哪个阶段,实施管理都无外乎是要做好几件事:定目标,在深入了解企业的资源状况和整体目标的基础上,做好相对固定的长期技术计划;分任务,做好计划以后,把计划分解成若干技术执行人员能够充分理解和执行到位的任务,并在执行的过程中定期或不定期地检查执行状况。同时根据这些状态及时地调整短期的节奏,在必要时还要

2016-03-04 19:44:00 482

转载 Hbase总结:Hbase中的Coprocessor

1.起因(Why HBase  Coprocessor)HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的(统计数据表的总行数,需要使用Counter方法,执行一次MapReduce Job才能得到。虽然HBase在数据存储层中集成了MapReduce,能够有效用于数据表的分布式计算。然而在很多情况下,做一些简单

2016-03-04 17:49:39 732

转载 HBase总结:LSM理解

讲LSM树之前,需要提下三种基本的存储引擎,这样才能清楚LSM树的由来:哈希存储引擎  是哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据,哈希表就是your Mr.RightB树存储引擎是B树(关于B树的由来

2016-03-04 17:10:53 483

转载 hbase常识及habse适合什么场景

当我们对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用使用什么数据库?答案是什么,如果我们使用的传统数据库,肯定留有多余的字段,10个不行,20个,但是这个严重影响了质量。并且如果面对大数据库,pt级别的数据,这种浪费更是严重的,那么我们该使用是什么数据库?hbase数个不错的选择,那么我们对于hbase还存在下列问题:1.Column Family代表什么?

2016-03-04 16:29:11 587

转载 搜索引擎选择: Elasticsearch与Solr

Elasticsearch简介*Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。

2016-03-04 13:44:00 325

转载 从0开始做互联网推荐-以58转转为例

一、58转转简介58旗下真实个人闲置物品交易平台二、从0开始设计推荐产品框架(1)首页推荐:提取用户画像,根据线下提取出的用户年龄、性别、品类偏好等在首页综合推荐宝贝(2)宝贝详情页推荐:买了还买,看了还看类的关联宝贝推荐(3)附近推荐:和首页推荐的差异在于,提高了地理位置的权重,地理位置不仅要包含当前地理位置,还需要包含常见活跃区域,例如家里、公司

2016-03-03 16:07:48 841

转载 无线APP日志上报优化实践

昨天,和大家讨论了无线APP时代如何进行DNS速度优化【回复“dns”阅读】,今天和大家一起讨论一下无线时代的日志上报流量优化。缘起:无线时代,APP流量敏感,为了统计APP内用户行为,或者需要收集某些产品数据,往往需要进行日志上报,日志上报往往又非常费流量,有没有一些好的节省流量的优化方法呢,这是本文将要讨论的问题。一、APP可不可以不进行日志上报,而

2016-03-03 15:46:01 1148

转载 互联网架构师必备技能

一、每个好架构师都是一位出色的程序员这一点毋庸置疑,如果不是写过N年代码的优秀程序员,一定不是好的架构师。“架构师”这是一个听上去比较虚的职位,它的主要价值在于“落地”的过程中,而不是“指点江山”。eBay的架构师总结架构师在项目中的职责:1)产品团队要做一个产品,架构师要帮助团队把技术可行性,技术方案权衡取舍一一剖析清楚;2)技术方案权衡取舍出来了,架构师要设计整体的技术

2016-03-03 15:40:13 1639

计算机基础精华

总结各种IT面试基础精华,对面试很有帮助

2014-06-04

LeetCode题解

通向米国IT求职的极佳面试必备算法题库,经过分类整理

2014-06-04

手写代码必备手册

分类整理了各种常用面试算法,对算法要求较高的面试极为有用

2014-06-04

hbase基础知识介绍

hbase基础知识介绍

2011-11-25

多种方法求2个数的最大公约数

介绍求最大公约数的方法:辗转相除法、二进制操作法等多种方法

2010-05-04

软件项目管理 人件中文第二版

《人件》第1版于 1987 年出版,专门讨论了软件开发和维护团队的管理问题,并向人们的传统认识提出了挑战。作者在书中推崇人本管理思想,正确指出知识型企业的核心是人,而不是技术,呼吁给予软件工作者充分的自由和信任。本书推出后,立即在西方引起了轰动,被誉为“几十年来对美国软件业影响最大的理念”。与《人月神话》一样,《人件》现已成为软件团队管理的经典之作。它和《人月神话》共同被誉为软件图书中“两朵最鲜艳的奇葩”。人们认为,《人月神话》关注“软件开发”本身,《人件》则关注软件开发中的“人”,因此,在成千上万的书架上,《人件》永远和《人月神话》并列在一起。1999 年 2 月,《人件》第2版出版,增补了8 章新内容。这些新内容拥有更加宽广的视角,对大中型组织中的团队如何运作进行了深入探讨。

2009-02-22

linux基本命令大全

由于操作和使用环境的陌生,如果要完全熟悉Linux的应用我们首先要解决的问题就是对Linux常用命令的熟练掌握。本书我们就来介绍Linux的常用基本命令

2009-01-08

编程高手箴言.chm

本书是作者十余年编程生涯中的技术和经验的总结。内容涵盖了从认识CPU、Windows运行机理、编程语言的运行机理,到代码的规范和风格、分析方法、调试方法和内核优化,内有作者对许多问题的认知过程和透彻的分析,以及优秀和精彩的编程经验。

2009-01-08

Oracle 9i10g编程艺术

oracle 9i10g编程艺术(中文版)TOM经典

2008-12-01

空空如也

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

TA关注的人

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