博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

10 2011 档案

摘要:一般来说,MySQL有以下几种引擎:ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB)。注意:不同的版本支持的引擎是有差异的。当然啦,如果你感觉自己的确技术高超,你还能够使用MySQL++来创建自己的数据库引擎,这个已经out of my knowledge,牛人可以参照MySQL++ API帮助来实现。下面逐一叙述这5种引擎各自的特性:ISAMISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处 阅读全文

posted @ 2011-10-31 00:22 bug yang 阅读(4677) 评论(0) 推荐(2)

摘要:TCP协议通过'''滑动窗口(SlidingWindow)'''机制解决这一问题。1. 发送端发起连接,声明最大段尺寸是1460,初始序号是0,窗口大小是4K,表示“我的接收缓冲区还有4K字节空闲,你发的数据不要超过4K”。接收端应答连接请求,声明最大段尺寸是1024,初始序号是8000,窗口大小是6K。发送端应答,三方握手结束。2. 发送端发出段4-9,每个段带1K的数据,发送端根据窗口大小知道接收端的缓冲区满了,因此停止发送数据。3. 接收端的应用程序提走2K数据,接收缓冲区又有了2K空闲,接收端发出段10,在应答已收到6K数据的同时声明窗口 阅读全文

posted @ 2011-10-28 10:36 bug yang 阅读(731) 评论(2) 推荐(0)

摘要:这篇里面涉及的函数和内部结构体请访问:http://www.cnblogs.com/bugY/archive/2011/10/26/2225152.htmlServer端/* server.c */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#define MAXLINE 80#define SERV_PORT 8000int 阅读全文

posted @ 2011-10-27 17:18 bug yang 阅读(497) 评论(0) 推荐(0)

摘要:1、AF_INETAF表示ADDRESS FAMILY 地址族,包括了tcp、udp,IPX、pipe什么的就不用AF_INET这个值,PF表示PROTOCOL FAMILY 协议族,但这两个宏定义是一样的,所以使用哪个都没有关系。Winsock2.h中 #define AF_INET 0 /* internetwork: UDP, TCP, etc. */ #define PF_INET AF_INET所以在windows中AF_INET与PF_INET完全一样,而在Unix/Linux系统中,在不同的版本中这两者有微小差别,对于BSD,是AF,值为2,对于POSIX是PF2、SOCKA.. 阅读全文

posted @ 2011-10-26 13:57 bug yang 阅读(801) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2011-10-26 09:26 bug yang

摘要:一、TCP/IP数据包的封装 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。二、跨路由器通讯过程 链路层有以太网、令牌环网等标准,链路层负责网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧(比如十兆以太网和百兆以太网之间、以太网和令牌环网之间),由于... 阅读全文

posted @ 2011-10-24 16:57 bug yang 阅读(771) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2011-10-21 16:54 bug yang

摘要:今天遇到了一个函数,是Linux内核中的一个函数list_entry(ptr,type,member); //意义为从一个结构的成员指针'ptr'找到其容器'type'的指针。list_entry的宏定义:#define list_entry(ptr, type, member) \((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member))) (type *)0是为了计算地址方便。意思是在0这个地址看做有一个虚拟的type类型的变量,那么取一个成员再取这个成员的地址,就是这个结构体中 阅读全文

posted @ 2011-10-21 09:59 bug yang 阅读(200) 评论(0) 推荐(0)

摘要:内存寻址在指令中可以表示成如下的通用格式: ADDRESS_OR_OFFSET(%BASE_OR_OFFSET,%INDEX,MULTIPLIER)它所表示的地址可以这样计算出来: FINAL ADDRESS = ADDRESS_OR_OFFSET + BASE_OR_OFFSET + MULTIPLIER * INDEX 其中ADDRESS_OR_OFFSET和MULTIPLIER必须是常数,BASE_OR_OFFSET和INDEX必须是寄存器。在有些寻址方式中会省略这4项中的某些项,相当于这些项是0。以下是寻址的几种方式: 直接寻址(Direct Addressing Mode)。... 阅读全文

posted @ 2011-10-18 14:37 bug yang 阅读(671) 评论(0) 推荐(0)

摘要:简单的汇编例子:.section .data data_items: .long 10,2,4,1,7,3,0.section .text .globl _start_start: movl $0,%edi movl data_items(,%edi,4),%eax movl %eax,%ebx start_loop: cmpl $0,%eax //cmpl相当于比较函数 je exit_loop //如果eax==0,那么跳转到exit_loop je中‘e'的意思为’equal‘ i... 阅读全文

posted @ 2011-10-18 14:30 bug yang 阅读(1185) 评论(0) 推荐(0)

摘要:一、计算机体系结构基础 eax,ebx,eip为寄存器,有些寄存器保存的数据只能用于某种特定的用途,比如eip寄存器用作程序计数器,叫做特俗寄存器。而另外一些寄存器保存的数据可以用在各种运算和读写内存的指令中,比如eax寄存器,这称为通用寄存器(General-purpose Register)。 程序计数器(PC,Program Counter),保存着CPU取指令的地址,每次CPU读出程序计数器中保存的地址,然后按这个地址去内存中取指令,这时程序计数器保存的地址会自动加上该指令的长度,指向内存中的下一条指令。 指令解码器(Instruction Decoder)。CPU取上来的指... 阅读全文

