07 2012 档案

如何开启mysql的慢查询
摘要:Linux查看mysql 安装路径一、查看文件安装路径由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径在终端输入:whereis mysql回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同) [root@localhost ~]# whereis mysqlmysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1 阅读全文

posted @ 2012-07-30 16:53 很多不懂呀。。 阅读(8387) 评论(0) 推荐(0)

[python]有限状态机(FSM)简单实现
摘要:简述有限状态机(以下用FSM指代)是一种算法思想,简单而言,有限状态机由一组状态、一个初始状态、输入和根据输入及现有状态转换为下一个状态的转换函数组成。在Gof的23种设计模式里的state模式是一种面向对象的状态机思想,可以适应非常复杂的状态管理。现在,FSM被普遍用于搜索引擎的分词、编译器实现和我们普遍关注的游戏开发中。游戏开发中,通常用FSM实现NPC控制,如当NPC受到攻击时根据健康、力量等选择逃跑还是反攻的行为,一般是用FSM实现的。FSM的实现方法有很多种,不能简单地说孰优孰劣,但现代开发中,一般都比较推荐面向对象的实现方式:因为可重用性和健壮性更高,而且当需求变更的时候,也有很好 阅读全文

posted @ 2012-07-26 16:37 很多不懂呀。。 阅读(1550) 评论(0) 推荐(0)

