- 博客(32)
- 收藏
- 关注
原创 linux命令行编辑快捷键
linux命令行编辑快捷键先总结几个个人觉得最有用的 ctrl + ? 撤消前一次输入ctrl + c 另起一行ctrl + r 输入单词搜索历史命令ctrl + u 删除光标前面所有字符相当于VIM里d shift+^ctrl + k 删除光标后面所有字符相当于VIM里d shift+$删除ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl
2016-06-29 16:57:00 1595
原创 Python使用Redis实现作业调度系统(超简单)
Redis作为内存数据库的一个典型代表,已经在很多应用场景中被使用,这里仅就Redis的pub/sub功能来说说怎样通过此功能来实现一个简单的作业调度系统。这里只是想展现一个简单的想法,所以还是有很多需要考虑的东西没有包括在这个例子中,比如错误处理,持久化等概述Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。R
2016-06-29 16:15:40 2296
原创 linux使用 supervisor 管理进程
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。安装Supe
2016-06-29 15:56:43 2955
原创 Tornado异步笔记(一)--- 异步任务
高性能服务器TornadoPython的web框架名目繁多,各有千秋。正如光荣属于希腊,伟大属于罗马。Python的优雅结合WSGI的设计,让web框架接口实现千秋一统。WSGI 把应用(Application)和服务器(Server)结合起来。Django 和 Flask 都可以结合 gunicon 搭建部署应用。与 django 和 flask 不一样,tornado 既可以是 wsg
2016-06-29 15:48:14 6636
原创 docker与vagrant的区别
场景一:单一开发环境只进行单一语言的开发,启动一台虚拟机,这种情况 docker 占用的资源会不会比较多?场景二:多环境开发既要进行 php 开发,又要进行 python,两个程序需要不同的环境,vagrant 进行开发的话,需要启动两个 vagrant 虚拟机才行,占用资源多,这时候选择 Docker 会不会更好?1 个回答答案对人有帮
2016-06-29 15:47:00 796
原创 Redis实现简单消息队列
任务异步化打开浏览器,输入地址,按下回车,打开了页面。于是一个HTTP请求(request)就由客户端发送到服务器,服务器处理请求,返回响应(response)内容。我们每天都在浏览网页,发送大大小小的请求给服务器。有时候,服务器接到了请求,会发现他也需要给另外的服务器发送请求,或者服务器也需要做另外一些事情,于是最初们发送的请求就被阻塞了,也就是要等待服务器完成其他的事情。更多的时候
2016-06-29 15:22:40 4403
原创 异步任务 Celery 简明笔记
异步任务异步任务是web开发中一个很常见的方法。对于一些耗时耗资源的操作,往往从主应用中隔离,通过异步的方式执行。简而言之,做一个注册的功能,在用户使用邮箱注册成功之后,需要给该邮箱发送一封激活邮件。如果直接放在应用中,则调用发邮件的过程会遇到网络IO的阻塞,比好优雅的方式则是使用异步任务,应用在业务逻辑中触发一个异步任务。实现异步任务的工具有很多,其原理都是使用一个任务队列,比如使用re
2016-06-29 13:41:08 1873
原创 git rebase学习
rebase假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin现在我们在这个分支做一些修改,然后生成两个提交(commit).$ vi file.txt$ git commit$ vi otherfile.txt$ git commit...但是
2016-06-29 13:28:19 416
原创 Python logging模块学习
logging模块是在2.3新引进的功能,下面是一些常用的类和模块级函数模块级函数logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug()、logging.info()、logging.warning()、logging.error()、logging.cri
2016-06-29 11:20:26 402
原创 python连接mongodb并进行用户验证
mongodb安装之后默认是没有用户和密码的,可以容易的接入,但是真实使用中肯定不会是这样的,需要有用户验证,研究了好久,记录一下:1 mongo shell 添加用户:>> use admin;>> db.createUser({user:'username',pwd:'pwd',roles:[{role:'readWrite',db:'dynamo'}]})
2016-06-24 15:23:26 18281 3
原创 python中string和Unicode的区别
首先要弄清楚的是,在python里,string object和unicode object是两种不同的类型。string object是由characters组成的sequence,而unicode object是Unicode code units组成的sequence。string里的character是有多种编码方式的,比如单字节的ASCII,双字节的GB2312等等,再比
2016-06-23 10:52:52 6439
原创 python操作Excel读写--使用xlrd
一、安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。二、使用介绍 1、导入模块 import xlrd 2、打开Excel文件读取数据 data = xlrd.open_workbook('excel
2016-06-20 18:47:05 396
原创 Jinja2 简明使用手册
介绍Jinja是基于Python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker和velocity。 运行需求Jinja2需要Python2.4以上的版本。 安装按照Jinja有多种方式,你可以根据需要选择不同的按照方式。 使用easy_install安装使用easy_install 或pip: #sudo easy_in
2016-06-15 15:22:06 12350
原创 python开发总结
最近在接触python,感觉python之所以开发效率高,可能有三个因素:1、语言表达能力强悍。2、支持很多高级的语言特性。3、第三方开源库非常的丰富。 两本不错的书:《Python参考手册》:对Python各个标准模块,特性介绍的比较详细。《Python核心编程》:介绍的比较深入,关键是,对Python很多高级特性都有介绍。一个开源
2016-06-15 14:36:57 1952
原创 Python:文件的读取、创建、追加、删除、清空
一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:#python>>>f=open('f.txt','w') # r只读,w可写,a追加>>>for i in range(0,10):f.write(str(i)+'\n'). . .>>> f.close()二、文件内容追加,从0到9的10个随机整数:#python>>>imp
2016-06-15 14:33:07 433
原创 Linux中shell文件操作大全
1.创建文件夹#!/bin/shmkdir -m 777 "%%1"2.创建文件#!/bin/shtouch "%%1"3.删除文件#!/bin/shrm -if "%%1"4.删除文件夹#!/bin/shrm -rf "%%1"5.删除一个目录下所有的文件夹#!/bin/bashdirec="%%1" #$(pwd)fo
2016-06-15 14:32:01 2807
原创 python datetime 时间日期处理
import datetime, calendar date = datetime.datetime.now() 获取的为当前系统时间#1、返回昨天日期def getYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=to
2016-06-14 17:27:18 3701
原创 String.Format 源字符串包含大括号的小问题
在使用String.Format()的过程中,一直没有遇到这种类型的问题,直到在写一个小sample的过程中,需要动态生成一段javascript代码并且通过ScriptManager.RegisterCliemtScriptBlock方法将其注册到前台,这里使用String.Format来区分动态和静态部分,并且生成最终的脚本代码。在编程中发现带有“{”和“}”符号的脚本代码在Strin
2016-06-14 17:26:31 2916
原创 Pycharm2016.2注册码(python编码利器)
这个软件当时下载的是转呀版本的,也建议大家下载专业版本,毕竟功能多,下面是这个版本的注册码:43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljd
2016-06-08 11:33:00 12238
原创 分析分布式服务框架
技术是为需求而服务的,分布式服务框架也同样如此,它不是凭空诞生的,也是因为有这样的需求才会有分布式服务框架这么样的东西诞生,在这篇blog中来详细的分析分布式服务框架诞生的原因(其实也是需要用分布式服务框架的应用场景,这里隐含的意思就是并不是什么应用都需要分布式服务框架的)、分布式服务框架需要提供的feature以及实现这些feature可选的技术方案。其实这篇blog应该写在实现分布式服务框
2016-06-07 16:31:56 831
原创 python调试工具pdb和ipdb的使用
1安装 pip install ipdb 或: easy_install ipdb 2 调试使用ipdb python -m pdb xxx.py python -m ipdb xxx.py 3 调试命令(键入h查看) Documented commands (type help ): ======================
2016-06-07 16:28:35 5349
原创 virtulenv说明
如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。首先,我们用pip安装virtualenv:$ pi
2016-06-07 16:25:36 772
原创 PYTHON-进阶-编码处理
用python处理中文时,读取文件或消息,http参数等等一运行,发现乱码(字符串处理,读写文件,print)然后,大多数人的做法是,调用encode/decode进行调试,并没有明确思考为何出现乱码所以调试时最常出现的错误错误1Traceback (most recent call last):File "", line 1, in UnicodeDe
2016-06-07 16:13:54 1094
原创 Python 字符串详解
Python 字符串字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:var1 = 'Hello World!'var2 = "Python Runoob"Python访问字符串中的值Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。Py
2016-06-07 13:27:38 639
原创 Python Dictionary详解
字典是Python中常用的类型,熟练使用对编程的简洁和快速有很大帮助。字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {key1 : value1, key2 : value2 }键必须是唯一的,但值则不必。值可以取任何
2016-06-07 13:24:37 2910
原创 dubbo框架简介2
首先,按照我的理解,介绍下dubbo,其实也没什么太深的家世,阿狸的一个开放框架,解决访问量大造成系统崩溃或者性能下降的问题。dubbo的结构成员,注册中心registry,服务提供者provider,消费者consumer,监听monitorprovider:暴露服务提供方提供的服务。consumer:调用远程服务的消费者。registry:提供服务注册和服务发现
2016-06-07 13:19:57 378
原创 Dubbo框架简介
1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方
2016-06-07 13:18:39 295
原创 一个非常好用的data pipeline管理工具 airflow
什么是ETLETL 是常用的数据处理,在以前的公司里,ETL 差不多是数据处理的基础,要求非常稳定,容错率高,而且能够很好的监控。ETL的全称是 Extract,Transform,Load, 一般情况下是将乱七八糟的数据进行预处理,然后放到储存空间上。可以是SQL的也可以是NoSQL的,还可以直接存成file的模式。一开始我的设计思路是,用几个cron job和celery来handle
2016-06-07 13:11:49 6348
原创 使用Airbnb的Airflow来管理数据工作流
Airbnb 最近在Apache许可证下开源了它自己的数据工作流管理框架 Airflow 。Airflow被Airbnb内部用来创建、监控和调整数据管道。任何工作流都可以在这个使用Python来编写的平台上运行。 Airflow是一种允许工作流开发人员轻松创建、维护和周期性地调度运行工作流(即有向无环图或成为DAGs)的工具。在Airbnb中,这些工作流包括了如数据存储、增长分析、Ema
2016-06-07 13:07:54 5521
原创 Mongo DB安装及配置
一,安装环境:Ubuntu14.04安装mongoldb: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 echo "deb http://repo.mongodb.com/apt/ubuntu trusty/mongodb-enterprise/stable m
2016-06-07 13:05:31 9724
原创 MongoDB基本命令用
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户use :切换当前数据库,这和MS-SQL里面的意思一样 db.help():显示数据库操作命
2016-06-07 12:59:30 494
原创 Python调用MongoDB使用心得
本文是一个Python 使用MongoDB的简单教程,将使用pymongo对MongoDB进行的各种操作进行了简单的汇总,NoSQLFan进行了简单整理,使用Python的同学可以看一看。下载相应平台的版本,解压即可。为方便使用,将bin路径添加到系统path环境变量里。其中mongod是服务器,mongo是客户shell,然后创建数据文件目录:在c盘下创建data文件夹,里面创建db
2016-06-07 12:57:29 2713
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人