
编程
S1234567_89
这个作者很懒,什么都没留下…
展开
-
Python装饰器、metaclass、abc模块学习笔记
(博客原创作品,转载请注明出处!) 最近接触到了Python中的decorator,metaclass,abc Module,six.add_metaclass等内容,这里做一个简单的笔记。 主要资源: 1. PEP3119: Abstract Base Classes 2. abc模块:abc Module,abc—Abstract Base Clas转载 2016-11-04 09:35:43 · 1019 阅读 · 0 评论 -
ie兼容性问题
添加:"http://www.w3.org/TR/html4/loose.dtd">原创 2013-08-02 09:56:29 · 638 阅读 · 0 评论 -
EasyUI Tab添加右键菜单
在页面创建右键菜单html 关闭 关闭全部 关闭其他 关闭右侧标签 关闭左侧标签 页面初始化时绑定各种事件$(function(){ bindTabEvent(); bindTabMenuEvent(); })转载 2013-07-04 10:15:10 · 5242 阅读 · 0 评论 -
java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为转载 2013-06-24 09:22:39 · 708 阅读 · 0 评论 -
设计模式---工厂模式
/** * @author Rollen-Holt 设计模式之 工厂模式 */ interface fruit{ public abstract void eat();} class Apple implements fruit{ public void eat(){ System.out.println("Apple"); }} cla转载 2013-06-24 09:36:58 · 621 阅读 · 0 评论 -
CentOS 安装内核源代码
1、安装 rpmbuild #yum install rpm-build redhat-rpm-config unifdef 2、下载内核源码(可以在http://rpm.pbone.net/下载) http://centos.ustc.edu.cn/centos/5/os/SRPMS/kernel-2.6.18-164.el5.src.rpm3、安装内核源码 #rpm原创 2012-10-20 23:46:07 · 5430 阅读 · 0 评论 -
Linux内存管理基本概念
作者:Dong |可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://dongxicheng.org/os/linux-memory-management-basic/1. 基本概念1.1 地址(1)逻辑地址:指由程序产生的与段相关的偏移地址部分。在C语言指针中,读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段转载 2012-09-07 14:40:16 · 789 阅读 · 0 评论 -
SoapUI做过webService测试
这两天一直在学soapUI,网上资料太多,本人整理了一些:官方网站:上面教你怎么创建,功能测试,性能测试http://www.soapui.org/About-SoapUI/what-is-soapui.html注:如查英文的看着困难的话,使用谷歌浏览器,可以自动翻译成中文。用soapUI做单元测试:这篇很好,原创+截图,很容易看懂。http://blog.csdn.n转载 2014-12-04 11:27:18 · 669 阅读 · 0 评论 -
QTP
QTP全称是quick test professional,是由Mercury公司(现已被HP收购)开发的一款关键字驱动自动化测试工具,既支持录制/回放方式,又支持描述性编程。至于录制/回放和描述性编程到底哪个更加方便,因人而异。这里笔者并不对其进行比较,而只是将QTP支持的这两种自动化测试方法进行简单的示范,这里仅列举对web对象的操作。 录制/回放,是由QTP将测试人员对web的操作过转载 2014-12-05 14:23:49 · 1107 阅读 · 0 评论 -
WSGI接口
了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是:浏览器发送一个HTTP请求;服务器收到请求,生成一个HTML文档;服务器把HTML文档作为HTTP响应的Body发送给浏览器;浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。所以,最简单的Web应用就是先把HTML用文件保存好,用一个现成的转载 2016-09-20 11:06:05 · 605 阅读 · 0 评论 -
关于python中的setup.py
本博客欢迎转发,但请保留原作者信息!博客地址:http://lingxiankong.github.io/前言其实对于setup.py和setup.cfg的关注是从OpenStack的源码包中开始的,OpenStack每个组件的发布时都是一个tar.gz包,同样,我们直接从github上clone代码后也会发现两个文件的存在。当阅读Nova或Ceilometer(其他组转载 2016-09-19 10:14:45 · 1082 阅读 · 0 评论 -
Glance源码
Glance项目全部由Python编写,读者需要掌握Python语法和wsgi、evenlet、webob、paste等类库,生产环境的镜像一般存在分布式存储中因此还会涉及部分Ceph基础知识。作用与用法深入学习一个项目前,我们要了解这个项目的作用和使用方法。Glance提供了镜像上传和下载功能,也就是说管理员可以通过Glance来上传镜像,而普通用户可以通过Glance下转载 2016-09-18 11:41:36 · 814 阅读 · 0 评论 -
WebOb vs Paste.Deploy
在Openstack的源码中,除了PasteDeploy外,还有一个和WSGI密切相关的工具包WebOb。官网在这:http://webob.org/简单的说,WebOb是一个用于对WSGI request环境进行包装(也就是变得易用)以及用于创建WSGI response的一个包。1.Requestwebob.Request是WebOb中的一个重要对象。其会的对WSG转载 2016-09-18 11:17:48 · 747 阅读 · 0 评论 -
Python高并发的网络编程库:eventlet
eventlet是一个用来处理和网络相关的python库函数,而且可以通过协程来实现并发,在eventlet里,把“协程”叫做 greenthread(绿色线程)。所谓并发,就是开启了多个greenthread,并且对这些greenthread进行管理,以实现非阻塞式的 I/O。比如说用eventlet可以很方便的写一个性能很好的web服务器,或者是一个效率很高的网页爬虫,这都归功于event转载 2016-09-18 10:10:31 · 2566 阅读 · 0 评论 -
使用 Python 进行稳定可靠的文件操作
程序需要更新文件。虽然大部分程序员知道在执行I/O的时候会发生不可预期的事情,但是我经常看到一些异常幼稚的代码。在本文中,我想要分享一些如何在Python代码中改善I/O可靠性的见解。考虑下述Python代码片段。对文件中的数据进行某些操作,然后将结果保存回文件中:?12345with open转载 2016-05-03 13:35:19 · 408 阅读 · 0 评论 -
dpdk l2fwd
http://www.cnblogs.com/chanwai1219/p/3637487.htmlhelloworld中主要分析了hugepage的使用,这回在l2fwd中主要分析一下uio和PMD的实现main函数中首先调用了rte_eal_init初始化eal环境,其中主要是hugepage的初始化 549 /* init EAL */550转载 2016-04-07 17:11:09 · 2378 阅读 · 0 评论 -
dpdk helloworld代码分析
intmain(int argc, char **argv){ int ret; unsigned lcore_id; ret = rte_eal_init(argc, argv); if (ret < 0) rte_panic("Cannot init EAL\n"); /*转载 2016-04-07 17:01:56 · 1607 阅读 · 0 评论 -
list_head内核链表的使用
list_head结构的介绍list_head结构定义在 里,它是一个double linked list的结构。 底下是它的结构宣告: struct list_head {struct list_head *next, *prev;}; 有的人可能看到这样的结构会觉得很奇怪这样的结构可以存放资料吗? 当然是不行的棉,因为这个结构根本是转载 2012-08-29 09:06:40 · 1819 阅读 · 0 评论 -
高级I/O
高级文件I/O 1、Linux提供的高级I/O操作: 1)Scatter/gatter I/O:可以通过单个系统调用从多个buffer写到文件或者读到多个buffer中。 2)Epoll:是poll()和select()的改进版。 3)Memory-mapped I/O:将一个文件映像到内存,通过内存的操作来操作文件,操作更高效简单。 4)File advice:允许进程向内核原创 2012-08-28 11:23:35 · 1805 阅读 · 0 评论 -
Linux VFS文件系统之读写(read/write)文件
------------------------------------------------#纯属个人理解,如有问题敬请谅解!#kernel version: 2.6.26#Author: andy wang-------------------------------------------------一: 概述 在上文中讨论了VFS层是如何打开一个文件的,本文转载 2012-08-28 11:00:53 · 10208 阅读 · 0 评论 -
Linux 内核编程之文件系统(一)
原文 http://blog.youkuaiyun.com/tigerjb/article/details/6015530 Linux文件编程之虚拟文件系统(VFS) 当用户层程序员在编写文件函数时,常常会用到open(),read()和write()这类系统调用,而且用的也很爽,因为我们只需要知道这些函数如何调用就OK了,而不用深究具体文件系统和实际物理介质是如转载 2012-08-31 17:37:26 · 807 阅读 · 0 评论 -
Linux 内核编程之文件系统(二)
VFS中的目录项对象和文件对象 一 .VFS 中的目录项对象 1.为了方便查找,VFS引入了 目录 项,每个dentry代表路径中的一个特定部分。目录项也可包括安装点。2.目录项对象由dentry结构体表示 ,定义在文件linux/dcache.h 头文件中。 89struct dentry { 90 atomic_t d_count;转载 2012-08-31 17:36:06 · 1191 阅读 · 0 评论 -
MooseFS源代码分析(二)——mfsmount模块
1.fuse介绍客户端上需要安装有fuse。mfsmount使用了fuse模块,以拥有一个和文件操作一样的操作入口。fuse的功能简单概括一下,fuse提供一个文件操作的接口,然后fuse在这个接口上监听文件操作,并把这些对文件的操作传给我们自己的相关代码进行处理。也就是说,fuse提供一个挂载点,然后他会在这个挂在点上进行监听,一旦有操作(新建、读取、修改)发生,他会把控制权交给我们的代转载 2012-08-31 10:11:41 · 2384 阅读 · 0 评论 -
操作系统内存地址(逻辑地址、物理地址、线性地址)
转至: http://www.360doc.com/content/10/1012/20/1317564_60457124.shtml逻辑地址(Logical Address)是指由程式产生的和段相关的偏移地址部分。例如,你在进行C语言指针编程中,能读取指针变量本身值(&操作),实际上这个值就是逻辑地址,他是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,转载 2012-08-30 11:19:37 · 1445 阅读 · 0 评论 -
DECLARE_WAITQUEUE 将进程加入等待队列
#define DECLARE_WAITQUEUE(name, tsk) / wait_queue_t name =__WAITQUEUE_INITIALIZER(name, tsk) #define __WAITQUEUE_INITIALIZER(name,tsk) {task: tsk, task_list: { NULL,NULL}转载 2012-08-28 15:21:01 · 11823 阅读 · 1 评论 -
关于list_entry
#define list_entry(ptr, type, member) \ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member))) 这句话的意思是获取一个结构体中一个成员在这个结构体中的偏移。type *0是为了计算地址方便。意思是在0这个地址看做有一个虚拟的type类型的变量,那么取一个成员再取这个成转载 2012-08-28 17:09:17 · 1495 阅读 · 1 评论 -
epoll和select/poll的区别
1. 支持一个进程打开大数目的socket描述符(FD) select最不能忍受的是一个进程所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是2048。对于那些需要支持的上万连接数目的IM服务器来说显然太少了。这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网络效率的下降;二是可以选择多进程的解决方案(传统的Apache方案),不过虽然Linu转载 2012-08-15 15:04:29 · 736 阅读 · 0 评论 -
C++和C优质资料
51cto精心整理了一批免豆下载的C++优质资料并做了分类,包括98个学习资料、9个相关工具和21套源码。将此下载目录分享给大家,大家可以选择性下. R) f5 y: d0 _# ?0 F2 W下面是附件内容部分预览:学习教程下载c语言电子书http://down.51cto.com/data/55806谭浩强c语言PDF版http://down.51cto.com/dat转载 2012-08-08 16:58:08 · 1762 阅读 · 0 评论 -
fuse用户态、内核态通信机制分析
关于fuse用户态文件系统的文章有很多,比如http://my.debugman.net/program/fuse-180.html,就写得很全面。但关于fuse用户态、内核态通信的文章还比较少,我现在发现的一篇是http://blog.chinaunix.net/uid-20687780-id-313603.html,主要讲解了用户态、内核态的通信协议。这里主要分析一下fuse的内核态用转载 2012-09-01 10:03:58 · 2254 阅读 · 0 评论 -
POSIX线程:API .
(一)线程创建与取消 1. 线程创建1.1 线程与进程相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和响应时间。线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SM转载 2012-08-23 11:10:24 · 854 阅读 · 0 评论 -
如何实现一个文件系统(之二)
如何实现一个文件系统(之二) 本文作者 康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。< 续.. > ( 原文 http://www.kerneltravel.net/转载 2012-08-27 17:06:09 · 2243 阅读 · 0 评论 -
如何实现一个文件系统(之一)
本文作者:康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。 原文(http://www.kerneltravel.net/jiaoliu/003.htm#_ftn1)摘要 :本转载 2012-08-27 17:04:59 · 1262 阅读 · 0 评论 -
APUE学习笔记(17)-线程和信号
By: 潘云登Date: 2009-8-22Email: intrepyd@gmail.comHomepage: http://blog.youkuaiyun.com/intrepydCopyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。写在转载 2012-08-25 10:31:19 · 555 阅读 · 0 评论 -
APUE学习笔记(15)-线程同步方法
By: 潘云登Date: 2009-8-20Email: intrepyd@gmail.comHomepage: http://blog.youkuaiyun.com/intrepydCopyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。写在转载 2012-08-25 10:31:56 · 641 阅读 · 0 评论 -
unix环境高级编程APUE学习笔记(15)-线程同步
By: 潘云登Date: 2009-8-20Email: intrepyd@gmail.comHomepage: http://blog.youkuaiyun.com/intrepydCopyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。写在转载 2012-08-25 10:29:30 · 943 阅读 · 0 评论 -
APUE学习笔记(16)-线程属性
By: 潘云登Date: 2009-8-21Email: intrepyd@gmail.comHomepage: http://blog.youkuaiyun.com/intrepydCopyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。写在转载 2012-08-25 10:32:47 · 811 阅读 · 0 评论 -
8090后绝对不懂的人际关系经验
引导语:人生在世,将要遇见很多事,相处很多人。所以,绝对要学会如何处理人际关系,要让人觉得,你是礼貌的,体面的,做事很自然。这些人际关系经验,是处事的良方秘药,学会了绝对有用,赶紧珍藏吧。 与人相处的秘诀1、去别人家做客,当主人的话可多可少,甚至经常劝你喝茶或提建议看看电视时,你就该告辞了。人总是在感到无话可说时,才提醒别人做一些无关紧要的事。再待下去,你可能就不受欢迎了转载 2012-09-04 09:33:07 · 1497 阅读 · 0 评论 -
socketpair的使用
socketpair函数概要如下:#include #include int socketpair(int domain, int type, int protocol, int sv[2]);sys/types.h文件需要用来定义一些C宏常量。sys/socket.h文件必须包含进来定义socketpair函数原型。socketpair函数需要四个参数。他们是:套接口的域转载 2012-09-02 20:31:24 · 646 阅读 · 0 评论 -
doxygen
Doxygen把自己定义为“Source code documentation generator tool”(源代码文档生成工具)。Doxygen提供一种维护文档的机制。Doxygen可以做下面的事情:1、从已经文档化的代码中抽取并生成文档。生成的文档格式有html、xml、Tex、rtf、PostScript、带链接的PDF、chm、Unix man pages等等多种格式,由于是xml是转载 2012-08-10 14:07:27 · 1835 阅读 · 0 评论