更新如下

  1. 端口可自定义 默认80

  2. 线程可自定义 默认10

  3. 使用了队列存消息

#-*-coding=utf-8-*-
# __author__  = 'sanr'
# __email__   = '[email protected]'
# __url__     = 'http://0x007.blog.51cto.com/'
# __version__ = '2.0'
import requests
import re
import sys
from threading import Thread,Lock
import Queue
import chardet
import netaddr
import socket
import struct
import optparse
import os
import time


lock = Lock()

q = Queue.Queue()

def ip2int(addr):
	return struct.unpack("!I", socket.inet_aton(addr))[0]
def int2ip(addr):
	return socket.inet_ntoa(struct.pack("!I", addr))
 
def int_dec(pagehtml):
    '''
	智能获取页面编码
	第一步查找charset
	第二步使用chardect智能匹配
	'''
	charset = None
	if pagehtml != '':
		# print 'use charset dect'
		enc = chardet.detect(pagehtml)
		# print 'enc= ', enc
		if enc['encoding'] and enc['confidence'] > 0.9:
			charset = enc['encoding']

		if charset == None:
			charset_re = re.compile("((^|;)\s*charset\s*=)([^\"']*)", re.M)
			charset=charset_re.search(pagehtml[:1000]) 
			charset=charset and charset.group(3) or None

		# test charset
		try:
			if charset:
				unicode('test',charset,errors='replace')
		except Exception,e:
			print 'Exception',e
			charset = None
	# print 'charset=', charset
	return charset


def http_banner():

	while True:
		try:
			if q.qsize() == 0:
				break;
			ip = q.get()
			
			url='http://%s:%s'%(ip,port)
			url=requests.get(url,timeout=2)	

			body = url.content
			
			charset = None
			if body != '':
				charset = int_dec(body)

			if charset == None or charset == 'ascii':
				charset = 'ISO-8859-1'

			if charset and charset != 'ascii' and charset != 'unicode':
				try:
					body = unicode(body,charset,errors='replace')
				except Exception, e:
					body = ''
			#获取状态码
			Struts=url.status_code
			#获取webserver信息
			Server=url.headers['server'][0:13]
			#获取title
			if Struts==200 or Struts==403 or Struts==401:
				title=re.findall(r"(.*)<\/title>",body)
				if len(title):
					title = title[0].strip()
				else:
					title = ''
				#输出加锁 防止第二行输入
				#申请锁
				lock.acquire()
				print ('%s\t%d\t%-10s\t%s'%(ip.lstrip('http://'),Struts,Server,title))
				#释放锁
				lock.release()
		except (requests.HTTPError,requests.RequestException,AttributeError,KeyError),e:
			pass


def main(ips,threads=10):
	if '-' in ips:
		start, end = ips.split('-')
		startlong = ip2int(start)
		endlong = ip2int(end)
		ips = netaddr.IPRange(start,end)
		for ip in list(ips):
			q.put(str(ip))
	elif '/'	in ips:
		ips = netaddr.IPNetwork(ips)
		for ip in ips:
			q.put(str(ip))
			
	ths = []
	for i in xrange(threads):
		th = Thread(target=http_banner,name='thread'+str(i))
		th.start()
		ths.append(th)
		
