Vim与Python真乃天作之合

Vim与Python真乃天作之合 我注意到,有人在realpython.com宣扬Sublime Text 3。作为公司的资深开发人员(呃,也就是老古董),我觉得有义务介绍一个真正的Python开发环境给大家——我要推荐的当然就是Vim了。不错,Vim编辑器无处不在,速度快,从来不会崩溃。并且,它能做任何事情! 不过,不利之处也有,就是Vim配置起来很让人头疼。但是,别担心,本文将告诉你如何配置一个强大的Vim环境,专门用于天天捣鼓Python开发。 下面是最终效果预览。 如果想充分地利用好本文,你应该对如何使用Vim和它的命令模式至少有一个基本的了解。如果你是初学者,你可以通过vim-adventure或者openvim网站学习。在继续阅读本文之前,请花点时间浏览那两个网站的内容。 安装 因为许多Unix衍生系统已经预装了Vim,我们首先要确认编辑器是否成功安装:

如果已经安装了,你应该看到类似下面的文字:

在这一步,你要确保已经满足以下两点要求: Vim编辑版本应该大于7.3。 支持Python语言。在所选编辑器的功能中,确保你看到了+python。 如果满足上述要求,接下来可以安装Vim扩展了。如果不满足,则需要安装/升级。 OS X 如果没有Homebrew,建议马上安装,并运行:

Unix衍生系统 Debian或Ubuntu系统,可以使用下面的代码:

如果是其他版本的Linux系统,请查阅相应版本包管理器的文档。不清楚的话,可以先阅读这篇文章:安装Vim Windows Windows系统下安装Vim有很多种方法。请查阅官方文档。 验证安装 确保你已经安装了7.3版本以上、支持Python的Vim编辑器。你可以再次运行vim –version进行确认。如果你想知道Vim中使用的Python版本,你可以在编辑器中运行:python import sys; print(sys.version)。

这行命令会输出你的编辑器当前的Python版本。如果报错,那么你的编辑器就不支持Python语言,需要重装或重新编译。 Vim编辑器安装完成后,我们来看看如何将其设置为Python开发的强大环境。 Vim扩展 Vim本身能够满足开发人员的很多需求,但是它的可扩展性也极强,并且已经有一些杀手级的扩展,可以让Vim拥有“现代”集成开发环境的特性。所以,你所需要的第一件东西就是一个好用的扩展管理器。 Vim的扩展通常也被成为bundle或插件。 Vundle Vim有多个扩展管理器,但是我们强烈推荐Vundle。你可以把它想象成Vim的pip。有了Vundle,安装和更新包这种事情不费吹灰之力。 我们现在来安装Vundle:

该命令将下载Vundle插件管理器,并将它放置在你的Vim编辑器bundles文件夹中。现在,你可以通过.vimrc配置文件来管理所有扩展了。 将配置文件添加到你的用户的home文件夹中:

接下来,把下来的Vundle配置添加到配置文件的顶部:

这样,你就完成了使用Vundle前的设置。之后,你就可以在配置文件中添加希望安装的插件,然后打开Vim编辑器,运行下面的命令:

这个命令告诉Vundle施展它的魔法——自动下载所有的插件,并为你进行安装和更新。 Read more…

mac安装软件详情

Parallels Desktop 版本:10.1.1(28614) Iterm2 Shadow socks Chrome Office Page.. Sequel pro Appcleaner Pycharm Tunnelblick Sublime WeChat Lastpass Omnigraffle Evernote Qq Thunder Kindle The unarchiver Movist VLC 词典 Teamviewer Macvim Lantern Ldoce5 Postman Readium Wd my cloud FileZilla Gliffy diagrams

谁才真正焦虑的“低端人口”

