自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(219)
  • 资源 (23)
  • 收藏
  • 关注

原创 cmake简明教程-半小时从入门到精通

参考文献:入门首先:http://www.hahack.com/codes/cmake/#官方教程:https://cmake.org/cmake-tutorial/官方教程译文:https://juejin.im/post/5a72775d6fb9a01cac187e96简单操作语法:https://learnxinyminutes.com/docs/cmake/官方cmake、ctest、cp...

2018-06-10 11:44:08 18972

原创 git简明教程-半小时从入门到精通

Doc下载:https://download.csdn.net/download/qccz123456/10567652参考文献:https://www.yiibai.com/git/https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000Linux安装git:sudo a...

2018-05-09 09:56:00 1432

原创 vim简明教程--半小时从入门到精通

https://download.csdn.net/download/qccz123456/10567716vim三种模式:命令模式、插入模式、底行模式。使用ESC、i、:切换模式。vim [路径/]目标文件名:若存在则打开,不存在则新建并打开。基本步骤:1. vim hello.c 2. 键入i 3. 编辑 4. 键入[ESC] 5. 键入:wq保存退出...

2016-09-27 09:43:50 3681 4

原创 pyinstaller 打包python程序成可执行文件

pyinstallergithub: https://github.com/pyinstaller/pyinstallerinstall:(1) download *.tar.gz https://github.com/pyinstaller/pyinstaller/releases(2) tar -zxvf *.tar.gz(3) cd pyinstaller; python se...

2019-07-12 15:45:48 290

原创 C++设计模式

C++设计模式什么是设计模式“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。——Christopher Alexander好的面向对象设计是面对变化,提高软件的复用性。先寻找变化点,然后在变化点上应用设计模式,而不是任何时间任何地方都用。先写代码,而后采用设计模式进行重构。如何解决复杂性?分解...

2019-07-11 17:42:53 253

原创 Linux性能优化从入门到实战:09 内存篇:Buffer和Cache

  Buffer 是缓冲区,而 Cache 是缓存,两者都是数据在内存中的临时存储。  避免跟文中的“缓存”一词混淆,而文中的“缓存”,则通指内存中的临时存储。free$ man free buffers Memory used by kernel buffers (Buffers in /proc/meminfo) cache M...

2019-07-10 19:26:28 473 1

原创 Docker 背后的内核知识——cgroups 资源限制

Docker 背后的内核知识——cgroups 资源限制上一篇中,我们了解了 Docker 背后使用的资源隔离技术 namespace,通过系统调用构建一个相对隔离的 shell 环境,也可以称之为一个简单的“容器”。本文我们则要开始讲解另一个强大的内核工具——cgroups。他不仅可以限制被 namespace 隔离起来的资源,还可以为资源设置权重、计算使用量、操控进程启停等等。在介绍完基本...

2019-06-04 14:37:14 576

原创 Docker 背后的内核知识——Namespace 资源隔离

Docker 背后的内核知识——Namespace 资源隔离Docker 这么火,喜欢技术的朋友可能也会想,如果要自己实现一个资源隔离的容器,应该从哪些方面下手呢?也许你第一反应可能就是 chroot 命令,这条命令给用户最直观的感觉就是使用后根目录 / 的挂载点切换了,即文件系统被隔离了。然后,为了在分布式的环境下进行通信和定位,容器必然需要一个独立的 IP、端口、路由等等,自然就想到了网络...

2019-06-04 14:35:34 411

原创 数据压缩算法—LZ77 vs LZ78

整数压缩编码 ZigZagHuffman编码的建树优化方法:https://www.cnblogs.com/en-heng/p/4980055.htmlLZ77 vs LZ78  LZ77算法是采用字典做数据压缩的算法,由以色列的两位大神Jacob Ziv与Abraham Lempel在1977年发表的论文《A Universal Algorithm for Sequential Data ...

2019-05-30 15:15:52 3914 1

原创 两将军问题:LoRaWAN

TCP三次握手协议,为了确定port和确认连接等。HOST A send: AA mac-addr seq(x) size command-byte data-string CRC A5    HOST B recv: AA mac-addr seq(x) size command-byte data-string CRC A5HOST B send: AA mac-addr ack(x...

2019-05-21 19:08:28 965

原创 XaaS介绍

  在云计算中,有各种X作为服务X as a service,以下整理和总结了相关的service,再提及这些服务之前,我, 需要明确serverless无服务器化,指的是开发者、使用者或者用户不需要管理硬件服务器的概念,这些工作都由CSP云服务厂商为了管理,节省了运维成本。  在维基百科中介绍了相关的云计算概念:https://en.wikipedia.org/wiki/Cloud_compu...

2019-05-20 09:18:55 3233

原创 swarm、mesos、kubernetes 容器集群管理平台(orchestration编排工具)

先说结论:1)对于大数据类应用(spark、hadoop)等固定领域的大规模应用,用mesos。2)其他应用都优先考虑kubernetes。3)swarm不考虑。MesosMesos集群资源调度平台,自身只是一个资源抽象平台,需要结合其上具体的分布式应用,才能实现具体的功能,需要大量的二次开发工作,但是mesos在固定领域中性能是最优的,集群节点可达上万台。Mesos 目前支持的应用框...

