match

一行Java代码实现RecyclerView的Adapter?一行都不需要!

随声附和 提交于 2020-04-07 04:56:19
单类型列表的实现 先看下MainActivity的java代码 public class MainActivity extends AppCompatActivity { //要展示的数据源 public final ObservableArrayList<Student> showDatas = new ObservableArrayList<>(); { //初始化数据源 for (int i = 0; i < 20; i++) { students.add(new Student("学生:" + i)); } showDatas.addAll(students); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //完成数据和布局的绑定 ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); binding.setActivity(this); } public void onBindItem(ViewDataBinding binding, Object data, int position) {

How to make Elastic Engine understand a field is not to be analyzed for an exact match?

情到浓时终转凉″ 提交于 2020-04-05 06:45:21
问题 The question is based on the previous post where the Exact Search did not work either based on Match or MatchPhrasePrefix . Then I found a similar kind of post here where the search field is set to be not_analyzed in the mapping definition (by @Russ Cam). But I am using package id="Elasticsearch.Net" version="7.6.0" targetFramework="net461" package id="NEST" version="7.6.0" targetFramework="net461" and might be for that reason the solution did not work. Because If I pass "SOME", it matches

mongodb 常用操作

試著忘記壹切 提交于 2020-04-03 09:07:45
#备份 mongodump.exe -h 127.0.0.1:27017 -d medicine -c jddj -o C:\MongoDB\Server\4.2\backup #恢复 mongorestore.exe -h 127.0.0.1:27017 -d medicine -c jddj C:\MongoDB\Server\4.2\backup\medicine\jddj.bson #导出json、csv数据 mongoexport.exe -h 127.0.0.1:27017 -d medicine -c jddj -o E:\爬虫项目\json\jddj.json mongoexport.exe -h 127.0.0.1:27017 -d medicine -c jddj --type=csv -f 字段1,字段2,字段3 -o E:\爬虫项目\csv\jddj.csv #导入json、csv数据 mongoexport.exe -h 127.0.0.1:27017 -d medicine -c jddj E:\爬虫项目\json\jddj.json mongoimport.exe -h 127.0.0.1:27017 -d medicine -c jddj --type csv --headerline --file E:\爬虫项目\csv\jddj.csv

JDK源码那些事儿之SynchronousQueue下篇

☆樱花仙子☆ 提交于 2020-04-02 14:07:37
之前一篇文章已经讲解了阻塞队列SynchronousQueue的大部分内容,其中默认的非公平策略还未说明,本文就紧接上文继续讲解其中的非公平策略下的内部实现,顺便简单说明其涉及到的线程池部分的使用 前言 回顾一下,SynchronousQueue通过两个内部类实现了公平策略和非公平策略的无缓存阻塞队列,每种操作都需要对应的互补操作同时进行才能完成,例如,入队操作必然对应出队操作,在不涉及超时和中断的情况下,必须等待另一个线程进行出队操作,两两匹配才能执行,否则就阻塞等待 之前已经对公平策略下的内部类实现TransferQueue做了详细的说明,今天就非公平策略下的内部实现类TransferStack进行说明 TransferStack 不同于公平策略下的操作,只有一种状态需要注意: 取消操作(被外部中断或者超时):match == this; SNode SNode基于栈的节点实现,变量与QNode有些不同,其中match在两个操作匹配上之后可以通过这个变量找到其匹配的节点,节点类型mode在使用上也有所不同,下面使用到时会进行说明,其他参数可参考TransferQueue的QNode说明 static final class SNode { // next指向栈中下一个元素 volatile SNode next; // next node in stack //

HTTP缓存和CDN缓存

僤鯓⒐⒋嵵緔 提交于 2020-04-02 07:56:24
一 http缓存 1.1缓存的分类: http中具有缓存功能的是:1、浏览器缓存、 2、缓存代理服务器。 1.2 什么是缓存: http缓存的是指:当Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而 不是从原始服务器中提取这个文档。 1.3 缓存的好处有: 1. 减少了冗余的数据传输,节省了网费。 2. 减少了服务器的负担, 大大提高了网站的性能 3. 加快了客户端加载网页的速度。优化用户体验 1.4 缓存示意图: 第一次请求: 第一次请求,无论是静态文件还是其他文件,都是从服务器那里读取的。因此没有缓存之说。等第一次请求完,浏览器就有缓存了,然后整个的加载过程就完全不一样了。看下图: 浏览器再次请求  流程图解释: 浏览器再次请求,情况就不一样了。首先会读取缓存,然后判断缓存是否过期,如果不过期,就直接读取缓存。 否则,判断浏览器返回的头部信息是否存在Etag,如果存在,浏览器会像服务器发送带有If-None-Match的请求头,来和服务器返回的Etag做对比, 如果if-None-Match和Etag相等。说明缓存没有更新,服务器返回304,浏览器继续从缓存读取相应的内容。如果if-None-Match和Etag不等,则服务器返回200,浏览器重新需 要从服务器获取内容。   如果服务器的返回信息里面没有Etag,则判断浏览器的返回信息里是否有Last

准备写一篇BlobAsset的用法

痞子三分冷 提交于 2020-04-01 03:51:46
#if !UNITY_DOTSPLAYER using UnityEngine; using NUnit.Framework; using System; using Unity.Burst; using Unity.Collections; using Unity.Jobs; using Unity.Entities; using Unity.Entities.Tests; using Unity.Collections.LowLevel.Unsafe; using Assert = NUnit.Framework.Assert; public class BlobTests : ECSTestsFixture { //@TODO: Test Prevent NativeArray and other containers inside of Blob data //@TODO: Test Prevent BlobPtr, BlobArray onto job struct //@TODO: Various tests trying to break the Allocator. eg. mix multiple BlobAllocator in the same BlobRoot... struct MyData { public BlobArray<float>

JAVA提取字符串中的URL链接

亡梦爱人 提交于 2020-04-01 03:48:55
工具类 Patterns.java package com.util; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Commonly used regular expression patterns. */ public class Patterns { /** * Regular expression to match all IANA top-level domains. * List accurate as of 2011/07/18. List taken from: * http://data.iana.org/TLD/tlds-alpha-by-domain.txt * This pattern is auto-generated by frameworks/ex/common/tools/make-iana-tld-pattern.py * * @deprecated Due to the recent profileration of gTLDs, this API is * expected to become out-of-date very quickly. Therefore it is now * deprecated. */ @Deprecated

http缓存与cdn相关技术

廉价感情. 提交于 2020-03-31 16:07:33
一 http缓存 1.1缓存的分类: http中具有缓存功能的是:1、浏览器缓存、 2、缓存代理服务器。 1.2 什么是缓存: http缓存的是指:当Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而 不是从原始服务器中提取这个文档。 1.3 缓存的好处有: 1. 减少了冗余的数据传输,节省了网费。 2. 减少了服务器的负担, 大大提高了网站的性能 3. 加快了客户端加载网页的速度。优化用户体验 1.4 缓存示意图: 第一次请求: 第一次请求,无论是静态文件还是其他文件,都是从服务器那里读取的。因此没有缓存之说。等第一次请求完,浏览器就有缓存了,然后整个的加载过程就完全不一样了。看下图: 浏览器再次请求  流程图解释: 浏览器再次请求,情况就不一样了。首先会读取缓存,然后判断缓存是否过期,如果不过期,就直接读取缓存。 否则,判断浏览器返回的头部信息是否存在Etag,如果存在,浏览器会像服务器发送带有If-None-Match的请求头,来和服务器返回的Etag做对比, 如果if-None-Match和Etag相等。说明缓存没有更新,服务器返回304,浏览器继续从缓存读取相应的内容。如果if-None-Match和Etag不等,则服务器返回200,浏览器重新需 要从服务器获取内容。   如果服务器的返回信息里面没有Etag,则判断浏览器的返回信息里是否有Last

Type mismatch Error in index match in index match function

强颜欢笑 提交于 2020-03-28 06:40:39
问题 Type mismatch error Dim lr As Integer lr = Range("A1").CurrentRegion.Rows.Count Range("N2").Select Range("N2").Formula = Application.WorksheetFunction.Index(Sheets("SMSv2").Range("A2:L" & lr), Application.Match(Sheets("SMSv2").Range("C2"), Sheets("SMSv2").Range("A2:A" & lr), False), 4) 回答1: Dim lr As Integer lr = Range("A1").CurrentRegion.Rows.Count Range("N2").Select Range("N2").Formula = "=INDEX(SMSv2!$A$2:$L$" & lr & ",MATCH(SMSv1!C2,SMSv2!$A$2:$A$" & lr & ",0),4)" 来源: https:/

Python正则表达式指南

限于喜欢 提交于 2020-03-28 05:11:40
本文转自 AstralWind 的博客: Python正则表达式指南 特来收藏 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。 下图展示了使用正则表达式进行匹配的流程: 正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。如果表达式中有量词或边界,这个过程会稍微有一些不同,但也是很好理解的,看下图中的示例以及自己多使用几次就能明白。 下图列出了Python支持的正则表达式元字符和语法: 1.2. 数量词的贪婪模式与非贪婪模式 正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪的数量词"ab*?"