if __name__ == '__main__':
	parser = optparse.OptionParser('usage: %prog [options] target')
	parser.add_option('-p', '--port', dest='port', default='80',type='string', help='Port.default = 80')
	parser.add_option('-t', '--threads', dest='threads_num',default=10, type='int',help='Number of threads. default = 10')
	(options,args) = parser.parse_args()
	if len(args) < 1:
		parser.print_help()
		print 'usage: python %s 218.92.227.1-218.92.227.254'%os.path.basename(sys.argv[0])
		print 'usage: python %s 218.92.227.1/24 '%os.path.basename(sys.argv[0])
		print 'usage: python %s 218.92.227.1/24 -p 8080'%os.path.basename(sys.argv[0])
		print 'usage: python %s 218.92.227.1/24 -t 100 -p 8080'%os.path.basename(sys.argv[0])

		sys.exit(0)
	ips=args[0]
	port=options.port
	threads = options.threads_num
	main(ips,int(threads))	
	</pre> 
  <p><br></p> 
  <p><br></p> 
  <p><br></p> 
  <p><br></p> 
  <p><br></p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1274519758259109888"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(email,return,import,python)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1896734688228208640.htm"
                           title="Python爬虫实现爬取下载网站数据的几种方法" target="_blank">Python爬虫实现爬取下载网站数据的几种方法</a>
                        <span class="text-muted">2301_79698214</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>使用脚本进行下载的需求很常见,可以是常规文件、web页面、AmazonS3和其他资源。Python提供了很多模块从web下载文件。下面介绍一、使用requestsrequests模块是模仿网页请求的形式从一个URL下载文件示例代码:1234567importrequestsurl='xxxxxxxx'#目标下载链接r=requests.get(url)#发送请求#保存withopen('r.txt</div>
                    </li>
                    <li><a href="/article/1896733554411368448.htm"
                           title="Python requests 下载文件的几种常用方法" target="_blank">Python requests 下载文件的几种常用方法</a>
                        <span class="text-muted">microhex</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>1.基础下载:importrequestsdefdownload_file(url,save_path):response=requests.get(url,stream=True)ifresponse.status_code==200:withopen(save_path,'wb')asf:f.write(response.content)returnTruereturnFalse#使用示例ur</div>
                    </li>
                    <li><a href="/article/1896732420426756096.htm"
                           title="python 自动注册模式" target="_blank">python 自动注册模式</a>
                        <span class="text-muted">清水湾的水</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>自动注册模式通过自动注册模式,减少if-else使得逻辑更清晰。代码importinspectimportsysfromtypingimportAny,Dict,Callable,Listfromdatetimeimportdatetimedefmessage_handler(msg_type:str,priority:int=0):defdecorator(func:Callable)->Cal</div>
                    </li>
                    <li><a href="/article/1896731035719233536.htm"
                           title="递归遍历目录 和 普通文件的复制 [Java EE]" target="_blank">递归遍历目录 和 普通文件的复制 [Java EE]</a>
                        <span class="text-muted">猿周LV</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/EE/1.htm">EE</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java-ee/1.htm">java-ee</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>递归遍历目录首先先列出当前目录所包含的内容File[]files=currentDir.listFiles();if(files==null||files.length==0){//若是空目录或非法目录,则直接返回return;}然后遍历列出的文件,分情况两种讨论for(Filef:files){//加个日志,方便查看程序执行情况System.out.println(f.getAbsolutePa</div>
                    </li>
                    <li><a href="/article/1896728765476696064.htm"
                           title="python打印小票_pyqt5 商店小票打印的实现模板" target="_blank">python打印小票_pyqt5 商店小票打印的实现模板</a>
                        <span class="text-muted">weixin_39789327</span>
<a class="tag" taget="_blank" href="/search/python%E6%89%93%E5%8D%B0%E5%B0%8F%E7%A5%A8/1.htm">python打印小票</a>
                        <div>说明最近在用pyqt5做商店小票打印,用的是得力DL-581PW(NEW)热敏小票打印机。商店小票打印,属于escpos打印。在网上找了很多实现方法,看了很多相关文章,经历了很多困难,最后终于实现了。这里先分享一下我看过的文章和尝试过的方法,最后分享我的实现套路。一.使用execl打印很多场景,我都是使用win32com模块的execl打印,基本能解决大部分的打印问题。(相关的方法网上也有,可以找</div>
                    </li>
                    <li><a href="/article/1896728513306750976.htm"
                           title="python segmentation fault是什么意思-A Python Segmentation Fault?" target="_blank">python segmentation fault是什么意思-A Python Segmentation Fault?</a>
                        <span class="text-muted">weixin_37988176</span>

                        <div>ThisgeneratesaSegmentationFault:11andIhavenocluewhy.BeforeIgetintoit,here'sthecode:importnumpy.randomasnprndimportheapqimportsyssys.setrecursionlimit(10**6)defrlist(size,limit_low,limit_high):for_inxr</div>
                    </li>
                    <li><a href="/article/1896728386529718272.htm"
                           title="一个色条可用于多个散点图" target="_blank">一个色条可用于多个散点图</a>
                        <span class="text-muted">潮易</span>
<a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a>
                        <div>一个色条可用于多个散点图在Python中,使用matplotlib库绘制多个散点图时,可以使用循环来重复生成相同的图表,然后修改数据以显示不同分布的数据。以下是一个详细步骤的代码示例:```pythonimportmatplotlib.pyplotaspltimportnumpyasnp#创建一个色条对象cax=ax2.inset_axes([0,0,1,0.5])norm=matplotlib.</div>
                    </li>
                    <li><a href="/article/1896727505130287104.htm"
                           title="python数据分析的基础知识—pandas中dataframe()使用" target="_blank">python数据分析的基础知识—pandas中dataframe()使用</a>
                        <span class="text-muted">sodaloveer</span>
<a class="tag" taget="_blank" href="/search/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/1.htm">python数据分析基础知识</a><a class="tag" taget="_blank" href="/search/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E7%B3%BB%E5%88%97/1.htm">python数据分析系列</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pandas/1.htm">pandas</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a>
                        <div>文章目录前言一、DataFrame创建1、函数创建2、直接创建3、字典创建二、DataFrame属性1、查看列的数据类型2、查看DataFrame的前几行后几行3、查看行名与列名4、查看数据值5、查看行列数三、DataFrame切片与索引1、普通索引2、层次化索引四、DataFrame操作1、转置2、描述性统计3、计算算术运算逻辑运算统计函数累计统计函数相关系数和协方差自定义运算4、新增5、修改6</div>
                    </li>
                    <li><a href="/article/1896723215837884416.htm"
                           title="python打印购物小票" target="_blank">python打印购物小票</a>
                        <span class="text-muted">美食与你不可或缺</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0python%E7%9A%84%E6%88%90%E7%A5%9E%E5%BF%85%E7%BB%8F%E4%B9%8B%E8%B7%AF/1.htm">学习python的成神必经之路</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>简单的输入和输出danhao='单号:DH20109'time='时间:2020'qian='名称数量单价金额'diyi='金士顿U盘14040'dier='胜创15050'disan='读卡器188'disi='网线155'diwu='''总数:4总额:103折后总额:103实收&#</div>
                    </li>
                    <li><a href="/article/1896722710470389760.htm"
                           title="Python案例--暂停与时间格式化" target="_blank">Python案例--暂停与时间格式化</a>
                        <span class="text-muted">gabadout</span>
<a class="tag" taget="_blank" href="/search/Python%E6%A1%88%E4%BE%8B/1.htm">Python案例</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>在编程中,时间的处理是一个常见的需求。无论是日志记录、任务调度还是数据时间戳的生成,正确地获取和格式化时间都至关重要。Python提供了强大的时间处理模块,其中time模块是基础且广泛使用的工具之一。本文将通过一个简单的示例,深入探讨如何使用Python的time模块来实现暂停程序执行并格式化输出当前时间,并展示其运行结果。一、示例代码解析以下是一个简单的Python脚本,它展示了如何在程序运行过</div>
                    </li>
                    <li><a href="/article/1896722711065980928.htm"
                           title="Python案例--养兔子" target="_blank">Python案例--养兔子</a>
                        <span class="text-muted">gabadout</span>
<a class="tag" taget="_blank" href="/search/Python%E6%A1%88%E4%BE%8B/1.htm">Python案例</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1/1.htm">数学建模</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>兔子繁殖问题是一个经典的数学问题,最早由意大利数学家斐波那契在13世纪提出。这个问题不仅在数学领域具有重要意义,还广泛应用于计算机科学、生物学和经济学等领域。本文将通过一个具体的Python程序,深入探讨兔子繁殖问题的建模和实现,并展示程序的运行结果。一、问题描述假设有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。假设兔子都不会死亡,问每个月的兔子总数是多</div>
                    </li>
                    <li><a href="/article/1896718933780656128.htm"
                           title="Python解决Segmentation Fault错误" target="_blank">Python解决Segmentation Fault错误</a>
                        <span class="text-muted">代码飞翔</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a>
                        <div>在Python编程中,有时候你可能会遇到"SegmentationFault"(分段错误)的错误。这通常是由于程序访问了无效的内存地址或者出现了内存访问冲突导致的。本文将向你介绍一些常见的原因和解决方法,帮助你解决Python中的SegmentationFault错误。缓冲区溢出(BufferOverflow)缓冲区溢出是导致SegmentationFault错误的常见原因之一。当你使用数组或者其</div>
                    </li>
                    <li><a href="/article/1896714904530907136.htm"
                           title="python实现的按键精灵" target="_blank">python实现的按键精灵</a>
                        <span class="text-muted">亲爱的沸羊羊</span>
<a class="tag" taget="_blank" href="/search/%E4%BE%BF%E6%8D%B7%E5%B7%A5%E5%85%B7/1.htm">便捷工具</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>最近玩上了某款游戏,由于游戏中打怪需要一直按键盘上固定的几个键,时间一长手就会很累,为了解放左手,楼主自行实现了一款按键精灵。言归正传,本款按键精灵是用python语言实现的,下面介绍一下实现方法:1.pykeyboard库用来模拟按压键盘的操作2.pynput库用来监听键盘按压事件3.threading库用来抛出线程,实现循环按压4.tkinter库用来实现一个简单的UI界面介绍一下按键精灵的功</div>
                    </li>
                    <li><a href="/article/1896714398957891584.htm"
                           title="按键精灵和python功能对比_python 自动化对比返回结果" target="_blank">按键精灵和python功能对比_python 自动化对比返回结果</a>
                        <span class="text-muted">weixin_39884100</span>
<a class="tag" taget="_blank" href="/search/%E6%8C%89%E9%94%AE%E7%B2%BE%E7%81%B5%E5%92%8Cpython%E5%8A%9F%E8%83%BD%E5%AF%B9%E6%AF%94/1.htm">按键精灵和python功能对比</a>
                        <div>对比返回结果的code,不是很完善,存在问题,由于多行数据,只有1行可写入excel中:#-*-coding:utf-8-*-importhttplib2,xlrd,xlwt,time,jsonfromxlutils.copyimportcopydefTime():tim=time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()))re</div>
                    </li>
                    <li><a href="/article/1896714146892804096.htm"
                           title="python代替按键精灵库_Python键鼠操作自动化库PyAutoGUI简介" target="_blank">python代替按键精灵库_Python键鼠操作自动化库PyAutoGUI简介</a>
                        <span class="text-muted">weixin_39556064</span>
<a class="tag" taget="_blank" href="/search/python%E4%BB%A3%E6%9B%BF%E6%8C%89%E9%94%AE%E7%B2%BE%E7%81%B5%E5%BA%93/1.htm">python代替按键精灵库</a>
                        <div>PyAutoGUI是一个Python语言的键鼠自动化库,简单来说和按键精灵的功能一样。但是因为是Python的类库,所以可以使用Python代码配合一些其他类库完成更加强大的功能。下面让我为大家介绍一下吧。安装从pip安装即可。pipinstallpyautogui稍等一下安装就完毕了。使用介绍简单介绍一下PyAutoGUI的函数以及使用方法。鼠标操作函数操作鼠标点击的函数。函数简单说明move(</div>
                    </li>
                    <li><a href="/article/1896714020514230272.htm"
                           title="按键精灵调用python文件_Python&按键精灵自动化" target="_blank">按键精灵调用python文件_Python&按键精灵自动化</a>
                        <span class="text-muted">weixin_39616367</span>
<a class="tag" taget="_blank" href="/search/%E6%8C%89%E9%94%AE%E7%B2%BE%E7%81%B5%E8%B0%83%E7%94%A8python%E6%96%87%E4%BB%B6/1.htm">按键精灵调用python文件</a>
                        <div>最近在项目中需要进行软件的自动化操作。本博文以两种方式介绍如何自动化打开软件(Windows下),对其进行最大化最小化关闭等操作。Python操作:第一次接触自动化。相对比较熟悉Python自然是希望通过Python来操作软件。一般来说,通过程序来操作软件需要获得该软件的句柄,然后通过该句柄给软件发消息来操作该软件。Python中你需要安装Pywin32模块,该模块提供了访问WindowsAPI的</div>
                    </li>
                    <li><a href="/article/1896713894139850752.htm"
                           title="python代替按键精灵 游戏内失灵_python游戏脚本之调用按键精灵插件模拟输入(二)..." target="_blank">python代替按键精灵 游戏内失灵_python游戏脚本之调用按键精灵插件模拟输入(二)...</a>
                        <span class="text-muted">河星星</span>
<a class="tag" taget="_blank" href="/search/python%E4%BB%A3%E6%9B%BF%E6%8C%89%E9%94%AE%E7%B2%BE%E7%81%B5/1.htm">python代替按键精灵</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%86%85%E5%A4%B1%E7%81%B5/1.htm">游戏内失灵</a>
                        <div>我们准备在python中调用按键精灵的大漠插件来完成模拟驱动的鼠标键盘操作。大漠综合插件(dm.dll)采用vc6.0编写,识别速度超级快!采用COM接口编写,适用于所有语言调用。网上相关教程极少,我们只能一步步自己摸索。首先下载大漠核心组件dm.dll,在win10的新版总是出现闪退bug,为了稳定性,选择比较老的3.2xxx版本了。下载地址下载解压后,将dm.dll复制到C:\Windows\</div>
                    </li>
                    <li><a href="/article/1896709731561566208.htm"
                           title="《Python百炼成仙》11-20章(不定时跟新)" target="_blank">《Python百炼成仙》11-20章(不定时跟新)</a>
                        <span class="text-muted">Monkey_Jun</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E8%AF%B4/1.htm">小说</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E4%BB%99/1.htm">修仙</a>
                        <div>第十一章条件渡劫·if-else问心武当金顶的云海翻涌着二进制雪暴,七十二峰化作擎天而立的布尔冰柱。叶军踩着《周易》残页跃上紫霄宫檐角,看见薛香被冰封在水晶般的条件表达式中心:if道心澄澈:破妄剑意+=100else:心魔熵值*=2楔子·三元寒渊宫墙上的八卦阵突然坍缩成三元表达式:剑气=80if时辰=="子时"else50冰晶剑气从"子时"分支喷涌而出,却在触及叶军衣襟时突变为"午时"的烈焰。他翻</div>
                    </li>
                    <li><a href="/article/1896709732421398528.htm"
                           title="《Python百炼成仙》21-30章(不定时跟新)" target="_blank">《Python百炼成仙》21-30章(不定时跟新)</a>
                        <span class="text-muted">Monkey_Jun</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E8%AF%B4/1.htm">小说</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E4%BB%99/1.htm">修仙</a>
                        <div>第廿一章列表开天·可变序列初成不周山的擎天玉柱裂开蛛网纹路,山体内部传出数据结构崩塌的轰鸣。叶军踏着《数据结构真解》残页凌空而立,手中薛香的本命玉尺泛起列表操作的幽光:补天石序列=[五色石]*9补天石序列[3]=息壤#引发链式变异楔子·共工之怒山腹深处涌出猩红的append()玄光,共工残魂在岩浆中咆哮:while天穹漏洞数量>0:补天石序列.append(五色石)天穹漏洞数量-=1叶军挥剑斩断失</div>
                    </li>
                    <li><a href="/article/1896709603438161920.htm"
                           title="【Python】OpenCV算法使用案例全解" target="_blank">【Python】OpenCV算法使用案例全解</a>
                        <span class="text-muted">岱宗夫up</span>
<a class="tag" taget="_blank" href="/search/%E6%95%99%E5%AD%A6/1.htm">教学</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>OpenCV算法使用案例全解前言OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。从简单的图像滤波到复杂的三维重建,OpenCV涵盖了计算机视觉领域的众多算法。本文将详细介绍OpenCV中常见算法的使用案例,帮助读者更好地理解和应用这些强大的工具。一、图像处理基础(一)滤波操作滤波是图像处理中最基</div>
                    </li>
                    <li><a href="/article/1896708972975550464.htm"
                           title="学习自动化脚本的路线" target="_blank">学习自动化脚本的路线</a>
                        <span class="text-muted">学自动化的小白</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>学习自动化脚本是一个涉及多个方面的过程,以下是一个建议的学习路线,可以帮助你系统地掌握自动化脚本编写的技能:一、编程语言基础Python基础:首先,你需要掌握Python的基本语法和编程概念,包括变量、数据类型、循环、条件语句、函数、类等。Python是一种易于上手且功能强大的编程语言,非常适合用于自动化脚本编写。开发环境搭建:熟悉常用的Python开发环境,如PyCharm、VisualStud</div>
                    </li>
                    <li><a href="/article/1896707838487621632.htm"
                           title="Python爬虫" target="_blank">Python爬虫</a>
                        <span class="text-muted">岱宗夫up</span>
<a class="tag" taget="_blank" href="/search/%E6%95%99%E5%AD%A6/1.htm">教学</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>python凭借其简洁的语法和强大的库支持,成为编写爬虫程序的首选语言之一。今天,我将通过一个简单的示例,带你入门Python爬虫,并展示如何爬取网页内容并保存到文本文件中。一、爬虫的基本概念爬虫(WebCrawler)是一种自动获取网页内容的程序。它模拟浏览器的行为,向目标网站发送请求,获取网页的HTML代码,然后通过解析HTML提取所需的数据。爬虫广泛应用于数据挖掘、搜索引擎优化、信息采集等领</div>
                    </li>
                    <li><a href="/article/1896705065654218752.htm"
                           title="python调用rust_将字符串列表从Python传递到Rust" target="_blank">python调用rust_将字符串列表从Python传递到Rust</a>
                        <span class="text-muted">weixin_39930144</span>
<a class="tag" taget="_blank" href="/search/python%E8%B0%83%E7%94%A8rust/1.htm">python调用rust</a>
                        <div>I'vebeenlearningRustforabouttwoweeksnowandtoday,IgotintoitsFFI.IusedPythontoplaywithRust,usingctypesandlibc.Ipassedintegers,stringsandevenlearnedtopassalistofintegers(thankstothiswonderfulanswer).Then</div>
                    </li>
                    <li><a href="/article/1896702291667382272.htm"
                           title="Python测试框架pytest核心库pluggy详解" target="_blank">Python测试框架pytest核心库pluggy详解</a>
                        <span class="text-muted">美团程序员</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/1.htm">自动化测试</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pytest/1.htm">pytest</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>代码案例12345678910111213141516171819202122232425262728293031323334353637383940414243444546importpluggy#HookspecMarker和HookimplMarker实质上是一个装饰器带参数的装饰器类,作用是给函数增加额外的属性设置hookspec=pluggy.HookspecMarker("myproj</div>
                    </li>
                    <li><a href="/article/1896702165267836928.htm"
                           title="python调用C++,使用pybind11" target="_blank">python调用C++,使用pybind11</a>
                        <span class="text-muted">Qt小当家</span>
<a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>一.准备工作:1.安装python环境(如果编译的是32位的python库,则需要安装32位的python环境,如果编译64位的则安装64位环境)2.安装环境后敲打命令pipinstallpytest下载pytest,敲打命令pipinstallpybind11下载pybind11二.创建项目,配置cmake引入python和pybind11相关库如下面cmake所看到的,我安装了python的3</div>
                    </li>
                    <li><a href="/article/1896701913211138048.htm"
                           title="Java Selenium入门程序" target="_blank">Java Selenium入门程序</a>
                        <span class="text-muted">依旧很淡定</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>需求:使用chrome浏览器打开百度首页1.配置浏览器驱动(1)下载浏览器驱动,浏览器版本需与驱动版本一致;(2)编辑系统环境变量-->编辑Path-->填入浏览器驱动路径:2.maven工程pom.xml引入selenium依赖坐标org.seleniumhq.seleniumselenium-java4.22.03.编写测试程序,打开百度首页packagecom.sgu;importorg.o</div>
                    </li>
                    <li><a href="/article/1896701408409874432.htm"
                           title="鸿蒙日期格式工具封装及使用" target="_blank">鸿蒙日期格式工具封装及使用</a>
                        <span class="text-muted">来之梦</span>
<a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a>
                        <div>封装DataFormat.ets/***@param{Date}value*@return{string}*@example*@description格式化日期*/exportclassDataFormat{dateFormat(value:Date):string{constyear=value.getFullYear();constmonth=value.getMonth()+1;constd</div>
                    </li>
                    <li><a href="/article/1896700650914377728.htm"
                           title="pytest文档77 - parametrize 参数化跳过部分用例(pytest.param)" target="_blank">pytest文档77 - parametrize 参数化跳过部分用例(pytest.param)</a>
                        <span class="text-muted">上海-悠悠</span>
<a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/pytest/1.htm">pytest</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B/1.htm">测试用例</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a>
                        <div>前言pytest参数化的时候,希望能跳过部分测试用例,可以用pytest.param来实现。parametrize参数化示例parametrize参数化importpytest@pytest.mark.parametrize('input1,input2,expected',[["a","b","ab"],["1","2","12"],[2,3,5],[1,3,4],])deftest_foo(i</div>
                    </li>
                    <li><a href="/article/1896691444505178112.htm"
                           title="推荐:Python Google Search API——无限制的搜索引擎工具箱" target="_blank">推荐:Python Google Search API——无限制的搜索引擎工具箱</a>
                        <span class="text-muted">舒京涌</span>

                        <div>推荐:PythonGoogleSearchAPI——无限制的搜索引擎工具箱项目地址:https://gitcode.com/gh_mirrors/py/python-gsearch在当今这个信息爆炸的时代,能够高效搜索信息至关重要。今天,我们为您推荐一个强大的开源工具——PythonGoogleSearchAPI,这是一款无需任何外部依赖即可直接使用的非官方谷歌搜索接口。无论是开发者、研究人员还是</div>
                    </li>
                    <li><a href="/article/1896688797115019264.htm"
                           title="python 统计库_《统计学习方法》 Python 库" target="_blank">python 统计库_《统计学习方法》 Python 库</a>
                        <span class="text-muted">weixin_39756540</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%BB%9F%E8%AE%A1%E5%BA%93/1.htm">统计库</a>
                        <div>新建GitHub仓库仓库名为slmethod,统计学习方法(StatisticalLearningMethod)的简写Public公开仓库勾选InitializethisrepositorywithaREADME.gitignore选择Python添加MITLicensenew下载代码到本地,使用ssh协议。gitclonegit@github.com:iOSDevLog/slmethod.git</div>
                    </li>
                                <li><a href="/article/86.htm"
                                       title="linux系统服务器下jsp传参数乱码" target="_blank">linux系统服务器下jsp传参数乱码</a>
                                    <span class="text-muted">3213213333332132</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a>
                                    <div>在一次解决乱码问题中, 发现jsp在windows下用js原生的方法进行编码没有问题,但是到了linux下就有问题, escape,encodeURI,encodeURIComponent等都解决不了问题 
但是我想了下既然原生的方法不行,我用el标签的方式对中文参数进行加密解密总该可以吧。于是用了java的java.net.URLDecoder,结果还是乱码,最后在绝望之际,用了下面的方法解决了</div>
                                </li>
                                <li><a href="/article/213.htm"
                                       title="Spring 注解区别以及应用" target="_blank">Spring 注解区别以及应用</a>
                                    <span class="text-muted">BlueSkator</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>1. @Autowired 
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean,或者不存在UserDao类型的bean,会抛出 BeanCreationException异常,这时可以通过在该属性上再加一个@Qualifier注解来声明唯一的id解决问题。 
  
2. @Qualifier 
当spring中存在至少一个匹</div>
                                </li>
                                <li><a href="/article/340.htm"
                                       title="printf和sprintf的应用" target="_blank">printf和sprintf的应用</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/sprintf/1.htm">sprintf</a><a class="tag" taget="_blank" href="/search/printf/1.htm">printf</a>
                                    <div><?php
printf('b: %b <br>c: %c <br>d: %d <bf>f: %f', 80,80, 80, 80);
echo '<br />';
printf('%0.2f <br>%+d <br>%0.2f <br>', 8, 8, 1235.456);

printf('th</div>
                                </li>
                                <li><a href="/article/467.htm"
                                       title="config.getInitParameter" target="_blank">config.getInitParameter</a>
                                    <span class="text-muted">171815164</span>
<a class="tag" taget="_blank" href="/search/parameter/1.htm">parameter</a>
                                    <div>web.xml 
 
 <servlet>
  	<servlet-name>servlet1</servlet-name>
  	<jsp-file>/index.jsp</jsp-file>
  	<init-param>
  		<param-name>str</param-name>
</div>
                                </li>
                                <li><a href="/article/594.htm"
                                       title="Ant标签详解--基础操作" target="_blank">Ant标签详解--基础操作</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/ant/1.htm">ant</a>
                                    <div>        Ant的一些核心概念: 
        build.xml:构建文件是以XML 文件来描述的,默认构建文件名为build.xml。        project:每个构建文</div>
                                </li>
                                <li><a href="/article/721.htm"
                                       title="[简单]代码片段_数据合并" target="_blank">[简单]代码片段_数据合并</a>
                                    <span class="text-muted">53873039oycg</span>
<a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81/1.htm">代码</a>
                                    <div>        合并规则:删除家长phone为空的记录,若一个家长对应多个孩子,保留一条家长记录,家长id修改为phone,对应关系也要修改。 
        代码如下: 
       </div>
                                </li>
                                <li><a href="/article/848.htm"
                                       title="java 通信技术" target="_blank">java 通信技术</a>
                                    <span class="text-muted">云端月影</span>
<a class="tag" taget="_blank" href="/search/Java+%E8%BF%9C%E7%A8%8B%E9%80%9A%E4%BF%A1%E6%8A%80%E6%9C%AF/1.htm">Java 远程通信技术</a>
                                    <div>在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来</div>
                                </li>
                                <li><a href="/article/975.htm"
                                       title="string与StringBuilder 性能差距到底有多大" target="_blank">string与StringBuilder 性能差距到底有多大</a>
                                    <span class="text-muted">aijuans</span>

                                    <div>  
        之前也看过一些对string与StringBuilder的性能分析,总感觉这个应该对整体性能不会产生多大的影响,所以就一直没有关注这块! 
        由于学程序初期最先接触的string拼接,所以就一直没改变过自己的习惯! 
        </div>
                                </li>
                                <li><a href="/article/1102.htm"
                                       title="今天碰到 java.util.ConcurrentModificationException 异常" target="_blank">今天碰到 java.util.ConcurrentModificationException 异常</a>
                                    <span class="text-muted">antonyup_2006</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/IBM/1.htm">IBM</a>
                                    <div>今天改bug,其中有个实现是要对map进行循环,然后有删除操作,代码如下: 

Iterator<ListItem> iter = ItemMap.keySet.iterator();
while(iter.hasNext()){
ListItem it = iter.next();
//...一些逻辑操作
ItemMap.remove(it);
}
 
结果运行报Con</div>
                                </li>
                                <li><a href="/article/1229.htm"
                                       title="PL/SQL的类型和JDBC操作数据库" target="_blank">PL/SQL的类型和JDBC操作数据库</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/PL%2FSQL%E8%A1%A8/1.htm">PL/SQL表</a><a class="tag" taget="_blank" href="/search/%E6%A0%87%E9%87%8F%E7%B1%BB%E5%9E%8B/1.htm">标量类型</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%A0%87/1.htm">游标</a><a class="tag" taget="_blank" href="/search/PL%2FSQL%E8%AE%B0%E5%BD%95/1.htm">PL/SQL记录</a>
                                    <div>PL/SQL的标量类型: 
   字符,数字,时间,布尔,%type五中类型的 
--标量:数据库中预定义类型的变量
--定义一个变长字符串 
v_ename varchar2(10); 

--定义一个小数,范围 -9999.99~9999.99 
v_sal number(6,2); 

--定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号 
</div>
                                </li>
                                <li><a href="/article/1356.htm"
                                       title="Mockito:一个强大的用于 Java 开发的模拟测试框架实例" target="_blank">Mockito:一个强大的用于 Java 开发的模拟测试框架实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/mockito/1.htm">mockito</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a>
                                    <div>Mockito框架: 
        Mockito是一个基于MIT协议的开源java测试框架。         Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为。对于mock对象的一个评价是测试系统的测</div>
                                </li>
                                <li><a href="/article/1483.htm"
                                       title="精通Oracle10编程SQL(10)处理例外" target="_blank">精通Oracle10编程SQL(10)处理例外</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a>
                                    <div>/*
 *处理例外
 */
--例外简介
--处理例外-传递例外
declare
   v_ename emp.ename%TYPE;
begin
   SELECT ename INTO v_ename FROM emp
      where empno=&no;
   dbms_output.put_line('雇员名:'||v_ename);
exceptio</div>
                                </li>
                                <li><a href="/article/1610.htm"
                                       title="【Java】Java执行远程机器上Linux命令" target="_blank">【Java】Java执行远程机器上Linux命令</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/linux%E5%91%BD%E4%BB%A4/1.htm">linux命令</a>
                                    <div>Java使用ethz通过ssh2执行远程机器Linux上命令, 
  
封装定义Linux机器的环境信息 
  
package com.tom;


import java.io.File;

public class Env {
    private String hostaddr; //Linux机器的IP地址
    private Integer po</div>
                                </li>
                                <li><a href="/article/1737.htm"
                                       title="java通信之Socket通信基础" target="_blank">java通信之Socket通信基础</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/socket/1.htm">socket</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a>
                                    <div>正处于网络环境下的两个程序,它们之间通过一个交互的连接来实现数据通信。每一个连接的通信端叫做一个Socket。一个完整的Socket通信程序应该包含以下几个步骤: 
①创建Socket; 
②打开连接到Socket的输入输出流; 
④按照一定的协议对Socket进行读写操作; 
④关闭Socket。 
  
Socket通信分两部分:服务器端和客户端。服务器端必须优先启动,然后等待soc</div>
                                </li>
                                <li><a href="/article/1864.htm"
                                       title="angular.bind" target="_blank">angular.bind</a>
                                    <span class="text-muted">boyitech</span>
<a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/angular.bind/1.htm">angular.bind</a><a class="tag" taget="_blank" href="/search/AngularJS+API/1.htm">AngularJS API</a><a class="tag" taget="_blank" href="/search/bind/1.htm">bind</a>
                                    <div>angular.bind   描述:           上下文,函数以及参数动态绑定,返回值为绑定之后的函数. 其中args是可选的动态参数,self在fn中使用this调用。    使用方法:            angular.bind(se</div>
                                </li>
                                <li><a href="/article/1991.htm"
                                       title="java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。" target="_blank">java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
import java.util.ArrayList;
import java.util.List;


public class KickOutBadGuys {

	/**
	 * 题目:13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
	 * Maybe you can find out </div>
                                </li>
                                <li><a href="/article/2118.htm"
                                       title="Redis.conf配置文件及相关项说明(自查备用)" target="_blank">Redis.conf配置文件及相关项说明(自查备用)</a>
                                    <span class="text-muted">Kai_Ge</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a>
                                    <div>   Redis.conf配置文件及相关项说明 
# Redis configuration file example
 
# Note on units: when memory size is needed, it is possible to specifiy
# it in the usual form of 1k 5GB 4M and so forth:
#
</div>
                                </li>
                                <li><a href="/article/2245.htm"
                                       title="[强人工智能]实现大规模拓扑分析是实现强人工智能的前奏" target="_blank">[强人工智能]实现大规模拓扑分析是实现强人工智能的前奏</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                                    <div> 
 
     真不好意思,各位朋友...博客再次更新... 
 
     节点数量太少,网络的分析和处理能力肯定不足,在面对机器人控制的需求方面,显得力不从心.... 
 
     但是,节点数太多,对拓扑数据处理的要求又很高,设计目标也很高,实现起来难度颇大... 
 </div>
                                </li>
                                <li><a href="/article/2372.htm"
                                       title="记录一些常用的函数" target="_blank">记录一些常用的函数</a>
                                    <span class="text-muted">dai_lm</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
public static String convertInputStreamToString(InputStream is) {

	StringBuilder result = new StringBuilder();

	if (is != null)
		try {
			InputStreamReader inputReader = new InputStreamRead</div>
                                </li>
                                <li><a href="/article/2499.htm"
                                       title="Hadoop中小规模集群的并行计算缺陷" target="_blank">Hadoop中小规模集群的并行计算缺陷</a>
                                    <span class="text-muted">datamachine</span>
<a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97/1.htm">并行计算</a>
                                    <div>注:写这篇文章的初衷是因为Hadoop炒得有点太热,很多用户现有数据规模并不适用于Hadoop,但迫于扩容压力和去IOE(Hadoop的廉价扩展的确非常有吸引力)而尝试。尝试永远是件正确的事儿,但有时候不用太突进,可以调优或调需求,发挥现有系统的最大效用为上策。 
 
-----------------------------------------------------------------</div>
                                </li>
                                <li><a href="/article/2626.htm"
                                       title="小学4年级英语单词背诵第二课" target="_blank">小学4年级英语单词背诵第二课</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/english/1.htm">english</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a>
                                    <div>egg  蛋 
twenty 二十 
any 任何 
well 健康的,好 
  
twelve 十二 
farm 农场 
every 每一个 
back 向后,回 
  
fast 快速的 
whose 谁的 
much 许多 
flower 花 
  
watch 手表 
very 非常,很 
sport 运动 
Chinese 中国的 
  </div>
                                </li>
                                <li><a href="/article/2753.htm"
                                       title="自己实践了github的webhooks, linux上面的权限需要注意" target="_blank">自己实践了github的webhooks, linux上面的权限需要注意</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/webhook/1.htm">webhook</a>
                                    <div>环境, 阿里云服务器 
  
1. 本地创建项目, push到github服务器上面 
  
2. 生成www用户的密钥 
sudo -u www ssh-keygen -t rsa -C "xxx@xx.com" 
  
  
3. 将密钥添加到github帐号的SSH_KEYS里面 
  
3. 用www用户执行克隆, 源使</div>
                                </li>
                                <li><a href="/article/2880.htm"
                                       title="Java冒泡排序" target="_blank">Java冒泡排序</a>
                                    <span class="text-muted">蕃薯耀</span>
<a class="tag" taget="_blank" href="/search/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F/1.htm">冒泡排序</a><a class="tag" taget="_blank" href="/search/Java%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F/1.htm">Java冒泡排序</a><a class="tag" taget="_blank" href="/search/Java%E6%8E%92%E5%BA%8F/1.htm">Java排序</a>
                                    <div>冒泡排序 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
蕃薯耀 2015年6月23日 10:40:14 星期二 
http://fanshuyao.iteye.com/</div>
                                </li>
                                <li><a href="/article/3007.htm"
                                       title="Excle读取数据转换为实体List【基于apache-poi】" target="_blank">Excle读取数据转换为实体List【基于apache-poi】</a>
                                    <span class="text-muted">hanqunfeng</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a>
                                    <div>1.依赖apache-poi 
  
2.支持xls和xlsx 
  
3.支持按属性名称绑定数据值 
  
4.支持从指定行、列开始读取 
  
5.支持同时读取多个sheet 
  
6.具体使用方式参见org.cpframework.utils.excelreader.CP_ExcelReaderUtilTest.java 
比如: 
Str</div>
                                </li>
                                <li><a href="/article/3134.htm"
                                       title="3个处于草稿阶段的Javascript API介绍" target="_blank">3个处于草稿阶段的Javascript API介绍</a>
                                    <span class="text-muted">jackyrong</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div>原文: 
http://www.sitepoint.com/3-new-javascript-apis-may-want-follow/?utm_source=html5weekly&utm_medium=email 
 
 
  本文中,介绍3个仍然处于草稿阶段,但应该值得关注的Javascript API. 
 
1) Web Alarm API 
  &</div>
                                </li>
                                <li><a href="/article/3261.htm"
                                       title="6个创建Web应用程序的高效PHP框架" target="_blank">6个创建Web应用程序的高效PHP框架</a>
                                    <span class="text-muted">lampcy</span>
<a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a>
                                    <div>以下是创建Web应用程序的PHP框架,有coder bay网站整理推荐: 
1. CakePHP 
CakePHP是一个PHP快速开发框架,它提供了一个用于开发、维护和部署应用程序的可扩展体系。CakePHP使用了众所周知的设计模式,如MVC和ORM,降低了开发成本,并减少了开发人员写代码的工作量。 
2. CodeIgniter 
CodeIgniter是一个非常小且功能强大的PHP框架,适合需</div>
                                </li>
                                <li><a href="/article/3388.htm"
                                       title="评"救市后中国股市新乱象泛起"谣言" target="_blank">评"救市后中国股市新乱象泛起"谣言</a>
                                    <span class="text-muted">nannan408</span>

                                    <div>首先来看百度百家一位易姓作者的新闻: 
 

    三个多星期来股市持续暴跌,跌得投资者及上市公司都处于极度的恐慌和焦虑中,都要寻找自保及规避风险的方式。面对股市之危机,政府突然进入市场救市,希望以此来重建市场信心,以此来扭转股市持续暴跌的预期。而政府进入市场后,由于市场运作方式发生了巨大变化,投资者及上市公司为了自保及为了应对这种变化,中国股市新的乱象也自然产生。

首先,中国股市这两天</div>
                                </li>
                                <li><a href="/article/3515.htm"
                                       title="页面全屏遮罩的实现 方式" target="_blank">页面全屏遮罩的实现 方式</a>
                                    <span class="text-muted">Rainbow702</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E9%81%AE%E7%BD%A9/1.htm">遮罩</a><a class="tag" taget="_blank" href="/search/mask/1.htm">mask</a>
                                    <div>之前做了一个页面,在点击了某个按钮之后,要求页面出现一个全屏遮罩,一开始使用了position:absolute来实现的。当时因为画面大小是固定的,不可以resize的,所以,没有发现问题。 
最近用了同样的做法做了一个遮罩,但是画面是可以进行resize的,所以就发现了一个问题,当画面被reisze到浏览器出现了滚动条的时候,就发现,用absolute 的做法是有问题的。后来改成fixed定位就</div>
                                </li>
                                <li><a href="/article/3642.htm"
                                       title="关于angularjs的点滴" target="_blank">关于angularjs的点滴</a>
                                    <span class="text-muted">tntxia</span>
<a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a>
                                    <div>  
angular是一个新兴的JS框架,和以往的框架不同的事,Angularjs更注重于js的建模,管理,同时也提供大量的组件帮助用户组建商业化程序,是一种值得研究的JS框架。 
  
Angularjs使我们可以使用MVC的模式来写JS。Angularjs现在由谷歌来维护。 
  
这里我们来简单的探讨一下它的应用。 
  
首先使用Angularjs我</div>
                                </li>
                                <li><a href="/article/3769.htm"
                                       title="Nutz--->>反复新建ioc容器的后果" target="_blank">Nutz--->>反复新建ioc容器的后果</a>
                                    <span class="text-muted">xiaoxiao1992428</span>
<a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/IOC/1.htm">IOC</a><a class="tag" taget="_blank" href="/search/nutz/1.htm">nutz</a>
                                    <div>问题: 
public class DaoZ { 
  
  public static Dao dao() { // 每当需要使用dao的时候就取一次 
    Ioc ioc = new NutIoc(new JsonLoader("dao.js")); 
    return ioc.get(</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html><script data-cfasync="false" src="/cdn-cgi/scripts/email-decode.min.js-cb/cloudflare-static/email-decode.min.js"></script>