自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (10)
  • 收藏
  • 关注

转载 python **

作为运算符时** 在python里面表示幂运算传递实参和定义形参(所谓实参就是调用函数时传入的参数,形参则是定义函数是定义的参数)的时候,你还可以使用两个特殊的语法:``*`` ** 。调用函数时使用* **test(*args)* 的作用其实就是把序列 args 中的每个元素,当作位置参数传进去。比如上面这个代码,如果 args 等于 (1,2,3) ,那么这个代码就等价于 te...

2019-12-30 15:21:42 130

原创 redis 常用命令

redis数据库之间切换Redis Select 命令用于,数据库索引号 index 用数字值指定,以 0 作为起始索引值。SELECT index$ select 0zset1.查询zset所有key$ keys *2.计算在有序集合中指定区间分数的成员数ZCOUNT key min max$ZCOUNT 2019122916|0.0.0.0 0 100...

2019-12-29 16:58:41 150

转载 Elasticsearch 用户指南5.4.0

起步Elasticsearch 是一个大规模开源的全文搜索和分析引擎,你可以用它来快速(接近实时)存储、搜索和分析大量的数据。通常被用作基础的引擎,或者有复杂的搜索功能和要求的应用的技术支撑。这儿是一些Elasticsearch简单的使用场景: 在线网站的数据存储,允许你的客户对你售卖的产品进行搜索的场景。这时,你可以使用Elasticsearch存储你的全部产品信息分类和库存,然后...

2019-12-29 16:46:54 285

原创 ElasticSearch 常用命令

1.查看当前所有索引$curl -XGET 'http://127.1:9200/_cat/indices?pretty&v'health status index pri rep docs.count docs.deleted store.size pri.store.sizeyellow open log-20191229 5 1 ...

2019-12-29 16:34:48 243

转载 12306秒杀系统架构

秒杀系统的艺术12306抢票,极限并发带来的思考?每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发...

2019-12-28 09:35:12 659

转载 es curl快速入门

当前文档所用ES版本 6.4.3ElasticSearch 提供了一系列的Restful风格的API,我们可以使用curl命令进行使用,也可以在kibana中使用。Restful风格它是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。 RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动...

2019-12-26 09:58:54 338

转载 docker-compose之间通信

我使用的是networks 把2个docker-compose拉到一个网络组里首先建立网络组docker network create app_net然后把每一个容器都加上networks:- custom_net在然后每一个docker-compose.yml都加上networks:custom_net:external:name: app_netve...

2019-12-24 23:55:35 1633

原创 No handlers could found for logger "sendmsg"

