自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

D.W 的专栏

深度学习、机器学习、知识图谱,读者可关注博主的个人公众号【斗码小院】,不定期分享相关知识

  • 博客(240)
  • 资源 (20)
  • 收藏
  • 关注

原创 设计模式(十七)访问者模式(Visitor)-行为型

访问者模式Visitor访问者模式(Visitor Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。据《大话设计模式》中说算是最复杂也是最难以理解的一种模式了。 定义(源于GoF《Design Pattern》):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 从定义可以看出结构对象是使用访问者模式必备条件,而且这个结

2015-05-15 14:11:57 1053

原创 Python学习-格式化数据并排序

目的:将几个记录时间时刻的数据格式化统一,然后进行排序。1.前提有四个文件,文件的格式都不一样,都表示时间 james.txt'2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22'julie.txt'2.59', '2.11', '2:11', '2:23', '3-10', '2-23', '3:10', '3

2015-05-15 08:46:04 1353

原创 学习方法总结

建议:   1、一棵树上吊死我不推荐你,你应该多试几棵。  2、每本书都有自己讲解的好的地方和不好的地方,你应该花几分钟体验一下,然后从最好入门的地方入手。  3、学习东西的过程是有一个加速度的。刚开始的时候是线形的速度,之后便是一个快速的上升期,然后又回到线形的速度。如果选择好书,一开始也可以处于有加速度的状态,那就是越学越开心,越来越感兴趣,好书常常能够让你做到这样子。  4、尽

2015-05-14 19:11:52 738

原创 Python学习-将Python3.3.4还原成Python2.6版本

1.查看Python目前的版本直接输入python可以查看Python版本2.将/usr/bin目录下的python版本切换mv /usr/bin/python /usr/bin/python3.3 #将原来3.3的版本还原mv /usr/bin/python2.6 /usr/bin/python #将python2.6版本链接上3.测试输入python 即可看到python2

2015-05-14 18:20:43 12171

原创 Python学习-文件操作

1.读文件python使用open来打开数据流data = open('data.txt')下面是一个读取一个文件,然后逐行输出的代码:try: data = open('data.txt') for each_line in data: try: (role, line_spoken) = each_line.split(':',1)

2015-05-14 15:30:14 945

原创 Python学习-共享模块代码

概述:将一个自己定义的输出多重列表元素的函数模块共享出来。1.首先为模板创建一个文件夹编辑nester.py文件,内容如下:def print_lol(the_list): for each_item in the_list: if isinstance(each_item,list): print_lol(each_item) els

2015-05-14 08:16:38 1843

原创 设计模式(十六)中介者模式(Mediator)-行为型

中介者模式Mediator中介者模式又称作调停模式。 所谓中介,在我们生活中很是常见,我们买房子可以有中介公司,找兼职也可以有中介公司。以买房子为例。中介者把所有的买房人、卖房人的需求和特点都结合到一起,把适合的房子提供给合适的人。 首先我们要理解中介者模式的定义:用一个中介者对象来封装一系列对象的交互。中介者使得各对象不需要显式地相互引用,从而解耦合,独立改变他们之间的交互。实现原理图 中介

2015-05-13 13:02:16 1113

原创 设计模式(十五)模板方法模式(Template Method)-行为型

有很多个方法,在多个地方都会用到,为了减少多次重复的操作,选择模板方法模式将这些方法聚在一起做成一个模板形式,从而减少客户端的代码复杂度。实现原理图如下: 模板方法模式实现原理图 抽象的骨架类的示意代码如下:public abstract class Template { public void doSalary(){ operation1(); op

2015-05-13 12:55:21 1046

原创 Hadoop学习笔记0005——centos下运行Hadoop实例

前提: *确保Hadoop安装成功*1、复制Hadoop自带的源码实例cp /usr/hadoop/src/examples/org/apache/hadoop/examples/WordCount.java /usr/hadoop/test2、创建一个classes文件夹,方便编译mkdir classes3、编译WordCount.java文件javac -classpath /usr/hado

2015-05-12 09:12:59 1254 1

原创 设计模式(十四)迭代器模式(Iterator)-行为型

大清晨,发一篇博文提提神吧。迭代器模式(Iterator)在软件开发过程中,经常需要将某一类的对象放在一个集合里,或者放在容器里,这个时候通常需要对集合或容器里的对象进行访问,很明显,对容器或集合里的对象访问必然涉及遍历,这就是迭代器模式。迭代模式实现原理图 迭代器模式实现原理图实现迭代器角色负责定义访问和遍历元素的接口,它的示例代码如下: Iterator.javapublic interfa

2015-05-12 09:04:10 1319

原创 设计模式(十三)策略模式(Strategy)-行为型

前两天去张家界玩了,一直荒废了学习,持续两天都没在状态,今天好好恢复下。发篇博文吧!策略模式(Strategy)策略模式就是定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以互相替换。策略模式让算法独立于使用它的客户而独立变化。 策略模式就是提供相同的接口,软件开发人员可以根据相应的接口实现不同的策略。然后根据不同的情况选择不同的策略,从而实现客户端代码不用修改,只需要替换不同的

2015-05-11 22:12:12 1320 1

原创 Oracle11g 用户密码忘记后的取回方式

自己电脑上安装的Oracle11g有一个用户root很久没用,密码竟然给忘记了。下面是重新修改密码的方法:1. 进入sqlplus控制台 2. 输入: sys / as sysdba ——>按enter键进入 3. 设置root用户不锁 alter user root account unlock;4. 修改用户密码alter user root identified by root;

2015-05-04 14:07:51 2845

原创 设计模式(十二)桥模式(Bridge)-结构型

桥模式Bridge引文根据面向对象的设计原则,应该尽量使用组合而不是继承。桥模式将抽象与其实现解耦,使他们可以分别独立地变化,是继承的一种代替方式。 对于两个类之间需要进行关联时,不要直接在一个类的代码中调用另一个类的代码,而是要通过这些设计模式,在两个类之间建立一个类似的缓冲器的类,从而将直接关联的两个类进行解耦,以保证以后当一个类的接口发生变化时不会影响另一个类的使用。实现原理图 桥模式实现

2015-05-04 13:48:32 1200

原创 设计模式(十一)装饰者模式(Decorator)-结构型

装饰者模式Decorator在程序开发中,有时候开发人员会使用继承来扩展对象的功能,用户的需求是多变的,也就造成了使用继承会造成代码的大范围改动,其实扩展对象的功能,采用组合比继承要好的多,当用户需要变动时,只要将对象组合发生变化就可以了,不会大范围地改动继承的代码,此时就需要使用装饰者模式。 装饰者模式的本质就是为了扩充软件的功能,但又不改变软件原本的功能。就好比装修房子一样。 Decorat

2015-05-04 10:02:54 1088

原创 设计模式(十)享元模式(Flyweight)-结构型

享元模式Flyweight组合模式解决了对象时树形结构时的处理方式。当系统需要大量使用重复的对象,而这些对象要消耗很大的资源时就需要使用享元模式来解决。 单例模式,一个类只有一个唯一的对象。也就是说,不管new多少次,只需要创建这个类的一个对象,如果不采用单例模式,没new一次就会创建一个对象,这对于系统需要使用大量重复的对象,而这些对象需要消耗很大的资源时,是很不划算的,这时就需要使用享元模式。

2015-05-03 14:57:03 1068

原创 设计模式(九)组合模式(Composite)-结构型

组合模式Composite组合模式也叫合成模式,又叫树形模式,就是把部分和整体的关系用树形结构来表示,是的客户端对单个对象和组合对象的使用具有一致性,可以看出,这里的部分和整体之间在功能上是类似的,对于这种类似性,通常可以采用继承的方式来实现,根据面向对象的设计原则,尽量使用组合而非继承,因此合成模式也是继承的一个替换方案。1.组合模式结构 组合模式实现原理图 组合模式就是把部分和整体的关系用树

2015-05-01 10:40:18 1433

原创 设计模式(八)代理模式(Proxy)-结构型

Proxy 代理模式:解耦日常开发中的日志、权限、事务处理等。实现原理:一个抽象目标类即一个接口,有相关方法名;一个具体目标类,实现该接口和相关的方法;一个代理类,调用目标具体类并加上自己需要的逻辑;客户端实例化代理类,调用代理类的方法代理模式实现原理图 代理模式代理模式:是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转

2015-05-01 09:33:42 1183

原创 设计模式(七)门面模式(Facade)-结构型

门面模式Facade门面模式:统之间的接口、框架之间的衔接(1)使用接口的形式来开发,不需要知道接口中内部方法的实现;(2)门面模式就是为子系统对外提供的一组接口提供一个统一的界面,使得其他系统对该系统的访问都通过这个统一的界面来完成。(3)当一个负载的系统需要对外提供接口时,就需要将对提供的接口统一封装在外观类里,供外系统使用。门面模式原理图不用门面设计模式的

2015-04-30 20:09:04 1096

原创 Linux学习-shell脚本编程基础之处理用户输入

1.运行带参数的程序$0表示程序名,$1表示第一个参数,$2表示第二个参数,一次类推,直到第九个参数$9# vi factorial#!/bin/shf=1for((i=1;i<=$1;i++))do f=$[ $f * $i]doneecho $f测试:[root@master test]# ./factorial 5120注意:如果有多个参数

2015-04-28 20:18:52 1427

原创 判断字符大小写(Java)

要求:任意输入一个字符串,分别输出字符串中的大写字符和小写字符。说明:java中提供了区分大小写的方法,即Character.isUpperCase(char c),Character.isLowerCase(char c),在这里用这两个方法区分即可。代码:package com.ldw.string; import java.util.Scanner;/** * @au

2015-04-28 12:56:38 36686

原创 Java系列-Set、List、Map的遍历总结

不知道为什么,昨天写的这篇文章不见了。早上重新补上来吧,以后写东西还是得先写在电脑里面,然后在发布出来才行。集合类一直让我感觉头痛,因为我老是搞混淆,可能是基础不够扎实的原因吧。现在专们花个时间来总结下,以后混淆了就直接来查看便是。那么,就先来看看各种集合类的比较表吧。集合类比较表 是否有序是否允许元素重复Collecti

2015-04-28 08:21:29 4014 2

原创 设计模式(六)适配器模式(Adapter)-结构型

适配器模式Adapter 有多个人使用一个接口A的方法,不同的人需要不同的方法实现,这时候就需要用到适配器模式 可以先使用一个类B实现该接口,但是其中的方法全不进行任何实现 ,接着谁需要里面的方法,就自己定义一个类C_X然后继承类B,覆盖其中的需要的方法。 适配器分为对象适配器和类适配器:对象适配器实现目标类的接口,依赖适配者类;类适配器继承适配者,并实现目标类的接口。 适配器模式

2015-04-27 22:49:44 873

原创 BinarySearch二分查找算法

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以

2015-04-27 20:13:07 4264

原创 Linux学习-shell脚本编程基础(节选)

第一记1、  简单的helloworld编写Shell输入下输入命令:vi helloworld.sh随后进入文本编辑:#!/bin/shell#this is ahelloworld testa=”helloworld”echo $a执行helloworld.sh文件命令:# sh helloworld.sh2、变量赋值的方式是# variable_na

2015-04-27 16:47:19 1124

原创 十进制数转二进制形式并判断它是否为2的n次幂(Java实现)

java提供了十进制转化为二进制、十六进制、八进制的函数;在java.lang.Integer这个API包中,转换函数如下    public static String toBinaryString(int i) public static String toHexString(int i) public static Strin

2015-04-26 22:33:30 1826

原创 设计模式(五)创建者模式(Builder)-创建型

创建者模式Builder创建者模式就是将一个复杂对象的构建和它的表示分离,使的同样的构建过程可以创建不同的表示,而在客户端不用知道对象的构建细节。当系统需要创建一组复杂的对象,而且这个复杂的对象组装起来比较麻烦时,就可以使用创建者模式。将抽象工厂模式中的功能类全部抽取出来放到一个类中 工厂类就是只负责对象的创建,不负责对象的组装,通过Director类来进行组装,抽象工厂模式和

2015-04-26 22:06:21 1028

原创 设计模式(四)原型模式(Prototype)-创建型

原型模式Prototype原型模式也是创建模式的一种,顾名思义,就是创建一个和原来一模一样的新对象。比如日常开发中,常用到的复制的功能,用户新建一个财务凭证后,以后会有类似的凭证,只是金额需要修改,其它内容都相同。此时用户就没有必要重新将凭证的内容一个一个地输入到界面上,只需要执行复制功能,即可生成一张新的一模一样的凭证,然后新的凭证上只修改金额即可,这时就使用原型模式。说明:Java对象

2015-04-26 21:43:11 929

原创 设计模式(三)抽象工厂模式(AbstractFactory)-创建型

抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据LSP原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是这些

2015-04-25 13:44:06 1264

原创 设计模式(二)工厂方法模式(FactoryMethod)-创建型

在简单工厂模式中,通过一个工厂类来判断需要调用的具体的实现类,隔离了客户端和具体的实现类之间的关系,从而降低了系统间的耦合性,但是也带来了一个问题,就是如果要创建的对象很多,这个工厂类会非常庞大,仍然不利于后期的代码维护。工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。  一个抽象工厂类,可以派生出多个具体工厂类。  每个具体工厂类只能创建一个具体产

2015-04-25 12:49:21 1132

原创 Java系列-JavaWeb复习资料整理

JAVA基础复习资料1.JAVA关键字:final、finally、finalize、static解析:简单区别final 用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资

2015-04-24 22:45:18 3031

原创 Linux学习-系统信息查看命令小结

1.系统命令# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb

2015-04-24 21:25:46 1057

原创 八大内部排序算法(中)-基数排序(java实现)

基数排序理论很好理解,基本思想就是:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。对于基数排序有两种方法:最高位优先法(MSD)(Most Significant Digit first)最低位优先法(LSD)(Least Significant

2015-04-24 21:01:41 2896

原创 Linux学习-文件系统

一、linux下的文件系统1.基本文件系统1.1 ext1.2 ext22.日志文件系统3.扩展的Linux日志文件系统3.1 ext33.2 ext43.3 JFS3.4 Reiser3.5 XFS二、操作文件系统创建分区使用的是:fdisk命令1、当硬盘小于等于2T时,可以用fdisk。# fdisk /dev/sdb

2015-04-24 15:45:36 1099

原创 设计模式(一)单例模式Singleton—创建型

SINGLETON(单例模式)—对象创建型模式       单例其实就是唯一实例的意思,也就是说一个类只能有一个实例。开发人员都知道,在Java中,只要new一个类,就会创建这个类的实例,如果把这个类new多次,就会创建这个类的多个实例。有时候如果在程序运行时,不管new多少次,只需要这个类的一个实例,如日志记录中的管理类,要怎么处理呢?这是就需要用到单例模式。1. 问题

2015-04-24 10:56:05 1070

原创 Hadoop学习笔记0004——eclipse安装hadoop插件

Hadoop学习笔记0004——eclipse安装hadoop插件1、下载hadoop-1.2.1.tar.gz,解压到win7下hadoop-1.2.1; 2、如果hadoop-1.2.1中没有hadoop-eclipse-plugin-1.2.1.jar包,就到网上下载下来; 3、关闭eclipse,然后将hadoop-eclipse-plugin-1.2.1.jar拷

2015-04-22 12:45:47 1642

原创 数据库(第一范式,第二范式,第三范式)

数据库(第一范式,第二范式,第三范式)范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,

2015-04-21 20:33:18 67000 6

原创 八大内部排序算法(上)-冒泡、直接插入、简单选择、快速

八大内部排序算法(上)冒泡、直接插入、简单选择、快速排序分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。1.直接插入排序将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看

2015-04-21 16:43:34 2821

原创 不悔梦归处,只恨太匆匆

今天注定是个不寻常的一天,有些故事来不及真正开始,就被写成了昨天。

2015-04-21 10:54:57 972

原创 使用Weka进行数据挖掘

使用Weka进行数据挖掘1.简介数据挖掘、机器学习这些字眼,在一些人看来,是门槛很高的东西。诚然,如果做算法实现甚至算法优化,确实需要很多背景知识。但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西。他们的精力,集中在特征提取,算法选择和参数调优上。那么,一个可以方便地提供这些功能的工具,便是十分必要的了。而weka,便是数据挖掘工具中的佼佼者。Weka的全名是怀卡托智能分

2015-04-17 10:04:43 8390

原创 Struts学习笔记(三)struts2中获得request、response和session的三种方法

struts2中获得request、response和session的三种方法 (1)非IoC方式方法一:使用org.apache.struts2.ActionContext类,通过它的静态方法getContext()获取当前Action的上下文对象。ActionContext ctx = ActionContext.getContext();ctx.put("liuwei",

2015-04-16 16:56:26 2098

visio_2010_64位.part3.rar

visio 2010官方版具备数据驱动的动态可视化工具和模板、强大的流程管理功能以及先进的 Web 共享功能,将图表绘制提升至全新的高度。visio 2010官方版在一个功能强大的图表中,引进多个源中大型图片的实时数据,并与生动的图形结合在一起。

2018-04-29

visio 2010 64 bit-part2

visio 2010官方版具备数据驱动的动态可视化工具和模板、强大的流程管理功能以及先进的 Web 共享功能,将图表绘制提升至全新的高度。visio 2010官方版在一个功能强大的图表中,引进多个源中大型图片的实时数据,并与生动的图形结合在一起。

2018-04-29

visio 2010 64 bit-part1

visio 2010官方版具备数据驱动的动态可视化工具和模板、强大的流程管理功能以及先进的 Web 共享功能,将图表绘制提升至全新的高度。visio 2010官方版在一个功能强大的图表中,引进多个源中大型图片的实时数据,并与生动的图形结合在一起。

2018-04-29

visio 2010 64 bit-part4

visio 2010官方版具备数据驱动的动态可视化工具和模板、强大的流程管理功能以及先进的 Web 共享功能,将图表绘制提升至全新的高度。visio 2010官方版在一个功能强大的图表中,引进多个源中大型图片的实时数据,并与生动的图形结合在一起。

2018-04-29

SSM框架jar包分享

SSMjar包,自身备份。

2017-07-31

决策树算法python实现

python实现决策树,具体步骤参考博文:http://blog.csdn.net/Dream_angel_Z/article/details/45965463

2015-05-25

python2.7.5安装及其相应的matplotlib的包及依赖

python2.7.5安装及其相应的matplotlib的包及依赖,详细步骤参考相应博文:http://blog.csdn.net/Dream_angel_Z/article/details/45966097

2015-05-25

python-2.7.5 Windows 32位软件

Windows32位的python 2.7.5

2015-05-25

jQuery+Struts+Ajax无刷新分页

使用myeclipse开发的jQuery加上struts的ajax无刷新分页,一个完整的demo,经测试,可运行。里面的数据是通过自己的拼凑的JSON数据来实现的分页。

2015-04-13

Ajax基本实例

一个基本的ajax实例!适合初学者接触ajax。

2015-04-12

Spring_0300_JDKProxy

简单的动态代理实现代码!文档参考博文Spring学习(3)AOP初步—JDK动态代理

2014-11-25

Struts_jQueryAjax

一个简单的在struts2中使用jQuery-ajax技术的demo.代码完整,jar包全部包含在里面!

2014-11-11

The Swift Programming Language - Apple Inc(英文版).pdf

PDF格式Swift学习指导,格式经过调试,非常的好! Swift is a new programming language for creating iOS and OS X apps. Swift builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to reimagine how software development works. This book provides: - A tour of the language. - A detailed guide delving into each language feature. - A formal reference for the language.

2014-06-03

jasperreports-5.5.1_struts2.3整合用到的jar包

包含了jasperreports-5.5.1_struts2.3整合用到的jar包,制作报表的好东西,缺什么有什么。

2014-05-28

juit-4.11.jar jar包

junit的jar包,免费共享下,大家来下吧

2014-05-28

window7 64位 Oracle11g x64 安装plsql

解决win7 X64下安装plsql...方法使用,本人已测完毕!

2014-05-28

MySQL安装图解

安装图解及安装不成功的解决秘法,里面介绍的比较详细,新手可以下下来看看

2014-03-18

php-5.3.6-Win32-VC9-x64.zip

3、下载环境软件 将所有软件均下载存放于Server_Tools文件夹中,下载地址: mysql-essential-5.0.67-win32.msi http://dev.mysql.com/downloads/ php-5.2.8-Win32.zip http://php.net/downloads.php ZendOptimizer-3.3.3-Windows-i386.exe http://www.zend.com/en/products/guard/zend-optimizer PHPMyAdmin-3.1.0-all-languages.zip http://www.phpmyadmin.net/home_page/downloads.php

2014-03-18

经典-------C++程序开发范例宝典

Visual C++程序开发范例宝典 一、二章 源码

2011-11-15

mysql 教程学习

mysql学习教程。

2011-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除