posted @ 2011-10-17 13:36 bug yang 阅读(242) 评论(0) 推荐(0)

摘要:1、DIRECTORY_SEPARATOR显示系统分隔符的命令,在windows下路径分隔符是\(当然/在部分系统上也是可以正常运行的),在linux上路径的分隔符是/2、debug_backtrace() 函数是一个回溯信息函数,返回所在函数中的第几层的信息数组。getcwd()获取当前文件的目录,例如:D:\wamp\www\temp 阅读全文

posted @ 2011-10-14 15:56 bug yang 阅读(200) 评论(0) 推荐(0)

摘要:1、WordWarp http://ahtik.com/eclipse-update/ 让Eclipse中的代码自动换行 阅读全文

posted @ 2011-10-14 14:36 bug yang 阅读(197) 评论(0) 推荐(0)

摘要:一、mysqldump介绍mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。二、mysqldump备份数据库使用1、备份mysql数据库的结构和数据mysqldump -uroot -p123 DBName>D:\sqlName.sql DBName为要备份的数据库名,sqlName为输出的sql文件2、备份mysql数据库的结构,不备份数据mysqldump -uroot -p123 -d DBName>D:\sqlName.sql 比(1)的多了-d3、备份mysq 阅读全文

posted @ 2011-10-14 13:30 bug yang 阅读(407) 评论(0) 推荐(0)

摘要:一、Smarty介绍 Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。二、下载地址http://www.smarty.net/三、简单入门教程http://www.leapsoul.cn/?p=405四、Smarty内置变量{$smarty.get.test}. 阅读全文

posted @ 2011-10-10 14:14 bug yang 阅读(248) 评论(0) 推荐(0)

摘要:SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。RPC的描叙可能不大准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(Distributed Computing Environment ) RPC CALLS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。SOAP 使用 HTTP 传送 XML,尽 阅读全文

posted @ 2011-10-10 10:54 bug yang 阅读(591) 评论(0) 推荐(0)

摘要:通过SoapClient调用天气预报<?phpheader ( "Content-Type: text/html; charset=gb2312" );/** 指定WebService路径并初始化一个WebService客户端*/$ws = "http://www.webservicex.net/globalweather.asmx?wsdl";//webservice服务的地址$client = new SoapClient ($ws);/** 获取SoapClient对象引用的服务所提供的所有方法*/echo ("SOAP服务器提供的 阅读全文

posted @ 2011-10-09 14:05 bug yang 阅读(27498) 评论(2) 推荐(2)

摘要:通过下面这个语句,可以查询某表的最后更新时间SELECT UPDATE_TIME FROM information_schema.tables WHERE TABLE_NAME = 'tablename' 阅读全文

posted @ 2011-10-09 11:01 bug yang 阅读(506) 评论(0) 推荐(0)

摘要:复制是一组技术,它将数据和数据库对象从一个数据库复制和分发到另一个数据库,然后在数据库间进行同步,以维持一致性。使用复制,可以在局域网和广域网、拨号连接、无线连接和 Internet 上将数据分发到不同位置以及分发给远程或移动用户。 名词解释: 1、初始快照:就是将发布服务器上的发布表里面的数据全部复制到订阅服务器订阅的表中 2、发布是一个数据库中的一个或多个项目的集合。 将多个项目分组成一个发布,使得更便于指定一组作为一个单元复制的、具有逻辑关系的数据库对象和数据。 3、订阅服务器:订阅服务器是接收复制数据的数据库实例。 订阅服务器可以接收来自多个发布服务器和发布的数据。 根据所... 阅读全文

posted @ 2011-10-08 15:35 bug yang 阅读(2786) 评论(0) 推荐(0)

摘要:一、字符串截取获得function getExtend($filename) { $len=strlen($filename); $pos=strrpos($filename,'.'); return $extend=mb_substr($filename,$pos+1,$len-$pos,'gb2312'); }二、使用内置方法获得function getExtend($filename) { $extend=pathinfo($filename); /* $filename='hello.asp.img... 阅读全文

posted @ 2011-10-08 14:43 bug yang 阅读(224) 评论(0) 推荐(0)

摘要:AAABBACCB结果:A 3B 2A 1C 2B 2解决方法:if object_id('[tb]') is not null drop table [tb]gocreate table [tb]([col] varchar(1))insert [tb]select 'A' union allselect 'A' union allselect 'A' union allselect 'B' union allselect 'B' union allselect 'A' union 阅读全文

posted @ 2011-10-05 13:27 bug yang 阅读(464) 评论(0) 推荐(0)

摘要:一、linux环境是debian系统的话,可以用下面的方法:只需要一条命令就oK了:apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql重启apache2:cd /etc/init.d/sudo ./apache2 restart安装完成后的phpmyadminsudo apt-get install phpmyadmin在/usr/share/phpmyadmin/下,如果想使用phpmyadmin的话,需要使用sudo ln -s /usr/share/phpmyadmin/ /var/wwwht 阅读全文

posted @ 2011-10-02 00:21 bug yang 阅读(248) 评论(0) 推荐(0)