在send.py没有找到logger句柄logging.getLogger("pubulic")在调用log.warn("haha")提示No handlers could found for logger "send"问题是:init_log() syslog = SysLogHandler(address='/dev/log', facility=SysLogHan...

2019-12-23 23:14:17 251

原创 ubuntu deepin-wine 微信之后打不开

问题现象:1.只使用单屏是可以的打开ubuntu 微信的,偶尔然发现使用双屏就开不开微信,并且cpu使用率很高。2.关闭双屏就能打开 打开后开启双屏拖到主屏就卡死解决办法:这个估计还是官方来解决。目前只能使用单屏先用着。...

2019-12-23 15:03:19 5497 11

原创 rsyslog 丟日志 打印日志不全

最近使用cat /var/log/syslog总是只能看到少部分日志,经过排查发现是rsyslog输出日志间隔时间相关。解决方案:echo‘$SystemLogRateLimitInterval 60’ >>/etc/rsyslog.confecho‘$SystemLogRateLimitBurst 3000’ >>/etc/rsyslog.conf...

2019-12-22 13:49:47 1210

转载 ubuntu 微信

ubuntu 微信Deepin wine for Ubuntu and Debian一、项目介绍Deepin-wine 环境的 Ubuntu/Debian 移植版使用deepin原版二进制文件,解决依赖问题仅供个人研究学习使用刚刚适配debian,可能在安装或运行上还存在问题,欢迎反馈!二、软件架构软件架构说明(1)安装教程在线安装(目前尚有...

2019-12-21 16:22:31 419

转载 kafka 讲解

简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横...

2019-12-18 18:46:04 186

转载 python gevent

gevent文档Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。gevent是第三方库,通过greenlet实现协程,其基本思想是:当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。由于IO操作非常耗时,经常使程序处于等待状...

2019-12-18 11:19:44 189

转载 python syslog

最近在写一些命令行守护程序,类似于 Linux 下的一些常运行的程序,除了用到一些常见的IO 以及进程间通信的内容之外,还尝试了一下 Unix 系列的 syslog,在尝试过程中,发现 Python 已经在 logging 模块中很方便得集成了 syslog 的功能,很是方便;但同时,Python 的内置库中也提供了 syslog 的支持,所以,我就对这两种方式都进行一个介绍和总结。syslo...

2019-12-17 14:56:37 563

转载 elasticsearch merge

这两周主要看了下 Elasticsearch(其实是Lucene)的 segments 的 merge 流程。事情起因是,线上的ES有些大索引,其中的segments 个数几十个,每个大小100M+,小 segments 若干,而遇到问题就是这些大的 segments 不再做 merge 了,除非强制进行forceMerge 操作,由于我们第一次ES上线,其实也不清楚这究竟是个问题还是本来 Luc...

2019-12-17 14:05:53 1608 2

转载 elasticsearch(二) 快速入门

3 ES快速入门ES作为一个索引及搜索服务,对外提供丰富的REST接口,快速入门部分的实例使用head插件来测试,目的是对ES的使用方法及流程有个初步的认识。3.1 创建索引库ES的索引库是一个逻辑概念,它包括了分词列表及文档列表,同一个索引库中存储了相同类型的文档。它就相当于MySQL中的表,或相当于Mongodb中的集合。关于索引这个语:索引(名词):ES是基于Lucene构建...

2019-12-17 09:46:57 170

转载 elasticSearch(一)介绍

1、 ElasticSearch介绍1.1 介绍image.png官方网址:https://www.elastic.co/cn/products/elasticsearchGithub:https://github.com/elastic/elasticsearch总结:1、elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。2、ela...

2019-12-17 09:28:55 282

转载 kafka partition(分区)与 group

1、原理图2、原理描述一个topic 可以配置几个partition,produce发送的消息分发到不同的partition中,consumer接受数据的时候是按照group来接受,kafka确保每个partition只能同一个group中的同一个consumer消费,如果想要重复消费,那么需要其他的组来消费。Zookeerper中保存这每个topic下的每个partition在每个g...

2019-12-16 19:10:10 519

转载 virtualenv隔离的Python运行环境

在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?这种情况下,每个应用可能需要各自拥有一套“独立”的P...

2019-12-16 16:25:08 174

转载 自动化持续集成之GitLab CI/CD

k8s自动化持续集成之GitLab CI/CD前言持续集成的好处主要有两个: 快速发现错误   每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易 防止分支大幅偏离主干   如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,...

2019-12-16 16:19:25 361

转载 定时任务crontab

crontab:定时任务的守护进程,精确到分,设计秒的我们一般写脚本 -->相当于闹钟 日志文件: ll /var/log/cron* 编辑文件: vim /etc/crontab 进程:ps -ef | grep crond ==> /etc/init.d/crond restart 作用:定时备份,...

2019-12-16 13:55:32 194

原创 磁盘满查看情况

1.查看磁盘分区情况$ fdisk -l2.查看磁盘分区挂载情况,文件夹空间大小$ df -ah3.linux查看根目录下所有文件夹大小的方法如下:1、进入根目录:cd /2、使用命令 : du -sh * 查看根目录下每个文件夹的大小3、进入占用空间比较大的文件夹,然后再使用2中命令查找大文件其他:$ du -ah --max-depth=1$ sudo d...

2019-12-16 11:51:48 260

原创 ngx.unescape_uri()函数之坑

nginx中ngx.unescape_uri()函数会将+字符转成空格,由于该现象会可能导致一些字符串匹配问题。请求路径 调用ngx.var.request_uri前 调用ngx.var.request_uri后 curl -vv -L ww.test.com/ / > /dev/null /, /, curl -vv -L ww.test.com...

2019-12-16 09:40:54 3343

转载 实时监控系统(Telegraf+InfluxDB+Grafana)

监控从来都是一个很宽泛的问题,任何可能出问题的地方都需要加入监控。全量监控的确是监控的终极目标。在搭建一套监控系统前,需要结合实际的系统情况和发展趋势进行考量。在作者看来,一套监控系统应主要由数据采集、数据存储、数据展示三部分构成。作者经过大量阅读相关资料后,最终选择了Telegraf+InfluxDB+Grafana这套方案。接下来,作者就对这套监控系统方案进行简要的介绍。Telegraf+...

2019-12-15 16:50:54 1212

原创 Couldn't create temporary file /tmp/apt.conf.g1YDx9

Get:1 http://mirrors.aliyun.com/ubuntu bionic InRelease [242 kB]Err:1 http://mirrors.aliyun.com/ubuntu bionic InRelease Couldn't create temporary file /tmp/apt.conf.g1YDx9 for passing config to ap...

2019-12-12 17:23:05 7965 13

原创 scp port 22: Connection refused

现象$ scp books.txt kusers@101.81.251.112:/home/ksuser/Documents/booksssh: connect to host 101.81.251.112 port 22: Connection refusedlost connection问题原因:发现是没有安装ssh服务端,没有服务在22号端口接收文件。ubuntu下安装s...

2019-12-09 11:24:31 6703 2

原创 git 笔记(二)

说明本文大部分内容来自《廖雪峰的官网-git教程》,讲的很不错大家可以前往学习,我自己在这里只是记录学习笔记。本文接着git笔记(一)继续整理学习git。6分支管理从其他分支分离出来,创建一个属于自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。其他版本...

2019-12-07 19:35:51 344 2

转载 git reset 详解

有时候,我们用Git的时候有可能commit提交代码后,发现这一次commit的内容是有错误的,那么有两种处理方法:1、修改错误内容,再次commit一次2、使用git reset 命令撤销这一次错误的commit第一种方法比较直接,但会多次一次commit记录。而我个人更倾向第二种方法,错误的commit没必要保留下来。那么今天来说一下git reset。它的一句话概括git-...

2019-12-07 16:54:04 1132

原创 git 笔记(一)

说明本文大部分内容来自《廖雪峰的官网-git教程》,讲的很不错大家可以前往学习,这里记录的只是自己的一些实践理解。1.git分布式版本管理 首先介绍下传统的集中式版本管理系统,例如svn。在集中式版本管理中,有客户端与服务端之分。以svn为例,各个开发者一般会安装svn客户端,然后从svn中央服务下载代码,在此基础上修改,添加,删除等,一般我们每次提交代码前都必须和...

2019-12-07 15:42:03 409

原创 openresty pipeline 压缩redis请求数量

通常情况下,我们每个操作 Redis 的命令都以一个 TCP 请求发送给 Redis,这样的做法简单直观。然而,当我们有连续多个命令需要发送给 Redis 时,如果每个命令都以一个数据包发送给 Redis,将会降低服务端的并发能力。为什么呢?大家知道每发送一个 TCP 报文,会存在网络延时及操作系统的处理延时。大部分情况下,网络延时要远大于 CPU 的处理延时。如果一个简单的命令就以一个...

2019-12-04 17:04:13 315

原创 openresty ngx.ctx表

在 OpenResty 的体系中,可以通过共享内存的方式完成不同工作进程的数据共享,可以通过Lua 模块方式完成单个进程内不同请求的数据共享。如何完成单个请求内不同阶段的数据共享呢?最典型的例子,估计就是在 log 阶段记录一些请求的特殊变量。ngx.ctx 表就是为了解决这类问题而设计的。参考下面例子:location /test {rewrite_by_lua_block {ngx...

2019-12-04 16:25:33 1606

转载 ngx_lua_API 详解 (一)

ngx.thread.spawn、ngx.thread.wait、ngx.thread.kill 介绍ngx_lua中访问多个第三方服务ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发给客户端。location / { content_by_l...

2019-12-04 13:34:01 963

xshell7 free for home/school

xshell7 free for home/school

2022-03-26

OpenResty 最佳实践

。由于之前一直混迹在 Python 圈子里面,也接触过 Nginx C 模块的高性能开发,一直想找到一个兼备 Python 快速 开发和 Nginx C 模块高性能的产品。看到 OpenResty 后,有发现新大陆的感觉。

2020-11-28

eBPF探索之旅-又拍云OpenTalk

BPF 基于寄存器虚拟机实现(支持 jit),实现了将过 滤包的逻辑移植到内核中: ① 用户态通过 BPF 接口将用户代码编译成字节码后, 尝试加载到BPF虚拟机中 ②内核校验用户的代码是否安全,如果安全,用户态 代码才能够在内核中运行

2020-11-28

COM技术内幕

COM技术内幕

2013-03-25

响应鼠标按下和抬起

响应鼠标按下和抬起

2013-01-25

MFC窗口切换

MFC窗口切换

2013-01-25

socket阻塞与非阻塞

socket阻塞与非阻塞

2013-01-25

CFile操作

CFile操作详解

2012-11-22

空空如也

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

TA关注的人

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