2019-04-27 16:47:56 528

原创 Docker Compose 定义和运行多个Docker容器的工具

参考: https://docs.docker.com/compose/overview/1. Compose介绍Docker Compose是一个用来定义和运行多个docker容器的工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容...

2019-04-27 15:07:59 1668

原创 Docker Machine 帮助用户在本地或云环境中快速创建和维护Docker主机或主机集群

官网:https://docs.docker.com/machine/overview/  Docker Machine,是使用Docker容器的第一步,意思就是说可以帮助用户在本地或云环境中快速创建Docker主机或主机集群,还可以用于维护集群。  其中机器要么在本地,要么就在远程,而远程的机器,有分为云服务产商CSP提供的机器,或者非CSP提供的机器,针对这三种情况,就具有了以下三种配置参...

2019-04-27 12:07:03 184

原创 如何进入、退出docker的container

3 启动docker某个image(镜像)的container(容器)Docker的镜像称为image,容器称为container。对于Docker来说,image是静态的,类似于操作系统快照,而container则是动态的,是image的运行实例。比如,有一个image名称为ubuntu,那么比如现在我们启动这个image的container并且进入到这个container的bash命...

2019-04-23 16:35:35 1498

原创 Lucene全文检索引擎工具包

Lucene是apache下的一个开源的全文检索引擎工具包。它为软件开发人员提供一个简单易用的工具包(类库),以方便的在目标系统中实现全文检索的功能。Lucene WiKi:https://zh.wikipedia.org/wiki/Lucene了解资料:https://www.jianshu.com/p/4b1a88d1c1d0https://blog.csdn.net/lfdns/ar...

2019-04-18 14:28:01 262

原创 System Monitor

(1)Redis管理及监控工具:treeNMS官网:https://www.cnblogs.com/treesoft/p/7076085.html安装手册:https://blog.csdn.net/zhangbaoss/article/details/79984270apache-tomcat-7.0.93.zip,jdk-8u201-linux-x64.tar.gz,treeNMS-1....

2019-04-16 09:43:17 1217

原创 shell,exec,source执行脚本的区别

在UNIX/Linux中,经常需要写脚本执行自动化工作。执行脚本有多种方式,可以通过sh,source或者exec。这些方式有一些区别,需要根据需求选择合适的方式。sh方式使用$ sh script.sh执行脚本时,当前shell是父进程,生成一个子shell进程,在子shell中执行脚本。脚本执行完毕,退出子shell,回到当前shell。$ ./script.sh与$ sh scrip...

2019-04-02 22:35:06 1070

原创 LevelDB之整体结构

数据库和存储引擎。数据库往往是一个比较丰富完整的系统, 提供了SQL查询语言,事务和水平扩展等支持。然而存储引擎则是小而精, 纯粹专注于单机的读/写/存储。一般来说, 数据库底层往往会使用某种存储引擎。目前开源的KV存储引擎中,RocksDB是流行的一个,MongoDB和MySQL底层可以切换成RocksDB, TiDB底层直接使用了RocksDB。大多数分布式数据库的底层不约而同的都选择了Ro...

2019-03-27 14:35:08 510

原创 FaaS之AWS Lambda

先mark,之后在整理https://aws.amazon.com/cn/blogs/china/iaas-faas-serverless/https://aws.amazon.com/cn/lambda/https://www.amazonaws.cn/lambda/https://github.com/aws?utf8=✓&q=lambda&type=&lang...

2019-03-22 09:00:01 546

原创 RTMP、RTSP(RTP、RTCP)、HLS介绍和协议

互联网上常用的两种主要的分发方式:RTMP、HLS。UDP:譬如YY的实时应用,视频会议等等,或者RTSP之类。这类应用的特点就是实时性要求特别高,以毫秒计算。TCP家族协议根本就满足不了要求,所以HTTP/TCP都不靠谱。这类应用没有通用的方案,必须自己实现分发(服务端)和播放(客户端)。P2P:譬如RTMFP或者各家自己的协议。这类应用的特点是节省带宽。目前PC/flash上的RTMFP比...

