<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          技術(shù)閱讀周刊第三期

          共 4982字,需瀏覽 10分鐘

           ·

          2023-11-01 00:48

          技術(shù)閱讀周刊,每周更新。

          歷史更新

          Understanding The Linux TTY Subsystem

          URL: https://ishuah.com/2021/02/04/understanding-the-linux-tty-subsystem/本文講解了 Linux TTY 的歷史故事和來源。

          1. TTY 是 teletype 的簡寫,電傳打印機(jī);最早是在二次世界大戰(zhàn)發(fā)揮重要作用。
          2. 60 年代的計(jì)算機(jī)使用了teletype 作為輸入終端。
          3. 后續(xù)隨著技術(shù)進(jìn)步使用了軟件模擬替代了物理的電傳打印機(jī)。
          4. TTY 早起位于 Linux 的內(nèi)核空間,導(dǎo)致缺乏靈活性,后續(xù)移動到了用戶空間。
          5. 之后又出現(xiàn)了 shell,用戶使用 shell 登錄系統(tǒng)時會分配一個 TTY 給 shell鏡像操作。
          6. TTY 作為 shell 的硬件運(yùn)行環(huán)境,搭配在一起提供了基礎(chǔ)的 Linux 操作環(huán)境。

          100行代碼實(shí)現(xiàn)一個模擬終端

          URL: https://ishuah.com/2021/03/10/build-a-terminal-emulator-in-100-lines-of-go/ 本文在之前介紹 TTY 背景知識的前提下,講解使用 100 行代碼實(shí)現(xiàn)一個模擬終端的 App。最終使用效果如下:

          1. 第一步使用了  Go  的一個 GUI 庫 fyne 渲染了一個普通文本框
          2. 講解了一個終端和內(nèi)核通訊的流程圖
          3. PTY master 獲取用戶輸入發(fā)送給 PTY slaver,slave 會執(zhí)行最終的 shell,并將執(zhí)行結(jié)果返回到 PTY master
          4. 這里使用了  Go  的一個第三方庫實(shí)現(xiàn)了 PTY 的功能
          5. 使用 fyne 獲取鍵盤事件,緩存用戶輸入的內(nèi)容,直到檢測到輸入了回車鍵,此時將緩存內(nèi)容發(fā)往 pty
          6. 優(yōu)化響應(yīng)結(jié)果,目前只能輸出最新的一行內(nèi)容,所以新增一個緩沖區(qū)存放歷史輸出。 最終一個簡單的模擬終端便實(shí)現(xiàn)了,當(dāng)然功能還很簡單,感興趣的朋友可以在這基礎(chǔ)上持續(xù)優(yōu)化。

          混沌工程

          最近在復(fù)現(xiàn)一個可能的網(wǎng)絡(luò)問題的時候,接觸到了混沌工程,以下是我對它的一些理解

          混沌工程(Chaos-Mesh)是一個開源的混沌平臺,混沌這詞可能不好理解,不過通過他所提供的功能就知道具體是干什么的了。

          核心功能是提供了一些列的故障注入,比如:

          • Pod 故障:重啟、OOM等
          • 網(wǎng)絡(luò)故障:延遲、丟包、斷網(wǎng)
          • DNS 故障
          • HTTP 故障
          • 甚至還能模擬 JVM 故障

          這是對一個 Pod 的 http 請求 80 端口進(jìn)行中斷的配置。

          通過這些功能可以看出它是一個模擬故障平臺,我們可以在它的管理臺進(jìn)行豐富的故障模擬,可以在開發(fā)測試過程中增強(qiáng)我們系統(tǒng)的健壯性。

          Hacking Your iTerm. Boost your command line productivity by… | by Chandan Kumar | Better Programming

          URL: https://betterprogramming.pub/hacking-your-iterm-5d2bdacdaccf

          作者分享了它使用終端的一些技巧和工具

          iTerm

          推薦使用 iTerm 這個就不多說了

          powerlevel10k

          image.png

          powerlevel10k 是一個 zsh 主題,提供了許多自定義的選項(xiàng),可以按照自己的習(xí)慣定制。https://github.com/romkatv/powerlevel10k

          Syntax highlighting

          語法高亮可以讓自己知道輸入是否正確https://github.com/zsh-users/zsh-syntax-highlighting

          Auto-suggestion

          自動提示插件,可以類似于 IDE 的方式使用命令行,這個還蠻好用的。https://github.com/zsh-users/zsh-autosuggestions

          Autojump

          自動跳轉(zhuǎn),可以更快的跳轉(zhuǎn)到我們嘗使用的目錄,提高效率。https://github.com/wting/autojump

          iTerm 的一些窗口導(dǎo)航快捷鍵

          • 新窗口 — ? + T
          • 關(guān)閉窗口 — ? + W
          • 切換 Tab? + Number Key — ( ?2 切換到第二個 Tab)
          • 垂直分割窗口 (same profile) — ? + D
          • 水平分割窗口(same profile) — ? + Shift + D
          • 根據(jù)順序切換窗口 — ? + ] , ? + [
          • 上一個 tab?<- —
          • 下一個窗口?->
          • 最大化窗口? + Shift + Enter

          當(dāng)我們聊 Kubernetes Operator 時,我們在聊些什么_云原生_徐新坤_InfoQ精選文章

          URL: https://www.infoq.cn/article/SJMUvMg_0H7BS5d99euR

          作者講解了 Docker、Helm、Operator、kubernetes Controller 之間的關(guān)系以及一些核心概念。

          1. Docker的核心價值是提供了標(biāo)準(zhǔn)化的交付流程,現(xiàn)在幾乎沒人再交付源碼了
          2. Operator 和 Docker 類似的是標(biāo)準(zhǔn)化了分布式系統(tǒng)的交付流程。
          3. Helm 也可以做分布式系統(tǒng)交付,但他更側(cè)重于協(xié)調(diào)多個資源管理,比如可以讓 A Pod 啟動之后再啟動 B Pod。
          4. 但 Helm 無法感知整個系統(tǒng)的運(yùn)行時狀態(tài),而 Operator 則可以,通過這個感知可以自動實(shí)現(xiàn)擴(kuò)容、故障恢復(fù)、異常處理等工作,在實(shí)現(xiàn)了 Helm 的自動化的同時還實(shí)現(xiàn)了智能化。
          5. Operator 是處于一個第三方視角觀察整個系統(tǒng),所以它可以拿到全局的信息,從而最終達(dá)到聲明狀態(tài)的一個目的。
          6. Operator 可以當(dāng)做另一種 Controller,可以理解為第三方的 controller,一般是運(yùn)維我們自己的應(yīng)用。
          7. Operator 可以將以往運(yùn)維的經(jīng)驗(yàn)沉淀為代碼,更利于推進(jìn) Dev、Ops 合并為 DevOps。

          文章鏈接:

          • https://ishuah.com/2021/02/04/understanding-the-linux-tty-subsystem/
          • https://ishuah.com/2021/03/10/build-a-terminal-emulator-in-100-lines-of-go/
          • https://chaos-mesh.org/zh/docs/
          • https://betterprogramming.pub/hacking-your-iterm-5d2bdacdaccf
          • https://www.infoq.cn/article/SJMUvMg_0H7BS5d99euR



          往期推薦



          技術(shù)閱讀周刊第二期

          如何優(yōu)雅重啟 kubernetes 的 Pod

          在 kubernetes 環(huán)境中實(shí)現(xiàn) gRPC 負(fù)載均衡

          技術(shù)閱讀周刊第一期

          使用 Helm 管理應(yīng)用的一些 Tips

           

          點(diǎn)分享

          點(diǎn)收藏

          點(diǎn)點(diǎn)贊

          點(diǎn)在看

           

          瀏覽 547
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  97精品人妻一区二区 | 91|久久|麻豆 | 国内自拍网 | 日本男女拍拍视频 | 中国免费毛片 |