![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
语言相关
文章平均质量分 55
LegenDavid
这个作者很懒,什么都没留下…
展开
-
urllib2.urlopen超时问题
原帖地址:http://hi.baidu.com/yss1983/item/933fbe45a09c43e01381da06问题描述: 没有设置timeout参数,结果在网络环境不好的情况下,时常出现read()方法没有任何反应的问题,程序卡死在read()方法里,搞了大半天,才找到问题,给urlopen加上timeout就ok了,设置了timeout之后超时之后read超时转载 2015-11-26 15:37:15 · 662 阅读 · 0 评论 -
Python性能优化的20条建议
优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。转载 2017-09-29 11:31:03 · 267 阅读 · 0 评论 -
python 内存释放
python话说会自己管理内存,实际上,对于占用很大内存的对象,并不会马上释放。举例,a=range(10000*10000),会发现内存飙升一个多G,del a 或者a=[]都不能将内存降下来。。del 可以删除多个变量,del a,b,c,d办法:import gc (garbage collector)del agc.collect()马上内存就释放了。转载 2017-10-19 17:54:22 · 1629 阅读 · 0 评论 -
Python命令行参数学习
Python的命令行参数,提供了很多有用的功能,可以方便调试和运行,通过man python就能查看,以下是一些常用参数使用实例和场景:1. -B参数,在import时候,不产生pyc或者pyo文件:比如有a.py,内容如下:def hello(): passmain.py,会引用a.py中的hello函数:from a import helloi转载 2017-10-23 19:28:02 · 296 阅读 · 0 评论 -
gcc中动态库和静态库的链接顺序
so文件:动态库a文件: 静态库exe文件:可执行程序(linux下以文件属性来标示是否是可执行文件,与后缀名无关)经过自己写的一些测试程序,大致了解了下gcc中链接顺序问题,总结出以下几点:1,动态库中可以包含另一个静态库,通过参数 -lxxx 把静态库libxxx.a加入so文件中,这样so文件中 就包含了libxxx.a的所有实现。当然,如果不包含libxxx.a转载 2017-10-26 10:11:55 · 562 阅读 · 0 评论 -
shell 脚本中set-x 与set+x的区别
linux shell 脚本编写好要经过漫长的调试阶段,可以使用sh -x 执行。但是这种情况在远程调用脚本的时候,就有诸多不便。又想知道脚本内部执行的变量的值或执行结果,这个时候可以使用在脚本内部用 set -x 。set去追踪一段代码的显示情况,执行后在整个脚本有效set -x 开启 set +x关闭set -o 查看转载 2017-10-26 10:16:10 · 1011 阅读 · 0 评论 -
gdb fork 多进程调试
实例代码[cpp] view plain copy 1 #include 2 #include 3 int main () 4 { 5 pid_t fpid; "color:#3333ff;">6 printf("aaaaaaaaaaaaaaaaaa!\n"); 7转载 2017-10-26 11:29:33 · 436 阅读 · 0 评论 -
linux下so文件的runtime查找顺序
It's becoming more and more common these days to link everything against shared libraries, and in fact many software packages (Tcl and Cyrus SASL come to mind) basically just don't work properly stati转载 2017-10-26 10:32:53 · 654 阅读 · 0 评论 -
python_如何拆分含有多种分隔符的字符串?
案例: 把某个字符串依据分隔符拆分,该字符包含不同的多种分隔符,如下 s = '12;;7.osjd;.jshdjdknx+' 其中 ; . + 是分隔符有哪些解决方案? 方法1:通过str.split()方法,每次处理一个分隔符12345转载 2017-11-23 17:25:09 · 1357 阅读 · 0 评论 -
shell技巧汇总
检查并创建目录[ -d $back_path/$path_tail ] || mkdir $back_path/$path_tail原创 2018-01-05 18:19:33 · 262 阅读 · 0 评论 -
模板的声明和实现为何要放在头文件中?
http://www.gois.ws/showfile.asp?id=460:0:0如何组织编写模板程序 发表日期: 1/21/2003 12:28:58 PM 发表人: Nemanja Trifunovic前言常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”。看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WT转载 2017-08-15 18:55:51 · 372 阅读 · 0 评论 -
彻底解决matplotlib中文乱码问题
1.环境查看a.系统版本查看[hadoop@p168 ~]$ cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core) b.系统中文字体查看[hadoop@p168 ~]$ fc-list :lang=zh/usr/share/fonts/wqy-microhei/wqy-microhei.t转载 2017-08-14 17:38:56 · 964 阅读 · 0 评论 -
python 中 os._exit(), sys.exit(), exit() 的区别是什么?
1. sys.exit(n) 退出程序引发SystemExit异常, 可以捕获异常执行些清理工作. n默认值为0, 表示正常退出. 其他都是非正常退出. 还可以sys.exit("sorry, goodbye!"); 一般主程序中使用此退出.2. os._exit(n), 直接退出, 不抛异常, 不执行相关清理工作. 常用在子进程的退出.3. exit()/quit(), 跑出System转载 2017-07-17 12:06:15 · 445 阅读 · 0 评论 -
GCC优化选项简单说明
最近一直质疑gcc的-O优化选项究竟做了什么,因此,在网上找了好多相关的资料,但都没有明确的进行说明,以下是网上一些资料的汇总和偶自己很水很水的翻译,模模糊糊的理解了,-O的一些优化功能,希望大牛们给于进一步的解释,和纠错~~~~谢谢~!gcc默认提供了5级优化选项的集合:-O0:无优化(默认)-O和-O1:使用能减少目标文件大小以及执行时间并且不会使编译时间明转载 2015-11-27 12:21:15 · 529 阅读 · 0 评论 -
GDB动态库搜索路径
笔记:当GDB无法显示so动态库的信息或者显示信息有误时,通常是由于库搜索路径错误导致的,可使用set sysroot、set solib-absolute-prefix、set solib-search-path来指定库搜索路径。1. set sysroot 与 set solib-absolute-prefix 是同一条命令,实际上,set sysroot是set solib-转载 2017-05-04 15:11:19 · 1122 阅读 · 0 评论 -
Python中的赋值,浅拷贝和深拷贝的区别
赋值内存地址的引用,所有的改变都会同步测试代码#coding:utf-8import copya=['a','b',1,[1,2,3]]b = a #对象赋值,所有改动都会联动a.append('d')a[0]='aaa'a[3].append(4)print aprint b运行结果['aaa', 'b', 1, [1, 2, 3, 4], 'd']['aaa',转载 2017-05-08 19:37:12 · 539 阅读 · 0 评论 -
每天自动爬取momentum壁纸并保存
#!/usr/bin/pythonimport osimport jsonimport urllib2import urllibimport timedef auto_down(url, filename): try: urllib.urlretrieve(url, filename) except urllib.ContentTooShortEr原创 2017-05-27 12:11:24 · 3551 阅读 · 0 评论 -
粗略分析Python中的内存泄漏
引子之前一直盲目的认为 Python 不会存在内存泄露, 但是眼看着上线的项目随着运行时间的增长 而越来越大的内存占用, 我意识到我写的程序在发生内存泄露, 之前 debug 过 logging 模块导致的内存泄露.目前看来, 还有别的地方引起的内存泄露. 经过一天的奋战, 终于找到了内存泄露的地方, 目前项目 跑了很长时间, 在业务量较小的时候内存还是能回到刚启动的时候的内存占用转载 2017-05-27 17:44:44 · 3366 阅读 · 0 评论 -
GDB STL vector打印
1. update your gdbgdb 7.0版本之后,如果在gdb中调用: (gdb) print myVector将会得到如下结果: $1 = std::vector of length 3, capacity 4 = {10, 20, 30} 2. GDB STL Utilities转载 2017-04-27 18:26:00 · 667 阅读 · 0 评论 -
讨论nullptr和NULL
最近玩了两天的c++11,其中有一个是新的关键字nullptr。 这里讨论下nullptr的存在价值,应用场景以及不支持c++11的时候如何模拟nullptr。 1、为什要有nullptr 我们给一个指针赋初值的时候一般这么写 FILE* fp = NULL; 这里有个NULL的定义,一般情况下它是这么定义的: [cpp] #ifde转载 2017-05-10 16:24:15 · 468 阅读 · 0 评论 -
vector排序问题<unresolved overloaded function type>
要对vector中的自定义类型进行排序,首先需要提供一个函数bool comp(const Interval & a, const Interval & b) 来定义类型的排序准则 然后调用std::sort(intervals.begin(),intervals.end(),comp) 写了几个小的测试用例也都通过了,但是当集成在类中的时候编译遇到问题,Line 30: no ma转载 2017-05-22 18:52:30 · 583 阅读 · 0 评论 -
Python+Hadoop Streaming实现MapReduce(word count)
1. hadoop本身是用java写的,所以用java写mapreduce是比较合适的,然而hadoop提供了Streaming的方式,让很多语言可以来写mapreduce,下面就介绍如何用python写一个mapreduce程序,我们就从最简单的word count写起吧2. word count是比较简单的,所以我们直接上代码,3. map.py[pyt转载 2015-12-08 15:01:59 · 887 阅读 · 0 评论 -
Python脚本后台运行的几种方式
这篇文章主要介绍了Python脚本后台运行的几种方式,linux下后台运行、通过upstart方式实现、通过bash脚本实现、通过screen、tmux等方式实现,需要的朋友可以参考下一个用python写的监控脚本test1.py,用while True方式一直运行,在ssh远程(使用putty终端)时通过以下命令启动脚本:复制代码代码如下:python test1原创 2015-09-09 09:39:11 · 6883 阅读 · 0 评论 -
spark reparation和coalesce
repartition(numPartitions:Int):RDD[T]和coalesce(numPartitions:Int,shuffle:Boolean=false):RDD[T] 他们两个都是RDD的分区进行重新划分,repartition只是coalesce接口中shuffle为true的简易实现,(假设RDD有N个分区,需要重新划分成M个分区) 1、N小于M 一般情况下N个分区有数据...转载 2018-05-29 17:58:45 · 997 阅读 · 0 评论 -
Spark面对OOM问题的解决方法及优化总结
转载请保持完整性并注明来源链接: http://blog.csdn.net/yhb315279058/article/details/51035631 Spark中的OOM问题不外乎以下两种情况map执行中内存溢出shuffle后内存溢出 map执行中内存溢出代表了所有map类型的操作,包括:flatMap,filter,mapPatitions等。shuffle后内存溢出的shuff...转载 2018-06-05 22:12:41 · 1099 阅读 · 0 评论 -
不同数据库中查询前几条记录的用法(SQL Server/Oracle/Postgresql)
SQL在不同数据库中查询前几条记录的用法分类1. orACLE Select * FROM TABLE1 Where ROWNUM<=N2. INFORMIX Select FIRST N * FROM TABLE13. DB2 Select * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM Where ROWNUM<=N 或者Sele...转载 2018-05-30 20:47:10 · 1385 阅读 · 0 评论 -
git merge 和 git rebase 小结
git merge是用来合并两个分支的。git merge b # 将b分支合并到当前分支同样 git rebase b,也是把 b分支合并到当前分支-----------------------------------他们的 原理 如下:假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin假设远程分支"...转载 2018-06-06 17:13:08 · 807 阅读 · 0 评论 -
常见编程命名缩写
命名缩写通用缩写翻译控件缩写翻译addressaddr地址calendarcdr日历applicationapp应用程序messageDialogmsgdlg消息框asynchronizationasyn异步drawerdrw抽屉averageavg平均数buttonGroupbtngrp按钮分组bitmapbmp位图checkBoxchk复选框bufferbuf缓冲区containercntr容...转载 2018-06-21 16:33:50 · 2425 阅读 · 0 评论 -
Spark cache的用法及其误区分析
Spark cache的用法及其误区:一、Cache的用法注意点:(1)cache之后一定不能立即有其它算子,不能直接去接算子。因为在实际工作的时候,cache后有算子的话,它每次都会重新触发这个计算过程。(2)cache不是一个action,运行它的时候没有执行一个作业。(3)cache缓存如何让它失效:unpersist,它是立即执行的。persist是lazy级别的(没有计算),unpers...转载 2018-06-01 14:35:55 · 2269 阅读 · 0 评论 -
linux中给 alias 添加命令行参数
定义 alias 时,有用命令行参数的需求。但通过查证文档的结果是,alias 根本就不支持传递命令行参数。不过,我们可以变通的解决这个问题,即定义函数。 代码如下复制代码alias test='test() { echo $1; };test'[hadoop@NN069186 dev]$ source ~/.bashrc [hadoop@NN069186 dev]$ test abc def g...转载 2018-06-01 17:45:35 · 10920 阅读 · 0 评论 -
Spark性能优化指南——基础篇
http://mp.weixin.qq.com/s?__biz=MjM5NDMwNjMzNA==&mid=2651805828&idx=1&sn=2f413828d1fdc6a64bdbb25c51508dfc&scene=2&srcid=0519iChOETxAx0OeGoHnm7Xk&from=timeline&isappinstalle...转载 2018-07-05 15:22:27 · 928 阅读 · 0 评论 -
Spark性能优化指南——高级篇
前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的...转载 2018-07-05 15:51:56 · 878 阅读 · 0 评论 -
Hadoop开启关闭调试信息
修改$HADOOP_CONF_DIR/log4j.properties文件 hadoop.root.logger=ALL,consoleor:开启:export HADOOP_ROOT_LOGGER=DEBUG,console关闭:export HADOOP_ROOT_LOGGER=INFO,console实时查看和修改Hadoop日志级别Hadoop的日志界面可以通过Hadoop命令和Web界面...转载 2018-05-29 17:38:34 · 2095 阅读 · 0 评论 -
【Spark系列2】reduceByKey和groupByKey区别与用法
在spark中,我们知道一切的操作都是基于RDD的。在使用中,RDD有一种非常特殊也是非常实用的format——pair RDD,即RDD的每一行是(key, value)的格式。这种格式很像Python的字典类型,便于针对key进行一些处理。针对pair RDD这样的特殊形式,spark中定义了许多方便的操作,今天主要介绍一下reduceByKey和groupByKey,因为在接下来讲解《在sp...转载 2018-05-22 18:02:30 · 1101 阅读 · 0 评论 -
Spark函数之join、leftOuterJoin、rightOuterJoin和fullOuterJoin
join用于内连接。后三个函数用于类似于SQL的左、右、全连接。针对key-value形式的RDD。12345val pairRDD1 = sc.parallelize(List( ("cat",2), ("cat", 5), ("book", 4),("cat", 12)))val pairRDD2 = sc.parallelize(List( ("cat",2), ("cup"转载 2018-05-08 14:33:14 · 2795 阅读 · 0 评论 -
c++ string replace
C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事。首先明白一个概念,即string替换所有字符串,将"12212"这个字符串的所有"12"都替换成"21",结果是什么?可以是22211,也可以是21221,有时候应用的场景不同,就会希望得到不同的结果,所以这两种答案都做了实现,代码原创 2015-11-18 13:49:43 · 1555 阅读 · 0 评论 -
python3输出unicode
采用ord函数即可In Python 2.xPython代码 D:\Python27>python >>> chr(65) 'A' >>> ord('A') 65 >>> unichr(20013) u'\u4e2d' >>> ord(u'\u4e2d') 20013原创 2015-11-18 16:41:42 · 1821 阅读 · 0 评论 -
PEP8 Python 编码规范整理
PEP8 Python 编码规范整理 bobo 2011-02-16 16:27:40决定开始Python之路了,利用业余时间,争取更深入学习Python。编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的。所以今天下午我根据PEP 8整理了一份,以后都照此编码了,还会持续更新。PEP8 Python 编码规范一 代码编排1原创 2015-10-12 16:12:15 · 650 阅读 · 0 评论 -
Python中sorted()方法的用法
我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value来排。到底有多少种方法可以实现对dictionary的内容进行排序输出呢?下面摘取了 一些精彩的解决办法。 #最简单的方法,这个是按照key值排序: def sortedDictVal原创 2015-11-20 15:28:05 · 1898 阅读 · 0 评论 -
python 进程间通信
注意一点,进程间通信,尤其是使用manager的时候,性能会受限于manager进程,所以应该尽量减少写manager的情况和频率,比如每个进程应该优先把结果存在本地进程然后统一写manager等方式python multiprocessingmultiprocessing在2.6才开始使用multiprocessing 是一个使用方法类似threadi原创 2017-08-07 16:40:06 · 537 阅读 · 0 评论