人生苦短我用python

人生苦短我用python[0x00] 为什么要学python

文章内容为原创,欢迎转载请注明出处

作者: EflyPro->晦明禅师

python是什么?

编程开发语言有很多种,通常大家把开发语言划分为静态编译和动态解析语言,静态编译语言有我们常见的c,c++等,动态解析语言有我们常见的python,php等。静态编译语言其中一个明显的特征是:需要对源代码进行编译成可执行的二进制代码,变量需要定义成明确的类型;动态解析语言的特征是:代码由解析器进行解析并执行,变量类型可以在运行时动态定义。目前也有很多动态解析语言可以编译成二进制代码方式运行以提高效率,减少了因为解析器解析后执行带来的性能损失。语言之争一直是大家争论的问题,也是一个敏感的话题,本文的目的不在于给大家洗脑说明python是最好的语言,世上本没有最好的语言,只有最合适的语言和最好的程序员。本文只是通过介绍python,让大家认识到这门语言的优点,以及在工作生活中如何利用python解决问题。

python可以做什么?

如果把开发按照层次划分的话,可以分成系统开发(主要是一些系统性功能的,比如网络服务,文件服务,系统调用等);业务逻辑开发(主要是一些业务逻辑的,比如计费,财务,权限等具体跟操作系统或者底层关系不大的)。python无论在系统开发还是业务开发方面,都能够很好地满足开发者的需求,帮助开发者顺利完成任务,这不仅得益于python语言本身的特性,还有赖于丰富的官方和第三方模块库。

常见的服务器linux内核参数调整

内核参数调整


ulimit设置

ulimit -n 要调整为100000甚至更大。 命令行下执行 ulimit -n 100000即可修改。如果不能修改,需要设置 /etc/security/limits.conf,加入

1
2
3
4
5
6
7
8
* soft nofile 262140
* hard nofile 262140
root soft nofile 262140
root hard nofile 262140
* soft core unlimited
* hard core unlimited
root soft core unlimited
root hard core unlimited


ceph学习及部署使用

ceph介绍

我们常见的存储需求可以简单归纳成3个:
1.对象存储 Object Storage
2.块存储 Block Storage
3.文件系统 FileSystem
ceph则是一个满足了3种不同需求的存储开源解决方案,不仅有分布式存储的功能,还有不同的灾备机制,以及灵活的机制以对接到现有的各种虚拟化接口,使用户可以用简单的服务器+磁盘搭建有分布式存储特性的服务,还可以应用到自身的云平台当中。本例子我们会用”块存储“,服务作为搭建使用ceph的实验演示,选择这个作为实验对象是因为块服务可以直接对接到云平台的虚拟机虚拟磁盘,第二篇文章会实验ceph+kvm技术,虚拟化技术使用kvm,虚拟磁盘会使用ceph的块服务。

RabbitMQ部署与简单使用

部署RabbitMQ

RabbitMQ介绍
消息队列是一个在项目开发中常见的功能集,特别是涉及到多机器,多服务单元之间协调通信,RabbitMQ是一个用erlang写的开源消息队列,建立在AMQP的基础之上,已经被许多大项目所采用,比如openstack用RabbitMQ作为内部命令消息的传递。

部署zookeeper
我们采用ubuntu server 14.04.1作为部署环境,为什么采用ubuntu而不是centos,主要是考虑到ubuntu安装比较方便,特别是新版本的软件。在ubuntu里面安装RabbitMQ只需要执行一条命令即可。

zookeeper部署与使用API

部署zookeeper

zookeeper介绍
zookeeper它是一个分布式的服务程序协调系统,简单的说它是一个以节点资源管理为中心,围绕节点资源操作来实现事件监听,触发而衍生出各种服务调度管理的系统。比如说,我创建了一个节点/zk_test,然后使用zookeeper的API程序可以监听这个/zk_test节点,当节点有事件发生的时候会通知这个监听程序,然后监听程序就可以实现自己的业务逻辑。

web前端规范

最佳原则


坚持制定好的代码规范。
无论团队人数多少,代码应该同出一门。
如果你想要为这个规范做贡献或觉得有不合理的地方,请访问New Issue

mostly-adequate-guide中文版

This is the Simplified Chinese translation of mostly-adequate-guide, thank Professor Franklin Risby for his great work!

关于中文版


这是mostly-adequate-guide一书的中文版,原作者Franklin Risby教授由浅入深地介绍了函数式编程的基础概念,并使用 JavaScript 编写了大量的示例代码。

翻译已得到作者授权,进度也与原书进度一致,目前完成到第 2 部分。第 3 部分作者还在写作中,有更新的话我也会继续翻译。

原书是初版草稿,这本中文版也是一样,所以不管是原文中的错误,还是翻译上的谬误,我都会及时做更新。如果发现错漏之处,欢迎大家提Issue

Javascript面向对象编程的三种方法

前言

虽然不同于传统的面向对象编程语言,但是Javascript是一门面向对象编程语言,支持基于原型的委托式继承。虽然这样,但是组织javascript代码的形式非常灵活,有函数式编程,模块化编程,面向对象编程等等,那么,Javascript如何实现面向对象编程呢?

web前端性能优化

作为一个半前端工程师,而且只会写点HTML5和CSS3的“假”前端工程师,为了能更好地理解一下前端的花花世界,最近拜读了《高性能网站建设指南》一书,对作者提出的前端性能优化的14个规则获益匪浅,为了让自己印象更深刻点,决定作此文,当做学习笔记也好,知识总结也罢,总归看过的东西要让自己很好地掌握很好地运用起来才是王道。在解读这些规则的同时,我会用我一年半多的移动网站开发经历提出一些针对移动网站的优化建议。