- 军军小站|张军博客
搜索到与相关的文章
编程技术

JSF 组件开发

组件模型的关键考验就是:能否从第三方供应商购买组件,并把它们插入应用程序?与可购买可视Swing组件一样,也可以购买JavaServerFaces(JSF)组件!需要一个好玩的日历?可以在开源实现和商业组件之间选择。可以选择购买一个,而不是自行开发复杂的基于Web的GUI组件。JSF拥有一个与AWT的GUI组件模型类似的组件模型。可以用JSF创建可重用组件。但不幸的是,存在一个误解:用JSF创建组件很困难。不要相信这些从未试过它的人们的FUD!开发JSF组

系统 2019-08-29 22:06:59 1921

编程技术

大话重构连载15:采用Mock技术完成测试

第五次重构我们引入了数据库的设计,用户信息要从数据库中读取,问候语库存储在数据库中,并支持添加与更新。数据库的引入使自动化测试变得困难了,因为数据状态总是变化着的,而这种变化使得测试过程不能复现,这是我们不愿看到的。因此,我们在设计时将业务与数据库访问分离,形成了UserDao与GreetingRuleDao。此时,我们的设计应当遵从“依赖反转”原则,即将UserDao与GreetingRuleDao设计成接口,并编写它们的实现UserDaoImpl与Gr

系统 2019-08-29 21:59:03 1921

编程技术

IO流的介绍

对于任何程序设计语言而言,输入输出(I/O)系统是最复杂的一部分,因为通信的双方不仅仅是I/O源端和接收端,还可能是文件、网络链接或内存磁盘等,而且这些数据的数据格式多样,如字符、二进制、字节。Java通过创建大量的类库解决这个问题。12.1流(stream)的概念Java的I/O系统涉及流的概念。一个读取字节序列的对象被称为输入流,一个可以写入字节序列的对象称为输出流。输出流和输入流是相对于程序本身而言的。程序读取数据称为打开输入流,程序向其他源写入数据

系统 2019-08-12 09:29:36 1921

Python

Python中的高阶函数filter、map、reduce

1.filter()函数filter()函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用list()来转换。该函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回True或False,最后将返回True的元素放到新列表中。filter(function,iterable)function--判断函数。iterable--可迭代对象。返回一个可迭代的的对象。比如:判断一个列表

系统 2019-09-27 17:56:59 1920

Python

python类的继承实例详解

python类的继承对于许多文章讲解python类的继承,大多数都是说一些什么oop,多态等概念,我认为这样可能对有一定基础的开发者帮助不是那么大,不如直接用在各种情况下所写的代码,来展示对于某一种代码情况,代码运行会有什么效果。这样可能对开发者的帮助更大。不说废话,直接上代码。这里不区分经典类和新式类,下面分析的对新式类和经典类都适用对于类中的__init__函数,只是一个初始化是调用的一个函数(ps:初始化和创建实例并不是一个过程,实例的创建是通过一个

系统 2019-09-27 17:56:17 1920

Python

python机器学习库scikit-learn:SVR的基本应用

scikit-learn是python的第三方机器学习库,里面集成了大量机器学习的常用方法。例如:贝叶斯,svm,knn等。scikit-learn的官网:http://scikit-learn.org/stable/index.html点击打开链接SVR是支持向量回归(supportvectorregression)的英文缩写,是支持向量机(SVM)的重要的应用分支。scikit-learn中提供了基于libsvm的SVR解决方案。PS:libsvm是台

系统 2019-09-27 17:55:51 1920

Python

python爬虫实现教程转换成 PDF 电子书

写爬虫似乎没有比用Python更合适了,Python社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的library分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的Python教程爬下来做成PDF电子书方便大家离线阅读。开始写爬虫前,我们先来分析一下该网站1的页面结构,网页的左侧是教程的目录大纲,每个URL对应到右边的一篇文章,右侧上方是文章的标题,中间是文章的正文部分,正文内容是我们关心的重点,我们要爬的数据就是所有网页的正文部分

系统 2019-09-27 17:55:45 1920

Python

python中的*args和**kwargs

python支持可变参数:可以使用*args、**kwargs实现*args是可变的positionalarguments列表,是一个tuple。**kwargs是可变的keywordarguments列表,是一个dict。*args必须位于**kwargs之前,因为positionalarguments必须位于keywordarguments之前。*args、**kwargs的使用:函数定义:是一个将参数pack的过程函数调用:将参数unpack例子:d

系统 2019-09-27 17:55:35 1920

Python

Python程序设计模式

Python设计模式设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。所有的设计模式示例都是来源于菜鸟教程,每个设计模式的UML都可以在菜鸟教程中找到相应的示例github地址:Python设计模式以工厂模式为例:工厂模式在菜鸟教程中的UML图为工厂

系统 2019-09-27 17:55:33 1920

Python

【Python】线程和协程分别适用于什么情况?

原文链接:https://zhuanlan.zhihu.com/p/35179605(现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里https://www.cbedai.net/ialexanderi可以跳转到教程。)链接:https://zhuanlan.zhihu.com/p/35179605前言关于网络IO,同步,

系统 2019-09-27 17:54:54 1920