highlighter

assert False 与 try 结合 在开发中的使用

北战南征 提交于 2020-04-06 02:17:26
让错误抛出 发现其中的问题 # coding=utf-8 from rest_framework.views import exception_handler from rest_framework.exceptions import ErrorDetail from share.dj_customer.rest_api_exception import CustomerError def custom_exception_handler(exc, context): # Call REST framework's default exception handler first, # to get the standard error response. .... if isinstance(old_data, dict): if old_data.get('detail') is not None: if isinstance(old_data['detail'], tuple): new_data['code'], new_data['message'] = old_data['detail'][0:2] elif isinstance(old_data['detail'], str): new_data['message'] = old_data['detail'] else

RabbitMQ消息发布和消费的确认机制

喜夏-厌秋 提交于 2020-04-05 22:55:15
前言 新公司项目使用的消息队列是RabbitMQ,之前其实没有在实际项目上用过RabbitMQ,所以对它的了解都谈不上入门。趁着周末休息的时间也猛补习了一波,写了两个窗体应用,一个消息发布端和消息消费端。园子里解释RabbitMQ基础的很多了,这里就不对RabbitMQ的基础再做叙述了,来点实际工作中一定会碰到的问题和解决的方案。 RabbitMQ 消息发布确认机制 默认情况下消息发布端执行BasicPublish方法后,消息是否到达指定的队列的结果发布端是未知的。BasicPublish方法的返回值是void。假设我们想对消息进行监控,针对消息发送失败后进行补发则需要一个消息确认机制来帮我们实现。 事务机制 Confirm确认机制 上面是已知可通过RabbitMQ自带的特性实现消息确认机制的两种方式。 事务机制 事务机制依赖三个RabbitMQ提供的方法 txSelect() txCommit() txRollback() 看名字大概知道意思了,特别是Commit和Rollback,使用方式和数据库的事务使用几乎一样,txSelect()声明事务的开始,txCommit()提交事务,txRollBack()执行提交失败后的回滚。 使用代码如下: // 采取RabbitMQ事务方式传输消息 private void SendMessageByTransaction

tensorflow使用Session模块时报错:AttributeError: module 'tensorflow' has no attribute 'Session',已解决

一笑奈何 提交于 2020-04-05 19:58:04
安装好tensorflow2.0之后,当使用Session时,报错AttributeError: module 'tensorflow' has no attribute 'Session': 源代码: import tensorflow as tf import os os.environ["CUDA_VISIBLE_DEVICES"]="0" a=tf.constant(2) b=tf.constant(3) with tf.Session() as sess: print("a:%i" % sess.run(a),"b:%i" % sess.run(b)) print("Addition with constants: %i" % sess.run(a+b)) print("Multiplication with constant:%i" % sess.run(a*b)) 错误信息: 错误的意思是tensortflow模块没有Session属性,后来查阅资料发现,tensorflow2.0版本中的确没有Session这个属性,如果安装的是tensorflow2.0版本又想利用Session属性,可以将tf.Session()更改为: tf.compat.v1.Session() 这个方法可以解决此类问题,不仅仅适用于Session属性。 再次运行时,程序又报了另一个错误:

.NET Core技术研究-中间件的由来和使用

大兔子大兔子 提交于 2020-04-05 17:45:17
我们将原有ASP.NET应用升级到ASP.NET Core的过程中,会遇到一个新的概念: 中间件。 中间件是ASP.NET Core全新引入的概念。 中间件是一种装配到应用管道中以处理请求和响应的软件。 每个组件: 选择是否将请求传递到管道中的下一个组件。 可在管道中的下一个组件前后执行工作。 单独看以上中间件的定义,一个很直观的感觉:中间件是HTTP请求管道中的一层层的AOP扩展。 在展开介绍中间件之前,我们先回顾一下ASP.NET中HttpHandler和HttpModule的处理方式。 一、ASP.NET中HttpHandler和HttpModule 先看一张图: 上图中有两个概念HttpHandler和HttpModule,其中: HttpHandler 用于处理具有给定文件名或扩展名的请求。比如上图中的.report类的请求,同时,任何一个HttpHandler都需要实现接口IHttpHandler,都需要在Web.Config配置文件中注册使用。 HttpModule 用于处理每个请求调用,比如上图中的Authorization Module,每个Http请求都会经过HttpModule的处理。通过HttpModule可以中断Http请求,可以自定义HttpResponse返回。同时,任何一个HttpModule都需要实现接口IHttpModule,都需要在Web

