容器镜像与持久化
本文为容器化技术系列文章的第二篇。本文将把容器技术与文件系统,压缩文件相结合,并且实现commit命令,用于保存镜像文件。
本文将介绍简易正则转nfa的一个python实现。
容器化技术作为当今热门的技术,已经形成的成熟的应用以及活跃的生态。越来越多的程序采用容器技术来进行封装。容器技术极大地改善了程序,简化了程序部署。其轻量化的特性也被许多解决方案所青睐。
本文旨在从零开始,构建一个类docker的容器应用,并且实际运行,同时对其中的原理进行剖析。
本文为容器化技术系列文章的第一篇。本文将介绍容器化中的隔离,限制的原理,并且实际编写一个类docker应用,并且实际执行docker run命令。
选择题/填空题/简答题/综合计算
物理传输介质种类:
网络协议定义,三要素:
CSMA/CD,CSMA/CA工作原理:
子网路由与主机路由区别:
数据链路层功能,透明传输实现:
MAC地址/IP地址:
TCP链接,三次握手四次挥手:
TCP拥塞控制算法,计算:
IP子网相关计算,超网:
CRC计算:
RIP路由计算:
网络拓补结构:
交换技术种类:
编码技术种类:
信道复用技术:
网络互连,互连的设备,层次:
OSI IEEE体系结构分层:
面向连接,无连接应用,区别:
网络定义,网络分类:
DNS作用:
动态网页实现技术:
HTML,XML区别:
本系列主要是对mit课程6.824的lab进行解析,包括部分原理的讲解以及代码的实现。主要使用go来进行编写。本文讲解的是lab1,根据给定的代码框架来实现MapReduce结构。
我发现我这个废物到现在没有系统性学习git,于是写了本文。主要用于加强记忆,备忘。
git,又叫分布式版本控制系统。版本管理系统,意味着对项目的版本进行管理,可以退回到历史版本,也可以在历史版本基础上开发新版本,可以将分支的版本合并到主要版本从而便于开发。分布式意味着每台电脑上都是完整的版本,而非版本的一部分。
git主要有三个主要的基本概念:工作区, 版本库,暂存区。
工作区:即工作目录,主要进行开发的位置。
版本库:一般在工作目录中的隐藏文件夹.git目录中,git用于管理的工作目录。
暂存区:类似于存放项目内文件的各种类修改操作。存放于index文件中。具体实现可以参考原理,本文不过多概述。
git init:初始化工作目录,创建.git文件夹从而便于开始管理。
git add:接文件名,在工作目录中搜索对应文件名,并且将文件存入暂存区。
git commit:提交所有或者部分暂存区文件到仓库。一般加-m参数来写提交注释。一定要写提交注释。
git status:查看仓库当前状态。
git diff:查看未提交记录与提交过的具体文件差别。
git log:查看log。
git reset:有三种模式。可以使用–hard来更新工作区,暂存区,仓库所有文件到目标commit记录(参数为commit 的sha1)或者回退到之前几个版本(参数为HEAD^。尖号数量代表往前几个版本),通常用于回滚版本。另外两种模式可参照对应文档。
git reflog:查看命令的日志。
git checkout –filename:将工作区的文件修改撤销掉,换成最新的暂存区内或者版本库内的文件。
git reset HEAD file:撤销暂存区的文件修改。
git rm:版本库中删除对应文件。如果确实删除后需要提交。
git clone:从对应库中拷贝项目。
git mv:移动或者重命名对应文件。
git branch:创建分支。
git checkout:移动到分支。
git merge:合并分支。如果出现冲突则手动解决冲突后git add对应文件。
git push:将文件推到远程库。
git pull:将远程库拉到本地库并覆盖。
git stash:将当前目录保存起来,之后可以切换分支改bug,改完后用git stash pop来恢复现场。
git rebase:将多个commit记录合并并接到另一个分支之后。用于整合commit记录。
主要包含了git的常用命令以及基本概念,各种参数不全面,各种功能描述也可能不全面或者有误,但主要功能基本准确。现在虽然ide帮我们做了很多,但学习一些git的概念对开发还是有意义的。
Bomb lab是《深入理解计算机系统》配套实验之一。可执行程序包含着“炸弹”,必须输入六个正确的字符串来进行拆弹。字符串必须通过对程序的汇编码进行分析来得到。本文通过分析拆弹流程,对反汇编技术技巧进行总结。
给定一个极其大的数据流,大到无法存入内存,要求在所有数据中随机选取k个元素。
假设读取第i个数据,从1开始计数。如果i小于等于k,则存入蓄水池。如果i大于k,则随机取从1到i之间的随机数m,如果m处于1到k中,那么将i元素替换蓄水池中m元素。
证明
对于蓄水池中的元素,被选中的概率是不被蓄水池外的元素替换掉的概率。即k×(k+1)×…×(N-1)/((k+1)×(k+2)×…×(N)) = k/N。
对于蓄水池外的元素,假设位置i,那么概率为选中的概率乘以不被后面元素替代的概率。即(k/i)×(i/(i+1))×…×((N-1)/N) = k/N。
Update your browser to view this website correctly.&npsb;Update my browser now