highlighter

搜索的简单使用

左心房为你撑大大i 提交于 2020-04-07 07:43:43
  这这里主要是存在term与match的查询介绍。 一:term   词条查询不会分析查询条件,只有当词条和查询字符串完全匹配时,才匹配搜索。 1.准备工作   新建索引,然后新建mappings PUT /nba/ { "mappings": { "properties": { "name": { "type": "text" }, "team_name": { "type": "text" }, "position": { "type": "text" }, "play_year": { "type": "long" }, "jerse_no": { "type": "keyword" } } } }   添加三条数据: PUT /nba/_doc/1 { "name": "哈登", "team_name": "⽕箭", "position": "得分后卫", "play_year": 10, "jerse_no": "13" } PUT /nba/_doc/2 { "name": "库⾥", "team_name": "勇⼠", "position": "控球后卫", "play_year": 10, "jerse_no": "30" } PUT /nba/_doc/3 { "name": "詹姆斯", "team_name": "湖⼈", "position": "⼩前锋

Python内置函数之map()函数

纵饮孤独 提交于 2020-04-06 17:20:33
(1).介绍   map()函数会根据提供的<函数名>参数对提供的一个或多个<序列名>参数做映射,即<函数名>参数会逐一对<序列名>参数内的所有元素进行处理,并返回处理后的新列表给<序列名>。   使用方法:map(<函数名>,<序列名>)。 注意:<序列名>参数允许多个,之间用逗号隔开 。 (2).返回值   Python2.X的返回值是列表类型。   Python3.X的返回值是迭代器。 (2).实例   这里演示Python3.X的返回值。首先演示返回迭代器 >>> map(eval,['300', '0', '144', '0', '0', '1']) <map object at 0x02A7BB50>   接着通过list()函数,将迭代器还原为列表类型 >>> list(map(eval,['300', '0', '144', '0', '0', '1'])) [300, 0, 144, 0, 0, 1]    来源: oschina 链接: https://my.oschina.net/u/4356296/blog/3220511

Stack源码解析

只谈情不闲聊 提交于 2020-04-06 13:39:59
Stack介绍 Stack(栈),它具有先进后出的特性 1、Stack的源码结构 public class Stack<E> extends Vector<E> { public Stack() { } }  Stack继承了Vector,而Vector又是线程安全的ArrayList,所以底层仍然是数组。 2、入栈操作 public E push(E item) { // 直接调用了Vector.addElement addElement(item); return item; } //Vector.addElement public synchronized void addElement(E obj) { modCount++; //扩容, ensureCapacityHelper(elementCount + 1); //存放值到最后一位 elementData[elementCount++] = obj; }  入栈操作就是将数据添加到数组最后一位  3、查看站点元素 public synchronized E peek() { int len = size(); if (len == 0) throw new EmptyStackException(); //获取数组最后一位数据 return elementAt(len - 1); }    4、出栈操作 public

Vector和CopyOnWriteArrayList源码解析

北城以北 提交于 2020-04-06 13:36:14
前面介绍的ArrayList和LinkedList, 在多线程的场景中就不适合了。JDK提供了线程安全的List。 Vector和CopyOnWriteArrayList是线程安全的 1、Vector 这个类属性和方法同ArrayList,主要区别是Vector在其主要方法上都加上了synchronized关键字,这样就达到了线程安全的目的。 2、CopyOnWriteArrayList源码分析 public class CopyOnWriteArrayList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { final transient ReentrantLock lock = new ReentrantLock(); //使用数组存储数据 private transient volatile Object[] array; }  相对于ArrayList,多了一个用于线程安全的lock,少了计数size  3、CopyOnWriteArrayList构造函数 //1、空构造函数 public CopyOnWriteArrayList() { setArray(new Object[0]); } //2、集合构造函数 public CopyOnWriteArrayList

pytest跳过测试函数

☆樱花仙子☆ 提交于 2020-04-06 12:30:25
使用方法: @pytest.mark.skipif(condition,reason=None) 参数: condition:跳过的条件,True(跳过、不执行)/False(不跳过、执行),必传参数 reason:标注原因 class test_skip: n=5 @pytest.mark.skipif(2 > 1, reason="如果条件为false就跳过") def test_a(self): print("跳过") def test_b(self): print("不跳过") @pytest.mark.skipif(n > 6, reason="如果条件为false就跳过") # 条件为boolean值,True(跳过)/False(不跳过/执行) def test_c(self): print("不跳过")    来源: oschina 链接: https://my.oschina.net/u/4341660/blog/3220157

js中apply和call方法浅析

♀尐吖头ヾ 提交于 2020-04-06 10:10:38
最近重新温习的时候发现对于apply和call方法的区分以及使用时忘得差不多了,所以简单记录巩固一下 基本语法 函数名.apply(Object,[参数1,参数2,...]) 函数名.call(Object,参数1,参数2,...) 共同点:都可以用来改变this的指向 不同点:两者中第一个参数均为Object,apply只有两个参数,其中第二个参数为数组;call为多个参数 接下来通过一个例子使用并分析apply和call var obj1 = {   name:"张三",   age:20 }; var obj2 = {   name:"李四",   age:30,   fun:function(name,todo){     console.log(this.name+"已经"+this.age+",他准备去和"+name+todo)   } }; obj2.fun.apply(obj1,['小红','相亲'])//张三已经20,他准备去和小红相亲 obj2.fun.call(obj1,'小红','相亲')//张三已经20,他准备去和小红相亲 //这两句的得出来的结果是一样的,参数传递也只有是按照数组去传递还是以多个函数去传递, //根据结果我们也可以看出,obj1调用了obj2的fun方法(不然显示的数据也不会是obj1的属性值) /

响应微博小秘书倡议 连夜加急撸出头像变灰小工具之开发历程

本小妞迷上赌 提交于 2020-04-06 09:14:27
昨天看到了 微博小秘书关于全国性悼念活动倡议 ,我非常支持这个倡议。 因为修改灰色头像会有一定技术门槛,于是思考能否开发一个小工具方便大家使用。 考虑到第二天就是哀悼日,准备夜间快速开发上线。 0X00 废话少说先上东西 有兴趣的老哥可以访问: http://smartding.top:81/ 或者 http://smartding.top:8080/ 因为暂时无法备案,所以只能采用带端口或者纯 IP 的方式访问,有点郁闷。 小工具里面记录了项目历程,有兴趣可以阅读, 0X01 选型 因为时间相当有限,技术选型必须选择较为成熟的脚手架型框架。 基于这样的原则出发,前端框选用 Element.io,Element.io 优势是支持 CDN 引用,你甚至不需要创建一个 Webpack 项目,提供的组件既有颜值也非常稳定可靠,文档也十分齐全。后端框架则采用 Springboot,通过简单引入 Springboot 依赖就可以轻松创建一个 Java web 项目。 0X02 核心算法 技术选型完成之后,开始考虑核心算法也就是如何把彩色图片转为灰度图片。我没有图片处理经验,但经过摸索大致了解了转换方法。转换算法其实就是下面的数学公式: gray(red, green, blue) = (red + green + blue)/3 主要思路是把求得每个像素的RGB 三色平均值

pfSense 2.4.5发布

偶尔善良 提交于 2020-04-06 05:51:20
2020年3月26日,pfSense2.4.5发布,这一版本修复了安全漏洞,增加了一些新功能,并支持新的Netgate硬件平台,该版本对以前发行版中存在的错误进行了修正。 点击 这里 下载pfSense2.45,要查看本次发行版本修改的完整列表,请参阅 发行说明 。 新功能 2.4.5添加了如下的新功能,包括: 操作系统升级 :操作系统已升级到FreeBSD 11-STABLE。 添加了排序和搜索/过滤,包括证书管理器,DHCP租约和ARP / NDP表。 添加了DNS解析器(Unbound)Python集成。 添加了IPsec DH和PFS组25、26、27和31。 更改后的UFS文件系统默认为 noatime 全新安装,以减少不必要的磁盘写入。 设置 autocomplete=new-password 包含验证字段的表单,以帮助防止浏览器自动填写不相关的字段。 添加了新的动态DNS提供程序Linode和Gandi。 安全修复 pfSense2.4.5修复了以下安全问题: 多个GUI页面中的潜在跨站点脚本(XSS)向量。 特权升级问题,其中,经过身份验证的用户被授予对图片小部件的访问权限,可以运行任意PHP代码或获得对他们没有特权的页面的访问权限。 在升级时为UFS文件系统添加了一个-z参数运行fsck,以解决FreeBSD-SA-19:10.ufs

获取控制台的错误信息 onerror

牧云@^-^@ 提交于 2020-04-06 03:36:13
js 获取控制台的错误信息 https://www.bbsmax.com/A/Vx5ML2NmJN/ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="button" value="View message" onclick="" /> <script> onerror = function(msg, url, row,col) { var txt = '<div style="color: rgb(232, 232, 232); line-height: 3.2; white-space: pre; font-family: Menlo, Consolas, monospace; font-size: 13px; position: fixed; z-index: 9999; padding: 10px; left: 0px; right: 0px; top: 0px; bottom: 0px; overflow: auto; background: rgba(0, 0, 0, 0.85098);">'; txt += '<span style="background-color:#E36049;

Arduino读取温湿度dh11+烟雾气体MQ2+彩灯ws2812

a 夏天 提交于 2020-04-06 02:39:07
1获取温湿度 D4-x信号线 #include <TroykaDHT.h> // типы сенсоров: DHT11, DHT21, DHT22 DHT dht(4, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { dht.read(); if(dht.getState()==DHT_OK) { String msg=String("")+String("Temperature-")+String(dht.getTemperatureC())+String("-Humidity-")+String(dht.getHumidity()); Serial.println(msg); } //delay(2000); }    来源: oschina 链接: https://my.oschina.net/u/4324710/blog/3219232