简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年10月1日

摘要: 在PHP中有两套正则表达式函数库。一套是由PCRE(Perl Compatible Regular Expression)库提供的。PCRE库使用和Perl相同的语法规则实现了正则表达式的模式匹配,其使用以“preg_”为前缀命名的函数。另一套是由POSIX(Portable Operation System interface)扩展库提供的。POSIX扩展的正则表达式由POSIX 1003.2定义,一般使用以“ereg_”为前缀命名的函数。两套函数库的功能相似,执行效率稍有不同。一般而言,实现相同的功能,使用PCRE库的效率略占优势。下面详细介绍其使用方法。正则表达式的匹配1.preg_ma 阅读全文
posted @ 2013-10-01 16:43 ggjucheng 阅读(6881) 评论(1) 推荐(0) 编辑

摘要: 目前WEB的应用中, UTF-8编码和GB2312编码是并存在的,例如百度(baidu.com)和谷歌(google.com)的URL编码分别是GB2312编码和UTF-8编码。由于编码并存引起的乱码问题给WEB应用开发中带来不少麻烦,因此统一编码是在WEB开发中解决这个问题的主要途径。现在的问题是我们同时得处理UTF-8编码和GB2312,例如我们要统计一个网站由搜索引擎中带来的访问的关键词。比如我们搜“中文”这个词,然后观察浏览器地址栏。用Baidu得到的结果是:http://www.baidu.com/s?wd=%D6%D0%CE%C4用Google得到的结果是:http://www.g 阅读全文
posted @ 2013-10-01 16:35 ggjucheng 阅读(8788) 评论(0) 推荐(0) 编辑

