練習(xí) 11:uniq
譯者:飛龍
協(xié)議:CC BY-NC-SA 4.0
自豪地采用谷歌翻譯
在最后兩個(gè)練習(xí)的開(kāi)始,沒(méi)有什么可說(shuō)的了乒躺。你應(yīng)該知道如何思考你的工作環(huán)境招盲,你如何開(kāi)始,你如何坐下來(lái)嘉冒,影響你開(kāi)始的任何事情曹货。你也應(yīng)該使用這些小小的 45 分鐘的項(xiàng)目,突破了起始狀態(tài)讳推。如果你還沒(méi)有弄清楚顶籽,設(shè)置一個(gè) 45 分鐘的計(jì)時(shí)器,并大喊“來(lái)干個(gè)痛快银觅!” 礼饱,這是使自己開(kāi)始的核心技巧。完成出色的工作的目標(biāo)還沒(méi)有完成究驴,但是你已經(jīng)起步了
你還應(yīng)該有一個(gè)不錯(cuò)的實(shí)驗(yàn)筆記本镊绪,上面有運(yùn)行圖來(lái)描繪出你的改進(jìn)效果如何。你的圖表并不是非橙饔牵科學(xué)蝴韭,但是他們應(yīng)該幫助你了解什么有用,什么沒(méi)用熙侍。當(dāng)你使用運(yùn)行圖時(shí)榄鉴,你只需要在任一方向查找峰值履磨,然后嘗試為峰值找到“合理的原因”。如果峰值是有利的庆尘,那么試著找出原因并復(fù)現(xiàn)它剃诅。如果峰值是有害的,那么試著找出原因并防范于未然驶忌。
當(dāng)我說(shuō)“峰值”時(shí)矛辕,我的意思是重大變化。運(yùn)行圖應(yīng)該是波動(dòng)的位岔。事實(shí)上如筛,如果對(duì)于 45 分鐘的 Hack,它保持不變抒抬,那也是壞的,你應(yīng)該找出原因晤柄。正常流程在平均值周圍波動(dòng)和反彈擦剑,你應(yīng)該只嘗試找到任何一個(gè)方向的較大峰值的原因。如果你在以前的練習(xí)中進(jìn)行了“深入學(xué)習(xí)”芥颈,則可以使用2 * std.dev
(兩倍標(biāo)準(zhǔn)差)作為平均值上方和下方的線(俗稱布林線)惠勒,來(lái)發(fā)現(xiàn)問(wèn)題。
注
運(yùn)行圖的更多演示請(qǐng)見(jiàn)此練習(xí)的視頻(見(jiàn)原文)爬坑。它們?cè)谝曨l中更容易在視覺(jué)上解釋纠屋。
挑戰(zhàn)練習(xí)
uniq
命令僅僅接受sort
產(chǎn)生的,排序后的行盾计,并移除重復(fù)售担。當(dāng)你想要獲得列表的非重復(fù)行時(shí),這非常方便署辉。如果你已經(jīng)實(shí)現(xiàn)了這些命令族铆,那么你應(yīng)該可以這樣做:
history | sed -e "s/^[ 0-9]*//g" | cut -d ' ' -f 1 | sort | uniq
history
命令打印出你運(yùn)行過(guò)的每個(gè)命令的列表。你的sed
命令需要正則表達(dá)式哭尝,這將去掉history
命令的頭部哥攘。接下來(lái)我用cut
來(lái)抓取第一個(gè)單詞作為命令名稱。之后材鹦,我通過(guò)uniq
排序并執(zhí)行它逝淹,并且你需要擁有所有你執(zhí)行的命令。
實(shí)現(xiàn)uniq
的足夠功能桶唐,和任何其他必要的命令栅葡,使前面的命令工作。如果你的sed
無(wú)法處理表達(dá)式莽红,你可以更改格式妥畏,但在完成此練習(xí)后邦邦,你應(yīng)該可以得到一個(gè)命令列表。
研究性學(xué)習(xí)
- 你現(xiàn)在有一個(gè)的命令列表醉蚁,你可以開(kāi)始執(zhí)行它燃辖,如果你想深入學(xué)習(xí)的話。
- 這是第一個(gè)多項(xiàng)目練習(xí)网棍,其中你將之前步驟中的練習(xí)組合成一個(gè)練習(xí)黔龟。你有沒(méi)有找到關(guān)于你的流程的新東西?
- 你的運(yùn)行圖怎么樣滥玷?他們有幫助嗎氏身?
深入學(xué)習(xí)
研究 Python 的圖表庫(kù),看看你是否可以用 Python 生成這些運(yùn)行圖惑畴。你還應(yīng)該開(kāi)始跟蹤你需要花費(fèi)多長(zhǎng)時(shí)間來(lái)開(kāi)始蛋欣,看看運(yùn)行圖是否可以幫助你縮短所需時(shí)間。