<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[K_Zombie的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/K_Zombie</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; K_Zombie]]></copyright><item><title><![CDATA[Python程序员最常犯的十个错误]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/51172168</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/51172168</guid><author>K_Zombie</author><pubDate>Sun, 17 Apr 2016 16:16:12 +0800</pubDate><description><![CDATA[不管是在学习还是工作过程中，人都会犯错。虽然Python的语法简单、灵活，但也一样存在一些不小的坑，一不小心，初学者和资深Python程序员都有可能会栽跟头。本文是Toptal网站的程序员梳理的10大常见错误，非常有参考意义。大家在开发过程中需要格外注意。译文中如有理解错误的地方，可以在网站留言或通过微信公众号编程派回复。
常见错误1：错误地将表达式作为函数的默认参数在Python中，我们可以为函数]]></description><category></category></item><item><title><![CDATA[python开发的10个技巧]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/51172138</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/51172138</guid><author>K_Zombie</author><pubDate>Sun, 17 Apr 2016 10:44:59 +0800</pubDate><description><![CDATA[下面是十个Python中很有用的贴士和技巧。其中一些是初学这门语言常常会犯的错误。注意：假设我们都用的是Python 31.列表推导式你有一个list：bag = [1, 2, 3, 4, 5]现在你想让所有元素翻倍，让它看起来是这个样子：[2, 4, 6, 8, 10]大多初学者，根据之前语言的经验会大概这样来做bag = [1, 2, 3, 4, 5]  
for i in range(len(]]></description><category></category></item><item><title><![CDATA[ELK实战-Logstash multiline：识别错误堆栈]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/51156319</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/51156319</guid><author>K_Zombie</author><pubDate>Fri, 15 Apr 2016 00:14:50 +0800</pubDate><description><![CDATA[概述在通过ELK收集日志的时候，通常需要对日志进行分析，例如实时监控错误堆栈，并进行告警。通常错误堆栈都是多行的，但通常ELK默认都是识别单行的，怎么才能多行呢？logstash的codec、filter中均有multiline插件,可以匹配单行内容，并于上下行作为1个输入。本文主要讲述如何使用logstash的multiline插件来识别错误堆栈。测试环境1个CentOS7系统： 
  * ELK]]></description><category></category></item><item><title><![CDATA[ELK实战-Logstash：收集rsyslog日志]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/51156312</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/51156312</guid><author>K_Zombie</author><pubDate>Fri, 15 Apr 2016 00:12:22 +0800</pubDate><description><![CDATA[概述本文主要是展示将logstash作为rsyslog服务器，并收集远程的rsyslog日志。本文阅读的基础建立在： 
* 了解rsyslog服务器，或者阅读rsyslog日志服务器-日志写入远端rsyslog服务器 
* 对ELK有初步的了解,并有体验过ELK进行日志收集，或者阅读ELK：环境搭建&初体验测试环境2个CentOS7系统：
ELK服务器
rsyslog客户端
实战logstash配置]]></description><category></category></item><item><title><![CDATA[ELK实战-Logstash：监控日志文件]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/51156299</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/51156299</guid><author>K_Zombie</author><pubDate>Fri, 15 Apr 2016 00:08:28 +0800</pubDate><description><![CDATA[概述ELK可以用来实时监控日志文件，并记录。测试环境1个CentOS7系统：
ELK服务器
测试思路
ELK监控/var/log/messages日志文件，并记录
实战logstash配置文件logstash的配置文件（logstash.conf.file）如下input {
 file {
    path => "/var/log/messages"
    start_position =>]]></description><category></category></item><item><title><![CDATA[Python双下划线引发的学习－类变量、实例变量]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/51127376</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/51127376</guid><author>K_Zombie</author><pubDate>Tue, 12 Apr 2016 00:12:44 +0800</pubDate><description><![CDATA[概述本文主要介绍一些关于类变量、实例变量的一些基本内容类、实例
类：class，与面向对象中的类的概念相同
实例：类的一个对象，与面相对象中的对象／实例的概念相同
类变量、实例变量
类变量：类本身所拥有的变量。该类的所有实例可以共享的变量。
实例变量：实例所拥有的变量
定义
类变量通过在类中但是__init__函数外定义。例如：class A(object):
  class_var = 0
  d]]></description><category></category></item><item><title><![CDATA[ELK：环境搭建&初体验]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/51103745</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/51103745</guid><author>K_Zombie</author><pubDate>Sat, 09 Apr 2016 10:38:12 +0800</pubDate><description><![CDATA[环境1个Cenos 7 虚拟机[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core) 安装概述
目前安装都是在同一个测试Centos7中，另外一个暂时不使用（后面测试远程rsyslog的时候再使用）
本文说的安装均不是通过包管理工具安装的（如yum、rpm）,所以下载的时候选择的均是.tar.]]></description><category></category></item><item><title><![CDATA[eventlet引发的学习－python协程：eventlet[待续]]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50935829</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50935829</guid><author>K_Zombie</author><pubDate>Sat, 26 Mar 2016 21:27:02 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/xiangmin2587/article/details/8182775

http://www.cnblogs.com/Security-Darren/p/4170031.html

http://eventlet.net/doc/basic_usage.html]]></description><category></category></item><item><title><![CDATA[Python双下划线（__）引发的学习-Get Started]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50963909</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50963909</guid><author>K_Zombie</author><pubDate>Wed, 23 Mar 2016 15:50:14 +0800</pubDate><description><![CDATA[背景看python源码时，经常会看到一些类方法、变量等以单下划线开头、以双下划线开头、以双下划线开头且以双下划线结尾，看来看去经常晕头转向的，所以专门学习了下。主要内容涉及以下内容。
  说明：下面的内容均会在以单独一篇blog的形式进行介绍：单下划线开头、以双下划线开头、以双下划线开头且以双下划线结尾
类变量、实例变量
类方法、实例方法
实例变量类型（public、proctected、priva]]></description><category></category></item><item><title><![CDATA[eventlet引发的学习：协程]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50839961</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50839961</guid><author>K_Zombie</author><pubDate>Wed, 09 Mar 2016 23:41:29 +0800</pubDate><description><![CDATA[说明本文与编程语言无关，只是介绍协程的一些概念，协程能解决的问题等。只是文章的最后列出了一些协程在python中的实现。概述wikipedia:Coroutines中对Coroutines进行了如下对解释。
  Coroutines are computer program components that generalize subroutines for nonpreemptive multit]]></description><category></category></item><item><title><![CDATA[evenlet引发的学习－python 'yield'以及'generator']]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50815256</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50815256</guid><author>K_Zombie</author><pubDate>Sun, 06 Mar 2016 20:49:00 +0800</pubDate><description><![CDATA[说明本来想要总结下关于yield的一些内容，但是看了一篇译文后就放弃了这个念头，感觉不会写的比那个好，所以索性放弃原创，转向转载。转载：中文译文:提高你的Python: 解释‘yield’和‘Generators（生成器）’ 
英文原文:Improve Your Python: ‘yield’ and Generators Explained下面进入正文在开始课程之前，我要求学生们填写一份调查表，这]]></description><category></category></item><item><title><![CDATA[eventlet引发的学习－python如何利用多核CPU]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50814749</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50814749</guid><author>K_Zombie</author><pubDate>Sun, 06 Mar 2016 19:18:53 +0800</pubDate><description><![CDATA[背景通过前面几篇文章，已经清楚由于Python GIL的存在，python多线程无法达到并行执行的效果，从而也就无法达到充分利用多核CPU的效果。解决方案那有在python中有哪些方式才能充分利用多核CPU达到并行执行的效果呢？
使用[multiprocessing],(http://docs.python.org/library/multiprocessing.html)（多进程）,可以使代码同时]]></description><category></category></item><item><title><![CDATA[eventlet引发的学习－python：单线程、多线程在IO两方面的性能对比]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50813836</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50813836</guid><author>K_Zombie</author><pubDate>Sun, 06 Mar 2016 16:06:55 +0800</pubDate><description><![CDATA[测试测试环境CPU：Intel Core i5， 2核
磁盘：Macintosh HD测试程序说明* 单线程：共写入2个文件，每个文件1G
* 多线程（2个）：每个线程写入1个文件，每个文件1G
* 多进程（2个）：每个进程写入1个文件，每个文件1G
* 写入情况：每次写入文件时，字符串大小为1G，共写1次。
代码from threading import Thread
from timeit im]]></description><category></category></item><item><title><![CDATA[eventlet引发的学习：python：单线程、多线程、多进程在计算方面的性能对比]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50794194</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50794194</guid><author>K_Zombie</author><pubDate>Fri, 04 Mar 2016 01:18:39 +0800</pubDate><description><![CDATA[参考： Python GIL 系列之通过实例认识Python的GIL 
Python GIL 系列之再谈Python的GIL概述本文通过对比测试来证明下单线程、多线程、多进程的‘并发‘计算能力测试测试程序from threading import Thread
from timeit import Timer
from multiprocessing import ProcessG_COUNT =]]></description><category></category></item><item><title><![CDATA[eventlet引发的学习：python GIL]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50776932</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50776932</guid><author>K_Zombie</author><pubDate>Wed, 02 Mar 2016 00:46:41 +0800</pubDate><description><![CDATA[参考python GIL官方wikiPython GIL 系列之通过实例认识Python的GIL概述GIL：GlobalInterpreterLock，是cPython中用来防止多线程同时执行同一个python字节码的互斥锁。由于cPython中的线程是不安全的，所以cPython必须需要使用GIL来保障线程安全。GIL的影响由于GIL的存在，导致多线程无法同时执行python，所以会导致多线程并不]]></description><category></category></item><item><title><![CDATA[eventlet引发的学习-初识多线程]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50769211</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50769211</guid><author>K_Zombie</author><pubDate>Mon, 29 Feb 2016 23:36:51 +0800</pubDate><description><![CDATA[初识多线程在python多线程中有关于python多线程的详细基础知识，此处不在赘述，只是简单总结下：
python中自带了2个模块支持多线程： 
    * thread：提供相对底层的多线程 
    * threading：提供了2种创建多线程的方式： 
            * threading.Thread(target,args)对象,target即为要执行的函数]]></description><category></category></item><item><title><![CDATA[eventlet引发的学习－背景]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50769128</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50769128</guid><author>K_Zombie</author><pubDate>Mon, 29 Feb 2016 23:10:25 +0800</pubDate><description><![CDATA[背景作为一个python的初学者，在了解eventlet的时候将涉及到的知识进行整理。主要涉及以下内容：
初识多线程
python：多线程与单线程的性能对比
python GIL
python如何利用多核CPU
python多线程与多线程的性能对比
python协程－yield
python协程－eventlet
python多线程、协程、多进程性能对比]]></description><category></category></item><item><title><![CDATA[Linux修改网卡名字（CentOS）]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50764581</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50764581</guid><author>K_Zombie</author><pubDate>Mon, 29 Feb 2016 12:20:02 +0800</pubDate><description><![CDATA[背景本人虚拟你测试cenots，虚拟机删除了几次网卡，有重新添加，结果网卡名字中的数字就递增了。但是仍然想使用eth0，通过下面的内容可以解决。环境[root@test ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)步骤备注：网卡的命名规则实际是在/etc/udev/rules.d/目录下对应的文件中配置的步骤1由于不知道是那个文件，所]]></description><category></category></item><item><title><![CDATA[Jenkins修改时区（Docker）]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50754253</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50754253</guid><author>K_Zombie</author><pubDate>Sat, 27 Feb 2016 10:56:42 +0800</pubDate><description><![CDATA[说明：该文章是针对jenkins运行在docker容器中时，jenkins的时间与容器的时间不一致。而非jenkins直接运行在系统各种。不过解决问题的思路都是一致的。
问题通过官方的jenkins容器运行jenkins服务，但是发现jenkins的时间与docker容器内的时间相同，但都与北京时间正好差8个小时。基本确定时区问题查看jenkins的docker容器时间：docker exec 查看]]></description><category></category></item><item><title><![CDATA[NTP（时间）服务器安装&配置&初体验（CentOS）]]></title><link>https://blog.youkuaiyun.com/K_Zombie/article/details/50602517</link><guid>https://blog.youkuaiyun.com/K_Zombie/article/details/50602517</guid><author>K_Zombie</author><pubDate>Thu, 28 Jan 2016 18:19:28 +0800</pubDate><description><![CDATA[介绍参考wikipedia：Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable-latency data networks。 
参考百度百科：NTP是网络时间协议(Network Ti]]></description><category></category></item></channel></rss>