- 博客(87)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
翻译 【Samza系列】实时计算Samza中文教程(四)—API概述
上一篇和大家一起宏观上学习了Samza平台的架构,重点讲了一下数据缓冲层和资源管理层,剩下的一块很重要的SamzaAPI层本节作为重点为大家展开介绍。 当你使用Samza来实现一个数据流处理逻辑时,你必须实现一个叫StreamTask的接口,如下所示:public class MyTaskClass implements StreamTask { public void
2014-10-30 13:18:32
2671
原创 jvm调优经验分享
当Java程序申请内存,超出VM可分配内纯的时候,VM首先可能会GC,如果GC完还是不够,或者申请的直接超够VM可能有的,就会抛出内 存溢出异常。从VM规范中我们可以得到,一下几种异常。java.lang.StackOverflowError:(很少)java.lang.OutOfMemoryError:heap space(比较常见)java.lang.OutOfMemoryErro
2014-10-29 21:07:39
6996
原创 mysql用户权限分配及主从同步复制
赋予wgdp用户查询权限:grant select on wg_dp.* to 'wgdp'@'%' IDENTIFIED BY 'weigou123';grant all privileges on *.* to 'yangchao'@'%' IDENTIFIED BY 'weigou123'查询mysql其他用户权限:show grants for wgdp
2014-10-29 21:05:44
5463
翻译 【Samza系列】实时计算Samza中文教程(三)——架构
本篇紧接着概念篇,从宏观角度上看一下Samza实时计算服务的架构是什么样的? Samza是由以下三层构成: 1. 数据流层(A streaming layer) 2. 执行层(An execution layer) 3. 处理层(A progressing layer) 那Samza是依靠哪些技术完成以上三层的组合呢
2014-10-29 15:34:04
3018
转载 强大的分布式消息中间件——kafka
在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题:l 我想分析一下用户行为(pageviews),以便我能设计出更好的广告位l 我想对用户的搜索关键词进行统计,分析出当前的流行趋势。这个很有意思,在经济学上有个长裙理论,就是说,如果长裙的销量高了,说明经济不景气了,因为姑娘们没钱买各种丝袜了。l 有些数据,我觉得存数据库浪费,直接存硬
2014-10-29 11:30:37
11396
翻译 【Samza系列】实时计算Samza中文教程(二)——概念
希望上一篇背景篇让大家对流式计算有了宏观的认识,本篇根据官网是介绍概念,先让我们看看有哪些东西呢? 概念一:Streams Samza是处理流的。流则是由一系列不可变的一种相似类型的消息组成。举个例子,一个流可能是在一个网站上的所有点击,或者更新到一个特定数据库表的更新操作,或者是被一个服务或者事件数据生成所有日志信息。消息能够被加到另一个流之后或者从一个流中读取。一个
2014-10-27 21:36:48
2454
翻译 【Samza系列】实时计算Samza中文教程(一)背景
大家应该听我在前言篇里扯皮后,迫不及待要来一看Samza究竟是何物了吧?先了解一下Samza的Background是必不可少的(至少官网上是放在第一个的),我们需要从哪些技术背景去了解呢? 什么是消息(Messaging)? 消息系统是一种实现近实时异步计算的流行方案。消息产生时可以被放入一个消息队列(ActiveMQ,RabbitMQ)、发布-订阅系统(Kestrel
2014-10-27 21:18:01
3331
原创 【samza系列】实时计算框架Samza学习指南-前言
Twitter的流处理系统Storm最近出现了一个“翻版”——Samza。Samza是近日由LinkedIn开源的一项技术,它是一个分布式流处理框架,专用于实时数据的处理,非常像Twitter的流处理系统Storm。不同的是Samza基于Hadoop,而且使用了LinkedIn自家的Kafka分布式消息系统。Storm和Samza极其相似,就像LinkedIn的Chris Riccomini在博客中阐述的那样:“[Samza]可以帮助你构建应用,处理消息队列——更新数据库、计数以及其他的聚合、转换消息等等。
2014-10-27 21:10:07
5112
原创 mysql主从同步及技巧
赋予wgdp用户查询权限:grant select on wg_dp.* to 'wgdp'@'%' IDENTIFIED BY 'weigou123';查询mysql其他用户权限:show grants for wgdp;取消wgdp用户权限:revoke all on *.* from wgdp;PS:grant, revoke 用户权限后,该用户只有重新连接 My
2013-10-09 14:01:31
929
原创 使用spring mvc+ajax 响应报406错误解决方案
最近的一个项目由于前端大神对dwr的唾弃,只能将其改造为spring mvc,spring mvc框架相比strutsmvc来说,我觉得扩展性更好,且未来和spring的整合更加顺畅,毕竟spring才是王道。。。(给spring做了广告,不知道有木有广告费),废话不多说了 在使用spring mvc+ajax的过程中配置其实不是很麻烦,只不过是有一些地方要注意,我这里是采用spring3的,用注
2012-12-26 17:23:18
4306
原创 Jmeter压力测试工具
JMeter是apache的jakarta上面的项目,用于软件的 压力测试(Load Test),不但可以对HTTP,也可以对数据库(通过JDBC)、FTP、Web Service、Java 对象等等进行压力测试。最近,在我们的项目中使用到了它。我们的项目是基于BEA Weblogic的一个J2EE项目,在一个Domain中部署了3个J2EE应用,这样在客户使用的过程中出现了WebLogic内
2012-09-20 11:46:04
5310
原创 单元测试利器——Mockito
Stub和Mock:Stub(桩)对象用来提供测试时所需要的测试数据,可以对各种交互设置相应的回应。例如我们可以设置方法调用的返回值等等。Mockito中的when(...).thenReturn(...)这样的语法便是设置方法调用的返回值。也可以设置在方法何时调用会抛出异常等。Mock对象用来验证测试中所依赖对象间的交互是否能够达到预期。Mockito中用verify(...).meth
2012-09-20 11:42:19
6511
原创 windows下nginx+FastCGI+Django完全攻略
最近几天在想弄一个Django项目,哈哈 就是因为django可以不用在后台管理上费力,也是偷偷懒吧,前些天调试一直是用Django自带的HTTP服务器,不过最近可能要先部署一些东西,为了更加接近真实的服务器环境,决定用FastCGI的方式试试。服务器选择了nginx,,出于懒人的做法,就直接在自己的windows里试试了。首先确保你的电脑里已经安装了Python和Django,接下来我们
2012-05-19 23:03:29
10968
原创 python异常如何全面捕获
如果你在写程序时遇到异常后想进行如下处理的话请参考我下面写的对异常处理的方法:假设有下面的一段程序:try: 语句1 语句2 . 语句Nexcept .........: print ....... 但是你并不知道“语句1至语句N”在执行会出什么样的异常,但你还要做异常处理,且想把出现的异常打印出来,并不停止程序的运行,所
2012-04-04 13:38:54
38174
原创 Django+mod_wsgi环境配置攻略
1 开发环境 lubuntu10.04以上python2.7django1.3mod_wsgi3.xapache2.x2 前提 搭建好开发环境 python和django的安装略过,相信大家都会的 以下是安装apache及mod_wsgi模块支持库sudo apt-get install apache2s
2012-04-01 15:58:03
3560
原创 神器Maven——项目自动化配置部署
来百度上研一个半月了,屁股还没做热,就进入大客户关键词推荐项目组,虽然是个线下的项目,但是我毕竟算刚来的,只能靠加班来迎头赶上了,不过好在功夫不负有心人,上周五终于将这个项目上线了,这个项目总体来说并不难,而且还是升级,所以一个半月就搞定了,上线时遇到让人崩溃的问题。由于是个线下项目,就一台机器让项目使用,老项目和新项目都在一起,这就意味这必须让新项目很快部署成功,因为在部署的时候老项目不能使用了
2012-03-25 23:49:45
6311
原创 Mysq数据库备份与导出-mysqldump工具
最近在工作的时候,要将原来在本机开发的 MySQL存储过程迁往另一Linux操作系统下的MySQL数据库,因为表结构等已经在目标数据库中存在了, 不想直接拷贝数据库过去,所以用到了 MySQL的存储过程导出和导入,经上网搜索发现用Mysqldump工具可以实现,具体用法为: [root@localhost bin]# mysqldump -uroot -p -hlocalhost -P3306
2012-03-15 18:23:21
1692
原创 Mysql 命令行导入sql数据,访问网站出现中文乱码的解决
方法一: 通过增加参数 –default-character-set = utf8 解决mysql乱码问题mysql -u root -p password 方法二: mysql在命令行导入乱码解决1. use database_name;2. set names utf8; (或其他需要的编码)3. source example.sql (sql文件存放路径)
2012-03-03 20:45:36
4718
原创 java实现md5的验证
最近在百度做系统的研发,遇到一个文件md5校验的问题,刚开始以为挺复杂,后来才发现其实前人已经为我们铺好了道路,而且还是康庄大道啊,谢谢前辈们。需求是这样的,系统需要通过ftp下载一个服务器上的两份文件(一份文件是源文件,另一份用于校对的md5),通过对文件md5的校验后,比对一起下载下来的这个md5文件,如果相同则文件是安全的,我们在进行下一步操作,这是为了防止文件被别有用心的人篡改。其实我们要
2012-02-22 17:29:06
8592
原创 ftp上传和下载文件的java实现
最近一个项目需要去ftp上下载文件,遇到一个问题是没有用户名和密码,后来才发现ftp原来可以匿名登录,而且还要声明一下自己是匿名的,空字符串都登陆不上去的,一下是我的代码,是匿名登录的。package ftp2;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;impo
2012-02-22 17:22:14
2421
原创 超轻量级缓存技术——EhCache
1.技术背景: 系统缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能。缓存设想内存是有限的,缓存的时效性也是有限的,所以可以设定内存数量的大小可以执行失效算法,可以在内存满了的情况下,按照最少访问等算法将缓存直接移除或切换到硬盘上。 Ehcache从Hibernate发展而来,逐渐涵盖了C
2011-11-30 17:34:23
13484
2
原创 MySQL 触发器简单实例
~~语法~~CREATE TRIGGER 触发器名称> --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.{ BEFORE | AFTER } --触发器有执行的时间设置:可以设置为事件发生前或后。{ INSERT | UPDATE | DELETE } --同样也能设定触发的事件:它们可以在执行insert、update
2011-11-21 14:10:19
1253
原创 面试解惑-查找n个元素中第二小的元素
在算法导论中习题9-1提出,在最坏情况下利用 n + - 2次比较,找出n个元素中第二小的元素。 其方法叫做 tournament method,算法实现如下: 对数组a[1…n] 中元素成对的做比较,每次比较后讲较小的数拿出,形成的数组再继续这样处理,直到剩下最后的一个,就是数组中最小的那个。将这个过程以一个树的形式表现出来,如下图:
2011-10-28 16:45:09
1198
原创 面试解惑-排列与组合的实现
我们在笔试面试过程中经常会遇到关于排列与组合的问题,其实这些可以通过递归简单的实现,看下面两个例子:(1)关于字符串排列的问题输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。可以这样想:固定第一个字符a,求后面两个字符bc的排列。当两个字符bc的排列求好之后,我们把第一个
2011-10-26 18:20:12
1284
原创 Java中equals()与hashCode()方法完全解惑
1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。equals()方法在object类中定义如下:public boolean equals(Object obj) {return (this == obj);}很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们必需清楚,当String 、Math、还有Integer、
2011-10-19 16:59:57
3873
4
转载 IoC容器与依赖注入DI模式
编者语:最近研究IoC,在网上搜索到很多网页推荐阅读Martin Fowler的一篇名叫Inversion of Control Containers and the Dependency Injection pattern的文章。点击到该文章页面便吓了一跳:这什么文章啊,简单一
2011-10-19 15:50:47
1980
原创 经典面试之n线分割最多面与n面分割最多空间
从平面推起。平面最大分割数的条件上面列过,就不重复了。现在,记n条直线把平面最大分割成Pn份,为了Pn,先设法获得它的递推公式。假设平面已经被n-1条直线最大分割成Pn-1份,接着又添加第n条直线,获得最大分割数。此时必定增加n-1个交点,而且这条新添加的直线必定穿过原来的n个部
2011-10-10 09:08:27
1158
转载 数据库索引学习——科学建立索引,提高查询速度
SQL Sever数据库中巧妙地建立索引能起到事半功倍的效果,笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分别进行总结: 为了更直观地说明
2011-10-09 17:19:35
877
原创 Python开发超级利器-PyCharm安装下载与1.5.x的注册码
废话不多说,由于小地方病毒木马多,先去官网下载最新版本,这个时候的是1.5.4版本的,地址是:http://www.jetbrains.com/pycharm/download/index.html注册码:EMBRACE =====
2011-09-28 15:45:50
1684
原创 动态规划与贪婪算法的简单示例
动态规划我在学习算法的时候,就被动态规划搞得是一头雾水,这几日终于是弄明白是怎么回来。明白之后我才发觉我以前就碰到过一道ACM题,大意是这样的:有这样形式的一种排列:例如: 7 3 8 8 1 0
2011-09-14 10:29:48
1458
原创 Java容器类型初探-List 与 Set
Collection----一组独立的元素,通常这些元素都服从某种规则。List必须保持元素特定的顺序,而Set不能有重复元素。Map----一组成对的“键值对”对象,即其元素是成对的对象,最典型的应用就是数据字典,并且还有其它广泛的应用。另外,Map可以返回其所有键组成的S
2011-09-06 18:38:10
759
原创 mysql数据库修改字段名
按照一下格式即可: alter table mapping change cFileIdName cFieldName varchar(20) not null
2011-08-26 13:41:02
1342
原创 mysql存储过程学习及java调用存储过程
存储过程虽然经常听到,但是我遇到的项目还没有使用过,比较郁闷,只能选择自己入门了,也顺便与大家分享,希望大家也能如愿,呵呵。首先我用的环境是window xp+mysql5,这个大家应该都有的,没有的安装一下吧。好装好了,不要忘记将mysql.exe的路径目录放入环境变量pa
2011-08-25 19:39:19
815
原创 python调试第一战——PDB
今天花了点时间看了一下Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的。用pdb调试有多种方式可选:1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行
2011-08-22 17:34:18
6707
原创 Servlet中文乱码解决以及JSP中文字符编码不能保存
由于公司业务写了一个servlet 查询信息并显示在页面,但是总是遇到中文变成????显示在页面上,后来经过研究原来是我讲response的设置顺序弄反了,悲剧帝就是我啊,以此为鉴吧!这是乱码的代码: PrintWriter pw = response.getWri
2011-08-16 13:39:40
1098
原创 Hadoop入门—Linux下伪分布式计算的安装与wordcount的实例展示
开始研究一下开源项目hadoop,因为根据本人和业界的一些分析,海量数据的分布式并行处理是趋势,咱不能太落后,虽然开始有点晚,呵呵。首先就是安装和一个入门的小实例的讲解,这个恐怕是我们搞软件开发的,最常见也最有效率地入门一个新鲜玩意的方式了,废话不多说开始吧。 本人是在
2011-07-30 18:06:08
2663
转载 python re模块 sub方法介绍
re.sub 函数进行以正则表达式为基础的替换工作 >>> import re>>> re.search('[abc]', 'Mark') >>> re.sub('[abc]', 'o', 'Mark') 'Mork'>>> re.sub('[abc]',
2011-07-23 13:39:34
17439
原创 python学习笔记之yield
Python编程语言作为一款比较新的程序应用语言,其中有很多方法是开发人员需要慢慢熟练掌握的。比如今天为大家介绍的Python yield就是一个比较特殊的应用。yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白Python yield的用法。只是
2011-07-22 23:08:52
930
原创 DWR 介绍和实例——前后台数据交互王道
简单介绍下使用DWR框架的基本步骤. 1,下载dwr的jar包. 2,将jar包复制到WEB-INF目录下的lib文件夹下. 3,在web.xml中注册dwr的一个servlet. 4,写相关的javaBean业务操作类及方法. 5,写配置文件,取名为dwr.xml,与
2011-07-21 11:20:06
2181
原创 java分页设计-支持海量数据分页
目前在土豆实习,觉得和之前在盛大实习最大的不同,就是可以接触到真实的海量数据,在盛大做的都是应用级的产品—信用卡还款,手机充值,无商品交易,也就是对java的框架和Javascript等有了进一步的掌握,但是目前这个社会是信息大爆炸的时代,大系统都是会产生海量的数据,那么如何才能
2011-07-21 11:04:30
2473
1
Python基础教程:第2版(经典教程的全新改版,10个项目引人入胜)
2011-04-04
经典的购物系统概要设计说明书
2010-05-09
一名IT人如何更有效的学习IT专业知识(视频)
2010-05-09
python 中文插入mysql报错
2014-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人