2013年6月29日
摘要: 模式-视图-控制器(MVC)是UI设计中常见的设计模式,该模式区分应用程序中的模式、视图和控制器三个角色,消除了业务逻辑与UI的耦合。模式负责封装视图展示的应用数据。视图应该只显示数据,不包含任何业务逻辑。控制器负责接受用户请求并调用后端服务进行业务逻辑。处理之后,后端服务可能返回某些数据供视图显示。控制器收集这些数据并准备视图的显示模式。MVC模式的核心思想是分离业务逻辑与UI,使它们能够独立修改,互不影响。 对与Web端的开发,从最开始的CGI,model1,以及现在的由model2演化而来的Web MVC模式,逐渐形成这三个角色的概念,servlet作为控制器,模型采用javabean. 阅读全文
posted @ 2013-06-29 20:45 糊涂先生 阅读(685) 评论(0) 推荐(0) 编辑
  2013年6月23日
摘要: 事务管理是企业应用开发中确保数据完整性和一致性的关键技术。对于并发和分布式坏境中从不可预期的错误中恢复来说,事务管理特别重要。Spring作为一个企业应用框架,在不同的事务管理API之上提供了一个抽象层。Spring支持编程式和声明式两种事务管理。编程式事务管理通过在业务方法中嵌入控制事务提交和回滚的事务管理代码来实现,自己定义事务提交和回滚的规则,因此这样代码会很多重复,不能为不同的应用程序启用和禁用事务管理;而声明式事务管理在大部分情况下比编程式事务管理好,它通过声明将事务管理代码从业务方法中分离出来,但其灵活性不如编程式事务管理。spring支持的事务属性包括传播行为、隔离级别、回滚规. 阅读全文
posted @ 2013-06-23 11:05 糊涂先生 阅读(595) 评论(0) 推荐(0) 编辑
  2013年6月22日
摘要: Spring提供了统一的数据访问异常层次体系,所涉及到的大部分异常类型都定义在org.springframework.dao包中,出于这个体系中所有异常类型均以org.springframework.dao.DataAccessException为“统领”,然后根据职能划分为不同的异常子类型。各个类就不做介绍了,如图: 该体系在整个Spring数据访问层中起到了提纲挈领的作用。 一、传统的DAO方式 传统的DAO方式,我们使用JDBC方式来进行数据访问操作,该方法的好处在于我们可以自己管理数据库相关的资源,并且显示处理数据库异常,可以使用原生的JDBC API来进行编程,使用数据源提高访问.. 阅读全文
posted @ 2013-06-22 14:40 糊涂先生 阅读(852) 评论(0) 推荐(1) 编辑
  2013年6月18日
摘要: 任务调度是大多数应用系统的常见需求之一,拿论坛来说:每个半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行对锁定过期的用户进行解锁。以上都是以时间为关注点的调度,事实上我们在实际中还会使用资源上的调度,如线程的使用。spring提供了Quartz,Timer,Executor的支持,使得使用时更加简化。 一、Quartz 1.Quartz提供了强大的任务调度机制,提出了调度器、任务、触发器这三个核心概念。 Job: 是一个接口,只有一个执行方法,开发者想要完成什么任务,可以自己实现。 JobDetail: 描述Job实现类及其他静态信息,Quartz每次执行j. 阅读全文
posted @ 2013-06-18 21:27 糊涂先生 阅读(3220) 评论(0) 推荐(0) 编辑
摘要: 在最近的项目中,使用到了spring相关的很多东西,有点把spring的配置给搞混了,从网上查到的资料以及整理了一下。 在Web项目中,启动spring容器的方式有三种,ContextLoaderListener;ContextLoaderServlet ;ContextLoaderPlugIn 1.在web.xml中配置ContextLoaderListener,如 contextConfigLocation/WEB-INF/spring-context.xmlorg.springframework.web.context.ContextLoaderListener 可以通过的方式把其... 阅读全文
posted @ 2013-06-18 14:06 糊涂先生 阅读(1656) 评论(0) 推荐(0) 编辑
  2013年6月13日
摘要: 原文转自:http://qa.taobao.com/blogs/qa?bid=10514 这是本人看到过的关于hadoop的比较容易理解的入门文章,在此转载过来,方便广大像我这样的初级码农。原文如下:引言 最近了解到淘宝使用hadoop的项目多了起来,hadoop对于许多测试人员来说或许是个新鲜玩儿,因此,把自己之前整理的学习笔记整理发上来,希望通过此系列文章快速了解Hadoop的基本概念和架构原理,从而助于hadoop相关项目的测试理解和沟通。 Hadoop简介 Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架,借助于 Hadoop, 程序员可以轻松地编写分. 阅读全文
posted @ 2013-06-13 17:04 糊涂先生 阅读(248) 评论(0) 推荐(0) 编辑
  2013年4月15日
摘要: 本论文是我看过的一本书叫《SQL基础教程》的笔记,当时记在了本子上,现在本子估计大限将至,所以转存在博客里,都是SQL的基础使用,以供复习和参考之用。 首先讲述常见数据库的命令行方式连接: SQL Server 2000 >osql -E -d dbname SQL Server 2005/2008 > sqlcmd -d dbname oracle> sqlplus user/password@dbname DB2> db2 connect to dbname MySQL>mysql -h host -u user -p dbname Pos... 阅读全文
posted @ 2013-04-15 23:22 糊涂先生 阅读(435) 评论(0) 推荐(0) 编辑
  2013年3月25日
