自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天空之城

知者行之始,行者知之成:圣学只一个功夫,知行不可分作两事。

  • 博客(124)
  • 资源 (1)
  • 收藏
  • 关注

原创 leecode 122 买卖股票的最佳时机 II

func maxProfit(prices []int) int { var result int for i:= 1; i < len(prices); i++{ if prices[i] - prices[i-1] > 0 { result += prices[i] - prices[i-1] } } return result}方案二:func maxProfit(prices []int)

2020-07-01 09:01:41 5967

原创 Golang 命令行工具 cobra

参考如下这个

2020-01-14 23:11:08 552

原创 Elasticsearch Index aliases (索引别名)

给索引 test1 添加别名 alias1curl -X POST "localhost:9200/_aliases?pretty" -H 'Content-Type: application/json' -d'{ "actions" : [ { "add" : { "index" : "test1", "alias" : "alias1" } } ]}'...

2019-12-02 23:21:56 579

原创 位运算

判断奇偶数通用做法:if n % 2 == 1 { // n 是个奇数}可以使用:if n & 1 == 1 { // n 是个奇数}交换两个数temp := xx = yy = temp// 不使用额外的辅助变量完成交换x = x ^ y // (1)y = x ^ y // (2)x = x ^ y // (3)推导:对于(2),...

2019-12-02 22:58:20 175

原创 leecode 求 x 的 n 次方

通用做法n 次循环让 n 个 x 相乘快速幂思想举个例子,例如我们要求 2^8通过 2 * 2 = 4 得到 2^2利用刚才的结果,让 4 * 4 = 16 得出 2^4接着,让 16 * 16 = 256 得出 2^8通过这种方法,只需要三次相乘即可得出,也就是说,我们可以在 O(logn) 的时间复杂度求出 x 的 n 次方。这种方法的思想,我们也称之为快速幂思想,和二分查找...

2019-12-01 23:13:38 407

转载 awk 使用

语法:awk [options] 'pattern {action}' file示例文件并将其保存为 colours.txtname color amountapple red 4banana yellow 6strawberry red 3grape purple 10apple green 8plum ...

2019-12-01 13:02:47 305

原创 golang 进制转换

t1 := time.Now() // 二进制转整数 i,err := strconv.ParseUint("1000000000000001000000001000000000001",2,64) fmt.Println(i,err) elapsed := time.Since(t1) fmt.Println("App elapsed: ", elapsed) fmt.Printl...

2019-11-28 21:53:30 1478

转载 用 air 给 Golang/Gin 框架提供热重启支持

来源:https://www.jianshu.com/p/ebf01fde992e

2019-11-17 18:03:17 1446

原创 golang 中 map 的使用

golang 中 map 的初始化方式// (1)先声明 mapvar m1 map[int]int// 再使用make函数创建一个非nil的map,nil map不能赋值m1 = make(map[int]int)// 赋值m1[66] = 55fmt.Println(m1) // map[66:55]// (2)直接 make 创建m2 := make(map[string...

2019-11-16 12:49:24 129

翻译 Elasticsearch refresh

Elasticsearch 的 refreshIndex, Update, Delete, and Bulk APIs 支持通过设置 refresh 来该请求是否对查询可见;有如下值可以使用:空字符串或者 true当操作发生后,立即更新相关的主分片以及复制分片(并不是整个索引),更新的文档会立即出现在查询结果中。如果做此修改要仔细的思考和验证,不管从索引还是查询的角度,都不会导致性能变差...

2019-10-30 23:21:58 1204

原创 Elasticsearch 集群状态恢复(RED 与 YELLOW)

分片未被分配原因有下列类型:INDEX_CREATED由于 create index api 创建索引导致,索引创建过程中,把索引的全部分片分配完毕需要一个过程,在全部分片分配完毕之前,该索引会处于短暂的 RED 或 YELLOW 状态。因此监控系统如果发现集群 RED,不一定代表出现了故障。CLUSTER_RECOVERED集群完全重启时,所有分片都被标记为未分配状态,因此在集群...

2019-10-26 18:40:52 2244 1

原创 zsh 不兼容 no matches found:

执行curl localhost:9200/_cat/indices?v// zsh: no matches found: localhost:9200/_cat/indices?v解决办法:在~/.zshrc中加入:setopt no_nomatch, 然后进行 source .zshrc 命令

2019-10-24 22:31:24 2241

转载 linux 下系统跑分对比

转自:https://www.zyxtech.org/2016/12/09/linux%E4%B8%8B%E7%B3%BB%E7%BB%9F%E8%B7%91%E5%88%86%E5%AF%B9%E6%AF%94/

2019-10-23 23:13:09 2256

原创 Elasticsearch 测试数据的导入

数据地址:https://raw.githubusercontent.com/elastic/elasticsearch/master/docs/src/test/resources/accounts.json将数据拷贝成一个后缀json结束的文本文件,命名为accounts.jsoncurl -H "Content-Type: application/json" -XPOST "localh...

2019-10-23 23:06:50 2115

原创 Elasticsearch 之设置

返回数据超过 10000max_result_windowcurl -XPUT 127.0.0.1:9200/concreteIndex/_settings -d '{ "index.max_result_window" :"1000000"}'成功返回:{"acknowledged":true}参考:https://www.elastic.co/guide/en/elast...

2019-09-02 22:58:49 172

原创 ab 压力测试使用

说明类似于linux 的 curl 请求ab -h 查看帮助说明-c 并发数-n 请求次数-H header-p body 将body中 json 串写到 a.json 中-T POST数据所使用的Content-type头信息举例ab -n 100 -c 10 https://www.baidu.comab -n 1 -c 1 -p f:/a.txt -T app...

2019-08-27 11:58:01 3541 1

转载 CentOS 中守护进程使用

说明CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替原来的 service 命令与 systemctl 命令对比daemon命令systemctl命令说明service [服务] startsystemctl start [unit type]启动se...

2019-08-25 22:51:39 3830

翻译 Elasticsearch 之别名类型

别名数据类型只能在具有单一映射类型的索引上指定别名数据类型。必须在 6.0 以后的版本,或者设置了 index.mapping.single_type: true 的更早版本才可以使用别名类型。参考 移除映射类型。一个别名映射为索引中的一个字段定义了一个备用名。别名可以用来代替搜索请求中的目标字段,以及用在 field capabilities。PUT trips{ "mappings...

2019-07-30 09:42:02 1038

原创 Elasticsearch alias 使用

索引别名一个索引可以接受多个别名,而一个别名也可以映射到多个索引,当指定别名时,别名将自动扩展到添加的索引。别名也可以关联到 filter,然后自动应用到检索,和 routing value。别名不能与索引同名。添加别名,移除别名示例:POST /_aliases{ "actions" : [ { "add" : { "index" : "test1", "alia...

2019-07-10 23:29:54 7198

原创 Elasticsearch 类似 Mysql distinct 功能实现

实现方式使用聚合方式实现按 floor distinct,并取出 num 最大的一条记录{ "size": 0, "aggregations": { "field1": { "terms": { "field": "floor", "size": 20 }, "aggs": { "num_to...

2019-07-10 22:20:15 4253

翻译 elasticsearch 之 percolator 类型

特殊查询(percolator)创建curl -X PUT "localhost:9200/my-index" -H 'Content-Type: application/json' -d'{ "mappings": { "_doc": { "properties": { "message": { ...

2019-07-07 23:26:46 1619

原创 Elasticsearch 基本操作

Elasticsearch 基本操作集群查看集群健康度GET /_cat/health?vcurl -XGET "http://localhost:9200/_cat/health?v"响应:epoch timestamp cluster status node.total node.data shards pri relo init unassign pen...

2019-07-07 22:57:18 387

翻译 elasticsearch 之时间类型

日期类型(Date datatype)JSON 没有日期类型,因此在 Elasticsearch 中可以表达成:日期格式化的字符串,比如: “2015-01-01” 或者 “2015/01/01 12:10:30”;毫秒级别的 long 类型秒级别的 integer 类型,比如: 1515150699465, 1515150699;实际上不管日期以何种格式写入,在 ES 内部都会...

2019-07-07 21:54:47 18036 2

原创 mysql json 使用

创建 JSON类似 varchar,设置 JSON 主要将字段的 type 是 json, 不能设置长度,可以是 NULL 但不能有默认值。data json插入 JSONINSERT INTO `test` (data) VALUES ('{"name":"tom","age":3}');查询 JSON查询 json 中的数据用 column->path 的形式,其中对象类...

2019-07-07 11:36:54 147

原创 redis 做队列

存入队列$redis->lPush('queue', $value);队列中取出,且会在备用队列中存入相同的值$value = $redis->brpoplpush('queue', 'queue-back', 0); //参数 3 阻塞时间处理完后移除备用队列中值$redis->lRem('queue-back', $value, 1); // 参数...

2019-07-06 12:47:45 386

原创 Elasticsearch 之 Metrics Aggregations(数值度量聚合)

Metrics Aggregations(数值度量聚合)该系列中的聚合基于以某种方式从正在聚合的文档中提取的值来计算度量。这些值通常从文档的字段中提取(使用字段数据),但也可以使用脚本生成。数值度量聚合是一种输出数值的特殊类型的度量聚合。一些聚合输出单个数值度量(例如平均值),称为单值度量聚合,另一些输出多个度量值(例如统计数据),称为多值数值度量聚合。单值与多值数值度量聚合的区别是,他们充当...

2019-07-01 23:01:57 2126

转载 霾愁

《霾愁》古时候口罩是一种小小道具我在这头强盗在那头小时候口罩是我的小小恐惧我在这头护士的针头在那头而后来口罩是03年的集体记忆我在这头SARS在那头而现在口罩是路人的防霾武器我在这头却看不清谁在那头……?...

2019-06-26 23:54:28 170

翻译 RabbitMQ 之 Consumer Prefetch

概览消息者预取是消费者预取机制的扩展。AMQP 0-9-1 指定了 basic.qos 方法使得在一个 channel(一个连接)消费时能够限制未通知消息的数量。不幸的是,channel 并不是理想的范围 — 因为单个信道可以从多个队列中消费,频道和队列需要相互协调保证每条消息的发送都不会超过这个限制。在单个机器上这将会比较慢,而从一个集群上消费将会非常慢。此外,对于许多情况来说,指定适用于...

2019-06-24 00:08:05 734

原创 linux 中文文件 vim 乱码,cat 正常

.vimrc在当前用户家目录下 .vimrc 文件中添加set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8.bashrc在当前用户家目录下 .bashrc 文件中添加或修改export LC_ALL="zh_CN.UTF-8"...

2019-06-20 18:19:20 951

翻译 RabbitMQ 鉴权、授权、权限访问

鉴权、授权、访问控制概览这部分描述了 RabbitMQ 中的鉴权和授权特性。以及操作着对系统的访问控制。不同的用户可以被授予特定的 vitual host 访问。在每个虚拟主机的具体许可也可以限制。RabbitMQ 支持两种主要的鉴权机制以及几个认证和授权后端。基于密码的鉴权有配套的指南。 关于支持 TLS 的内容也包含在专门的指南里。指南中讨论的其他话题包括:默认虚拟主机和用户对...

2019-06-20 09:11:09 21233

翻译 Elasticsearch 之 Mappings

映射(Mapping)映射是用来定义一个文档,和其包含的字段,是如何存储和索引的过程。举例来说,使用映射可以定义:哪一个字符串字段应该看作全文索引字段;哪一个字段包含数字,日期,或者地理定位;是否文档中所有字段的值都该被索引到 _all 字段中;日期字段值的格式;自定义的规则控制是否动态添加索引 (附1)映射类型(Mapping Type)每个索引都有一份映射类型决定了文档如何...

2019-06-18 22:39:19 3032

翻译 RabbitMQ Part5 (Topics)

Topics在上一节教学中,我们改善了日志系统。我们由只能使用虚拟广播的 fanout 交换机改为了 direct 类型,并且获得了选择性接收消息的可能性。尽管使用直连交换机改善了系统,但它依然有限制 – 它不能基于多标准路由。在我们的日志系统,可能不仅仅想要订阅基于日志严重性的消息,还希望基于日志的发出源订阅。你或许从 syslog unix 工具了解到这一概念,它基于日志的严重性和产生的...

2019-06-17 10:20:20 250

翻译 RabbitMQ Part4 (Routing)

路由在上一个教程中,我们构建了一个简单的日志记录系统。我们能够向许多接收者广播日志消息。在本教程中,我们将为它添加一个特性——我们将使只订阅消息子集成为可能。例如,我们仅将关键错误消息定向到日志文件(以节省磁盘空间),同时仍然能够在控制台上打印所有日志消息。绑定在前面的例子中,我们已经创建了绑定。您可能还记得类似以下代码:$channel->queue_bind($queue_na...

2019-06-16 19:42:06 119

翻译 RabbitMQ Part3 (Publish/Subscribe)

发布/订阅在前几节教学中,我们创建了工作队列。工作队列之后的假设是每个任务都投递给一个特定的工作进程。在这一节中,我们做一些完全不同的事情。我们会分发一个消息给多个消费者。这个模式称为" publish/subscribe"。为了说明这种模式,我们将创建一个简单的日志系统。它包括两部分程序:第一部分会发出日志消息,第二部分接收并打印它们。在我们的日志系统中,接收器程序的每一个运行的副本都会收...

2019-06-16 18:39:48 255

翻译 RabbitMQ Part2 (Work queues)

工作队列(Work Queues)在第一节中介绍了将消息发送到指定队列并从该队列中接收消息。在这一节中我们将创建 Work Queue 来分发耗时的任务给多个 worker。工作队列(行话称为 Task Queues) 的主要思想是避免立即做一些资源密集型的任务,而必须等待其完成。相反,我们将任务安排在稍后完成。我们封装一个任务作为一个消息并将它发送到一个队列。一个在后台运行的工作进程将任务...

2019-06-16 17:37:25 135

原创 json_decode返回值为NULL的解决方法

使用 json_last_error 判断error 值及对应错误原因。文档如果为 3,可以使用如下方式过滤掉非 utf8 字符。preg_match('/[\x00-\x1F\x80-\x9F]/u', $str, $match);// 将得到字符串 base64 转码即可找到该不可显示的特殊字符找到特殊字符 \u001f发现 mysql 在 json 字段中存入该字段会显示为可...

2019-06-16 17:23:08 1440

原创 rabbitmqctl 使用

1.清除数据关闭应用rabbitmqctl stop_app清除rabbitmqctl reset再次启动rabbitmqctl start_app注: 该操作会清除所有的配置2. 为用户添加权限添加用户使用户 userA 具有‘/’这个virtual host中所有资源的配置、写、读权限rabbitmqctl set_permissions -p / userA '...

2019-06-11 23:39:13 2072

翻译 RabbitMQ 之队列长度限制

队列长度限制概述队列的最大长度可以限制为一组消息数或一组字节数(忽略消息属性和其他开销的所有消息体长度总和),或者两者兼有。对于任何给定的队列,最大长度(任一类型)可以由客户端使用队列的参数来定义,也可以在服务器中使用配置策略(policies)来定义。在策略和参数都指定最大长度的情况下,将应用两个值中的较小值。对列长度可以使用 operator policies 强制设置。在所有情况下...

2019-06-11 23:30:20 21420 4

翻译 RabbitMQ Part1 (hello Wrold!)

1 “hello Wrold!”先决条件:该教学认为你已经安装了 RabbitMQ,并且在本地运行在标准的端口(5672)。如果你使用了不同的主机,端口及账号,在连接设置部分需要适当调整。简介RabbitMQ 是一个消息代理:它接收并转发消息。你可以认为它是一个邮局:当你将想要发送的邮件放到邮箱里面以后,而且可以确信邮递员可以把你的邮件送到接受着手里。在这里类比中,RabbitMQ 就...

2019-05-19 17:50:26 110

原创 es 批量更新字段值操作

官方文档curl -X POST "localhost:9200/twitter/_update_by_query" -H 'Content-Type: application/json' -d'{ "script": { "source": "ctx._source.likes++", "lang": "painless" }, "query": { "t...

2019-04-18 20:32:26 11004

unixbench.sh

UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能。Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。

2019-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除