存档在 2013年3月

简单工厂,工厂方法和抽象工厂三种设计模式的区别与C++实现

2013年3月31日

1.简单工厂:简单工厂无需定义抽象工厂类,一般是依靠case,或者if..else..加以判断来产生不同的产品对象。总的来说为“将产品抽象出来,工厂类无需抽象,全部产品都由这个工厂类产生”;

2.工厂方法:针对每一个产品都定义一个派生工厂类,派生工厂类中有一个方法(函数)来产生产品对象,所以叫做工厂方法。总的来说为“将产品抽象出来,将工厂抽象出来,一个工厂子类来产生一个产品子类对象”;

3.抽象工厂:抽象程度更高,工厂方法将所有产品都抽象成几个基类。 如果有多个基类的话,则针对这一系列商品就需要抽象工厂。抽象工厂把几种产品抽象共同的东西,把相互依赖的对象抽象出来,只要实现这些接口就可以得到不同的产品.
» 阅读更多: 简单工厂,工厂方法和抽象工厂三种设计模式的区别与C++实现

守护进程(daemon)与服务(Serivice)

2013年3月29日

服务指的是指可以提供比如系统或者网络功能的程序。

守护进程则是负责启动相应服务的程序。

守护进程可以分为两种:

1.这种守护进程,仅仅启动单个服务,比如www的守护进程(httpd),ftp的守护进程(vsftpd)。这种守护进程启动后就一直呆在内存里,会一直占用内存与系统资源。所以速度很快。

2.这种守护进程可以启动多个服务。比如远程登录(telnet)。这种守护进程在需要启动某个服务时才加载相应的服务程序来启动,在服务终止后,该守护进程会清理资源。所以这种守护进程相对来说速度较慢。另外如果需要处理多个对象,可以才有多线程同时处理与单线程排队处理。

守护进程的工作状态:

1.信号控制型,如果有任何客户的请求过来,他就会立即启动去处理,比如打印机服务(cupsd)

2.间隔时间型:指的是每隔一段时间就去主动执行某项任务。比如atd与crond。

 

 

比较有意思的一段话

2013年3月28日

对程序员不仅仅是钱的问题。第一,你要尊重人家,知识分子都有一种“臭脾气”;第二,要给程序员一个能够发挥的环境。不能卡得太死。开发程序,属于创造,你不能强迫人家一定要在多少天内完成。写程序和写文章一样,思路打开了,一天都用不了;没有灵感,一个月也不一定能写出来。“我们在摸索一些经验,不能照搬国外的,因为国外可以利用先进的软件工程方法,一个产品投入几百人。而我们不行,投不起,经常是一个人做几个人的活,有的东西没有办法,只有精简。”

TCP三次握手与DDOS攻击原理

2013年3月28日

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

  • 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
  • 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
  • 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 » 阅读更多: TCP三次握手与DDOS攻击原理

笔试题strcpy写法解析

2013年3月28日

题目:
已知strcpy函数的原型是:
char * strcpy(char * strDest,const char * strSrc);
1.不调用库函数,实现strcpy函数。
2.解释为什么要返回char *。
» 阅读更多: 笔试题strcpy写法解析

2013年4月前文章目录

