0%

学会Segmented Control点击切换视图

故事版:

故事版

<br/ ><br/ >
要注意的是,这里有两个view,一个是被隐藏的,我放在了同一个位置
被隐藏的view


功能描述:

1
2
3
4
5
6
7
8
9
10
11
st=>start: 开始
e=>end: 结束
op=>operation: 选择一个segment
s1=>operation: 个人信息segment
s2=>operation: 学校信息segment
r1=>operation: 个人信息页面
r2=>operation: 学校信息页面
cond=>condition: 判断选择哪一个segment
st->op->cond
cond(yes)->s1->r1->e
cond(no)->s2->r2->e
阅读全文 »

这学期hadoop的作业是实现ID3算法,在网上找到了一篇非常好的资料,但是代码没有详细介绍。研究一番之后写出了自己ID3算法的普通实现和线程模拟分布式实现。

先附上原文地址:
http://www.cnblogs.com/zhangchaoyang/articles/2196631.html
博主写的非常好,基本上简单易懂的描述了ID3算法的原理。

问题

统计了14天的气象数据(指标包括outlook,temperature,humidity,windy),并已知这些天气是否打球(play)。如果给出新一天的气象指标数据:sunny,cool,high,TRUE,判断一下会不会去打球。

ID3原理

直接看博客链接,非常详细http://www.cnblogs.com/zhangchaoyang/articles/2196631.html

代码实现

别忘了放入输入文件,按我的程序保存在指定位置,保存名为weather.arff

阅读全文 »

概述

数据挖掘方法依据的基本原理主要有:

  1. 信息论,主要是计算数据库中属性的信息量,如ID3、IBLE等方法

  2. 集合论,利用集合之间的覆盖关系(如粗糙集方法、覆盖正例排斥反例的AQ11方法),或计算数据项在整个集合中所占的比例(如关联规则挖掘方法);

  3. 仿生物技术,把生物体的运转过程转换成数学模型,再用数学模型去解决现实世界的非生物问题,如神经网络、遗传算法等

  4. 人工智能技术,主要是利用启发式搜索方法,如公式发现的BACOM、FDD等方法

  5. 可视化技术,主要是利用图形显示技术


归纳学习的信息论方法

  归纳学习方法是目前重点研究的方向,研究成果角落。从采用的技术上看,分为两大类:信息论方法(这也是常说的决策树方法)和集合论方法。每类方法又包含多个具体方法。

信息论方法是利用信息论的原理建立决策树。由于该方法最后获得的知识表示形式是决策树,因此一般文献中称它为决策树方法。该类方法的实用效果好,影响较大。

信心轮方法中较有特色的方法有以下几种。

阅读全文 »

文\Lotty周小鱼

最先需要了解的名词

OLTP: On-Line Transaction Processing联机事务处理系统
OLAP: On-Line Analytical Processing联机分析处理系统

1. 它们代表了什么?

从我们过去的接触中可以很快感知到数据库所对应的是OLTP,而数据仓库对应的是OLAP。
数据库中最常用的名词是“事务”,所有的操作都是面向事务的。
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。

2. 他们分别能做什么?

数据库技术可以实现数据的存储和管理数据,同时也是用户所需要的各种数据管理的方式。我们可以看到数据库可以管理信息系统、办公自动化系统等等系统必不可少的核心部分。因为现在技术一切数据需要管理。

数据仓库创建目的是为了分析性报告和决策支持。它为企业提供需要业务智能来指导业务流程改进和监视时间、成本、质量和控制。总的来说,数据仓库可以分析市场提供有效的提供企业决策。

数据库和数据仓库/OLTP与OLAP

数据仓库的出现,并不是要取代数据库。并且,一般来说数据仓库就是由大量数据库数据构成的。数据仓库是为了解决数据库所不能解决的问题,数据库能够实现对数据的操作但不能分析数据。数据仓库通过对数据库数据集合的分析实现决策。
数据仓库建设是一个工程,是一个过程,而不是一种可以购买的产品。企业数据处理方式是以联机事务处理形式信息,并利用信息进行决策;在信息应用过程中管理信息。

数据库 数据仓库
面向事务的设计 面向主题设计的
一般存储在线交易数据 一般是历史数据
尽量避免冗余 有意引入冗余
为捕获数据而设计 为分析数据而设计
阅读全文 »

Transaction不管在WEB开发还是数据库中都是相当重要的概念。在WEB开发框架中Transaction的实现方面却有着很多的不同。下面以J2EE介绍Transaction。

一、 Transaction是什么

Transaction是指一系列不可分割的改动数据库的操作。这里的“一系列”操作指的是一组SQL语句;“不可分割”就意味着一致性和完整性,要么这一系列操作全部commit(提交),要么就全部rollback(回滚)。(如果一系列的操作只包含enquiry操作,那么这些操作也不是Transaction) 所以常见的代码结构

1
2
3
4
5
6
7
8
public void save(User user) {
Session s = sessionFactory.openSession();
s.beginTransaction();
s.save(user);
//…
s.getTransaction().commit();
s.close();
}

二、在J2EE中,Transaction主要有几大类,具体有几种?

在J2EE中,Transaction主要有

  • Bean-Managed Transaction
  • JDBC Transaction
  • JTA Transaction
  • Container-Managed Transaction
阅读全文 »

Action的构造:

  1. Struts1要求Action类继承Action或者其他几个基类。
  2. Struts2的Action类不需要继承任何类,出于习惯可以继承ActionSupport。
    所以任何一个javabean都可以作为Action,在写起来时候没有太多规范。理过程不再是控制死死的流程,而是通过AOP的方式将request和response进行处理。

