自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

转载 Python程序员最常犯的十个错误

不管是在学习还是工作过程中,人都会犯错。虽然Python的语法简单、灵活,但也一样存在一些不小的坑,一不小心,初学者和资深Python程序员都有可能会栽跟头。本文是Toptal网站的程序员梳理的10大常见错误,非常有参考意义。大家在开发过程中需要格外注意。译文中如有理解错误的地方,可以在网站留言或通过微信公众号编程派回复。常见错误1:错误地将表达式作为函数的默认参数在Python中,我们可以为函数

2016-04-17 16:16:12 3859

转载 python开发的10个技巧

下面是十个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(

2016-04-17 10:44:59 644

原创 ELK实战-Logstash multiline:识别错误堆栈

概述在通过ELK收集日志的时候,通常需要对日志进行分析,例如实时监控错误堆栈,并进行告警。通常错误堆栈都是多行的,但通常ELK默认都是识别单行的,怎么才能多行呢?logstash的codec、filter中均有multiline插件,可以匹配单行内容,并于上下行作为1个输入。本文主要讲述如何使用logstash的multiline插件来识别错误堆栈。测试环境1个CentOS7系统: * ELK

2016-04-15 00:14:50 10027

原创 ELK实战-Logstash:收集rsyslog日志

概述本文主要是展示将logstash作为rsyslog服务器,并收集远程的rsyslog日志。本文阅读的基础建立在: * 了解rsyslog服务器,或者阅读rsyslog日志服务器-日志写入远端rsyslog服务器 * 对ELK有初步的了解,并有体验过ELK进行日志收集,或者阅读ELK:环境搭建&初体验测试环境2个CentOS7系统:ELK服务器rsyslog客户端实战logstash配置

2016-04-15 00:12:22 14782 3

原创 ELK实战-Logstash:监控日志文件

概述ELK可以用来实时监控日志文件,并记录。测试环境1个CentOS7系统:ELK服务器测试思路ELK监控/var/log/messages日志文件,并记录实战logstash配置文件logstash的配置文件(logstash.conf.file)如下input { file { path => "/var/log/messages" start_position =>

2016-04-15 00:08:28 6789 3

原创 Python双下划线引发的学习-类变量、实例变量

概述本文主要介绍一些关于类变量、实例变量的一些基本内容类、实例类:class,与面向对象中的类的概念相同实例:类的一个对象,与面相对象中的对象/实例的概念相同类变量、实例变量类变量:类本身所拥有的变量。该类的所有实例可以共享的变量。实例变量:实例所拥有的变量定义类变量通过在类中但是__init__函数外定义。例如:class A(object): class_var = 0 d

2016-04-12 00:12:44 863

原创 ELK:环境搭建&初体验

环境1个Cenos 7 虚拟机[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) 安装概述目前安装都是在同一个测试Centos7中,另外一个暂时不使用(后面测试远程rsyslog的时候再使用)本文说的安装均不是通过包管理工具安装的(如yum、rpm),所以下载的时候选择的均是.tar.

2016-04-09 10:38:12 9381 1

原创 eventlet引发的学习-python协程:eventlet[待续]

http://blog.csdn.net/xiangmin2587/article/details/8182775http://www.cnblogs.com/Security-Darren/p/4170031.htmlhttp://eventlet.net/doc/basic_usage.html

2016-03-26 21:27:02 712

原创 Python双下划线(__)引发的学习-Get Started

背景看python源码时,经常会看到一些类方法、变量等以单下划线开头、以双下划线开头、以双下划线开头且以双下划线结尾,看来看去经常晕头转向的,所以专门学习了下。主要内容涉及以下内容。 说明:下面的内容均会在以单独一篇blog的形式进行介绍:单下划线开头、以双下划线开头、以双下划线开头且以双下划线结尾类变量、实例变量类方法、实例方法实例变量类型(public、proctected、priva

2016-03-23 15:50:14 472

原创 eventlet引发的学习:协程

说明本文与编程语言无关,只是介绍协程的一些概念,协程能解决的问题等。只是文章的最后列出了一些协程在python中的实现。概述wikipedia:Coroutines中对Coroutines进行了如下对解释。 Coroutines are computer program components that generalize subroutines for nonpreemptive multit

2016-03-09 23:41:29 1651

转载 evenlet引发的学习-python 'yield'以及'generator'

说明本来想要总结下关于yield的一些内容,但是看了一篇译文后就放弃了这个念头,感觉不会写的比那个好,所以索性放弃原创,转向转载。转载:中文译文:提高你的Python: 解释‘yield’和‘Generators(生成器)’ 英文原文:Improve Your Python: ‘yield’ and Generators Explained下面进入正文在开始课程之前,我要求学生们填写一份调查表,这

2016-03-06 20:49:00 943

原创 eventlet引发的学习-python如何利用多核CPU

背景通过前面几篇文章,已经清楚由于Python GIL的存在,python多线程无法达到并行执行的效果,从而也就无法达到充分利用多核CPU的效果。解决方案那有在python中有哪些方式才能充分利用多核CPU达到并行执行的效果呢?使用[multiprocessing],(http://docs.python.org/library/multiprocessing.html)(多进程),可以使代码同时

2016-03-06 19:18:53 2104

原创 eventlet引发的学习-python:单线程、多线程在IO两方面的性能对比

测试测试环境CPU:Intel Core i5, 2核磁盘:Macintosh HD测试程序说明* 单线程:共写入2个文件,每个文件1G* 多线程(2个):每个线程写入1个文件,每个文件1G* 多进程(2个):每个进程写入1个文件,每个文件1G* 写入情况:每次写入文件时,字符串大小为1G,共写1次。代码from threading import Threadfrom timeit im

2016-03-06 16:06:55 1256

原创 eventlet引发的学习:python:单线程、多线程、多进程在计算方面的性能对比

参考: Python GIL 系列之通过实例认识Python的GIL Python GIL 系列之再谈Python的GIL概述本文通过对比测试来证明下单线程、多线程、多进程的‘并发‘计算能力测试测试程序from threading import Threadfrom timeit import Timerfrom multiprocessing import ProcessG_COUNT =

2016-03-04 01:18:39 2032

原创 eventlet引发的学习:python GIL

参考python GIL官方wikiPython GIL 系列之通过实例认识Python的GIL概述GIL:GlobalInterpreterLock,是cPython中用来防止多线程同时执行同一个python字节码的互斥锁。由于cPython中的线程是不安全的,所以cPython必须需要使用GIL来保障线程安全。GIL的影响由于GIL的存在,导致多线程无法同时执行python,所以会导致多线程并不

2016-03-02 00:46:41 883

原创 eventlet引发的学习-初识多线程

初识多线程在python多线程中有关于python多线程的详细基础知识,此处不在赘述,只是简单总结下:python中自带了2个模块支持多线程: * thread:提供相对底层的多线程 * threading:提供了2种创建多线程的方式: * threading.Thread(target,args)对象,target即为要执行的函数

2016-02-29 23:36:51 901

原创 eventlet引发的学习-背景

背景作为一个python的初学者,在了解eventlet的时候将涉及到的知识进行整理。主要涉及以下内容:初识多线程python:多线程与单线程的性能对比python GILpython如何利用多核CPUpython多线程与多线程的性能对比python协程-yieldpython协程-eventletpython多线程、协程、多进程性能对比

2016-02-29 23:10:25 737

原创 Linux修改网卡名字(CentOS)

背景本人虚拟你测试cenots,虚拟机删除了几次网卡,有重新添加,结果网卡名字中的数字就递增了。但是仍然想使用eth0,通过下面的内容可以解决。环境[root@test ~]# cat /etc/redhat-release CentOS release 6.5 (Final)步骤备注:网卡的命名规则实际是在/etc/udev/rules.d/目录下对应的文件中配置的步骤1由于不知道是那个文件,所

2016-02-29 12:20:02 5160

原创 Jenkins修改时区(Docker)

说明:该文章是针对jenkins运行在docker容器中时,jenkins的时间与容器的时间不一致。而非jenkins直接运行在系统各种。不过解决问题的思路都是一致的。问题通过官方的jenkins容器运行jenkins服务,但是发现jenkins的时间与docker容器内的时间相同,但都与北京时间正好差8个小时。基本确定时区问题查看jenkins的docker容器时间:docker exec 查看

2016-02-27 10:56:42 13457 2

原创 NTP(时间)服务器安装&配置&初体验(CentOS)

介绍参考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

2016-01-28 18:19:28 1593

原创 Linux设置/修改时区(CentOS)

查看时区查看时间&时区:[root@localhost ~]# date -RWed, 27 Jan 2016 21:25:01 -0500只查看时区[root@localhost ~]# date +%z-0500可以看到我们当前处于-0500时区(西五区)修改时区系统当前设置的时区保存在/etc/localtime文件中每个时区对应的文件在/usr/share/zoneinfo/下,目录

2016-01-28 10:39:08 1121

原创 DNS服务器(Centos 7):bind安装&配置

介绍Linux系统中的DNS服务器的名字叫bind,本文通过介绍bind的安装以及环境[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.1.1503 (Core)DNS服务器地址:192.168.1.100安装安装bind: yum install bind启动服务: service named start设置

2016-01-27 14:00:20 17385

原创 (CentOS 7)Docker:安装&配置

安装docker 说明:此次安装没有根据官网安装教程的步骤进行,而是直接yum install安装。安装docker yum install docker关闭防火墙 service firewalld stop启动服务 service docker start设置开机启动 systemctl enable docker配置docker 说明:swarm是通过docker api而进行

2016-01-19 13:16:26 6101 1

原创 Swarm创建docker集群:服务发现-etcd

不详细介绍swarm、docker的原理、架构 通过Docker + Etcd 术语本文中用到的术语书名 docker节点(docker node):docker的运行环境,通常为物理机或者虚拟机测试环境测试2个docker主机的配置如下所示[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.1.1

2016-01-19 13:12:05 4402

原创 Docker的Web UI管理:shipyard+swarm-(手动)安装&试用

shipyard是对Docker进行管理的Web UI版。主要有以下特性: 1. 镜像管理 - 镜像的下载 2. 容器管理 - 容器的run、start、stop、rm 3. registry管理 - 增加、删除 其中比较好玩的是:可以通过web ui在容器中执行命令,且类似attach之后的效果。安装启动rethinkdb:docker run -ti

2016-01-15 19:38:48 7515 1

原创 Docker应用编排:Compose入门(待续)

介绍 待补充安装有3种方法可以安装compose,详细参考官方安装教程由于网络问题,本文使用pip进行安装pip install docker-compose应用示例参考:Docker Compose—简化复杂应用的利器compose命令索引参考:https://docs.docker.com/compose/reference/overview/compose file 索引参考:https

2016-01-15 13:32:05 1225

原创 Nginx:域名转发(CentOS7)

背景需求使用docker构建应用系统,当应用系统增多的情况下,需要记住很多的IP/域名以及端口,尤其是端口号难记。需要通过不带端口号的域名来访问不同地址的不同端口所提供的服务。 例如:a.zombie.com => 192.168.1.2:81b.zombie.com => 192.168.1.2:82c.zombie.com => 192.168.1.3:81参考 搭建nginx

2016-01-15 11:15:58 3931

原创 Swarm创建docker集群:服务发现-配置文件法

本文不详细介绍swarm、docker的原理、架构,主要记录Centos7上安装docker、swarm构建docker集群的步骤。 安装swarm有两种方式:(1)通过docker官方获取token-id(2)配置文件中配置节点。由于方法1需要访问外网,所以对内网环境有局限性。 环境[root@localhost ~]# cat /etc/redhat-releaseCentOS Li

2016-01-13 13:47:50 3446 2

原创 pip:指定多个源/内部源

看本文之前需要先了解如何配置1个pypi源需求有是需要从不同的pypi源上搜索不同的python package,那么pip install时需要指定多个源。场景:有些包不能提供到公网上,则只能放在内部源a.pypi.org上(内部源搭建方法)a.pypi.org想保持干净,不想镜像其他源,从而导致内部还有另外一个源镜像mirrors.pypi.python.org,很多依赖都写在requir

2016-01-07 20:02:50 14203 1

原创 pip: 修改源地址

问题由于国内pypi.python.org的网络原因,可能会导致pip install时失败,通过修改pypi的源来解决这个问题。修改pypi的源可以通过两种办法:pip install 时指定源配置文件中设置源pip install命令指定源pip install -i [源地址] package_name可以指定安装时从哪里下载。例如:pip install -i http://pypi.

2016-01-07 19:17:16 8786

原创 rabbitmq(待续)

http://www.rabbitmq.com/access-control.html http://www.rabbitmq.com/authentication.html openstack中提及:http://docs.openstack.org/security-guide/messaging/security.html rabbitmq历史漏洞列表:https

2016-01-06 19:28:29 685

原创 rsyslog:本地日志&日志服务器

rsyslog:本地日志&日志服务器环境:CentOS Linux release 7.1.1503 (Core)安装步骤检查是否已安装rpm -qa | grep rsyslog,如果已安装则可跳过后面的步骤.[root@localhost ~]# rpm -qa | grep rsyslogrsyslog-7.4.7-7.el7_0.x86_64 #说明已安装搜索合适的版本:yum se

2016-01-05 11:20:11 7792 3

原创 Linux-查看系统版本信息

Centos查看操作系统信息:uname -aLinux localhost.localdomain 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux查看操作系统的版本: cat /etc/redhat-releaseCentOS Linux release 7.1

2016-01-05 10:21:35 543

原创 Hello, Blog

Hello, Blog2016年决定还是写博客,让自己有所沉淀,有所提高,也希望交到一些朋友。

2016-01-03 23:19:44 364

空空如也

空空如也

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

TA关注的人

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