自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(206)
  • 资源 (4)
  • 收藏
  • 关注

原创 chrome查看浏览器内核日志

查看chrome内核日志

2023-07-21 14:44:14 3004

转载 Go语言 Base64编码原理及使用

go base64使用详解

2022-01-17 14:11:14 1581

原创 vscode问题 go: updates to go.mod needed, disabled by -mod=readonly : packages.Load error

使用vscode进行go开发时,遇到下列问题 go: updates to go.mod needed, disabled by -mod=readonly : packages.Load error解决方法:如果已经设置了gomod环境,只需要更新mod依赖的modulesgo mod tidy

2021-04-28 15:52:38 10483 4

原创 undefined reference to ‘powf@GLIBC_2.27’

在使用他人提供的ffmpeg动态库时,发生编译错误。undefined reference to ‘powf@GLIBC_2.27’参考这篇文章:https://answers.ros.org/question/327482/libflycaptureso-undefined-reference-to-powfglibc_227/问题原因: 编译ffmpeg动态库...

2020-03-10 11:17:14 11661

转载 ffmpeg rgb与yuv的转换

原文链接:https://blog.csdn.net/jklinux/article/details/94432008ffmpeg里的libswscale库用于图像数据格式的转换.AVFrame 类型对象用于描述非压缩的音视频数据信息, 此对象本身不提供存储音视频数据的缓冲区,只用于记录数据格式,图像分辨率,数据缓冲区地址等信息.typedef struct AVFrame { ...

2020-02-29 21:57:31 1433

转载 linux 同步IO: sync、fsync与fdatasync

