- 博客(27)
- 收藏
- 关注
转载 tmux 终端复用详解
tmux是什么我们在linux服务器上的工作一般都是通过一个远程的终端连接软件连接到远端系统进行操作,例如使用xshell或者SecureCRT工具通过ssh进行远程连接。在使用过程中,如果要做比较耗时的操作,例如有时候进行编译,或者下载大文件需要比较长的时间,一般情况下是下班之后直接运行希望第二天早上过来运行完成,这样就不用耽误工作时间。但是网络有时候不稳定,可能在半夜会出现连接断...
2018-04-22 10:52:00 214
转载 将git版本号编译进程序
问题的提出不管是什么版本管理工具,每一条提交记录都会有一个对应的版本号,一般是一个整数,git是一个hash字符串。不管怎样,这个版本号是唯一的,有时候我们在程序运行的时候会在日志里面输出程序的版本号,或者在命令行运行的时候在控制台中输出当前程序的版本号。一般而言,如果我们程序输出的版本号,与版本控制系统源码对应的版本号有关联关系是最好不过的,这样当运行的程序出现问题的时候,可以通过...
2017-07-16 19:17:00 609
转载 linux sed命令就是这么简单
概述sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。sed是按行来处理文本内容的。在shell中,使用sed来批量修改文本内容是非常方便的。sed命令的选项sed [选项] [动作]选项与参数:-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只...
2017-04-17 08:38:00 992
转载 xargs命令详解,xargs与管道的区别
为什么要用xargs,问题的来源在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别。为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入。例如cat、grep就是这样的命令,举个例子:...
2017-02-27 01:03:00 4597
转载 crtmpserver系列(二):搭建简易流媒体直播系统
crtmpserver简介我们在第一章的时候已经简要说明了crtmpserver,crtmpserver是一个由C++语言编写的开源的RTMP流媒体服务器,与其对应的商业产品自然是Adobe公司的FMS。与FMS相比,从功能上来说crtmpserver只能称为FMS的简化版本,其功能并没有FMS那么完善甚至是远远没有达到。其与flash player的兼容性自然也比不上官方的FMS了...
2016-10-31 08:03:00 333
转载 crtmpserver系列(一):流媒体概述
概述所谓流媒体按照字面意思理解就是像流一样的媒体,看起来像是废话。流媒体现在司空见惯,所以一般人大概不会有疑问。事实上在流媒体还没有出现的时候,基本上通过网络播放电影就不太现实。通过网络播放电影的时候必须先将整个文件下载到电脑上然后才能播放,所以一般都要缓冲很久,这也是为什么最开始迅雷等下载工具流行的原因,其实大多数都是用来下电影了。流媒体最大的特点即是能够做到边下载边播放,而不需要...
2016-10-16 10:37:00 162
转载 linux awk 一看就懂
awk是什么awk是linux环境下的一个命令行工具,但是由于awk强大的能力,我们可以为awk工具传递一个字符串,该字符串的内容类似一种编程语言的语法,我们可以称其为Awk语言,而awk工具本身则可以看作是Awk语言的解析器。就好比python解析器与Python语言的关系。我们一般使用awk来做什么,awk又适合做什么工作呢。由于awk天生提供对文件中文本分列进行处理,所以如果一...
2016-09-12 08:37:00 125
转载 diff详解,读懂diff结果
1.概述本文将要讨论的是diff命令,diff用来比较两个文件。当然文件比较的工具很多,windows系统下面就有不错的工具可以使用,例如常用的Beyond Compare,WinMerge都是图形界面的比较工具而且使用非常方便,如果你仅仅是在windows下工作,这些GUI的比较工具绝对是首选。对于在linux环境下工作的人来说,如果每次想看两个文件的区别都要将文件下载到windo...
2016-08-22 08:43:00 2443
转载 C++11新特性总结 (二)
1. 范围for语句C++11 引入了一种更为简单的for语句,这种for语句可以很方便的遍历容器或其他序列的所有元素vector<int> vec = {1,2,3,4,5,6};for(int x: vec){ cout<<x<<endl;}2. 尾置返回类型要想引入尾置类型,我们还得从复杂的类型声...
2016-07-18 07:04:00 143
转载 C++11新特性总结 (一)
1. 概述最近在看C++ Primer5 刚好看到一半,总结一下C++11里面确实加了很多新东西,如果没有任何了解,别说自己写了,看别人写的代码估计都会有些吃力。C++ Primer5是学习C++11的比较好的书籍。这篇文章仅总结关于C++11中的新东西,老的东西不再赘述。本文的所有代码仅仅值列出关键代码,并且所有特性都已经用编译器验证过,我的编译环境 gcc 5.3.1 g++ ...
2016-07-04 07:49:00 179
转载 以生活例子说明单线程与多线程
1. 程序设计的目标在我看来单从程序的角度来看,一个好的程序的目标应该是性能与用户体验的平衡。当然一个程序是否能够满足用户的需求暂且不谈,这是业务层面的问题,我们仅仅讨论程序本身。围绕两点来展开,性能与用户体验。性能:在其他同等条件下,高性能的程序应该可以等同于CPU的利用率,CPU的利用率越高(一直在工作,没有闲下来的时候),程序的性能越高。体验:这里的体验不只是界面多么漂亮,功能...
2016-05-08 15:17:00 468
转载 Linux计划任务crontab运行脚本不正确的问题
问题的由来写好的程序希望在崩溃之后能够自启动,于是利用linux的crontab功能,添加一个计划任务,每分钟执行一个脚本查看需要监控的进程是否还在,如果不在则启动之,否则不做任何事情。这么一个简单的脚本在crontab中运行和在shell终端手工运行的结果却不一样。问题描述以下是监控脚本/home/watch.sh的内容:#!/bin/shshell_log_f...
2016-04-16 20:23:00 169
转载 我对计算机系统的理解
计算机系统的组成一个计算机系统是由软件与硬件组成的,就硬件来说,当我们一般去电脑城配电脑的时候,一般会购买这些基本零部件:主板,CPU,内存,磁盘,机箱,键盘鼠标,显示器。当然还有一些额外的部件,例如独立显卡或者网卡,音箱等。如果除去非必要的部件来看,其实一个计算机系统主要由下面这些重要的部件组成:CPU,存储器(内存),磁盘,IO设备(键鼠,显示器),以及连接这些器件总线,只不过我...
2016-03-06 22:44:00 498
转载 wireshark长时间抓包分多个文件
前言说一说这个问题的由来,一般使用wireshark不需要长时间抓包的,但是有时候遇到网络通信中非常棘手的问题,例如一个小时出现一次或者几个小时出现一次问题的情况,这种情况下就必须长时间抓包了。但是如果在wireshark中开始抓包之后等上几个小时肯定会出问题,因为这个时候抓包的内容都是存放在内存中的,几个小时的数据包,特别是如果涉及到音视频的数据包是很大的,几个小时可能会达到几个G...
2015-12-23 00:43:00 1317
转载 QSS总结以及最近做的Qt项目
什么是QSSQSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制。QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多,体现在选择器要少,可以使用的QSS属性也要少很多,并且并不是所有的属性都可以用在Qt的所有控件上。QSS在Qt程序中的使用办法首先将QSS写在文件中,然后利用如下的代码设置QSS:MainW...
2015-11-13 21:35:00 3148
转载 我总结的Android编程规范
命名规则1). 类名,接口名:以大写开头,如果一个类的类名由多个单词组成,所有单词的首字母必须大写,单词尽量写全称,不要简写,除非约定俗成的名字,例如:URL,RTMP,RTSP 这些广泛使用的专有名词,可以全部大写,也可以首字母大写。例如 HttpRequest,CourseActivity2). 局部变量,类的成员变量,类的成员函数,函数参数:以小写字母开头其他的单词首字母大写,...
2015-08-30 16:19:00 161
转载 关于QT的系统总结
编译环境与开发流程开发QT有两种IDE可以使用,一种是使用 VS + Qt 的插件,另一种就是使用QtCreator工具。前一种是微软的工具,用的都比较多容易上手,缺点是信号槽的支持不太好,需要手写,不能自动生成,另外可能有中文编码的问题。后一种是Qt的官方IDE,智能提示与调试功能不如VS强大,但是是跨平台的IDE,其QtDesigner设计UI界面操作比较方便,并且由于是Q...
2015-07-07 00:52:00 521
转载 QT中QProcess调用命令行的痛苦经历
在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了2天仍然没找到原因,使用另外一种办法解决了。创建压缩包的方法在windows平台创建压缩包,可以直接使用rar.exe,该程序在安装winrar之后,在其安装目录下就可以找到。该程序...
2015-06-30 00:50:00 5889
转载 从RTSP协议SDP数据中获得二进制的SPS、PPS
在RTSP协议的交互过程中,第二步客户端发送DESCRIBE请求之后,服务端会返回SDP内容,该SDP内容中有关于媒体和会话的描述,本篇文章主要给出如何从SDP字符串中得到H264视频信息中的sps、pps的二进制数据。我们知道,在RTSP协议中DESCRIBE请求回复内容的SDP部分中,如果服务端的直播流的视频是H264的编码格式的话,那么在SDP中会将H264的sps、pps信息...
2015-06-06 11:47:00 219
转载 如何修改文件中间的几个字节
工作中碰到一个问题,如何只修改文件中间的几个字节,而其他的内容不变。这个问题看似简单,但是很多人估计都不知道怎么做。我开始seek到文件的特定的位置,然后写文件,但是使用的文件打开模式不对,文件不是被清空,就是被截断,达不到效果。fopen的打开模式在C语言中文件打开方式有这么几种:r 以只读方式打开文件,只能读不能写,往文件中写是没有任何效果的r+ 可以读,也...
2015-05-30 11:32:00 433
转载 手机数据抓包以及wireshark技巧
本文主要讨论一种非常方便的抓取Android和iphone手机网络数据包的办法,以及介绍wireshark最常用的技巧抓包工具介绍(1).网页抓包工具 Chrome浏览器插件 FireBug 插件 HttpWatch Fiddler 在浏览器chrome和firefox中可以使用插件抓取网络包,httpwatch会以插件的形式安装在IE...
2015-05-25 23:59:00 1191
转载 近半年的读书总结
近半年的时间里读了不少好书,而大多数书籍其实都与技术沾不上边,是适合所有人去读的。当然这期间也学了一些新的技术,比如看完了Python基础教程,学习了QT的程序开发,也开始准备了解Android移动开发的内容。读了这么多书之后有几点明显的感触:1. 当你学到了越来越多的知识之后,你会发现自己的力量越来越强大,你会发现很多困难你都没那么怕了(这里的困难不一定指技术上的困难,而是指...
2015-04-26 17:40:00 296
转载 让博客园博客自动生成章节目录索引
一个好的博文除了博文的质量要好以外,好的组织结构也能让读者阅读的更加舒服与方便,我看园子里面有一些园友的博文都是分章节的,并且在博文的前面都带有章节的目录索引,点击索引之后会跳转到相应的章节阅读,并且还可以回到目录顶端,其中 Fish Li 的博文就是这种组织,当然这种结构如果是在写博文的时候人工设置那是非常麻烦的,无疑是增加了写作人的工作量。如果能自动生成章节索引岂不是节省了一大堆工作...
2015-03-21 00:47:00 153
转载 VC中LINK 2001 和 LINK 2009 的错误的解决
最近将两个开源C++项目编译成windows版本的时候遇到很多问题,关键是两个项目经过同事的修改之后,一个项目引用了另一个项目,两个项目的头文件中都有一些跨平台的关于数据类型,以及一些通用函数的定义,所以导致有冲突,编译的时候总是报错,报的最多的是“无法解析的外部符号”,经过近3天的折腾总算都通过了,这里是一些总结。首先,关于VC中的lib,与linux下的静态库是不同的,在V...
2015-03-18 22:48:00 243
转载 将H264与AAC打包Ipad可播放的TS流的总结
由于要在crtmpserver中实现Http Live Streaming ,本人花了接近3个星期的时间,研究将H264与AAC打包为TS流并能在Ipad上通过HTML5播放,由于没有任何现成代码可供参考,打包代码全部手写,打包格式主要参考ISO/ICE 18318-1.pdf。期间碰到很多问题,走了不少弯路,符合标准的TS不一定能在Ipad上播放,但是Ipad上播放的TS一定是符合标准...
2013-03-29 00:14:00 684
转载 Ubuntu阿里云搭建Mono.net环境
【在本文后面有测试地址,欢迎大家测试。】之前博客园上面有一个活动,就是139元买3个月的linux阿里云主机,我也是通过本次活动体验了一下linux的阿里云,这里感谢博客园。首先我的阿里云选择的是Ubuntu 12操作系统,默认情况下阿里云主机里面是什么都没有安装的,都需要自己安装,下面就说一下怎么搭建Mono.NET系统:我这里选择的是mono+nginx+fast-cgi-s...
2013-01-10 00:32:00 224
转载 利用正则表达式排除特定字符串
查找不以baidu开头的字符串baidu.comsina.com.cn正则:^(?!baidu).*$ 匹配结果就是第2行,也就是第1行被排除了这里使用了零宽度断言(?!exp),注意,我们有一个向前查找的语法(也叫顺序环视) (?=exp)(?=exp) 会查找exp之前的【位置】如果将等号换成感叹号,就变成了否定语义,也就是说查找的位置的后面不能是exp一般情况下?!...
2012-05-08 13:01:00 4445
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人