<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ronon77的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/ronon77</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ronon77]]></copyright><item><title><![CDATA[python 类装饰器的四种场景写法]]></title><link>https://blog.csdn.net/ronon77/article/details/84915720</link><guid>https://blog.csdn.net/ronon77/article/details/84915720</guid><author>ronon77</author><pubDate>Mon, 29 Jan 2018 17:32:36 +0800</pubDate><description><![CDATA[
总结： 1类装饰器用于类函数   __get__
      2.类装饰器用于普通函数， __call__
      3.e

import time


# 类装饰器用于类方法
class TimeitClass:
    def __init__(self, func):
        self.func = func

    def __get__(self...]]></description><category></category></item><item><title><![CDATA[monacmonaco-editor使用]]></title><link>https://blog.csdn.net/ronon77/article/details/84915689</link><guid>https://blog.csdn.net/ronon77/article/details/84915689</guid><author>ronon77</author><pubDate>Mon, 29 Jan 2018 10:56:25 +0800</pubDate><description><![CDATA[
monaco-editor使用
 


monaco-editor是一款非常好用的web代码编辑器，那么如何把他加到自己的项目中呢。
1.下载插件
npm install monaco-editor@0.8.3
2.初始化编辑器值




1
2



&amp;lt;!--要绑定的对象--&amp;gt;

&amp;lt;div id=&quot;container&quot;&amp;gt;&amp;lt;/div...]]></description><category></category></item><item><title><![CDATA[python logging 重复写日志问题]]></title><link>https://blog.csdn.net/ronon77/article/details/84915354</link><guid>https://blog.csdn.net/ronon77/article/details/84915354</guid><author>ronon77</author><pubDate>Tue, 23 Jan 2018 14:47:22 +0800</pubDate><description><![CDATA[
用Python的logging模块记录日志时，遇到了重复记录日志的问题，第一条记录写一次，第二条记录写两次，第三条记录写三次。。。很头疼，这样记日志可不行。网上搜索到了原因与解决方案：
原因：没有移除handler 解决：在日志记录完之后removeHandler
修改前示例代码：
import logging


def log(message):
    logger = lo...]]></description><category></category></item><item><title><![CDATA[CSS 黑魔法小技巧，让你少写不必要的JS，代码更优雅]]></title><link>https://blog.csdn.net/ronon77/article/details/84914810</link><guid>https://blog.csdn.net/ronon77/article/details/84914810</guid><author>ronon77</author><pubDate>Thu, 11 Jan 2018 17:19:51 +0800</pubDate><description><![CDATA[
之前不久，由于自己平时涉猎还算广泛，总结了一篇博客： 这些JavaScript编程黑科技，装逼指南，高逼格代码，让你惊叹不已 ，没想到受到了大家的欢迎，有人希望能博主还能整理个 CSS的一些黑魔法小技巧，无奈我 CSS 一直很渣，没什么干货，最近写了一个 Chrome 插件 GayHub ，算是把 GitHub 的样式审查了个变，在写的过程中，也收获了很多关于 CSS 的小技巧，尤其是开始的第一...]]></description><category></category></item><item><title><![CDATA[Redis 数据类型及应用场景]]></title><link>https://blog.csdn.net/ronon77/article/details/84914750</link><guid>https://blog.csdn.net/ronon77/article/details/84914750</guid><author>ronon77</author><pubDate>Wed, 10 Jan 2018 17:56:10 +0800</pubDate><description><![CDATA[
一、 redis 特点

所有数据存储在内存中，高速读写
提供丰富多样的数据类型：string、 hash、 set、 sorted set、bitmap、hyperloglog
提供了 AOF 和 RDB 两种数据的持久化保存方式，保证了 Redis 重启后数据不丢失
Redis 的所有操作都是原子性的，还支持对几个操作合并后的原子性操作，支持事务

