- 博客(56)
- 资源 (17)
- 收藏
- 关注
原创 mysql general log 查看mysql 执行历史
我们有时候需要查看mysql的执行历史,比如我们做sql优化的时候,起码要知道执行的sql是什么,框架一般会帮我们拼装sql,所以在程序中不一定能够打印出sql,这个时候就需要mysql的general log了。
2015-08-19 15:46:53
13784
原创 原码 补码
整数在计算机中都是以二进制的方式存储的,例如 2 = 0000 0010。最高位是符号位,0表示正数,1表示负数。正数的情况很容易理解,但是负数存储的是补码 ,-2 = 1111 1110。(一) 概念 以8位的字长为例 正数补码==原码 负数补码为,除符号位外取反,然后加1 +2 = 0000 0010[原码] = 0000 0010[补码] -2 = 1000 001
2015-07-14 11:09:10
2060
原创 浮点数 ieee 754
十进制小数转化为计算机存储过程以9.625单精度(32位)为例十进制数转二进制表示 9.625 = 1001.101 = 1 × 2 3 + 0 × 22 + 0 × 21 + 1 × 20 + 1 × 2-1 + 0 × 2-2 + 1 × 2-3 二进制数规范化 ieee 754规定,二进制表示必须按照格式±d.dd…d × βe , (0 ≤ d i < β) 即1001.
2015-07-10 15:18:40
1143
原创 二叉排序树转化为有序双向链表
题目:给出一棵排序二叉树根节点,将二叉树转化为有序的双向链表,只修改指针指向显然这是个经典的题目,难点也不多,重在好好理解排序二叉树的特性和二叉树的递归性质。解法:思路:排序二叉树既有特殊性left所以,将left和right子树分别转化完成后,root节点放在中间即可。当需要转化left子树的时候a)left == null,那么无需转化,head
2013-05-10 21:07:27
1790
原创 排序二叉树常规操作(搜索,插入,删除,最大节点,最小节点)
感谢参考http://www.cnblogs.com/zhuyf87/archive/2012/11/09/2763113.htmlhttp://www.cnblogs.com/GoAhead/archive/2012/10/26/2741508.html名字:二叉排序树又称为二叉搜索树和二叉查找树概念:以下情况可以定义一棵二叉排序树 a)空树
2013-05-09 21:12:55
1953
原创 在二叉树中查找两个节点的最近的公共祖先节点(有回溯指针)(NCA--nearest common ancestor)
这个题目有两个变种:有回溯指针的二叉树和无回溯指针的二叉树题目:给出两个节点node1,node2和二叉树根节点root,查找node1和node2的最近的公共祖先节点;特殊值(简易)之处在于每个节点都有一个指向父节点的回溯指针解法一:最常规的解法--依次轮询思路:使用回溯指针可以找到node1和node2到root的路径,在这两条路径上总有一个汇聚点,通过
2013-05-08 20:55:22
1125
原创 在二叉树中查找两个节点的最近的公共祖先节点(无回溯指针)(NCA--nearest common ancestor)
这个题目有两个变种:有回溯指针的二叉树和无回溯指针的二叉树题目:给出两个节点node1,node2和二叉树根节点root,查找node1和node2的最近的公共祖先节点解法一:最常规的解法思路:仍然是递归性质(我们可以这样理解递归:左子树和右子树在形式上都等同于根树,这就形成了递归的条件)。试想把一棵树分为三个部分:root,left,right那么no
2013-05-08 19:20:55
1284
原创 最大连续子数组
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。解法一:最基本的轮询思路:找出所有的连续子数组,求和
2013-05-07 18:08:54
937
原创 短字符串a中的字母是否都包含在长字符串b中
感谢参考http://kb.cnblogs.com/page/150578/按照笔记本的分类,我们应该先说题目聊算法。题目:假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法上讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有?举例:比如,如果是下面两个字符串:String 1: ABCDEF
2013-05-07 15:34:19
1099
原创 二叉树遍历(前中后层序/非递归)
感谢参考如下http://www.cnblogs.com/kekec/archive/2011/10/11/2207671.htmlhttp://kb.cnblogs.com/page/150578/一:前中后序递归实现/*前中后序的递归实现理解起来最为简单,要点在于visit(node)的位置。*//*前中后序递归实现*///前序遍历void BT_PreOrder
2013-05-07 12:01:58
1176
原创 php 库函数ip2long实现
public function ip2LongMe($ip) { $array = explode('.', $ip); return $array[3] + ($array[2] }
2013-04-27 16:17:08
847
原创 php 数组 传递 引用
情景:function addItem($array){ $array[] = 'c';}function main(){ $array = array('a', 'b'); addItem($array); $length = count($array);//2 addItem(&$array);
2013-04-27 16:16:31
1834
原创 php 获取对象所有属性(仅公有属性)
有的情况下我们会想要获取对象的所有属性,可以处理如下: 1)仅仅获取公有属性要点:函数get_object_vars($instance)实现:function get_object_vars($instance){ $varArray = get_object_vars($instance); return array_keys($varArr
2013-04-27 16:15:53
13200
原创 php var_dump和var_export
var_dump:用法:var_dump($var1,$var2……)说明:打印变量类型,值,长度参数:要打印的变量或者表达式返回值:无返回值举例:1)bool,int,float,string,array, $a0 = true; $a1 = 1; $a2 = 1.234;
2013-04-27 16:15:11
1599
翻译 redis 配置文件 append only file(aof)部分---数据持久化
上一篇翻译之后,发觉通过翻译虽然比较吃力(不熟悉,多练习应该可以更熟练),但是能够较好的帮助理解redis的功能,遂继续翻译了aof部分,如下原文:############################## APPEND ONLY MODE ################################ By default Redis asynchronously dumps t
2013-04-09 10:09:33
24555
翻译 redis 配置文件 snapshotting RDB数据库快照部分
初次翻译,多有纰漏,敬请指正。今天学习redis的rdb数据持久化,突发兴致,遂将配置文件的snapshotting部分翻译如下。原文:################################ SNAPSHOTTING ################################### Save the DB on disk:## save ##
2013-04-08 17:22:48
9028
1
原创 无聊的双向冒泡排序
在网上看到了 both way bubble sort的算法,但是分析之后觉得在效率上等同于第二次优化的bubble sort。实现如下: void bothWayBubbleSort( int array[]) { int left = 0, right = array.length - 1; while (left < r
2013-03-12 16:48:06
1089
原创 合并有序链表
合并两个升序链表,要点在于:边界条件判断,即链表可能为空。剩下的就是依次比较两个链表的头结点,把更小的节点放到新链表中去,继续遍历。算法实现如下:/*1: 边界条件判断2: 头结点的值3:*/Node * mergeOrderedLinkedList(Node *head1, Node *head2){ //边界条件判断 if(null == head1
2013-03-12 15:31:31
1063
原创 查找单链表中间节点
题目的解法当然不可能是一次遍历得到链表长度,然后再遍历一半,那是最最没办法的办法。在链表中很多题目的解法都跟大小指针有关。比如这道题目,设立两个指针,一个单步走,一个两步走,当大步指针到达链表尾部的时候,小步指针也正好位于链表中间位置。算法实现如下:Node * findMiddleNodeOfLinedList(Node *head){ //判断空链表、单节点链表 if
2013-03-12 13:49:14
7192
原创 单链表反序
单链表的每个节点都指向下一个节点,所以要想将单链表反序,需要同时知道相连的三个节点,这样将中间节点的指针指向前一个节点之后仍然可以继续向后遍历链表。算法实现如下:Node * singleLinkedListReverse(Node *head){ //判断空链表、单节点链表 if(null == head || null == head->next) {
2013-03-12 13:33:38
5337
2
原创 redis配置简介
配置文件是一种很强大的东西,可以用来控制工具的功能表现哪些以及如何表现,所以熟悉配置文件是深入了解一项技术的必经之路。下面是我摘抄的一部分配置项,有些比较难理解的和高级配置,还没能够领会,有待添加。redis配置简介1--daemonize 是否作为守护进程开启,如果作为守护进程启动,则会在系统中生成pid文件2--pidfile如第一条所说,守护进程会将进程号写入pi
2013-03-08 18:48:46
1368
原创 面试之------判断单链表是否有环
某次面试中第一道题目,但是结果没思路。单链表的每个节点都单向指向下一个节点,所以如果有环则只可能是链表尾指向了前面的某个节点(可能是头节点或者任意)。下面是算法实现:bool is_loopList(listNode *head){ listNode *p1 = *p2 = head; //边界判断 if(null == head || null == h
2013-03-08 16:55:43
1032
原创 ubuntu 设置 redis 开机启动
来源:http://blog.chinaunix.net/uid-22312037-id-3484071.html 今天,沉住气,了结了redis开机启动的遗憾。对我来说,这是个不小小的工作,如果要完全弄懂的话。困难如下: 1---redis启动脚本,及shell脚本的编写。 2---linux服务机制,那些进程会如何开机启动关闭。 其中也的确遇到了一些困难。好在今天状
2013-03-07 20:23:31
5264
原创 php.ini 常用 配置
参考:http://legolas.blog.51cto.com/2682485/493917这个文件必须命名为''php.ini''并放置在httpd.conf中的PHPIniDir指令指定的目录中。最新版本的php.ini可以在下面两个位置查看:http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=cohttp:/
2013-03-07 15:15:20
7124
原创 nginx 配置 详解(待指点/更新)
#运行用户user www www;#启动进程,通常设置为和cpu数量相等worker_processes 1;#错误日志error_log /home/wwwlogs/nginx_error.log crit;#PID文件pid /usr/local/nginx/logs/nginx.pid;#Specifies the value for maxim
2013-03-07 13:49:47
4181
原创 面试之------常用排序算法(冒泡,快排,插入 等)
来源:http://blog.youkuaiyun.com/agwujiang/article/details/5829443(一)冒泡排序(Bubble Sort)算法描述:每次都将最大的变量交换到最靠右的位置,第N次遍历肯定会将第n大的数字放到合适的位置,总共进行length-1次。算法实现: void bubbleSort(int array[]) { boolean exch
2013-03-06 18:37:36
1245
原创 linux phpredis扩展 安装
高速缓存redis性能很好,值得一试。我用的是php扩展redis,但是每次安装的时候都不是很顺利,遂记录如下。1--下载扩展包。网上推荐的地址,我没能够下到安装包(如果有下到的请指教一下),比如这个https://github.com/nicolasff/phpredis/downloads。所以,我找了个版本自己存起来了。http://download.youkuaiyun.com/detail/
2013-03-01 18:27:40
8220
转载 linux 环境变量
一、什么是环境变量?Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。二、定制环境变量 环境变量是和Shell紧密相关的,它是通过Shell命令来设置的。环境变量又可以被所有当前用户所运行的程序所使用。对于bash来说,可以通过变量名来访
2013-03-01 18:09:47
675
原创 linux 添加 系统路径
到现在为止,切换到linux下有小半年儿了,离熟练运用还有一大段距离;成长缓慢的原因不是没遇到足够多的问题,而是遇到了问题却没能及时的记录,及时的复习,当然也没能够深入的举一反三的思考。经常觉得问题很简单,不值得记录;事实上linux也不是很复杂,高深之处就在于他的旁杂灵活,跟英语一样知识点颇多;而一旦掌握了非常多的小知识点后,驾轻就熟也就水到渠成了。作为新手,经常遇到安装完新程序之后,每次都
2013-03-01 10:56:13
3842
4
原创 ubuntu 激活root
ubuntu的root用户名在默认的情况下是不被激活的,因此你只能通过sudo来提升自己用户的权限,但是这种坏处是每次都要输入密码确认,相当的繁琐,而且如果把sudo的配置文件sudoers文件损坏之后很难恢复,如果有root用户,仍然比较容易修复。激活 root 帐号:sudo passwd rootEnter your existing passwordEnter passwo
2013-02-25 14:53:52
1656
原创 linux php 调试工具 xdebug 安装
1:获取安装包。http://xdebug.org/download.php2:解压。tar zxvf xdebug-2.2.1.tgz3:php扩展命令--->phpize(xdebug作为php的扩展,在运行命令时,要确保使用的是你所要扩展的php,所以最好使用全路径“你的php安装路径/bin/phpize”)。4:编译。同样要跟php相关连,所以用命令 ./configur
2013-02-17 16:46:51
4796
原创 linux 安装zend studio
1.获取安装包官网:http://www.zendstudio.net/zend-studio-all-in-one-download/。根据对应操作系统选择安装包。2.解压tar -zxvf xx.tar.gz3.破解很权威的文章。http://www.geekso.com/ZendStudio9-key
2013-02-17 16:04:05
6356
原创 linux 查看版本号
登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:dylan@dylan:~/Desktop$ lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 12.04.1 LTSRelease: 12.04Codenam
2013-02-16 09:48:55
1075
原创 我们爱面试,一面一学-----微软谷歌面试100题--【54】调整数组顺序使奇数位于偶数前面
同上一篇,这篇是看来的题目,自面试而已。题目:调整整数数组中元素的顺序,使所有奇数位于偶数的左面。这应该算快排的一部分思路:找到一个比较标准,然后从数组两头分别搜索,找到两个不符合的元素后,交换位置。C代码如下:#include #include void swap(int *q, int i, int j){ int temp = q[i]; q[i] =
2012-09-28 19:29:53
1708
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人