- 博客(48)
- 资源 (1)
- 收藏
- 关注
原创 正则表达式
常用元字符.除换行符以外的任意字符\n 换行符\w 匹配字母/数字/下划线/汉字\s 匹配任意的空白符\b 匹配单词的开始或结束\d 匹配数字\转义字符^匹配字符串的开始$匹配字符串的结束常用限定符*任意数量,因此.*合在一起表示任意数量的不包括换行的字符+重复一次或更多次?重复0次或1次{n} 表示前面的字符重复n次{n
2017-09-14 10:41:47
326
原创 sed
sed它一次处理一行内容。sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。常用选项:-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。常用命令:
2017-09-14 10:41:07
581
原创 机器学习
Cross Validation (交叉验证)cross validation大概的意思是:对于原始数据我们要将其一部分分为train_data,一部分分为test_data。train_data用于训练,test_data用于测试准确率。在test_data上测试的结果叫做validation_error。将一个算法作用于一个原始数据,我们不可能只做出随机的划分一次train和test_da
2017-09-14 10:40:34
500
原创 hive
一 基本命令:(注意hive命令都要加;) sphive 进入数据仓库 show tables; 列出所有表名 desc table_name; 列出表内数据段信息 quit;退出hiveselect * from aorder by rand() limit 10; 二 建立表:c
2017-09-14 10:40:16
441
原创 python
split():通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串split()方法语法:str.split(str="", num=string.count(str)).str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num -- 分割次数。返回分割后的
2017-09-14 10:39:04
368
原创 awk
awk-f a 从脚本a中读取awk命令-F 指定分隔符-v var=var_value 在awk程序执行前,把awk变量var的值设置为var_value,这个var变量在BEGIN块中也有效,经常用来把shell变量引入awk程序。$0表示整行$1 表示第一列多文件:NR:表示awk开始执行程序后所读取的数据行数。
2017-09-14 10:38:30
512
1
原创 hadoop
一.Hadoop Streaming用法Usage: $HADOOP_HOME/bin/hadoop jar \$HADOOP_HOME/contrib/streaming/hadoop-*-streaming.jar [options]options:(1)-input:输入文件路径(2)-output:输出文件路径(3)-mapper:用户自己写
2017-09-14 10:38:01
267
原创 bash
24 bash的批量注释 : EOF25 bash 的if if [ -eq ];then elif [];then else fi bash的for for x in y;do done fi一定要写啊!!!!方括号周围都空格啊!!!!!26 bash中执行python想得到返回结果
2017-09-14 10:37:35
307
原创 常用的linux指令
1.sudo -u hdp-map -H bash -l\n\p 更改当前用户 -u username 以指定用户的身份执行命令 -H 用什么解释器2.linux命令结果重定向 > 先清空再输出结果 >>直接在末尾添加3.wc 选项 文件名 -l 统计给定文件行数 -w 统计字数4.xargs用处:将标准输入转化为
2017-09-14 10:15:27
300
转载 KMP中的next和nextval的算法
版权声明:本文原创内容权归 http://blog.youkuaiyun.com/nanami809 所有,欢迎转载,但必须在明显位置保留此段声明,否则保留追究法律责任的权利.目录(?)[+]一、定义KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KM
2017-04-23 15:41:37
15340
2
转载 HTTP协议三次握手,四次挥手过程
转载:http://blog.163.com/wangzhenbo85@126/blog/static/1013632822013423502833/?suggestedreading&wumii转载:http://blog.youkuaiyun.com/whuslei/article/details/6667471/TCP(Transmission Control Protocol) 传输控
2017-04-19 18:20:17
12851
转载 如何保证只能在堆(heap)上创建对象?
代码:[cpp] view plain copy print?class OnlyHeapClass { public: OnlyHeapClass() { } void Destroy() { delete this; // 等效于"
2017-04-10 19:45:29
425
原创 oracle 11g安装过程中的所有问题以及解决方法
1.创建数据库后打不开网页,提示服务器拒绝连接确认网址无误后,右键计算机->管理->服务和应用程序->服务,找到下面这个服务选择启动。2.启动sql developer 时提示enter full pathname of java.exe以及 oracle sql developer cannot find a J2SE SDE installed这个要手动去添加
2017-02-18 14:30:47
989
原创 C++primier总结
未完待续C++ Primer总结第一章1.endl是一个特殊的值,称为操作符,将它写入输出流是,不仅有输出换行的效果,还会刷新与设备相关联的缓冲区,这样用户可立即看到写入到流中的输出。2.printf(“”)中,注释/* */是不起作用的,在cout3.C++可以实现未知数目的输入 while(std::cin>>buf){}std::cin>>的返回值仍
2016-12-05 16:34:10
806
原创 通过常量表达式初始化的const变量定义在头文件中
《C++primer》中,讲到头文件中不可以包含定义,有三个例外:类,常量表达式初始化的const对象,inline。对于不是用常量表达式初始化的const对象,可以加上extern放在源文件中,并在头文件中加上extern声明。但是对于用常量表达式(即编译器就可以确定的)初始化的const对象,是不可以这么做,而要将定义全部放在头文件中,原因是该const对象用常量表达式初始化,那么该对
2016-11-18 10:44:33
2051
原创 《linux就是这个范儿》总结
未完待续……1.内核通过文件名来访问inode,同一个文件可能有多个文件名,通过硬连接来实现,此时inode引用次数+1,都指向同一个inode,因为文件属性在inode中保存,因此硬连接创建的文件与目标文件有相同属性。 对于软连接,只是新建了一个文件,文件属性与目标文件属性没有关系。2.程序的执行 在命令行下输入命令后,linux只会在环境变量$p
2016-11-15 20:54:27
1566
原创 C++总结
Day01:1.const 更严格的类型检查,C中可以暗度陈仓,通过指针来改一个const修饰的变量,但在C++中会被查出,等式左右两侧必须类型完全相同。2.更严格的enum3.表达式可以做左值。4.布尔类型,其实是enum{true,false}。5.C++ 不用指针 不用字符数组不用类型强转6.所有字符串有关的用string定义,C中从键盘中读取字符到一个字符数组中,不
2016-11-15 20:51:52
675
转载 关于C语言的fprintf与fwrite使用区别
转:http://blog.youkuaiyun.com/godenlove007/article/details/7721647 C语言把文件看作一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称为文本(text)文件,它的每个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内在中的存储形式
2016-11-15 16:29:46
391
原创 C++返回对象和返回引用
最大的区别在于,返回对象的话会在内存中根据返回的类型开辟一块区域,用返回的值对该内存进行初始化,如果是返回的对象,利用拷贝构造来初始化这个区域,但是这块区域并没有名字,就是说之后用户没办法访问到这个区域,也成为无名变量,它只能在接下来的代码中进行一次性的用途,要不作为参数传递,或者将值打印,再之后就会直接销毁,或者调用析构函数。而返回引用的话,引用的本质是对裸露的地址的二次包装,它实际返回的还
2016-11-11 16:15:23
1903
原创 字符数组和字符串指针在内存中存储
#include#includechar* strcpy1(){ char *p = "hello kitty"; printf("%s\n", p); return p;}int main(){ printf("%s", strcpy1()); return 0;}字符串在内存中存储在只读数据段,当定义一个字符串指针时,该指针指向这个只读区域,即使在函数中将这个指针返回
2016-11-07 16:53:13
5650
原创 C中引用重名的全局变量
#includeint a = 10;int main(){ int a = 20; printf("%d\n", a); return 0;}a的值为20,那么int a=20这句话,它是将全局变量a的值改变了吗?其实并不是,全局变量a的值并没有变化,看下例#includeint a = 10;int main(){ int*p = &a; int a = 20;
2016-11-01 15:36:37
959
转载 C++标准转换运算符const_cast
转载来源:http://www.cnblogs.com/ider/archive/2011/07/22/cpp_cast_operator_part2.htmlC++相比于C是一门面向对象的语言,面向对象最大的特点之一就是具有“多态性(Polymorphism)”。要想很好的使用多态性,就免不了要使用指针和引用,也免不了会碰到转换的问题,所以在这一篇,就把导师讲的以及在网上反复查阅
2016-11-01 11:16:34
233
转载 Mr. Process的一生-Linux内核的社会视角 (1)调度
偶遇奇文!转载地址:http://www.manio.org/cn/scheduling-of-linux-view-of-society/Written by manio (manioster{at)gmail.com)Linux内核是一个无比复杂的系统,要想看清大致的脉络也非易事。其实,可以把运行中的Linux想像成一个人类的社会,当中的进程就是社会中的
2016-10-20 10:58:12
317
转载 linux和windows下的“回车符”和“换行符”
转载来源:http://blog.sina.com.cn/s/blog_6cef0cb50100ml2x.html经常要对windows/linux下文本文件转换下 dos2unix他们间的区别其实是个回车换行的问题先来段历史回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。符号 ASCII码
2016-10-19 20:21:00
490
原创 fgets函数
fgets(char * buf,int n,FILE* fp)函数在从fp中最多读取n个字符存储到buf指定的内存中,当一直没有遇到\n换行符时,则读取n-1个字符,最后补上\0;当遇到了\n时,则先将\n读入缓冲区,再读入\0,结束。gets(char* buf)从标准输入读取一行,但是不安全,因为没有指定最多字符的大小,如果标准输入非常的大,则会造成缓冲区越界,段错误。
2016-10-18 16:05:22
357
原创 交叉编译器安装步骤
安装步骤:arm-2009q3.tar.bz2 1)cd/home/tarena/esd1603 2) cp/mnt/hgfs/arm/env/arm-2009q3.tar.bz2 ./ 3) 修改环境变量PATH vi/home/tarena/.bashrc export PA
2016-09-22 20:42:18
458
原创 一个makefile解析
项目有两个源文件和两个头文件 分别是led.c led.h gpio.c gpio.h分析makefile:1到8行:定义自动化变量以及编译连接的规则8到15行:makefile的核心,目标文件,依赖文件以及规则16到17:伪指令1:项目名字led用一个自动化变量PROG来表示,之后的$(PROG)就等于led,这样一旦以后项目的名字变化,只需要在第一行将led变化就可
2016-09-22 11:46:24
453
1
原创 在笔记本电脑上 ARM开发板和ubuntu的互相ping
折磨了两天终于弄好了如果有问题把防火墙,杀毒软件关闭,ubuntu里用ufw disable关闭防火墙首先相互ping一定是在统一网段内的,这里的问题在于笔记本电脑只有一个网口,而这个网口一定是与开发板通过网线互连的,笔记本开着无线网络,所以是有两个网卡。对于开发板上的网卡,不连接网络时是不通的,所以主机的本地连接一直都是断开,但一旦开发板与其他开始ping,主机的本地连接就开始启用,
2016-09-21 13:04:42
4983
原创 ubuntu中安装tftp服务器
tftp服务器是简单版的ftp,可以实现服务器和客户端之间的简单文件传输,包括上传下载。网上版本杂乱,此为亲测可用。1.sudo -i 设置为超级用户模式,否则之后每个命令前都要加sudo2.安装包 apt-get install tftp-hpa apt-get install xinetd3.建立服务器文件地址,设置权限。这个地址称为tftpbppt,也
2016-09-18 17:59:15
367
1
原创 UNIX/LINUX C总结
Unix/linux C(uc)与标准C语言最大的区别在于,标准C只是一种编程语言,而在此基础上还依赖于具体的操作系统,脱离了unix/linux系统的uc在其他地方可能不被识别。(1)Unix/Linux系统的基本概述用gcc将源文件翻译为可执行文件过程: 预处理:主要宏替换,头文件替换。宏替换:#define用一个自定义的量代替一个数,如果要修改这个量的值,只要在最初的定义
2016-07-27 21:51:17
788
原创 对socket通信的理解
socket是“插座”的意思,两个进程之间通过socket来进行通信可以用手机来比喻,一般都是客户端向服务器发出访问请求,则客户端类比为拨电话的人,而服务器类比为接电话的人。两个用户要对话首先双方都要有一部手机,相当于双方用socket()函数创建一个socket套接字一样,然后这部手机要有一个电话号它才能有利用价值,也就是将套接字与通信地址进行挂钩。对于客户端,也就是准备拨电话的人,他必须要知道
2016-06-30 21:21:52
488
原创 socket Bind error:Address already in use
一:本地通信:unix domain socket 与网络socket编程最大的不同在于地址格式不同,用结构体socketaddr_un表示,网络地址是由ip加端口号决定,而domain socket的地址是一个socket类型的文件在文件系统的路径,该文件由bind()函数创建并绑定,如果bind时该文件已经存在,则绑定失败。因此每次把创建的socket文件删除或者bind一个新的socket文
2016-06-30 15:50:23
2068
原创 关于文件描述符
在linux下进行read和write时,发现当返回一个文件描述符,对它进行write操作,之后马上read,读出来的数据都是0,当时很奇怪,因为文件描述符只是一个int型的整数,不同于C下的fwrite,是直接返回一个文件指针,每次读写这个指针也会随之而变化,于是查找了关于文件描述符的资料。文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的
2016-06-15 10:25:22
1183
转载 深入理解进程间通信之消息队列,个人总结key值与id
转载来源:http://www.linuxidc.com/Linux/2015-07/119990.htm个人总结key值与id:id就是指每个消息队列的标记值,而key值就是表示如何找到这个消息队列,对于一个准备发送消息的进程,通过ftok()函数,可以将指定的文件加上自定义的值作为key值,创建一个消息队列,而在另一个准备接受的进程里,它不知道要在哪个消息队列里接收消息,于是它也通过一
2016-06-14 10:54:04
10430
2
原创 对linux中signal()函数的理解
信号可以看做程序运行期间的一种软件中断,信号是异步的,也就是说对于进程运行而言信号的发生是随机的,每当有信号产生时,进程会立即处理该信号。 人们可以通过键盘组合来发送特定的信号,比较重要的有: SIGINT 2 采用ctrl+c产生该信号 SIGQUIT 3 采用ctrl+\产生该信号 SIGKILL 9 采用kill -
2016-06-12 21:11:23
1005
转载 对fork,vfork 与exec的一些个人见解
转载来源http://blog.chinaunix.net/uid-20528014-id-4068931.html作者:fireaxe_hq@hotmail.com博客:fireaxe.blog.chinaunix.net1) 先说说forkfork在linux中用于进程的创建。它实际上是复制了一个与父进程(就是调用fork的进程)一模一样的子进程。其主要
2016-06-07 10:42:03
3846
2
原创 对模拟登陆代码的理解
#include #include int main() { char buf[10] = {}; int num = 0; for (num = 1;num <= 3;num++) { printf("请输入用户名:"); fgets(buf, 10, stdin); if (strlen(buf) == 9 && buf[8] != '\n') { scan
2016-05-29 17:53:07
266
转载 对静态库,共享库,动态加载库的理解
转载来源:http://blog.sina.com.cn/s/blog_8f3985400100uw5k.html在上面原文基础上整理了一下,主要突出了重点内容。 库文件一般就是编译好的二进制文件,用于在链接阶段同目标代码一起生成可执行文件,或者运行可执行文件的时候被加载,以便调用库文件中的某段代码。它与可执行文件相同之处是:两者都是编译好的二进制文件(本文中我们讨论
2016-05-18 21:15:52
3450
转载 Linux makefile 教程
转载来源 http://blog.youkuaiyun.com/liang13664759/article/details/1771246最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。 后记
2016-05-14 12:02:01
398
原创 记录一些认为不错的数据结构程序算法
逆转链表:#include#includetypedef struct nod{ int data; struct nod* next;}nod;typedef struct list{ nod* top; nod* last; int cnt;}list;list* create(){ list* p = (list*)malloc(sizeof(list)
2016-05-11 18:06:49
362
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人