match

zepto源码研究 - event.js(高层api)

守給你的承諾、 提交于 2020-02-29 18:30:54
简要:本文主要介绍event.js中暴露出来的api,包括各种注册,移除事件方法和手动触发事件的方法,这些api都是调用了上一篇所讲到的底层api。 /** * 绑定事件,应直接采用on * 源自1.9版本前jquery的绑定事件的区分: bind()是直接绑定在元素上 .live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。 .delegate()则是更精确的小范围使用事件代理,性能优于.live() .on()则是1.9版本整合了之前的三种方式的新事件绑定机制 * @param event * @param data * @param callback * @returns {*} */ $.fn.bind = function(event, data, callback){ return this.on(event, data, callback) } /** * 解绑事件,应直接用off * @param event * @param callback * @returns {*} */ $.fn.unbind = function(event, callback){ return this.off(event, callback) } /** * 绑定一次性事件 * @param

全面剖析C#正则表达式

白昼怎懂夜的黑 提交于 2020-02-29 17:05:51
到目前为止,许多的编程语言和工具都包含对正则表达式的支持,当然.NET也不例外,.NET基础类库中包含有一个名称空间和一系列可以充分发挥规则表达式威力的类。 正则表达式的知识可能是不少编程人员最烦恼的事儿了。如果你还没有规则表达式方面的知识的话,建议从正则表达式的基础知识入手。前参见 正则表达式语法 。 下面就来研究C#中的正则表达式,C#中的正则表达式包含在.NET基础雷库的一个名称空间下,这个名称空间就是System.Text.RegularExpressions。该名称空间包括8个类,1个枚举,1个委托。他们分别是: Capture: 包含一次匹配的结果; CaptureCollection: Capture的序列; Group: 一次组记录的结果,由Capture继承而来; GroupCollection:表示捕获组的集合 Match: 一次表达式的匹配结果,由Group继承而来; MatchCollection: Match的一个序列; MatchEvaluator: 执行替换操作时使用的委托; Regex:编译后的表达式的实例。 RegexCompilationInfo:提供编译器用于将正则表达式编译为独立程序集的信息 RegexOptions 提供用于设置正则表达式的枚举值 Regex类中还包含一些静态的方法: Escape: 对字符串中的regex中的转义符进行转义

Regex C++ : 正则表达式(2).

旧时模样 提交于 2020-02-29 16:46:49
既然有了std::basic_regex存储我们的正则表达式了,那我们怎么匹配到的字符串呢? 重点强调 : 无论是std::regex_match还是std::regex_search都不能接受一个右值版本的std::basic_string!!!!! 下面我们将介绍: std::regex_search :检验是否部分字符串匹配给定的正则表达式. std::regex_match :检验是否整个字符串匹配给定的正则表达式. std::regex_search //first: 一个指向被匹配字符串开始位置的迭代器. //last: -个指向被匹配字符串结束位置的迭代器. //m: 存放匹配的结果. //e: 存放正则表达式. //flags: 指出使用哪种正则表达式的语法. template< class BidirIt, class Alloc, class CharT, class Traits > bool regex_search( BidirIt first, BidirIt last, std::match_results<BidirIt,Alloc>& m, const std::basic_regex<CharT,Traits>& e, std::regex_constants::match_flag_type flags = std::regex

【学习笔记】ListView初识

痴心易碎 提交于 2020-02-29 16:31:19
处理空ListView 之前在做空数据的时候,会在ListView同界面再放一个其它控件,然后在ListView数据为空时,将控件显示,有数据再隐藏。 最近发现有方法直接处理: ListView处理空数据时,可用通过方法setEmptyView()来设置空数据布局 看效果: 代码如下: 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="有数据"/> <Button android:id="@+id/btn_nodata" android:layout_width="match_parent" android:layout_height="wrap

MySQL AHI 实现解析

瘦欲@ 提交于 2020-02-29 13:00:08
版权声明:本文由 musazhang 原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/904925001482373849 来源:腾云阁 https://www.qcloud.com/community 前言     MySQL 定位用户记录的过程可以描述为:打开索引 -> 根据索引键值逐层查找 B+ 树 branch 结点 -> 定位到叶子结点,将 cursor 定位到满足条件的 rec 上;如果树高为 N, 则需要读取索引树上的 N 个结点并进行比较,如果 buffer_pool 较小,则大量的操作都会在 pread 上,用户响应时间变长;另外,MySQL中 Server 层与 Engine 之间的是以 row 为单位进行交互的,engine 将记录返回给 server 层,server 层对 engine 的行数据进行相应的计算,然后缓存或发送至客户端,为了减少交互过程所需要的时间,MySQL 做了两个优化: 如果同一个查询语句连续取出了 MYSQL_FETCH_CACHE_THRESHOLD(4) 条记录,则会调用函数 row_sel_enqueue_cache_row_for_mysql 将 MYSQL_FETCH_CACHE_SIZE(8) 记录缓存至 prebuilt->fetch

Nginx:基本概念

烈酒焚心 提交于 2020-02-28 21:04:07
基础概念——你可以了解命令(directive)与环境(context)的区别、继承模式,以及 Nginx 选择服务器区块的顺序,还有安装位置。 性能管理——提升速度的诀窍。我们将会讲解 gzip、缓存、缓冲区以及超时设置。 SSL 设置——讲解用 HTTPS 来提供内容的设置步骤。 什么是 Nginx? Nginx 最初是作为一个 Web 服务器创建的,用于解决 C10k 的问题。作为一个 Web 服务器,它可以以惊人的速度为您的数据服务。但 Nginx 不仅仅是一个 Web 服务器,你还可以将其用作反向代理,与较慢的上游服务器(如:Unicorn 或 Puma)轻松集成。你可以适当地分配流量(负载均衡器)、流媒体、动态调整图像大小、缓存内容等等。 基本的 nginx 体系结构由 master 进程和其 worker 进程组成。master 读取配置文件,并维护 worker 进程,而 worker 则会对请求进行实际处理。 基本命令 要启动 nginx,只需输入: [sudo] nginx 当你的 nginx 实例运行时,你可以通过发送相应的信号来管理它: [sudo] nginx -s signal 可用的信号: stop – 快速关闭 quit – 优雅关闭 (等待 worker 线程完成处理) reload – 重载配置文件 reopen – 重新打开日志文件

MySQL使用全文索引(fulltext index)

时光总嘲笑我的痴心妄想 提交于 2020-02-28 12:39:49
1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。 不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息要随时关注官网, 1.1. 创建表的同时创建全文索引 CREATE TABLE article ( id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT(title, body) ) TYPE=MYISAM; 1.2.通过 alter table 的方式来添加 ALTER TABLE `student` ADD FULLTEXT INDEX ft_stu_name (`name`) #ft_stu_name是索引名,可以随便起 或者:ALTER TABLE `student` ADD FULLTEXT ft_stu_name (`name`) 1.3. 直接通过create index的方式 CREATE FULLTEXT INDEX ft_email_name ON `student` (`name`) 也可以在创建索引的时候指定索引的长度: CREATE FULLTEXT INDEX ft_email_name ON `student` (

Cypher查询语言--Neo4j-MATCH(二)

☆樱花仙子☆ 提交于 2020-02-28 06:23:51
目录 Match 相关节点 接出关系Outgong relationship 定向关系和标识符 通过关系类型匹配 通过关系类型匹配和使用标识符 带有特殊字符的关系类型 多重关系 可变长度的关系 在可变长度关系的关系标识符 零长度路径 可选关系 可选类型和命名关系 可选元素的属性 复杂匹配 最短路径 所有最但路径 命名路径 在绑定关系上的匹配 Match 在一个查询的匹配(match)部分申明图形(模式)。模式的申明导致一个或多个以逗号隔开的路径(path)。 节点标识符可以使用或者不是用圆括号。使用圆括号与不使用圆括号完全对等,如: MATCH(a)-->(b) 与 MATCH a-->b 匹配模式完全相同。 模式的所有部分都直接或者间接地绑定到开始点上。可选关系是一个可选描述模式的方法,但在真正图中可能没有匹配(节点可能没有或者没有此类关系时),将被估值为null。与SQL中的外联结类似,如果Cypher发现一个或者多个匹配,将会全部返回。如果没有匹配,Cypher将返回null。 如以下例子,b和p都是可选的病都可能包含null: START a=node(1) MATCH p = a-[?]->b START a=node(1) MATCH p = a-[*?]->b START a=node(1) MATCH p = a-[?]->x-->b START a=node(1)

面试突击 | Redis 如何从海量数据中查询出某一个 Key?附视频

风格不统一 提交于 2020-02-27 20:14:27
1 考察知识点 本题考察的知识点有以下几个: Keys 和 Scan 的区别 Keys 查询的缺点 Scan 如何使用? Scan 查询的特点 2 解答思路 Keys 查询存在的问题 Scan 的使用 Scan 的特点 3 Keys 使用相关 1)Keys 用法如下 2)Keys 存在的问题 此命令没有分页功能,我们只能一次性查询出所有符合条件的 key 值,如果查询结果非常巨大,那么得到的输出信息也会非常多; keys 命令是遍历查询,因此它的查询时间复杂度是 o(n),所以数据量越大查询时间就越长。 4 Scan 使用相关 我们先来模拟海量数据,使用 Pipeline 添加 10w 条数据,Java 代码实现如下: import redis.clients.jedis.Jedis; import redis.clients.jedis.Pipeline; import utils.JedisUtils; public class ScanExample { public static void main(String[] args) { // 添加 10w 条数据 initData(); } public static void initData(){ Jedis jedis = JedisUtils.getJedis(); Pipeline pipe = jedis

面试突击 | Redis 如何从海量数据中查询出某一个 Key?附视频

六眼飞鱼酱① 提交于 2020-02-27 19:58:29
1 考察知识点 本题考察的知识点有以下几个: Keys 和 Scan 的区别 Keys 查询的缺点 Scan 如何使用? Scan 查询的特点 2 解答思路 Keys 查询存在的问题 Scan 的使用 Scan 的特点 3 Keys 使用相关 1)Keys 用法如下 2)Keys 存在的问题 此命令没有分页功能,我们只能一次性查询出所有符合条件的 key 值,如果查询结果非常巨大,那么得到的输出信息也会非常多; keys 命令是遍历查询,因此它的查询时间复杂度是 o(n),所以数据量越大查询时间就越长。 4 Scan 使用相关 我们先来模拟海量数据,使用 Pipeline 添加 10w 条数据,Java 代码实现如下: import redis . clients . jedis . Jedis ; import redis . clients . jedis . Pipeline ; import utils . JedisUtils ; public class ScanExample { public static void main ( String [ ] args ) { // 添加 10w 条数据 initData ( ) ; } public static void initData ( ) { Jedis jedis = JedisUtils . getJedis