-
在Python的gevent框架下执行异步的Solr查询的教程
我经常需要用Python与solr进行异步请求工作.这里有段代码阻塞在Solr http请求上, 直到第一个完成才会执行第二个请求,代码如下: import requests #Search 1 solrResp = requests.get('http://mysolr.com/solr/statedecoded/search?q=law') for doc in solrResp.json()['response']['docs']: print doc['catch_line'] #Sea
-
Django时区详解
引言 相信使用Django的各位开发者在存储时间的时候经常会遇到这样子的错误: RuntimeWarning: DateTimeField received a naive datetime while time zone support is active. 这个错误到底是什么意思呢?什么是naive datetime object?什么又是aware datetime object? 在Django配置中如果将settings.TIME_ZONE设置为中国时区(Asia/Shanghai),
-
揭秘SQL Server 2014有哪些新特性(4)-原生备份加密
SQL Server 2014 CTP2之后公布了一项针对备份的特性,那就是原生备份加密.考虑到之前网络上影响很坏的数据库泄漏事件,本质上都是数据库备份泄漏给第三方导致,SQL Server的原声数据备份可以使得即使备份本身被盗,在没有加密证书的情况下也无法使用,这有效的解决了上述数据泄漏问题.原先的解决方案 在SQL Server 2014之前,如果希望实现对备份实现加密,会通过如下两种方式之一实现: 使用透明数据加密(TDE)加密整个数据库,从而使得备份和事务日志也会被加密 使用第三方备份加
-
从java源码分析线程池(池化技术)的实现原理
目录 线程池的起源 线程池的定义和使用 方案一:Executors(仅做了解,推荐使用方案二) 方案二:ThreadPoolExecutor 线程池的实现原理 前言: 线程池是一个非常重要的知识点,也是池化技术的一个典型应用,相信很多人都有使用线程池的经历,但是对于线程池的实现原理大家都了解吗?本篇文章我们将深入线程池源码来一探究竟. 线程池的起源 背景: 随着计算机硬件的升级换代,使我们的软件具备多线程执行任务的能力.当我们在进行多线程编程时,就需要创建线程,如果说程序并发很高的话,我们会创建
-
C++虚函数及虚函数表简析
C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数.这种技术可以让父类的指针有"多种形态",这是一种泛型技术.所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法.比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议. 关于虚函数的使用方法,我在这里不做过多的阐述.大家可以看看相关的C++的书籍.在这篇文章中,我只想从虚函数的实现机制上面为大家 一个
-
使用wxPython获取系统剪贴板中的数据的教程
涉及到开发桌面程序,尤其是文本处理,剪贴板就很常用,不像 java 中那么烦锁,wxpython 中访问剪贴板非常简单,寥寥几句足以. # 取得剪贴板并确保其为打开状态 text_obj = wx.TextDataObject() wx.TheClipboard.Open() if wx.TheClipboard.IsOpened() or wx.TheClipboard.Open(): # do something... wx.TheClipboard.Close() 取值: if wx.Th
-
Vue.js进阶知识点总结
对大部分人来说,掌握Vue.js基本的几个API后就已经能够正常地开发前端网站.但如果你想更加高效地使用Vue来开发,成为Vue.js大师,那下面我要传授的这五招你一定得认真学习一下了. 第一招:化繁为简的Watchers 场景还原: created(){ this.fetchPostList() }, watch: { searchInputValue(){ this.fetchPostList() } } 组件创建的时候我们获取一次列表,同时监听input框,每当发生变化的时候重新获取一次筛
-
jQuery针对input的class属性写了多个值情况下的选择方法
本文实例讲述了jQuery针对input的class属性写了多个值情况下的选择方法.分享给大家供大家参考,具体如下: jQuery选择input的class属性写了多个值的情况: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="jquery-1.6.2.js" ty
-
Python编程之变量赋值操作实例分析
本文实例讲述了Python编程之变量赋值操作.分享给大家供大家参考,具体如下: #coding=utf8 ''''' Python中主要通过等号(=)进行赋值. Python中的赋值不是直接将一个值赋给一个变量, 而是将该对象的引用(并不是值)赋值给变量. ''' #赋值运算符 Int=12 Float=12.2 String="hello" List=[1,2,"hell"] Touple=(4,"hell") Dictionary={'one
-
php实现递归抓取网页类实例
本文实例讲述了php实现递归抓取网页类的方法.分享给大家供大家参考.具体如下: <?php class crawler{ private $_depth=5; private $_urls=array(); function extract_links($url) { if(!$this->_started){ $this->_started=1; $curr_depth=0; }else{ $curr_depth++; } if($curr_depth<$this->_de
-
Luvit像Node.js一样写Lua应用
luvit是什么?它是目前Lua这个小众语言中较为流行的一个开源框架,给那些习惯使用Lua的开发者一个机会向写Node.js一样用Lua进行开发,它是Lua的Node.js.在Gitlab上,项目的描述对于Luvit是这样描述的:Lua + libUV + jIT = pure awesomesauce. 概要信息 安装 提供了安装脚本进行一键安装,但是版本不是最新,如果需要最新的版本,可以从源码开始 curl -L https://github.com/luvit/lit/raw/master
-
vue element实现将表格单行数据导出为excel格式流程详解
由于业务内容的需要,我们有时候需要将表格中的单行数据做导出,生成一个excel表格,以下操作主要实现将element中的table数据生成一个excel表格并做下载操作. 效果图如下: 点击单行导出按钮,导出数据为excel表格 如下图: 具体操作步骤如下: 1.下载按照依赖 npm install -D script-loader 2.在src文件夹的目录下方创建两个js文件 (1):Blob.js (2):Export2Excel.js 如下图: (Blob.js) (function (v
-
C#用递归算法解决八皇后问题
1.引子 中国有一句古话,叫做"不撞南墙不回头",生动的说明了一个人的固执,有点贬义,但是在软件编程中,这种思路确是一种解决问题最简单的算法,它通过一种类似于蛮干的思路,一步一步地往前走,每走一步都更靠近目标结果一些,直到遇到障碍物,我们才考虑往回走.然后再继续尝试向前.通过这样的波浪式前进方法,最终达到目的地.当然整个过程需要很多往返,这样的前进方式,效率比较低下. 2.适用范围 适用于那些不存在简明的数学模型以阐明问题的本质,或者存在数学模型,但是难于实现的问题. 3.应用场景 在
-
FLASH 0DAY 详细分析和总结图文
最近FLASH出了几个0DAY,论坛也帖了相关的新闻信息(请见:http://bbs.tian6.com/viewthread.php?tid=4434&extra=&page=1).我也约在5天前开始对此进行研究.我记得同时间邪恶八进制也有人开始同样的研究.到目前为止,该0DAY可以影响到90.115这个版本.而邪八那边的研究,先在两天前宣布成功完成.这又给我带来不小的压力..(一)作为研究的初步,通过TIM的帮助,我从几个被挂马的页面得到2个SWF网马.反编译后得知这两个SWF在获得本
-
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
本文实例讲述了PHP针对常规模板引擎中与CSS/JSON冲突的解决方法,有一定的实用价值,具体分析如下: 本文主要针对对象为Smarty与Dwoo 在Smarty中经常会出现和CSS/JS的语法存在冲突的情况,因为二者都需要使用大括号{}.虽然可以改Smarty的界定符,但你在一个现存系统中,去修改所有相关代码,是不划算的.解决方法如下: 1. 避免同时出现 通过外部引用的方式避免.问题是避无所避.所以这种情况只适合少量简单的情况. 2. 修改Smarty界定符 3.可以使用Smarty的lit
-
PHP计算加权平均数的方法
本文实例讲述了PHP计算加权平均数的方法.分享给大家供大家参考.具体如下: <form action="index.php" method="post"> 请输入你的课程的数量:<input type="text" name="course_number"/><br/> <input type="submit" value="submit"/&g
-
Jupyter notebook无法导入第三方模块的解决方式
在CMD控制台进入Jupyter notebook之前,先激活安装了该模块的配置环境,再启动jupyter notebook,问题完美解决. 补充知识:anaconda安装jupyter notebook时报错:ImportError:DLL load failed,找不到指定模块的解决办法 在用anaconda装jupyter notebook的时候安装过程没问题,但是运行jupyter时报错,错误如下.可能是因为我之前用的是anaconda2,有一个jupyter,然后我把annaconda
-
浅谈C++11中=delete的巧妙用法
目录 巧妙用法 总结 C++11中,当我们定义一个类的成员函数时,如果后面使用"=delete"去修饰,那么就表示这个函数被定义为deleted,也就意味着这个成员函数不能再被调用,否则就会出错. #include <cstdio> class TestClass { public: int func(int data)=delete; }; int main(void) { TestClass obj; obj.func(100); return 0; } 编译时直接报错
-
详解PHP的7个预定义接口
1. Traversable(遍历)接口 该接口不能被类直接实现,如果直接写了一个普通类实现了该遍历接口,是会直接报致命的错误,提示使用 Iterator(迭代器接口)或者 IteratorAggregate(聚合迭代器接口)来实现,这两个接口后面会介绍:所有通常情况下,我们只是会用来判断该类是否可以使用 foreach 来进行遍历: class Test implements Traversable { } 上面这个是错误示范,该代码会提示这样的错误: Fatal error: Class T
-
浅谈java线程中生产者与消费者的问题
一.概念 生产者与消费者问题是一个金典的多线程协作的问题.生产者负责生产产品,并将产品存放到仓库:消费者从仓库中获取产品并消费.当仓库满时,生产者必须停止生产,直到仓库有位置存放产品:当仓库空时,消费者必须停止消费,直到仓库中有产品. 解决生产者/消费者问题主要用到如下几个技术:1.用线程模拟生产者,在run方法中不断地往仓库中存放产品.2.用线程模拟消费者,在run方法中不断地从仓库中获取产品.3 . 仓库类保存产品,当产品数量为0时,调用wait方法,使得当前消费者线程进入等待状态,当有新