分类目录归档:Summary

Sublime text3 安装和配置

pycharm 实在是太大了,就启动就需要至少1G内存,无奈电脑配置太低,打算换一个编辑器了,今天安装Sublime text3,早就听说名声在外了,不多说,上手:

1、下载 ,http://www.sublimetext.com/3

我下的最新版本3143版,是个exe文件,直接双击安装即可,安装完后是未注册版本,未注册版就是会定时弹出来一个框让你输入授权码去购买,功能没啥问题,可以去购买,如果没钱就只能百度了。

2、安装完配置,第一个包是安装包管理功能,

打开view–>Show console,在底部输入如下代码:

安装有点慢,完成后重启Sublime3,如果在Perferences菜单下看到package settings–>package contro就说明安装成功了。

3、装好这个后基本完成工作的一半了,接下来开始安装插件。

crtl+shift+p 打开命令框,输入Install  然后选择Package Control ,会再出现一个对话框,在这里输入你要安装的插件名字即可。

接下来步骤一样,安装的插件有:

以下来源网络:

Anaconda

Anaconda 是一个终极 Python 插件。它为 ST3 增添了多项 IDE 类似的功能,例如:Autocompletion 自动完成,该选项默认开启,同时提供多种配置选项。
Code linting 使用支持 pep8 标准的 PyLint 或者 PyFlakes。因为我个人使用的是另外的 linting 工具,所以我会在 Anaconda 的配置文件 Anaconda.sublime-settings 中将 linting 完全禁用。操作如下: Sublime > Preferences > Package Settings > Anaconda > Settings – User: {"anaconda_linting": false}
McCabe code complexity checker 让你可以在特定的文件中使用 McCabe complexity checker. 如果你对软件复杂度检查工具不太熟悉的话,请务必先浏览上边的链接。
Goto Definitions 能够在你的整个工程中查找并且显示任意一个变量,函数,或者类的定义。
Find Usage 能够快速的查找某个变量,函数或者类在某个特定文件中的什么地方被使用了。
Show Documentation: 能够显示一个函数或者类的说明性字符串(当然,是在定义了字符串的情况下)

你可以在这里,或者通过 ST3 的 Package Settings: Sublime Text > Preferences > Package Settings > Anaconda > README 来查看所有这些特性。

Djaneiro

Djaneiro 支持 Django 模版和关键字高亮以及许多实用的代码片(snippets)功能。其中的 snippets 绝对是省时神器。你可以通过很少几个关键字就能创建许多常见的 Django 代码块比如 templates,models,forms,以及 views。请查看官方文档获取 snippets 列表。

我个人非常喜欢的以下两个用于创建 template 的代码片:输入 var 就可以新建 {{ }},而输入 tag 就能新建 {% %}。

requirementstxt

Requirementstxt 可以为你的 requirements.txt 文件提供自动补全,语法高亮以及版本管理功能。

MarkDown Editing

SublimeText不仅仅是能够查看和编辑 Markdown 文件,但它会视它们为格式很糟糕的纯文本。 这个插件通过适当的颜色高亮和其它功能来更好地完成这些任务。

Markdown Preview

Markdown Preview 可以用来预览和编译 markdown 文件。 这边文章的预览就是通过 mp完成的。

你可以打开 Package Manager 然后输入 Markdown Preview 来查看可用的命令:

Markdown Preview: Python Mrakdown: 在浏览器中预览
Markdown Preview: Python Mrakdown: 导出 HTML 文件
Markdown Preview: Python Mrakdown: 拷贝到剪贴板
Markdown Preview: Github风格Markdown: 在浏览器中预览
Markdown Preview: Github风格Markdown: 导出 HTML 文件
Markdown Preview: Github风格Markdown: 拷贝到剪贴板
Markdown Preview: 打开Markdown速查手册∏
一旦你完成转换,你之后的所有保存都会立即反映到转换的文件中。

OmniMarkupPreviewer

支持将标记语言渲染为 HTML 并在浏览器上实时预览,同时支持导出 HTML 源码文件。