2019-02-24 21:51:01 1507

原创 nginx+rtmp搭建直播和点播服务器

nginx地址:https://github.com/nginx/nginxnginx插件nginx-rtmp-module地址:https://github.com/arut/nginx-rtmp-module依赖:sudo apt-get updatesudo apt-get install libpcre3 libpcre3-devsudo apt-get install op...

2019-02-24 17:11:39 661

原创 CentOS 7 升级 kernel,给kernel打patch

CentOS 7 中安装或升级最新的内核:https://linux.cn/article-8310-1.htmlELRepo,an RPM repository for Enterprise Linux packages:http://www.elrepo.orgLinux下patch打补丁命令patch [ -b [ -B Prefix ] ] [ -f ] [ -l ] [ -N ...

2019-02-18 15:59:32 2290

原创 linux常用指令

(1)设置环境变量:  export PATH=$PATH:/usr/local/mysql/bin(2)grep 查找文本  grep -nr “hahaha” ./(3)find 查文件  find ./ -name “ssss.txt”(4)查看硬件情况  查看CPU各种信息: cat /proc/cpuinfo  查看CPU的型号: cat /proc/...

2019-01-23 10:36:09 137

原创 基于OpenCV的三维重建python实现

 第一部分:简要概述立体三维重建所需的步骤https://ai.yanxishe.com/page/TextTranslation/1412第二部分:相机校正https://ai.yanxishe.com/page/TextTranslation/1413第三部分:3D重建https://ai.yanxishe.com/page/TextTranslation/1414github ...

2019-01-22 13:19:48 22336 5

原创 intel RDT (Resource Director Technology) 管理LLC和内存带宽

问题:  在虚拟化环境中,宿主机的资源(包括CPU cache和内存带宽)都是共享的。但是如果有一个消耗cache的应用快速消耗了L3缓存,或者一个应用消耗了系统大量内存带宽,那么如何保证其他虚拟机应用呢?如何限制这些“可恶”的邻居Noisy Neighbors呢?  针对上诉问题,以前都是通过控制虚拟机逻辑资源来实现,但是调整的粒度实在太粗,针对处理器缓存这样敏感而稀缺的资源,几乎是无能为力...

2019-01-04 09:54:35 3860

原创 Linux命令——lscpu

  每个能够同时多线程处理的物理内核的线程作为独立的处理单元呈现给操作系统。 因此,具有两个执行线程的物理核心被操作系统视为两个(逻辑)核心。  each thread of execution of a physical core capable of simultaneous multithreading is presented to the operational system as a...

2019-01-04 09:21:55 996

原创 Linux性能优化从入门到实战:08 内存篇:内存基础

内存主要用来存储系统和应用程序的指令、数据、缓存等。内存映射  物理内存也称为主存,动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。  Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。虚拟地址空间的内部又被分为内核空间和用户空间两部分。    进程在用户态时,只能访问用户空间内存...

2019-01-03 21:25:40 462

原创 Linux性能优化从入门到实战:07 CPU篇:CPU性能优化

性能优化方法论  动手优化性能之前,需要明确以下三个问题:  (1)如何评估性能优化的效果? 确定性能的量化指标、测试优化前的性能指标、测试优化后的性能指标。  量化指标的选择。至少要从应用程序和系统资源这两个维度,分别选择不同的指标:1)应用程序的维度,我们可以用吞吐量和请求延迟来评估应用程序的性能。2)系统资源的维度,我们可以用 CPU 使用率来评估系统的 CPU 使用情况。  行性能...

2018-12-31 13:01:11 902

原创 Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈

CPU性能指标    (1)CPU使用率:1) 用户态CPU使用率(包括用户态 user 和低优先级用户态 nice)、2) 系统CPU使用率、3) 等待 I/O 的CPU使用率、4) 软中断和硬中断的CPU使用率、5) 虚拟机占用的CPU使用率。  (2)平均负载 Load Average:过去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载  (3)进程上下文切换:1) 无法获取...

2018-12-31 12:05:23 513

原创 实战 Intel DAAL ( Data Analytics Acceleration Library )

  即将更新

2018-12-28 23:39:36 1035

原创 实战 Intel IPP ( Integrated Performance Primitives)

  即将更新

2018-12-28 23:37:56 2072

原创 实战Intel MPI 和 OpenMP

  我即将更新

2018-12-28 23:34:46 2432

原创 实战Intel TBB (Threading Building Blocks)

  我即将更新

2018-12-28 23:32:23 1502

原创 实战Intel MKL(Math Kernel Library)

