摘要: 写了一个Linux下用crontab每天自动执行的python脚本,要执行一句修改数据表的sql,大致如下:sql = "UPDATE table SET depart='bbb' WHERE depart='aaa' AND dataname LIKE 'xxx_%'"conn = MySQLdb... 阅读全文
posted @ 2014-06-12 21:24 任者 阅读(1374) 评论(0) 推荐(0) 编辑
摘要: 一、安装apache1.安装pcre./configure --prefix=$安装路径/pcre3.安装apr & apr-util将apr-1.4.6 与apr-util-1.4.1 更名为apr 和apr-util, 放在./httpd-2.4.2/srclib/下2.安装apache(htt... 阅读全文
posted @ 2014-06-11 14:48 任者 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 一、前言上次阿里电话面试,被问到了内存泄露的解决办法,但是我只知道智能指针,面试官问我还有其他办法吗,我没答上来。后来一查才知道可以有专门的工具用来检测,今天把这个工具简单实践一下。Valgrind是一套可以用于内存检测、线程错误检测、性能分析等的工具集。memcheck是其中一个内存错误检测器,今天主要学习这个工具。二、安装从官网下载源代码并解压:valgrind-3.9.0.tar.bz2gzip2 -d valgrind-3.9.0.tar.bz2tar xvf valgrind-3.9.0.tar安装:./autogen.sh./configure --prefix=/usr/bin/ 阅读全文
posted @ 2014-04-01 16:04 任者 阅读(295) 评论(0) 推荐(0) 编辑
摘要: Git学习使用之旅一、前言以前版本管理工具只用过SVN,对Git仅有所耳闻但未曾用过。直到前两天收到360实习生的在线面试题目,题目发布在github上,要求我也把答案也提交到github上去,顿时觉得书到用时方恨少!随后花了几个小时熟悉了github的基本操作完成了题目,但是只用的是Git的图形界面的基本功能,今天把之前学的总结下,也把命令行下的操作方法也学学。二、Windows下图形化客户端这里用到了TortoiseGit。先安装msysgit再安装TortoiseGit,前者是Git for Windows,后者是Windows Shell Interface to Git。安装使用方法 阅读全文
posted @ 2014-03-24 17:11 任者 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1.C语言中,使用malloc/calloc分配空间后,检查分配是否成功的方法是:判断返回值是否为NULL。例如:int *a = malloc(SIZE);if (a == NULL) return -1;2.标准C++中new失败默认抛出std::bad_alloc异常,故检查返回值的方法无效,正确的方法是:用try,catch捕获异常。例如:try{ int *a = new int[SIZE];}catch (std::bad_alloc &e){ std::cout << e.what() << std::endl; return -1;}3.标准C+ 阅读全文
posted @ 2014-03-22 22:28 任者 阅读(1047) 评论(0) 推荐(0) 编辑
摘要: 1.安装官网下载:jetty:http://www.eclipse.org/jetty/tomcat:http://tomcat.apache.org/将下载的zip压缩包解压到/usr/local/jetty文件夹:unzip jetty.zip -d /usr/local/jettyTomcat就直接解压到根目录unzip tomcat.zip -d /tomcat2.配置环境变量执行vim /etc/profile 或vim /etc/profile.d/custom.shexport JETTY_HOME=/usr/local/jettyTomcat:export TOMCAT_HOM 阅读全文
posted @ 2013-11-13 21:29 任者 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 一、WEB服务器与应用程序服务器1.Web服务器处理HTTP请求(request),响应(response)HTML页面。2.应用程序服务器提供的是客户端应用程序可以调用的方法,即通过很多协议来为应用程序提供 (serves)商业逻辑 (business logic)。应用程序服务器的功能:安全服务(Security Services)状态和会话管理(State and Session Management)负载平衡和失败恢复(Load Banlancing and Fail-Over)业务和处理逻辑(Business and Processing Logic)胖客户访问服务器组件(Rich- 阅读全文
posted @ 2013-11-13 17:23 任者 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 大家经常接触到诸如:“数组名可以当作指向数组首元素的指针用”、“指针可以用数组下标方式进行访问”这些事实,所以数组和指针的概念经常被混淆,其实数组和指针是完全不同的两种类型,下面本文分析一些常常被人们忽略的事实。1.数组和指针是两种完全不同的类型int arr[10] = {0,1,2,3,4,5,6,7,8,9};int *p_arr = arr; 数组名arr代表着内存中有一块连续的区域,这个区域存储了10个int变量,它的大小在编译时已经确定(动态数组除外)。 指针名p_arr代表着内存中的可以一个块,这个块的大小为足够表示地址的大小,这个块的内容是一个int变量所在的地址。在内存中是. 阅读全文
posted @ 2013-10-23 20:24 任者 阅读(769) 评论(0) 推荐(0) 编辑
摘要: 一、什么是“分支预测逻辑”?为什么需要它? 由于处理器通过流水线技术来提高性能,而流水线要求事先知道接下来要执行的具体指令,才能保持流水线中充满待执行的指令。当在程序中遇到分支语句/条件跳转时,问题就出现了,处理器不确定下一条指令是什么,这时就需要进行“分支预测逻辑”来确定哪一条指令进入流水线。 如果预测了一个分支加入流水线,之后确发现它是错误的分支,处理器要回退该错误预测执行的工作,再用正确的指令填充流水线。这样一个错误的预测会严重浪费时钟周期,导致程序性能下降。举个例子:一个人走到一个岔路口(分支语句),他不知道正确的路是左边还是右边。如果他选择了一条路走了一会后发现不对,他就要再返回到岔 阅读全文
posted @ 2013-10-22 17:51 任者 阅读(2132) 评论(2) 推荐(0) 编辑