通常我们都把数据存到关系型数据库...]]></description><category></category></item><item><title><![CDATA[数据可视化的开源方案: Superset vs Redash vs Metabase ]]></title><link>https://blog.csdn.net/ronon77/article/details/84914749</link><guid>https://blog.csdn.net/ronon77/article/details/84914749</guid><author>ronon77</author><pubDate>Wed, 10 Jan 2018 17:29:25 +0800</pubDate><description><![CDATA[
人是视觉动物，要用数据把一个故事讲活，图表是必不可少的。如果你经常看到做数据分析同事，在SQL客户端里执行完查询，把结果复制/粘贴到Excel里再做成图表，那说明你的公司缺少一个可靠的数据可视化平台。数据可视化是Business Intelligence(简称BI)中的核心功能，有许多成熟的商用解决方案，如老牌的Tableau, Qilk，新生代的Looker，国内的FineBI等等。不过对于许...]]></description><category></category></item><item><title><![CDATA[Nginx 限制单个IP的并发连接数/速度来减缓垃圾蜘蛛爬虫采集]]></title><link>https://blog.csdn.net/ronon77/article/details/84914739</link><guid>https://blog.csdn.net/ronon77/article/details/84914739</guid><author>ronon77</author><pubDate>Wed, 10 Jan 2018 15:52:50 +0800</pubDate><description><![CDATA[
不知道大家碰没碰到过被一些垃圾蜘蛛爬虫采集造成服务器飙升的情况，反正明月是经常性的碰到 YandexBot 、 SMTBot 等等这类不需要的网络蜘蛛爬虫的骚扰，有些甚至一天的采集量达到接近1G的流量，虽然可以通过【 使用Fail2ban禁止垃圾采集爬虫，保护Nginx服务器 】一文的办法来屏蔽，但是这类爬虫还是会不断变更名字继续出现。

其实，可以使用Nginx限制单个IP的并发连接数能够...]]></description><category></category></item><item><title><![CDATA[docker 升级到最新版]]></title><link>https://blog.csdn.net/ronon77/article/details/84914734</link><guid>https://blog.csdn.net/ronon77/article/details/84914734</guid><author>ronon77</author><pubDate>Wed, 10 Jan 2018 14:14:09 +0800</pubDate><description><![CDATA[

步骤

卸载旧版 docker


&amp;gt; rpm -qa | grep docker # 也可以使用 yum list installed | grep docker 
docker-engine-1.13.0-1.el7.centos.x86_64
docker-engine-selinux-1.13.0-1.el7.centos.noarch
&amp;gt; yum remov...]]></description><category></category></item><item><title><![CDATA[PyMongo 常见问题]]></title><link>https://blog.csdn.net/ronon77/article/details/84914688</link><guid>https://blog.csdn.net/ronon77/article/details/84914688</guid><author>ronon77</author><pubDate>Tue, 09 Jan 2018 16:11:37 +0800</pubDate><description><![CDATA[

这是一篇翻译文章,原链接在这里。翻译可能不准确，欢迎指出文章中存在的问题。
PyMongo是线程安全的吗
PyMongo是线程安全的,并且为多线程应用提供了内置的连接池
PyMongo是进程安全的吗
PyMongo不是进程安全的,如果你在fork()中使用MongoClient实例，必须小心。具体来说，MongoClient实例不能从父进程复制到子进程,父进程和每个子进程必须创建属...]]></description><category></category></item><item><title><![CDATA[Python实战mongodb第3篇: Pymongo的分页查询]]></title><link>https://blog.csdn.net/ronon77/article/details/84914612</link><guid>https://blog.csdn.net/ronon77/article/details/84914612</guid><author>ronon77</author><pubDate>Mon, 08 Jan 2018 11:25:03 +0800</pubDate><description><![CDATA[
Pymongo的分页查询
 
 
 

 

]]></description><category></category></item><item><title><![CDATA[SQL转 MongoDB语法速查表]]></title><link>https://blog.csdn.net/ronon77/article/details/84914567</link><guid>https://blog.csdn.net/ronon77/article/details/84914567</guid><author>ronon77</author><pubDate>Sat, 06 Jan 2018 17:34:27 +0800</pubDate><description><![CDATA[
SQL转 MongoDB语法速查表
翻译整理：qqxufo 