MKL 教程安装在intel官网注册并下载mkl:https://software.intel.com/en-us/mklLinux下安装:wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/l_mkl_2019.1.144.tgztar -zxvf l_mkl_2019.1.144.tgz...

2018-12-25 13:24:57 24715 5

原创 Linux性能优化从入门到实战:05 CPU篇:硬中断、软中断

  软中断(softirq)会导致CPU 使用率升高  中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求。中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力。由于中断处理程序会打断其他进程的运行,所以,为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快地运行。并且当CPU执行在中断处理函数中时,不会响应同时发...

2018-12-24 23:04:08 1942

原创 Linux性能优化从入门到实战:04 CPU篇:CPU使用率

  CPU使用率是单位时间内CPU使用情况的统计,以百分比方式展示,top、ps、pidstat命令。$ toptop - 11:46:45 up 7 days, 11:52, 1 user, load average: 0.00, 0.01, 0.00Tasks: 198 total, 1 running, 197 sleeping, 0 stopped, 0 zombie...

2018-12-23 12:17:49 411

原创 Linux性能优化从入门到实战:03 CPU篇:CPU上下文切换

  linux操作系统是将CPU轮流分配给任务,分时执行的。而每次执行任务时,CPU需要知道CPU寄存器(CPU内置的内存)和程序计数器PC(CPU正在执行指令和下一条指令的位置)值,这些值是CPU执行任务所依赖的环境,也就是CPU上下文。  CPU上下文切换,就是把前一个任务的CPU上下文(CPU寄存器和程序计数器)保存起来,然后加载入新任务的上下文到CPU寄存器和程序计数器中,最后跳转到程序...

2018-12-16 13:01:07 397

原创 Linux性能优化从入门到实战:02 CPU篇:平均负载

每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或 uptime 命令:eagle@eagle:~$ uptime22:22:17 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.8822:22:17 // 当前时间up 2 days, 20:14 // 系统运行时间1 user // 正在登录用户数load a...

2018-12-15 22:41:23 367

原创 数据压缩算法—2无损压缩算法

几个常见的编码算法(一) 字典算法  字典算法是最为简单的压缩算法之一。它是把文本中出现频率比较多的单词或词汇组合做成一个对应的字典列表,并用特殊代码来表示这个单词或词汇。例如:  有字典列表:  00=Chinese  01=People  02=China  源文本:I am a Chinese people,I am from China 压缩后的编码为:I am a 00 0...

2018-12-12 20:55:43 9348

StateMachine sample code

StateMachine sample code StateMachine sample code StateMachine sample code

2018-07-27

makefile简明教程

makefile简明教程 makefile简明教程 makefile简明教程

2018-07-27

google C++命名约定

google C++命名约定 google C++命名约定 google C++命名约定

2018-07-27

Debugging OpenCL Kernels on GPU

Debugging OpenCL Kernels on GPU Debugging OpenCL Kernels on GPU

2018-07-27

python教程

python教程python教程python教程python教程python教程

2018-07-27

vim教程 

vim教程vim教程vim教程vim教程vim教程vim教程vim教程vim教程vim教程

2018-07-27

robot operate system

robot operate systemrobot operate systemrobot operate systemrobot operate system

2018-07-27

camera parameter introduction and control method

camera parameter introduction and control method camera parameter introduction and control method

2018-07-27

camera 3A 算法

camera 3Acamera 3Acamera 3Acamera 3Acamera 3Acamera 3A

2018-07-27

video for linux 2 总结

v4l2总结v4l2总结v4l2总结v4l2总结v4l2总结v4l2总结v4l2总结v4l2总结

2018-07-27

State Machine Design in C++ word

State Machine Design in C++State Machine Design in C++

2018-07-27

State Machine Design in C++

State Machine Design in C++State Machine Design in C++State Machine Design in C++

2018-07-27

软件开发 项目管理

软件开发 项目管理, 软件开发 项目管理,软件开发 项目管理

2018-07-27

git基础与提高

git基础与提高,学习git的知识,学习git的知识,学习git的知识

2018-07-27

Intel_Media_Developers_Guide

Intel_Media_Developers_Guide 利用intelMediaSDK开发Media相关的codex等

2018-07-27

docker学习教程pdf

docker学习教程docker学习教程docker学习教程docker学习教程pdf

2018-07-17

docker学习教程

docker学习教程docker学习教程docker学习教程docker学习教程

2018-07-17

ffmpeg中文教程及重点注释

ffmpeg中文教程及重点注释,说明了大多数常用的命令行功能。

2018-07-13

空空如也

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

TA关注的人

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