自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 收藏
  • 关注

原创 C语言常见面试题

总结关于C语言涉及的面试问题,static,const,sizeof,algorithm

2016-11-09 16:08:52 770

原创 Linux常见命令问答

本文主要讲述了Linux常见几种操作的多种用法,比如查看文件、查看进程状态、硬盘扩容、挂载内存提高I/O读写速度

2016-11-08 23:05:24 525

原创 装饰器--棉花糖语法Python

该篇文章从浅显到深入的探索Python的装饰器。Python的装饰器简洁但功能强大。

2016-11-08 18:06:06 810

原创 利用设计模式重构AutoGenNetconfXML工具

前几个礼拜一直在学设计模式,而且通过把《大话设计模式》中用C#编写的例子用Python实现了,大大增加了我对面向对象编程的理解,同时也增加了我对Python编程的信心和兴趣。这个礼拜就把自己曾经编写的自动化产生Netconf配置文件的工具重构了一下,重构代码在我的github账号里。https://github.com/givemefiveagain/CNetconf学习了设计模式的好

2016-11-06 15:11:51 555

原创 大话设计模式(Python版)--解释器模式

解释器模式v1:#!/usr/bin/env pythonfrom abc import abstractmethod,ABCMetaclass AbstractExpression: __metaclass__ = ABCMeta @abstractmethod def Interpret(self, context): passclass T

2016-11-01 14:23:11 425

原创 大话设计模式(Python版)--享元模式

网站类:#!/usr/bin/env pythonclass WebSite: def __init__(self, name): self.__name = name def Use(self): print('classify website:',self.__name)def main(): ps = WebSite('Pr

2016-11-01 13:07:35 369

原创 大话设计模式(Python版)--职责链模式

加薪代码初步:#!/usr/bin/env pythonclass Request: @property def RequestType(self): return self.__requestType @RequestType.setter def RequestType(self,value): self.__reques

2016-11-01 10:56:30 327

原创 大话设计模式(Python版)--适配器模式

适配器模式--v1#!/usr/bin/env pythonfrom abc import abstractmethodclass Target: @abstractmethod def Request(self): print("normal request")class Adaptee: def SpecificRequest(self):

2016-10-31 20:27:37 324

原创 大话设计模式(Python版)--状态模式

工作状态--函数版#!/usr/bin/env pythondef WriteProgram(hour, workFinished=False): if(hour < 12): print("current time: ",hour,' work at morning, spirit') elif(hour < 13): print("cur

2016-10-31 18:38:57 561

原创 大话设计模式(Python版)--观察者模式

双向耦合的代码#!/usr/bin/env pythonclass Secretary: def __init__(self): self.action = None self.observers = list() def Attach(self,observer): self.observers.append(observe

2016-10-31 14:25:06 441

原创 大话设计模式(Python版)--外观模式

股民炒股代码:#!/usr/bin/env pythonfrom abc import ABCMeta,abstractmethodclass Stock1: def Sell(self): print('sell out stock 1 ') def Buy(self): print('buy stock 1')class Stock2

2016-10-31 10:00:24 516

原创 大话设计模式(Python版)--模板方法模式

重复=易错+难改#!/usr/bin/env pythonclass TestPaperA: def TestQuestion1(self): print('TestQuestion1') print('Answer: b') def TestQuestion2(self): print('TestQuestion2')

2016-10-31 08:14:59 440

原创 大话设计模式(Python版)--代理模式

没有代理的代码#!/usr/bin/env pythonclass Pursuit: def __init__(self, girl): self.girl = girl def GiveDolls(self): print(self.girl.name,",give you a doll") def GiveFlowers(self

2016-10-30 22:44:20 333

原创 大话设计模式(Python版)--原型模式

简历代码初步实现--第一版:#!/usr/bin/env pythonclass Resume: def __init__(self,name): self.__name = name def SetPersonInfo(self,sex,age): self.__sex = sex self.__age = age

2016-10-30 21:57:36 374

原创 大话设计模式(Python版)--装饰器模式

第一版#!/usr/bin/env pythonclass Person: def __init__(self, name): self.__name = name def WearTShits(self): print("Big T-Shits") def WearBigTrouser(self): print("B

2016-10-30 11:03:24 504

原创 大话设计模式(Python版)--工厂模式

本文主要讲述了工厂模式的优势,并且通过计算器和雷锋工厂的例子展示出来,并用Python实现。

2016-10-28 22:14:41 594

原创 大话设计模式--简单工厂模式(Python版本)

本文主要讲如何从面向过程到面向对象的演进,通过4个迭代逐步看到揭示面向过程的局限性和面相对象的优越性。以计算器为例,采用简单工厂模式,用Python编程实现,在学习设计模式的同时也学习了Python,相辅相承。

2016-10-27 21:36:58 563

转载 python面向对象之封装

