自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 几种经典的字符串hash算法

哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash

2014-06-13 14:18:00 3083

转载 你不了解PHP的10件事情

1.使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。2.在验证 email 地址的时候使用 checkdnsrr() 函数验证域名是否存在。这个内

2014-06-06 09:44:38 482

转载 php berkeley db 安装

berkeley db和db4的安装bdb安装程序:1、安装Berkeley DB# cd /usr/local/src# wget http://download.oracle.com/berkeley-db/db-4.6.21.tar.gz# tar -zxvf db-4.6.21.tar.gz# cd db-4.6.21# cd build_u

2014-06-06 09:31:39 1443

原创 基于php的一个最简单的memcache的分布式算法

首先,核心函数是这个function mHash($key){$md=substr(md5($key),0,8);$seed=31;  $hash=0;for($i=0;$i$hash=$hash*$seed+ord($md5{$i});}return $hash & 0x7FFFFFFF;}class HashServer{private $serve

2014-06-05 10:11:42 872

转载 mysql 建表完整语句

MySQL中create table语句的基本语法是:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name    [(create_definition,...)]    [table_options] [select_statement]TEMPORARY:该关键字表示用MySQL create table新建的表为临时表,此表

2014-05-27 10:58:07 4262

转载 mysql 分区技术

一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。 二、为什么要对表进行分区为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率。分区的一些优点包括:     

2014-05-26 20:58:53 594

原创 选择存储引擎的原则

1,选择 myisam引擎:(1)读写

2014-05-25 15:48:53 552

原创 简单总结一下mysql的性能分析方法,陆续更新

1.   set @@profiling=1;//执行sql语句show profiles ;或者  show profile for query

2014-05-25 15:19:13 644

原创 简述php关于网页元素抓取方面的技术

php网页抓取技术

2014-05-25 13:24:37 2574

原创 让PHP支持页面回退的两种方法

在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。 第一,使用Header方法设置消息头Cache-control header('Cache-control: private, must-revalidate');  //支持页面回跳   第二,使用session_cache_limiter方法 

2014-05-21 21:58:15 678

原创 php中日期处理的几个函数,小结一下

第一个:得到当前时间戳  time()

2014-05-21 21:14:40 607

原创 php的ar类采用后期延迟绑定实现小例子

abstract class ActiveRecord{            protected static $table;    protected $fieldvalues;    public $select;    static function findById($id){        $query='select * from '.static::$t

2014-05-19 10:29:56 640

原创 十进制转十六进制

问题描述  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形式。输入格式  输

2014-01-06 21:58:32 696

转载 Linux信号、信号处理和信号处理函数

信号(signal)是一种软件中断,它提供了一种处理异步事件的方法,也是进程间惟一的异步通信方式。在Linux系统中,根据POSIX标准扩展以后的信号机制,不仅可以用来通知某种程序发生了什么事件,还可以给进程传递数据。一、信号的来源信号的来源可以有很多种试,按照产生条件的不同可以分为硬件和软件两种。1、  硬件方式当用户在终端上按下某键时,将产生信号。如按下组合键后将产生一个SIG

2013-12-13 20:34:34 642

转载 new malloc delete free的区别

1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于m

2013-12-05 21:08:42 524

原创 关于左移右移运算,当要移动的位大于实际的位数时编译器的解决办法

移动k位,这里k很大对于一个由w位组成的数据类型,如果要移动k;;;' w位会得到什么结果呢?例如,在一个32位机器上计算下面的表达式会得到什么结果:int  lval = OxFEDCBA98  int  aval = OxFEDCBA98  >>36; unsigned uval = OxFEDCBA98u >> 40; C语言标准很小心地规避了说明在这种情况下该如何做

2013-11-29 22:40:01 2275

转载 寻址和字节顺序

排列表示一个对象的字节有两个通用的规则。考虑一个w位的整数,位表示为[XW-l'Xw-2' …, xl'  xo], 其中Xw-l 是最高有效位,而Xo是最低有效位。假设w是8的倍数,这些位就能被分组成为字节,其中最高有效字节包含位[Xw-l' xw-2' …, Xw-8] ,而最低有效字节包含位[X7'  X6' …, xo]-' 其他字节包含中间的位。某些机器选择在存储器中按照从最

2013-11-28 18:17:46 803

原创 计算机系统漫游

所有应用程序对硬件的操作尝试都必须通过操作系统。操作系统有两个基本功能:1)防止硬件被失控的应用程序滥用。2) 向应用程序提供简单一致的机制来控制复杂而又通常大相径庭的低级硬件设备。操作系统通过几个基本的抽象概念(进程、虚拟存储器和文件〉来实现这两个功能。文件是对盯O设备的抽象表示,虚拟存储器是对主存和磁盘1/0设备的抽象表示,进程则是对处理器、主存

2013-11-26 12:58:26 640

转载 五个你必须知道的javascript和web debug技术

在前端开发中,调试技术是必不可少的技能,本文将介绍五种前端开发必备的调试技术。Weinre移动调试DOM 断点debugger断点native方法hook远程映射本地调试Weinre在移动上面开发调试是很复杂的,所以就有了weinre。安装weinre可以实现pc来调试手机页面,所以对于移动开发调试是很重要的哦~http://people.apache.org/~pmuellr

2013-11-21 13:34:34 769

原创 在c/c++里面常量的值其实也是可以修改的

通过指针,可以轻松修改常量的值,如下代码#includeint main(){ const int i=100;int *p=&i;*p=200;printf("%d",i);}这样 常量i的值就已经被改变了volatile  从内存中读取数据  如果是c++的话要使用这个关键字定义常量才行 ,不然c++的编译器对常量做了优化,常量默认不从内存读取数

2013-11-19 14:21:38 2385 1

原创 关于php udp当服务端接受不同数据的代码

最近要用php的udp做一个服务端,但是发现按照网上找到upd做服务器的代码,老是不尽如人意,发现一直在循环输出同样的内容,仔细分析了php的udp特点之后,发现php的udp栈在没收到新的内容时会一直驻留,经过多方面的考虑于是写了如下代码:error_reporting( E_ALL );set_time_limit( 0 );ob_implicit_flush();if

2013-11-18 17:05:01 1689

原创 c语言static关键字解释

static关键字可以用来修饰函数和变量1.修饰变量:当所修饰的变量是局部变量时,代表此变量的值在当前代码段执行完成之后不进行销毁,其值仍存在,当修饰的变量是全局变量时,代表此变量只能被当前文件中的代码所引用,不能被扩展到其他文件内使用当然,如果想扩展到其他文件内使用,应该使用extern关键字修饰2.修饰函数因为函数默认是外部的,所以加上static修饰之后,代表

2013-11-18 11:26:22 610

原创 #include指令双引号和<>的区别

双引号引用起来的文件,系统会现在当前路径下找,当找不到时再到环境路径中去找如果是使用

2013-11-17 22:12:36 965

转载 5个有趣且能提高效率的超酷Unix操作

本文由 伯乐在线 - 轩脉刃 翻译自 NATHAN LECLAIRE。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。在我的工作中,我总是在寻求能提高生产力,和让开发更有趣的方法。当你在bash上飞快输入一系列的命令,你知道你的朋友会花两倍的时间来做这一些列操作,没有什么比这个让人感觉更好的了。你是否曾经:心里默默地埋怨你的同事,为了到命令行的头部,不断地按左方向键。但其实你

2013-11-17 19:58:07 681

原创 麦森数

麦森数问题描述形如2^p-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数。2^p-1 不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是P=3021377,它有909526位。麦森数有许多重要应用,它与完全数密切相关。你的任务:输入P (1000精度数表示)输入数据只包含一个整数P(1000输出要求第1行:十进

2013-11-17 19:21:33 1608

转载 Linux的bg和fg命令

我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和 bg 命令,让我们轻松调度正在运行的任务。假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示(方括号中的是作业号):[1]+ Stopped /roo

2013-11-14 23:23:35 495

原创 不使用第三方变量,按位操作最快的交换两个数的方法

代码如下:#include #includevoid main(){    int x,y;    scanf_s("%d%d",&x,&y);    x=x^y;    y=x^y;    x=x^y;    printf("%d,%d",x,y);    system("pause");}

2013-11-11 15:31:43 549

转载 http协议详解

引言                                       HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of

2013-11-04 11:53:57 688

原创 求最大公约数和最小公倍数的最简单 高效的算法

代码如下#include#include//最大公约数*最小公倍数=这两个数的乘积//可以使用求余数的方法计算最小公倍数,代码如下void main(){    int x,y,t,s;    scanf_s("%d%d",&x,&y);    if (x    {        x=x+y;        y=x-y,x=x-y;    } 

2013-11-02 00:31:00 1350

原创 无需第三个变量实现两个数的交换

int a=3,b=4;a=a+b;b=a-b;a=a-b;以上3行代码就简单的实现了无需第三方变量实现了对两个数交换

2013-10-31 16:08:35 783

转载 IP头结构详解

转载的ip头原地址版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),0110(IPv6)IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。该部分占4个bit位,单位为32bit(4个字节),即本区域值= IP头部长度(单位为bit)/(8*4),因

2013-10-31 13:18:25 665

转载 tcp头详解

TCP头结构 TCP协议头最少20个字节,包括以下的区域(由于翻译不禁相同,文章中给出相应的英文单词): TCP源端口(Source Port):16位的源端口其中包含初始化通信的端口。源端口和源IP地址的作用是标示报问的返回地址。 TCP目的端口(Destination port):16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。 TCP序列号(

2013-10-31 13:15:56 675

原创 概述

O S I参考模型层   层次  应用层           7  表示层           6  会话层           5  传输层           4  网络层           3  数据链路层       2  物理层           1传输介质处于物理层之外,有时被称为OSI 参考模型的第0层               

2013-10-31 13:14:33 637

原创 mysql常用函数,自己看书做的笔记,留着备用

length()求字符串的长度concat('aa[','vvv');把aaa和vvv连接起来  select concat(name,password) from userconcat_ws('分割符号',要连接的字符。。。。)ltrimrtrimtrim((leading/trailing)要删除的字符 from 字符串)rpad/lpad向字符串添加字符 和trim相

2013-10-31 13:10:46 1047

原创 php魔术方法汇总之__set(),__get(),__isset (),__unset()

先看看函数地定义publicvoid __set ( string$name , mixed $value )public mixed__get (string $name )publicbool __isset (string $name )publicvoid __unset ( string$name )先上例子:

2013-10-29 19:38:14 1092

原创 php魔术方法汇总之__construct(),__destruct()

__construct(),类的构造函数,使用new对象是自动调用 例如:下面声明一个demo类class demo{   function __construct() {       echo "demo类被实例化了";   }}$demo=new demo();运行这段代码,会输出:demo类被实例化了一般用来当类的某些属性在构造时就需要被赋

2013-10-29 19:12:37 1019

原创 简单的编程 if while for,留着自己备用

if()只进行一次,不会再次循环while会继续循环的判断,很有用,经常用于迭代while可以使用for循环代替,for循环的执行顺序是初始化--判断--函数体——然后for循环的第3句--判断——函数体---for循环的第三句--判断……下面用代码说明for(int i=0;i    执行自己的代码}先执行赋值操作i=0;再判断i成立:

2013-10-29 18:30:29 746

原创 printf("%d,%d",b++,++b); 对于printf的一些理解,以及前++后++

首先先说下原理:1 printf函数对于括号内的表达式是从右向左执行,如 printf("%d,%d",b++,++b);先执行 ++b,再执行b++;2对于++a和a++:++a是先自加,再调用a++是先调用,再自加下面来分析下代码如下int b=20;printf("%d,%d",b++,++b);// 21 22printf("%d,%d",b++

2013-10-29 18:21:53 6566 7

原创 发现一个c和java语言执行的差异

java代码:int j=0;for(int i=0; ij = j++;}System.out.println("-----"+j);输出结果 j=0c代码:int i,j=0;for(i=0; ij = j++; }printf("%d\n",j);输出结果为100这个问题 表明java和c的编译器不一

2013-10-06 14:36:36 677

空空如也

空空如也

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

TA关注的人

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