Python全栈开发之14、Javascript

社会主义新天地 提交于 2020-03-25 10:13:22
3 月,跳不动了?>>> 一、简介   前面我们学习了html和css,但是我们写的网页不能动起来,如果我们需要网页出现各种效果,那么我们就要学习一门新的语言了,那就是JavaScript,JavaScript是世界上最流行的脚本语言,而且Javascript和Python一样也是一门全栈开发语言,并且跨平台。浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理。 二、代码存放位置   理论上放在body和head中都可以,但是推荐放在body代码块底部,因为Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。   Js代码可以放在一个单独的文件中,然后通过 <script src="common.js" type="text/javascript"></script>可以将其导入进来,或者直接在html文件中直接书写代码,如下面所示,其中两种方式的 type都可以不用写,因为浏览器默认的便是javascript     <script type= "text/javascript" >      Js代码内容     < / script> 三

centos7静黙安装Oracle11.2.0软件响应文件oracle_install.rsp

杀马特。学长 韩版系。学妹 提交于 2020-03-25 10:12:50
3 月,跳不动了?>>> oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=localhost.localdomain UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en,zh_CN,zh_TW ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=false oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0

Opencv-python接口:轮廓检测

£可爱£侵袭症+ 提交于 2020-03-25 08:59:31
3 月,跳不动了?>>> 相比C++而言, Python 适合做原型。本系列的文章介绍如何在Python中用OpenCV图形库,以及与C++调用相应OpenCV函数的不同之处。这篇文章介绍在Python中使用OpenCV检测并绘制轮廓。 提示: 转载请详细注明原作者及出处,谢谢! 本文介绍在OpenCV-Python中检测并绘制轮廓的方法。 本文不介详细的理论知识,读者可从其他资料中获取相应的背景知识。笔者推荐清华大学出版社的《 图像处理与计算机视觉算法及应用(第2版) 》。 轮廓检测 轮廓检测也是图像处理中经常用到的。OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。 实现 使用方式如下: [python] view plain copy import cv2 img = cv2.imread( 'D:\\test\\contour.jpg' ) gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ret, binary = cv2.threshold(gray, 127 , 255 ,cv2.THRESH_BINARY) contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) cv2

[Java]使用lombok提高编码效率

微笑、不失礼 提交于 2020-03-24 07:34:18
3 月,跳不动了?>>> Lombok简介 Project Lombok makes java a spicier language by adding ‘handlers’ that know >how to build and compile simple, boilerplate-free, not-quite-java code. github上官方是这么描述lombok的: lombok项目通过增加处理程序使我们的java语言更加刺激(简洁和快速)。 先看个简单示例: 我们做java开发的时候,最不少写的就是javabean了,bean字段都需要添加gettter/setter方法,往往我们只能一次又一次的使用ide生成gettter,setter 构造器等等。 lombok是如何帮我们解决这种重复性劳动呢? [java] view plain copy package com.lhy.boot.lombok; import lombok.Getter; import lombok.Setter; @Getter @Setter public class GetterSetterExample1 { private int age = 10 ; private String name = "张三丰" ; private boolean registerd; private

Lucene highlighter高亮显示

家住魔仙堡 提交于 2019-12-05 12:01:39
这个功能非常重要,先贴代码出来: public class HighlighterTest { public static void main(String[] args) throws IOException, InvalidTokenOffsetsException { String text = "中华人民共和国 是个好国家啊"; //设置高亮文本的样式 Formatter formatter = new SimpleHTMLFormatter("<span>", "</span>"); //用于对索引中特定的项进行搜索 TermQuery query = new TermQuery(new Term("field","国")); //通过TokenStream流获取存储分词的各种信息 TokenStream tokenStream = new StandardAnalyzer().tokenStream("field",new StringReader(text)); //通过评分后的查询对象 QueryScorer scorer = new QueryScorer(query,"field"); Highlighter highlighter = new Highlighter(formatter,scorer); //默认情况下