谈谈Docker数据容器
翻译自: Data-only container madness 什么是数据容器? 数据容器就是本身只创建一个volume供其他容器共享,创建完后即退出,不执行任何任务。比如通过以下方式创建一个postgres容器。 ...
翻译自: Data-only container madness 什么是数据容器? 数据容器就是本身只创建一个volume供其他容器共享,创建完后即退出,不执行任何任务。比如通过以下方式创建一个postgres容器。 ...
操作系统 我们知道: 1 完整的操作系统=内核+apps 内核负责管理底层硬件资源,包括CPU、内存、磁盘等等,并向上为apps提供系统调用接口,上层apps应用必须通过系统调用方式使用硬件资源,通常并不能直接访问资源。apps就是用户直接接触的应用,比如命令行工具、图形界面工具等(linux的图形界面也是作为可选应用之一,而不像windows是集成到内核中的)。同一个内核加上不同的apps,就构成了不同的操作系统发行版,比如ubuntu、rethat、android(当然内核通常针对不同的发行版会有修改)等等。因此我们可以认为,不同的操作系统发行版本其实就是由应用apps构成的环境的差别(比如默认安装的软件以及链接库、软件包管理、图形界面应用等等)。我们把所有这些apps环境打成一个包,就可以称之为镜像。问题来了,假如我们同时有多个apps环境,能否在同一个内核上运行呢?因为操作系统只负责提供服务,而并不管为谁服务,因此同一个内核之上可以同时运行多个apps环境。比如假设我们现在有ubuntu和fedora的apps环境,即两个发行版镜像,分别位于/home/int32bit/ubuntu和/home/int32bit/fedora,我们最简单的方式,采用chroot工具即可快速切换到指定的应用环境中,相当于同时有多个apps环境在运行。 ...
从bash 4开始支持关联数组,使用前需要声明,即 1 2 3 4 5 6 7 8 declare -A map map[key1]=value1 map[key2]=value2 map=([key1]=value1 [key2]=value2) # 获取keys keys=${!map[@]} # 获取values values=${map[@]} 利用关联数组,很容易实现单词统计,源码文件wordCount.sh ...
bash是由内置变量IFS作为字段分隔符,IFS变量的值直接影响脚本如何解析参数,其默认值为\<space\>\<tab\>\<newline\>, 即空格、制表符以及换行符。 遇到一个需求是需要设置分隔符为换行符\n, 即一行一个字段,空格和制表符不会分割字段。很容易想到的办法是重设IFS变量值: ...
1 伪随机数 什么是随机数?通俗说法就是随机产生一个数,这个数预先不能计算出来,并且每个数字出现的概率是一样的。随机数必须满足以下两个条件: 不可计算性。即在随机数产生前,不能通过任何方式计算出来。 机会均等性。即需要保证每个数出现的概率是相等的。 在生活中,随机数产生其实并不难,比如通过掷骰子的方式就可以很容易获取一个随机数。但计算机产生随机数却并不容易。在编程中,我们经常调用随机数生成器函数,但其实产生的并不是真正的随机数,而是通过一定的算法计算出来的(不满足随机数的不可计算性),我们称它为伪随机数! ...
题目描述:假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友…),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。 假如:n = 5 , m = 3 , r = {{1 , 2} , {2 , 3} , {4 , 5}},表示有5个人,1和2是好友,2和3是好友,4和5是好友,则1、2、3属于一个朋友圈,4、5属于另一个朋友圈,结果为2个朋友圈。 最后请分析所写代码的时间、空间复杂度。评分会参考代码的正确性和效率。 ...