Phrases 3
we can search for it online to try to figure out its meaning. 我們可以上網搜尋,嘗試找出其意義
checking if the crashes still
occur
some hardware component is
at fault 出問題
reinstalling the application and running it with the default configuration still
leads to random crashes 仍然造成隨機當掉
As a first step, you
tried looking at the logs
to see if there's any error that
may point to what's happening, but you only find
an error saying application terminated and
no useful information 第一步,您嘗試查看日誌,看看是否有任何錯誤可以指出發生了什麼事,但您只發現應用程式已終止的錯誤,而沒有任何有用的資訊
A user
asks for your
help with a problem on their computer. When you ask for details, the user tells you that the internal billing application crashed
while they were trying to
generate an invoice for a customer
As usual, 一如往常
We'll also
dive into how to
document a problem and its solutions, and how to
learn from our
mistakes by writing
postmortems 我們還會深入探討如何記錄問題及其解決方案,以及如何透過撰寫事後報告從錯誤中學習
we'll learn
a bunch of different
techniques that we can use to understand the root causes and how to fix them, or at least
lessen the damage when fixing is not possible 至少減小損害
There could be a bug in
some part of the code, which does an
unsupported operation
The program was starting a bunch of threads but never closing them, so it
eventually ran out of memory and crashed.
So while
no data was actually
lost, the
reoccurring crashes were
increasing the average time to
process the data 因此,雖然實際上沒有遺失任何資料,但重複發生的當機情況卻增加了處理資料的平均時間
This program
parsed logs to
generate alerts when it found
suspicious events 當發現可疑事件時,此程式會解析日誌以產生警示
programs that terminate with
uncaught exceptions, systems that
fail to update to the latest version 程式終止時未捕捉到的異常、系統無法更新到最新版本
A program
terminates unexpectedly, a device reboots for
no apparent reason, the operating system hangs and we lose all our
unsaved work 程式意外終止、裝置無故重新開機、作業系統當機,我們失去所有未儲存的工作
Once
you're done writing the Python script,
hopefully you're starting to
feel even more
confident in your skills and abilities
so I
decided to spend more time
tweaking the code to
make the migration
go faster 所以我決定花更多時間調整程式碼,讓轉移過程更快
In this case, you'll
definitely want to split your execution across processors
we should
double-check if the copy is really needed
We
see that there's
a bunch of ffmpeg processes running, which are basically using
all the available CPU 我們看到有一堆 ffmpeg 進程正在執行,基本上這些使用了所有可用的 CPU
It seems that
something is going on with the web server and we need to
investigate further 似乎網頁伺服器發生了什麼事,我們需要進一步調查
there are too many applications
configured to start
on boot
address ; deal with ; take care of 解決;涉及; 處理
- The general strategy for addressing slowness is to identify the bottleneck in our device, our script, or our system to run slowly 解決緩慢問題的一般策略是找出我們的裝置、腳本或系統運行緩慢的瓶頸所在
- The operating system also takes care of some caching for us 作業系統也會為我們進行一些快取處理
- Dealing with Intermittent Issues : Have you ever tried to solve a problem that happened only occasionally? 處裡間歇性問題: 您曾經嘗試解決只偶爾發生的問題嗎
We need to really
study each
problem to
get to the root cause of the
slowness
we’ll have to upgrade the
underlying hardware 我們必須升級底層硬體
If we've closed
everything that
wasn't needed and the computer is still slow, we need to
look into other possible reasons
But
eventually, you'll
run out of memory and everything will
slow down 但最終會耗盡記憶體,所有東西都會變慢
But if you keep opening tabs,
at some point your computer will become
sluggish 但是,如果您不斷開啟標籤頁,在某個時間點,您的電腦就會變得卡鈍
ignoring upper vs lower case and
punctuation 忽略大小寫與標點符號
We've also talked about problems that
go away on their own and then
pop up again 我們還談過問題會自己消失,然後又會再冒出來
So we've
looked at a few ways of
getting to the root cause of a problem 因此,我們看了幾種找出問題根源的方法
If a problem
goes away by turning it off and on again, there's
almost certainly a bug in the software 如果關機再開機,問題就會消失,那麼幾乎可以肯定是軟體出了問題
It can
take some time to
get the setup 這可能需要一些時間來進行設定
we have to try our code in
a newly installed machine 先安裝的機器
Whenever possible, we should check our
hypothesis in a test environment, instead of the production environment that our users are working with 只要有可能,我們就應該在測試環境中檢查我們的假設,而不是在使用者正在使用的生產環境中
looking at the documentation of the applications
involved
Searching online for the error messages that we get 在網路上搜尋我們得到的錯誤訊息
how do we
go about finding the
actual root cause of the problem? 我們該如何找出問題的真正根源
when trying to
create a reproduction case, we want to find the
actions that reproduce the issue 當嘗試建立重現案例時,我們希望找到重現問題的動作
you'll find an error message that will help you understand
what's going on 您會發現一則錯誤訊息,這可協助您瞭解發生了什麼事
There could be a bunch of reasons
why this could happen. It
could be problems with the network routing, old config files interfering with a new version of the program, a permissions problem 發生這種情況的原因有很多。可能是網路路由有問題、舊的組態檔與新版本的程式有干擾、權限有問題
we
want to consider the simplest
explanations first and avoid jumping into
complex or
time-consuming solutions unless we really have to 我們希望先考慮最簡單的說明,避免跳進複雜或耗時的解決方案,除非我們真的必須這樣做
we
first check if it's
correctly plugged in and that there's
electricity coming from
the plug before
taking it apart or replacing it with a new device 在拆卸或更換新裝置之前,我們首先要檢查插頭是否正確插入,以及插頭是否有電流輸出
There are some common questions that we can ask a user that simply report something doesn't work
you check if you can
reproduce the issue
on your own computer.
what about the documentation we should
note that this version of the software
won't start if that directory doesn't exist 關於文件,我們應該紀錄,如果該目錄不存在,此版本的軟體將無法啟動
to see if we find anything
suspicious. 看看我們是否找到任何可疑的東西
remediation; remediate 修補;矯正
- Depending on the problem, this might include an immediate remediation to get the system back to health, and then a medium or long-term remediation to avoid the problem in the future 視問題而定,這可能包括立即進行修復,使系統恢復健康,然後進行中期或長期修復,以避免日後發生問題
- Now, we can go ahead and remediate the issue 現在,我們可以繼續補救這個問題
You'll want to know things like
when it happened,
what the user was doing when it happened, and
how regularly it's happening
the problem could be
a hardware issue,
a software issue, or even
a configuration issue. So the first thing to do is
to get more information
Before we
jump in,
I'd love to
take a quick moment to share why I'm so
excited to be here with you
taking part in this program 在我們開始之前,我想花一點時間分享一下,為什麼我這麼興奮能在這裡與您一起參與這個計畫
We'll talk about problems that can
affect any operating system
Throughout this course, we'll
look at a bunch of different
strategies and
approaches for
tackling problems like those 在整個課程中,我們將探討各種不同的策略和方法,以解決這些問題
Sometimes, you might need to
figure out why a program isn't
doing what it's supposed to. Maybe it's crashing
unexpectedly or
getting stuck when it should be processing information 有時候,您可能需要弄清楚為什麼程式無法執行它應該執行的功能。也許它意外當機,或是在應該處理資訊時卡住了
various; many different flavors of 各種各樣
- Need a system administrator to handle various issues that come up on my system. (需要一位系統管理員來處理各種發生在我的系統的問題)
- In your IT career, you'll come across many different flavors of technical problems 各種各樣
If the service
encounters a problem, it
logs an error message
to the syslog, indicating
what was wrong and the username that
triggered the action that
caused the problem 如果服務遇到問題,它會將錯誤訊息記錄到系統日誌中,指出錯誤的原因以及觸發導致問題的動作的使用者名稱
you'll
write some
automation scripts that will
process the system log and
generate a bunch of reports
based on the information
extracted from log files 您將撰寫一些自動化腳本,以處理系統日誌,並根據從日誌檔案擷取的資訊產生大量報告
Developers of the service are
asking for your help with getting some information
out of those logs,
to better understand how the software
is being used and how to improve it 該服務的開發人員請求您協助從這些日誌中取得一些資訊,以便更好地瞭解軟體的使用情況以及如何進行改進
So it's valuable that we
spent some time looking into what resources exist to help us solve our problem 因此,我們花了一些時間研究有哪些資源可以幫助我們解決問題,這是非常有價值的
Remember, we want to
avoid reinventing the wheel.
No matter how tricky and intricate the challenge appears, chances are that others have solved something similar before 請記住,我們要避免重造車輪。無論這項挑戰看起來有多棘手、多複雜,其他人很可能已經解決了類似問題
figuring out how we can
tackle the problem by the tools provided by the Python standard library or by external modules 找出如何利用 Python 標準函式庫提供的工具或外部模組來解決問題
spelling out what needs to be done and
identifying what the given inputs and desired outputs are for that program that we need to write. 詳細說明需要做什麼,並確定我們需要編寫的程式的給定輸入和期望輸出
Linux is the primary OS that I use in my
day-to-day job as a system administrator.
raise an error; threw an error 出現錯誤
- another thing that could cause the open function to raise an error
- the interpreter threw one of these errors
In our specific case, returning the original value
makes sense when we can't rearrange it 在特定情況下,當我們無法重新排列時,回傳原始值是合理的
By running Unit Tests, developers can
identify and fix any bugs that
appear 透過執行單元測試,開發人員可以識別並修復任何出現的錯誤
when the results don't match the
expectations, the code will
raise an error 當結果不符合預期,程式碼會出現錯誤
Tests can
help make good code
great. 測試可以讓好的程式碼變得更好
make sure that it behaves the way that they expected to. 確保其表現符合預期
You want to make sure that when you run a program, it
behaves the way that it should 您要確保當您執行程式時,它表現應該有的行為方式
it's
harder to really
be confident that the code will
do what it's supposed to 更難確信程式碼會達到預期的效果
we'll do a
quick rundown of the many concepts around testing 我們將對測試的許多概念做一個快速的介紹
Log files contain a lot of
useful information,
particularly when you're trying to debug a
tricky problem that's
happening on a computer 日誌檔案包含許多有用的資訊,尤其是當您試圖除錯電腦上發生的棘手問題時
To be able to process the output of commands, we'll
set a parameter called capture output
This can
be handy for system commands 這對於系統指令來說很方便
Software testing is a process of evaluating computer code to determine
whether or not it does
what you expect it to do 軟體測試是一個評估電腦程式碼的過程,以確定(判斷)程式碼是否達到您所期望的功能
if we just want to run a command and only care about
whether or not it was successful. 如果我們只想執行指令,而只關心指令是否成功執行
which means that our script
has no control over it 這表示我們的腳本無法控制它
helping us create a custom vision-language model
tailored to our specific tasks. 幫助我們建立專為特定任務量身打造的客製化視覺語言模型
These are parameters that are
passed to a program when it started. 這些是程式啟動時傳給程式的參數
Another
common way of providing information to our programs
is through command line
arguments 為程式提供資訊的另一種常見方式是透過命令列參數
The
most commonly used shell on Linux is called bash. Linux 上最常用的 shell 叫做 bash
You are allowed to
refer to your completed lab notes during the quiz 您可以在測驗時參考已完成的實驗筆記
Please note that there is a
graded quiz that
follows this lab. You must complete the lab before attempting the quiz. The quiz will
assess your
comprehension of the key concepts and procedures covered in the lab 請注意,本實驗後還有一個分級測驗。您必須先完成實驗,才能參加小測驗。測驗將評估您對本實驗所涵蓋的主要概念和程序的理解程度
Wildcard: A character that can match more than one character
Applicable from November 28 to December 5, 2024, 11:59 PM (UTC +0) 適用於 2024/11/28...
Not applicable to services that have been doubled before. 不適用於之前已加倍的服務
This module includes a bunch of different functions that can help
manipulate strings 這個模組包含了一堆不同的函式,可以幫助操控字串
reserved characters 保留字元
But
thankfully, the
principles are always the same 但值得慶幸的是,原則總是相同的
Implementation 實現; 建置; 施作; 實作; 執行
a bunch of; a ton of; plenty of 許多; 多種; 很多
- There are plenty of others you'll be using soon 您很快就會用到許多其他的
- Data can be provided to a computer in a bunch of different ways 資料可以多種方式提供給電腦
- There's a ton of things that you can do with Python 您可以用 Python 做很多事情
- there's a broad range of tools that incorporate regular expressions 有多種工具結合了正則表達式
encounter; come across 遇到
- we’ll provide resources you can access if you encounter any issues you cannot resolve on your own. 如果您遇到任何無法自行解決的問題,我們會提供您可以存取的資源
- we’ll give you the tools to solve real world problems that you might come across in your IT role 我們會提供您工具,讓您解決在 IT 職務中可能遇到的實際問題
allowing you to use both Linux and Windows operating systems
as if they were installed on your local machine 讓您同時使用 Linux 和 Windows 作業系統,就像它們安裝在您的本機上一樣
Qwiklabs is an online lab tool that creates
simulated Windows and Linux OS environments Qwiklabs 是線上實驗工具,可建立模擬的 Windows 和 Linux 作業系統環境
you will use Qwiklabs through Coursera to complete
hands-on activities that include writing Python scripts, debugging Python scripts 您將透過 Coursera 使用 Qwiklabs 來完成實作活動,包括編寫 Python 腳本、除錯 Python 腳本
A lot of programs
are capable of exporting data as CSV files 許多程式都能將資料匯出為 CSV 檔案
Here is the code
all together. 以下是全部的程式碼
We can use the datetime module to
make it easier for us humans to read 我們可以使用日期模組,讓我們人類更容易讀取
File paths
are most often used to save and load information 檔案路徑最常用於儲存和載入資訊
You see the potential issues? It's
enough to make you growl 您看到潛在的問題了嗎?這足以讓你咆哮
we get some
hands-on practice with all this 我們可以親身體驗這些
the interpreter
raises an error 直譯器將產生錯誤
absolute path ; relative path 絕對路徑;相對路徑
Is it
worth the time 是否值得花時間
Without virtual environments, managing these dependencies could become a
nightmare 如果沒有虛擬環境,管理這些依賴關係可能會變成一場惡夢
This term
stands for Integrated Development Environment, and usually
refers to a code editor 這個詞代表整合開發環境,通常是指程式碼編輯器
when we run the Python 3 command, we get an
interactive interpreter. 當我們執行 Python 3 指令時,我們會得到一個互動式的直譯器
Interpreted vs. Compiled Languages 直譯式與編譯式程式語言
In my job as a sysadmin, I
mainly work with the Linux operating system 在我的系統管理員工作中,我工作主要使用 Linux 作業系統
You
may have also heard of Unix 您可能還聽過 Unix
We
refer to these different
flavors of Linux as distributions. 我們稱這些不同風格的 Linux 為發行版
They
are tempted to spend a lot of time trying to solve the problem
on their own 他們很想花很多時間嘗試自己解決問題
To check that our code is doing
everything it's supposed to do 要檢查我們的程式碼是否做了所有該做的事
In this
scenario, it
makes sense to use
a set to store the current users 在這種情況下,使用集合來儲存目前的使用者是合理的
I was
happy with it, the user was happy with it. 我很滿意,使用者也很滿意
We're gonna
dive into object-oriented programming 我們要深入瞭解物件導向程式設計
It's your call ; It's up to you 由你決定
we add, remove, or change the elements
inside that box 我們新增、移除或變更該方塊內的元素
it
doesn't matter how long each string is on its own.
What matters is how many elements the list has 每個字串本身有多長並不重要。重要的是 list 有多少個元素
indicate ; represent 表示
- we use square brackets to indicate where the list starts and ends 我們使用方(中)括號來表示清單開始和結束的位置
- a list of integers representing the size of network packets 代表(表示)網路封包大小的整數清單(列表)
- The variable device_id represents a device ID containing alphanumeric characters(表示;字母數字)
You can
think of lists
as long boxes 您可以將清單想成長方塊
make the whole string
more readable 使整個字串更易於閱讀
Heads up, this can
get complex fast 注意,這可能會變得很複雜
They focus on applying AI in
practical ways 他們專注於以實際方式應用 AI
there are a bunch of
exercises ahead to help you with that 前面有很多練習可以幫助您做到這一點
We can use strings to
represent a lot of different things. 我們可以使用字串來表示許多不同的事物
It never
let me down 它從未讓我失望