10 2013 档案

摘要:Thread先引入一个例子:>>> from threading import Thread,currentThread,activeCount>>> >>> def test(s):... print "ident:",currentThread().ident... print "count:",activeCount()... print s... >>> >>> Thread(target = test, args =('Hello',)). 阅读全文
posted @ 2013-10-28 21:38 小郭学路 阅读(15396) 评论(0) 推荐(0) 编辑
摘要:虽然之前一直见过两个Join,对于其具体的含义也在参考书上读过,但是一直没有记住。现在换一种方式进行学习,改为实验方式理解。Left Join测试表:表结构很简单,test包括两个int字段,test2只包含一个int字段mysql> show create table test\G *************************** 1. row *************************** Table: testCreate Table: CREATE TABLE `test` ( `a` int(11) DEFAULT NULL, `b` int(11) D... 阅读全文
posted @ 2013-10-28 19:55 小郭学路 阅读(854) 评论(0) 推荐(0) 编辑
摘要:近期的书单:C方面:Cgg语言笔记软件调试的艺术Redis设计与实现Python:Python学习笔记MySQL:《MySQL高性能》算法:《算法导论》——MIT线上教程机器学习:斯坦福的线上教程(待更新) 阅读全文
posted @ 2013-10-26 21:24 小郭学路 阅读(163) 评论(0) 推荐(0) 编辑
摘要:http://mindhacks.cn/2009/02/15/why-you-should-start-blogging-now/(一)为什么你应该(从现在开始就)写博客用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处。(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极大损伤一样)让我说得更明确一点:用博客的形式来记录下你有价值的思考,会带来很多好处,却没有任何明显的坏处。Note:碎碎念不算思考、心情琐记不算思考、唠唠叨叨也不算思考、没话找话也不算思考,请以此类推。下面是我个人认为写一个长期的价值博客的最大的几点好处:1)能够交到很多 阅读全文
posted @ 2013-10-26 21:15 小郭学路 阅读(271) 评论(0) 推荐(0) 编辑
摘要:应届生面试:1、基础知识2、实习经验(关键点自己在这个项目的角色、做了哪些事情、有没有实干的地方??)3、学习能力(看过哪些书、哪些博客、有没有自己github)4、编程能力面试时间在20-30分钟机缘巧合地要参加部门的校园招聘,之前一直都是被别人面试,第一次面试别人,而且还是准备出校门的大学生。本着对他人对自己负责的态度,开始在网上搜一些面试的注意事项,结合自己的实际情况进行调整。如下记录一些自己感觉还挺不错的注意点,以供自己学习,以及结合后面具体的实践进行对比。1、面试官要注意两点:a、问自己熟悉的事情,但对方不要太陌生b、每一个问题都是带有刻度,能够分出高低(太简单太复杂的问题都不适合在 阅读全文
posted @ 2013-10-26 20:50 小郭学路 阅读(171) 评论(0) 推荐(0) 编辑
摘要:优化:子查询改写成关联查询线上遇到问题,查询较慢,如为对应SQL的查询执行计划:localhost.user>explain EXTENDED select uid from bar_user_6 where bid='9279' and uid in (SELECT a_uid FROM `user_atten_3` WHERE uid='1400696003') limit 12\G*************************** 1. row *************************** id: 1 select_type: PRIM 阅读全文
posted @ 2013-10-25 15:41 小郭学路 阅读(235) 评论(0) 推荐(0) 编辑
摘要:处理过程的总结:a、在接到前端反馈以及报警的时候,首先使用top查看哪个端口的访问压力最大反思:此次报警的端口是4117,压力特别大确实3347,这个再后面看的时候有点晚,而是先将其他压力相对较小的实例下线b、在处理的过程中,应该联系业务端,看看业务端能给哪些支持(例如,拒流量、降低服务等级以及或者只保留重要流量等)反思:此次处理过程,业务端暂停了流量,给后端数据库缓冲的时间,在数据库添加新的机器后,服务较快恢复c、处理过程中,尽管在show processlist中看到很对的连接,但是在使用use db的时候出现夯住问题反思:原因在于表数目太多(3万个),use db需要加载很多表的一些元信 阅读全文
posted @ 2013-10-24 21:15 小郭学路 阅读(194) 评论(0) 推荐(0) 编辑
摘要:在测试机安装vim7.3之后编辑中文文本出现乱码问题。vim在编译安装的时候:./configure --enable-gdb --enable-multibyte --enable-cscope--enable-multibyte支持多字节编码Include multibyte editing support在.vimrc中最后追加:set fileencoding=utf-8 ... 阅读全文
posted @ 2013-10-23 13:21 小郭学路 阅读(300) 评论(0) 推荐(0) 编辑
摘要:手动执行可以的,但是在crontab中却无法执行,在网上搜了一圈,给出的结论是将相对路径改成绝对路径。改了之后解决这个问题。是不是依赖某些环境变量,linux 里的 cron 只有几个基本的环境变量。改成:* * * * * source ~/.bashrc && /usr/bin/python3.... 阅读全文
posted @ 2013-10-23 13:20 小郭学路 阅读(491) 评论(0) 推荐(0) 编辑
摘要:vimgdb install**************a) You need:vim-7.3.tar.bz2 http://www.vim.org/sources.php vimgdb-for-vim7.3 (this patch) https://github.com/larrupingpig/vimgdb-for-vim7.3 b) Untar all files, apply the patch and make Vim:tar xjvf vim-7.3.tar.bz2 -C /tmptar xzvf vimgdb-for-vim7.3.tar... 阅读全文
posted @ 2013-10-22 12:53 小郭学路 阅读(783) 评论(0) 推荐(0) 编辑
摘要:待续 阅读全文
posted @ 2013-10-22 11:16 小郭学路 阅读(115) 评论(0) 推荐(0) 编辑
摘要:MySQL5.5以上版本安装是需要cmake安装步骤:设置编译参数cmake -DCMAKE_INSTALL_PREFIX='/data1/guosong/mysql_debug' -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=ONmake && make install生成mysql系统库表./scripts/mysql_install_dbchown -R mysql.mysql /data1/guosong/mysql_debug编译的时候参数说明:http: 阅读全文
posted @ 2013-10-22 10:55 小郭学路 阅读(433) 评论(0) 推荐(0) 编辑
摘要:表的数目在15585个,在使用use db的时候出现夯住从show processlist中看到一堆表在做排序,想看看这些表的表结构。使用use db之后夯住,没有办法查看。当时没有想到怎么办,鉴于当时数据量比较小在8G左右,故选择使用SSD紧急扩容以及前端辅助暂停流量。后来想到一个临时的解决方案:show create table weitv_video.xxx关于use db的时候MySQL做了哪些事情?从general log可以看如下语句:131022 22:38:46 2 Connect root@localhost on 131022 22:38:51 2 Que... 阅读全文
posted @ 2013-10-22 10:46 小郭学路 阅读(457) 评论(0) 推荐(0) 编辑
摘要:官方文档:http://docs.python.org/2.7/library/time.html#module-time 阅读全文
posted @ 2013-10-18 16:58 小郭学路 阅读(160) 评论(0) 推荐(0) 编辑
摘要:1、getopt——C风格命令行解析http://docs.python.org/2.7/library/getopt.html#module-getoptgetopt.getopt(args, options[, long_options])先引入一个例子:>>> import getopt>>> >>> args = "-a -b -cfoo -d bar a1 a2".split() #将输入的参数转换成一个列表,通常在实例应用中args = sys.argv[1:]>>> args['- 阅读全文
posted @ 2013-10-18 11:05 小郭学路 阅读(981) 评论(0) 推荐(1) 编辑
摘要:在源码sql/sql_parse.cc中定义const LEX_STRING command_name[]={{ C_STRING_WITH_LEN("Sleep") },{ C_STRING_WITH_LEN("Quit") },{ C_STRING_WITH_LEN("Init DB") },{ C_STRING_WITH_LEN("Query") },{ C_STRING_WITH_LEN("Field List") },{ C_STRING_WITH_LEN("Create D 阅读全文
posted @ 2013-10-17 21:19 小郭学路 阅读(491) 评论(0) 推荐(0) 编辑
摘要:{ "code": 0, // code为0表示成功,否则为1 "message": null, "data": { "syscpuidle": { "data": { "cpu": { // 整体cpu的使用情况 "cpuidle": 88.0, // Time spent in the idle task. (这些值都是百分比的数值) ... 阅读全文
posted @ 2013-10-17 19:55 小郭学路 阅读(797) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2013-10-17 16:55 小郭学路 阅读(3) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://www.cnblogs.com/yjf512/archive/2012/11/02/2751058.htmltimestamp设置默认值是Default CURRENT_TIMESTAMPtimestamp设置随着表变化而自动更新是ON UPDATE CURRENT_TIMESTAMP但是由于一个表中至多只能有一个字段设置CURRENT_TIMESTAMP两行设置DEFAULT CURRENT_TIMESTAMP是不行的。还有一点要注意1234567891011CREATE TABLE `device` (`id` INT(10) UNSIGNED NOT NULL A 阅读全文
posted @ 2013-10-17 15:28 小郭学路 阅读(335) 评论(0) 推荐(0) 编辑
摘要:教小孩子学编码http://scratch.mit.edu/http://v.163.com/movie/2013/3/H/I/M92389L06_M9238GTHI.html 阅读全文
posted @ 2013-10-17 13:46 小郭学路 阅读(277) 评论(0) 推荐(0) 编辑
摘要:#!/usr/bin/env python26#-*- coding:utf-8-*-def test(): a = 10 b = 20 return a,b #返回一个元组atuple= test()a,b = test()print atupleprint atuple[0]print atuple[1] 阅读全文
posted @ 2013-10-17 11:54 小郭学路 阅读(267) 评论(0) 推荐(0) 编辑
摘要:作用域测试例子:>>> a = 10>>> def test(): ... a = 20 ... print a... >>> a10>>> test()20>>> a #执行test之后,a的值还是10,没有变10这里涉及作用域问题。作用域函数形参和内部变量都存储在locals名字空间中。>>> def test(a,*args,**kwargs):... s = "Hello test!"... print locals()... >>> tes 阅读全文
posted @ 2013-10-16 20:26 小郭学路 阅读(277) 评论(0) 推荐(0) 编辑
摘要:import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() print (endtime - starttime).seconds import time start = time.time() #run code end = time.time() print end-start 阅读全文
posted @ 2013-10-16 17:46 小郭学路 阅读(251) 评论(0) 推荐(0) 编辑
摘要:需求引入在日常运维中,DBA可能经常会查看某个Query_Id对应哪些SQL,例如追查大事务问题;也可能业务端需要查看某时间端内所有SQL。然而mysql在输入全日志的时候没有在每行SQL前打印时间戳,对于存在多行的SQL也没有处理,故需要额外的工具解决这个问题,为此写了这个脚本。处理脚本主要操作类:1、完成换行补齐2、时间戳添加#!/usr/bin/env python26#-*- coding:utf-8 -*-import osimport sysimport requery_key_list = ["Sleep","Quit","Ini 阅读全文
posted @ 2013-10-16 15:03 小郭学路 阅读(655) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2013-10-16 11:32 小郭学路 阅读(1) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html在没有reload(sys)之前调用sys.setdefaultencoding("utf-8")出错>>> import sys>>> sys.getdefaultencoding()'ascii'>>> >>> sys.setdefaultencoding("utf-8")Traceback (most recent call last): Fil 阅读全文
posted @ 2013-10-16 10:41 小郭学路 阅读(233) 评论(0) 推荐(0) 编辑
摘要:file通常建议使用open()打开文件,file用于类型判断如果要把数据写到磁盘上,除调用flush()外,还得用sync(),以确保数据从系统缓冲区同步到磁盘。close()总是会调用这两个方法。打开模式:*r:只读*w:只写。已存在文件将被清除*a:添加。总是添加到文件尾部*b:二进制模式*r+:更新文件,可读写,不会截断文件*w+:更新文件,可读写,清除原有内容*a+:更新文件,可读写,总是在尾部添加后面三种模式之前没有使用过。文件对象还实现迭代器协议,可直接循环获取其内容:>>> f = open("test.txt","r" 阅读全文
posted @ 2013-10-15 21:27 小郭学路 阅读(519) 评论(0) 推荐(0) 编辑
摘要:random伪随机数生成模块。如果不提供seed,默认使用系统时间。使用相同seed,可获得相同的随机数序列,常用于测试。>>> from random import *>>> >>> a = Random();a.seed(1)>>> >>> a>>> [a.randint(1,100) for i in range(20)] #生成20个[1,100]以内的随机数[14, 85, 77, 26, 50, 45, 66, 79, 10, 3, 84, 44, 77, 1, 45, 73 阅读全文
posted @ 2013-10-15 20:52 小郭学路 阅读(373) 评论(0) 推荐(0) 编辑
摘要:将命令输出的结果给一个循环处理,常用的方式如下:[root@etch171 guosong]# ls |while read line;do echo $line;doneprocesslisttop使用EOF处理:[root@etch171 guosong]# while read line ;do echo $line;done `ls .`> EOFprocesslisttop[root@etch171 guosong]# ls .processlist top对应的需求是啥?将多行处理的结果传递给循环#!/bin/shmysql -uroot -p123456 <<E 阅读全文
posted @ 2013-10-15 18:19 小郭学路 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:1、原文https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf2、翻译版http://www.importnew.com/3292.html3、与HDFS对比http://blog.csdn.net/xiongwei1209/article/details/7309835 阅读全文
posted @ 2013-10-15 16:41 小郭学路 阅读(355) 评论(0) 推荐(0) 编辑
摘要:bisect>>> import bisect>>> >>> b = [ 20, 34, 35, 65, 78 ]>>> >>> bisect.bisect(b,25) #查找25在列表中的合适插入位置1>>> >>> b[20, 34, 35, 65, 78]>>> >>> bisect.bisect_left(b,35) #如果待查找元素在列表中存在,则返回左侧插入位置2>>> >>> bise 阅读全文
posted @ 2013-10-15 11:53 小郭学路 阅读(807) 评论(0) 推荐(0) 编辑
摘要:StringIO:提供类文件接口的字符串缓冲区,可选用性能更好的cStringIO版本:http://docs.python.org/2.7/library/stringio.html#module-cStringIOstructhttp://docs.python.org/2.7/library/struct.html#module-structstruct看上去有点像format,区别是它输出的是二进制字节序列。可以通过格式化参数,指定类型、长度、字节序(大小端)、内存对齐等 阅读全文
posted @ 2013-10-14 21:22 小郭学路 阅读(361) 评论(0) 推荐(0) 编辑
摘要:13、编译的标志可以用re.I、re.M等参数,也可以直接在表达式中添加"?(iLmsux)"标志*s:单行,“.”匹配包括换行符在内的所有字符*i:忽略大小写*L:让"\w"能匹配当地字符,貌似对中文支持不好*m:多行*x:忽略多余的空白字符,让表达式更易阅读*u:Unicode例子:>>> re... 阅读全文
posted @ 2013-10-14 21:16 小郭学路 阅读(333) 评论(0) 推荐(0) 编辑
摘要:类型对象负责创建对象实例,控制对象行为。那么类型对象又由谁来创建呢?元类(metaclass)——类型的类型New-Style Class的默认类型是type>>> class Data(object):... pass... >>> >>> Data.__class__>>> >>> type.__class__#最终的类型是type,包括type自己关键字class会被编译成元类创建类型对象指令>>> Data = type("Data",(object),{&q 阅读全文
posted @ 2013-10-14 14:26 小郭学路 阅读(561) 评论(0) 推荐(0) 编辑
摘要:__new__:创建对象时调用,会返回当前对象的一个实例__init__:创建完对象后调用,对当前对象的一些实例初始化,无返回值1、在类中,如果__new__和__init__同时存在,会优先调用__new__>>> class Data(object):... def __new__(self):... print "new"... def __init__(self):... print "init"... >>> data = Data()new2、__new__方法会返回所构造的对象,__init__则不会。_ 阅读全文
posted @ 2013-10-14 14:08 小郭学路 阅读(6297) 评论(1) 推荐(1) 编辑
摘要:一、DELL&IBMMegaCli -AdpAllInfo -aALL —看配置项#检查raid级别MegaCli -LDInfo -Lall -aALL | grep 'RAID Level:'RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0#检查raid缓存容量MegaCli -cfgdsply -aALL | grep 'Memory:'Memory: 512MB#检查Cache策略MegaCli -LDInfo -Lall -aALL | grep 'Current Ca 阅读全文
posted @ 2013-10-11 15:22 小郭学路 阅读(2913) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/coser/archive/2013/01/28/2880328.html上下文管理协议为代码块提供包含初始化和清理操作的上下文环境。即便代码块发生异常,清理操作也会被执行。Context对象*__enter__:初始化环境,返回上下文对象*__exit... 阅读全文
posted @ 2013-10-11 14:16 小郭学路 阅读(715) 评论(0) 推荐(0) 编辑
摘要:1、概述闭包是在其词法上下文中引用自由变量的函数。>>> def foo():... m=3... n=5... def bar():... a=4... return m+n+a... return bar... >>> foo()>>> bar=foo()>>> bar()12说明:bar在foo函数的代码块中定义。bar是foo的内部函数。在bar的局部作用域中可以直接访问foo局部作用域中定义的m、n变量。这种内部函数可以使用外部函数变量的行为就叫闭包。python中闭包表示内部函数,由一个变量指代,而这个变量对于 阅读全文
posted @ 2013-10-10 18:29 小郭学路 阅读(301) 评论(0) 推荐(0) 编辑