- 博客(18)
- 资源 (5)
- 问答 (4)
- 收藏
- 关注
原创 php之配置ZendFrame开发环境
本人开发环境是Ubuntu121、去官网下载ZendFrame开发包,目前最新的是:ZendFramework-1.12.15.tar.gz解压后,将bin目录下的zf.sh、zf.php文件拷贝到/usr/bin目录下sudo vim ~/.bashrc最后一行添加:alias zf=/usr/bin/zf.sh将ZendFramework-1.12.15.tar.gz压
2015-08-31 10:26:09 880
原创 php实现发送邮件
php简单实现一个邮件发送功能<?php //pear install Mail Mail_Mime //需要安装mail库 //mail("xxxxxxxxx@qq.com", "This is subject", "this is body"); require('Mail.php'); require('Mail/mime.php'); $name =
2015-08-27 15:01:28 642
原创 php文件上传功能
仅仅实现一个小的上传功能,并没有过多注意代码的质量html test the php upload new file to website upload a file : test3.php<?php if($_FILES['userfile']['error']
2015-08-26 14:20:13 498
原创 封装connect/c++连接mysql
参考前一篇文章参考网址:http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#trx头文件:#include #include #include "mysql_connection.h"#include "mysql_driver.h"#include "mysql_error.h"
2015-08-18 16:50:39 2687
原创 c++连接mysql编程(mysq-connector/c++)
本文使用为linux下载c++链接mysql的头文件及动态库:http://mirrors.sohu.com/mysql/Connector-C%2b%2b/mysql-connector-c++-1.1.6-linux-glibc2.5-x86-32解压缩到某个文件下,解压目录如下:.├── include│ ├── cppconn│ │ ├── bui
2015-08-17 16:24:45 7050 4
转载 值得推荐的C/C++框架和库 (真的很强大)
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/
2015-08-13 16:34:19 856
原创 实现平衡二叉树
平衡二叉树主要涉及四种情况:左左、右右、左右、右左四种调整左左时://进行左旋TreeNode* AvlTree::singleLeft(TreeNode* node1){ TreeNode* node2 = node1->lson; node1->lson = node2->rson; node2->rson = node1; return node2;}右右:
2015-08-13 14:41:16 444
原创 Redis之小端转大端
redis的Endianconv.c文件主要服务于inset集合升级,其实看以看出它是做了个转换,将小端转成大端的方法#include /* Toggle the 16 bit unsigned integer pointed by *p from little endian to * big endian */void memrev16(void *p) { unsign
2015-08-12 16:36:54 1507
原创 Redis之双链表
Redis数据结构大量使用双链表,实现在Adlist.h、Adlist.c文件中双链表结构定义:链表节点typedef struct listNode { struct listNode *prev; struct listNode *next; void *value;} listNode;链表typedef struct list { l
2015-08-12 11:22:08 514
转载 Redis 的跳跃表实现
Redis 的跳跃表由 redis.h/zskiplistNode 和 redis.h/zskiplist 两个结构定义, 其中 zskiplistNode 结构用于表示跳跃表节点, 而zskiplist 结构则用于保存跳跃表节点的相关信息, 比如节点的数量, 以及指向表头节点和表尾节点的指针, 等等。 header | tail | level \n 5 | length \n
2015-08-12 09:23:23 469
原创 跳跃表解析
为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。 用跳表吧,跳表是一种随机化的数据结构,目前
2015-08-12 09:12:48 662
原创 Redis字符串的巧妙处理
sds在Redis中是实现字符串对象的工具,并且完全取代char*.char*的功能比较单一,不能实现Redis对字符串高效处理的需求,char*的性能瓶颈主要在:计算字符串长度需要使用strlen函数,该函数的时间复杂度是O(N),而在Redis中计算字符串长度的操作十分频繁,O(N)的时间复杂度完全不能接受,sds实现能在O(1)时间内得到字符串的长度值;同时,在处理字符串追加appe
2015-08-11 17:56:19 2104
转载 7种查找算法解析
查找成功时的平均查找长度为:(假设每个数据元素的概率相等) ASL = 1/n(1+2+3+…+n) = (n+1)/2 ;当查找不成功时,需要n+1次比较,时间复杂度为O(n);所以, 顺序查找的时间复杂度为O(n ) 。C++实现源码://顺序查找int SequenceSearch(int a[], int value, int n){ int i
2015-08-11 15:03:45 46192 1
原创 Redis安装及使用介绍
1、下载安装redis官网下载redis-3.0.3.tar.gztar -xvzf redis-3.0.3.tar.gzcd redis-3.0.3make && make install测试执行;打开服务端:/usr/local/bin/redis-server (使用6379端口号)打开客户端:/usr/local/bin/redis-cliset nam
2015-08-11 10:00:29 481
原创 通过mmap函数快速实现文件复制
编程实例:#include #include #include #include #include #include #include #include #include #include #include using namespace std;int main(int argc, char *argv[]){ void *ptr, *ptr2; int f
2015-08-07 16:12:46 1283
原创 共享内存实例
POSIX 为创建、映射、同步和取消共享内存段提供五个入口点:shm_open:创建共享内存段或连接到现有的已命名内存段。这个系统调用返回一个文件描述符。shm_unlink():根据(shm_open() 返回的)文件描述符,删除共享内存段。实际上,这个内存段直到访问它的所有进程都退出时才会删除,这与在 UNIX 中删除文件很相似。但是,调用 shm_unlink() (通常由原来创建共
2015-08-07 15:01:00 675
原创 memcached源码分析之四
还是从Memcached.c文件的main函数开始,逐步分析Memcached的实现 if (!sanitycheck()) { return EX_OSERR; }static bool sanitycheck(void) { /* One of our biggest problems is old and bogus libevents */
2015-08-06 11:51:40 593
原创 getaddrinfo函数使用
getaddrinfo()函数详解IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。getaddrinfo函数能够处理名字到地址以及服务到端口这两种转
2015-08-03 09:48:56 865
tcp 未连接会触发写事件EV_WRITE吗
2016-07-02
按照设定概率产生不重复随机数
2015-04-23
c++ 复制指针释放问题
2015-04-07
libevent多线程服务器错误
2015-03-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人