摘要: 带你简单了解python的协程和异步 前言 对于学习异步的出发点,是写爬虫。从简单爬虫到学会了使用多线程爬虫之后,在翻看别人的博客文章时偶尔会看到异步这一说法。而对于异步的了解实在困扰了我好久好久,看了N遍廖雪峰python3协程和异步的文章,一直都是一知半解,也学不会怎么使用异步来写爬虫。于是翻看 阅读全文
posted @ 2017-09-16 21:55 lateink 阅读(1507) 评论(0) 推荐(0) 编辑
摘要: 承接上文 三.计数代理 计数代理的应用场景是:当客户程序需要在调用服务提供者对象的方法之前或之后执行日志或者计数等额外功能时,就可以用到技术代理模式。计数代理模式并不是把额外操作的代码直接添加到原服务中,而是把它们封装成一个单独的对象,这就是计数代理。 考虑这样一个应用,用计数代理统计图书馆中每天借 阅读全文
posted @ 2017-04-22 23:59 lateink 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 问题的提出 现在生活中,常常在微信朋友圈里面看到代购的信息,你想在国外买什么,香港买什么,但是又懒得自己过去,于是常常委托别人帮忙买奶粉买那啥的。这类问题的缘由是因为客户和原产地没有直接的接触,所以需要一个代理(代购)的第三者来实现间接引用。代理对象可以在客户端和目标对象间起到中介作用,而且可以通过 阅读全文
posted @ 2017-04-22 00:23 lateink 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 问题提出 生活中有很多事物集合,设为A1,A2......Am ,而每个事物都有功能F1,F2....Fn. 例如邮局的发送业务。简单模拟有两类事物:信件和包裹,均有平邮和挂号邮寄功能。程序设计中如何来描述这些功能呢?或许一般会与下面代码相似。 很明显,若有m个事物,n个功能,按照这个方法,一共要写 阅读全文
posted @ 2017-04-20 23:31 lateink 阅读(764) 评论(0) 推荐(2) 编辑
摘要: 问题提出: 在生活实际中,经常会遇到多种对象关注一个对象数据变化的情况。例如,生活中有温度记录仪,当温度发生变化时,需要完成如下功能:记录温度日志,显示温度变化曲线,当温度越界时扬声器发出声音。可能写出以下程序段。 While(温度变化){ 记录温度日志; 显示温度变化曲线; 当温度越界时扬声器发出 阅读全文
posted @ 2017-04-20 00:18 lateink 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 问题的提出: 有些类很容易创建对象,直接调用其构造方法,例如Student student = new Student(“1001”,”zhang”,21); 之所以容易创建,因为其类成员都是基本数据类型或者封装类,或者字符串。但是如果对象的类成员还是对象,那么创建这个对象还需要产生该对象成员的具体 阅读全文
posted @ 2017-04-18 22:30 lateink 阅读(999) 评论(0) 推荐(0) 编辑
摘要: 问题提出 Java的工厂模式与现实生活中的工厂的模型是很相似的。工厂是用来做什么?当然是用来生成产品。因此在Java的工厂模式的关键点就是如何描述好产品和工厂这2个角色之间的关系。 下面来仔细描述一下不同的关系以及对应的设计模式 让我们简单构思一下简单的工厂生产模型,既然只有一个产品,那只需要一个车 阅读全文
posted @ 2017-04-17 23:06 lateink 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 在说明柔性多态之前先看看下面多态的设计 一般常规的多态程序设计,首先定义多态接口 然后在实体类中重写多态函数 客户端通过动态绑定对接口编程实现了求圆或长方形面积功能。但是考虑一个问题,如果以后需要求图形的周长,那上面这个例子该如何修改? 思路是:重新定义接口IShape3,添加所需要的接口函数(求周 阅读全文
posted @ 2017-04-15 23:35 lateink 阅读(526) 评论(1) 推荐(1) 编辑
摘要: 题目描述:题目:含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如(321,3,32,) 最小数为321323 题目分析: 将数组中所有元素填充到个数相等,填充的数字为最后一位的数字,如这个case所示,填充之后为{321,333,322},然后按大小排序, 排序之后将填充的数字去掉, 阅读全文
posted @ 2017-03-01 22:06 lateink 阅读(991) 评论(0) 推荐(0) 编辑
摘要: 问题描述: A,B两个整数集合,设计一个算法求他们的交集,尽可能高效。 问题分析: 用哈希表,遍历集合A,构造一个哈希表,在遍历集合B,从哈希表中查询,如果存在即保存该元素。 时间复杂度O(n+m) (n,m分别是A,B集合长度) Python求解查找出现一次字符问题(2016奇虎笔试题) Pyth 阅读全文
posted @ 2017-03-01 12:17 lateink 阅读(652) 评论(0) 推荐(0) 编辑