Vim实用技巧 发表于 2016-06-23 | 分类于 技术 | 阅读次数: 指定开始行到结尾行缩进:1:2,7> 指定第2到第7行右缩进一个单位 vim拷贝指定行到目的行: 1:30,50 co 20 #copy 30行到50行内容到20行; 注释多行: 1Ctl +v 方向键向下指定行 shift + i 注释符 esc uwsgi依赖与lxml , 必须先装lxml再装uwsgi 否则会报错 阅读全文 »
python中的中英文混搭字符串中文的提取 发表于 2016-06-21 | 分类于 技术 | 阅读次数: 模块内容re.compile(pattern, flags=0)编译正则表达式,返回RegexObject对象,然后可以通过RegexObject对象调用match()和search()方法。 1234#coding=utf-8import res = 'hi新手oh'.decode('utf-8') #举个栗子是字符串s,为了匹配下文的unicode形式,所以需要解码p = re.compile(ur'[\u4e00-\u9fa5]') #这里是精髓,[\u4e00-\u9fa5]是匹配所有中文的正则,因为是unicode形式,所以也要转为ur print p.split(s) #使用re库的split切割 中英文混搭字符串中文的提取 123456import remys = u'hi新手oh上o路hea多ooo多oo指教98' #提取其中的中文字符串p = re.compile(ur'[\u4e00-\u9fa5]')res = re.findall(p, mys)result = ''.join(res)print result 新手上路多多指教 ### 阅读全文 »
Django添加富文本编辑器DjangoUeditor 发表于 2016-06-20 | 分类于 技术 | 阅读次数: 1.上DjangoUeditor的github官网下载安装Ueditor,网址如下:https://github.com/zhangfisher/DjangoUeditor.git 按照readme.md安装即可推荐下载DjangoUeditor源码到项目根目录下 2.django admin中配置富文本编辑器:a. settings.py中添加apps: 1234567891011INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'bootstrap_toolkit', 'DjangoUeditor', 'news',) b. urls.py中配置ueditor的路由: 1url(r'^ueditor/', include('DjangoUeditor.urls')), c. models.py中添加ueditor字段: 12345from DjangoUeditor.models import UEditorWidgetclass News(BaseModel): title = models.CharField(ve ... 阅读全文 »
用Python来写5种排序方法冒泡,选择,插入,归并,快排 发表于 2016-06-20 | 分类于 python | 阅读次数: Python写五种排序1.冒泡排序:12345678def bubble(ori_list, n): """ 冒泡排序 """ for i in range(n-1, 0, -1): for j in range(0, i): if ori_list[j] > ori_list[j+1]: ori_list[j], ori_list[j+1] = ori_list[j+1], ori_list[j] 2.选择排序:123456789101112def select(ori_list, n): """ 选择排序 """ for i in range(1, n): min_num = i-1 j = i while j < n: if ori_list[j] < ori_list[min_num]: min_num = j j += 1 ori_list[i-1], ori_list[min_num] = ori_list[min_num], ori_list[i-1] 3.插入排序:123456789101112def insert(ori_list, n): """ 插入排序 """ for i in range(1, n): tmp = ori_list[i] j = i - 1 while j > -1: if ori_list[j] > tmp: ori_list[j+1] = ori_list[j] ori_list[j] = tmp j -= 1 4.归并排序:123456789101112131415161718192021222324def merge(left, right): """ 归并排序 """ i, j = 0, 0 result = [] whi ... 阅读全文 »
redhat7下rdo方式安装openstack笔记 发表于 2016-06-19 | 分类于 云计算 | 阅读次数: 学习openstack在安装过程中也遇到了很多的问题,,在此记录一下: 首先查看硬件是否支持虚拟化:linux下:grep -E ‘svm|vmx’ /proc/cpuinfo 有输出信息说明支持,然后在bios中开启虚拟化如果不支持虚拟化,openstack会默认使用软件虚拟化技术qemu来创建虚拟机,性能上和kvm差距很大,并且个人赶脚比较占内存;2. 先用 YUM 安裝 RDO 及 openstack-packstack 123$ yum update -y$ yum install -y http://rdo.fedorapeople.org/rdo-release.rpm$ yum install -y openstack-packstack 本机设置成静态ip:$ vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 修改如下: 1234567891011121314151617181920HWADDR=00:0C:29:99:3C:45TYPE=EthernetBOOTPROTO=noneDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noNAME=eno16777736UUID=88d86789-394c-4647-b8e6-88f14a652c84ONBOOT=yesIPADDR=192.168.1.50PREFIX=24GATEWAY=192.168.1.1DNS1=114.114.114.114 重启网卡: $ systemc ... 阅读全文 »
CentOS6.5下添加epel源 发表于 2016-05-26 | 分类于 技术 | 阅读次数: 安装yum优先级插件 1yum install yum-priorities epel简介: https://fedoraproject.org/wiki/EPEL/zh-cn 1rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 以上URL请按实际情况修改2. 查看是否安装成功 1rpm -q epel-release 导入key: 1rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 修改/etc/yum.repos.d/epel.repo文件在[epel]最后添加一条属性 priority=11 1vi /etc/yum.repos.d/epel.repo 意思是yum先去官方源查,官方没有再去epel的源找 重建缓存1yum makecache 阅读全文 »
制作linux还原镜像 发表于 2016-05-26 | 分类于 linux | 阅读次数: ghost和g4l安装操作系统,速度太慢,整个过程太冗长乏味了。安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入无数的文件。因为涉及到大量的文件定位和读写,速度一定是快不起来的。Windows下我们常常使用ghost系统来备份和刻录操作系统。ghost可以clone整个系统的镜像,然后在新的电脑上恢复,相当简单。用ghost系统安装操作系统比使用安装光盘安装系统要快捷多了,也不需要回答任何问题了。那么,我们能不能用ghost来备份和恢复Linux系统呢。答案是不行。因为ghost只能识别很少的老旧Linux文件系统,也无法识别grub和LILO等引导加载程序。其实,Linux下也有ghost工具,最著名的有g4l—ghostForLinux。用了一下ghostForLinux。如果是整个磁盘的复制和恢复,还算简单。但是,我试了半天,也没办法实现对一个或者几个分区的恢复。g4l,还是太弱了,无法满足我的要求! 神奇的fdisk和dd命令深深的苦恼中,灵光乍现:神奇的ghost的原理是什么呢?不就是数据复制吗?Linux下的dd命令不就是最强大的数据复制工具!既然如此,我为什么要使用g4l这样复杂的工具呢?一条dd命令不就可以帮我实现任意复杂的镜像复制和恢复的需求了吗?管他是grub,还是ext4,btrfs,FAT32,NTFS…dd面前众生平等。进入Linux操作系统,打开命令行,执行如下命令:** sudo fdisk -u -l** 可以查看所有磁盘上的所有分区的尺寸和布局情况。 -u,让start和end中数字的单位是512字节,也就是一个sector扇区的大小。 假设我有一个/dev/sda磁盘,有100GB大小。我安装了一个Ubuntu操作系统。使用了如下分区:/dev/sda1 5GB/dev/sda2 1GB 扩展分区/dev/sda5 1G ... 阅读全文 »
ubuntu修改/etc/fstab文件无法进入系统 发表于 2016-05-26 | 分类于 linux | 阅读次数: ubuntu修改/etc/fstab文件无法进入系统: 重启进入第二个选项: 进入drop to root shell prompt $ mount -o remount,rw / 然后vim /etc/fstab修改配置文件保存退出,重启即可。 redhat: 在虚拟机刚开启时按e键,进入到界面,有如下条目 Enterprise linux (2.6.18-128.el5) 然后按e键,进入一个界面,如下条目 kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quite把光标移动这行后,再按一下e键,进入编辑这行;在行尾条一个空格 ,然后输入 linux single 也就是类似如下的: kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quite linux quite结束编辑,按回车返回; 接着我们要启动系统,按一下b键启动; 在启动过程中,因为/etc/fstab修改错误,导致磁盘检查报错。此时,输入root密码后,进入字符界面, 系统是只读的(执行vi /etc/fstab后,无法保存,报错说read only),要运行下面的命令; $ mount -o remount,rw / 然后,执行如下操作,改正/etc/fstab,保存退出,重启 $ vi /etc/fstab$ reboot 阅读全文 »
CentOS6.6安装配置wordpress 发表于 2016-05-25 | 分类于 wordpress | 阅读次数: 安装配置php环境:yum install mysql-server php php-mysql httpd -ya. 启动mysql,创建数据库和用户:mysqlcreate database db_name;grant all on db_name.* to username@localhost identified by ‘passwd’; 下载安装wordpress:a. 访问本机ip地址,显示apache界面表示正常,不正常可以查看一下防火墙配置;b. 官网下载wordpress安装包,解压以后放到站点目录;c. 修改/etc/httpd/conf/httpd.conf 中DocumentRoot “/var/html/wordpress”DirectoryIndex ?index.html index.html.var index.phpd. 进入wordpress目录修改php配置:cp wp-config-sample.php wp-config.phpvim wp-config.php 配置mysql数据库;修改wordpress目录权限:chown apache. * -R配置以后重启apache:/etc/init.d/httpd restartc. 访问本机站点,按照提示安装wordpress ; 阅读全文 »
octopress自定义markdown的code语法 发表于 2016-05-24 | 分类于 python | 阅读次数: ####前言octopress自带的markdown语法高亮代码,最后展示在页面上的效果比较不友好-不能复制粘贴代码,不高亮,还有很丑的行数提示。我一直使SHJS,还算比较喜欢,但是以前每次都是编辑markdown文章,在使用 12```XX 12345678 的时候,使用 ```python <div class="bogus-wrapper"><notextile><figure class="code"><pre class="sh_python"> XXX </pre></figure></notextile></div> 这样的苦逼方式,最近实在是不了了,自定义octopress的解析过程其实就是修改plugins/pygments_code.rb 12345678910111213141516171819202122232425262728293031323334353637383940require 'pygments' require 'fileutils' require 'digest/md5' PYGMENTS_CACHE_DIR = File.expand_path('../../.pygments-cache', __FILE__) FileUtils.mkdir_p(PYGMENTS_CACHE_DIR) module HighlightCode def highlight(str, lang) lang = 'ruby' if lang == 'ru' lang = 'objc' if lang == 'm' lang = 'perl' if lang == 'pl' ... 阅读全文 »