自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

转载 javascript 操作 cookie

设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给 *document.cookie: document.cookie=”userId=828”;* 如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如: document.cookie=”userId=828; userName=hulk”; 在cookie的名或值中不能使用分号(;

2015-12-29 20:56:01 391

转载 cookie 和session 的区别详解

二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie来辨认使用者

2015-11-04 11:14:05 356

转载 堆排序 Heap Sort

堆排序是一种选择排序,其时间复杂度为O(nlogn)。堆的定义  n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。  情形1:ki <= k2i 且ki <= k2i+1 (最小化堆或小顶堆)  情形2:ki >= k2i 且ki >= k2i+1 (最大化堆或大顶堆)  其中i=1,2,…,n/2向下取整;  若将和此序列对应的一维数组(即以一维数组作此序列的存储结构)

2015-10-06 21:36:32 492

转载 解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid

linux重启nginx后出现nginx的pid丢失netstat -apn|grep 80 0 0.0.0.0:80 0.0.0.0:* LISTEN 2070/nginx KILL掉2070kill 2070 重新加载 /usr/local/nginx/sbin/nginx -s reload 如果继续报错

2015-09-23 10:10:43 460

原创 MySQL问题,设置为不允许为空的字段却可以为空

所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字, Mysql3.23.0或以后支持用<=>用来比较两个NULL值是否相等, 即 select * from table where id <

2015-09-18 17:03:38 12692

原创 centos下安装Python之MySQLdb

yum -y install mysql-dev wget http://downloads.sourceforge.net/project/mysql-python/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmysql-python%2F&ts

2015-09-18 15:15:17 663

原创 navicat无法连接Linux虚拟机中MySQL

Error: 1130 - Host’ClientIP’ is not allowed to connect to this MySQL server 解决方法:使用root用户登陆Linux,更改容许登陆的IP地址范围。 授权: mysql>grant all privileges on . to ‘root’@’%’ identified by ‘rootpasswd’ with gra

2015-09-17 21:18:21 4985

转载 浅析python 中__name__ = '__main__' 的作用

开始学习python的时候经常会看到python 中name = ‘main’ 这样的代码,可能开始学习的时候都比较疑惑,python 中name = ‘main’ 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: “Make a script both importable and executable” 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。

2015-09-16 16:23:11 352

转载 Centos 6.4 python 2.6 升级到 2.7

查看python的版本#python -V Python 2.6.6 1.下载Python-2.7.3#wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 2.解压#tar -jxvf Python-2.7.3.tar.bz2 3.更改工作目录#cd Python-2.7.3 4.安装#./configure

2015-09-11 19:47:40 312

原创 POSIX多线程--线程基本操作接口

与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”打头的链接这些线程函数库时要使用编译器命令的”-lpthread“选项int pthread_create(pthread_t thread, const pthread_attr_t *attr, void (start_routine)(void), void *arg); 功能:创建一个新的线程 参数: t

2015-08-29 15:30:42 479

转载 徐汉彬:亿级Web系统搭建——单机到分布式集群

转载: http://www.csdn.net/article/2014-11-06/2822529/1 大规模流量的网站架构,从来都是慢慢“成长”而来。而这个过程中,会遇到很多问题,在不断解决问题的过程中,Web系统变得越来越大。并且,新的挑战又往往出现在旧的解决方案之上。希望这篇文章能够为技术人员提供一定的参考和帮助。 以下为原文当一个Web系统从日访问量10万逐步增长到1000万,甚至超过

2015-08-24 14:15:50 454

转载 徐汉彬:Web系统大规模并发——电商秒杀与抢购

转载: http://www.csdn.net/article/2014-11-28/2822858 电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因?

2015-08-24 13:57:12 546 1

转载 C++中struct和class的区别

是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。 struct能包含成员函数吗? 能! struct能继承吗? 能!! struct能实现多态吗? 能!!! 最本质的一个区别就是默认的访问控制,体现在两个方面:1)默认的继承访问权限。struct是public的,class是private的。 写如下的代码:

2015-08-23 23:01:15 369

原创 socket编程--socket基本概念

socket socket可以看成是用户进程与内核网络协议栈的编程接口,不仅可以用于本机的进程间通信,也可以用于网络上不同主机的进程间通信—而管道只能在同一台主机进行通信 应用层依靠socket进行数据传输,我们不必关心底层的内核,即底层数据的传输细节,只关心套接口的存在。可以把套接口看成进程间的通信,主机A上的进程通过套接口传输数据到主机B的进程。 IPv4套接字地址结构struct sock