2013年3月27日
用visio画UML类图基础知识腾讯公司后台服务器经典面试题 (2009年5月)面试
用户态与核心态操作系统内存区划分操作系统
Factory Method与Abstract Factory设计模式Bridge设计模式设计模式
抽象工厂模式设计模式单列设计模式设计模式
Linux netstat命令详解Linux-netstatlinux lsof命令详解Linux-lsof
GCC编译器关于重载决议C++分解大量switch-case分支C++
简单工厂模式设计模式23种设计模式设计模式
FILE* 到 iostream的转换C++shell一些不为人知的技巧Linux
VIM删除与复制多行Linux用模板实现的C++泛型回调类C++
GDB调试出现:Missing separate debuginfosLinux-GDBC++中定位newC++
如何使用前置声明取代包括头文件减少编译依赖C++C++中类的前向声明与超前引用C++
ofstream、ifstream、fstream使用总结[1]C++C++ 实现把非静态成员函数作为回调函数C++
linux /etc/rc.d/目录的详解Linux用信号灯来同步的共享内存类Linux
vim缩进配置Linux-Vimvi 教高级命令Linux-Vim
观察者设计模式回顾设计模式Boost智能指针weak_ptrboost
C++0x: 介绍一些新特性和发展C++0XC++ 11中几个计较好的语法C++0X
Boost智能指针scoped_ptrboostC# 中 GDI+如何获取Graphics对象C#
客户端URL传输库libcurlvim分屏Linux-vim
浮点数的存储系统原理补码认识系统原理
项目中遇到Linux文件系统损坏LinuxLinux用户进程内存空间Linux
**设备的MAC地址与预想的不符LINUXstl容器放置于共享内存C++
epoll使用详解(精髓)linux-Epollvim 同时打开和编辑多个文件LInux-vim
linux启动流程Linux启动linux设置tty3的自动登录系统linux自动登录
linux下IPTABLES配置详解linux防火墙Fedora14安装chrome依赖解决linux软件
gdbtui窗口切换linux-GDB经典的GDB调试命令linux-gdb
无锁队列的实现数据结构一些Linux使用技巧Linux
理论分析类的超前引用C++35 个你也许不知道的 Google 开源项目开源
C#串口模块代码C#堆栈中的EIP EBP ESP是什么原理
C++0x(GCC对11的支持)C++0XC++11 中STL库中新增内容C++0X
C#记录程序运行异常C#浮点数的二进制表示系统原理
为什么使用prefetch系统原理Linux下core文件产生Linux
epoll 使用linux-EpollLinux下文件乱码Linux
怎样自动登陆Linux系统linux自动登录#if、#ifdef、#if defined之间的区别调试
Linux下定时器linuxD-BUSLinuxIPC

博客修改备份

2013年3月27日

1.header.php

<ul id="accessibility">
		<li><a href="<?php echo get_option('home'); ?>/" title="<?php _e('Go to homepage', 'default'); ?>"><?php _e('Home', 'default'); ?></a></li>
		<li><a href="#content" title="Skip to content"><?php _e('Content', 'default'); ?></a></li>
		<li><a href="<?php if (get_option('greenpark2_feed_enable') == 'yes') { echo 'http://feeds.feedburner.com/' . get_option('greenpark2_feed_uri'); } else { echo get_bloginfo('rss2_url'); }?>">RSS</a></li>
		<?php wp_meta(); ?>
		<?php wp_register(); ?>
		<li class="last-item"><?php wp_loginout(); ?></li>
	</ul>

————————————————————————————————————————————————

<div id="branding">
		<h1 id="logo"><a href="<?php echo get_option('home'); ?>/" title="<?php bloginfo('name'); ?>"><?php bloginfo('name'); ?></a></h1>
		<div class="description">
		  <?php bloginfo('description'); ?>
    </div>
	<div id="branding">
		<h1 id="logo"><a href="http://creater.unix8.net/home.php/" title="<?php bloginfo('name'); ?>"><?php bloginfo('name'); ?></a></h1>
		<div class="description">
		  <?php bloginfo('description'); ?>
    </div>
------------------------------------------------------------------------------------------------------
1

.htaccess 文件

<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

rewrite.php

修改 wp-includes 目录下的 rewrite.php  文件,将系统中的首页也就是“index.php”重命名,找到以下这一行:
var $index = ‘index.php’;
将其改为:
var $index = ‘home.php’;

Linux下etc目录来源

2013年3月27日

etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(linux文件结构参考UNIX的教学实现MINIX) 这下面放的都是一堆零零碎碎的东西, 就叫etc, 这其实是个历史遗留.
这个目录一般用来存放程序所需的整个文件系统的配置文件.
» 阅读更多: Linux下etc目录来源