- 博客(44)
- 收藏
- 关注
转载 Python 包管理工具解惑
原文链接:http://zengrong.net/post/2169.htm一、困惑作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑)。主要表现在下面几个方面:这几个包管理工具有什么不同?distutilssetuptoolsdistributedisutils2distlibpip什么时候该用pip,什么时候该用 set
2016-11-09 18:16:03
587
原创 深入理解计算机系统 - chapter1,计算机系统漫游
计算机系统漫游2016年7月17日1.1 信息就是位+上下文计算机中由ASCII组成的文件为文本文件, 其他格式的全是二进制文件。1.2 程序的编译过程 源程序 -> |预处理器(cpp)| -> helo.i -> |编译器(ccl)| -> hello.s -> |as汇编器| -> |链接器ld| -> 可执行 预处理阶段。 预处器根据以字符#开头的命令,修改源程序, 例如include
2016-09-22 15:46:41
411
原创 Pig distinct by field
pig 脚本本身不支持按field 来distinct a.txt 1,2,3,4 1,2,3,4 1,2,3,5 1,2,4,4A = LOAD 'a.txt' using PigStorage(',') AS (a1,a2,a3,a4);grouped_by_a4 = GROUP A BY (a1,a2,a3);dump grouped_by_a4;grouped_and_dis
2016-09-20 18:55:43
684
原创 Java单例模式的三种实现方式
1, singletonpublic class Singleton { private Singleton() { System.out.println("This is constructor."); } private static Singleton instance = new Singleton(); public static Singleto
2016-09-06 19:37:28
2751
1
转载 sublime text 的使用技巧
转载自知乎的回答著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:Jasin Yip链接:https://www.zhihu.com/question/24896283/answer/29380046来源:知乎使用 Sublime Text 建议掌握常用命令1、查找打开过的文件:Ctrl+P,然后输入最近的文件名就可以即时预览到文件内容。
2016-01-14 10:41:31
1317
原创 [Effective C++] 01. View C++ as a federation of languages.
C++在一开始只是在C的基础上加上了面向对象的特性,最初的名称就是C with classes。随着C++ 这门语言的逐渐成熟,越来越多的编程范式被引入进来,这些新的特性使得C++变得日益强大。如今的C++已经是个多重范型编程语言(multiparadigm progmming language ),同时支持了过程形式(procedural)、面向对象(oo)、函数形式(functional)、泛型
2015-08-06 11:27:30
441
原创 C\C++ 程序的编译过程
C、 C++ 程序的编译分为以下几个过程预处理 预处理器对文件中的宏进行展开编译 gcc程序把c源代码文件编译为汇编文件汇编 汇编器as把汇编文件编译为机器码链接 链接器ld将目标文件和外部符号进行链接得到一个二进制的可执行文件
2015-07-28 22:55:43
410
原创 SVN 目录操作
svn co --depth empty $urlsvn up --set-depth immediatessvn up --set-depth infinity
2015-06-04 20:20:40
528
原创 python tcp delay的问题
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
2015-03-26 20:41:02
1530
转载 Big-endian和little-endian(转载)
Big-endian和little-endian(转载) Big-endian和little-endian是描述排列存储在计算机内存里的字节序列的术语。Big-endian是一种大值的一端(序列中更典型值)存在前面(在最小的存储地址)的顺序。Little-endian是一种小值的一端(序列中较不典型的值)存储在前的顺序。比如,在Big-endian的电脑中,需要两个字节把十六位数4
2015-03-20 13:52:46
543
原创 Python socket 读取消息问题
今天遇到python socket 读取消息不能读取完全的问题 size = struct.unpack("!I", socket_obj.recv(4)) data_size = int(size[0]) data = socket_obj.recv(data_size)如此写法并不能完全读取消息内容。原因是scoket recv 是
2015-02-03 19:04:10
4362
转载 boost::asio::ip::tcp实现网络通信的小例子
服务端:Boost.Asio是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型。头文件#include 名空间using namespace boost::asio;ASIO库能够使用TCP、UDP、ICMP、串口来发送/接收数据,下面先介绍TCP协议的读写操作对于读写方式,ASIO支持同
2014-11-06 15:18:58
877
转载 如何学好C++语言
转载自 C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章。C++是一门很自由的语言,自由到了有点BT和恐怖的地步。我甚至认为C++并不是一门成熟的编程语言,因为太容易犯错了。所以,你一定要在一开始就要有很小心谨慎的态度,并把C++当成一种难以训服的猛兽来看待。多问“为什么
2014-10-29 19:51:12
708
原创 shell转义符
说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例:1 1234[chengmo@localhost ~/shell]$lsa.txt b.txt c.old #2
2014-10-27 17:31:46
1550
转载 Daemon函数的用法
Daemon函数的用法说明:让一个程序后台运行。原型:[c-sharp] view plaincopy#include int daemon(int nochdir, int noclose); 参数:当 nochdir为零时,当前目录变为根目录,否则不变;
2014-10-24 14:32:02
681
转载 Linux性能评测工具之一:gprof篇
1 简介改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的。GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof)。gprof 可以为 Linux平台上的程序精确分析性能瓶颈。gprof精确地给出函数被调用的时间和次数,给出函数调用关系。gprof 用户手册网站 http://sour
2014-10-20 10:49:23
574
转载 explicit 关键字
explicit用来防止由构造函数定义的隐式转换。 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如: class things{ public: things(const std::string&name =""): m_name(name),
2014-10-15 20:59:21
421
转载 堆和栈的区别
堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵
2014-10-15 16:44:06
481
转载 Linux stat函数详解
stat函数讲解表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执行成功则返回0,失败返回-1,错误代码存于er
2014-10-15 16:06:48
660
转载 STL vector用法介绍
介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种
2014-10-10 10:23:44
605
转载 Python的字符串操作
在python有各种各样的string操作函数。在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始, string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用impor
2014-08-14 15:37:51
604
转载 python 安装第三方模块
在Python中,安装第三方模块,是通过setuptools这个工具完成的。如果你正在使用Mac或Linux,安装setuptools本身这个步骤就可以跳过了。如果你正在使用Windows,请首先从这个地址下载ez_setup.py:https://pypi.python.org/pypi/setuptools#windows下载后,随便放到一个目录下,然后
2014-08-14 10:29:59
9507
原创 linux shell 数组
1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5)[chengmo@centos5 ~]$ echo $a1 一对括号表示是数组,数组元素用“空格”符号分割开。 2.数组读取与赋值得到长度:[chengmo@centos5 ~]$ echo ${#a[@]}5用${#数组名[@或
2014-08-13 14:22:19
512
转载 java中的printf
目前printf支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s 字符串 %u 无符号十进制数 %x
2014-08-06 16:29:24
962
原创 C++ 学习笔记 1 预备知识
C++是一种使用非常广泛的程序设计语言。它是一种静态数据类型检查的,支持多范型的通用程序设计语言。C++支持过程化程序设计、数据抽象化、面向对象程序设计、泛型程序设计、基于原则设计等多种程序设计风格。C++名字的由来C++这个名字是Rick Mascitti于1983年中所建议的,并于1983年12月首次使用。更早以前,尚在研究阶段的发展中语言曾被称为“new C”,之后是
2014-08-05 17:27:52
725
转载 linux的日志管理
好久没有更新这个博客了,虽然都是些转载的内容,但是也都是记录着我的学习历程。记录是最好的学习方式。 Linux日志管理 一.日志简介 日志对于系统安全来说非常重要,它记录了系统每天发生的各种各样的事情,管理员可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。它还可以实时地监测系统状态,监测和追踪侵入者等。在Linux系统
2011-11-21 10:25:15
1136
转载 solaris下的ftp命令介绍
solaris下的ftp命令介绍(保存)1.ftp 本地工作站与远端工作站之间文件传输(solaris) :必须拥有远端工作站的帐号及密码,才可进行传输工作 : 格式: ftp hostname or ftp ip_address 例如 : ftp 129.9.123.45 与远端工作站 129.9.123.45 ,进行文件传输 Name (129.9.123.45:user-name) : 输入
2011-06-07 11:30:00
920
转载 Log4J的使用总结
<br />原地址:http://kdboy.javaeye.com/blog/208851<br /> <br /> <br /> <br />一、介绍<br />Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。 <br />Log4j由三个重要的组件构
2010-12-10 14:23:00
590
转载 JMX入门
<br />最近在做宽带项目的时候用到JMX的远程管理,也找了一些资料,转载到这里,以便日后方便查用。在此先谢过作者的文章。<br /> <br />1 基本信息<br />摘要:本篇为JMX的学习笔记, 教你一步一步使用JMX,并提供一个能运行的完整的案例,可以使人达到快速入门的x目的。<br />作者:陈光耀<br />2 正文<br /> JMX(Java Management Extensions, Java管理扩展)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上
2010-12-06 14:49:00
2431
原创 java中用String.split()分割含有特殊字符的字符串
<br /> String 中的 split()方法:<br /> <br />用split 方法截取 字符串 时,字 或要截取 英文字符 “(” 会报java.util.regex.PatternSyntaxException异常,但indexOf()方法可以用。<br />截取中文字符“(” 没有任何异常<br />原因:<br />,+、*、|、/ 、(、)、等符号在正则表达示中有相应的不同意义。<br />一般来讲只需要加[]、或是//即可<br />改成"sdfasdf+asdfasdf".s
2010-09-29 16:33:00
3029
原创 JS的部分内置函数
JavaScript_String函数按照字母排序anchor() 函数 -- 返回HTML a 标签中name属性为str的锚 big() 函数 -- 返回HTML big 标签定义的大字体 blink() 函数 -- 返回使用HTML blink 标签定义的闪烁字符串 bold() 函数 -- 返回使用HTML b 标签定义的粗体字符串 charAt() 函数 -- 返回指定位置(n)的字符 charCodeAt() 函数 -- 返回指定位置(n)字符的Unicode编码 concat() 函数 --
2010-09-13 10:47:00
3293
1
转载 IP地址转换成为整数
<br />一、应用范围 <br /> 一般用在登录限制、查找IP所在城市等需求中,windows的ping命令也支持整数形式的IP。 <br /><br />二、关键技术点 <br /> 将IP地址转化成整数的方法如下: <br /> 1、通过String的indexOf方法找出IP字符串中的点"."的位置。 <br /> 2、根据点的位置,使用String的substring方法把IP字符串分成4段。 <br /> 3、使用Long的parseLong方法把子段转化成一个3
2010-08-31 17:36:00
4084
转载 JAVA解决大批量导出数据到excel产生内存溢出的方案
<br />下面的代码使用POI3.1,合并11个3000多行的文档用时约6秒Java代码 @SuppressWarnings("unchecked") public class XlsMergeUtil { private static Logger logger = LoggerFactory.getLogger(XlsMergeUtil.class); /** * 将多个Xls文件合并为一个,适用于只有一个sheet,并且格式相同的文档 * @param inp
2010-08-24 15:57:00
11020
转载 Eclipse快捷键大全
Eclipse快捷键大全 推荐Ctrl+1 快速修复(最经典的快捷键,就不用多说了)<br />Ctrl+D: 删除当前行<br />Ctrl+Alt+↓ 复制当前行到下一行(复制增加)<br />Ctrl+Alt+↑ 复制当前行到上一行(复制增加)<br />Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)<br />Alt+↑ 当前行和上面一行交互位置(同上)<br />Alt+← 前一个编辑的页面<br />Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)<br
2010-08-13 10:59:00
532
转载 Ant使用小结
<br />1. Ant简介<br />Ant是Apache开发的一个开源工具,他可以自动化很多事情。例如,他可以进行Java方面的自<br />动编译,打包,执行。也可以调用操作系统下的可执行程序。所以,从简单来说Ant的作用可以跟一个批处理文件类似,就是你可以定义连串的任务,然后敲一个命令,由系统帮你全部执行。当然Ant不止如此简单,因为,Ant的设计目标并不见得是为了替代批处理文件。<br /> 所以,如果要了解Ant的使用价值,我想就需要先了解什么叫极限编程(XP)。极限编程是一种软件方
2010-08-12 10:13:00
561
转载 java的ClassLoader和package机制
<br />为了深入了解Java的ClassLoader机制,我们先来做以下实验:Java代码 package java.lang; public class Test { public static void main(String[] args) { char[] c = "1234567890".toCharArray(); String s = new String(0, 10, c); } } package java.la
2010-07-14 11:12:00
544
原创 递归算法
递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解。 <br />关键要抓住的是: <br />(1)递归出口 <br />(2)地推逐步向出口逼近 <br />例子: <br />example: 求5的阶乘。。 <br /> <br />如下: <br /> <br />Java代码 public class Test { static in
2010-07-14 11:09:00
2306
转载 Java的递归算法
递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解。 关键要抓住的是: (1)递归出口 (2)地推逐步向出口逼近 例子: example: 求5的阶乘。。 如下: Java代码 public class Test {
2010-05-11 23:24:00
53623
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人