自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 python 学习笔记 --- 变量

在Python 中,定义变量a = 3 #python 为弱类型语音,不需要指明其类型,执行时自动识别a为变量指向 保存了 value为3的内存地址。 所以在变量 a中,只有一个地址引用, id()函数取对象地址is 和 ==is 比较的是两个变量是否为指向同一个地址引用, == 比较亮变量指向地址的值 例如:a = 3b = 3.0a == b # return ...

2018-05-19 08:42:58 237

原创 RunC 学习笔记 - 获取容器资源

2018-05-09 07:49:47 532

原创 Golang 实现多协程读取并计算文件数字的平方和

Golang 的协程非常好用上次面试时,面试官要求手写代码,题目: 1. 多个文件中存在着一串用空格隔开的数字 2. 读取文件中的数字,计算多个文件的平方和 3. 使用多协程方式代码:package mainimport ( "flag" "fmt" "io/ioutil" "os" "strconv" "strings&qu

2018-04-26 20:14:18 1759

原创 dockerd、contaierd、containerd-shim、runC通信机制分析

整体框架分析dockerd 底层运行容器需要依赖多个二级制组件:docker daemon, containerd, container-shim, runC, 代码实现上,containerd包含了container-shim代码。同一份代码,通过Makefile编译控制,编译成两个二级制文件。组件间通信概括图 通信流程: 1. docker daemon 模块通过 g...

2018-04-09 23:24:25 11561

原创 docker代码探究 函数queue探究

今天探究 DOCKER 的源码,发现了一段有意思代码,探究了一会,将结果记录下来代码目的docker daemon 接受来自containerd 的grpc消息,并针对依次处理。这段代码出自依次处理过程;代码://libcontainer/container_linux.gotype queue struct { sync.Mutex fns ma...

2018-04-05 11:26:14 239

原创 golang实现高度平衡二叉树(AVL树)

AVL树简介AVL 树是高度相对平衡(abs(height(node.lchild - height(node.rchild) < 2))的二叉搜索树。它和二叉搜索树主要的区别在AVL是高度平衡的,不会出现二叉搜索树极端情况:线性链表 搜索复杂度为N 。 实现上,AVL树在插入节点和删除节点时要不断调整树,使其处在一个平衡状态。和二叉搜索树相比主要增加树旋转、调整。实现源码...

2018-03-17 20:46:12 1610 2

原创 golang 实现二叉搜索树(面向对象,非递归)

二叉搜索树golang 实现非递归方式的二叉搜索树(OO)。 实现时以index为索引比较,data中记录节点数据。 实现方法: 1. 二叉树中插入节点(Insert); 2. 二叉树中查找节点 (Search); 3. 二叉树中删除节点(Delete) —>需要考虑多种情况: 没有任何子树,只有左或右子树,同时有左子树和右子树;二叉搜索不是平衡树,搜索最坏情况(n),最好...

2018-03-11 17:27:38 453

原创 使用GDB 调试 debug版本docker

前言docker 管方网站提供的安装rpm包,编译时去除了debug信息,不方便GDB调试;前期准备docker-ce 源码包 NOTE:需配置海外代理,编译docker-ce时,会在海外网站下载一些资源:编译docker的docker镜像、golang对应版本等docker 运行对应的golang开发包; 查询docker-ce中对应golang版本[root@l...

2018-03-09 14:42:51 1194

原创 docker 网络代理设置

为什么需要设置代理在运行docker run 时,首先会检查当前环境是否有对应的镜像,若没有将去docker hub上下载。由于国内长城,基本上不可能直接访问到国外的docker hub。 如下运行hello-world报错:[root@localhost ~]# docker run hello-worldUnable to find image 'hello-world:lat...

2018-03-04 21:03:33 1218

原创 从压缩加头的ramdisk.bin文件得到根文件系统(LINUX系统环境)

预先准备一个压缩并加头的UBOOT根文件系统镜像 ramdisk.binlinux环境下的 dd 工具linux环境下 gunzip解压工具操作步骤逆转UBOOT格式根文件系统镜像制作过程步骤,可以从ramdisk镜像中得到非打包、压缩格式的根文件系统| 在制作ramdisk.bin镜像时,mkimage工具为镜像加64字节头信息。去除ramdisk.bin镜像的UBO...

2018-02-28 12:58:01 540

原创 LINUX CMA 详细分析

CMA是什么 在我们使用ARM等嵌入式Linux系 统的时候,一个头疼的问题是GPU,Camera,HDMI等都需要预留大量连续内存,这部分内存平时不用,但是一般的做法又必须先预留着。通过CMA机制,我们可以做到不预留内存,这些内存平时是可用的,只有当需要的时候才被分配给Camera,HDMI等设备。(本段纯属百度,阅完即可,不必惦记)如果对CMA的实现过程有兴趣可以百度或者goog...

2018-02-28 12:51:46 7100 1

原创 docker事件events监控实现分析

go event实现原理使用一个队列保存events事件,先进入到队列的事件先得到处理开启一个协程,循环检测队列中是否有事件队列事件的写入必须在另外的协程中,所以必须使用锁保护队列events数据设计 sink 装载events,为保证设计的兼容性,sink设计为interface,sink可理解为:运输船,将event事件运输到相应的协程sink 配合channel可以实现...

2018-02-26 19:23:09 2677

原创 golang 输出重定向:fmt Log,子进程Log,第三方库logrus

独立 fmt Log输出重定向golang的fmt包的输出函数 Println、Printf、PrintStack等,默认将打印输出到os.Stdout、错误打印输出到os.Stderr,os.Stdout 和 os.Stderr 默认值 /dev/stdout /dev/stderr 设备。//代码摘自:golang封装包 -> /lib/golang/src/osvar ( ...

2018-02-26 14:15:51 7135

原创 docker swarm集群 网络安全TLS 分析

TLS 基础docker swarm 集群间为了保证通信安全,使用TLS进行安全加固。分析TLS安全加固时需要一些网络安全背景知识。 数字签名:《数字证书及CA的扫盲介绍》、《数字签名是什么》 CA和证书:《数字证书(Digital Certificate)与数字签名(Digital Signature)》、《OpenSSL 与 SSL 数字证书概念贴》、《基于OpenSSL自建CA和颁发...

2018-02-14 21:53:03 2007

原创 golang实现常用排序算法 --- 快速排序、堆排序等

简单选择排序原理阐述:从未排序的数组序列中,选择最大或者最小元素添加入已排序数组 最开始已排序数组为空import ( "fmt")//简单选择排序func simpleSelectSort(nums []int) { for i := 0; i < len(nums); i++ { min := i for j := i +...

2018-01-28 23:26:58 395

原创 数组链表实现(C语音)

描述主要功能:实现一种数据结构需具有以下三种功能:具有链表的快速删除节点功能具有数组的快速查找功能,如通过index查找数据节点 能存储任意类型数据实现接口方法根据链表和数组常用使用方法,实现一下几种方法:(曾、删、改、查)实现super_array 结构初始化方法;实现super_array 结构插入数据方法(从头插入数据节点);实现super_array 结构

2018-01-25 00:32:46 1408 1

空空如也

空空如也

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

TA关注的人

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