KT Session2: 主要是代码的实现(KT is knowledge Transfer)

如图所示,在整个Social Hub项目中,我们的项目Data Feed Service处于承上启下的作用。对下,我们调用Autonomy的API Service,呈现给我们经过了筛选过的Media Data,向上我们可以提供给SmartPhone、store.hp.com来增加store流量,促成交易。

如图所示,是项目的架构图,提供Admin Site给Marketing Team做决策,这是各个项目Team之间的逻辑关系图。

上图所示,是我们的Admin Site的界面操作流程。接下来,趁着Bruce的KT还没有忘记,对这次项目KT中收获的知识点做个总结。

1、Junit测试,之前一直以为在maven的src/test的测试部分是由测试人员完成的。Junit作为单元测试工具,大部分情况下还是由Java开发人员来编写的,这部分测试完成的是对action业务逻辑的测试。测试人员则负责高并发等一些系统的运行效率类似的核心问题。

2、UI,之前对UI的理解是前端工程师。负责项目的前端页面的美化。UI只负责设计,了解用户的体验习惯。让软件产品变得使用舒服、简单、自由。前端工程师则是按照UI设计师的要求,用技术实现对页面的布局和实现。后台则负责了业务逻辑,所以后台在整个项目的运行状态中,因为用户体验度的改动还是蛮小的。

3、Admin site端展示的图片、文本、视频、音频文件。我们要展现它们,可以有以下几种形式:1.0101字节流存在数据库中。2.文件形式存储在服务器上。3.URL形式,需要的时候动态加载。

4、web.xml配置文件中,除了对Servlet进行了配置外。还配置了filter和listener。

  filter过滤器,当Admin site需要用户登录式来管理的时候,filter负责过滤,在doFilter方法中,从session中验证之后登录,或者第一次登录,跳到登录界面。关于验证码,我们可以用Java的swing组件自己画或者调用开源的jar包插件。

  listener监听器,我们的服务器时刻处于监听被阻塞的状态。为了保证每次当客户端有请求发过来时,我们能即时作出相应。就用到了监听器。

  Servlet也是Java类,在MVC中负责的是Controller的职责。当然如果我们在项目中采用了SSH等其他框架的话,会用相应的框架的一些配置文件来代替Servlet的配置。

  CXF框架,使用CXF提供了web service服务,返回一个.xml的文档。

  数据库中的游标。作用:通常情况下,关系数据库中的操作总是对整个记录集产生影响,例如使用SELECT语句检索数据表时,将得到所有满足该语句where子句中条件的记录,而在实际应用过程中,经常需要每次处理一条或者一部分记录。在这种情况下,需要使用游标在服务器内部处理结果集合,他可以有助于识别一个数据集合内部指定的记录,从而可以有选择的按记录执行操作。

  MongoDB;

  Autonomy,通过其提供的com.autonomy.aci.client;我们根据参数(Autonomyd的IP和Port)返回.xml文档。Java会对其中各个节点,逐层遍历各个node。

  Java对Json的解析。

  H2DB适合用于测试的时候用的数据库。SQL Server和Oracle都是收费的。

  OScache缓存。通过Map中key--value的形式,可以缓存java对象;.jsp;.html等。

  Junit测试。使用@Test代替了传统的:每个方法需要继承一个基类。

  easymock用于单元测试的一些知识。

  同样在web.xml中还配置了404页面;error.jsp页面。

5、前端部分:

  ajavx异步请求。里面封装了参数,诸如url、dataType、data、success等。

  前端调试:F12.页面调试;network调试和console调试。

  Html5自适应各个像素的界面。适应屏幕尺寸本质上其实就是在自适应界面。同样,我们也可以通过浏览器的缩小、放大方式来适配各种类型的html5手机网页。

  JQuery,实现了对js的封装,实现了操作html中的dom的修改。

  开源的bootstrap框架。

项目总结笔记系列 Social Hub KT Session2的更多相关文章

  1. 项目总结笔记系列 Social Hub KT Session1

    项目后台访问地址: URL:http://socialhub-itg-app.itcs.hp.com/data_feed_service/main.jsp 或者URL:http://c0048925. ...

  2. 项目总结笔记系列 Autonomy IDOL Server KT Session1

    在说上面这个图之前,先说一下背景知识. Autonomy地址: http://www.autonomy.com.cn http://www.autonomy.com.cn/content/home/i ...

  3. 项目总结笔记系列 wsTax KT Session1

     项目总结笔记 1.专有名词解释: SMO, Separate Management Office. UAT, User Accept Test. GSLB, Global Server Load B ...

  4. 项目总结笔记系列 Maven Session2

    主题:Maven插件 1.三个生命周期. 2.猛然间,一回首,竟然发现.之前的maven插件报错的原因,不是download的问题.是没有连接上网.在HP公司连接外网,用eclipse,是需要配置代理 ...

  5. 项目总结笔记系列 Maven Session1

    主题:Maven 参考地址: 1.http://www.yiibai.com/maven/ 2.http://www.icoolxue.com/ 目录 1.环境搭建 2.pom.xml文件解析 3.m ...

  6. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  7. [openwrt 项目开发笔记]: 传送门

    “Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...

  8. [Openwrt 项目开发笔记]:PHP+Nginx安装(七)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们已经搭建了MySQL数据库了,因 ...

  9. [Openwrt 项目开发笔记]:MySQL配置(六)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在本人的项目中,运行在路由器上的服务器采用Ngi ...

随机推荐

  1. ci框架里rewrite示例

    ci里新建应用app,入口文件app.php. Nginx 这里附上vhost配置 app.52fhy.com.conf server { listen 80; server_name app.52f ...

  2. Linux之VSFTP服务

    一 .文件服务器简介 ftp:在内网和公网使用. 服务器:windows,linux 客户端:windows,linux samba:只能在内网使用(文件共享服务) 服务器:windows,linux ...

  3. SQL中group by的用法

    group by即按照给定字段对结果集进行分组,从字面意义上理解就是根据"by"指定的规则对数据进行分组,所谓的分组就是将一个"数据集"划分成若干个" ...

  4. java基础 数组15

    15.找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}

  5. [Java面试十]浏览器跨域问题.

    此块内容参考Ajax文档部分. 主要复习内容:     1.JavaScript核心对象     2.浏览器BOM对象     3.文档对象模型DOM     4.常见事件     5.Ajax编程( ...

  6. 《JAVA 从入门到精通》 - 正式走向JAVA项目开发的路

    以前很多时候会开玩笑,说什么,三天学会PHP,七天精通Nodejs,xx天学会xx ... 一般来说,这样子说的多半都带有一点讽刺的意味,我也基本上从不相信什么快速入门.我以前在学校的时候自觉过很多门 ...

  7. 跨域API

    跨域API 简单跨域请求 只需要简单的设置允许跨域就可以了 def set_default_headers(self): self.set_header('Access-Control-Allow-O ...

  8. javascript中function 函数递归的陷阱问题

    //看下这个递归方法,最后输出的值function fn(i){ i++; if(i<10){ fn(i); } else{ return i; } } var result = fn(0); ...

  9. c#将list集合转换为datatable的简单办法

    public static class ExtensionMethods        {        /// <summary>        /// 将List转换成DataTabl ...

  10. MemCached add命令的用法详解

    增加: add 往内存增加一条数据 命令格式: add key flag expiretime bytes\r\n data\r\n //跨行所加的一些数据 1)key: 给这个值起一个固定的名字 / ...