我的博客：http://hhxblog.leanote.com/ 吐槽：学习MongoDB的时候，在官网看到了SQL 到 MongoDB 的语法转换图。觉得内容不错，所以打算将其整理出来以便日后的学习和使用。 PS：右上角自带目录，可以进行速查。

术语和概念


SQL
MongoDB



database
dat...]]></description><category></category></item><item><title><![CDATA[Logstash由于时区导致8小时时差解决方案]]></title><link>https://blog.csdn.net/ronon77/article/details/84914398</link><guid>https://blog.csdn.net/ronon77/article/details/84914398</guid><author>ronon77</author><pubDate>Wed, 03 Jan 2018 15:10:50 +0800</pubDate><description><![CDATA[
写在最前面， 这个logstash解决时差的原理是利用timestamp字段替换logstash的@timesamp字段。
如果日志里没有这个timestamp字段，则无效。
Logstash 2.3版本

logstash的date插件配置：
date {
match =&amp;gt;[&quot;timestamp&quot;,&quot;dd/MMM/yyyy:HH:mm:ss Z&quot;]
target =&amp;gt;...]]></description><category></category></item><item><title><![CDATA[Kombu 源码解析一]]></title><link>https://blog.csdn.net/ronon77/article/details/84914002</link><guid>https://blog.csdn.net/ronon77/article/details/84914002</guid><author>ronon77</author><pubDate>Mon, 25 Dec 2017 16:33:24 +0800</pubDate><description><![CDATA[
Kombu 源码解析一
玩 Python 的同学可能很多都听说过甚至玩过 Celery，Celery 作为 Python 中最流行的异步消息队列可以说是非常得受欢迎。但是，用得多的同学相信也是有一个感触，那就是时不时会遇到莫名奇妙的坑，而且最后都只能通过重启解决，因为要找到原因实在不是一件容易的事情。
而我作为这受伤人群中的一个，想了解一下这个大坑内部的原理，所以就曾经扒过它内部的实现，但是...]]></description><category></category></item><item><title><![CDATA[kibana 基本使用语法]]></title><link>https://blog.csdn.net/ronon77/article/details/84913969</link><guid>https://blog.csdn.net/ronon77/article/details/84913969</guid><author>ronon77</author><pubDate>Mon, 25 Dec 2017 09:19:40 +0800</pubDate><description><![CDATA[
       

时间选择器
默认的时间过滤器设置为最近 15 分钟。你可以用页面顶部的时间选择器(Time Picker)来修改时间过滤器，或者选择一个特定的时间间隔，或者直方图的时间范围。
要用时间选择器来修改时间过滤器：

