自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bolike的专栏

默默的付出,我相信会有回报的!

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 Python——类、实例和其他对象的内建函数

1、issubclass()      issubclass() 布尔函数判断一个类是另一个类的子类或子孙类。issubclass(sub, sup)      issubclass() 返回 True 的情况:给出的子类 sub 确定是父类 sup 的一个子类(反之,则为 False)。这个函数也允许“不严格”的子类,意味着,一个类可视为其自身的子类。issubclass() 的第二个参

2014-03-21 00:50:06 9750

原创 Python——类属性/实例属性

一、类属性        类属性仅与其被定义的类相绑定。类数据属性仅当需要有更加“静态”数据类型时才变得有用,它和任何实例都无关。        1. 类的数据属性        数据属性仅仅是所定义的类的变量。这种属性已被 OO 程序员所熟悉,即静态变量,或者是静态数据。它们表示这些数据是与他们所属的类对象绑定的,不依赖于任何类实例。静态成员通常仅用来跟踪与类相关的值。

2014-03-19 22:25:12 30960 3

原创 Python——面向对象编程(引言)

一、类和实例        类和实例相互关联着:类是对象的定义,而实例是“真正的实物”。下面的实例展示了如何创建一个类:>>> class MyNewObjectType(bases):... 'define MyNewObjectType class'... class_suite...        关键字是 class,紧接着是一个类名。随后是定义类的类体代码。

2014-03-18 23:27:16 2581

原创 Python——条件、循环和其他语句

一、print 和 import 的更多信息        print 打印多个表达式也是可行的,只要将它们用逗号隔开就好:

2014-03-05 23:05:51 15537

原创 Python——字典

字典是Python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里。键可以是数字、字符串甚至是元组。

2014-03-04 21:22:08 27134

原创 Python——字符串

一、基本字符串操作        所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用。但是,请记住字符串都是不可变的。二、字符串格式化:精简版        字符串格式化使用字符串格式化操作符即百分号%来实现。在%的左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值。可以使用一个值,如一个字符串或者数字,也可以使用多个值的元组或者

2014-03-03 21:07:38 10331

原创 Python——列表,元组

一、简介        列表(list)是Python以及其他语言中最常用到的数据结构之一。Python使用使用中括号 [ ] 来解析列表。列表是可变的(mutable)——可以改变列表的内容。二、基本的列表操作        列表可以使用所有适用于序列的标准操作,例如索引、分片、连接和乘法。本文介绍一些可以改变列表的方法。        1. list 函数

2014-02-26 23:30:07 30689

原创 Python——序列

一、概览        在Python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号——即元素的位置,也称为索引。第一个索引是 0,第二个则是 1,以此类推。序列中的最后一个元素标记为 -1,倒数第二个元素为 -2,一次类推。        Python包含 6 中内建的序列,包括列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。

2014-02-26 21:11:20 29109 1

原创 《STL源码剖析》——迭代器(iterators)概念与traits编程技法(二)

一、SGI STL 的私房菜:__type_traits        __type_traits 负责萃取型别(type)的特性。此处所关注的型别特性是指:这个型别是否具备 non-trivial defalt ctor?是否具备 non-trivial copy ctor?是否具备 non-trivial assignment operator?是否具备 non-trivial dtor?

2014-02-25 22:53:37 1494

原创 《STL源码剖析》——迭代器(iterators)概念与traits编程技法(一)

一、迭代器设计思维——STL关键所在        STL的中心思想在于:将数据容器(containers)和算法(algorithms)分开,彼此独立设计,最后再以一帖粘合剂将它们撮合在一起。二、迭代器(iterator)是一种 smart pointer        迭代器是一种行为类似指针的对象,而指针的各种行为中最常见也最重要的便是内容提领(dereference)和成员访问

2014-02-25 21:47:18 1107

原创 《STL源码剖析》—— 空间配置器(五)

一、内存基本处理工具        STL定义有五个全局函数,作用于未初始化空间上。前两个函数是用于构造的 construct() 和用于析构的 destroy(),另三个函数 uninitialized_copy(),uninitialized_fill(),uninitialized_fill_n(),分别对应于高层次函数 copy()、fill()、fill_n() —— 这些都是STL

2014-02-20 20:51:12 1425

原创 《STL源码剖析》—— 空间配置器(四)

一、第二级配置器 __default_alloc_template 剖析        为了方便管理,SGI第二级配置器会主动将任何小额区块的内存需求量上调至 8 的倍数,并维护 16 个free-lists,各自管理大小分别为 8, 16, 24, 32, 40, 48, 56,64, 72,80,88,96,104,112,120,128 bytes的小额区块。free-lists的节点结

2014-02-20 05:05:55 1255

原创 《STL源码剖析》—— 空间配置器(三)