抽象是隐藏多余细节的艺术。在面向对象的概念中,抽象的直接表现形式通常为类。虽然Python是解释性语言,但是它是面向对象的,从设计之初就已经是一门面向对象的语言。Python基本上提供了面向对象编程语言的所有元素,如果你已经至少掌握了一门面向对象语言,那么利用Python进行面向对象程序设计将会相当容易。下面就来了解一下如何在Python中进行对象编程。一. 如何定义一个类

2016-09-28 14:48:26 639

原创 python菜鸟升级路--自动化解析生成xml文件

以前写过一个自动解析并生成netconf xml的python脚本,从性能、易读性、模块化等几个方便重构。这个脚本的作用是生成netconf xml格式的配置文件。这个脚本完成的工作主要有:根据表名和操作类别,就能自动判别或设置表ID。这一点非常重要,因为同一个表的不同配置页是通过ID来识别的。根据表名自动获取其层次关系,以及入参重构netconf xml配置文件

2016-09-22 18:37:02 926

原创 python菜鸟升级路--文件搜索和处理

问题:需要从一个配置文件中提取出case list,并计算case数量。每行一个case,但是其中也有空白行和加了注释的无用行。配置文件的注释方式有#,或者//。配置文件的格式:[DEFINE]ABC_Server_IPAddr := "10.170.9.123" [MODULE_PARAMETERS]tsp_mgcLocalIPAddr := $ABC_Traff

2016-09-19 17:32:13 408

原创 设置环境变量 ---- bash和tcsh

echo $0 ---- 返回当前运行的shell名,如ksh,bash,csh等。grep -q csh ----- 查找当前的shell名中是否包含csh字符串。如果是,返回0;非则返回1。通过 echo $? 可以查看上一次命令的返回值。export [选项] [参数]----将shell变量输出为环境变量,用于传递一个或多个变量的值到任何后继脚本。一个变量创建时,它不会自动

2015-05-05 16:23:26 1928

转载 awk--文本列编辑

linux awk命令详解---列编辑简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本:awk、nawk和gawk,未作特别说明,一般指gawk,gawk是AWK 的 GNU 版本。awk允许您创

2015-04-30 13:10:55 933

转载 sed--文本编辑

sed命令sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多

2015-04-30 12:52:24 667

转载 文件过滤分割与合并--grep

grep----文件过滤分割与合并grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 选项 -a 不要忽略二进制数据。 -A 除了显示符合范本样式的那一行之外,并显示该行之后的内容。 -b

2015-04-30 12:12:28 942

转载 Linux下find命令---文件的查找和比较

find path -option [ -print ] [ -exec command ] {} \;find命令的参数;pathn:   find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command'

2015-04-29 16:19:49 646

原创 Perl和Python的比较(主要是性能比较)

Python语法简单,而且通过缩进的方式来表现层次结构,代码非常简明易懂,对初学者来说,比较容易上手。Perl的模式匹配非常强大,同时匹配的符号有很多种,难以阅读和维护。在文本处理方面,python通过加载re模块来实现模式匹配的查找和替换。而Perl内置就有模式匹配功能。note:内置命令和外部命令的区别。通过代码来直接做比较。python版:#!/usr/bin/pyt

2015-04-29 15:42:09 1975

原创 系统状态监测---进程状态