支持的标记类语言:

Markdown
reStructuredText
WikiCreole
Textile
Pod (Requires Perl >= 5.10)
RDoc (Requires ruby in your PATH)
Org Mode (Requires ruby, and gem org-ruby should be installed)
MediaWiki (Requires ruby, as well as gem wikicloth)
AsciiDoc (Requires ruby, as well as gem asciidoctor)
Literate Haskell

Emmet

(前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具.

使用示例:

在编辑器中输入缩写代码:ul>li*5 ,然后按下拓展键(默认为tab),即可得到代码片段:

JsFormat

代码格式化

  • JsFormat 基于 JS Beautifier,可以帮助你自动格式化 JavaScript 和 JSON。这对于阅读代码是非常有用的。
  • 快捷键:Ctrl + Alt + f 或者,你也可以使用菜单栏。
  • 可定制喜欢的格式:在 SublimeText 3 中 Preferences -> Package Settings -> JsFormat -> Settings – Default 可以调整这些配置。

jQuery:JQuery的API代码片段

我知道目前在很多地方 jQuery 看似已经落伍了,但是如果你不是建立一个交互性很强的网站或者你只是想在已有应用上添加功能,它仍然是非常有用的。

比如,输入 $.a就可以让我选择$.ajax(),然后自动扩展成以下代码:

JavaScript Completions

js代码补全。

CSSComb 
CSS属性的顺序一般不重要,因为无论何种顺序浏览器都能正确渲染。但排序所有的属性还是有助于代码的整洁

SideBarEnhancements

SideBarEnhancements扩展了侧边栏的菜单选项,整体加速你的工作流程,像“New File”和“Duplicate”这样的必须选项应该成为ST3开箱即用的一部分,仅仅是“Delete”选项就是它很值得一用,这个功能只是简单的将文件移到回收站,这可能看起来很平凡,但是如果你不是使用它来删除文件,恢复文件将变得十分困难,除非你使用版本控制系统。

BracketHighlighter

括号,高亮显示

FTPSync:同步文件到Linux环境

最后是安装了sftp这个插件,没用上面的,stp配置比较简单,就是会提示注册,网上找到如下:

取消输入时的小白框在,在user-setting里加入:

{“anaconda_linting”: false}

就这么多吧,第一次装感觉很麻烦,装的插件太多,以下是删除。

移除插件

      有时候我们需要移除自己不想要的插件,具体操作如下:快捷键 Ctrl+Shift+P,在对话框中输入“remove”,选择“Package Control: Remove Packages”。

然后在出现的插件列表中点选你要移除的插件。

参考:

http://blog.csdn.net/liujie19901217/article/details/51042343

http://www.jianshu.com/p/269642c54d2c

http://www.cnblogs.com/wind128/p/4409422.html

http://python.jobbole.com/81312/

日常使用:

跳出自动补全的括号外,按回车即可,加入到key-map user setting里:

 

批量注释:

多行选择后按下ctrl+/

批量缩进:感觉跟Pycharm一样,

 

 

使用Sublime Text时unable read project问题的解决方法

然后以后每次重新打开sublime text都会弹出这样的对话框,解决的办法是

1、删除文件夹C:\Users\Administrator\AppData\Roaming\Sublime Text 3\Local下的两个文件session和seesion.sublime_metrics.

2、关闭sublime text再重新打开就OK啦~

 

这个方法貌似没用,:

解决办法:

在C:\Users\Administrator\AppData\Roaming\SublimeText 3\Packages\User目录下建立一个名为Preferences.sublime-project的文档

文档内容为

关闭软件重新打开就OK了-

另一个问题:

在执行CTags: Rebuild Tags时出现如下乱码。

出现乱码的原因其实是sublime text找不到ctags.exe。所以需要配置CTags的配置文件,

下载ctags可执行程序,路径为http://prdownloads.sourceforge.net/ctags/ctags58.zip,解压到一个目录,例如:e盘下,然后复制

配置:sublime text 3:Preferences->Package settings->CTags->Settings-Default文档里的内容全部复制到 Settings-User里,并修改如下配置:

“command”: “E:\\ctags58\\ctags.exe”,

 以上这些都完成后,t3是不能运行python脚本的,并且如果打开控制台,会发现使用python3的语法没问题,如果是2的语法会报错,当写完后按ctrl+b键,在左下角会出现“ no build system” 提示,咋办呢?

这篇文章给了比较详细的解释,看完后我感觉简直就是像我问的一样:

https://stackoverflow.com/questions/22439238/sublime-text-3-python-build-system-confusion

点tools–bulid system–new bulid system会出现一个空白文本输入,

保存到C:\Users\administrator\AppData\Roaming\Sublime Text 3\Packages\User\python2710.sublime.build

然后回到tools–buld system下,可以看到python2这个选项,不过我没选择这个,我选的Anaconda python build ,然后编写一个文件,ctrl+b,就可以运行了。

 

 

怎么通过公众号来快速学习python编程?

现在各个公司对运维工程师的需求,要求具备Python编程能力已经成了一个不争的事实,所以现在不管你是刚入门还是已经参加工作几年了,如果不具备python编程能力,在过几年竞争可能会越来越弱,如果不突破这个枷锁,你的职业发展很快就达到了天花板,说的可能有点吓人,但这可能就是几年后的事实,那该咋办呢?当然是要尽快学习了,我们来看看如何学习。

现在随着移动互联网的发展,现在都进入碎片化学习时代了,很多人都在利用碎片时间来提升自己,比如通过微信公众号的方式学习(例如关注了本公众号的小伙伴),这种方式呢有利有弊,当然利要大于弊,因为学跟不学在一段时间后肯定会有一定的差距,弊在于什么呢?弊就在于第一你不能关注太多这类公众号,大家平时都要上班,如果每天给你推几十篇文章,反而会成为你的学习负担,到最后哪个都不想看了,所以你必须要选择一个你认为适合你的公众号平台;第二是你必须有时间去消化所看的知识,通过公众号的文章看了当时明白了,线下一定要找机会去练习,不能看完就完了。大家如果一直在关注“python运维技术”公众号大家可能会发现一个特点,就是我很少发除python之外的运维技术文章,在这里我给大家解释下,这是我特意的,因为这个问题被我之前也纠结过,因为除了python外,做过运维的都知道,运维的工作其实很技术栈是很杂的,尤其我工作了这么多年,很多运维技术其实都有接触,当我在写python相关文章有困难时, 其实我本可以轻松的写一些其它技术类文章发出去,但我都放弃了,因为我不想小伙伴们今天看到的一篇pyhton文章,明天看到的是另一门技术的文章,这样的结果就是大家无法通过“”python运维技术“”公众号达到长期的python技术积累,随着时间越长你就学散了,没有重点了,那我们之前经常会问?如何才能成为一个专家? 我给的答案是一定要长时间在某个领域进行刻意练习,我相信大家都可以理解,所以这就是我做个公众号的初衷,因为我想让关注“python运维技术”公众号的小伙伴有持续的积累和成长,一天二天看不出什么效果,时间长了量变就会发生质变,这个道理我不说大家也都明白。

写到最后我想说一些最近我的想法,接下来的日子我打算写一些关于python基础类的系列文章,主要是帮助给新入门的小伙伴尽快入门,基础类的文章写完后会写一些python web开发的内容,比如django等,最后我们通过实际项目来展现python如何开发运维平台的实际项目,到时我可以拿我实际工作中的例子给大家分享下,这就是我最近的一些想法,就写到这吧,以后还请大家多支持,觉得不错的文章就帮忙转发下,这篇觉得不错的也可以转,哟~ :)

