Debian 新維護人員手冊
郑原真, 陳侃如, 青木修, 且 周默 October 8, 2022 简体中文翻译 October 8, 2022 简体中文翻译 October 8, 2022 简体中文翻译 October 8, 2022 繁簡轉換 October 8, 2022 繁簡轉換 October 8, 2022 简体中文翻译 October 8, 2022 REVISION HISTORY NUMBER 系統中使用最普遍的解釋型腳本語言,它常被稱作 Unix 的瑞士軍刀。(參看 perl(1)) • python - Python 是 Debian 系統中另一個最常用的解釋型腳本語言,它擁有着可圈可點的強大功能和十分清晰的語 法。(參看 python(1)) • quilt - 此軟件包幫助你管理一系列的補丁。它們被以邏輯棧的方式組織在一起。你可以 apply (=push)、un-apply (=pop) 3還有幾個類似但更針對某一類軟件的軟件包,如 dh-make-perl、dh-make-php 等。 Debian 新維護人員手冊 4 / 57 • xutils-dev - 一些通常用於 X11 的程序,用於使用其宏功能生成 Makefile 文件。(參看 imake(1)、xmkmf(1)) 以上給出的簡短描述僅僅是爲了使你對這些軟件包有一個基本的印象。在繼續前請詳細閱讀每個程序(包括通過依賴 關係安裝的程序,比如0 码力 | 63 页 | 512.12 KB | 1 年前3Comprehensive Rust(繁体中文)
後,您應設定編輯器或 IDE,以便與 Rust 搭配使用。為此,大多數編輯器會與 rust-analyzer 通訊,後者提供適用於 VS Code、Emacs、Vim/Neovim 等的自動完成和跳至定義功能。此外,您也可以 使用稱做 RustRover 的不同 IDE。 • On Debian/Ubuntu, you can also install Cargo, the Rust source and 重要須知: 17 • Rust 的發布時程相當緊湊,每六週就會推出新版本。新版本可與舊版本回溯相容,且會啟用新功能。 • 發布版本 (release channel) 分為三種:「穩定版」、 「Beta 版」和「Nightly 版」。 • 「Nightly 版」會用於測試新功能, 「Beta 版」則會每六週成為「穩定版」。 • 您也可以透過其他註冊資料庫、git、資料夾等管道解析依附元件。 minutes Playground 2 minutes 4.1 什麼是 Rust? Rust 是一款新的程式設計語言,在 2015 年推出 1.0 版: • Rust 是靜態編譯的程式語言,功能與 C++ 類似 – rustc 使用 LLVM 做為後端。 • Rust 支援許多平台和架構: – x86、ARM、WebAssembly... – Linux、Mac、Windows...0 码力 | 358 页 | 1.41 MB | 10 月前3Kubernetes平台比較:Red Hat OpenShift、SUSE Rancher及 Canonical Kubernetes
版圖的當下狀態, 並比較三種企業級的Kubernetes發行版本,分別是Canonical Kubernetes、 Red Hat OpenShift及SUSE Rancher,範圍涵蓋19項關鍵功能,並於報告最後 以表格提供總結分數。Canonical Kubernetes證明成為最具彈性、優勢及成本 效益的發行版本。 1. https://www.gartner.com/en/newsro netes發行版本,都支援所需 的API並提供及時更新。選擇通過CNCF認證的Kubernetes安裝,可協助企業保證 產品的適應性、可預測性及互通性,此外也能避免受到廠商限制,並可提供彈性, 依據功能和需求的演進發展改用替代解決方案。 Canonical Kubernetes、Red Hat Openshift及SUSE Rancher都已獲得CNCF認證。 2. 生命週期作業 開始踏上K 時程綁定,因此可能會限制彈性, 亦即不一定會支援最新的上游Kubernetes版本。 Canonical Kubernetes支援最新的5個Kubernetes版本。其中最新的3個版本可獲 得完整功能、產品更新及安全性修補程式,比較舊的2個版本則僅獲得安全性更新。 這種更為廣泛的支援方式,可消除混合雲之中的問題,因為雲端供應商採用現行 Kubernetes修訂版的步調緩慢,並持續支援舊版本。 60 码力 | 10 页 | 1.26 MB | 1 年前3Debian 套件打包教學指南 version 0.29
關於此教學指南 ▶ 目標: 瞭解 Debian 套件打包的相關知識 ▶ 修改既有套件 ▶ 新增自有套件 ▶ 和 Debian 社群進行交流 ▶ 成為 Debian 進階使用者 ▶ 這份教學指南針對重要功能進行介紹, 但也許會有疏漏之處 ▶ 所以你需要閱讀更多文件 ▶ 文件大部份的內容也適用於 Debian 衍生的 Linux發行版 ▶ 其中包含 Ubuntu Debian 套件打包教學指南 2 install configure Debian 套件打包教學指南 23 / 90 CDBS ▶ 即使在套件裡使用 debhelper, 還是會有冗餘的事情要處理 ▶ 第二層的小幫手能夠拆解共同的功能 ▶ 舉例: 使用 ./configure && make && make install 或者 CMake 進 行建構 ▶ CDBS: ▶ 源自 2005, 基於 advanced GNU make cowbuilder ccache distcc) ▶ schroot 和 sbuild: 被 Debian build daemons 所使用 (不若 pbuilder 簡單, 但能使用 LVM 快照功能 參照: https://help.ubuntu.com/community/SbuildLVMHowto ) ▶ 產生 .deb 檔案以及 .changes 檔案 ▶ .changes: 描述構建哪些東西;0 码力 | 90 页 | 691.02 KB | 1 年前3Hello 算法 1.2.0 繁体中文 C# 版
淘寶訂單。購物者下單後,訂單將加入列列中,系統隨後會根據順序處理佇列中的訂單。在雙十一期 間,短時間內會產生海量訂單,高併發成為工程師們需要重點攻克的問題。 ‧ 各類待辦事項。任何需要實現“先來後到”功能的場景,例如印表機的任務佇列、餐廳的出餐佇列等, 佇列在這些場景中可以有效地維護處理順序。 5.3 雙向佇列 在佇列中,我們僅能刪除頭部元素或在尾部新增元素。如圖 5‑7 所示,雙向佇列(double‑ended 稱方向 的操作。為此,我們採用“雙向鏈結串列”作為雙向佇列的底層資料結構。 如圖 5‑8 所示,我們將雙向鏈結串列的頭節點和尾節點視為雙向佇列的佇列首和佇列尾,同時實現在兩端新 增和刪除節點的功能。 第 5 章 堆疊與佇列 www.hello‑algo.com 105 圖 5‑8 基於鏈結串列實現雙向佇列的入列出列操作 實現程式碼如下所示: // === File: linkedlist_deque 所有應用場景,同時提供更高的自由度。 我們知道,軟體的“撤銷”功能通常使用堆疊來實現:系統將每次更改操作 push 到堆疊中,然後透過 pop 實 現撤銷。然而,考慮到系統資源的限制,軟體通常會限制撤銷的步數(例如僅允許儲存 50 步)。當堆疊的長 度超過 50 時,軟體需要在堆疊底(佇列首)執行刪除操作。但堆疊無法實現該功能,此時就需要使用雙向佇 列來替代堆疊。請注意,“撤銷”的核心邏輯0 码力 | 379 页 | 18.79 MB | 10 月前3Hello 算法 1.2.0 繁体中文 Dart 版
淘寶訂單。購物者下單後,訂單將加入列列中,系統隨後會根據順序處理佇列中的訂單。在雙十一期 間,短時間內會產生海量訂單,高併發成為工程師們需要重點攻克的問題。 ‧ 各類待辦事項。任何需要實現“先來後到”功能的場景,例如印表機的任務佇列、餐廳的出餐佇列等, 佇列在這些場景中可以有效地維護處理順序。 5.3 雙向佇列 在佇列中,我們僅能刪除頭部元素或在尾部新增元素。如圖 5‑7 所示,雙向佇列(double‑ended 稱方向 的操作。為此,我們採用“雙向鏈結串列”作為雙向佇列的底層資料結構。 如圖 5‑8 所示,我們將雙向鏈結串列的頭節點和尾節點視為雙向佇列的佇列首和佇列尾,同時實現在兩端新 增和刪除節點的功能。 第 5 章 堆疊與佇列 www.hello‑algo.com 105 圖 5‑8 基於鏈結串列實現雙向佇列的入列出列操作 實現程式碼如下所示: // === File: linkedlist_deque 所有應用場景,同時提供更高的自由度。 我們知道,軟體的“撤銷”功能通常使用堆疊來實現:系統將每次更改操作 push 到堆疊中,然後透過 pop 實 現撤銷。然而,考慮到系統資源的限制,軟體通常會限制撤銷的步數(例如僅允許儲存 50 步)。當堆疊的長 度超過 50 時,軟體需要在堆疊底(佇列首)執行刪除操作。但堆疊無法實現該功能,此時就需要使用雙向佇 列來替代堆疊。請注意,“撤銷”的核心邏輯0 码力 | 378 页 | 18.77 MB | 10 月前3Hello 算法 1.2.0 繁体中文 Go 版
淘寶訂單。購物者下單後,訂單將加入列列中,系統隨後會根據順序處理佇列中的訂單。在雙十一期 間,短時間內會產生海量訂單,高併發成為工程師們需要重點攻克的問題。 ‧ 各類待辦事項。任何需要實現“先來後到”功能的場景,例如印表機的任務佇列、餐廳的出餐佇列等, 佇列在這些場景中可以有效地維護處理順序。 5.3 雙向佇列 在佇列中,我們僅能刪除頭部元素或在尾部新增元素。如圖 5‑7 所示,雙向佇列(double‑ended 稱方向 的操作。為此,我們採用“雙向鏈結串列”作為雙向佇列的底層資料結構。 如圖 5‑8 所示,我們將雙向鏈結串列的頭節點和尾節點視為雙向佇列的佇列首和佇列尾,同時實現在兩端新 增和刪除節點的功能。 圖 5‑8 基於鏈結串列實現雙向佇列的入列出列操作 實現程式碼如下所示: 第 5 章 堆疊與佇列 www.hello‑algo.com 106 // === File: linkedlist_deque 所有應用場景,同時提供更高的自由度。 我們知道,軟體的“撤銷”功能通常使用堆疊來實現:系統將每次更改操作 push 到堆疊中,然後透過 pop 實 現撤銷。然而,考慮到系統資源的限制,軟體通常會限制撤銷的步數(例如僅允許儲存 50 步)。當堆疊的長 度超過 50 時,軟體需要在堆疊底(佇列首)執行刪除操作。但堆疊無法實現該功能,此時就需要使用雙向佇 列來替代堆疊。請注意,“撤銷”的核心邏輯0 码力 | 385 页 | 18.80 MB | 10 月前3Hello 算法 1.2.0 繁体中文 Kotlin 版
淘寶訂單。購物者下單後,訂單將加入列列中,系統隨後會根據順序處理佇列中的訂單。在雙十一期 間,短時間內會產生海量訂單,高併發成為工程師們需要重點攻克的問題。 ‧ 各類待辦事項。任何需要實現“先來後到”功能的場景,例如印表機的任務佇列、餐廳的出餐佇列等, 佇列在這些場景中可以有效地維護處理順序。 5.3 雙向佇列 在佇列中,我們僅能刪除頭部元素或在尾部新增元素。如圖 5‑7 所示,雙向佇列(double‑ended 稱方向 的操作。為此,我們採用“雙向鏈結串列”作為雙向佇列的底層資料結構。 如圖 5‑8 所示,我們將雙向鏈結串列的頭節點和尾節點視為雙向佇列的佇列首和佇列尾,同時實現在兩端新 增和刪除節點的功能。 圖 5‑8 基於鏈結串列實現雙向佇列的入列出列操作 實現程式碼如下所示: // === File: linkedlist_deque.kt === /* 雙向鏈結串列節點 */ 第 5 所有應用場景,同時提供更高的自由度。 我們知道,軟體的“撤銷”功能通常使用堆疊來實現:系統將每次更改操作 push 到堆疊中,然後透過 pop 實 現撤銷。然而,考慮到系統資源的限制,軟體通常會限制撤銷的步數(例如僅允許儲存 50 步)。當堆疊的長 度超過 50 時,軟體需要在堆疊底(佇列首)執行刪除操作。但堆疊無法實現該功能,此時就需要使用雙向佇 列來替代堆疊。請注意,“撤銷”的核心邏輯0 码力 | 382 页 | 18.79 MB | 10 月前3Hello 算法 1.2.0 繁体中文 Java 版
淘寶訂單。購物者下單後,訂單將加入列列中,系統隨後會根據順序處理佇列中的訂單。在雙十一期 間,短時間內會產生海量訂單,高併發成為工程師們需要重點攻克的問題。 ‧ 各類待辦事項。任何需要實現“先來後到”功能的場景,例如印表機的任務佇列、餐廳的出餐佇列等, 佇列在這些場景中可以有效地維護處理順序。 5.3 雙向佇列 在佇列中,我們僅能刪除頭部元素或在尾部新增元素。如圖 5‑7 所示,雙向佇列(double‑ended 稱方向 的操作。為此,我們採用“雙向鏈結串列”作為雙向佇列的底層資料結構。 如圖 5‑8 所示,我們將雙向鏈結串列的頭節點和尾節點視為雙向佇列的佇列首和佇列尾,同時實現在兩端新 增和刪除節點的功能。 圖 5‑8 基於鏈結串列實現雙向佇列的入列出列操作 實現程式碼如下所示: // === File: linkedlist_deque.java === /* 雙向鏈結串列節點 */ 第 所有應用場景,同時提供更高的自由度。 我們知道,軟體的“撤銷”功能通常使用堆疊來實現:系統將每次更改操作 push 到堆疊中,然後透過 pop 實 現撤銷。然而,考慮到系統資源的限制,軟體通常會限制撤銷的步數(例如僅允許儲存 50 步)。當堆疊的長 度超過 50 時,軟體需要在堆疊底(佇列首)執行刪除操作。但堆疊無法實現該功能,此時就需要使用雙向佇 列來替代堆疊。請注意,“撤銷”的核心邏輯0 码力 | 379 页 | 18.79 MB | 10 月前3Hello 算法 1.2.0 繁体中文 JavaScript 版
淘寶訂單。購物者下單後,訂單將加入列列中,系統隨後會根據順序處理佇列中的訂單。在雙十一期 間,短時間內會產生海量訂單,高併發成為工程師們需要重點攻克的問題。 ‧ 各類待辦事項。任何需要實現“先來後到”功能的場景,例如印表機的任務佇列、餐廳的出餐佇列等, 佇列在這些場景中可以有效地維護處理順序。 5.3 雙向佇列 在佇列中,我們僅能刪除頭部元素或在尾部新增元素。如圖 5‑7 所示,雙向佇列(double‑ended 稱方向 的操作。為此,我們採用“雙向鏈結串列”作為雙向佇列的底層資料結構。 如圖 5‑8 所示,我們將雙向鏈結串列的頭節點和尾節點視為雙向佇列的佇列首和佇列尾,同時實現在兩端新 增和刪除節點的功能。 圖 5‑8 基於鏈結串列實現雙向佇列的入列出列操作 實現程式碼如下所示: // === File: linkedlist_deque.js === /* 雙向鏈結串列節點 */ 第 5 所有應用場景,同時提供更高的自由度。 我們知道,軟體的“撤銷”功能通常使用堆疊來實現:系統將每次更改操作 push 到堆疊中,然後透過 pop 實 現撤銷。然而,考慮到系統資源的限制,軟體通常會限制撤銷的步數(例如僅允許儲存 50 步)。當堆疊的長 度超過 50 時,軟體需要在堆疊底(佇列首)執行刪除操作。但堆疊無法實現該功能,此時就需要使用雙向佇 列來替代堆疊。請注意,“撤銷”的核心邏輯0 码力 | 379 页 | 18.78 MB | 10 月前3
共 23 条
- 1
- 2
- 3