谁才真正焦虑的“低端人口”? 话说太平年间,忽赶一载盛夏暴热,却又适逢媒体无良,一手乾坤大挪移让“低端人口”的洪流掀起滔滔巨浪,笑人间皆是零零丁丁。 “低端人口”这个事,我还是真问了不少服务零售批发行业的群众们,因为我经常出没此间,大部分群众们听到这个话题就是气愤:“我只不过是干了一些脏活儿和累活儿,怎么连带着人格也降低了?我只不过就是比你赚的少点,怎么就成了你口中的“低端人口”了呢?是要像扫垃圾一样清理我们吗?” 我清清喉咙,点上根烟跟他们说:您老放心吧,其实您还真不是深受其害而高喊“低端人口”的焦虑者,这个城市其实需要你们去清理的。其实您老就不是清理对象! 于是很多人追问:那是要清理哪些“低端人口”啊? 我回答:其实要清理的是那些夹缝中的理想和良知。 “逃离北上广”从来都是一句艰难步履在中产边缘者的无奈呐喊或单调呻吟,因为几乎不可能指望制度公平来解决他们的问题。 其实,我们可以清楚看到,农民工和大量的城市底层劳动者根本不会对“逃离北上广”这一话题产生兴趣,他们的心本来就不在这里,他们抛家弃子来到大城市的目的单纯而直接——赚钱。这个城市怎么可能留下,他们又不傻。清理得走我们?拆了四环外的村子,我就去五环外,拆了五环外的,我就去六环,北京这么大,都盖成楼房时候,我也租得起了! 农民工朋友经常互相问新来的老乡:你知道这个城市有什么?你去过这个城市哪个消费场所成为习惯?你除了第一年去过一些景点门外看了看,你会觉得这个城市魅力在哪里?他们不会对北上广拥挤淤塞的交通状况产生抱怨——因为他们根本买不起车;他们也不会埋怨高房价,因为他们也不可能买得起房子;就像装修工根本不会对北上广浓郁致命的雾霾产生抱怨——因为他们每天都工作在更严重更致命的环境污染之中;就像农村留守儿童的父母根本不会对北上广日渐严苛的教育门槛产生抱怨——因为他们从来就不奢望自己的孩子能够在北京上小学…… 所以,这些除了拆改之外能逼迫的人才是政策挤压公民权利意义上的“低端人口”,也就是周围的绝大多数没有当地户口的白领和自由职业者、小商户阶层才是这个城市被排挤和清理的“低端人口”! 我们冷静下来看看,谁会在乎房价真的涨价太猛烈?谁会在乎买房社保标准是几年?谁会在乎买房后孩子可以上学?谁会在乎买房后孩子上学划片在哪里? 谁又在乎摇号买车?谁又在开着外地车牌躲避摄像头和交警? 谁又在找对象时候追问对方的户口?谁又在计划着孩子10年后只能离开的资金? 这些人口有一定能力,或者学历,或者资源,在这个城市消费上能够站稳。于是他们就有在这个城市安心生活的欲望。这其中不乏一些实体企业的中层高管,因为那些挖大坑来坑实业的高科技企业(其实最大一派是互联网企业)可以比较轻松的搞到户口。为什么这样评价高科技企业,因为我在理工大学见识过大部分科技的水分有多大,很多公司做科研是为了项目资金,不是项目。而互联网+的本末倒置,让实业的资金全变成了研发开发的高薪和年终奖。他们又把那些资金变成了房子和子女海外读书的学费,不会再回馈给自己所处的这个社会。 这其中有些人因为奋斗的动力强劲,很多都是晚婚晚育,三十多岁结婚,孩子到学龄时候已经超过40或将近40岁了,我经常在公园看到一些白头发的男子抱着还不会跑的孩子。我都不用猜,高科技公司开发研发的!这些消耗了所有青春和体质的中产阶层在年岁渐长后逐渐认清顶层阶级固化的森严现实,认清自己终其一生可能也难以获得权贵阶层在“拥挤”的一线城市中拥有的自由清净和生活品质后,转身回视自己寄身的繁华都市,放眼望去都是令人叹为观止的房价,畸形的教育和医疗资源扭曲,高强度的生活压力和生存成本,不堪忍受的雾霾、排队和拥堵……他们怂了,他们只能继续用白银头发换白银,埋头赚钱向外跑!因为他们从来没有想过除了赚钱和争取服从权贵规则之外的努力,他们不知道自己原来从么有什么平等的公民权利,他们也没有觉得这个问题会变成他们的人生最难堪的梗! 这些人口中还有一些是传统的生产销售运营设计行业和自由职业者,他们不会把自己变成处理器,他们都有思维问题的能力,他们也会对不公呐喊,哪怕是用一些不公开的方式。因为底层除非逼到绝路不会发声,也没有能力发声;上层就是不公的制造者,倾轧他们血汗的既得利益者,哪有恻隐之心。所以这个社会中对不公发声的最大人群就是他们,具有良知和独立思维的中产低端人士,他们不能像那些白头发们有足够资金让自己躲避政策的等级排挤,也不能像底层劳动力群众一样,大不了拍拍屁股就走。他们的职业空间在这里,他们的客户群体在这里,他们的进步之路也在这里。他们就是要清理的是那些夹缝中的良知。 他们的无力也是在于他们的力量因为整个社会价值观的功利主义和人为分化造成了分裂。因为以“治理大城市病”的名义堂而皇之地驱逐外来人口,乃至动用户籍这样明显违和于太阳系的手段抗拒外来争取改变生活的人口,早已经成为北上广深城市混合居民的一种“有意识的共谋”,即便他很可能是刚刚获得北京户口,甚至刚刚在北京买了房子的“外来户”,很多人会立刻将自己此前的身份抛却,主动拥抱一线城市现行的挤压政策,立刻背过身去,站在支持驱逐的阵营中。这是最可悲的一种局面。 其实我们再清晰长远一点看,这种政策清理的,不是有色眼镜下的“低端人口”,而是更多怀着梦想的优秀年轻人。 而从现在的主流意识上出现了更让人沮丧的局面:“逃离北上广”不仅没有触发主政者对这种以与核心权力距离为标准的公共资源配置方式的检讨和反思,反而是不断在强化这种局面,事情正在往越来越糟的方向发展。 我想问一下各位焦虑者,你们又有什么办法? 转自:http://www.jianshu.com/p/992b63338105