ps,process status, 列出当前运行的进程的统计信息,包括进程的状态,占用多少资源等。linux上进程有5种状态以及状态码::R ,runnable (on run queue). 运行(正在运行或在运行队列中等待)S,sleeping. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)D,uninterruptible sleep 不可中断(收到信号不

2015-04-29 15:02:00 685

原创 系统状态监测---(Mem,Buffers/cache, swap)

free, 显示Linux系统中空闲的,已用的,可用的物理内存,缓存和交换区(虚拟内存)的。命令格式, free [参数]命令参数:-b  以Byte为单位显示内存使用情况。 -k  以KB为单位显示内存使用情况。 -m  以MB为单位显示内存使用情况。-g 以GB为单位显示内存使用情况。 -o  不显示缓冲区调节列。-s>  持续观察内

2015-04-29 14:16:18 1363

原创 系统状态监测--- 磁盘空间使用情况

如何查看硬盘的空间状态:df (Disk Free):检查linux服务器的文件系统的磁盘空间占用情况df 命令格式:df [选项] [文件],   显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示3.命令参数:必要参数:-a 全部文件系统列表-h 方便阅读方

2015-04-29 10:58:26 890

原创 Python中的装饰器(语法糖)

装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志,性能测试,事务处理等。装饰器是为了解决这类问题的绝佳设计,抽离出大量函数中与函数本身无关的雷同代码并继续重用。装饰器的作用就是为了已经存在的对象添加额外的功能。装饰器是一个函数,用来包装函数的函数。第一步,一个简单的函数#!/usr/bin/pythondef myfunc(): pr

2015-04-28 12:54:41 860

原创 Python的多线程threading模块

线程是操作系统调度的最小单元,线程通常通过fork()来创建。线程通常存在在进程中,一个进程可以有多个线程。这些线程共享进程的内存和状态。线程的处理比进程简单,所以线程有称为轻量级进程。有两种线程:内核线程,是操作系统的一部分。用户空间线程或用户线程,不在内核中执行。每个进程至少有一个线程,即进程本身。在单CPU机器中,多个线程的并发是通过线程调度或时间分片。线

2015-04-17 16:14:51 692

原创 Python中线程和函数的区别--实例演示

假设我们要检查本地网络中哪些IP地址是可达的哪些是不可达的,我们可以用循环来实现,也可以用线程来实现。不用线程的实现方式:#!/usr/bin/pythonimport os, re, threading, commands, timestatus = ["no respones","alive, but 50% package loss","alive","shouldn't occ

2015-04-17 14:15:11 672

原创 无法显示登录网页(Internet Explorer cannot display the webpage)--原因及解决办法

当IE无法通过HTTP访问web服务器的时候,IE就会报“无法显示该网页的错误信息”。有可能是两个方面的原因导致连接失败:DNS(Domain Name Server,域名服务器)无法将域名转换成IP地址,DNS服务器的优先级设置等(可参考windows specify dns)TCP(Transmission Control Protocol,传输控制协议)无法连接到web服务器

2015-04-16 15:54:28 5030

原创 基于Web的登录功能设计测试用例

登录功能描述·        用户在浏览器的地址栏里输入特定的网址,相应的登录页面会显示出来。·        输入用户名,密码和验证码,点击登录按钮,系统验证成功之后,跳转到相应页面·        如果系统验证失败,会提示相应准确的提示信息,并清空用户名,密码和验证码的文本输入框。·        如果对密码错误次数有限制,会在再次尝试登陆时提示告警;如果密码错误次数超限,会对

2015-04-15 16:34:08 2000

翻译 python中的super()和object用法

super解决的问题是:python的面向对象有多重继承的特点,子类继承父类。如果采用非绑定的类方法,用父类名来引用的方法,并在参数列表中引入待绑定的对象self,从而达到调用父类的目的。这样的缺点就是当子类的父类发生变化是,必须遍历整个类定义,把所有的通过非绑定的方法的类名都全部替换过来。super用来解决多重继承的问题,解耦了子类和父类之间的绑定。使用多重继承,会涉及到

2015-03-16 17:49:12 652

原创 IMS中SIP的DNS查询过程

DNS服务器的原理及功能DNS的配置和管理DNS的应用DNS查询有正向和反向查询,正向是将域名解析城IP地址。DNS查询过程为:本地的/etc/hosts文件--->本地的DNS缓存---->本地局域网的DNS服务器----->迭代或递归查询公共DNS服务器。/etc/hosts/etc/hos.conf/etc/resolv.conf/etc/named.conf

2015-03-16 16:22:48 2371

原创 初学设计模式

设计模式是什么学习设计模式有什么好处如何学习设计模式1.设计模式是什么?设计模式是在软件开发过程中,经过验证,用于解决在特定环境下,重复出现的、特定问题的解决方案。在学习设计模式的时候,通过要熟悉一下几个部分:模式名称环境和问题解决方案效果和优缺点设计模式主要分为三大类:创建类模式:抽象了对象实例化的过程,用来帮助创建对象的实例结构型模式:描述如何组合类

2015-03-15 16:05:34 416

翻译 地板的挑选和安装

地板分为:实木地板,实木复合地板,强化地板。实木地板的工艺: 原木开料,烘干,养生,开槽,上漆等。实木地板的特点:木材不拼接,不接加工而成的地板块,有温暖柔和,自然怡人,隔音和交感好的优点。                     缺点: 有色差,有缩涨,不然强化地板稳定。选择实木地板的技巧: 一看,   看表面纹理,纹理一致的为上;表面平整和光滑,侧面和背面是否光滑,

2015-03-12 13:40:00 650

原创 浅析DNS原理及配置

DNS的解析工作有正向和反向,正向解析是将域名解析成IP地址。DNS通常都是通过bind来架设的,rndc是Bind的守护进程配置工具。rndc用来启动,停止,重载配置文件。安装chroot来严格控制DNS程序运行时的权限,减少黑客攻击的危害。DNS的解析过程为:快速查询本地的/etc/hosts文件查询本地缓存本地局域网的DNS服务器迭代或递归查询公共的DNS服务器DNS

2015-03-11 17:17:51 608

原创 Python基础知识之封装篇

通过下面一个实例说明Python封装里面的几个基本概念:对象:类对象,实例对象属性:类属性,实例属性方法:实例方法,类方法,静态方法class Person: ##Person是类名,类定义完成之后,就会产生全局的类对象Person name = None ##name是公有的类属性 __

2015-03-11 09:58:13 459

空空如也

空空如也

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

TA关注的人

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