技术分享 -- 180




200x200


简介PHP 的成功得益于他拥有大量的库函数,并且在 PHP3 以后提供了 PHP 扩展的支持,这样,如果你需要使用 PHP 去做一

#技术帖    #php    #c语言    #技术分享   

200x200


修改 nginx config 并编译默认 nginx 编译后是 release 版本,不允许调试,需要对配置文件进行修改&nbs

#技术帖    #linux    #c语言    #unix网络编程   
迭代服务器迭代服务器的主进程即监听进程,进入监听状态后阻塞于 accept 操作,当监听进程 accept 到新的连接后,通过 fork 方式派生出来服务进程处理请求,处理完成后服务进程退出Apache web服务器就是以这种方式工作的优点开发流程清晰,并且服务进程与主进程隔离,安全性高缺点频繁 fork 带来机器性能的损耗,效率较低,适合请求并发量小,每次请求处理比较耗时的业务并发性服务器与迭代服务器相同,主进程进入监听状态,然后创建一个进程池或线程池,池中的业务进程或业务线程都在该 socket 上执行 accept 操作竞争请求处理权,进行请求的处理,主进程(主线程)负责维护进程池(线程池)中进程(线程)的数量和状态优点拥有较强的并发性能,可以处理并发请求量较大的应用场景异步服务器由于IO复用模型 select、epoll 等同时等待多个描述符的卓越性能,可以大大提高网络操作的效率,因此越来越多的开源力作使用异步模型进行服务的处理,如 memcache、redis、nginx 等在单进程中,监听线程通过 select、epoll 等IO复用模型进行整个服务中网络连接、读写等事件的监听优点网
#技术帖    #apache    #服务器    #技术分享   
<?php /** * 检证文件类型类 * * @author Silver */ class FileTypeValidation { // 文件类型,不同的头信息 private static $_fileFormats = Array( 'jp2' => '0000000C6A502020', '3gp' => '0000002066747970', '3gp5' => '0000001866747970', 'm4a' => '00000020667479704D3441', 'ico' => '00000100', 'spl' => '00000100', 'vob' => '000001BA', 'cur' => '00000200', 'wb2' => '00000200', 'wk1' => '0000020006040600', 'wk3' => '00001A0000100400', 'wk4' => '00001A0002100400', 'wk5' => '00001A0002100400', '123' => '00001A00051004', 'qxd' => '00004D4D58505
#技术帖    #php    #文件类型    #文件   
简介在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等等。字符串是0个或更多个字符的序列。文本也就是文字,字符串。说某个字符串匹配某个正则表达式,通常是指这个字符串里有一部分(或几部分分别)能满足表达式给出的条件。入门最简单的例子就是 hi,可以查找到文本中全部的 hi 字符串,如果忽略大小写,就可以匹配全部的 hi、Hi、HI、hI,同时可以匹配到 him、history 等等文本中的 hi元字符常用元字符元字符意义反义意义\w匹配字母、数字、下划线或汉字\W匹配非数字、字母、下划线或汉字\s匹配任意空白字符\S匹配任意非空白字符\d匹配数字\D匹配非数字\b匹配单词开始或结束\B匹配不是单词开始或结束的位置^匹配字符串开始$匹配字符串结束.匹配除换行外的任意字符  示例讲解\bhi\b可以精确匹配出来 hi\b -- 匹配一个位置,他的前后两个字符不全是\w这样,使用 \bhi\b 就可以精确匹配出 hi 这个单词了,而不会让&
#技术帖    #技术分享    #正则表达式    #regular   
问题写页面的时候遇到一个问题,抽象一下就是这样: <span class='label'><i></i><i></i></span> <span class='label'><i></i><i></i></span> <span class='label'><i></i><i></i></span> <span class='label'><i></i><i></i></span> <span class='label'><i></i><i></i></span>  要对每一个 span 的第一个 i 进行操作,比如 addClass('aa') 分析网友给出了两个答案:$('span.label i:first').addClass('aa') 实际上这个选择器只选中了第一个 span 的第一个&nb
#技术帖    #web    #技术分享    #遗留问题   

200x200


概述top 命令是 linux 下常用的性能分析工具,能够实时监控系统中各进程的资源占用情况top 命令会动态显示,不停刷新,显示系统中 CPU&nb

#技术帖    #linux    #unix    #服务器   
# # Minimal Sphinx configuration sample (clean, simple, functional) # source src_all { type = mysql sql_host = localhost sql_user = root sql_pass = zeyu2032 sql_db = zeyu_blog sql_port = 3306 # optional, default is 3306 sql_query = \ SELECT article_id, lower(draft) FROM article; sql_attr_uint = article_id } index all { source = src_all path = /usr/local/sphinx/var/data/zeyu_blog/all mlock = 0 morphology = none docinfo = extern min_word_len = 1 html_strip = 0 #stopwords = /path/to/stowords.txt的位置 charset_type = zh_cn.utf-8 ngram_len
#技术帖    #linux    #配置文件    #mysql   
概述通过 ps 命令可以查看到当前进程的状态ps 所列出的进程状态码如下表所示:进程状态码D不可中断 Uninterruptible sleep (usually IO)R正在运行,或在队列中的进程S处于休眠状态T停止或被追踪Z僵尸进程W进入内存交换(从内核2.6开始无效)X死掉的进程额外的状态标识
#技术帖    #linux    #unix    #技术分享   
概述实际上,GDB 没有对多进程程序调试提供直接支持。例如,使用GDB调试某个进程,如果该进程fork了子进程,GDB会继续调试该进程,子进程会不受干扰地运行下去。如果你事先在子进程代码里设定了断点,子进程会收到SIGTRAP信号并终止。那么该如何调试子进程呢?其实我们可以利用GDB的特点或者其他一些辅助手段来达到目的。此外,GDB 也在较新内核上加入一些多进程调试支持。follow-fork-mode 方法在2.5.60版Linux内核及以后,GDB对使用fork/vfork创建子进程的程序提供了follow-fork-mode选项来支持多进程调试。follow-fork-mode 的用法set follow-fork-mode [parent|child] parent: fork之后继续调试父进程,子进程不受影响。child: fork之后调试子进程,父进程不受影响。因此如果需要调试子进程,在启动gdb后:(gdb) set follow-fork-mode child 并在子进程代码设置断点。断开调试 -- detach-on-fork参数set detach-on-fork [on|off] on: 断开调试follow-fork-mode指定的进程。o
#技术帖    #linux    #unix    #c语言   



京ICP备15018585号