- 博客(88)
- 收藏
- 关注
服务器数据同步SDK
服务器端数据同步需要标准化,最好的方案是提供一个数据SDK,给其它语言的开发人员使用。这样同步回来的数据能够标准化,数据格式统一,在数据仓库领域,可以减少后续的ETL成本。极大的提高数据质量。所以在企业数据仓库构建中,十分重要。但服务端语言种类较多,所以需要开发不同语言的SDK,现我们项目存在GO,Java,PHP,C++,C#,NodeJS等不同语言的SDK,采用写日志的方式,...
2018-07-18 21:32:04 401
基于BaseSqlGeneratorJdbcDao的增删改查类编写示例
目的可以简华增删改查的Dao开发,继承一个基类并配合JPA annotation即可完成一张表的增删改查 依赖 <!-- 自行检查是否有最新版本 --><dependency> <groupId>com.duowan.common</groupId> <artifactI...
2015-05-05 09:58:16 209
基于Freemarker动态SQL构造工具
一.目的将sql语句编写的xml中,然后在java代码中,传入参数,经过freemarker处理,得到处理完的SQL. 好处:sql编写在xml中,便于阅读可以使用freemarker语法,动态构建SQL可以使用freemarker的include语句,提取公用SQL 三.使用指南 maven <groupId&...
2015-05-05 09:53:58 2919
增强jedis连接池功能
maven 依赖 <dependency> <groupId>com.duowan.common</groupId> <artifactId>duowan-common-redis</artifactId> <version>1.0.1</version&g
2015-05-05 09:52:57 181
rapid-rest使用说明
一.服务端WEB-INF/rpc-servlet.xml<bean id="blogInfoService" class="com.duowan.common.rpc.fortest.api.BlogInfoServiceImpl"/><!-- 服务发布 --> <bean class="com.duowan.common.rp...
2015-05-05 09:51:19 179
原创 java,jackson,fastjson,hessian序列化 "单个对象“ 与 "List里面装1000个对象”,性能对比...
JavaSerDeImpl serialize single BLOG cost:16778 tps:59601 count:1000000JavaSerDeImpl serialize blogList.size:1000 cost:12146 tps:823 count:10000JacksonSerDeImpl serialize single...
2014-09-29 11:29:42 348
原创 工作中为什么不想听分享及不想分享?
一、为啥不去听别人分享?1、觉得对现有工作无关2、工作任务重,没空3、没目的,随大流4、觉得别人一次讲太多,记不住5、任务性分享,不感兴趣 二、为啥自己不主动分享?1、觉得内容少,不想分享2、无主题,主题窄3、压力大,硬凑PPT 4、工作任务压着,没空想分享5、目的性太强,没想其他东西 三、主动分享或听分享的好处?1...
2014-02-11 15:45:59 187
原创 rabbitmq性能测试
测试机器:CPU: 8核内存: 16GB硬盘:SAS 300GB ----------------------------------------------------------------- rabbitmq性能测试---------------------------------------------------------...
2013-06-07 15:18:06 912
压缩算法输入字节及压缩率测试,比较算法有 jdk Inflate, google snappy.
压缩算法输入字节及压缩率测试,比较算法有 jdk Inflate, google snappy. 输入数据共两份:1. RandomStringUtils.randomAlphabetic(count) 生成的随机字母2. 正常的英文文章 测试结果说明:input.length=输入大小 output.length=输出大小 Income.length:节省的大小 i...
2013-06-05 16:41:58 233
thrift性能测试数据
环境:8核 12GB内存 服务端代码:MessageBrokerService.Iface iface = SpringContext.getBean(MessageBrokerService.Iface.class); TServerTransport serverTransport = new TServerSocket(port); MessageB...
2013-06-03 18:41:05 323
原创 SEO经验及教训
经验总结列表 1. 合理的内链,便于蜘蛛爬行,如文章的:上一篇,下一篇2. 新站关键词密度,绝不是网上说的2% - 8%,那是针对老站来说的,新站则是2-3个,超过3个关键词有被K危险3. 新站百度只会访问你的网站首页,所以文章需要在首页链接显示4. 百度不支持sitemap.xml,这个东西是需要质量很高的网站才会邀请你使用的待遇5. 新站不要增加子域,会分散主域权重...
2013-01-26 15:36:26 127
nginx 最简cache配置
nginx.conf配置 #设置Web缓存区名称为cache_one,内存缓存空间大小为30MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。 proxy_cache_path /data/cache levels=1:2 keys_zone=cache_one:30m inactive=1d max_size=1g; location配置 pro...
2013-01-20 09:35:42 215
mysql map_get function,用于解析map结构数据,根据key返回相对应value
1.目的mysql的列是固定的,不支持存储如Map 结构的数据,但现在我们的需求是希望有一个 ext Map的扩展列,可以存储Map结构的数据,并且可以在mysql里面进行运算.(即schema free)。所以解决方案是创建一个map_get()函数,可以根据key得到对应的value函数功能:/* * 用于解析map结构的数据,根据传入的inputKey返回相对应的va...
2012-12-14 10:46:54 439
java使用java heap外(堆外)内存导致的内存泄露
java可以通过 java.nio.ByteBuffer.allocateDirect(capacity) 直接使用non java heap(java堆外)的内存 。 一.使用目的:1。开辟数据缓冲区 2。可以突破jvm内存限制,操作更多的物理内存(不同的jvm实现不一样,sun jvm会被限制,但能增加jvm能够操纵的一倍内存,而jrockit基本上可以将物理内存全部耗光)...
2012-04-26 13:09:10 635
hadoop 集群升级失败记录
一.错误概述 因为需要使用hadoop与hbase结合使用,所以需要为hadoop hdfs升级使用append写模式。需要对现有的hadoop 0.20.1 升级至0.20.205.0; 升级过程简单的使用 hadoop namenode -upgrade 从 -18 version => -32version(这个是dfs/name/current/VERSION).但我们发现0...
2011-12-12 20:26:45 485
linux :Resource temporarily unavailable错误解决
今天使用jrockit启动大量线程时(2026条线程)发生错误: Error starting thread: Resource temporarily unavailable 经过深入查询,排除了内存,句柄数等问题. 并且切换至root用户打开大量线程时没有问题。试着调整ulimit各项参数,最后发现是"max user processes "参数有问题,通过...
2011-08-15 22:28:24 5191
Mockito测试实例
Mockito是现在java领域中,用java语言编写的测试代码保持最简洁的一个mock框架(不与groovy等比较)。相比easymock,jmock,编写出来的代码更加容易阅读。无需录制mock方法调用就返回默认值是很大一个优势。 以下为实际的精简测试用例使用,相比较其它mock框架,更加容易阅读。更加符合DSL。 /** * Mockito测试使用实例 * ...
2011-05-23 21:10:29 242
分布式应用上下文(Distributed ThreadLocal)
1.问题单机应用内,在进程内部,我们可以使用ThreadLocal传递应用上下文的方式. 当前的 Spring Secrucity , Spring TransactionManager, Log4J MDC, Struts2 ActionContext等等应用场景随处可见. 但在是分布式系统下,由于不是在同一个进程内,所以无法使用ThreadLocal. 那么什么是分布式Threa...
2011-01-04 17:23:09 1120
接口滥用问题
我们知道,大家提倡面向接口编程,但凡事都有个度,当滥用,那么面向接口完全流于形式。 一.首先,我们先讲一下面向约定编程。企业编程中,都有一定的项目分层编程规范,如前台与后台逻辑之间的联系通过定义接口来完成。正如我们平时使用的 MVC三层模形,service层,dao层很多都使用接口,那么新来者肯定也要遵守规范,在这三层使用接口。就是大家约定成俗都使用接口而已。但请确记,你...
2010-10-11 17:19:29 527
log4jdbc日志框架介绍
现大家使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL Developer客户端直接执行,需要自己拼凑sql。而log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,方便直接拷贝sql在PLSQL Developer等客户端直接执行,加快调试速度。 一....
2010-08-20 13:24:16 198
rapid-framework v3.9新版本发布
hi,all 本次新版本发布最主要的更新内容是生成器的加强,并且之前已经发布了rapid-generator独立版.此次升级保证模板的兼容性.后续rapid-framework的发行版将不直接提供rapid-generator的源码在项目中,以便以后大家编写的模板都可以在一个生成器引擎中运行. 还有现生成页面布局使用rapid的模板继承,目标是替换现在的sitemesh布局框...
2010-07-13 21:17:35 213
原创 rapid-framework v3.9新版本发布
<br /><br />hi,all 本次新版本发布最主要的更新内容是生成器的加强,并且之前已经发布了rapid-generator独立版.此次升级保证模板的兼容性.后续rapid-framework的发行版将不直接提供rapid-generator的源码在项目中,以便以后大家编写的模板都可以在一个生成器引擎中运行. 还有现生成页面布局使用rapid的模板继承,目标是替换现在的sitemesh布局框架.后续计划: 本次发行版本是基于ant构建的最后一个版本,下一版本将迁移至maven构建,并且
2010-07-13 10:46:00 510 2
Holder模式
(本方法属于作者经验总结出该模式)Holder模式的主要功能是将一些Bean可以转为静态方法调用.方便使用.适用于一些系统只存在单例(singleton)并且 十分常用 的基础服务对象.这些基础服务如果每次使用spring注入,只会增加无谓的代码及一些不确定性.示例如下:BeanValidatorHolder.validate(bean) // HibernateValid...
2010-06-22 22:15:54 871
原创 Holder模式
(本方法属于作者经验总结出该模式)Holder模式的主要功能是将一些Bean可以转为静态方法调用.方便使用.适用于一些系统只存在单例(singleton)并且 十分常用 的基础服务对象.这些基础服务如果每次使用spring注入,只会增加无谓的代码及一些不确定性.示例如下: BeanValidatorHolder.validate(bean) // HibernateValidator一般系统只有一个CacheHolder.get("key") //如Memcached,应用系统也只有一个对象Appl
2010-06-22 22:14:00 454
原创 为velocity,freemarker提供jsp:include功能
一.介绍使用JSP的都知道jsp:include指令,可以使用如下功能,动态的加载其它请求。 Jsp代码 而如果你不是使用JSP,而是使用模板引擎如Freemarker,Velocity。有该功能也将十分方便。Freemarker提供了指令,使freemarker可以完成jsp:include功能,但velocity则没有提供该功能。 二.扩展现扩展实现一个比Freemarker更加通用的HttpInclude对象,可以适用于Freemarker及Velocity。Freemarker及Velocity示
2010-06-13 20:06:00 2039
为velocity,freemarker提供jsp:include功能
一.介绍使用JSP的都知道jsp:include指令,可以使用如下功能,动态的加载其它请求。 <jsp:include page="/header.jsp" /><jsp:include page="/servlet/header" /><jsp:include page="/header.do" /> 而如果你不是使用J..
2010-06-13 19:26:08 218
原创 系统参数的动态刷新,只需一个原则:保持类的无状态
应用系统的开发经常有参数动态刷新的问题,一般的方案会比较复杂,其实只要保持一个原则: 保持类的无状态,那么动态刷新参数是一简很简单的事情. 举下面这个例子. 将我们原来的代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/
2010-05-25 23:56:00 1284 4
系统参数的动态刷新,只需一个原则:保持类的无状态
应用系统的开发经常有参数动态刷新的问题,一般的方案会比较复杂,其实只要保持一个原则: 保持类的无状态,那么动态刷新参数是一简很简单的事情. 举下面这个例子. 将我们原来的代码: //我们有很多类似这样的UserSerive类,每个类都维护自己的状态,每个类的属性都需要动态刷新public class UserService { private String username...
2010-05-25 00:28:23 191
SOA架构的目的及价值
1.SOA存在的目的?传统的java类库要解决是的代码的复用而SOA架构的目的是服务复用,因为java代码的复用是无状态,而服务的重用则是有状态的(此处的无状态或是说跟环境相关的,如中国移动提供一个短信发送网关,那么我们通过这个网关即可以发送短信,这就是服务),并且一般还有跨语言的重用要求(这样可以更加的保障投资价值,所以经常选择webserice soap作为传输协议). 2.为...
2010-05-04 23:26:33 401
原创 rapid-framework发布新版本: v3.5
本次的主要更新内容是重新拾起flex,重整了flex插件. 而spring3.0.2及ibatis3正式版一直未发布,只能先发布rapid v3.5以后再更新进来,感谢一直支持rapid的同学.v3.5更新内容:扩展jsp,freemarker,velocity的模板可以相互继承,打造替换sitemesh,struts tiles的布局框架. freemarker,velocity
2010-03-24 19:41:00 483
rapid-framework发布新版本: v3.5
本次的主要更新内容是重新拾起flex,重整了flex插件. 而spring3.0.2及ibatis3正式版一直未发布,只能先发布rapid v3.5以后再更新进来,感谢一直支持rapid的同学.v3.5更新内容:扩展jsp,freemarker,velocity的模板可以相互继承,打造替换sitemesh,struts tiles的布局框架. freemarker,velocity实...
2010-03-23 19:01:34 184
原创 flex企业级UI权限控制
网上搜索了一番,用于控制flex UI组件的权限的框架只有chimp相近一些. 但是不喜欢他的基于flex annotation的权限控制方式.遂决定自己写一套flex权限控制框架。 如果你熟悉作者的另外一套javascript 表单验证框架rapid-validation,将会对下面的使用方式有似曾相识的感觉。 一.快速开始 1) 下载并添加flex_sec...
2010-02-24 11:00:10 119
原创 flex国际化
准备:flex3只支持两种语言,en_US,ja_JP,而flex4中则支持多国语言,所以可以将flex4中的%FLEX_HOME%\frameworks\locale\zh_CN拷贝至flex3中。 项目中增加国际化一.配置目录结构:flex_src --locale --zh_CN message.pr...
2010-02-08 15:38:36 94
原创 新工具: 能够将google code的wiki下载为离线html
在google code上编写wiki文档你最担心的是什么:1. 版本不好控制,在线同时只能浏览一个版本号的wiki页面。2. 不能提供离线版本 现在使用这个工具,可以将google wiki直接下载为本地的html ,并且与wiki相关的资源,如 css ,js ,图片都可以一同下载. 命令行: Java代码 google_code_wi...
2010-02-04 15:38:46 164
原创 扩展freemarker,velocity,实现模板的管道操作
操作系统中有一个很重要的功能,就是可以使用管道,即将前一个应用程序的输出流作为下一个应用程序的输入流. 现扩展的freemarker,velocity实现同样的功能。一.功能介绍 1.将前一个模板的输出,变成一个变量,后一个模板可以通过变量引用前一个模板的输出 2.整个管道下的模板都在同一个context中,即模板间可以相互引用变量 二.管道定义表达式 first.ftl...
2010-01-12 20:54:37 150
原创 扩展Velocity,实现模板的继承
与我之前的扩展freemarker类似,现新增加三个指令:block,override,extends 一.目的:父模板页面定义好布局,子模板可以重定义布局中的部分内容使模板可以实现类似"类"的继承关系,并不限继承层次二.继承概榄:父模板:base.vm<html><head> #block("head") base_head_c...
2009-12-28 12:00:31 218
原创 扩展freemarker,实现模板的继承
现扩展freemarker,新增加三个指令: @extends,@block,@override 一.目的 父模板页面定义好布局,子模板可以重定义布局中的部分内容使模板可以实现类似"类"的继承关系,并不限继承层次 二.继承概榄父模板: base.ftl <html> <head> <@block na...
2009-12-22 10:11:08 176
spring REST中的内容协商(同一资源,多种展现:xml,json,html)
接上一篇对spring rest的描述. 一.REST内容协商介绍 RESTful服务中很重要的一个特性即是同一资源,多种表述.也即如下面描述的三种方式:1.使用http request header: AcceptGET /user/123 HTTP/1.1Accept: application/xml ...
2009-12-21 14:14:45 167
原创 在jsp中实现"类"的继承关系
1.介绍使用过python django模板的应该清楚,django里面有一个激动人心的功能就是模板可以使用类的继承关系。 即模板是可以继承的,并且不限继承的层次。如1. child.html extends base.html2. grandchild.html extends child.html这样,我们在base.html中定义好html布局,然后在“子类”(我们这
2009-12-09 18:27:00 532 1
在jsp中实现"类"的继承关系
1.介绍使用过python django模板的应该清楚,django里面有一个激动人心的功能就是模板可以使用类的继承关系。 即模板是可以继承的,并且不限继承的层次。如1. child.html extends base.html2. grandchild.html extends child.html这样,我们在base.html中定义好html布局,然后在“子类...
2009-12-09 17:59:05 453
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人