2015-08-22 20:12:34 296

原创 socket编程--粘包

流协议与粘包 首先说明的是发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,也就是说,应用程序所看到的数据是一个整体,或说是一个流(stream),一条消息有多少字节对应用程序是不可见的,因此TCP协议是面向流的协议,这也是容易出现粘包问题的原因。而UDP是面向消息的协议,每个UDP段都是一条消息,

2015-08-22 17:32:04 353

原创 socket编程--TCP客户/服务器模型 (c/s)及基本函数

TCP客户/服务器模型 回射客户/服务器 socket、bind、listen、accept、connect–函数1、socket函数#include <sys/socket.h>int socket(int domain, int type, int protocol);功能:创建一个套接字用于通信 参数:domain:指定通信协议族(protocol family)

2015-08-22 17:27:47 1041

原创 socket编程--close、shutdown

close与shutdown区别1、close终止了数据传送的两个方向 2、shutdown可以有选择的指针某个方向的数据传送或者终止数据传送的两个方向 3、shutdown how=1就可以保证对等方接受到一个EOF字符,而不管其他进程是否已经打开了套接字。而close不能保证,直到套接字引用计数减为0时才发送。也就是说直到所有的进程都关闭了套接字 例如之前的多进程:int conn =

2015-08-22 17:23:34 535

原创 tinyhttpd解析

tinyhttpd是一个轻量级的Http服务器,加上注释才500行,代码量较小,适合Unix网络编程的初级学者,tinyhttpd包括了基本的socket编程所用到的函数。百度即可下载源码。 下载解压后,编辑Makefile文件: httpd: httpd.c gcc -W -Wall -lpthread -g -o httpd httpd.c make编译httpd.c运行

2015-08-22 16:37:41 758 1

转载 copy、copy_backward函数区别

copy和copy_backward函数的功能其实是一样的,无非是从第1个开始拷贝和从最后一个开始拷贝的区别。先看一下这两个函数的参数: copy(first,last,result);//first为容器的首迭代器,last为容器的末迭代器,result为结果数组。copy_backward(first,last,result);//first为容器的首迭代器,last为容器的末迭代器,resu

2015-08-21 22:59:39 1635

原创 gdb调试错误:No symbol table is loaded. Use the "file" command.

通过ps -aux | grep httpd查看httpd进程的PID,然后gdb attach ‘PID’后,调试出现错误:No symbol table is loaded. Use the “file” 产生原因是源文件在编译时,没有使用 -g 参数。 加入-g参数,然后重新编译,然后再GDB调试就可以了

2015-08-21 14:54:38 1743

转载 TIME_WAIT 太多的解决办法

TIME_WAIT客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT.主动关闭的一方在发送最后一个 ack 后就会进入 TIME_WAIT 状态 停留2MSL(max segment lifetime)时间这个是TCP/IP必不可少的,也就是“解决”不了的,也就是TCP/IP设计者本来是这么设计的主要有两个原因1。防止上一次连接中的包,迷路后重新出现

2015-08-21 11:37:18 369

转载 TCP状态转移图学习总结

这是网络编程的基础,tcp的状态转移图说到底就是一个状态机的不同状态之间的转换关系以及触发这些状态需要的条件,一共存在11个状态,我们来逐一分析: 1.CLOSED:起始点,在超时或者连接关闭时候进入此状态。2.LISTEN:svr端在等待连接过来时候的状态,svr端为此要调用socket, bind,listen函数,就能进入此状态。此称为应用程序被动打开(等待客户端来连接)。3.SYN_SEN

2015-08-21 11:18:10 409

原创 socket编程--粘包

流协议与粘包流协议与粘包 首先说明的是发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,也就是说,应用程序所看到的数据是一个整体,或说是一个流(stream),一条消息有多少字节对应用程序是不可见的,因此TCP协议是面向流的协议,这也是容易出现粘包问题的原因。而UDP是面向消息的协议,每个UDP段都是

2015-08-08 16:06:46 350

原创 socket编程--socket基本概念

socket socket可以看成是用户进程与内核网络协议栈的编程接口,不仅可以用于本机的进程间通信,也可以用于网络上不同主机的进程间通信—而管道只能在同一台主机进行通信 应用层依靠socket进行数据传输,我们不必关心底层的内核,即底层数据的传输细节,只关心套接口的存在。可以把套接口看成进程间的通信,主机A上的进程通过套接口传输数据到主机B的进程。IPv4套接字地址结构struct sockad

