From e204462b0810f6951aee361c09dfcb298b70a9a5 Mon Sep 17 00:00:00 2001 From: woose Date: Sun, 23 Feb 2025 15:30:22 +0300 Subject: [PATCH] Updated M module1.ipynb --- module1.ipynb | 293 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 280 insertions(+), 13 deletions(-) diff --git a/module1.ipynb b/module1.ipynb index a2467dd..2ddab87 100644 --- a/module1.ipynb +++ b/module1.ipynb @@ -2,11 +2,16 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "jupyter": { + "source_hidden": true + } + }, "source": [ "# Diffing Files\n", "\n", - "This reading contains the code used in the instructional videos from [**Diffing Files**Opens in a new tab](https://www.coursera.org/learn/introduction-git-github/lecture/tnlzg/diffing-files) \n", + "This reading contains the code used in the instructional videos from [**Diffing Files**Opens in a new tab](https://www.coursera.org/learn/introduction-git-github/lecture/tnlzg/diffing-files) \n", "\n", "## Introduction\n", "\n", @@ -157,11 +162,15 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jupyter": { + "source_hidden": true + } + }, "source": [ + "# Applying Changes\n", "\n", - "\n", - "This reading contains the code used in the instructional videos from [**Applying Changes** Opens in a new tab](https://www.coursera.org/learn/introduction-git-github/lecture/qIzdp/applying-changes).\n", + "This reading contains the code used in the instructional videos from [**Applying Changes** Opens in a new tab](https://www.coursera.org/learn/introduction-git-github/lecture/qIzdp/applying-changes).\n", "\n", "## Introduction\n", "\n", @@ -170,9 +179,9 @@ "You can follow along in the reading as the instructor discusses the code or review the code after watching the video.\n", "\n", "\n", - "\n", + "```\n", "cat cpu\\_usage.py \n", - "\n", + "```\n", "\n", "\n", "cat cpu\\_usage.py \n", @@ -197,10 +206,10 @@ "\n", "    print(\"Everything ok\")\n", "\n", - "1\n", "\n", + "```\n", "cat cpu\\_usage.diff \n", - "\n", + "```\n", "\n", "\n", "**Code output:**\n", @@ -225,20 +234,20 @@ "\n", " if not check\\_cpu\\_usage(75):\n", "\n", - "1\n", "\n", + "```\n", "patch cpu\\_usage.py < cpu\\_usage.diff \n", - "\n", + "```\n", "\n", "\n", "**Code output:**\n", "\n", "patching file cpu\\_usage.py\n", "\n", - "1\n", "\n", + "```\n", "cat cpu\\_usage.py \n", - "\n", + "```\n", "\n", "\n", "**Code output:**\n", @@ -263,6 +272,264 @@ "\n", "    print(\"Everything ok\")" ] + }, + { + "cell_type": "markdown", + "metadata": { + "jupyter": { + "source_hidden": true + } + }, + "source": [ + "# Practical Application of diff and patch\n", + "\n", + "This reading contains the code used in the instructional videos from [**Practical application of diff and patch**Opens in a new tab](https://www.coursera.org/learn/introduction-git-github/lecture/IkuqC/practical-application-of-diff-and-patch). \n", + "\n", + "## Introduction\n", + "\n", + "This follow-along reading is organized to match the content in the video that follows. It contains the same code shown in the next video. These code blocks will provide you with the opportunity to see how the code is written and can be used as a reference as you work through the course. \n", + "\n", + "You can follow along in the reading as the instructor discusses the code or review the code after watching the video.\n", + "\n", + "\n", + "```\n", + "cp disk\\_usage.py disk\\_usage\\_original.py \n", + "\n", + "cp disk\\_usage.py disk\\_usage\\_fixed.py \n", + "```\n", + "\n", + "\n", + "## **File with code**\n", + "\n", + "#!/usr/bin/env python3\n", + "\n", + "import shutil\n", + "\n", + "def check\\_disk\\_usage(disk, min\\_absolute, min\\_percent):\n", + "\n", + "    \"\"\"Returns True if there is enough free disk space, false otherwise.\"\"\"\n", + "\n", + "    du = shutil.disk\\_usage(disk)\n", + "\n", + "    # Calculate the percentage of free space\n", + "\n", + "    percent\\_free = 100 \\* du.free / du.total\n", + "\n", + "    # Calculate how many free gigabytes\n", + "\n", + "    gigabytes\\_free = du.free / 2\\*\\*30\n", + "\n", + "    if percent\\_free < min\\_percent or gigabytes\\_free < min\\_absolute:\n", + "\n", + "        return False\n", + "\n", + "    return True\n", + "\n", + "# Check for at least 2 GB and 10% free\n", + "\n", + "if not check\\_disk\\_usage(\"/\", 2\\*2\\*\\*30, 10):\n", + "\n", + "    print(\"ERROR: Not enough disk space\")\n", + "\n", + "    return 1\n", + "\n", + "print(\"Everything ok\")\n", + "\n", + "return 0\n", + "\n", + "\n", + "\n", + "\n", + "```\n", + "./disk\\_usage\\_fixed.py \n", + "\n", + "#this throws an error\n", + "```\n", + "\n", + "\n", + "**Code output:**\n", + "\n", + "File \"./disk\\_usage\\_fixed.py\", line 19\n", + "\n", + "    return 1\n", + "\n", + "    ^\n", + "\n", + "SyntaxError: 'return' outside function\n", + "\n", + "## File with code\n", + "\n", + "The instructor adds import sys at the beginning, then change return 1 to sys.exit(1) and return 0 to sys.exit(0).\n", + "\n", + "#!/usr/bin/env python3\n", + "\n", + "import shutil\n", + "\n", + "import sys\n", + "\n", + "def check\\_disk\\_usage(disk, min\\_absolute, min\\_percent):\n", + "\n", + "    \"\"\"Returns True if there is enough free disk space, false otherwise.\"\"\"\n", + "\n", + "    du = shutil.disk\\_usage(disk)\n", + "\n", + "    # Calculate the percentage of free space\n", + "\n", + "    percent\\_free = 100 \\* du.free / du.total\n", + "\n", + "    # Calculate how many free gigabytes\n", + "\n", + "    gigabytes\\_free = du.free / 2\\*\\*30\n", + "\n", + "    if percent\\_free < min\\_percent or gigabytes\\_free < min\\_absolute:\n", + "\n", + "        return False\n", + "\n", + "    return True\n", + "\n", + "# Check for at least 2 GB and 10% free\n", + "\n", + "if not check\\_disk\\_usage(\"/\", 2\\*2\\*\\*30, 10):\n", + "\n", + "    print(\"ERROR: Not enough disk space\")\n", + "\n", + "    sys.exit(1)\n", + "\n", + "print(\"Everything ok\")\n", + "\n", + "sys.exit(0)\n", + "\n", + "\n", + "```\n", + "./disk\\_usage\\_fixed.py\n", + "```\n", + "\n", + "\n", + "**Code output:**\n", + "\n", + "ERROR: Not enough disk space\n", + "\n", + "## File with code\n", + "\n", + "Instructor changed change check\\_disk\\_usage(\"/\", 2\\*2\\*\\*30, 10) in previous file to check\\_disk\\_usage(\"/\", 2, 10).\n", + "\n", + "#!/usr/bin/env python3\n", + "\n", + "import shutil\n", + "\n", + "import sys\n", + "\n", + "def check\\_disk\\_usage(disk, min\\_absolute, min\\_percent):\n", + "\n", + "    \"\"\"Returns True if there is enough free disk space, false otherwise.\"\"\"\n", + "\n", + "    du = shutil.disk\\_usage(disk)\n", + "\n", + "    # Calculate the percentage of free space\n", + "\n", + "    percent\\_free = 100 \\* du.free / du.total\n", + "\n", + "    # Calculate how many free gigabytes\n", + "\n", + "    gigabytes\\_free = du.free / 2\\*\\*30\n", + "\n", + "    if percent\\_free < min\\_percent or gigabytes\\_free < min\\_absolute:\n", + "\n", + "        return False\n", + "\n", + "    return True\n", + "\n", + "# Check for at least 2 GB and 10% free\n", + "\n", + "if not check\\_disk\\_usage(\"/\", 2, 10):\n", + "\n", + "    print(\"ERROR: Not enough disk space\")\n", + "\n", + "    sys.exit(1)\n", + "\n", + "print(\"Everything ok\")\n", + "\n", + "sys.exit(0)\n", + "\n", + "\n", + "```\n", + "./disk\\_usage\\_fixed.py \n", + "```\n", + "\n", + "\n", + "**Code output:**\n", + "\n", + "Everything ok\n", + "\n", + "diff \\-u disk\\_usage\\_original.py disk\\_usage\\_fixed.py > disk\\_usage.diff\n", + "\n", + "cat disk\\_usage.diff \n", + "\n", + "\n", + "\n", + "**Code output:**\n", + "\n", + "\\--- disk\\_usage\\_original.py 2019-06-22 15:13:38.591579963 -0700\n", + "\n", + "+++ disk\\_usage\\_fixed.py 2019-06-22 15:41:35.013023839 -0700\n", + "\n", + "@@ -1,6 +1,7 @@\n", + "\n", + " #!/usr/bin/env python3\n", + "\n", + " import shutil\n", + "\n", + "+import sys\n", + "\n", + " def check\\_disk\\_usage(disk, min\\_absolute, min\\_percent):\n", + "\n", + "     \"\"\"Returns True if there is enough free disk space, false otherwise.\"\"\"\n", + "\n", + "@@ -14,9 +15,9 @@\n", + "\n", + "     return True\n", + "\n", + " # Check for at least 2 GB and 10% free\n", + "\n", + "\\-if not check\\_disk\\_usage(\"/\", 2\\*2\\*\\*30, 10):\n", + "\n", + "+if not check\\_disk\\_usage(\"/\", 2, 10):\n", + "\n", + "     print(\"ERROR: Not enough disk space\")\n", + "\n", + "\\-    return 1\n", + "\n", + "+    sys.exit(1)\n", + "\n", + " print(\"Everything ok\")\n", + "\n", + "\\-return 0\n", + "\n", + "+sys.exit(0)\n", + "\n", + "```\n", + "patch disk\\_usage.py < disk\\_usage.diff \n", + "\n", + "patching file disk\\_usage.py\n", + "```\n", + "\n", + "**Code output:**\n", + "\n", + "patching file disk\\_usage.py\n", + "\n", + "./disk\\_usage.py \n", + "\n", + "\n", + "\n", + "**Code output:**\n", + "\n", + "Everything ok" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] } ], "metadata": {