点击菜单栏右上角显示的 Time Filter 打开时间选择器。
快速过滤，直接选择一个短链接即可。
要指定相对时间过滤，点击 Relative 然后输入...]]></description><category></category></item><item><title><![CDATA[分布式SQL查询引擎Presto原理介绍]]></title><link>https://blog.csdn.net/ronon77/article/details/84913826</link><guid>https://blog.csdn.net/ronon77/article/details/84913826</guid><author>ronon77</author><pubDate>Thu, 21 Dec 2017 13:58:28 +0800</pubDate><description><![CDATA[
我们实时引擎组新引入了一款分布式SQL查询引擎，名字叫Presto，目前已经调研和测试了2个月了，并且期间某平台也从impala平台迁入到了Presto平台，查询性能有了2-3倍的提升（各种原因导致），所以本文将结合作者这段时间的测试和调研研究，来揭开Presto的神秘面纱。
Presto是神马
Presto是由Facebook开发的一个分布式SQL查询引擎， 它被设计为用来专门进行高速、实...]]></description><category></category></item><item><title><![CDATA[一行Python代码实现树结构]]></title><link>https://blog.csdn.net/ronon77/article/details/84913779</link><guid>https://blog.csdn.net/ronon77/article/details/84913779</guid><author>ronon77</author><pubDate>Wed, 20 Dec 2017 15:47:03 +0800</pubDate><description><![CDATA[
树结构是一种抽象数据类型，在计算机科学领域有着非常广泛的应用。一颗树可以简单的表示为根， 左子树， 右子树。 而左子树和右子树又可以有自己的子树。这似乎是一种比较复杂的数据结构，那么真的能像我们在标题中所说的那样，用一行Python代码就可以实现吗？
一行代码实现？
由于树形结构的外层和内层有着相似的结构，所以多可以用递归的方式定义树。再利用Python中提供的defaultdict，我们就...]]></description><category></category></item><item><title><![CDATA[命令行神器 Click]]></title><link>https://blog.csdn.net/ronon77/article/details/84913769</link><guid>https://blog.csdn.net/ronon77/article/details/84913769</guid><author>ronon77</author><pubDate>Wed, 20 Dec 2017 14:57:08 +0800</pubDate><description><![CDATA[
Click
Click 是用 Python 写的一个第三方模块，用于快速创建命令行。我们知道，Python 内置了一个 Argparse 的标准库用于创建命令行，但使用起来有些繁琐，Click 相比于 Argparse，就好比 requests 相比于 urllib。
快速使用
Click 的使用大致有两个步骤：

使用 @click.command() 装饰一个函数，使之成为命令行接口...]]></description><category></category></item><item><title><![CDATA[django 流式大文件文件下载]]></title><link>https://blog.csdn.net/ronon77/article/details/84913594</link><guid>https://blog.csdn.net/ronon77/article/details/84913594</guid><author>ronon77</author><pubDate>Sat, 16 Dec 2017 15:20:42 +0800</pubDate><description><![CDATA[
写在最前面：
        不要用ajax请求下载文件，只会返回类似json的数据。因为ajax不支持。
         可以用form形式请求。
         例如
          $('.export_data').click(function () {
       Toastr('message', &quot;开始下载数据&quot;, 'success')
       con...]]></description><category></category></item><item><title><![CDATA[filebeat to elasticsearch针对于filebeat端性能优化--性能提升230%]]></title><link>https://blog.csdn.net/ronon77/article/details/84913496</link><guid>https://blog.csdn.net/ronon77/article/details/84913496</guid><author>ronon77</author><pubDate>Thu, 14 Dec 2017 17:04:20 +0800</pubDate><description><![CDATA[
1. filebeat介绍
filebeat最初是基于logstash-forwarder源码的日志数据shipper。Filebeat安装在服务器上作为代理来监视日志目录或特定的日志文件，要么将日志转发到Logstash进行解析，要么发送到Elasticsearch或Redis等组件进行索引
2. filebeat相比于logstash优缺点
filebeat的优点：

logstas...]]></description><category></category></item><item><title><![CDATA[re必杀技正则表达式大全——包括校验数字、字符、一些特殊的需求等等]]></title><link>https://blog.csdn.net/ronon77/article/details/84913442</link><guid>https://blog.csdn.net/ronon77/article/details/84913442</guid><author>ronon77</author><pubDate>Wed, 13 Dec 2017 15:42:04 +0800</pubDate><description><![CDATA[


一、校验数字的表达式
1数字：^[0-9]*$
2n位的数字：^\d{n}$
3至少n位的数字：^\d{n,}$
4m-n位的数字：^\d{m,n}$
5零和非零开头的数字：^(0|[1-9][0-9]*)$
6非零开头的最多带两位小数的数字：^([1-9][0-9]*)+(.[0-9]{1,2})?$
7带1-2位小数的正数或负数：^(\-)?\d+(\.\d{1,2})...]]></description><category></category></item></channel></rss>