From 5bf23a295be5273724a015bfda13e60ef4c0b51d Mon Sep 17 00:00:00 2001 From: jackfrued Date: Tue, 13 Aug 2019 00:28:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Day01-15/code/Day05/craps.py | 2 +- Day01-15/code/Day05/perfect.py | 11 ++--- ...00\345\217\221\345\207\206\345\244\207.md" | 2 +- ...55\347\232\204\345\272\224\347\224\250.md" | 43 +++++++++--------- Day91-100/res/git-logo.png | Bin 0 -> 30945 bytes 5 files changed, 29 insertions(+), 29 deletions(-) create mode 100644 Day91-100/res/git-logo.png diff --git a/Day01-15/code/Day05/craps.py b/Day01-15/code/Day05/craps.py index b2492bf..f50cbcc 100644 --- a/Day01-15/code/Day05/craps.py +++ b/Day01-15/code/Day05/craps.py @@ -19,7 +19,7 @@ while money > 0: needs_go_on = False while True: debt = int(input('请下注: ')) - if debt > 0 and debt <= money: + if 0 < debt <= money: break first = randint(1, 6) + randint(1, 6) print('玩家摇出了%d点' % first) diff --git a/Day01-15/code/Day05/perfect.py b/Day01-15/code/Day05/perfect.py index 1144ce5..5dce5b2 100644 --- a/Day01-15/code/Day05/perfect.py +++ b/Day01-15/code/Day05/perfect.py @@ -7,15 +7,14 @@ Version: 0.1 Author: 骆昊 Date: 2018-03-02 """ -import time import math for num in range(1, 10000): - sum = 0 + result = 0 for factor in range(1, int(math.sqrt(num)) + 1): if num % factor == 0: - sum += factor - if factor > 1 and num / factor != factor: - sum += num / factor - if sum == num: + result += factor + if factor > 1 and num // factor != factor: + result += num // factor + if result == num: print(num) diff --git "a/Day91-100/91.\345\233\242\351\230\237\351\241\271\347\233\256\345\274\200\345\217\221\345\207\206\345\244\207.md" "b/Day91-100/91.\345\233\242\351\230\237\351\241\271\347\233\256\345\274\200\345\217\221\345\207\206\345\244\207.md" index 86f0e5e..d9acf2e 100644 --- "a/Day91-100/91.\345\233\242\351\230\237\351\241\271\347\233\256\345\274\200\345\217\221\345\207\206\345\244\207.md" +++ "b/Day91-100/91.\345\233\242\351\230\237\351\241\271\347\233\256\345\274\200\345\217\221\345\207\206\345\244\207.md" @@ -72,7 +72,7 @@ #### Git简介 -![Logo of Git](http://upload-images.jianshu.io/upload_images/1279331-df4dada955ca9052.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) +![](./res/git-logo.png) Git是诞生于2005年的一个开源分布式版本控制系统,最初是Linus Torvalds(Linux之父) 为了帮助管理Linux内核开发而开发的一个版本控制软件。Git与常用的版本控制工具Subversion等不同,它采用了分布式版本控制的方式,在没有中央服务器支持的环境下也能够实施版本控制。 diff --git "a/Day91-100/92.Docker\345\234\250\351\241\271\347\233\256\344\270\255\347\232\204\345\272\224\347\224\250.md" "b/Day91-100/92.Docker\345\234\250\351\241\271\347\233\256\344\270\255\347\232\204\345\272\224\347\224\250.md" index ee47fb3..6976e65 100644 --- "a/Day91-100/92.Docker\345\234\250\351\241\271\347\233\256\344\270\255\347\232\204\345\272\224\347\224\250.md" +++ "b/Day91-100/92.Docker\345\234\250\351\241\271\347\233\256\344\270\255\347\232\204\345\272\224\347\224\250.md" @@ -2,13 +2,13 @@ ### Docker简介 -软件开发中最为麻烦的事情可能就是配置环境了。由于用户使用的操作系统具有多样性,即便使用跨平台的开发语言(如Java和Python)都不能保证代码能够在各种平台下都可以正常的运转,而且可能在不同的环境下我们的软件需要依赖的其他软件包也是不一样的。 +软件开发中最为麻烦的事情可能就是配置环境了。由于用户使用的操作系统具有多样性,即便使用跨平台的开发语言(如Java和Python)都不能保证代码能够在各种平台下都可以正常的运转,而且在不同的环境下我们安装的软件需要依赖的软件包也是不一样的。 那么问题来了,我们安装软件的时候可不可以把软件运行的环境一并安装?我们是不是可以把原始环境一模一样地复制过来呢? -虚拟机(virtual machine)就是带环境安装的一种解决方案,它可以在一种操作系统里面运行另一种操作系统,比如在Windows系统里面运行Linux系统,在macOS上运行Windows,而应用程序对此毫无感知。使用过虚拟机的人都知道,虚拟机用起来跟真实系统一模一样,而对于虚拟机的宿主系统来说,虚拟机就是一个普通文件,不需要了就删掉,对宿主系统或者其他的程序并没有影响。但是虚拟机通常会占用较多的系统资源,启动和关闭也非常的缓慢,总之用户体验没有想象中的那么好。 +虚拟机(virtual machine)就是带环境安装的一种解决方案,它可以在一种操作系统里面运行另一种操作系统,比如在Windows系统里面运行Linux系统,在macOS上运行Windows,而应用程序对此毫无感知。使用过虚拟机的人都知道,虚拟机用起来跟真实系统一模一样,而对于虚拟机的宿主系统来说,虚拟机就是一个普通文件,不需要了就删掉,对宿主系统或者其他的程序并没有影响。但是虚拟机通常会占用较多的系统资源,启动和关闭也非常的缓慢,总之用户体验并没有想象中的那么好。 -Docker属于对Linux容器技术的一种封装(利用了Linux的namespace和cgroup技术),它提供了简单易用的容器使用接口,是目前最流行的 Linux 容器解决方案。Docker将应用程序与该程序的依赖打包在一个文件里面,运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker就再也不用担心环境问题了。 +Docker属于对Linux容器技术的一种封装(利用了Linux的namespace和cgroup技术),它提供了简单易用的容器使用接口,是目前最流行的 Linux 容器解决方案。Docker将应用程序与该程序的依赖打包在一个文件里面,运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。 ![](./res/docker_vs_vm.png) @@ -31,7 +31,7 @@ uname -r 1. 在CentOS下使用yum安装Docker并启动。 ```Shell -yum -y install docker-io +yum -y install docker systemctl start docker ``` @@ -42,58 +42,59 @@ docker version docker info ``` -3. 运行Hello-World项目来测试Docker。第一次运行时由于本地没有hello-world的镜像因此需要联网进行下载。 - -```Shell -docker run hello-world -``` - -也可以先用下面的命令下载镜像,然后再来运行。 +3. 下载镜像文件。 ```Shell docker pull ``` +例如:`docker pull hello-world`。 + 4. 运行镜像文件。 ```Shell docker run -docker run -p : ``` -6. 查看镜像文件。 +例如:`docker run hello-world`。 + +5. 查看镜像文件。 ```Shell docker image ls docker images ``` -7. 删除镜像文件。 +6. 删除镜像文件。 ```Shell docker rmi ``` -8. 查看正在运行容器。 +例如:`docker rmi fce289e99eb9` 。 + +7. 查看正在运行容器。 ```Shell docker ps ``` -9. 停止运行的容器。 +8. 停止运行的容器。 ```Shell docker stop docker stop ``` +例如:`docker stop hello-world`。 + 对于那些不会自动终止的容器,就可以用下面的方式来停止。 ```Shell docker container kill ``` -在Ubuntu(内核版本3.10+)下面安装和启动Docker,可以按照如下的步骤进行。 +如果要在Ubuntu(内核版本3.10+)下面安装和启动Docker,可以按照如下的步骤进行。 ```Shell apt update @@ -101,9 +102,9 @@ apt install docker-ce service docker start ``` -在有必要的情况下,可以更换Ubuntu软件下载源来提升下载速度,具体的做法请参照。 +如果需要,可以更换Ubuntu软件下载源来提升下载速度,具体请参照清华大学开源软件镜像站上的[《Ubuntu镜像使用帮助》]()。 -安装Docker后,由于直接访问dockerhub下载镜像会非常缓慢,建议更换国内镜像,可以通过修改`/etc/docker/daemon.js`文件来做到。如果使用云服务器(如:阿里云),通常云服务器提供商会提供默认的镜像服务器,并不需要手动进行指定。 +安装Docker后,由于直接访问dockerhub下载镜像会非常缓慢,建议更换国内镜像,可以通过修改 `/etc/docker/daemon.js` 文件来做到。云服务器(如:阿里云)通常已经设置了默认的镜像服务器,并不需要手动进行指定。 ```JavaScript { @@ -118,7 +119,7 @@ service docker start #### 安装Nginx -下面我们就基于Docker来运行一台HTTP服务器,我们选择用Nginx来搭建该服务,因为Nginx是高性能的Web服务器,同时也是做反向代理服务器的上佳选择。要做到这件事情,只需要下面这条命令在Docker中创建一个容器即可。 +下面我们就基于Docker来创建一台HTTP服务器,我们选择用Nginx来搭建该服务,因为Nginx是高性能的Web服务器,同时也是做反向代理服务器的上佳选择。要做到这件事情,只需要使用下面的命令在Docker中创建一个容器即可。 ```Shell docker container run -d -p 80:80 --rm --name mynginx nginx @@ -138,7 +139,7 @@ docker container cp /root/web/index.html mynginx:/usr/share/nginx/html docker container run -d -p 80:80 --rm --name mynginx --volume $PWD/html:/usr/share/nginx/html nginx ``` -> 说明:上面创建容器和拷贝文件的命令中,`container`是可以省略的,也就是说`docker container run`和`docker run`是一样的,而`docker container cp`和`docker cp`是一样的。此外,命令中的`--volume`也可以缩写为`-v`,就如同`-d`是`--detach`的缩写,`-p`是`--publish`的缩写。`$PWD`代表宿主系统当前文件夹,这个用过Linux系统的人相信很容易理解。 +> 说明:上面创建容器和拷贝文件的命令中,`container`是可以省略的,也就是说`docker container run`和`docker run`是一样的,而`docker container cp`和`docker cp`是一样的。此外,命令中的`--volume`也可以缩写为`-v`,就如同`-d`是`--detach`的缩写,`-p`是`--publish`的缩写。`$PWD`代表宿主系统当前文件夹,这些对于用过Linux系统的人来说相信很容易理解。 要查看运行中的容器,可以使用下面的命令。 diff --git a/Day91-100/res/git-logo.png b/Day91-100/res/git-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..efaec252c3e6c3676136c71ef56a3a54f95527c0 GIT binary patch literal 30945 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