2015-08-08 15:49:59 353

转载 Sizeof与Strlen的区别与联系

转载: http://www.cnblogs.com/carekee/articles/1630789.html 一、sizeof sizeof(…)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此siz

2015-08-03 13:54:33 400

原创 《Unix网络编程卷1-套接字联网API》第一个例子编译

第一个例子:一个简单的时间获取客户程序,利用GCC编译会出错,需要查看源码中的README文档。下载源码 unpv13e解压,可看到README文档,打开可看到:Execute the following from the src/ directory: ./configure # try to figure out all implementation differences c

2015-07-24 21:32:09 972

转载 c++中union的使用

“联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,已达到节省空间的目的(还有一个节省空间的类型:位域)。 这是一个非常特殊的地方,也是联合的特征。另外,同struct一样,联合默认访问权限也是公有的,并且,也具有成员函数。联合与结构的区别: “

2015-07-06 22:57:57 477

转载 placement new 操作符

转载: http://blog.csdn.net/zhangxinrun/article/details/5940019 placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。它的原型如下:void *operator new( size_t, v

2015-07-02 23:28:49 290

转载 防SQL注入

什么是SQL注入(SQL Injection) 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。尝尝SQL注入 1. 一个简单的登录页面 关键代码:(详细见下载的示例代码)privat

2015-07-02 15:19:25 526

转载 浅拷贝、深拷贝 Bitwise Copy和Memberwise Copy

转载: http://blog.csdn.net/arcsinsin/article/details/9815937 C++中类的默认的拷贝构造函数是按位拷贝的,也就是直接将一个对象的成员值拷贝过来; 比如一个类A,我们不显示提供拷贝构造函数的话: 如下:class{ int a; char arr[10];char *p;};A a1;A a2=a1;这个时候,a2和a1的

2015-06-23 22:48:23 454

转载 C++ static关键字

转载: http://www.vckbase.com/index.php/wv/1426C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的static 1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们

2015-06-17 17:02:35 259

原创 C++ 临时对象

临时对象通常产生于4种情况: 1、类型转换 2、按值传递 3、按值返回 4、对象定义类型转换通常是为了让函数调用成功而产生的临时对象:传递某对象给一个函数,而其类型与它绑定的参数类型不同。 例如:void test(const string& str);char buffer[] = "buffer";test(buffer);//此刻发生类型转换编译器类型转换:产生一个类型为st

2015-06-17 11:02:54 491

原创 C++ 深拷贝和浅拷贝

拷贝的两种方式:浅拷贝、深拷贝浅拷贝就是对象的数据成员之间的简单赋值,如果设计了类而没有提供拷贝构造函数,当用该类的一个对象去给另一个对象赋值是所执行的过程就是浅拷贝。如:class A{public:A(int _data):data(_data){}A(){}private:int data;};int main{A a(5), b =

2015-06-15 20:53:36 359

转载 C++中的临时对象

我们知道在C++的创建对象是一个费时,费空间的一个操作。有些固然是必不可少,但还有一些对象却在我们不知道的情况下被创建了。通常以下三种情况会产生临时对象:  1,以值的方式给函数传参;  2,类型转换;  3,函数需要返回一个对象时; 现在我们依次看这三种情况:   一,以值的方式给函数传参。   我们知道给函数传参有两种方式。1,按值传递;2,按引用传递。按值

2015-06-14 20:56:30 372

原创 错误 1 error LNK2019: 无法解析的外部符号 "public: __thiscall chain<int>::~chain<int>(void)" (??1?$chain@H@@QAE@

错误 1 error LNK2019: 无法解析的外部符号 "public: __thiscall chain::~chain(void)" (??1?$chain@H@@QAE@XZ),该符号在函数 _main 中被引用C:\Users\LXL\Desktop\c++_test\0606\ConsoleApplication1\ConsoleApplication1\ConsoleApp

2015-06-06 23:27:42 7126

IT项目经理成长手记

IT项目管理者学习不错的资源,把自己的实际项目与这本书融合,适合新人! 完整版,含全部书签目录 非常不错的资源 整本书以亲身经历的故事穿插理论知识的写法,很容易让人接受。 里面讲了多种控制项目的工具和方法,以及项目的不同周期要思考和解决的问题,写得很不错! 里面讲到了很多项目上遇到的问题,让人受益匪浅!

2017-09-04

宾馆酒店管理系统(C#源码 MySQL)

宾馆酒店管理系统(C#源码 MySQL)

2015-04-02

空空如也

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

TA关注的人

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