- 博客(112)
- 资源 (4)
- 收藏
- 关注
原创 设计模式-十六篇责任链模式
1. 定义 责任链模式的定义:Avoid couping the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receivinig objects and pass the request along the ch...
2018-06-21 09:49:12 355
原创 设计模式-第十五篇命令模式
1. 定义 命令模式是一个高内聚的模式,其定义为:Encapsulate a request as an object , thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.(将一个请求封装成...
2018-06-20 15:12:50 402
原创 设计模式-第十四篇中介者模式
1. 定义 中介者模式的英文定义:Define an object that encapsulates how a set of objects interact.Mediator promotes loose couping by keeping objects from referring to each other explicity, and it lets you vary ...
2018-06-20 11:31:32 406
原创 Netty实战-第一个Netty
本部分将简单介绍Netty的核心概念,核心概念就是学习Netty是如何拦截和处理异常。1 设置开发环境 设置开发环境的步骤包括如下三个部分:安装jdk下载netty包安装Ecplise2 Netty客户端和服务器概述 下面将构建一个完整的Netty服务器和客户端。一般情况下,你可能只关心编写服务器,如一个http服务器的客户端是浏览器。下面的例子中,同时实现了服务器和客户端,...
2018-06-13 17:23:19 3163 1
原创 Netty实战-Netty介绍
1. 为什么使用NettyNetty是基于Java NIO的网络应用框架,它是一个NIO client-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty提供了一种新的方式使开发网络应用程序具有更高的易用性和更强的扩展性。Netty的内部实现是很复杂的,但是Netty提供了简单易用的api从网络处理代码中解耦业务逻辑。Netty是完全基于NIO...
2018-06-13 11:30:34 622
原创 UML学习笔记
最近在准备一些考试,涉及到UML的常规知识,感觉自己以前知道的也是一知半解,所以正好借助这个机会进行一次全面的学习认知。1.UML基础概念 UML这三个字母的全称是Unified Modeling Language,即统一建模语言,是一种有特殊用途的语言。在软件开发界,我们需要一套标准来帮助我们做好软件开发的工作。UML是其中的一种标准。UML可帮助我们做软件需求分析和软件设计...
2018-05-21 11:31:14 890
转载 Java面试题全集(3)
这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇文章还对企业应用架构、大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助。12...
2018-03-22 20:56:05 309
转载 Java面试题全集(2)
这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。补充:Sun Microsystems公司...
2018-03-22 20:52:07 376
转载 Java面试题全集(1)
1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时...
2018-03-22 20:50:41 598
转载 java异常-父类异常与子类异常之间的捕获关系
class Annoyance extends Exception {} class Sneeze extends Annoyance {} class Human { public static void main(String[] args) throws Exception { try {
2018-01-11 16:05:07 17902 9
转载 面试题收集-abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
1、abstract是抽象的,指的是方法只有声明而没有实现,他的实现要放入声明该类的子类中实现。2、static是静态的,是一种属于类而不属于对象的方法或者属性3、synchronized 是同步,是一种相对线程的锁。4、native 本地方法,这种方法和抽象方法及其类似,它也只有方法声明,没有方法实现,但是它与抽象方法不同的是,它把具体实现移交给了本地系统的函数库
2018-01-10 14:40:08 392
转载 面试题收集-java面试题及答案(基础题122道,代码题19道)
JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的
2018-01-10 09:01:11 14105 1
原创 系统架构解析-读写分离,水平切分及缓存架构对比
最近在研究一些系统架构方案,学习到读写分离的时候,对于读写分离应用场景有了一些自己的理解:一. 读写分离1. 什么是数据库读写分离 首先我们看一个读写分离架构图: 读写分离就是:一主多从,读写分离,主动同步,是一种常见的数据库架构,一般来说:主库:提供数据库写服务;从库:提供数据库读服务;主从之间:通过某种机制同步数据,比如MySOL的binlog 一
2018-01-09 11:30:31 4177
原创 机器学习实战(第三篇)-决策树构造
首先我们分析下决策树的优点和缺点。优点:计算复杂度不高,输出结果易于理解,对中间值的却是不敏感,可以处理不相关特征数据;缺点:可能会产生过度匹配问题。适用数据类型:数值型和标称型。 本篇文章我们将一步步地构造决策树算法,并会涉及许多有趣的细节。首先我们先讨论数学上如何使用信息论划分数据集,然后编写将理论应用到具体的数据集上,最后编写代码构建决策树。 在构造决策树时,我们需要解决的第
2018-01-08 20:40:50 337
原创 机器学习实战(第三篇)-决策树简介
我们经常使用决策树处理分类问题,近来的调查表明决策树也是最经常使用的数据挖掘算法。它之所以如此流行,一个很重要的原因就是使用者基本上不用了解机器学习算法,也不用深究它是如何工作的。 如果你以前没有接触过决策树,不用担心,它的概念非常简单。即使不知道它也可以通过简单的图形了解其工作原理。下图代表了一个决策树: 正方形代表判断模块(decision block),椭圆代表终止模块
2018-01-08 16:56:00 390
原创 机器学习实战(第二篇)-k-近邻算法开发手写识别系统
上一篇文章中,我们学习了使用k近邻算法改进约会网站,实现了通过一些数据的输入判断人员属于哪一个分类。但是上篇文章基于的数据都是我们能够简单理解的数字信息,本篇文章我们在人不太容易看懂的数据上使用分类器。这篇文章中我们将一步步构造使用k-近邻分类器的手写识别系统。为了简单起见,这里构造的系统只能识别数字0到9。需要识别的数字已经使用图形处理软件,处理成具有相同色彩和大小:宽高是32像素 X 32像素
2018-01-05 14:04:13 439
原创 机器学习实战(第二篇)-k-近邻算法改进约会网站配对结果
前面几篇中,我们学习了机器学习算法中k-近邻算法,本章我们将使用该算法进行改进约会网站配对结果的工作。首先我们先进入背景介绍: 我的朋友海伦一直使用在线约会网站寻找适合自己的约会对象。尽管约会网站会推荐不同的人选,但她没有从中找到喜欢的人。经过一番总结,她发现曾交往过三种类型的人: 不喜欢的人; 魅力一般的人; 极具魅力的人; 尽
2018-01-04 17:01:58 1376
原创 机器学习实战(第二篇)-k-近邻算法Python实现
本篇中我们将介绍如何通过Python工具实现一个k-近邻算法。展示k-近邻的基础原理,并给出了使用Python的基本方法。
2017-12-28 15:24:29 678
原创 机器学习实战(第二篇)-k-近邻算法
本篇文章开始,我们将真实进入机器学习的世界,首先我们本篇介绍的是分类算法中的k-近邻算法。它非常有效而且易于掌握。首先我们将探讨k-近邻算法的基本理论,以及如何使用距离测量的方法分类物品;其次我们将使用Python从文本文件中导入并解析数据;再次,讨论了当存在许多数据来源时,如何避免计算距离时可能碰到的一些常见错误;最后,利用实际的例子讲解如何使用k-近邻算法改进约会网站和手写数字识别系统。
2017-12-27 20:56:57 314
原创 机器学习实战(第一篇)-机器学习基础
分解了机器学习的入门基础改变,知道了机器学习的主要任务和目标,知道了一般机器学习的开发步骤。并引入了机器学习的使用工具Python。
2017-12-27 20:43:13 1388
原创 python网络数据采集-处理格式规范的文字
你要处理的大多数文字都是比较干净的、格式规范的。格式规范的文字通常可以满足一些需求,不过究竟什么是“格式混乱”,什么算“格式规范”,确实因人而异。 通常,格式规范的文字具有以下特点:使用一个标准字体(不包含手写体、草书,或者十分“花哨的”字体)虽然被复印或拍照,字体还是很清晰,没有多余的痕迹或污点排列整齐,没有歪歪斜斜的字没有超出图片范围,也没有残缺不全,或紧紧贴在图片的
2017-10-25 13:41:06 441
原创 python网络数据采集-图像识别与文字处理
主要讲述了图像识别的基础知识,了解了图像识别需要使用到的库,包括Pillow,Tesseract等。
2017-10-24 13:59:21 1452
原创 python网络数据采集-处理重定向问题
本篇文章讲述了在网络数据采集时,如何处理重定向的问题。重定向又分为客户端重定向和服务器端重定向。对于服务器端重定向直接使用urllib就可以解决,但是对于客户端重定向需要使用Selenium进行实现。主要的实现方式是通过判断界面中的一个DOM元素是否还存在,不断轮询,直至抛出StaleElementReferenceException结束。进行页面重定向。
2017-10-24 12:40:48 727
原创 python网络数据挖掘--JS隐式等待和显式等待
分析了DOM的隐式等待和显式等待的区别和使用方式,并讲述了通过Python的Selenium的WebDriverWait和Expected_Conditions两个选项实现隐式等待。后面还介绍了XPath的相关基础知识。
2017-10-24 10:18:28 545
原创 Linux/CentOS环境下如何安装和配置PhantomJS工作环境
1. 安装步骤1.1 在服务器上新建想要下载和安装的目录:如mkdir PhantomJS1.2 下载PhantomJS安装包wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2执行结果如下图:1.3 解压工具包tar -xjvf ph
2017-10-23 16:40:24 11180 1
原创 python网络数据采集-Ajax和动态HTML
python网络数据采集-Ajax和动态HTML,并以实例分解了使用Selenium和PhantomJS进行JavaScript执行结果的爬取
2017-10-23 14:45:33 1216
原创 python网络爬虫-HTTP基本接入认证
介绍了cookie出现之前,登录接入界面的接入验证机制HTTP,并通过实例分解了如何通过Python实现接入验证
2017-10-23 14:12:18 2800
原创 python网络数据采集-处理登录和cookie
介绍了网络上常见的session和cookie的概念,并通过实例讲解了如何通过Python进行该类数据的获取和进行对应爬取操作。
2017-10-23 11:42:08 678
原创 python网络数据采集-单选按钮、复选框和其他输入
针对复杂表单的参数提取方式,有单选按钮,多选框等参数的获取。明确只需关注两个方面参数名和参数值的获取。
2017-10-23 10:32:48 1069
原创 python网络数据采集-穿越网页表单进行采集
一. 基本信息 如何获取登录窗口背后的信息,我们目前示例中的网络爬虫与大多数网站服务器进行数据交互时,都是用HTTP协议的GET方法去请求信息,这边我们将使用POST方法,把信息推送给网络服务器进行存储和分析。 页面表单基本上就可以看成是一种用户提交POST请求的方式,且这种请求方式是服务器能够理解和使用的。就像网站的URL链接可以帮助用户发送GET请求一样,HTML表单可以帮助用
2017-10-16 09:42:12 774 2
原创 python程序安装nltk-安装完成后import报ImportError: No module named '_sqlite3'解决方案
本篇文章是自己在使用Python的自然语言安装包,NLTK时出现的问题。因为自己的环境上同时存在两套python环境,导致在使用sqlite3时报了一个ImportError: No module named '_sqlite3'的错误。系统自己带了python2的,我使用的是python3,导致python3环境没有关联到sqlite。经过查询和分析,通过重装sqlite软件和重新安装python3完美解决问题。
2017-10-12 16:37:32 10305 1
原创 Python自然语言处理-自然语言工具包(NLTK)
通过本篇文章,我们讲解了如何NLTK(python自然语言处理工具包)的基本信息,以及如何安装和配置,已经如何通过指令下载其所要用到的语言包。
2017-10-12 15:50:34 2883 1
原创 python自然语言处理-马尔科夫模型
本部分通过继续处理总统演讲稿的内容,提出了马尔科夫模型,并通过实例介绍了如何进行文本分析与写作。如何生成并使用一个马尔科夫链
2017-10-11 09:01:37 7784 2
MongoDB权威指南
2017-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人