![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网易实习
文章平均质量分 68
We_are_family678
这个作者很懒,什么都没留下…
展开
-
shell脚本怎么调试
shell是Linux系统上常用的一种脚本语言。一般从事web后台开发的从业者,都会用到shell,因此shell调试也是一项必备的技能。本文教你如何进行shell脚本调试。工具/原料 Linux操作系统 ssh工具(SecureCRT) 方法/步骤 启动Linux系统,用ssh工具(xshell或者SecureCRT等)连上Linux系统。我用的是SecureCRT...原创 2018-07-17 17:09:34 · 628 阅读 · 0 评论 -
shell编程其实真的很简单(二)
上篇我们学会了如何使用及定义变量。按照尿性,一般接下来就该学基本数据类型的运算了。没错,本篇就仍是这么俗套的来讲讲这无聊但又必学的基本数据类型的运算了。基本数据类型运算操作符符号语义描述+加10+10,结果为20-减10-3, 结果为7*乘10*2,结果为20/除10/3, 结果为3(取整数)%求余10%3, 结果为1 (取余数)==判断是否相等两数相等返回1,否则0!=判断是否不等两数不等返回1...原创 2018-07-13 19:06:11 · 258 阅读 · 0 评论 -
emplace_back() 和 push_back 的区别
在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题是临时变量申请的资源就浪费。引入了右值引用,转移构造函数(请看这里)后,push_back()右值时就会调用构造函数和转移构造函数。在这上面有进一步优化...原创 2018-07-26 14:40:34 · 438 阅读 · 0 评论 -
C++ 11 左值,右值,左值引用,右值引用,std::move, std::foward
这篇文章要介绍的内容和标题一致,关于C++ 11中的这几个特性网上介绍的文章很多,看了一些之后想把几个比较关键的点总结记录一下,文章比较长。给出了很多代码示例,都是编译运行测试过的,希望能用这些帮助理解C++ 11中这些比较重要的特性。关于左值和右值的定义左值和右值在C中就存在,不过存在感不高,在C++尤其是C++11中这两个概念比较重要,左值就是有名字的变量(对象),可以被赋值,可以在多...原创 2018-07-26 14:44:33 · 252 阅读 · 0 评论 -
gdb线程、进程调试
一,gdb的基础知识1>介绍: gdb是Linux环境下的代码调试工具。2>使用:需要在源代码生成的时候加上 -g 选项.3>开始使用: gdb binFile4>退出:ctrl + d 或 quit5>调试过程中的常用命令: list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。 list/l 函数名:列出某个...原创 2018-07-30 15:57:51 · 425 阅读 · 0 评论 -
C++ 11 auto关键字
熟悉脚本语言的人都知道,很多脚本语言都引入了“类型自动推断”技术:比如Python,可以直接声明变量,在运行时进行类型检查。随着C++11标准的发布,C++语言也引入了类型自动推断的功能,这就是我们今天要介绍的auto关键字。C++是一种强类型语言,声明变量时必须明确指出其类型。但是,在实践中,优势我们很难推断出某个表达式的值的类型,尤其是随着模板类型的出现,要想弄明白某些复杂表达式的返回类型...原创 2018-07-27 16:31:22 · 215 阅读 · 0 评论 -
gcc编译过程简述
在linux系统上,从源文件到目标文件的转化是由编译器完成的。以hello.c程序的编译为例,如下:dfcao@linux: gcc -o hello hello.c在这里,gcc编译器读取源文件hello.c,并把它翻译成一个可执行文件 hello。这个翻译过程可分为四个阶段逐步完成:预处理,编译,汇编,链接,如下图所示。逐步做下简单分析:在未编译前,hello.c 的...原创 2018-07-31 15:00:18 · 482 阅读 · 0 评论 -
Linux命令——rz命令与sz命令
1.rz命令1.1功能rz命令(Receive ZMODEM),使用ZMODEM协议,将本地文件批量上传到远程Linux/Unix服务器,注意不能上传文件夹。当我们使用虚拟终端软件,如Xshell、SecureCRT或PuTTY来连接远程服务器后,使用rz命令可以上传本地文件到远程服务器。输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为...原创 2018-08-02 10:56:30 · 659 阅读 · 0 评论 -
Linux下的压缩zip,解压缩unzip命令详解及实例
Linux下的压缩解压缩命令详解及实例实例:压缩服务器上当前目录的内容为xxx.zip文件zip -r xxx.zip ./*解压zip文件到当前目录unzip filename.zip============================另:有些服务器没有安装zip包执行不了zip命令,但基本上都可以用tar命令的,实例如下: tar -zcvf /home/z...原创 2018-08-02 11:09:00 · 336 阅读 · 0 评论 -
SecureCRT通过sftp上传文件到Linux和下载方法
ecureCRT打开sftp方法很简单,直接在界面中同时按“ALT+P”就可以打开界面,当然还是命令行,没有界面,类似如下。在打开界面之前,最好先设置好sftp的初始化目录。打开SecureCRT的“选项”->“会话选项”->“SFTP标签页”,修改。使用方法和ftp命令基本一样,不清楚的可以参考lftp使用。常用命令有:ascii 设置传输模式为 ASCIIbi...原创 2018-08-07 16:13:12 · 2287 阅读 · 0 评论 -
用C++开发Hadoop应用程序
最近做项目,用到了Hadoop架构,本身对C++比较熟悉,虽然接触过JAVA(3年前嵌入式。。)。决定用C++开发相关,以下为转载不错文章。-----------------------------------------------------------------------分割线------------------------------------------------------...原创 2018-08-07 17:56:54 · 1038 阅读 · 0 评论 -
C语言实现多态
综述多态性是面向对象程序设计的一个重要特征,利用多态性可以设计和实现一个易于扩展的系统。顾名思义,多态的意思是多种形态,在C++程序设计中,多态指的是:具有不同功能的函数可以用同一个函数名,这样可以用一个函数名调用不同内容的函数。C++的多态分两种:静态多态性和动态多态性。1. C++中的函数重载和运算符重载实现的多态性就属于静态多态,在程序编译时系统就能决定调用的是哪个函数,因此...原创 2018-08-07 18:04:44 · 427 阅读 · 0 评论 -
Linux下ps -ef和ps aux的区别及格式详解
Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。ps -ef 是用标准的格...原创 2018-09-04 09:33:36 · 317 阅读 · 0 评论 -
Git 系列之tag的用法---为你的代码标记版本号
在做app开发的时候经常有版本的概念,比如v1.0、v1.1之类的,不同的版本肯定对应不同的代码,所以我一般要给我们的代码加上标签,这样假设v1.1版本出了一个新bug,但是又不晓得v1.0是不是有这个bug,有了标签就可以顺利切换到v1.0的代码,重新打个包测试了。本地仓库操作:1:打 tag 标签(在commit 之后,push之前,去添加tag)git tag...原创 2018-07-13 15:09:27 · 1450 阅读 · 0 评论 -
shell脚本的执行方法
shell脚本有两种执行方法,这两种执行方法又分为全路径下执行和当前路径下执行, shell脚本在企业使用非常频繁,要想找到一份好的互联网企业或者软件行业工作,shell基础知识是必不可少的,这首先需要我们如何写出第一个hello world,以及去运行改程序工具/原料linux虚拟机CRT或者其它连接linux服务器的软件方法/步骤使用CRT软件登录到linux虚拟机,使用pwd命令查看当前...原创 2018-07-13 15:06:03 · 415 阅读 · 0 评论 -
linux下的find文件查找命令与grep文件内容查找命令
linux下的find文件查找命令与grep文件内容查找命令 在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式...原创 2018-07-17 17:11:45 · 185 阅读 · 0 评论 -
vim 可视化模式(visual模式)
为了便于选取文本,VIM 引入了可视(Visual)模式。 要选取一段文本,首先将光标移到段首,在普通模式下按 v 进入可视模式,然后把光标移到段末。 需要注意,光标所在字符是包含在选区中的v 进入字符可视化模式V 进入行可视化模式Ctrl+v 进入块可视化模式块选择 Ctrl+v在表格中删除指定列非常有用用 v 命令进入的字符可视化模式(Characterwise visua...原创 2018-07-17 18:06:19 · 1587 阅读 · 0 评论 -
vim 打开多个文件
一、如果在终端还没有打开vim1、vim横向分屏打开多个文件vim -o 文件1 文件22、vim纵向分屏打开多个文件vim -O 文件1 文件2 二、如果在终端已经打开vim1、横向分屏打开另一个文件:vs 文件2、纵向分屏打开另一个文件:sp 文件三、关闭窗口1、关闭所有:qa2、关闭光标所在窗口:q或者:close3...原创 2018-07-17 18:11:57 · 305 阅读 · 0 评论 -
Google gflags使用说明
gflags是google的一个开源的处理命令行参数的库,使用c++开发,具备python接口,可以替代getopt。gflags使用起来比getopt方便,但是不支持参数的简写(例如getopt支持--list缩写成-l,gflags不支持)。如何安装使用gflags:安装:请访问地址https://code.google.com/p/gflags/,下载最新版的gflags,编译...原创 2018-07-17 18:45:25 · 259 阅读 · 0 评论 -
Thrift
Thrift 的整体架构Thrift 包含一个完整的堆栈结构用于构建客户端和服务器端。其中代码框架层是根据 Thrift 定义的服务接口描述文件生成的客户端和服务器端代码框架,数据读写操作层是根据 Thrift 文件生成代码实现数据的读写操作Thrift 包含三个主要的组件:protocol,transport 和 server。 protocol 定义了消息是怎样序列化的; ...原创 2018-07-17 20:08:24 · 323 阅读 · 0 评论 -
string类的find()函数总结
string类的头文件提供了很多搜索相关的函数比如find()函数及其变体。这使得我们可以以多种不同的方式在字符串中搜索给定的子字符串或字符。但是对于初学者来讲,经常被这些长相类似的函数所混淆。下面总结了string类的find相关函数:1、find():find函数有四种变体:方法原型 描述 size_type find(const string & str, s...原创 2018-07-17 20:09:52 · 572 阅读 · 0 评论 -
StringUtils API(中英文对照)
public class StringUtilsextends ObjectOperations on String that are null safe. 字符串是null安全的,不会抛出NullPointerException,都做了相应的处理。IsEmpty/IsBlank - checks if a String contains text IsEmpty/IsBlank –...原创 2018-07-23 15:13:27 · 274 阅读 · 0 评论 -
Apache Thrift基本介绍
1、概述经过了详细的信息格式、网络IO模型的讲解,并且通过JAVA RMI的讲解进行了预热。从这篇文章开始我们将进入这个系列博文的另一个重点知识体系的讲解:RPC。在后续的几篇文章中,我们首先讲解RPC的基本概念,一个具体的RPC实现会有哪些基本要素构成,然后我们详细介绍一款典型的RPC框架:Apache Thrift。接下来我们聊聊服务治理和DUBBO服务框架。最后总结一下如何在实际工作中选择合...原创 2018-07-13 11:29:34 · 671 阅读 · 0 评论 -
第一个shell脚本——修改配置文件
有需求,可以让自己偷懒才是学习的真正动力。由于测试环境在构建代码之后总是需要手动修改配置文件,因此边学习边完成了一个shell脚本,可以一键修改。 定义了一个函数,输出信息以绿色字体显示。function echo_green { echo -e "\033[32m$1\033[0m"} 输出提示信息echo_green "是否一键修改xxx?(y/n...原创 2018-07-24 16:48:33 · 4283 阅读 · 0 评论 -
linux sed命令详解(推荐)
sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。接下来通过本文给大家详细介绍linux sed命令相关知识,感兴趣的朋友一起学习吧概述sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。sed是按行来处理文本内容的。在shell中,使用sed来批量修改文本内容是非常方便的。sed命令的选项sed [选项] [动...原创 2018-07-24 17:52:51 · 234 阅读 · 0 评论 -
架构设计:系统间通信——RPC实例Apache Thrift 上篇
1、概述通过上一篇文章《架构设计:系统间通信(10)——RPC的基本概念》的介绍,相信读者已经理解了基本的RPC概念。为了加深这个理解,后面几篇文章我将详细讲解一款典型的RPC规范的实现Apache Thrift。Apache Thrift的介绍一共分为三篇文章,上篇讲解Apache Thrift的基本使用;中篇讲解Apache Thrift的工作原理(主要围绕Apache Thrift使用的消息...原创 2018-07-13 14:30:47 · 246 阅读 · 0 评论 -
架构设计:系统间通信——RPC实例Apache Thrift 下篇(2)
3、正式开始编码我已经在CSDN的资源区上传了这个示例工程的所有代码(http://download.csdn.net/detail/yinwenjie/9289999)。读者可以直接到资源下载站进行下载(不收积分哦~~^_^)。这篇文章将紧接上文,主要介绍这个工程几个主要的类代码。3-1、编写服务端主程序服务端主程序的类名:processor.MainProcessor,它负责在服务端启动Apa...原创 2018-07-13 14:36:01 · 183 阅读 · 0 评论 -
linux grep 命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文...原创 2018-09-04 10:01:58 · 367 阅读 · 0 评论