python1

 

学习Python问?

感谢各位捧场,今天是2017年的第一篇,因为在之前不断收到小伙伴们在后台关于Pytho学习相关的留言,所以想在今年开篇先做一个答疑,方便各位更好的学习:

1、现在学习Python2还是python3?

这个问题应该是每个学python前都会碰到的问题,我记得刚开始学的时候也是搜了很多资料来确定自己到底用哪个更合适,但文章看的太多反而自己更晕了,我最早终选择的是是Python2版本, 但其实我最早学习的时候是看的python3,为什么改成python2了呢?因为我主要工作是做运维,用的是linux系统,而linux系统自带的都是2的版本,我用python3的版本写出来的脚本无法在linux系统里执行,所以我最终选择了2,所以说最终选择哪个版本还是要根据你自己的情况来定,如果是做运维工作我建议用2因为你如果写的3的版本代码在linux系统里是无法运行的,最新的CENTOS7的系统集成的版本也才是2.7的版本。

2、写python用个编辑器好?

这个也因人而异了,我用pycharm多一些,vi也用,反正编辑器你最好熟练一个,这个会帮助你写代码效率更高一些。

3、python的缩进如何解决?

这个解决不了,这是语言特性, 我想问这个问题应该不是要解决,应该敲空格敲多了太痛苦吧,可以参考上面问题选择一款自己合适的编辑器,我想你遇到到问题都会迎刃而解,因为编辑器里不管是你单行缩进还是整段缩进都是快捷键一键搞定。