使用 net-speeder 为 ShadowSocks 加速

一直使用 FinalSpeed (换 Kcptun 了)加速 ShadowSocks,然而 FS 需要运行本地客户端的限制让它在手机上没有了用武之地。 达成这一需求的常见方案,比如 锐速,net-speeder 这种多倍发包用流量换速度的方案还是值得一试的。 然而 OpenVZ 架构的 VPS 只能使用 net-speeder ,这次就拿上次推荐的 Sentris 白菜价 VPS 来达成加速。 购买链接:http://www.sentris.net/billing/aff.php?aff=217&pid=794 下面的教程建立在已安装 ShadowSocks 并能正常使用的前提下,使用 Putty 登录控制台。 1. 下载 net-speeder 源码并解压: 1 2 wget https://github.com/snooda/net-speeder/archive/master.zip unzip master.zip 2. 准备安装: CentOS 系统 64 位 1 2 3 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm yum install libnet libpcap libnet-devel libpcap-devel CentOS 系统 32 Read more…

CentOS 7 安装 shadowsocks 客户端

CentOS 7 安装 shadowsocks 客户端 前言 最近由于在阿里云从 GitHub 拖代码非常困难,因此萌生了在服务器上使用 shadowsocks 的念头。 本文记录了我在 CentOS 7 上成功安装运行 shadowsocks 客户端的过程。 本文的过程我已在本地 CentOS 上成功运行,尚未在阿里云实测。 给新手:这里介绍的是安装 shadowsocks 客户端的过程,也就是让服务器能正常访问 GitHub 的方法。你需要已经有一个 shadowsocks 服务端。 一般网上找到的「CentOS 安装 shadowsocks」文章多数都是讲安装服务端的。 安装 pip Pip 是 Python 的包管理工具,这里我们用 pip 安装 shadowsocks。 有些文章会介绍用 yum install -y pip 安装,我用的是官方一个最小化的 CentOS,没有这个包,所以手动安装。 1 2 curl “https://bootstrap.pypa.io/get-pip.py” –o “get-pip.py” python Read more…

freeipa优化

查询nsslapd-cachememsize:

查询nsslapd-cache-autosize:

  修改nsslapd-cache-autosize:

如需修改nsslapd-cachememsize的话, 方法

参考: https://access.redhat.com/documentation/en-us/red_hat_directory_server/10/html/performance_tuning_guide/memoryusage http://directory.fedoraproject.org/docs/389ds/design/autotuning.html https://www.centos.org/docs/5/html/CDS/cli/8.0/Configuration_Command_File_Reference-Plug_in_Implemented_Server_Functionality_Reference-Database_Plug_in_Attributes.html

