最后更新于 .

这是我们 在windows下搭建mysql,php,apache环境 系列的最后一章,即《在windows下搭建mysql,php,apache环境(4)-wordpress的部署》 (欢迎查看前三章::《在windows下搭建mysql,php,apache环境(1)-mysql的部署》 《在windows下搭建mysql,php,apache环境(2)-php的部署》《在windows下搭建mysql,php,apache环境(3)-apache的部署》) 其实在前三章里,我们已经成功的搭建了mysql+php+apache的环境了,之所以要讲一下wordpress的部署,只是为了真正测试一下这个环境的可用性,同时也给那些想要搭建wordpress的朋友一个例子。

四.wordpress部署    

(1)安装    

a)下载wordpress最新版本,并将文件copy到C:\Program Files\Apache Software Foundation\Apache2.2\htdocs下。    

b)在命令行,mysql ...

最后更新于 .

现在我们进行 在windows下搭建mysql,php,apache环境 的第三篇,在windows下部署apache(前两篇如下:《在windows下搭建mysql,php,apache环境(1)-mysql的部署》 《在windows下搭建mysql,php,apache环境(2)-php的部署》),这一章担负着整合php+mysql+apache的重任,所以十分重要

三.apache
    (1)安装
        双击运行

 

Snap17
        确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续

Snap18
        设置系统信息,在Network Domain下填入您的域名(比如:vimer.cn),在Server Name下填入您的服务器名称(比如:www.dantezhu-pc.vimer.cn,也就是主机名加上域名 ...

最后更新于 .

承接上一篇文章 《在windows下搭建mysql,php,apache环境(1)-mysql的部署》,我们现在来部署php

二.php
    (1)安装
        a)最好下载压缩包而不是安装版,因为安装版会少很多dll
        b)直接将下载好的php包copy到C:/根目录,更名为php,如我的目录就是C:/php/。
    (2)配置
        a)打开php目录,会发现两个文件,php.ini-recommended和php.ini-dist,区别如下:
        php.ini-recommended的安全等级比php.ini-dist高。默认是把display_errors 设置为 off,将 magic_quotes_gpc 设置为Off等等。而相对的php.ini-dist都是默认的配置。 所以说,如果你只是想进行web测试和普通开发,使用php.ini-dist,不然就是用php.ini-recommended
        在这里我们选择php.ini-dist ...

最后更新于 .

之前有搭建过mysql+php+apache在windows下的环境,为了方便以后自己和大家查阅,所以,重新做了一遍。目标是保证wordpress可以在上面正常的运行起来,至于discuzz的话,可能还需要对php进行一些特殊的配置。
让我们按照mysql -> php -> apache的顺序来介绍吧,因为这样配置起来会更方便些。
其中版本号分别为:

mysql:Ver 14.12 Distrib 5.0.67, for Win32 (ia32)
apache:Ver 2.2.14-win32-x86-no_ssl
php:Ver 5.2.11-Win32

一、mysql
    (1) 安装
        双击运行

mysql1
        选择 Custom 自定义安装,如下图所示:

Snap2
        把开发环境也装上,如下图所示:

Snap4
        待文件复制安装完毕后,进行 MySQL 设置界面,单击 Finish ...

最后更新于 .

在C/C++中,我们经常会需要实现类似printf这样的函数,即函数的参数个数是不定的,这个时候就需要用到我们这篇文章讲到的方法啦。
首先,我们要知道这种函数,如何来定义。比如我想实现一个函数能够支持 fun(“%d”,1);
那么这个函数的定义实际上如下:

void fun(const char *fmt, …);

其中…的意思是说参数无法一一列出,所以用…代替,至于怎么解,我们稍后再说。
比较特殊的一点是,如果你希望将上面的函数定义成一个宏,那么这个宏可以这样写:

#define FUN(fmt, args…)    fun(fmt, ##args)

又假设你希望宏能够自动加上换行符,那么可以这样写:

#define FUN(fmt, args…)    fun(fmt“\n”, ##args)

OK,那么函数定义的问题我们就解决啦,但是怎么来解呢?
C里面提供了va_start,va_arg,va_end这样几个函数,解释如下:
va_start使argp指向第一个可选参数。va_arg返回参数列表中的当前参数并使argp指向参数列表中的下一个参数。va_end把argp指针清为NULL。函数体内可以多次遍历这些参数 ...

最后更新于 .

今天无意中发现这样一款插件,众所周知,js在正式上线的时候一般都会经过压缩来减少容量,而一旦你拿到的是这样一个经过压缩的js代码,估计看的头都大了,而这款插件,可以很简单的将js代码变得整齐而有序~ 首先,我们去下载这款插件。下载地址 然后放到plugin目录下。 这时打开一个js文件,我们就可以按下 <leader>ff,来查看效果啦,一般来说,如果没有重新设置过<leader>的话,就是\键。 截图如下: 转换前:

1

转换后:

2

当然,这个插件的官网上还提供了在线整理代码的功能,有兴趣的朋友可以去看一下: http://jsbeautifier.org/ OK,就到这里啦。 版权所有,转载请注明出处.https://www.vimer.cn

最后更新于 .

以下是我这几天一直在用的几个命令,先记下来,以后会整理一份mysql详细的使用文档 注:[]中代表名字,需要用库名或者表名替换 显示所有的库:

show databases;

进入某库:

use [dbname];

显示所有的表:

show tables;

显示某表的字段配置:

describe [tbname]; 或 show full fields from [tbname]; 创建库:

create database [dbname];

删除表:

drop database [dbname];

删除表:

drop table [tbname];

导入创建脚本:

mysql -u[user] -p [dbname] < [create.sql ...

最后更新于 .

1、建立连接协议(三次握手)
(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。
(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。
(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。
2、连接终止协议(四次握手)
   由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
 (1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。
 (2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
 (3) 服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。
 (4) 客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。

3、状态解释
CLOSED: 这个没什么好说的了,表示初始状态。
LISTEN: 这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了 ...

最后更新于 .

之前已经在博客里写过一篇关于限速的文章,这几天给别人用时发现,用C方式的结构式代码的确不方便别人使用,所以就用C++封装了一下,用起来也简单了很多。
主要实现了:
1.对速度的限制
2.动态调整速度的侦测周期,减少由于限速而带来的对CPU的消耗。
希望大家批评建议。

使用方法很简单,如下:

#include <iostream>
#include "timelimit.h"
using namespace std;
int main()
{
    CTimeLimit timelimit;
    //设置每秒最多10个
    timelimit.Init(10);
    while(1)
    {
        timelimit.DetectAndLimit();
        printf("%d\n",timelimit.Speed());
    }
}

源代码下载