坚信科学,分享技术

rose手册第三章三节:controller层:ErrorHandler支持

3.3.1 ErrorHandler的作用 一般来说传统的编程都会到处去try,特别是java里,try来try去的(如果你用erlang一定就知道,已经知道的可能性,怎么能叫异常?都try了还是让它崩了算了。。。)。 如果打开你的项目,每个java文件中的代码都有一堆的try,那这时候就是ErrorHandle上阵的时候了。 ErrorHanle致力于:统一捕捉和处理各种异常,可区分对待和返回;统一的出错体验。 非常类似做web开发时的500统一出错页面这样的东东。 3.3.2 示例 /** * @author chenzhen@xiaomi.com * 2010-12-1 */ package com.chen.controllers; import net.paoding.rose.web.ControllerErrorHandler; import net.paoding.rose.web.Invocation; public class ErrorHandler implements ControllerErrorHandler { public Object onError(Invocation inv, Throwable ex) throws Throwable { // TODO logger.error("handle err:", ex); return "@error"; } } 这是这么简单,不用怀疑! 3.3.3 放在哪里才能生效? 放在controllers目录下,和controller们

Continue reading

Posted in java | Tagged | Leave a comment

54chen Twitter memo 2012-05-13

开这些年互联网开发最怕的事情:设立一个专门的QA团队,让研发团队通过不断的开关bug帮助QA团队理解产品需求和架构设计。 # 54chen Twitter memo 2012-05-06 http://t.co/5RcTU0GG #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

54chen Twitter memo 2012-05-06

在小米面试技术,基础一定要好,数据结构算法啥的,最关键的,一定要有一技之长,或者叫做闪光点。没有闪光点的哥们,来了也会很郁闷,我们也会很郁闷。面试不通过的哥们,不是你技术太差,是被上一家公司磨洋工磨得太平。 # rose手册第三章二节:controller层:拦截器支持 http://t.co/qX4gW9qG # 今天五四,丢出来一份青春时期的代码,802.1x在gtk下的实现,大学校园局域网拔号你用过吧,https://t.co/OU6LpNPM 一晃已经过去七八年了,当时还没有git啊(readme写的时间大概是08年左右),为了不侵犯人家公司权利,代码仅供学习呀作毕业设计呀啥的使用。 # NIH综合症是叫“不花钱自己搞癖好”好呢,还是叫“参考开源自己搞癖好”好呢? # 今天是五四青年节,http://t.co/WPe8C5Cn ,五四陈科学院祝十四岁以上的青年们节日快乐!同时不要忘记下个月的今天。 # scala会越来越流行。 # 保持松散结构团队持续战斗力的秘密:每一个成员明确自己的目标,分清主次,日常解决重要不紧急的事情,形成良好的时间管理习惯,还有scrum。 # 快要败给这个官方读法了 http://t.co/wogMYjAg #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

rose手册第三章二节:controller层:拦截器支持

3.2.1 拦截器作用 面向切面编程(AOP)方法可以让一个项目更加关注核心逻辑,常见的一些最佳实践包括 权限 缓存 错误处理 延时加载 调试 持久化 资源池 等等。。。 而此处的拦截器目标是在controller层提供各种在controller执行前、执行后的代码切入,以达到各种可AOP的目标。 简单地说,拦截器能干的事情就是当你的项目写了一半时发现缺少啥全局要做的事情(比如需要验证权限),不用担心,搞一个拦截器就是了。 3.2.2 拦截器例子 public class AccessTrackInterceptor extends ControllerInterceptorAdapter { public AccessTrackInterceptor() { setPriority(29600); } @Override public Clas

Continue reading

Posted in java | Tagged | Leave a comment

54chen Twitter memo 2012-04-29

nginx准备支持spdy,不错哦,http://t.co/ylumpRSn # @sosofaraway 去哪了哥 # @shenzhenyu 要使用0.5.0的thrift包。 # @roadli 这个是假的活动 # @PiouseLeo 哈哈,还没,不过只差最后这道工序了 # @Fenng 哪尼? # IT从业人员京城摇号买车攻略,哈哈,有空写一写。 # rose手册第三章一节:controller层:url对照规则与返回结果规则 http://t.co/OZmQzv5w # roser 第3.1节,https://t.co/jMa5Xa7h,由团队的@vaporz 完成此节,是不是和之前的风格有点不一样,很细很有爱。 #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

rose手册第三章一节:controller层:url对照规则与返回结果规则

3.1.1) url对照规则——最简单的例子 先看看怎样把url和某个方法对应起来。为了方便说明,现在我们来一起完成一个极简版的贴吧。 1)贴吧需要什么功能? 贴吧中当然会有很多“主帖”(topic),“主帖”下会有很多“跟帖”(comment)。 一般,贴吧中最基本的,会有下面这几个功能需要我们完成: 显示主帖列表 显示单个主帖和它的跟贴 显示单个跟贴 创建一个主帖 创建一个跟贴 2)设计 web API 然后让我们来规划一个REST风格的 web API :(“GET”和“POST”是指HTTP1.1中的请求方法) 显示主帖列表 GET http://github.com/myforum/topic 显示单个主帖和它的跟贴 GET http://github.com/myforum/topic/123 显示单个跟贴 GET http://github.com/myforum/topic/123/comment/456 创建一个主帖 POST http://github.com/myforum/topic 创建一个跟贴 POST http://github.com/myforum/topic/123/comment 可以发现一个共同点,所有API中,URI部分的第一级都是“/myforum”(但这并不是规定,仅仅为了演示)。 3)实现 web API 首先新建一个类,这个类的类名必须以“Controller”结尾:

