Deep Learning Specialization on Coursera

课程主页: https://www.coursera.org/learn/troubleshooting-debugging-techniques

课程概述

在这门《故障排除与调试技巧》的课程中,您将获得快速识别和解决IT角色中遇到的实际问题的工具。我们将探讨处理代码和IT基础设施中最常见陷阱的不同策略和方法。您将学习到处理几乎任何技术问题的策略,并看到这些策略如何应用于解决不同的现实世界情境。

课程大纲

故障排除概念
在这个模块中,您将了解故障排除的基本原理,学习不同策略来处理可能遇到的问题。您将了解到调试的概念,以及调试如何作为故障排除的核心原则之一。此外,您还会介绍一些将帮助您在调试过程中使用的工具,如tcpdump、ps、top、itrace等。接下来,您将学习如何 “理解问题 ” 的概念,尽管这听起来很简单,但实际操作却不那么容易!然后,我们将深入探讨当故障重现与间歇性故障故障排除时的不同方法。最后,您将学习到 “二分查找问题 ” 的概念,包括二分和线性搜索的不同类型,同时了解如何使用二分法进行故障排除,并最终找到CSV文件中的无效数据。

缓慢问题
在这个模块中,您将学习导致机器或程序运行缓慢的因素。您将深入探讨通过识别可能导致程序和机器运行缓慢的瓶颈来解决缓慢问题的方法。您将会了解如何识别被耗尽的资源的工具,包括iotop、iftop和MacOS中的活动监视器。接下来,您将了解到计算机如何使用资源,并理解CPU、RAM和缓存之间的区别,以帮助您找到导致缓慢的可能原因。然后,您将学习如何编写高效的代码,接着了解分析工具以识别代码的瓶颈所在,最终深入了解复杂的缓慢问题及如何通过并发和缓存服务的引入来改善代码的运行效率。

程序崩溃
在此模块中,您将了解到一个长期存在的问题:“我的程序为什么崩溃了?”您将学习如何处理系统崩溃和应用程序崩溃,使用哪些工具来帮助识别崩溃原因,以及查看哪些日志文件来找出问题所在。接下来,您将深入研究代码崩溃的原因以及预防措施,探索未处理的错误和异常是如何产生的。您将学习几种调试技术,帮助您识别这些错误和异常,最终探讨大规模崩溃和事件的处理,包括在大型电子商务站点中,错误发生率达到20%的情况。解决这一问题后,您将理解在这些事件中沟通和文档记录的重要性,以及撰写事故总结报告如何帮助避免问题重现。

资源管理
在这一模块中,您将学习如何管理您的应用程序。您会了解一些可能导致应用程序崩溃的常见问题,以及什么是内存泄漏,如何排查和预防内存泄漏。接下来,您将了解如何管理硬盘空间,识别占用过多空间的进程或应用。然后,您将学习网络饱和是什么,它是如何产生的,以及一些有用的工具和技术来解决网络饱和问题。最后,我们将转向时间管理,获取优先级任务、任务完成估算以及在处理重要任务时如何沟通期望的技巧。最后的课程将深入探讨如何将复杂的问题分解成小块,通过保持明确的目标来解决它们。您将了解到采用主动的方法(例如持续集成)如何帮助您应对未来可能出现的问题,同时学习如何通过良好的监控规划未来的资源使用。

课程主页: https://www.coursera.org/learn/troubleshooting-debugging-techniques

作者 CourseEye