4、初学习Python要先看那些书?

现在市面上入门的书籍应该很多了,我当时是看的python核心编程,现在不知道还有没有卖,如果是要入门之看上半部分就可以了,下半部分明显不是给入门者准备的,其实如果是入门书籍差别不会太大,尽量找个厚点的(覆盖的方面会广,后续也可以做参考书,我自己的理解),我觉得入门嘛,一本就够。

5、python好学吗?

这门语言入门容易,精通难,另外难不难也要根据个人情况,千万别被网上一些文章忽悠,说作者几天就精通python了,让你心血澎湃,感觉自己几天也能精通,但一旦开始学发现不是那回事,让自信心受到了打击,于是心灰意冷,书本丢到一边再也不看了, 我觉得这些文章其实挺害人的,因为他们往往没有介绍自己的背景,这些人往往是站在自己经精通了某种语言基础上来看python的,因为编程语言很大一部分是想通的,所以他们只要了解了语法,就可以上手了,如果小白从头开始是不可能几天就精通某个语言的。

今天就写到这里,还有很多问题没有答复,后续有时间在接着写吧。

 

 

 

 

运维,我想过一个没有故障的春节

在过五天就是春节了,估计心急的小伙伴早已经踏上了回家的火车或者已经吃上了家里的妈妈给做的团圆饭, 现在办公室已经没有干活的气氛了,到处洋溢着喜悦的气氛, 现在在岗位的同事我用手都可以数的过来,旁边的同事回家的箱子已经放到工位了,今天晚上的火车下班直接回家;前面的同事因为是明天走,现在在安静的看新闻打发时间; 还有几个在聊天的,也许每一年只有在这个时候大家才是真正的放松,因为除了工作本身压力减少外,还有马上要跟家里人团聚的喜悦心情,这就是春节的魅力,它跟一年中每个节日都不同。

在互联网公司里,运维岗位春节假期会稍有不同,因为它是一个没有严格意义上休假的概念,因为维护是公司生产环境,分分钟故障都会影响公司收入,必须有着时刻上战场的准备, 所以作为运维人每到节假日心里都总有些不是那么痛快,一方面想的是痛快的过个好假期,另一个方面却担心如果线上出问题,因为只要有问题就要花时间去解决,说个极端的例子:比如大年初一你在家里吃团圆饭,这时你收到一个报警短信告诉你某台机器宕机了,你是不是要马上去处理,等你处理完,估计好心情都没有了。但这是我们运维人的职责,我们不必抱怨,不必自责,要明白这才是我们作为一个运维人的基本价值:保障公司线上业务的稳定。

上面的例子也许太极端,但也反应出我们运维人日常的工作场景,有没有什么办法能减少这样的事情发生,当然最简单的办法就是防患于未然, 放假前检查工作提前做,别被动等问题发生, 那该检查什么呢? 在这里我总结一些点给大家参考:

线上生成环境检查

  • 监控报警可用性检查
  • 业务是否有备机,保证机器坏了可以及时找其他机器替换。
  • 有故障可能性的机器要提前更换,别等着它挂。
  • 如果有业务节假日更新,注意更新日期,别当天一高兴喝高了,给忘记了(这事貌似每年都有)
  • 业务相关人的联系方式,这个很重要,有时候出问题不是你一个人解决的,别到时候找不到人,耽误时间。
  • 了解故障汇报机制,出问题如果不在自己的控制范围内,要及时联系领导去解决,别等着,要知道每耽搁一分钟对公司来说都是致命的。

先总结这么多,欢迎小伙伴们补充,这就马上春节了,请春节期间小伙伴注意自身安全,饮酒适度, 未来二周我讲暂停更新,确保不骚扰大家,让大家过个好年, 最后在这里也祝大家新春快乐,阖家欢乐!

如何过好2017年?

2016匆匆就过去了,除了感叹时间的流逝, 我想我还应该做点什么, 人们都说每个人对待时间的态度最大的区别就是看这个人是否有自己的目标, 星爷也说过一句特别经典的台词“人若没有目标,跟咸鱼有什么区别”,我特别赞同这句话,因为每个人的时间是有限的,如何在有限的时间内完成更多的事而不是碌碌无为的过日子,目标在这里起了决定性作用,如果每天自己都不知道自己要什么的人,我想几年之后他很可能落后于有清晰目标的人,这就跟二个人在大森林里迷了路是一样的,其中一个找到了方向,始终朝着一个方向走,相信自己终有一天能走出去,另一个没有方向的一会东走走,一会西瞅瞅,时间就这么浪费了,自己却终其一生也无法走出自己生命的藩篱。

既然知道目标的重要性,那我接下来我们看怎么定目标,不得不说定目标是件非常复杂的工程,我相信如果有2个工作摆在你面前一个是定目标,一个是写python脚本,作为运维人一般都会选择后者,为什么? 因为我们会觉得它没什么技术含量,它却要花掉你很多时间,貌似也给我们带来不了成就感,但我认为这些投入是非常值得的,如果你不投入这些时间,那么在未来你会浪费掉更多的时间, 当然考虑到这是个复杂的系统工程,为更方便的让每个人能够设定好自己2017年的目标,我列出了几个问题,大家可以根据自己的情况回答这些问题:

第一,你在过去的一年里工作上有什么进步或成果?那在2017年你希望有那些进步?

第二,在过去一年里什么事一直想做没有做?那在新的一年你打算怎么启动?

第三,你家庭或父母在过去的一年你都做了那些事情?在新的一年打算怎么做?

第四,你在过去的一年身体状况如何?那在新的一年有什么打算和爱好,身体毕竟是革命的本钱。

第五,你个人的能力方面,不管是技术方面是否有提升?在新的一年如何去做?

第六,在过去的一年你交了那些新的朋友?人际关系如何?那在新的一年你打算如何去做?如何去混入你想进入的圈子?

为符合每个人的需求,我尽可能用通用的语言来表达,当然这些问题的答案需要抽练,因为目标越简练越好, 你不能把每个问题的答案都写成5000字的作文, 如果总结到最后这一年你要做的事很多,就要排优先级,可以按时间四象限法则来划分,另外最终形成目标的过程一定是要具体的,什么是具体的的目标,我先举个反例:

2017年我要学python

这个就是典型的不具体的目标,真的具体的的目标是我要把“”python运维技术“公众号所有代码例子搞懂并实现一遍,这才是目标。

经过上面抽练,我相信大家的目标也都定出来了,接下来在2017年可以实施了,每个认都知道行动最重要,但每次都不展开行动, 为什么? 除了懒还有你缺少方法, 当然限于篇幅方法问题就不展开说了,如果有兴趣的小伙伴欢迎留言探讨,另外这句话你可打印出来放到你经常能看到的地方: Do it,  Never give up!    这也许是实现目标的最好方法没有之一。