第3页
-
lex和yacc 学习笔记
前一段时间在项目中要使用一个规则表达式计算的功能,而且想可以任意扩展计算功能,比如计算AUB,A和B都表示一个号码包,计算并集,当然实际使用的公式会更为复杂,这里举例说明。在计算时候要判断如果A包已经计算ok了就可以使用A包,如果没有计算成功就需要发起计算并且等待计算成功,B包也是要同样的处理过程,最后再计算并集。当然这样一个功能自己定义写肯定是没问题的,但是还要想到后面的扩展性和程序代码可移交等问题,还是想有一个通用的方法来解决,所以在最后想到了使用yacc和lex来组织解决。实际上后来发现用yacc和l...
-
如何使用Swagger编写API文档
最近在梳理内部系统的架构设计,而且前端时间也在kindle上看了一些国外开发在API的架构设计上的一些思考。所以就想着我们内部系统的api也应该梳理梳理了。 目前内部使用golang开发是重头,基本上的服务和调度都是使用golang来开发,而且内部模块之间的调用都是http的接口。而且目前golang1.8已经默认支持了http2的协议,在效率上以前顾虑的问题,现在都有所缓解,所以把这块的梳理重点放在了http接口的梳理上。 重点看了soap,json-rpc,restfull。在梳...
-
ElasticSearch5.2.2安装坑记录
部署完成ES之后,如果我们不修改配置,那么默认只有本机可以访问ES的api接口,如果需要给外部机器访问,那么就需要修改ES的配置了。 在默认情况下,ES只允许本地访问api接口,如果我们希望在另外一台机器上访问ES的接口的话,需要配置主机地址: /data/elasticsearch-5.2.2> vim config/elasticsearch.yml #network.host: 192.168.0.1 network.host: 10.140.7.12 保存退出,重新启动es,一般...
-
为游戏分析设计的分布式数据存储系统
本文是今年5月在中国云计算大会中的分享内容,主要是介绍腾讯游戏数据分析平台的一些后台架构设计和游戏分析思路。 在“大数据”相对泛滥的今天,我们看到很多讨论各种大数据架构、存储、工具、算法等等。但是大数据工具在具体应用场景中的计算各有不同之处,那在游戏数据分析中我们腾讯是怎么做的呢?本话题将简单介绍腾讯游戏数据分析系统的后台架构,并且主要介绍一个为游戏分析这类场景设计开发的的小型数据存储系统。...
-
使用Spark分析网站日志
郁闷从昨天开始个人网站不断的发出告警504错误,登录机器看了一下是php-fpm报错,这个错误重启php-fpm后,几个小时就告警,快一年了都没什么问题,奇怪 [28-Sep-2016 11:53:19] NOTICE: ready to handle connections [28-Sep-2016 11:53:19] NOTICE: systemd monitor interval set to 10000ms [28-Sep-2016 11:53:26] WARNING: [pool www] s...
-
Spark分区器HashPartitioner详解和扩展
在Spark中,存在两类分区函数:HashPartitioner和RangePartitioner,它们都是继承自Partitioner,主要提供了每个RDD有几个分区(numPartitions)以及对于给定的值返回一个分区ID(0~numPartitions-1),也就是决定这个值是属于那个分区的。 1 HashPartitioner分区 HashPartitioner分区的原理很简单,对于给定的key,计算其hashCode,并除于分区的个数取余,如果余数小于0,则用余数+分区的个数,最后返回的值就是这个...
-
分布式系统的Raft算法(转)
过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。 来自Stanford的新的分布式协议研究称为Raft,它是一个为真实世界应用建立的协议,主要注重协议的落地性和可理解性。 在了解Raft之前,我们先了解Consensus一致性这个概念,它是指多个服务器在状态达成一致,但是在一个分布式系统中,因为各种意外可能,有的服务器可能会崩溃或变得不可靠,它就不能和其他服务器达成一致状态。这样就需要一种Consen...
-
【转载】从Hadoop到Spark的架构实践
当下,Spark已经在国内得到了广泛的认可和支持:2014年,Spark Summit China在北京召开,场面火爆;同年,Spark Meetup在北京、上海、深圳和杭州四个城市举办,其中仅北京就成功举办了5次,内容更涵盖Spark Core、Spark Streaming、Spark MLlib、Spark SQL等众多领域。而作为较早关注和引入Spark的移动互联网大数据综合服务公司,TalkingData也积极地参与到国内Spark社区的各种活动,并多次在Meetup中分享公司的Spark使用经验。本文则...
-
ubuntu中编译安装protobuf记录
1.下载protobuf 下载地址:https://github.com/google/protobuf/releases 2.编译protobuf 解压下载的tar.gz包,cd到protobuf的目录下,执行以下指令: ./configure make make check make install 3.检查安装是否成功 protoc --version 如果成功,则会输出版本号信息,例如:libprotoc 2.6.1 如果有问题,则会输出错误内容。 4.错误及解决方法...
-
Java通过swig调用C++接口
记录一下过程 c++代码: swigshape.h #ifndef TEST_CODE_SWIG_TEST_SHAPE_H #define TEST_CODE_SWIG_TEST_SHAPE_H #pragma once class Shape { public: Shape() { nshapes++; } virtual ~Shape() { nshapes--; }; double x, y; void move(double dx, double dy); virtual...
-
spark1.3.1单机安装测试备忘
1.下载,安装spark和scala: http://spark.apache.org/downloads.html 下载1.3.1的hadoop2.6版本. spark-1.3.1-bin-hadoop2.6.tgz 下载到本地之后直接解压即可: helight@helight-xu:/data/spark$ tar zxf spark-1.3.1-bin-hadoop2.6.tgz http://www.scala-lang.org/download/ 下载scala,2.11.6,也是直接...
-
thrift maven编译运行
dependencies编译,pom.xml中加入build配置: <build > < sourceDirectory> src/main/java </ sourceDirectory> < plugins> <!-- Bind the maven-assembly-plugin to the package phase this wil...
-
zookeeper原理2(转)
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在 某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。本文简单分析 zookeeper的工作原理,对于如何使用zookeeper不是本...
-
zookeeper原理
ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。 分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高一致性的,这些服务是其他分布式服务运转的基础,比如naming service、分布式lock等,这些分布式的基础服务有以下要求: 高可用性 高一致性 高性能 对于这种有些挑战CAP原则 的服务该如何设计,是一个挑战,也是一...
-
docker镜像的创建和下载使用
首先查看已有的imags。 root@helight-Xu:/data# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE debian latest 4d6ce913b130 3 days ago 84.98 MB ubuntu latest b39b81afc8ca 3 days ago 188.3 MB <none> <none> 8eaa4ff06b53 2 weeks ago 188.3 MB 这个在...
-
docker初体验和使用笔记
在ubuntu13.10上体验docker 首先要检测以下你的内核版本 sudo uname -a Linux helight-Xu 3.11.0-26-generic #45-Ubuntu SMP Tue Jul 15 04:02:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 第一次添加Docker的repository到你的本地秘钥库 sudo apt-key adv --keyserver keyserver.ubuntu.com --re...
-
用户画像数据建模方法(zz)
原文:http://blog.baifendian.com/?p=8015 从1991年Tim Berners-Lee发明了万维网(World Wide Web)开始,到20年后2011年,互联网真正走向了一个新的里程碑,进入了“大数据时代”。经历了12、13两年热炒之后,人们逐渐冷静下来,更加聚 焦于如何利用大数据挖掘潜在的商业价值,如何在企业中实实在在的应用大数据技术。伴随着大数据应用的讨论、创新,个性化技术成为了一个重要落地点。相比传 统的线下会员管理、问卷调查、购物篮分析,大数据第一次...
最新留言
说:静态BLOG hugo欢迎你
2019-08-22 15:04:03说:您好,我是开发者头条的运营。感谢您的辛苦创作。您的《Redis 源码分析(一):Redis 启动分析》已被我们平台用户推荐到首页。为了让更多读者认识您,我们邀请您来开发者头条分享。与创作不同,您仅需复制粘贴文章链接即可完成分享。可以在各大应用市场搜索 “开发者头条” 找到我们的应用,欢迎了解。期待您的分享。
2019-03-13 01:03:11说:假的E: Type '“deb' is not known on line 1 in source list /etc/apt/sources.list.d/docker.listE: The list of sources could not be read.
2019-02-05 05:15:07说:[…] Golang UnitTest单元测试 […]
2019-01-31 04:40:36说:解决:使用心得的Linux版本,就不会出现此类问题了。我想问下博主这句话能解决问题吗?
2018-08-24 10:37:28说:不错不错,继续加油
2018-08-13 01:54:05说:我踩故我在,下次还会来!
2018-04-03 09:22:51说:[…] golang的httpserver优雅重启 […]
2018-03-15 03:10:41