etcd 3.1 高可用集群搭建

CentOS 7.4

TLS密钥和证书 这里部署的etcd集群使用TLS证书对证书通信进行加密,并开启基于CA根证书签名的双向数字证书认证。 下面介绍使用cfssl生成所需要的私钥和证书. centos-mini版本的linux需要安装开发包: yum groupinstall “Development Tools” 安装cfssl cfssl是使用Go语言开发的工具,如果系统中安装了Go,可以使用直接go get安装cfssl: 项目地址:https://github.com/cloudflare/cfssl

会在$GOPATH/bin下安装cfssl, cfssjosn, mkbundle等工具。 CA证书和私钥 创建ca-config.json:

ca-config.json中可以定义多个profile,分别设置不同的expiry和usages等参数。如上面的ca-config.json中定义了名称为frognew的profile,这个profile的expiry 87600h为10年,useages中: signing表示此CA证书可以用于签名其他证书,ca.pem中的CA=TRUE server auth表示TLS Server Authentication client auth表示TLS Client Authentication 创建CA证书签名请求配置ca-csr.json:

下面使用cfss生成CA证书和私钥:

ca-key.pem和ca.pem需要保存在一个安全的地方,后边会用到。 etcd证书和私钥 创建etcd证书签名请求配置etcd-csr.json:

注意上面配置hosts字段中制定授权使用该证书的IP和域名列表,因为现在要生成的证书需要被etcd集群各个节点使用,所以这里指定了各个节点的IP和hostname。 下面生成etcd的证书和私钥:

对生成的证书可以使用cfssl或openssl查看:

安装etcd 将CA证书ca.pem, etcd秘钥etcd-key.pem, Read more…

Linux(centos 7.4)下部署Golang运行环境

导读 Go 语言又称为 golang, 是由 Google 最初开发的一种开源编程语言,其在设计时就遵循了简单、安全和速度的 3 大原则。Go 语言具有多种调试、测试、分析和代码审查工具,如今 Go 语言和工具已在大多数 Linux 发行版本的源库中进行提供,本文我就来说明如何为 Linux 安装 Go 语言。 安装 首先查看centos是64位还是32位,显示是64就是64位:

然后下载go-linux-64位源码包,手动wget安装,不推荐yum安装(现在最新版都1.9了,yum仓库最新版本才1.8)。

解压二进制文件到 /usr/local 目录

使用 vi 在环境变量配置文件  /etc/profile 中增加如下内容:

进去添加:

使profile配置立即生效:

查看Go版本或者环境变量

完成。可以看到GOPATH目录为 /home/golang/。

k8s集群搭建

我们已经可以很方便的使用kubeadm快速初始化Kubernetes集群,但kubeadm当前还不能用于生产环境,同时kubeadm初始化的集群的Master节点不是高可用的,后端存储etcd也是单点。因此,本文将基于Kubernetes二进制包手动部署一个高可用的Kubernetes 1.6集群,将启用ApiServer的TLS双向认证和RBAC授权等安全机制。 通过这个手动部署的过程,我们还可以更加深入理解Kubernetes各组件的交互和运行原理。 1. 环境准备 1.1 系统环境 操作系统CentOS 7.3

1.2 安装包下载 从这里下载kubernetes二进制安装包:

1.3 系统配置 在各节点创建/etc/sysctl.d/k8s.conf文件,添加如下内容:

执行sysctl -p /etc/sysctl.d/k8s.conf使修改生效。 如果报以下错:

解决办法:

禁用selinux:

参考: https://blog.frognew.com/2017/04/install-ha-kubernetes-1.6-cluster.html#13-系统配置

FreeIPA集群安装

环境:  主机:三台阿里云ECS 配置: 8c16G, 300G 操作系统:CentOS Linux release 7.4.1708 (Core) 内核: 3.10.0-514.6.2.el7.x86_64 ipa版本:

  安装步骤: 一, 节点一: 1. 更改主机名, 更改为全域名, 如: freeipa1-iuap-hb2-ali.yonyouiuap.com 2. 执行 yum update -y 3. 添加hosts:

4. systemctl stop firewalld.service     systemctl disable firewalld.service     关闭selinux 5. 安装依赖:

6. 新建个screen窗口: screen -S ipa 7. 执行安装:

8 添加防火墙: Read more…