摘要: 今天网站出现一个BUG,然后直接在数据库类里面写日志,看是哪条SQL出了问题,SQL语句到是找到了,但是不知道这条SQL语句来自何处,于是就想啊,如果能有一个办法,查看当前正在运行的这个方法是被哪个方法调用的,以及上一个方法又是哪个方法调用的,以此类推,找到入口地址多好啊。不过以前自己也想过,也在网上去搜过,就是没有找到相关的办法,今天一同事(前辈)说JAVA里面这种调试用得很普遍,叫这种堆栈调试,我是就在网上搜PHP堆栈。居然被我找到了,然后把自己的办法写出来。function print_stack_trace(){ $array =debug_backtrace(); //pri... 阅读全文
posted @ 2013-10-01 15:52 ggjucheng 阅读(10688) 评论(0) 推荐(1) 编辑

摘要: # ci server { listen 80; server_name my.clb.com; root /var/website/ci; index index.php index.html index.htm; access_log logs/my.clb.com_access.log main; location / { index index.php root /var/website/ci; if ($request_filename !~ (js|css|images|robots\.txt|index\.php) ) { rewrite ^(.*)$ /index.php/$1 阅读全文
posted @ 2013-10-01 15:41 ggjucheng 阅读(3794) 评论(0) 推荐(0) 编辑

摘要: 配置多个ip简单的说,打开httpd.conf 在最后加入如下内容: DocumentRoot d:/AppServ/www2 ServerName 127.0.0.2:80 Options Indexes FollowSymLinks Multiviews AllowOverride All Order Allow,Deny Allow from all"d:/AppServ/www2" 为你的站点存放目录:重启apache2以后,你的虚拟主机就配置好了,以后就可以通过127.0.0.2,和127.0.0.3进入不同的站点了。配置虚拟主机 Server... 阅读全文
posted @ 2013-10-01 15:37 ggjucheng 阅读(12144) 评论(1) 推荐(0) 编辑

摘要: 下载和配置php 下载php:http://windows.php.net/download/ php-5.4.16-Win32-VC9-x86.zip 下载apache: http://httpd.apache.org/download.cgi#apache22 一、首先将php5内的所有dll文 阅读全文
posted @ 2013-10-01 15:33 ggjucheng 阅读(32923) 评论(0) 推荐(2) 编辑

摘要: IO调度器(IO Scheduler)是操作系统用来决定块设备上IO操作提交顺序的方法。存在的目的有两个,一是提高IO吞吐量,二是降低IO响应时间。然而IO吞吐量和IO响应时间往往是矛盾的,为了尽量平衡这两者,IO调度器提供了多种调度算法来适应不同的IO请求场景。其中,对数据库这种随机读写的场景最有利的算法是DEANLINE。接着我们按照从简单到复杂的顺序,迅速扫一下Linux 2.6内核提供的几种IO调度算法。1、NOOPNOOP算法的全写为No Operation。该算法实现了最最简单的FIFO队列,所有IO请求大致按照先来后到的顺序进行操作。之所以说“大致”,原因是NOOP在FIFO的基 阅读全文
posted @ 2013-10-01 15:10 ggjucheng 阅读(1846) 评论(0) 推荐(0) 编辑

摘要: 我们经常需要在机器之间传输文件。比如备份,复制数据等等。这个是很常见,也是很简单的。用scp或者rsync就能很好的完成任务。但是如果文件很大,需要占用一些传输时间的时候,怎样又快又好地完成任务就很重要了。在我的测试用例中,一个最佳的方案比最差的方案,性能提高了10倍。复制文件如果我们是复制一个未压缩的文件。这里走如下步骤:压缩数据发送到另外一台机器上数据解压缩校验正确性这样做会很有效率,数据压缩后可以更有效的利用带宽使用ZIP+SCP我们可以通过ZIP+SCP的组合实现这个功能。gzip -c /home/yankay/data | ssh yankay01 "gunzip -c 阅读全文
posted @ 2013-10-01 15:05 ggjucheng 阅读(11486) 评论(0) 推荐(2) 编辑

摘要: 用ssh连其他linux机器,会等待10-30秒才有提示输入密码。严重影响工作效率。登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因:1. DNS反向解析的问题OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就会很花时间。解决办法:在目标服务器上修改sshd服务器端配置,并重启sshdvi /etc/ssh/sshd_config,设置UseDNS为no即可当然也可以通过提供DNS正确反向解析的方法解决,有如下两种思路(1) 在s 阅读全文
posted @ 2013-10-01 14:57 ggjucheng 阅读(24298) 评论(0) 推荐(1) 编辑

摘要: TCP正常建立和关闭的状态变化TCP连接的建立可以简单的称为三次握手,而连接的中止则可以叫做 四次握手。建立连接在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入EST 阅读全文
posted @ 2013-10-01 14:53 ggjucheng 阅读(9427) 评论(1) 推荐(3) 编辑

摘要: 工作中,一些程序,需要随机启动,但是不是以root用户运行,于是需要在rc.local中通过shell,从root用户切换到其他用户运行程序,命令如下:su -c 'command' - usersudo -u peter /home/blue/hi.sh实例在/etc/rc.d/rc.local中加入如下内容:#vi /etc/rc.d/rc.local su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/lsnrctl start" su - oracle -c "/u01/app/oracl 阅读全文
posted @ 2013-10-01 14:14 ggjucheng 阅读(8634) 评论(0) 推荐(0) 编辑

摘要: 名称: pmap - report memory map of a process(查看进程的内存映像信息)用法 pmap [ -x | -d ] [ -q ] pids... pmap -V选项含义 -x extended Show the extended format. 显示扩展格式 -d device Show the device format. 显示设备格式 -q quiet Do not display some header/footer lines. 不显示头尾行 -V show version Displays version of program. 显示版本扩展格式和设备 阅读全文
posted @ 2013-10-01 13:59 ggjucheng 阅读(33271) 评论(0) 推荐(0) 编辑

摘要: ubuntu命令行模式操作svn首先要安装SVN客户端到你的系统才能操作各种命令apt-get install subversion1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit -m "LogMessage&q 阅读全文
posted @ 2013-10-01 12:59 ggjucheng 阅读(2489) 评论(0) 推荐(2) 编辑

摘要: 单例创建模式是一个通用的编程习语。和多线程一起使用时,必需使用某种类型的同步。在努力创建更有效的代码时,Java 程序员们创建了双重检查锁定习语,将其和单例创建模式一起使用,从而限制同步代码量。然而,由于一些不太常见的 Java 内存模型细节的原因,并不能保证这个双重检查锁定习语有效。它偶尔会失败,而不是总失败。此外,它失败的原因并不明显,还包含 Java 内存模型的一些隐秘细节。这些事实将导致代码失败,原因是双重检查锁定难于跟踪。在本文余下的部分里,我们将详细介绍双重检查锁定习语,从而理解它在何处失效。单例创建习语要理解双重检查锁定习语是从哪里起源的,就必须理解通用单例创建习语,如清单 1 阅读全文
posted @ 2013-10-01 12:41 ggjucheng 阅读(1463) 评论(1) 推荐(0) 编辑

摘要: 引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通过深入分析能帮助我们正确的使用Volatile变量。术语定义术语英文单词描述共享变量在多个线程之间能够被共享的变量被称为共享变量。共享变量包括所有的实例变量,静态变量和数组元素。他们都被存放在堆内存中,Volatil 阅读全文
posted @ 2013-10-01 12:32 ggjucheng 阅读(753) 评论(0) 推荐(0) 编辑

摘要: 根据Java语言规范中的说明,JVM系统中存在一个主内存(Main Memory),Java中所有的变量存储在主内存中,对于所有的线程是共享的(相当于黑板,其他人都可以看到的)。每个线程都有自己的工作内存(Working Memory),工作内存中保存的是主存中变量的拷贝,(相当于自己笔记本,只能自己看到),工作内存由缓存和堆栈组成,其中缓存保存的是主存中的变量的copy,堆栈保存的是线程局部变量。线程对所有变量的操作都是在工作内存中进行的,线程之间无法直接互相访问工作内存,变量的值得变化的传递需要主存来完成。在JMM中通过并发线程修改的变量值,必须通过线程变量同步到主存后,其他线程才能访问到 阅读全文
posted @ 2013-10-01 12:01 ggjucheng 阅读(1050) 评论(0) 推荐(1) 编辑

摘要: 基础类1、 Dinkumware C++ Library参考站点:http://www.dinkumware.comP.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+ +的产品中采用Dinkumware的库。2、 RogueWave Standard C++ Library参考站点:http://www.roguewave.com这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的 阅读全文
posted @ 2013-10-01 11:37 ggjucheng 阅读(3861) 评论(0) 推荐(0) 编辑

摘要: 教程 html教程 CSS 教程 JavaScript 教程 参考手册 HTML 4.01 / XHTML 1.0 参考手册 CSS 参考手册 JavaScript 参考手册 PHP 手册 CodeIgniter 用户指南 开发常用 php5.5+apache2.4+mysql5.7在windows 阅读全文
posted @ 2013-10-01 11:26 ggjucheng 阅读(5822) 评论(0) 推荐(0) 编辑

摘要: 1.安装软件apt-get install ifenslave2.修改配置文件/etc/network/interfacesauto loiface lo inet loopbackiface eth0 inet dhcpiface eth1 inet dhcpauto bond0iface bond0 inet staticaddress 64.0.177.20netmask 255.255.255.0gateway 64.0.177.254up ifenslave bond0 eth0 eth1down ifenslave -d bond0 eth0 eth13.加载模块vi /etc/m 阅读全文
posted @ 2013-10-01 11:07 ggjucheng 阅读(1541) 评论(0) 推荐(0) 编辑

摘要: 【PConline资讯 】从算盘到计算器,从大型机到个人PC,再到当今火热的移动终端和云计算,人类计算史已经走过了千年之久,现代IT计算领域也经过了百年浮沉。在世界工业领域,IT技术应该是诞生时间最短却对当今人类影响最大的。 如果让读者您列数你所熟知的十大IT巨头,大部分人会脱口而出苹果、IBM、联想、华为、三星、索尼如此等等。其实整个IT行业虽然只有百余年的历史,但是已经几经浮沉,无数曾经的王者已经伴随被收购、破产等退出历史的舞台,令人不甚唏嘘。盘点已经逝去的IT巨头 下面,笔者就和大家聊聊不为当前很多消费者熟知知名IT巨头,了解一下王安电脑、北电、SUN等品牌在百年IT舞台上的浮沉史... 阅读全文
posted @ 2013-10-01 10:34 ggjucheng 阅读(1677) 评论(0) 推荐(0) 编辑