传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayed write)(Bach ...

2019-08-06 19:19:27 266

转载 golang time.After内存泄露问题分析

转载地址:https://www.cnblogs.com/luoming1224/p/11174927.html无意中看到一篇文章说,当在for循环里使用select + time.After的组合时会产生内存泄露,于是进行了复现和验证,以此记录内存泄露复现问题复现测试代码如下所示:package mainimport ( "time" )func...

2019-07-14 16:01:15 2002

转载 FLV文件格式详解

Flash Video(简称FLV),是一种流行的网络格式。目前国内外大部分视频分享网站都是采用的这种格式.一、File Structure从整个文件上开看,FLV是由The FLV header和The FLV File Body组成.1、The FLV header Type Comment Signature UI8 Signatur...

2019-06-13 16:15:08 3216

转载 设备唯一标识方法(Unique Identifier):如何在Windows系统上获取设备的唯一标识

原文地址:http://www.vonwei.com/post/UniqueDeviceIDforWindows.html 唯一的标识一个设备是一个基本功能,可以拥有很多应用场景,比如软件授权(如何保证你的软件在授权后才能在特定机器上使用)、软件License,设备标识,设备身份识别等。下面列举一下各种方法的优劣:(1)网卡MAC地址 MAC地址可能是最...

2019-05-29 14:33:49 9505

转载 RTMP协议以及提取RTMP视频流组成H264视频文件

转载地址:http://www.rosoo.net/a/201405/16980.html首先我们获得h264的流,在监听里,我们通过参数可以获得RTMP包 IStreamPacket,调用getData()方法直接获得包数据 放入IOBuffer。以下是提取并修改数据存成h264文件的步骤TAG:rtmplibrtmp 首先我们获得h264的流,在监听里,我们通过...

2019-05-27 16:19:53 945

转载 利用/dev/urandom文件创建随机数

1:/dev/urandom和/dev/random是什么  这两个文件记录Linux下的熵池,所谓熵池就是当前系统下的环境噪音,描述了一个系统的混乱程度,环境噪音由这几个方面组成,如内存的使用,文件的使用量,不同类型的进程数量等等,刚开机的时候系统噪音会较小。在这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random...

2019-05-13 10:23:24 3865

转载 [图解MySQL]MySQL组提交(group commit)

前提: 以下讨论的前提 是设置MySQL的crash safe相关参数为双1: sync_binlog=1innodb_flush_log_at_trx_commit=1背景说明: WAL机制 (Write Ahead Log)定义: WAL指的是对数据文件进行修改前,必须将修改先记录日志。MySQL为了保证ACID中的一致性和持久性,使用了WAL...

2019-05-09 13:57:33 754

转载 golang手动管理内存

作者:JohnGraham-Cumming.原文点击此处。翻译:Lubia Yang(已失效)前些天我介绍了我们对Lua的使用,implementournewWebApplicationFirewall.另一种在CloudFlare(作者的公司)变得非常流行的语言是Golang。在过去,我写了一篇howweuseGo来介绍类似Railgun的网络服务的编写。...

2019-05-07 09:40:14 309

转载 EC纠删码原理

Erasure Code - EC纠删码原理一、什么是Erasure Code Erasure Code(EC),即纠删码,是一种前向错误纠正技术(Forward Error Correction,FEC,说明见后附录),主要应用在网络传输中避免包的丢失, 存储系统利用它来提高 存储 可靠性。相比多副本复制而言, 纠删码能够以更小的数据冗余度获得更高数据可靠性, 但编码方式较复...

2019-05-05 11:34:12 4356 1

转载 Restful风格学习总结

非RESTful风格问题七宗罪的第一条,混乱。    一万个人心里有一万个Url的命名规则,Url是统一资源定位符,重点是资源。而很多人却把它当成了万金油,每一个独立的虚拟的网页都可以随意使用,各种操作都能够迭加。这是混乱的来源之一。比如:https://localhost:8080/myweb/getUserById?id=1https://localhost:8080/my...

2019-05-04 17:37:32 348

转载 用Valgrind定位子进程内存泄漏

1. valgrind跟踪子进程以下例子用spawn-cgi来测试验证,spawn-cgi会生成一个cgi子进程--trace-children=yes:valgrind加上该参数用于跟踪子进程valgrind --leak-check=full --trace-children=yes --tool=memcheck --log-file=a.log spawn-fcgi -a 12...

2019-04-16 17:52:58 2407

转载 linux环境内存分配原理 mallocinfo

Linux的虚拟内存管理有几个关键概念:Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全部使用 mmap 来分配,munmap直接释放呢 ?Linux的虚拟内存管理有几个关键概念:1、每个进程都有独立的虚拟地址空间,进程访问的虚拟地址并不是真正的物理地址;2、虚拟地址可通...

2019-03-28 09:42:08 308

转载 malloc_stats---检查内存泄露的神器

在之前的博客中提到过,valgrind可以用来检测内存泄露,但在使用中,往往会遇到一些问题,给调试工作带来很多不必要的麻烦,我自己遇到的有以下两种:(1)内存泄露误检(系统初始化时,可能有一些需要长期保存在内存中的数据结构,这些空间是永远不释放的,而这些内存会被认为绝对泄露)(2) valgrind检查内存泄露过于全面,运行后的结果太多往往很难从中找到有用的信息。有...

2019-03-25 17:30:01 896

转载 SSD写放大的成因与解决思路

笔者目前开发运维的存储系统的服务器都跑在SSD之上,目前单机服务器最大的SSD容量有4T之多。(公司好有钱,以前在实验室都只有机械硬盘用的~~)但SSD本身的特性与机械硬盘差距较大,虽然说在性能上有诸多优势,但是如果使用的方式方法不对,反而会事倍功半。所以笔者花时间调研了一下固态硬盘的结构与特性,并且总结了一些避免SSD写放大性能下降的法则,希望对大家有所帮助~~1.SSD的写放大首先...

2019-03-22 10:20:31 2929

转载 Linux编程基础之进程等待(wait()函数

编程过程中,有时需要让一个进程等待另一个进程,最常见的是父进程等待自己的子进程,或者父进程回收自己的子进程资源包括僵尸进程。这里简单介绍一下系统调用函数:wait()函数原型是#include <sys/types.h>/* 提供类型pid_t的定义*/#include <wait.h>int wait(int *status)函数功能是:父进程...

2019-03-11 20:43:41 643

转载 采用epoll实现echo server和client

服务器代码:#include <sys/socket.h> #include <sys/epoll.h> #include <netinet/in.h> #include <arpa/inet.h> #include <fcntl.h> #include <unistd.h> #inc...

2019-03-07 17:40:40 556

转载 EAGAIN、EWOULDBLOCK、EINTR与非阻塞的长连接

EWOULDBLOCK: 用于非阻塞模式,不需要重新读或者写EINTR: 指操作被中断唤醒,需要重新读/写EAGAIN:Resource temporarily unavailable,这表明你在非阻塞模式下调用了阻塞操作,在该操作没有完成就返回这个错误,这个错误不会破坏socket的同步EAGAIN详解:在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN...

2019-03-07 10:06:46 572

转载 浅析套接字中SO_REUSEPORT和SO_REUSEADDR的区别

转载地址:https://blog.csdn.net/yaokai_assultmaster/article/details/68951150Socket的基本背景在讨论这两个选项的区别时,我们需要知道的是BSD实现是所有socket实现的起源。基本上其他所有的系统某种程度上都参考了BSD socket实现(或者至少是其接口),然后开始了它们自己的独立发展进化。显然,BSD本身也是随着时间...

2019-02-07 10:40:30 224 1

转载 gcc程序的编译过程和链接原理

  一、C/C++文件的编译过程:先来看一下gcc的使用方法和常用选项提示:gcc --help Ⅰ、使用方法:gcc [选项] 文件名Ⅱ、常用选项:选项 含义 选项 含义 -v 查看gcc编译器的版本,显示gcc执行时的详细过程 -o <file> ...

2019-02-05 23:09:59 299

转载 getopt 函数的简单使用

最近在弄Linux C编程,本科的时候没好好学啊,希望学弟学妹们引以为鉴。好了,虽然啰嗦了点,但确实是忠告。步入正题:我们的主角----getopt()函数。英雄不问出处,getopt()函数的出处就是unistd.h头文件(哈哈),写代码的时候千万不要忘记把他老人家include上。 再来看一下这家伙的原型(不是六耳猕猴):int getopt(int argc,char...

2019-01-26 17:43:22 813 1

原创 warning: integer overflow in expression [-Woverflow]

C语言大数字表示易错点错误事例#include <stdio.h>#include <stdlib.h>#include <string.h>int main() { off_t bigNum = (4000 * 1024 * 1024 * 1024); printf("bigNum:%ld\n&qu

2019-01-04 11:00:58 8992 1

转载 在Golang中获取系统的磁盘空间内存占用

获取磁盘占用情况(Linux/Mac下有效)import (    "syscall") type DiskStatus struct {    All  uint64 `json:"all"`    Used uint64 `json:"used"`    Free uint64 `json:"free"`} // disk usage of path/diskfun...

2018-12-10 20:21:05 5708

转载 qsort用法--完整版(解释了cmp)

 原文地址:http://hi.baidu.com/xuhanqiu/item/99505e41aeef4eae61d7b916用qsort快两年的时候了,却一直没有真正弄懂cmp函数的返回值1,-1,0的函数. 今天在做凸包时,郁闷了....所以请教了snoopy,终于弄懂了cmp返回值的意识:int cmp(const void *a, const void *b)返回正数就是...

2018-11-29 19:45:41 851

转载 [: -le: unary operator expected 错误

运行xx.sh时出现[: -le: unary operator expected这个错误后面经过排查得出错误代码段:declare -i ideclare -i s while [ "$i" -le "10"  ] do         s=s+i         i=i+1echo "$i" done 错误原因:由于变量i初始化没赋值所以为空,那么就成了...

2018-11-26 10:51:32 2366

转载 Nginx缓存配置及nginx ngx_cache_purge模块的使用

ngx_cache_purge模块的作用:用于清除指定url的缓存下载地址:http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz 1、编译如下:# ./configure --prefix=/app/nginx --with-http_stub_status_module --with-http_ssl_module -...

2018-10-26 10:03:20 1294

转载 VSCode安装go语言开发环境,go插件问题解决

在安装go插件时,会自动更新很多依赖库文件,都是从Github更新下来,但是因为Github的文件中,多有应用go官网中的文件,导致,因为网络缘故,不能直接下载,导致安装失败,如下:Installing github.com/nsf/gocode SUCCEEDEDInstalling github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDEDInstal...

2018-10-14 03:19:57 2014

转载 Visual Studio Code 快捷键大全(Windows)

Visual Studio Code 是一款优秀的编辑器,非常适合编写 TS 以及 React 。最近在学习 AngularJs 2,开始使用 VSCode,特意整理翻译了一下官网的快捷键。因为已经习惯了 Sublime 的快捷键,更换到 VSCode 有些不适应,尤其是 Emmet 的使用。通用 Ctrl+Shift+P, F1 打开命令面板 Ctrl+P 快速打开文...

2018-10-10 17:34:49 241

转载 linux后台运行程序

菜鸟开始时不懂窗口关闭时,jobs程序也被关闭,原因当然是SIGHUP信号。下面分析SIGHUP信号的特点,以及如何使得程序不被关闭。 SIGHUP信号SIGHUP是unix中进程组织结构为 session 包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程。一个session可能会有一个session首进程,而一个session首进程可能会有一个控制终端。一个进...

2018-09-30 15:13:27 174

转载 Linux查看进程详细

遇到的问题是想要查看进程的启动脚本在哪里,比如自己写的weblogic启动脚本,但忘记放在哪里了,这时候可以用以下方式 1、用ps -ef |grep xxxxx 得到该进程的pid2、输入ls -l ,结果中 exe链接对应的就是可执行文件的路径$ ls -l /proc/18283dr-xr-xr-x 2 root root 0 Jan 21 10:39 attr-r--...

2018-09-26 10:42:26 15893

转载 大小为0的数组

 size为0的数组是GUN C支持的一个特性,这个特性可以用来模拟动态大小的数组,同时又避免了一些问题,所以还是比较有实际意义的一个小技巧。在网上参考了一些资料,大多数资料都是以结构体中包含一个大小为0的数组为例。我想这样可能是基于两点考虑: 因为动态大小是“模拟”出来的,所以不可避免要申请空间,那么对于申请空间而言,以一个结构体的形式来申请,是比较方便的; 容易与别的实现方法做对比,...

2018-08-23 14:15:30 2207

转载 sscanf,sscanf_s及其相关用法

#include<stdio.h> 定义函数 int sscanf (const char *str,const char * format,........);函数说明  sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因...

2018-08-15 13:49:32 5940 1

转载 Linux内存分配小结--malloc、brk、mmap

转发地址:https://blog.csdn.net/gfgdsg/article/details/42709943  http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201210975312473/http://blog.sina.com.cn/s/blog_7c60861501015vkk.htmlLinux 的虚...

2018-08-14 20:26:06 413

转载 收藏的博客 -- 高性能Linux服务器(★★★★★)

转载地址: https://blog.csdn.net/libaineu2004/article/details/76906574socket:中国大陆翻译为套接字,台湾翻译为插座。感觉插座更容易理解。https://blog.csdn.net/alitech2017 阿里技术官方号https://blog.csdn.net/russell_tao -- 陶辉,《深入理解Nginx:模...

2018-07-18 18:30:01 653

转载 CLOSE_WAIT状态的原因与解决方法

http://blog.csdn.net/lishenglong666/article/details/45335589这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP的状态转移图吧。关闭socket分为主动关闭(Active clos...

2018-07-18 18:21:43 74140 1

转载 彻底弄懂HTTP缓存机制及原理

转载地址:https://www.cnblogs.com/chenqf/p/6386163.html前言Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却...

2018-07-18 18:04:53 208

C++的STL源码

网上找的C++STL库,有需要的就拿去啦~

2016-11-02

第一个Hibernate代码, Hello Hibernate

简单的Hibernate例子,代码都有详细的注解,如果需要,谢谢下载。实践时,请注意库是否添加完整。

2016-07-04

json-lib-2.4-jdk15

2016-03-10

mfcc的C++实现

实现mfcc基本功能,使用音频来源:matlab录音,得到归一化音频信息。

2015-06-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除