自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pycharm代码注释支持google风格

在设置中找到 Tools > Python Integrated Tools 选择Docstring format为Google

2018-05-08 12:56:22 9725

原创 MacOS下pycharm设置Terminal为zsh

在pycharm中进行如下配置 pycharm工程中打开终端,发现部分命令无法识别,在zsh配置中进行如下修改,问题解决vim ~/.zshrcexport PATH=$PATH:/usr/local/bin

2018-04-15 19:38:56 4976

原创 vim配色主题在tmux中显示异常解决方案(macOS+iterm2+zsh)

环境分析解决环境macOS + iterm2 + zsh + tmux vim的solarized和molokai主题在tmux中打开时,颜色异常分析iterm2中[~] echo $TERM 14:08:27xterm-25...

2018-04-14 14:34:31 4954 1

原创 python __new__ __init__ __call__详解

new__new__(cls, *args, **kwargs)创建一个实例(通常是cls的,也可以是其他类型的实例)init__init__(self, *args, **Kwargs)在实例被new创建后,返回给调用者前被执行如果new返回的是cls的实例,那么init方法会被自动执行,self是创建的实例,init的入参和new的入参是一样的 If new() returns

2017-12-08 08:11:13 608

原创 python各种进制求值

def checkio(str_number, radix): str_int = dict(map(lambda x,y:(y, x), [ i for i in range(10, 36) ], [ chr(i) for i in range(97, 123) ])) int_int = dict(map(lambda x,y:(str(x),y), [ i for i in

2017-12-03 23:37:56 362

原创 Celery 队列路由介绍

不使用配置文件celery.pyfrom __future__ import absolute_importfrom celery import Celeryfrom datetime import timedeltafrom celery.schedules import crontabfrom kombu import Queueapp = Celery('test_app', i

2017-12-03 19:46:41 623

原创 终端显示随机彩色字母

from random import randintfrom random import choicefrom asciimatics.screen import Screenimport stringdef circle(centre, radius): passdef demo(screen): while True: screen.print_at(ch

2017-12-02 15:09:38 424

原创 python 代码提示 ValueError: unknown locale: UTF-8

File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py”, line 475, in _parse_localename raise ValueError, ‘unknown locale: %s’ % localename ValueError: unknown loc

2017-12-02 14:37:17 5219 3

原创 MAC pip install 权限错误解决办法.md

pip install --user jupyteruninstalling six 1.4.1时报错 由于mac禁止对six模块修改,所以尝试sudo pip install jupyter --ignore-installed six还是报错 File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2

2017-11-25 14:38:23 2424

原创 ELF存储空间到内存的映射关系

映射关系bss段:未初始化的全局变量和未初始化的局部静态变量,不占用程序文件的存储空间,程序启动后分配#include <stdio.h>int bss_data[1024 * 1024];int main(){ return 0;} gcc test.c -o bss du -sh bss 12K bssdata段:初始化的全局变量和初始化的局部静态变量,占用程序

2017-11-18 21:57:22 1529

原创 编译器自举笔记

自举相关bootstrappingIn computer science, bootstrapping is the process of writing a compiler (or assembler) in the source programming language that it intends to compile. Applying this technique leads to a

2017-11-18 16:36:09 810

原创 Python垃圾回收之循环引用

什么情况存在内存泄露python引用计数 + 分代收集和标记清除(处理循环引用),进行垃圾回收,但如下两种情况依旧存在内存泄露:第一是对象被另一个生命周期特别长(如全局变量)的对象所引用第二是循环引用中的对象定义了__del__函数,简而言之,循环引用中Python无法判断析构对象的顺序,无法释放相关术语reachable/collectable(unreachable/uncollect

2017-11-16 00:31:38 5535

原创 Python操作RabbitMQ之Pika

安装RabbitMQ(MAC平台)安装 brew install rabbitmq 启动 /usr/local/sbin rabbitmq-server访问: http://localhost:15672 使用guest/guest 登陆基本概念RabbitMQ发送消息时,都是先把消息发送给ExChange(交换机),然后再分发给有相应RoutingKey关系的Queue。ExCha

2017-11-12 23:16:38 1139

原创 Celery分布式异步框架介绍

Celery基本使用介绍简介Celery是Python开发的分布式异步任务调度模块。Celery 需要一个发送和接受消息的传输者。RabbitMQ 和 Redis 中间人的消息传输支持所有特性,但也提供大量其他实验性方案的支持,包括用 SQLite 进行本地开发。Celery 可以单机运行,也可以在多台机器上运行,甚至可以跨越数据中心运行。 任务模块 包含异步任务和定时任务。其中,异步任务通常在业

2017-11-12 12:53:43 816

原创 python2 For-loop循环控制变量命名泄露

python2中循环控制变量会泄露到周围作用域中,python3中则不会被泄露场景一:循环变量名已被定义from platform import python_versionprint (python_version())i = 1print ('before: i =', i)print ('comprehension: ', [i for i in range(5)])print ('af

2017-10-28 23:28:58 865

原创 zabbix-sender主动发送数据给zabbix-server

下载zabbix sender http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-sender-3.4.3-1.el7.x86_64.rpm安装 yum install zabbix-sender-3.4.3-1.el7.x86_64.rpm测试环境 zabbix server: 10.130 zabbix agent:10.1

2017-10-28 17:18:03 3118

原创 Zabbix Server安装(Ubuntu16.04)

官网下载对应版本的包:zabbix serverweb端监控页面安装serverdpkg -i zabbix-server-mysql_3.4.3-2+xenial_amd64.deb若提示依赖问题: apt-get -f install修改配置: sudo vi /etc/zabbix/zabbix_server.conf DBHost=localhost

2017-10-27 13:46:15 630

原创 存储接口及DAS,NAS,SAN等概念

接口IDE:并行接口SATA:串行接口SCSI:原来的IDE接口的硬盘转速太慢,传输速率太低,因此高速的SCSI硬盘出现。其实SCSI并不是专为硬盘设计的,实际上它是一种总线型接口,独立于系统总线工作SAS:串行连接SCSI,是新一代的SCSI技术,兼容SATAFC:光纤通道l,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求

2017-10-22 13:54:23 2053

原创 python hash算法实现

#!/usr/bin/env python# -*- coding:utf-8 -*-class HashTable: def __init__(self, size): self.elem = [None for i in range(size)] # 使用list数据结构作为哈希表元素保存方法 self.count = size # 最大表长

2017-10-17 21:31:56 3867

原创 ceph & openstack cinder集成方案验证

一、ceph & openstack可集成部分cinderglancenova二、ceph&openstack cinder集成功能支持:ceph rbd作为cinder存储后端,完整的实现了cinder的接口集成步骤:在ceph中创建池供openstack使用ceph osd pool create dk-pool 2048 2048ceph中创建相关的账号,并设置权限,dk-c

2017-10-17 17:56:07 1032

原创 ssh内网穿透(家庭网络ssh访问公司内网机器)

环境一台内网机器 一台公网机器(阿里云的) 一台个人电脑目的个人电脑通过ssh访问内网机器 个人电脑—》 公网机器—-》 内网机器步骤 开启公网机器的8086端口(ECS服务器在安全组中设置打开8086端口)在公网机器上加入 vi /etc/ssh/sshd_config GatewayPorts yes 然后:systemctl restart ssh.service 注意

2017-10-15 20:58:04 5583

原创 openstack 平台环境部署(devstack)

openstack 平台环境部署步骤Add Stack User$ sudo useradd -s /bin/bash -d /opt/stack -m stack$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack$ sudo su - stackDownload DevStack$ git clo

2017-10-14 20:44:08 565

原创 zookeeper 概念及环境部署.md

部署apt-get install openjdk-8-jrecd /optwget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gztar -zxvf zookeeper-3.4.10.tar.gzmv zookeeper-3.4.10 zookeepercd zookeeper/con

2017-10-14 20:41:24 329

原创 virsh安装虚拟机(centos)

安装vnc-serveryum -y install vnc *vnc-server*vncserver #设置密码vncserver :1 # 5901访问安装虚拟机准备模板文件xx.xmlvirsh define xx.xml virsh start xx virsh domdisplay xx #查看vnc端口,用vnc连接 删除virsh destroy xx

2017-09-26 22:16:58 693

原创 HDFS安装及MapReduce(Python)

hdfs安装 安装虚拟机 http://www.powerxing.com/install-hadoop/ 创建hadoop用户组和hadoop用户,并给予root权限(此处我没创建,直接用root) sudo apt-get update sudo apt-get install openssh-server openssh-client 建立互信(你使用的用户) 安

2017-09-26 22:04:59 392

原创 apktool 反编译注意事项

apktool.yml 中保存的是反编译时自己生成的一些信息,用于build时后使用build会把新增的资源全部加载unknown\META-INF\MANIFEST.MF 中是签名文件的信息, 如果该文件不删除,那么build的时候也会把该目录的文件全部拷贝过来只有那些固定目录和unknown中的文件才会在build的时候被拷贝过来,外面其他地方新增的文件不会拷贝比较特殊的是unknown

2017-09-26 21:53:54 1595

原创 Docker部署Sentry+Django(无法收到告警邮件解决)

docker部署启动redis容器docker run -d --name sentry-redis redis启动postgres容器docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres生成secret_keydocker run --rm se

2017-09-26 21:44:29 3161

原创 Windows AD域用户访问Linux samba服务

说明test.com替换成你的AD服务器域名,注意有的配置中是大写,有些配置是小写/etc/samba/smb.confworkgroup = TESTrealm = TEST.COMsecurity = ADSpassword server = 192.168.10.254# password server是AD域控服务器IPidmap uid = 10000 - 20000idmap

2017-09-25 22:28:52 7078

原创 Python计算上个月最后一天和第一天

import timefrom datetime import datetimeimport calendardef getLastDayOfLastMonth(): d = datetime.now() c = calendar.Calendar() year = d.year month = d.month if month == 1:

2017-09-25 22:14:16 2189

原创 Python 彩色终端输出

from colorama import init, Fore, Back, Styleif __name__ == "__main__": init(autoreset=True) # 初始化,并且设置颜色设置自动恢复 print(Fore.RED + 'some red text') print(Back.GREEN + 'and with a green ba

2017-09-25 22:05:41 662

原创 Python 修改目录下所有文件名为MD5

import osimport hashlibdef file_md5(file_name, block_size=2**20): if not os.path.isfile(file_name): return hash = hashlib.md5() with open(file_name, 'rb') as f: while True

2017-09-25 21:55:47 1412

原创 Python中的*args与**kwargs

在再谈二者区别前,先要说明的是,语法的区别是* 和** 这两个符号影响,而*args和**kwargs只是约定的非强制性的。就使用场景而言,可以分为在function definition和function call来讨论function definition出现在函数定义时,当我们不确定函数的参数个数时,*args允许你传入任意数量的参数,**kwargs可以传入任意数量的关键字参数

2017-09-24 15:45:00 461

原创 Python函数式编程之map/reduce/filter进阶

python函数式编程之map/reduce/filter进阶

2017-09-24 15:21:28 736

原创 C&C++编译过程

C++编译过程C++编译预编译: 预编译器cpp -> .i文件编译:编译程序ccl -> .s(汇编文件)汇编:汇编器as -> .o(机器码)链接:链接器ld -> .exe 实际上gcc这个命令只是这些后台程序的包装,它会根据不同的参数要求取调用预处理器cpp、编译程序ccl、汇编器as、链接器ld>g++ -E main.cpp -o main.i >g++ -S main.i

2016-05-17 14:38:48 519

原创 c++ 内存分配过程(通过汇编,寄存器和Memory分析)

内存分配示例1示例2示例3示例4内存分配示例1int a[5]; 汇编结果:没有分配内存示例2int a[5] = {1,2,3,4,5}汇编结果:movl $0x1c,0x1f(%esp) : 把立即数1存放在esp寄存器中指向地址+0x1c的地址( 0x6afefc)中后面的代码分别存储2,3,4, 5 到依次偏移4个字节的地址中(int 占 4个字节)在memory中查看6

2016-05-10 18:22:27 3000

原创 markdown 的语法介绍

markdown示例这是一个markdown规则的示例markdown有序列表123无序列表123引用(注释) this is a quote, this ia a quotethis is a quote粗体与斜体粗体 斜体 粗体和斜体*后不加空格 直接输入星号可以用*分割线链接this is a link图片this is a 表格 :用来确定表

2016-05-09 10:23:14 731

空空如也

空空如也

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

TA关注的人

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