摘要: 数据结构中树的操作,很多时候我们不会自己写些底层的树算法,有很多的函数库已经实现了相关的算法并且性能较好,但是理解树的含义也尤为重要,下面是二叉树的四种遍历算法和相关的一些算法,本文给出都是非递归算法。 1.前序遍历(根左右)voidPreOrderN(BTreeNode*BT){constintMS=10;BTreeNode*s[MS];//用数组来模拟栈inttop=-1;BTreeNode*p=BT;while(top!=-1||p!=NULL)//栈为空或节点为空{while(p!=NULL){countdataright!=NULL){top++;s[top]=p->right 阅读全文
posted @ 2013-03-25 23:38 糊涂先生 阅读(371) 评论(0) 推荐(0) 编辑
  2013年3月20日
摘要: 面试中单链表的相关操作也是常考的内容,本博文也是之前学习时的笔记,在此记录下来,以便日后用到,同时欢迎批评指正。 一、基本操作 单链表的基本操作包括链表的创建、销毁、判空、索引、插入、删除等,下面是在链表的相关操作程序,链表的定义如下: typedef struct LNode{ int data; struct LNode *next; }LNode,*LinkList; 此链表是带有头结点的,因此空链表的形式是 head->next=NULL. 1. 链表的初始化LinkListInitList(void) {LinkListhead=NULL;he... 阅读全文
posted @ 2013-03-20 00:38 糊涂先生 阅读(318) 评论(0) 推荐(0) 编辑
  2013年3月17日
摘要: 前段时间找实习的时候,为了学习算法和数据结构,自己总结和其他渠道得来了一些基本的排序和查找算法,使用C++的模板实现,在此不进行复杂度分析只作为日后使用作参考,直接上代码。 一、排序 1.直接插入templatevoidInsertionSort(TypeArray[],intlength){intindex,j;Typetemp;for(index=1;index0&&tempvoidSelectionSort(TypeArray[],intlength){intindex,j;intsmallIndex;Typetemp;for(index=0;indexvoidBubbl 阅读全文
posted @ 2013-03-17 17:33 糊涂先生 阅读(340) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2013-03-17 00:50 糊涂先生 阅读(28) 评论(0) 推荐(0) 编辑
  2013年1月31日
摘要: AOP(Aspect Oriented Programming),即面向方面编程,是通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。它以”方面“的方式对原有的模块进行重组,抽取那些与业务无关却为整个系统所通用的功能,并将其最终封装在一起。 在java世界里,AOP的应用已经走向成熟,从AOP体现的能力上来说,AspectJ、Spring已经渐趋成熟。面向方面编程的价值主要体现在事务处理、日志管理、权限控制等于业务无关却为业务模块所共同调用的逻辑或责任上,而这些所谓的“方面”,恰恰是在企业应用时所必须的。因此,与其说AOP是一种编程的技术,毋宁说AOP. 阅读全文
posted @ 2013-01-31 11:19 糊涂先生 阅读(390) 评论(0) 推荐(0) 编辑
  2013年1月25日
摘要: Spring是一个轻量的控制反转和面向切面的容器框架。Spring框架所提供的众多功能之所以能成为一个整体,正是因为建立在IoC的基础之上。Spring是为了降低企业应用程序开发的复杂性而创建的,主要优势之一是分层架构,由7个定义良好的模块组成。这个7个模块如下: 组成spring框架的每个模块都可以单独存在,或者与其他一个或多个模块联合使用。整个Spring框架构建在Core核心模块之上,它是整个框架的基础。在该模块中,Spring为我们提供了了一个IoC容器实现,用于帮助我们以依赖注入方式管理对象之间的依赖关系。Spring的AOP框架采用Proxy模式构建,与IoC容器相结合,可以充.. 阅读全文
posted @ 2013-01-25 15:21 糊涂先生 阅读(482) 评论(0) 推荐(0) 编辑
  2013年1月24日
摘要: 最近写过一次awk脚本,发现vi的使用居然忘了,又重新温习了一遍,现在把之前的整理基本用法记录下来。 Vi是Linux/unix系统默认的编辑器,就像是windows下的notepad一样。但是vi编辑器如果熟练使用,效率不知道比notepad快多少倍! vi有三种工作模式,分别是命令行模式、插入模式、末行模式,我们经常是在插入模式下编辑文字的。三种模式的转换方式如下: 我们每次启动vi都是以命令模式开始,在vi编辑器下是区分大小写的。如果不确定是处在什么模式下,则连续按两次ESC就可以处在命令行模式下了。下面讲述vi的基本使用: 一、光标移动 在非插入模式下,k,j,h,l四键分别代表光.. 阅读全文
posted @ 2013-01-24 17:15 糊涂先生 阅读(259) 评论(0) 推荐(0) 编辑
  2013年1月16日
摘要: Hibernate是轻量级的JavaEE应用的持久层解决方案,Hibernate不仅管理Java类到数据库的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度缩短使用JDBC处理数据持久化的时间。由于目前主流数据库依然是关系数据库,而Java语言则是面向对象的编程语言,当把二者结合在一起使用时相当麻烦,而正好Hibernate完成对对象模型和基于SQL的关系模型的映射关系。使得应用开发者可以完全采用面向对象的方式来开发应用程序。 ORM框架作为面向对象编程语言和数据库之间的桥梁,可理解成一种规范,它把关系型数据库包装成面向对象的模型。实际上所有的O. 阅读全文
posted @ 2013-01-16 15:44 糊涂先生 阅读(397) 评论(0) 推荐(0) 编辑