使用STL仿函数和判断式来降低复杂性并改善可读[转]
摘要:标准模板库(STL)包含C++程序员不可或缺的许多东西。它还有力证明了C++的概念化编程能力。STL的概念包括容器(container)、范围(range)、算法(algorithm)以及仿函数(functor)。本文着重讲解仿函数,它本质上是一个类,但通过重载operator(),所以行为与函数相似。这个概念在STL之前便已存在,STL只是从另一个角度来看待它。继续阅读本文,你就能体会到个中三味。算法、范围和函数 STL以泛型方式来处理函数。假如一个参数的行为应该与函数相仿,STL算法就不关心它是一个实际的C++函数,还是一个仿函数。出于本文的目的,假定某个类有一个重载的operator(. 阅读全文

posted @ 2012-07-25 15:42 很多不懂呀。。 阅读(542) 评论(0) 推荐(0)

常见的内存错误
摘要:1 内存泄露大家都知道,在堆上分配的内存,如果不再使用了,应该把它释放掉,以便后面其它地方可以重用。在C/C++中,内存管理器不会帮我们自动回收不再使用的内存。如果忘了释放不再使用的内存,这些内存就不能被重用,就造成了所谓的内存泄露。它是最为常见的一类错误。一两处内存泄露通常不至于让程序崩溃,也不会出现逻辑上的错误,加上进程退出时,系统会自动释放该进程所有相关的内存,所以内存泄露的后果相对来说还是比较温和的。当然了,量变会产生质变,一旦内存泄露过多以致于耗尽内存,后续内存分配将会失败,程序可能因此而崩溃。现在的PC机内存够大了,加上进程有独立的内存空间,对于一些小程序来说,内存泄露已经不是太大 阅读全文

posted @ 2012-07-25 15:21 很多不懂呀。。 阅读(663) 评论(1) 推荐(1)

详细解说 STL 排序(Sort)
摘要:作者Winter详细解说 STL 排序(Sort)0 前言: STL,为什么你必须掌握1 STL提供的Sort 算法1.1 所有sort算法介绍1.2 sort 中的比较函数1.3 sort 的稳定性1.4 全排序1.5 局部排序1.6 nth_element 指定元素排序1.7 partition 和stable_partition2 Sort 和容器3 选择合适的排序函数4 小结5 参考文档一切复杂的排序操作,都可以通过STL方便实现!0 前言: STL,为什么你必须掌握对于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬 阅读全文

posted @ 2012-07-25 11:41 很多不懂呀。。 阅读(648) 评论(0) 推荐(2)

const用法详解
摘要:const 1. 限定符声明变量只能被读 const int i=5; int j=0; ... i=j; //非法,导致编译错误 j=i; //合法 2. 必须初始化 const int i=5; //合法 const int j; //非法,导致编译错误 3. 在另一连接文件中引用const常量 extern const int i; //合法 extern const int j=10; //非法,常量不可以被再次赋值 4. 便于进行类型检查 用const方法可以使编译器对处理内容有更多了解。 #define I=10 const long &i=10; ... 阅读全文

posted @ 2012-07-23 18:38 很多不懂呀。。 阅读(991) 评论(0) 推荐(0)

深入探讨C++中的引用
摘要:摘要:介绍C++引用的基本概念,通过详细的应用分析与说明,对引用进行全面透彻地阐述。 关键词:引用,const,多态,指针 引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。 一、引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 【例1】:int a; ... 阅读全文

posted @ 2012-07-23 16:37 很多不懂呀。。 阅读(199) 评论(0) 推荐(0)

C++中类的大小问题
摘要:以下的讨论都是在不用#pragma pack( num )下的结果,num表示以多少个字节对齐。初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟就是我在学习编程过程中的一点经验,是编译器这方面的一个具体功能. 首先:我们要知道什么是类的实例化,所谓类的实例化就是在内存中分配一块地址.那我们先看看一个例子:#include<iostream.h>class a { 阅读全文

posted @ 2012-07-23 15:38 很多不懂呀。。 阅读(569) 评论(0) 推荐(0)

类前置声明的使用
摘要:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样:一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然后使用B的指针。然后,问题就解决了。但是,有人知道问题是为什么就被解决的吗,也就是说,加了个前置声明为什么就解决了这样的问题。下面,让我来探讨一下这个前置声明。类的前置声明是有许多的好处的。我们使用前置声明的一个好处是,从上面看到,当我们在类A使用类B的前置声明时,我们修改类B时,只需要重新编译类B,而不需要重新编译a.h的(当然,在真正使用类B时,必须包含b.h)。 阅读全文

posted @ 2012-07-23 14:20 很多不懂呀。。 阅读(2478) 评论(1) 推荐(3)

Python模块学习 ---- datetime
摘要:Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致。相比于time模块,datetime模块的接口则更直观、更容易调用。今天就来讲讲datetime模块。 datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(对于偶等玩家,这个范围已经足够用矣~~) datetime模块定义了下面这几个类:datetime. 阅读全文

posted @ 2012-07-20 18:03 很多不懂呀。。 阅读(201) 评论(0) 推荐(0)

Python正则表达式指南
摘要:1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。下图展示了使用正则表达式进行匹配的流程: 正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符. 阅读全文

posted @ 2012-07-19 16:02 很多不懂呀。。 阅读(274) 评论(0) 推荐(0)

python switch..case 与 三目运算符
摘要:对于三目运算符(ternary operator),python可以用conditional expressions来替代如对于x<5?1:0可以用下面的方式来实现1if x<5else 0注: conditional expressions是在python 2.5之前引入的,所以以上代码仅适用于2.5以及之后的版本对于2.5之前的版本,可以用下面这种形式X<5and1or 0Python不像C/C++,Java等有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。比如PHP中的如下代码:?123456789101 阅读全文

posted @ 2012-07-19 15:56 很多不懂呀。。 阅读(5034) 评论(0) 推荐(0)

内存对齐的规则以及作用
摘要:首先由一个程序引入话题:1//环境:vc6+windowssp22//程序13#include<iostream>45usingnamespacestd;67structst18{9chara;10intb;11shortc;12};1314structst215{16shortc;17chara;18intb;19};2021intmain()22{23cout<<"sizeof(st1)is"<<sizeof(st1)<<endl;24cout<<"sizeof(st2)is"<< 阅读全文

posted @ 2012-07-16 17:13 很多不懂呀。。 阅读(273) 评论(0) 推荐(0)

结构体内存对齐
摘要:一、内存对齐的原因大部分的参考资料都是如是说的:1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。2、性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。二、对齐方式每个平台上的编译器都有自己的默认“对齐系数”。同时,我们也可以通过预编译命令#pragma pack(n)...#pragma pack()来改变对齐系数n,取值为1,2,4,8,16。当结构体进行内存分配时,分两步对齐:第一、每个结构体成员 阅读全文

posted @ 2012-07-16 15:53 很多不懂呀。。 阅读(209) 评论(0) 推荐(0)

结构体在内存中的对齐规则 .
摘要:一个结构体变量定义完之后,其在内存中的存储并不等于其所包含元素的宽度之和。例一:#include <iostream> using namespace std; structX {char a; int b;double c;}S1;void main() { cout << sizeof(S1) << endl; cout << sizeof(S1.a) << endl; cout << sizeof(S1.b) << endl; cout << sizeof(S1.c) << end 阅读全文

posted @ 2012-07-16 15:47 很多不懂呀。。 阅读(548) 评论(0) 推荐(0)

python的迭代器和生成器
摘要:在python中,大多数容器对象都使用for来进行遍历。那么啥是迭代器呢?百度百科里面说:迭代器是一种对象,它能够用来遍历容器对象的所有元素,每个迭代器对象代表着容器中一个确定的地址。python中的迭代器不仅仅可以迭代序列类型,还可以迭代非序列类型。包括用户定义的对象。迭代器的用法在python中普遍而且统一。for语句在容器对象中调用iter()函数,这个函数会返回一个 定义了next()方法的迭代器对象。它在容器中逐一访问元素,没有后续元素,next()就会抛出一个异常,告知for循环结束。这样的话就很好的可以给自己的类定义一个迭代器了。比如:class className:def __ 阅读全文

posted @ 2012-07-13 16:26 很多不懂呀。。 阅读(181) 评论(0) 推荐(0)

Python 的列表排序 .
摘要:在 Python 中, 当需要对一个 list 排序时, 一般可以用 list.sort() 或者 sorted(iterable[, cmp[, key[, reverse]]]).其中:cmp(e1, e2) 是带两个参数的比较函数, 返回值: 负数: e1 < e2, 0: e1 == e2, 正数: e1 > e2. 默认为 None, 即用内建的比较函数.key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None, 即直接比较每个元素.reverse 是一个布尔值, 表示是否反转比较结果.我以前在做比较复杂的排序时, 喜欢写一个定制的 cmp 函数. 当我 阅读全文

posted @ 2012-07-13 11:45 很多不懂呀。。 阅读(2395) 评论(0) 推荐(0)

Python中使用lambda函数
摘要:在Python中,lambda允许用户快速定义单行函数,当然用户也可以按照典型的函数定义完成函数。lambda的目的就是简化用户定义使用函数的过程。>>> func =lambda x: x *2 # 定义lambda函数,通过赋值给func进行调用>>> func(3)6>>>(lambda x: x *2)(3) # lambda函数的定义和调用可以整合在一起(可读性差)6使用lambda函数应该注意的几点:lambda定义的是单行函数,如果需要复杂的函数,应该定义普通函数lambda参数列表可以包含多个参数,如 lambda x, y 阅读全文

posted @ 2012-07-13 11:01 很多不懂呀。。 阅读(23588) 评论(1) 推荐(0)

python __call__ 函数
摘要:__call__Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。class g_dpm(object):def __init__(self, g):self.g = gdef __call__(self, t):return (self.g*t**2)/2计算地球场景的时候,我们就可以令e_dpm = g_dpm(9.8),s = e_dpm(t)。class Animal(object):def __init__(self, name, legs):self.na 阅读全文

posted @ 2012-07-13 10:11 很多不懂呀。。 阅读(341) 评论(0) 推荐(0)

python *args and * kwargs
摘要:最近看python相关书籍或者代码,发现很多比较疑惑的地方:1.self这个不解释了,python的自省功能,类的实例访问自身属性和方法,有点儿类似于其他语言中的this。被显示给出,但是无需为参数self赋值,python解释器会自动给self赋值。2.*args and * kwargs关于*args and * kwargs的使用看下面几个例子:>>> def print_everything(*args): for count,thing in enumerate(args):... print "%d. %s" %(count, thing).. 阅读全文

posted @ 2012-07-11 22:58 很多不懂呀。。 阅读(267) 评论(0) 推荐(0)

Twisted的网络通信模型
摘要:一、Twisted基本模型Twisted 网络编程框架是一种基于事件的网络编程框架,用户需要继承特定的类,并重载其中的方法来处理网络通信中可能出现的各种情况。Twisted的网络通信模型最基本的也要由三部分组成:反应器(reactor)、协议(protocol)、工厂(factory)。其中反应器用来执行事件循环,分发事件处理等等,每个应用程序中一般只能启动一个reactor。协议用来完成与一个已经连接成功的主机的交互功能,主要有数据的接收和发送功能。连接的断开事件也可以在这里处理。工厂负责与一个协议的启动和关闭功能,而且还负责在连接成功时生成一个协议对象,(by gashero)用于与远程主 阅读全文

posted @ 2012-07-11 17:20 很多不懂呀。。 阅读(860) 评论(0) 推荐(0)

Python中reactor,factory,protocol
摘要:最为简单的情况下,除了了解清reactor的简单使用,你还要了解Protocol和Factory。它们最终都会由reactor的侦听建立和run来统一调度起来。 建立服务器的第一个要解决的问题就是服务与外界的交流协议。协议的定义在twisted中是通过继承twisted.internet.protocol.Protocol类来实现的。在协议中你可以定义连接、数据接收、断开连接等一系列的事件如果进行响应。但是对于所有连接上来的协议的建立、持久配置数据的存储这样的内容并不会保存在协议中。 持久配置数据的存储通常都会保存在工厂里。 工厂的定义在twisted中是通过继承... 阅读全文

posted @ 2012-07-11 16:54 很多不懂呀。。 阅读(737) 评论(0) 推荐(0)

导航