自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

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