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. fir.im Weekly - 揭秘直播移动 APP 技术实现

    2016年直播似乎无处不在,作为一个开发者也许需要补充下关于直播技术点.本期 fir.im Weekly 整理了一些开发者对于直播实践项目中的技术经验与直播技术架构分析等内容,还有一些关于 iOS . ...

  2. salesforce 零基础开发入门学习(十二)with sharing 、without sharing 、无声明区别

    在salesforce中,声明类大概可以分成三类:分别是可以声明为with sharing,without sharing,以及两者均不声明. public with sharing class A ...

  3. Android笔记——Android五大布局

    一.五大布局 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是Li ...

  4. SSH无密码登录

    首先生成密钥对 ssh-keygen -t rsa cd ~/.ssh/ cat id_rsa.pub 复制你生成的公钥 登录到需要免登录的服务器 cd ~/.ssh 添加到 authorized_k ...

  5. C++中“类”相关知识点汇总

    一:类中默认的成员函数 一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,如果你写 class Empty{}; 就相当于: class ...

  6. android rectF

    new Rect(left , top, right , bottom) 这个构造方法需要四个参数这四个参数 指明了什么位置 ?我们就来解释怎么画 这个 矩形 这四个 参数 分别代表的意思是:left ...

  7. 【博客美化】06.添加QQ交谈链接

    博客园美化相关文章目录: [博客美化]01.推荐和反对炫酷样式 [博客美化]02.公告栏显示个性化时间 [博客美化]03.分享按钮 [博客美化]04.自定义地址栏logo [博客美化]05.添加Git ...

  8. Android属性动画之ObjectAnimator控制

    Android为我们提供了大量的动画效果,如何通过这些动画来达到我们需要的效果呢?今天就为大家总结一下ObjectAnimator动画控制事件. 该项目的的布局文件只有两个控件:ImageView和B ...

  9. Codeforces Round #277(Div. 2) (A Calculating Function, B OR in Matrix, C Palindrome Transformation)

    #include<iostream> #include<cstring> #include<cstdio> /* 题意:计算f(n) = -1 + 2 -3 +4. ...

  10. selenium-webdriver(python) (十五) -- 鼠标事件

    本节重点: ActionChains 类 context_click()  右击 double_click()   双击 drag_and_drop()  拖动 测试的产品中有一个操作是右键点击文件列 ...