- 博客(62)
- 资源 (24)
- 收藏
- 关注
转载 深刻理解Python中的元类(metaclass)
译注:这是一篇在Stack overflow上很热的帖子。提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解。他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程。于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入
2016-03-31 15:32:18 462
原创 centos7之docker使用systemd
# vim Dockerfile------------------------------------------------------------------------------------------------FROM centos:7.2.1511MAINTAINER xiao2RUN yum -y install systemd systemd-libsRUN
2016-01-23 15:35:38 1668
原创 docker命令记录
01. 改变docker文件默认目录$ vim /etc/sysconfig/dockerOPTIONS='--selinux-enabled --graph=/export/Docker'02. run命令$ docker run -idt --name test --hostname=test-p 4505:4505 -p 4506:4506 --privileged
2016-01-16 21:32:49 729
原创 CentOS rpm的spec简单模板
Name: myappVersion: 0.1.0Release: 1%{?dist}Summary: my first rpmGroup: Applications/DatabasesLicense: GPLURL: http://blog.csdn
2016-01-03 21:18:10 1212
原创 CentOS设置随机启动
vim /etc/init.d/xiao2d---------------------------------------------#!/bin/bash# chkconfig: 2345 99 99# description: initialization xiao2 deamon RETVAL=0XIAO2D_BIN=/usr/bin/xiao2d
2016-01-02 22:51:51 744
转载 U盘安装centos6.5教程(两种实现方法)
从centOS6.5开始直接把iso文件写入u盘就行了。 下载地址为:http://www.jb51.net/softs/118841.html windows平台: 1.用UltraISO打开iso(如:CentOS-6.5-x86_64-bin-DVD1.iso) 2.然后点“启动”->"写入硬盘映像",硬盘驱动器是你的u盘,映像文件安装光盘iso,写入方式是USB-H
2015-12-29 22:17:14 7524
原创 CentOS6.4升级Python
下载完成后到下载目录下,解压tar-zxvf Python-2.7.11.tgz进入解压缩后的文件夹cd Python-2.7.11在编译前先在/usr/local建一个文件夹python(作为python的安装路径,以免覆盖老的版本)mkdir /usr/local/python在解压缩后的目录下编译安装./configure--prefix=/usr/l
2015-12-20 11:34:00 573
转载 常用 Git 命令清单
作者: 阮一峰日期: 2015年12月 9日我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库
2015-12-10 13:36:33 326
转载 浅析静态库链接原理
静态库的链接基本上同链接目标文件.obj/.o相同,但也有些不同的地方。本文简要描述linux下静态库在链接过程中的一些细节。静态库文件格式静态库远远不同于动态库,不涉及到符号重定位之类的问题。静态库本质上只是将一堆目标文件进行打包而已。静态库没有标准,不同的linux下都会有些细微的差别。大致的格式wiki上描述的较清楚:Global header-------------
2015-12-10 13:34:12 136
转载 C++中的静态绑定和动态绑定
[cpp] view plaincopy#include using namespace std; class B { public: void foo() { cout "B foo " void pp() { cout "B pp" void FunctionB() { cout "fun
2015-12-10 13:32:41 663
转载 git push提示WARNING: UNPROTECTED PRIVATE KEY FILE!
在centos 6.4下使用ssh连接远程主机时,用的是另外一个密钥,需要用-i指明密钥文件,结果提示如下的错误:ssh指定密钥文件提示错误大概意思就是说密钥权限的文件不能为777,不能被其他用户读取。了解了问题后,修改密钥文件权限为700就OK了。
2015-12-04 15:41:54 766
转载 阿里云Centos配置iptables防火墙
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT。OUTPUT和FORWORD都是ACCEPT的规则一、检查iptables服务状态首先检查iptables服务的状态[root@woxplife ~]# service iptables statusiptables: Firewall is n
2015-11-29 12:53:10 108
转载 iptables防火墙原理详解
1. netfilter与iptablesNetfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地
2015-11-25 16:43:04 485
转载 C++虚函数的实现机制
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过
2015-11-23 15:12:49 285
原创 CentOS搭建Samba
1、安装yum -y install samba samba-client samba-swatyum -y install yum install samba-client2、编辑配置文件/etc/samba/smb.conf...netbios name = xiao2...[homes] comment = Home Dire
2015-11-22 18:26:41 481
原创 堆排序的实现
自己写的,有问题请指出。/*** @file BinaryHeap.hpp* @brief 二叉堆* * @author xiao2 joyjj0218@qq.com * @version 1.0 * @date 2015.11.17 */#ifndef BINARYHEAP_HPP_#define BINARYHEAP_HPP_
2015-11-17 16:40:50 304
原创 Linux Doxygen的安装与使用
1、安装yum -y install doxygen*2、使用(1)在工程目录下输入doxygen -s -g doxyconfig,其中doxyconfig为生成配置的文件名称,可任意指定,如果不指定,默认生成的配置文件为Doxyfile。(2)配置文件 DOXYFILE_ENCODING = UTF-8,默认编码为UTF-8,这样可以支持中文。 PR
2015-11-17 15:51:57 3019 1
原创 CentOS安装GDB7.10
1、安装系统依赖项yum-y install kernel-devel kernel-headers && echo exclude=kernel* >>/etc/yum.confyum-y groupinstall 'Development tools'yum-y groupinstall 'Desktop Platform Development'yum –y instal
2015-11-17 13:30:33 2940
原创 CentOS6.4编译安装Gcc5.2.0
1、安装系统依赖项yum-y install kernel-devel kernel-headers && echo exclude=kernel* >>/etc/yum.confyum-y groupinstall 'Development tools'yum-y groupinstall 'Desktop Platform Development'yum-y insta
2015-11-14 09:59:47 236
转载 字符串匹配的KMP算法
转载”阮一峰的网络日志“字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容
2015-11-13 16:24:33 250
转载 二叉树遍历
//输出void Visit(BiTree T){ if(T->data != '#'){ printf("%c ",T->data); }}//先序遍历void PreOrder(BiTree T){ if(T != NULL){ //访问根节点 Visit(T); //访问左子
2015-11-13 15:13:33 267
转载 二叉树遍历的前驱和后继
下面关于二叉树三种遍历方法的前驱和后继作讨论和总结。一、前序遍历1.1 找后继: (1)若有左子女,则后继是左子女; (2)若无左子女,有右子女,则后继是右子女; (3)若既无左子女,又无右子女,则是一片叶子: a.若是其父母的左子女,且父母有右子女,则后继是父母的右子女。 b.若是其父母的左子女,且父母无右子女; c.若是其父母的右子女。 b、
2015-11-13 15:11:44 1527
原创 Stl String 分割字符串的一种简洁方法
#include #include #include #include #include using namespace std;int main(int argc, char **argv){ string s("hello world bye");vector vect;vector::const_iterator vectIter;s
2015-10-19 22:47:23 3307
转载 Linux下添加新硬盘,分区及挂载
挂载好新硬盘后输入fdisk -l命令看当前磁盘信息可以看到除了当前的第一块硬盘外还有一块sdb的第二块硬盘,然后用fdisk /dev/sdb 进行分区进入fdisk命令,输入h可以看到该命令的帮助,按n进行分区这里输入e即分为逻辑分区,按p即分为主分区,我们要将这块盘分为主分区即输入p到这里输入该主分区为第几个主分区,由于是新盘我们输入1来分第一个主分区
2015-10-18 23:37:40 910
转载 Discuz X3.2 论坛搬家教程
很多站长第一次做网站的时候,无奈选择了速度不是很稳定的空间,慢慢会发现有很多物美价廉速度相当快的空间这个时候,站长在网站搬家的过程中就会遇到很多困难,今天老袋鼠给大家详细讲解一下discuz论坛搬家的详细过程第一步:备份网站数据进入后台—站长—数据库—备份,数据备份类型选择“Discuz!和 UCenter数据”,备份成功以后,数据自动保存在data文件夹下。第二步
2015-10-01 16:17:55 1180
原创 Linux、Apache、Mysql、PHP(LAMP) -- 部署文档
1 Linux1.1 版本CentOS 6.4x86_64 2.6.32-358.el6.x86_641.2 安装ü 分区:/boot、swap、/ü 支持中文1.3 配置安装kernel-devel和kernel-headers,并且在更新系统时,禁止更新kernel:#yum -y install kerne
2015-10-01 16:14:29 1019 1
原创 list的独有sort
摘录《C++ Primer(第五版)》与其他容器类型不同,链表类型list和forward_list定义了独有的sort。通用版本的sort要求随机访问迭代器,因此不能用于list和forward_list,因为这两个类型分别提供双向迭代器和前向迭代器。
2015-09-13 09:46:09 455
转载 解决ngnix服务器上的Discuz!x2.5 Upload Error:413错误
最近我们国防科技网的Discuz!x2.5上传远程附件的时候出现了一个Upload Error:413错误,起初一直以为是Discuz!x2.5的自身bug,因为是从升级Discuz!x2过来的,所以一直怀疑是升级出错,但是最后我们将Discuz!x2.5转于到另一台apache的服务器上运行,并由小游同学做了测试,完全没有发现Upload Error:413错误,于是排除了是Discuz!x
2015-09-05 12:05:03 997
转载 旋转数组
问题定义: 给定一个数组data[]和一个数M,向右旋转M位,要求时间复杂度为O(n),空间复杂度为O(1),如,char data[]="abcde", M = 2,旋转以后data 应该为cdeab,如何高效的实现该功能?这是一个非常经典的题目,第一次自己看到可能根本想不出来,也是09年计算机研究生入学考试的算法题,该题在《编程珠玑》和《编程之美》里都有讨论,写这篇文
2015-09-04 12:18:18 464
转载 递归算法实例讲解
在数学与计算机科学中,递归是指在函数的定义中使用函数自身的方法。递归算法是一种直接或者间接地调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:(1) 递归就是在过程或函数里调用自身。(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3) 递归算法解题通常显得很简洁,但递
2015-09-04 11:53:04 513
转载 C++顺序性容器、关联性容器与容器适配器
什么是容器首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法,因为这些方法在程序的设计上会经常被用到,所以容器也体现了一个好处,就是“容器类是一种对特定代码重用问题的良好的解决方案
2015-09-01 19:57:54 320
转载 一个经典编程面试题的“隐退”
面试程序员很困难。Jeff Atwood 抱怨找一个会写代码的候选人是如此艰难。在技术媒体发布的那些“最佳”面试题中,很少有能让我提起兴趣的——尽管我很喜欢IKEA的这个面试题。Codility和 Interview Street这样的创业公司从这个具有挑战性的课题中看到了机会。与此同时,Diego Basch 呼吁我们停止逼迫求职者进行白板编程。对此我没有什么更好的建议。我同意IQ测
2015-08-30 10:49:26 428
转载 一个十分有趣的字符串算法题目
在blogspot上看到一个十分有趣的字符串算法题目,作者讲述了自己面试google的一次经历。本文不理会这个故事,只来讨论一下里面着个有趣的算法。 算法题目:有两个字符串由不同的字母组成,一长一短,长的为A短的为B。设计一个算法,如果所有在B中出现的字符都在A中出现,则返回true,否则返回false。 例子: 如下字符串: 字符串A:
2015-08-30 10:44:05 1137
转载 插入排序
一、基本思想通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。如果输入数组已经是排好
2015-08-30 10:42:29 485
转载 快速排序
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速
2015-08-30 10:28:59 373
转载 单链表逆序
很经典的“单链表逆序”问题。很多公司的面试题库中都有这道题,有的公司明确题目要求不能使用额外的节点存储空间,有的没有明确说明,但是如果面试者使用了额外的节点存储空间做中转,会得到一个比较低的分数。如何在不使用额外存储节点的情况下使一个单链表的所有节点逆序?我们先用迭代循环的思想来分析这个问题,链表的初始状态如图(1)所示:图(1)初始状态 初始状态,prev是NULL,he
2015-08-29 10:10:14 391
转载 doxygen的使用与C/C++注释规范
1. doxygen的安装与参数配置1.1. 安装$ sudo apt-get install doxygen以下可以选择安装$sudo apt-get install doxygen-doc doxygen-gui graphviztexpower dot2tex graphviz-doc texpower-examples1.2. 生成配置文件在 shell 提
2015-08-29 08:54:50 4602
转载 Linux下doxygen的使用
doxygen是一种从源代码生成文档的工具,支持多种语言。当然,源代码中需按一定的格式写注释,这些注释的格式也能帮助我们养成很好的注释习惯,可以尝试一下。使用doxygen生成文档的方法很简单:$ doxygen -g –s$ doxygen只需两个简单命令就可以了。下面简单说明一下:1、在工程目录下输入doxygen –s –g doxyconfig,其中doxy
2015-08-29 08:52:52 6817
转载 基于Doxygen的C/C++注释原则
基于Doxygen的C/C++注释原则标注总述1.文件头标注2. 命名空间标注3. 类、结构、枚举标注4. 函数注释原则5. 变量注释6. 模块标注7. 分组标注总述华丽的分隔线//---------------------------------------------------------------------------// Platform Defines/
2015-08-29 08:51:40 610
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人