依赖容器:

  1. Struts1基于M2开发,所以Action依赖Servlet,导致Struts1中的Action方法必须传入HttpServletRequest和HttpServletResponse等4个参数。依赖Servlet导致依赖容器,因为调用方法必须传入参数,所有Struts1中Action不能单独被测试。
  2. Struts2 Action不依赖于容器,允许Action脱离容器单独被测试。在Struts2中需要Session和Request时,可以让Action实现SessionAware和RequestAware接口,其实该接口只需要实现session和requeset的get,set方法,只要Action中有这两个对象和getter,setter就可以直接获得session和request。

IOC思想:

在获取参数时

  1. Struts1 使用ActionForm对象捕获输入,这回使得结构非常的复杂,并且让人觉得多此一举(因为你不但要使用ActionForm对象,还需要写一个ActionForm,同时在xml对其配置)。或者使用session.getAttribute(),每次获得一个参数需要使用大量的重复代码,这样导致了大量的代码冗余。最重要的是,struts1没有将属性当做对象来对待。
  2. Struts2在Action中加入需要的属性,通过调用其getter,setter将页面的参数传入其中,最重要的事,它将页面的属性封装好成为对象,这里用到的就是OGNL。大家或许注意到,在页面中动态显示的部分都是一个对象全部属性或者是一个对象的部分属性,比如登陆页面,显示(或者输入)的是user对象的username和password属性。这时候,直接将封装成对象减少了大量的getAttribute,减少了代码冗余。

IOC或者说“依赖注入”的思想虽然由spring提出,但是在Struts2中已经可以体现,Action中的实体对象,就是通过注入的方式获得。

阅读全文 »

简介

今天将会做一个Cookie的Demo,也是我今天在写项目时刚刚学的小技术,这里将会展示最简单的实现Cookie的方法,以及JAVAEE中Cookie的使用。

Demo

需要注意的时,这里贴出的源码是我项目中的一部分,不需要大家具体理解其中一些变量的意思,只需要关注Cookie部分。

流程

点击页面中登录,链接到登录action
登录时选中“两周免登陆”选框,输入用户名密码,点击登录
存入Cookie
下次无需登录

登录页面表单

<form class="registed" action="User_login" method="post">
<h2>登陆</h2>
<div class="email">
    <strong>用户名</strong><sup class="surely">*</sup><br />
<input type="text" name="username" value="" />
</div>
<div class="password">
    <strong>密码</strong><sup class="surely">*</sup><br />
<input type="password" name="password" value="" />
    <a class="forgot" href="#">忘记密码?</a>
</div>
<!-- .password -->
<div class="remember">
<input class="niceCheck" type="checkbox" name="useCookie"  value="true"/>
    <span class="rem">两周免登陆</span>
</div>
<!-- .remember -->

<div class="submit">
    <input type="submit" value="登陆" />
</div>
    <!-- .submit -->
</form>

注意action为User_login

阅读全文 »

最近有不少人问到markdown的一些小问题,关于这些问题,我觉得有必要和大家简单的总结一下,这样能迅速掌握markdown。

第一 看清markdown是什么

首先要明白,markdown只是一个辅助工具,它其实就是html的另外一种写法,不需要把它当做一种新的标签语言来学,这样你在学习的时候通过类比就可以快速掌握。

第二 markdown可以内嵌html

markdown可以内嵌html标签,在有样式问题是可以使用原生html

第三 二级List的表示方式

有初学者问到在表示一级list时候可以这样表示

  • 一级list
  • 一级list
  • 一级list

但是却不知道二级list是什么样的

关于这一点,markdown的官方文档中确实也没有提到,一下是markdown参考文档中的内容摘抄

列表

Markdown 支持有序列表和无序列表。

无序列表使用星号、加号或是减号作为列表标记:

* Red

* Green

* Blue

等同于:

+ Red

+ Green

+ Blue

也等同于:

- Red

- Green

- Blue

可以看到在文档中确实没有提到二级list,那么二级list是怎么表示的呢。 首先来看一下上一部分生成的html文档是怎样的

<ul>
<li>一级list</li>
<li>一级list</li>
<li>一级list</li>
</ul>

从这里看以看出,markdown只是将其简单的转换为html标签,那么回到第一点,markdown只是html的另一种书写方式,同时markdown可以内嵌html,所以二级list的表达方法就显而易见了:你可以选择直接内嵌html,表示如下:




  • 一级list




    • 二级list


    • 二级list




  • 一级list


  • 一级list


再来看一下生成的html代码

<ul>
<li>一级list</li>
li><ul>
<li>二级list</li>
<li>二级list</li>
</ul></li>
<li>一级list</li>
<li>一级list</li>
</ul>

第四 markdown专注于文本

这一点上,有人问到mardown不能选择文字样式和其他复杂样式。其实markdown的介绍上就已经说明,markdown专注于本文而不是样式,而样式同样是用css


有什么问题都可以在博文后面留言,或者微博上私信我。

博主是 iOS 妹子一枚。

希望大家一起进步。

我的微博:Lotty周小鱼

一、第一个错误

首先出现的是
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'userService' is defined

在UerDAOImpl中如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Component("userDao")
public class UserDAOImpl implements UserDAO {

private SessionFactory sessionFactory;

public SessionFactory getSessionFactory() {
return sessionFactory;
}

@Resource
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
Connection conn = null;

Session s = sessionFactory.openSession();
s.beginTransaction();
s.save(user);
s.getTransaction().commit();
s.close();
System.out.println("user saved!");
}
}

发现没有配置错误的地方
最后发现原因是没有在beans.xml中配置扫描器

因为使用的Annotation所以必须要要扫描所有的源码

阅读全文 »