上一篇文章的正则,其实对很多人来说用起来是不方便的,加上需要记很多规则,所以用起来不是特别熟练,而这节我们提到的beautifulsoup就是一个非常强大的工具,爬虫利器。 beautifulSoup “美味的汤,绿色的浓汤” 一个灵活又方便的网页解析库,处理高效,支持多种解析器。利用它就不用编写正 ...
分类:
编程语言 时间:
2017-06-01 22:48:54
阅读次数:
515
一 基础知识 1. 均为线性表,可以由数组或链表实现 栈:先进后出,操作均在栈顶进行 队列:先进先出,队尾进,队首出 2. STL stack & queue stack 常见操作: s.push(x):入栈 (void类型) s.pop(): 出栈 (void类型,只删除,不返回元素) s.top ...
分类:
编程语言 时间:
2017-06-01 22:48:39
阅读次数:
298
5. “对象创建”类模式 通过“对象创建”类模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。 5.1 工厂方法 动机: 在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。 如何应 ...
分类:
编程语言 时间:
2017-06-01 22:48:25
阅读次数:
355
class complex{ public: complex (double r = 0, double i = 0):re(r), im(i){} //inline complex& operator += {const complex&}; double real() const{return ...
分类:
编程语言 时间:
2017-06-01 22:48:11
阅读次数:
300
5.2 抽象工厂模式 动机:在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 代码示例: 实现利用数据库的业务逻辑,支持多数据库(Sql,Oracle等),有连接、命令、读取等功能。 其中命令,连接功能之间有相互联系。 方法一(使用工 ...
分类:
编程语言 时间:
2017-06-01 22:47:46
阅读次数:
273
在开始本章内容之前,这里先简单介绍下List的相关内容。 List的简单介绍 有序的collection,用户可以对列表中每个元素的插入位置进行精确的控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。列表通常允许重复的元素,且允许null元素的存放。 ArrayList ...
分类:
编程语言 时间:
2017-06-01 22:47:22
阅读次数:
273
4. “单一职责”类模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 典型模式代表: Decorator,Bridge 4.1 Decorator 装饰模式 代码示例:不同的流操作(文件流,网络流,内存 ...
分类:
编程语言 时间:
2017-06-01 22:47:11
阅读次数:
339
3.2 Strategy (策略模式) 动机:在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂,而且有时候支持不使用或不常使用的算法也是一个性能负担。 如何在运行时根据需要透明地改变对象的算法?将算法和对象本身解耦,从而避免上述问题? ...
分类:
编程语言 时间:
2017-06-01 22:46:27
阅读次数:
365
3.3 观察者模式 (Observer)/发布-订阅模式 动机: 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都能得到通知。如果这样的依赖关系过于紧密,将使得软件不能很好地抵御变化。 使用面向对象技术,可以将这种依赖 ...
分类:
编程语言 时间:
2017-06-01 22:45:14
阅读次数:
275
题目: 为下面的Rectangle类实现构造函数,拷贝构造函数,赋值操作符,析构函数。 class Shape { int no; }; class Point { int x; int y; }; class Rectangle: public Shape { int width; int hei ...
分类:
编程语言 时间:
2017-06-01 22:44:02
阅读次数:
233
对象内存模型 一. 栈(Stack) VS. 堆(heap) 栈 由系统自动管理,以执行函数为单位 空间大小编译时确定(参数+局部变量) 函数执行时,系统自动分配一个stack 函数执行结束时,系统立即自动回收stack 堆 在c++中由程序员手动控制 手动分配new和malloc 手动释放dele ...
分类:
编程语言 时间:
2017-06-01 22:43:38
阅读次数:
282
string中包含了处理文本的常量和模板 常量 函数 模板 $$ 输出 $ 自定义模板类继承string中的模板类,可自定义变量定界符,和变量查找规则 Formatter ...
分类:
编程语言 时间:
2017-06-01 22:43:22
阅读次数:
221
4.2 Bridge 桥模式 动机: 由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度,乃至多个变化的维度。 代码示例: 实现一个Messager,含有基本功能PlaySound,Connect等,并有PC、Mobile不同的平台实现 和 精简、完美等不同业务功能的版本 实现方法1: Bri ...
分类:
编程语言 时间:
2017-06-01 22:42:36
阅读次数:
275
综述 事务的实现方式有三种,JTA,Spring事务,Web Container方式。本篇讲述Spring事务。 Spring事务分为两个部分核心对象,Spring事务的实现方式。 Spring事务实现的方式有三种。声明式,注解式,代码的方式。声明方式在实际项目中运用比较广泛,注解方式需要在每个方法 ...
分类:
编程语言 时间:
2017-06-01 22:42:04
阅读次数:
307
java中的this java中的static变量 java中的main方法 ...
分类:
编程语言 时间:
2017-06-01 22:41:36
阅读次数:
234
RMI的定义 RPC (Remote Procedure Call):远程方法调用,用于一个进程调用另一个进程中的过程,从而提供了过程的分布能力。 RMI(Remote Method Invocation):远程方法调用,即在RPC的基础上有向前迈进了一步,提供分布式对象间的通讯。允许运行在一个ja ...
分类:
编程语言 时间:
2017-06-01 22:41:21
阅读次数:
287