一、空间的配置与释放,std::alloc        对象构造前的空间配置和对象析构后的空间释放,由负责,SGI对此的设计哲学如下:        1. 向 system heap 要求空间。        2. 考虑多线程(multi-threads)状态。        3. 考虑内存不足时的应变措施。        4. 考虑过多“小型区块”可能造成的内存碎片(fra

2014-02-19 22:11:35 1236

原创 《STL源码剖析》—— 空间配置器(二)

一。构造和析构基本工具:construct() 和 destroy()#ifndef __SGI_STL_INTERNAL_CONSTRUCT_H#define __SGI_STL_INTERNAL_CONSTRUCT_H// 欲使用 placement new,需先包含此文件#include __STL_BEGIN_NAMESPACE// 以下是 destroy() 第一版本

2014-02-18 21:31:00 1208

原创 《STL剖析》——空间配置器(一)

SGI STL 的配置器与众不同,也与标准规范不同,其名称是 alloc 而非 allocator ,而且不接受任何参数。一、SGI标准的空间配置器,std::allocator        虽然 SGI 也定义有一个符合部分标准、名为 allocator 的配置器,但 SGI 从未用过它,也不建议我们使用。主要原因是效率不佳,只把 C++ 的 ::operator new 和 ::op

2014-02-18 20:59:52 954

原创 TIME_WAIT状态

一、TIME-WAIT是什么        TIME-WAIT状态是在连接拆除阶段开始起作用的。在拆除一个TCP连接通常需要交换 4 个分段。       (1)主机 1 上的应用程序关闭自己这端的连接,使得 TCP 向主机 2 发送了一个 FIN。       (2)主机 2 对着(1)中的 FIN 进行 ACK 确认。       (3)一段时间之后,主机 2 上的应用程序关闭

2014-02-16 18:44:07 1381

原创 笔试题(一)

1. 以下程序的输出:#include using namespace std; class Base {public: Base(int j) : i(j) {} virtual ~Base() {} void func1() { i *= 10; func2(); } int getV

2014-02-15 18:28:16 1259

原创 《STL源码剖析》—— stl_config.h

参考侯捷《STL源码剖析》#ifndef __STL_CONFIG_H# define __STL_CONFIG_H// 本文件所做的事情:// (1) 如果编译器没有定义 bool,true,false,就定义它们// (2) 如果编译器的标准程序库未支持 drand48() 函数,就定义 __STL_NO_DRAND48// (3) 如果编译器无法处理 static

2014-02-12 22:26:56 1725

原创 有了互斥量,为什么还需要条件变量?

一。互斥量和条件变量简介       互斥量(mutex)从本质上说是一把锁,在访问共享资源前对互斥量进行加锁,在访问完成后释放互斥量上的锁。对互斥量进行加锁以后,任何其他试图再次对互斥锁加锁的线程将会阻塞直到当前线程释放该互斥锁。如果释放互斥锁时有多个线程阻塞,所有在该互斥锁上的阻塞线程都会变成可运行状态,第一个变为运行状态的线程可以对互斥锁加锁,其他线程将会看到互斥锁依然被锁住,只能回

2013-06-04 21:39:26 7428 12

原创 Linux中使用共享库的错误

之前一段时间在学习《C++网络编程》(卷一),将书中的代码敲出来进行测试,但是却出现了使用共享库(.so)的错误。        一。错误描述               编译ACE模块后,生成的libACE.so (libACE.so -> libACE.so.6.1.6)被放置在了/usr/local/lib/目录下,相关头文件放置在/usr/local/include。我的测试文件名

2013-05-25 00:02:59 2292

原创 在CentOS上安装ACE

安装过程如下:1. 可以从http://download.dre.vanderbilt.edu上下载ACE软件。2. 将下载下来的文件解压到一个地方,例如, /usr/local/MyDev3. 编译步骤:(1)定义环境变量          在/etc/profile文件中加入下面语句:          export ACE_ROOT=/usr/local/MyDev/

2013-05-16 00:27:00 2143

原创 Python基础:__name__

在Python中每一个模块都有一个默认的属性:__name__。1、当我们直接运行python程序的时候,则__name__的值是 __main__。 2、当一个python模块被其他模块import的时候,则该模块的__name__值为模块的文件名(不带路径及文件扩展名)。

2013-05-09 22:47:06 852

原创 GDB的基本用法

本文参考《Debug Hacks》一书所作 —— 每天进步一点点。一. 准备      通过 gcc 的 -g 选项生成调试信息。     $ gcc -Wall -O2 -g 源文件     -g选项可以使用仅可GDB使用的一些附加调试信息;这些附加信息可以使GDB工作的更好,但是也可能令其他调试器崩溃或者不能读该文件。二. GDB基本用法     启动:     $

2013-04-16 00:24:06 11511

原创 Python之struct简介

最近一段时间在看有关Python相关的知识,特别是其中关于网络通信的内容。在大部分的书本示例中,客户端和服务器端通信的内容都是文本信息,例如“hello world!”之类的信息。但是在实际应用中,我们看到的大部分数据时二进制数据,如“0x12345678”。所以这时候,就需要使用到Python中的struct来处理一下了。         一、struct简介       看到struc

2013-03-14 23:46:39 9333

转载 迈出从3K到1W的重要一步——掌握设计模式

IT职场的小菜经常有这样的疑问:        为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝;而自己加班加点搞到天亮还做不完。        为什么用户提出需求变更后,大牛只需潇洒地敲敲键盘,改改配置;而自己将代码改了又改,删了又建,几乎晕厥,最后只能推翻重来。        为什么大牛写完的程序测试上线后,几乎完美运行,用户无懈可击;而自己的程序bug重重,改好

2012-07-14 00:15:54 1283

原创 BSD与系统V的初始化机制

内核运行的第一个程序是init进程。该进程读取系统初始化表(/etc/inittab),确定如何初始化和启动各种守护进程。在系统初始化过程中,BSD和系统V的最大区别在于init脚本中。在BSD风格中,所有守护进程实质上只有少数几个脚本启动。例如,Slackware中的init进程采用了BSD分隔,该进程运行系统脚本(etc/rc.d/rc.S)来配置系统。与BSD风格不同,系统V风格的脚本是独立

2012-06-16 15:59:07 1090

转载 Linux的运行级别

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://bxuan.blog.51cto.com/376592/704946       运行级别就是操作系统当前正在运行的功能级别。级别是从0到6,具有不同的功能。这些级别定义在/ect/inittab文件中。这个文件是init程序寻找的主要文件,最先运行的服务是那些

2012-06-16 15:20:48 447

原创 Linux日志

企业系统的关键需求之一是对系统上发生的相关事件进行日志记录,从而辅助执行系统管理和故障后的系统调试。对此,Linux提供了一种极好的、简单的且安全可配置的日志工具。        Linux日志主要保存在/var/log目录中。该目录包含了多个由系统维护的日志文件,但其他服务和程序也可以将自己的日志文件放置在该目录中。        一、/var/log/messages文件

2012-06-16 15:07:51 732

转载 mysql中的unix_timestamp函数

偶然看到MySQL的一个函数 unix_timestamp(),不明就里,于是就试验了一番。    unix_timestamp()函数的作用是返回一个确切的时间点的UNIX时间戳,这个Unix时间戳是一个无符号整数。unix_timestamp()函数有两种重载形式,一是不带任何参数,另外一个是带有一个Date或DateTime或TimeStamp类型的参数。    unix_times

2012-06-12 18:17:38 28797 2

转载 gethostbyname() -- 用域名或主机名获取IP地址

#include #include struct hostent *gethostbyname(const char *name);这个函数的传入值是域名或者主机名,例如"www.google.cn"等等。传出值,是一个hostent的结构。如果函数调用失败,将返回NULL。struct hostent{     char *h_name;      char

2012-05-20 14:18:59 707

转载 WSAStartup与WSACleanup

WSAStartup与WSACleanupWSAStartup应该与WSACleanup成对使用,WSAStartup的功能是初始化Winsock DLL,WSACleanup是来解除与Socket库的绑定并且释放Socket库所占用的系统资源。在Windows下,Socket是以DLL的形式实现的。在DLL内部维持着一个计数器,只有第一次调用WSAStartup才真正装载DLL,以后

2012-05-20 13:52:28 21140

原创 关于XML-RPC

这个星期在工作中实现了一个文件拷贝的程序,该程序从局域网中的某台机器上将某个文件或某个文件下的文件拷贝到本地机器中,程序运行于windows平台,语言是C++。在这个程序中主要的难点(这里先说是难点吧,其实感觉应该是程序需要考虑到的技术点)应该三处,一:程序与系统中其他模块如何交互,即某人如何告诉你拷贝命令和拷贝完成如何通知需要通知的人。二:拷贝文件的具体操作。三:任务中优先级的设置。这篇文章就介

2012-05-20 12:17:00 1078

原创 C++中继承情况下的类作用域

首先,每一个类都保持着自己的作用域,在该作用域中定义了成员的名字。     名字查找在编译时发生              对象、引用或指针的静态类型决定了对象能够完成的行为(C++ PRIMER)。这里能够完成的行为,应该说是能够使用的变量名(数据和方法),这些变量名是定义在调用它的对象、引用或指针的静态类型中的。为什么将行为改为变量名,是因为我觉得行为是处理事件的方法,而在静态类型和动

2012-05-19 17:49:53 859

原创 博客从今天开始

大家好,欢迎来到我的博客!        我一名普通的程序员,目前工作于北京,从事着服务器开发与维护工作。我毕业于XD university,从工作到现在,差不多有一年时间了。在这一年中,我学到了很多知识,但是还有很多的知识需要去学习。我看过一些书,从书中学到很多,但是看过的书并没有形成一个体系,或者是看过之后没有总结与复习。之前会把一些知识记录到笔记本上,却很少去查看。所以从几天起,把自己从

2012-05-19 15:46:58 426

php和mysql web开发(第四版) 源代码(包括第二章和第三章)

php和mysql web开发 源代码 包括缺失第二章和第三掌

2012-05-22

21天学通Java6

21天学通java6 第五版 作者:【美】Rogers Cadenhead

2010-01-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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