Continue reading

Posted in java | Tagged , | 3 Comments

54chen Twitter memo 2012-04-22

收集最佳实践:在SOA框架(非msgQ)固定的情况下,messageQueue的位置应该是同SOA框架还是应该在各个service内部? # 54chen Twitter memo 2012-04-15 http://t.co/BwRRIR44 #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

54chen Twitter memo 2012-04-15

看来小米做得还不错,一没弄清楚情况的猎头哥们,还以为我还在人人网,一说我在移动互联网公司,就问是不是小米。 # 如果被疼讯抄袭可以用来做为融资时证明价值的一个条目,还是不错的。 # http://t.co/d8udrNbQ 呸,丢人。 # rose手册第二章:配置与使用 http://t.co/vzZj95Qa # 54chen Twitter memo 2012-04-08 http://t.co/7Wd0eRMC #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

rose手册第二章:配置与使用

ROSE 2.1 基础环境 * 普通的pc机,del 380 * ubuntu 10.04基本不升级 * java version "1.6.0_29" * eclipse * m2clipse * 茶一杯 2.2 maven简介 * maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。如果你已经有十次输入同样的Ant targets来编译你的代码、jar或者war、生成javadocs,你一定会自问,是否有一个重复性更少却能同样完成该工作的方法。Maven便提供了这样一种选择,将你的注意力从作业层转移到项目管理层。Maven项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿主项目网页。 * maven对一个项目进入了固定的默认目录定义: * src/main/java 写主要的java实现 * src/main/resources 写主要的配置文件 * src/test/java 写test case * src/test/resources 写test case所需要的配置文件 * src/main/webapp [war项目特有]web项目的对外目录 * src/main/webapp/WEB-INF [war项目特有]web项目配置web.xml目录 2.3 项目建立 * 打开eclipse(需要提前安装好m2clipse插件) * new -> other -> maven -> maven project * create a simple project * next * grou

Continue reading

Posted in java | Tagged | Leave a comment

54chen Twitter memo 2012-04-08

sonatype维护权限比较有意思,使用jira来管理权限申请过程,rose的jar包很快提交到maven中央仓库,这样在写rose教程第二章的时候不那么费口舌去说什么是maven了。https://t.co/jJ2osdy4 #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment
Page 1 of 4412345102030...Last »
54chen on Twitter
Connect with 54chen on
Twitter sina微博V GMAIL Profile
54chen,真名:陈臻。
2010年加入小米科技。
关键词:
rose,riak,rabbitmq,zookeeper,thrift,nuclear,
senseidb,hadoop,hive,dynamo,
php extension,nginx module

天下风云出我辈,一入江湖岁月催.
鸿图霸业谈笑中,不胜人生一场醉.
提剑跨骑挥鬼域,白骨如山鸟惊飞.
尘世如潮人如水,只叹江湖几人回.

过去的经历:
人人网分布式研究人员(nuclear系统开发者)
雅虎、淘宝搜索开发工程师
金山词霸开发工程师
曾用代号有:cc0cc、零蛋。

SEARCH

Comments

  • 54chen: 最好用hive的load file去hdfs,scribe的hdfs...
  • 剑舞: 利用scribe写入hdfs的时候,是否有遇到...
  • 54chen: 代码公开在 https://github.com/54chen/MyNe...
  • 未来之风: 您好,不知道您这个是否支持神州数...
  • 54chen: 是的...
  • heroqt: 哦,是不是可以加上@Path("/")指定作为...
  • heroqt: 那么处理http://github.com/topic的函数必...
  • afei: 陈老师威武!哈...
  • Frank: 期待下一...
  • kangzj: 把slice编译成php之后,就可以调用“...