自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 PHP扩展

记录下早期开发第一个-完整PHP扩展经历,写了个文件缓存,当然只是作为扩展开发的一个入门,想用在真实环境中,直接PHP就能写出来,先贴下代码:PHP_FUNCTION(cache_set){int key_len,con_len,i,ttl_len,buffer_len; int *ttl = NULL;char *key = NULL;//zval *content ;

2013-04-23 13:43:25 1017

原创 消息队列

消息队列是UNIX内核中的一个先进先出的链表结构,可以将输出的信息进行了打包处理,可以对信息进行分类处理, 标记各种类别的信息。一个或多个进程可向消息队列写入或读取消息,这种进程间通讯机制通常使用在客户/服务器模型中,客户向服务器发送请求消息,服务器读取消息并执行相应请求。在许多微内核结构的操作系统中,内核和各组件之间的基本通讯方式就是消息队列。例如,在 MINIX 操作系统中,内核、I/O

2013-04-16 11:27:13 405

原创 Unix下C语言编程之进程控制

fork与 vfork的区别调用fork创建的子进程, 将共享父进程的代码空间, 复制父进程数据空间, 如堆栈等,fork之后,子进程和父进程都会继续执行fork调用之后的指令。子进程对父进程中的同名变量进行修改并不会影响其在父进程中的值。该函数被调用一次,但返回两次。两次返回是在不同的地址空间返回的,是在各自的进程地址空间返回的,其中子进程的返回值是0,而父进程的返回值则是新子进程的

2013-04-11 10:43:50 397

原创 Linux下静态库和动态库相关

库分静态库和动态库两种。其中1. 静态库     类库的名字一般是libxxx.a     因整个库的所有数据都会被整合进目标代码中所以静态库编译成的文件比较大,,编译后的执行程序不需要外部的函数库支持,即静态库改变位置或改名时,程序不受影响,如果     改变了,要想升级程序必须重新编译。   不会发生应用程序在不同Linux版本时标准库不兼容的问题。 2. 动态库

2013-04-08 11:39:08 364

原创 改变图片地址即可实现图片自动缩略

一般的资讯站图片自然少不了,但一张图片在网站各个位置中展现的尺寸是不一样的,一般的方法是后台在上传图片过程中生成想要的尺寸,但一旦有新的需求,又需要去改动程序,比较麻烦,结合之前社区自动生成用户头像的方法,我又利用 了 nginx的fastcgi_cache大致的nginx 配置如下(fastcgi_cache 可网上搜如何使用及如何配置):fastcgi_cache_path   /tm

2013-03-25 16:29:41 399

原创 smarty温习

smarty基本工作流程其实就是其引擎将前台模板文件和后台的PHP程序(index.php)整合在一起,经过编译,生成了一个可执行的php代码,编译后的文件一般就是存放在$compile_dir所指定的目录。所以主要流程即,保存变量数组(由后台PHP生成的变量通过assign存起来,如存在$this->_tpl_vars中),然后读取模板,用正式匹配模板文件并生成编译文件(根据模板修改时间看是否需

2013-03-21 17:54:47 305

原创 利用lua 协同程序处理大文件

<br /> <br />print(os.clock())<br />--把data.txt中的数据拷贝到data2.txt<br />local filename='e://data.txt'<br />local filename_1='e://data2.txt'<br />local f = io.input(filename)<br />local t = io.open(filename_1,'wb')<br />--调整每次读取的数据量,不同环境下最优数值都不同<br />local BUF

2010-12-13 16:26:00 350

原创 c api lua互相调用

C:static int test_cfun(lua_State *L) { double d = lua_tonumber(L, 1); lua_pushnumber(L, d); return 1; }int main (void){ int z; lua_State *L = lua_open(); lua_pushcfunction(L,test_cfun); lua_setglobal(L, "test_cfun"); luaL_openlibs

2010-12-05 14:30:00 207

原创 c语言 Linux网络编程 起步

<br />今天开始 学下Linux网络编程,主要是想学C,菜鸟也来玩玩哈,写了个简单的聊天室。。<br />首先用C建个socket服务,开始接收请求,并写入文件(其他代码省略)<br />while(1) {<br />len = sizeof(struct sockaddr);<br />if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &len)) == -1) {<br />perror("accept");<br />exi

2010-11-24 22:24:00 212

原创 php性能优化相关

<br /><br />优化是要花尽可能小的代价获得最大的优化。以大代价获得极小的优化,那就是找死,浪费时间<br />下面的均来自于网上,我进行的搜集整理,有其他或者觉的不对的同学可补充<br /> <br />1.有条件可将静态与动态分开到两个服务器上。将动态应用的KeepLive关闭,将静态服务器的KeepLive打开。 <br /> <br />2.尽量考虑使用缓存<br />eAccelerator(加速PHP引擎,同时也可以加密PHP源程序)<br />memcache(一个高性能的分布式的内存

2010-10-25 15:37:00 245

原创 关于微博feed系统推拉模式的一些想法

<br />最近看了一些关于微博feed系统推拉模式及时间分区拉模式的架构,结合之前自己所开发的,提出一些想法,之前的项目也是采用推模式,但没太注重数据储存这块,但当一些明星用户或被关注的粉丝达到一个量级时所产生的数据量真是不敢想像的<br />当看到时间分区拉模式时,突然想到了很早之前的一个想法, 或许可以结合着一起使用,采用推模式虽然速度快,性能高,但他会产生大量的数据,系统越大,所产生的数据量就越惊人,而时间分区拉模式呢,虽然解决了数据量的问题,但对于feeds表来说压力会很大,性能也不如推模式,不过

2010-10-23 10:45:00 1323

原创 php使用memcache来存储session

<br /><br />优点:读写速度比 用files 时快,支持多个服务器共享 session,但memcached服务器down机后就会丢失数据<br /> <br />1. php.ini 中全局设置 <br />session.save_handler = memcache <br />session.save_path = "tcp://127.0.0.1:11211" <br /> <br />2.目录下的 .htaccess : <br />php_value session.save_han

2010-10-22 14:17:00 390

原创 smarty相关

<br />今天帮助一个朋友解决一个关于smarty问题,当然是临时性的,在这里记录一下(smarty好久没用了,或许我这个方法是太傻瓜,之后有时间在改改)<br />我朋友的需求要支持以下功能:<br /> <br />$smarty->assign('v', 'hi');<br />$val = $smarty->fetch('<#--$v-->');<br />echo $val;<br /> <br />冒似没用过,不管他smarty原本支不支持,改了在说(我是流氓-_-/)<br /> <br /

2010-10-21 14:16:00 259

转载 php性能分析工具

<br /><br />XDebug:(http://xdebug.org/) 客户端工具(Windows):WinCacheGrind<br /> <br />PEAR Benchmark:先安装PEAR,http://pear.php.net/package/Benchmark/download Benchmark工具类包共有三个文件,分别是Timer.php、Iterate.php和Profiler.php<br />1,Benchmark_Timer类原理与通过microtime函数获取微秒时间再比

2010-10-20 17:09:00 2758

原创 mysql相关知识

进入:mysql -u root -p导入/导出:mysql -uroot -ppassword database ()(备份/导入)路径/1.sql导出:mysqldump -u root -p database导入:mysqldump -u root -p database修改密码mysqladmin -u用户名 -p旧密码 password 新密码 增加一个用户test密码为abc,让他可以在任何主机上登录,并对test数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL 命令: 

2010-10-09 09:48:00 387

转载 PHP的运行原理

<br />   1. 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的; <br />   2. PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口); <br />   3. PHP总共有三个模块:内核、Zend引擎、以及扩展层; <br />   4. PHP内核用来处理请求、文件流、错误处理等相关操作; <br />   5. Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它; <br />   6. 扩展层

2010-07-15 17:20:00 1616

原创 Apache请求处理循环详解

<br /> Apache将请求处理循环分为11个阶段,依次是:Post-Read-Request,URI Translation,Header Parsing,Access Control,Authentication,Authorization,MIME Type Checking,FixUp,Response,Logging,CleanUp。<br /> <br /> 1、Post-Read-Request阶段    在正常请求处理流程中,这是模块可以插入钩子的第一个阶段。对于那些想很早进入处理请求的

2010-07-15 14:17:00 599

原创 iis 无法启动的问题

说来挺杯具,这个问题好像遇到过N次了,从大学一直到现在,今天又遇到,不过我也不太用IIS环境的,一般只是为了帮助下朋友而以,像今天有位朋友说他的ASP程序有问题,于是想在本地运行看发现IIS启动不起来了(本地xp下一直用apache,所以IIS一直是关的),现在一点点解决吧,反正go一下吧 提示 “服务器没有及时响应启动或控制请求”Ok,我搜, World Wide Web Publi

2010-04-13 16:02:00 201

转载 nginx.conf详解,nginx的配置文件

#使用哪个用户启动nginx 前面是用户,后面是组user  www www;#nginx工作的进程数量worker_processes 2;# [ debug | info | notice | warn | error | crit ]   错误日志的位置error_log  /var/htdocs/logs/nginx_error.log  crit;#进程号保存文件pid /u

2010-04-08 16:23:00 701

转载 大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网

2010-04-08 13:31:00 185

转载 nginx源代码分析

Nginx可以开启多个进程,每个进程拥有最大上限128个子线程以及一定的可用连接数。如果你希望使用线程可以在配置文件中设置worker_threads这个参数,但这个参数在Nginx官方手册上没有。只有通过阅读源代码才看到。最大客户端连接数等于进程数与连接数的乘积,连接是在主进程中初始化的,一开始所有连接处于空闲状态。每一个客户端请求进来以后会通过事件处理机制,在Linux是Epoll,在Free

2010-04-08 10:55:00 254

xml方式载入图片自动轮换显示

flash 与 xml结合 载入图片自动轮换显示

2008-09-03

空空如也

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

TA关注的人

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