Comprehensive Rust(繁体中文)
39 8.2 元組 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.3 疊代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.4 模式配對 . . . . 16.7 HashMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 16.8 練習:計數器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 16.8.1 解決方案 . . . . . . 17.1 比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 17.2 疊代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 17.3 From 和 Into0 码力 | 358 页 | 1.41 MB | 10 月前3Kubernetes 入門
這個前輩的肩膀上,吸取了 Borg 過去十年間的經驗與教訓,所以 Kubernetes 一經開源就一鳴驚人,並迅速席捲了容器技術領域。 1-9 1.3 從一個不簡單的 Hello World 範例說起 瀏覽器訪問 讀 寫 虛擬機 Kubernetes 服務 圖 1.3 Kubernetes 部署架構圖 1.3.1 建立 redis-master Pod 及服務 我們可以先定義 Service,然後再定義一個 HTTPS 通訊雙方的伺服器端向 CA 機構申請憑證,CA 機構是可信任的協力廠 商機構,它可以是一個公認的權威企業,也可以是企業本身。企業內部系統一 般都用企業本身的認證系統。CA 機構下發根憑證、服務端憑證及私密金鑰給 申請者。 (2) HTTPS 通訊雙方的客戶器端向 CA 機構申請憑證,CA 機構下發根憑證、用戶 端憑證及私密金鑰給申請者。 (3) 用戶端向伺服器端發起請求,服務端下發服務端憑證給用戶端。用戶端接收到 用戶端向伺服器端發起請求,服務端下發服務端憑證給用戶端。用戶端接收到 憑證後,透過私密金鑰解密憑證,並利用伺服器端憑證中的公開金鑰認證憑證 資訊比較憑證裡的消息,例如功能變數名稱和公開金鑰與伺服器剛剛發送的相 關消息是否一致,如果一致,則用戶端認可這個伺服器的合法身份。 (4) 用戶端發送用戶端憑證給伺服器端,服務端接收到憑證後,透過私密金鑰解密 憑證,獲得用戶端憑證公開金鑰,並用該公開金鑰認證憑證資訊,並確認用戶 端是否合法。0 码力 | 12 页 | 2.00 MB | 1 年前3Kubernetes平台比較:Red Hat OpenShift、SUSE Rancher及 Canonical Kubernetes
版本會獲得「維護 支援」,在此期間非緊急修復由Red Hat全權決定是否提供。 Rancher支援N-1至N-4的最新Kubernetes版本(按照Rancher管理伺服器版本,一 年兩次)。每個次要Rancher管理伺服器版本會維護15個月,之後只會提供安全性 更新。由於Kubernetes版本支援與Rancher版本時程綁定,因此可能會限制彈性, 亦即不一定會支援最新的上游Kubernetes版本。 原生Openstack/VMware整合 至於在私有雲方面,三種Kubernetes發行版本均能與OpenStack及 VMware原生整合。 16.裸機部署及自動化 並非所有工作負載都適合虛擬化,而企業有時需要直接在裸機伺服器部署 Kubernetes。雖然這三種發行版本都支援裸機部署,但只有Openshift及 Canonical Kubernetes提供裸機佈建功能。 RedHat在OpenShift 4.6提供安裝自動化選項,也就是安裝程式佈建基礎 條件才能使用IPI,而且透過IPI進行的OpenShift設定缺乏彈性,能夠自訂 的項目有限。 6 Canonical Kubernetes可讓企業運用機器即服務(MAAS),透過零接觸的雲端型 佈建方式,全自動地進行裸機機器的探索、試運轉、部署及設定。機器佈建後, Juju整合可讓使用者部署Canonical Kubernetes,就像在公有雲或私有雲之中 一樣簡單。相較於OpenShift IPI,0 码力 | 10 页 | 1.26 MB | 1 年前3Debian 新維護人員手冊
擬 root 使用者環境。(參看 fakeroot(1)) • file - 這個小程序可以檢測文件的類型。(參看 file(1)) • gfortran - GNU Fortran 95 編譯器,如果你的程序是用 Fortran 編寫的則必須此軟件包完成編譯。(參看 gfortran(1)) • git - 此軟件包提供了用於快捷處理大型項目的著名版本控制系統 - git。它被廣泛用於各種開源項目,最著名的是 果你要把你的成 果加入到 Debian 發行版中,那這是必須的步驟。(參看 gpg(1).) • gpc - GNU Pascal 編譯器。如果你的程序是用 Pascal 寫的則需要此軟件包。值得一提的是 fp-compiler,Free Pascal 編譯器 (FPC),也能夠很好地勝任。(參見 gpc(1), ppc386(1).) • lintian - Debian 軟體包檢查工具,使 ELF 二進制可執行程序 + 文檔的軟件包) – 既不是 tar.gz 也不是 tar.bz2 格式的上有源代碼 – 源代碼中包含不可分發的內容。 • 高複雜軟件包 – 被其他軟件包使用的解釋器模塊包 – 被其他軟件包使用的一般 ELF 庫文件包 – 複合二進制的軟件包,包含 ELF 庫文件包 – 多上游的源碼包 – 內核模塊軟件包 – 內核補丁軟件包 – 包含冷門維護者腳本的軟件包0 码力 | 63 页 | 512.12 KB | 1 年前3快快樂樂學會 Angular 2 網站開發框架
(Render & Re-render) • 範本編譯:支援 Template 預先編譯機制 – 更小的 Library Size ( 透過 webpack 自動合併 ) – 支援延遲載入機制與伺服器渲染機制 (Node.js & ASP.NET ) • 學習曲線更低 – 採用 TypeScript 語法更簡潔 ( 類別、介面、屬性、方法 ) – 移除超過 40+ 個 directives • 具有新穎的 JavaScript 語言特性 ( let, const, for-of, … ) – 可透過 Babel 轉譯器將瀏覽器不支援的語法轉為 ES5 版本 • TypeScript – 此版本為 ES 2015 的「超集合」 – 具有強型別特性、內建 ES5 轉譯器 (Transpiler)、更好的工具支援 • Dart – 非 JavaScript 家族的程式語言 – 具有強型別特性 (Directives) 類別 ( Class ) • 建構式 (Constructor) • 屬性 (Properties) • 方法 (Methods) 中繼資料 ( Metadata ) • 裝飾器 (Decorator) • 針對類別 • 針對屬性 • 針對方法 • 針對參數 17 認識 Angular 元件的程式碼結構 import { Component } from '@angular/core';0 码力 | 38 页 | 1.12 MB | 1 年前3Hello 算法 1.2.0 繁体中文 C++ 版
表現。比如一個演算法的並行度較高, 那麼它就更適合在多核 CPU 上執行,一個演算法的記憶體操作密集,那麼它在高效能記憶體上的表現就會 更好。也就是說,演算法在不同的機器上的測試結果可能是不一致的。這意味著我們需要在各種機器上進行 測試,統計平均效率,而這是不現實的。 另一方面,展開完整測試非常耗費資源。隨著輸入資料量的變化,演算法會表現出不同的效率。例如,在輸 入資料量較小時,演算法 A 圖 2‑4 遞迴呼叫深度 在實際中,程式語言允許的遞迴深度通常是有限的,過深的遞迴可能導致堆疊溢位錯誤。 2. 尾遞迴 有趣的是,如果函式在返回前的最後一步才進行遞迴呼叫,則該函式可以被編譯器或直譯器最佳化,使其在 空間效率上與迭代相當。這種情況被稱為尾遞迴(tail recursion)。 ‧ 普通遞迴:當函式返回到上一層級的函式後,需要繼續執行程式碼,因此系統需要儲存上一層呼叫的上 下文。 普通遞迴:求和操作是在“迴”的過程中執行的,每層返回後都要再執行一次求和操作。 ‧ 尾遞迴:求和操作是在“遞”的過程中執行的,“迴”的過程只需層層返回。 圖 2‑5 尾遞迴過程 Tip 請注意,許多編譯器或直譯器並不支持尾遞迴最佳化。例如,Python 預設不支持尾遞迴最佳化,因 此即使函式是尾遞迴形式,仍然可能會遇到堆疊溢位問題。 3. 遞迴樹 當處理與“分治”相關的演算法問題時,遞迴往往比迭代的0 码力 | 379 页 | 18.79 MB | 9 月前3Hello 算法 1.2.0 繁体中文 C# 版
表現。比如一個演算法的並行度較高, 那麼它就更適合在多核 CPU 上執行,一個演算法的記憶體操作密集,那麼它在高效能記憶體上的表現就會 更好。也就是說,演算法在不同的機器上的測試結果可能是不一致的。這意味著我們需要在各種機器上進行 測試,統計平均效率,而這是不現實的。 另一方面,展開完整測試非常耗費資源。隨著輸入資料量的變化,演算法會表現出不同的效率。例如,在輸 入資料量較小時,演算法 A 圖 2‑4 遞迴呼叫深度 在實際中,程式語言允許的遞迴深度通常是有限的,過深的遞迴可能導致堆疊溢位錯誤。 2. 尾遞迴 有趣的是,如果函式在返回前的最後一步才進行遞迴呼叫,則該函式可以被編譯器或直譯器最佳化,使其在 空間效率上與迭代相當。這種情況被稱為尾遞迴(tail recursion)。 ‧ 普通遞迴:當函式返回到上一層級的函式後,需要繼續執行程式碼,因此系統需要儲存上一層呼叫的上 下文。 普通遞迴:求和操作是在“迴”的過程中執行的,每層返回後都要再執行一次求和操作。 ‧ 尾遞迴:求和操作是在“遞”的過程中執行的,“迴”的過程只需層層返回。 圖 2‑5 尾遞迴過程 Tip 請注意,許多編譯器或直譯器並不支持尾遞迴最佳化。例如,Python 預設不支持尾遞迴最佳化,因 此即使函式是尾遞迴形式,仍然可能會遇到堆疊溢位問題。 3. 遞迴樹 當處理與“分治”相關的演算法問題時,遞迴往往比迭代的0 码力 | 379 页 | 18.79 MB | 9 月前3Hello 算法 1.2.0 繁体中文 Dart 版
表現。比如一個演算法的並行度較高, 那麼它就更適合在多核 CPU 上執行,一個演算法的記憶體操作密集,那麼它在高效能記憶體上的表現就會 更好。也就是說,演算法在不同的機器上的測試結果可能是不一致的。這意味著我們需要在各種機器上進行 測試,統計平均效率,而這是不現實的。 另一方面,展開完整測試非常耗費資源。隨著輸入資料量的變化,演算法會表現出不同的效率。例如,在輸 入資料量較小時,演算法 A 圖 2‑4 遞迴呼叫深度 在實際中,程式語言允許的遞迴深度通常是有限的,過深的遞迴可能導致堆疊溢位錯誤。 2. 尾遞迴 有趣的是,如果函式在返回前的最後一步才進行遞迴呼叫,則該函式可以被編譯器或直譯器最佳化,使其在 空間效率上與迭代相當。這種情況被稱為尾遞迴(tail recursion)。 ‧ 普通遞迴:當函式返回到上一層級的函式後,需要繼續執行程式碼,因此系統需要儲存上一層呼叫的上 下文。 尾遞迴:求和操作是在“遞”的過程中執行的,“迴”的過程只需層層返回。 第 2 章 複雜度分析 www.hello‑algo.com 25 圖 2‑5 尾遞迴過程 Tip 請注意,許多編譯器或直譯器並不支持尾遞迴最佳化。例如,Python 預設不支持尾遞迴最佳化,因 此即使函式是尾遞迴形式,仍然可能會遇到堆疊溢位問題。 3. 遞迴樹 當處理與“分治”相關的演算法問題時,遞迴往往比迭代的0 码力 | 378 页 | 18.77 MB | 9 月前3Hello 算法 1.2.0 繁体中文 Go 版
表現。比如一個演算法的並行度較高, 那麼它就更適合在多核 CPU 上執行,一個演算法的記憶體操作密集,那麼它在高效能記憶體上的表現就會 更好。也就是說,演算法在不同的機器上的測試結果可能是不一致的。這意味著我們需要在各種機器上進行 測試,統計平均效率,而這是不現實的。 另一方面,展開完整測試非常耗費資源。隨著輸入資料量的變化,演算法會表現出不同的效率。例如,在輸 入資料量較小時,演算法 A 圖 2‑4 遞迴呼叫深度 在實際中,程式語言允許的遞迴深度通常是有限的,過深的遞迴可能導致堆疊溢位錯誤。 2. 尾遞迴 有趣的是,如果函式在返回前的最後一步才進行遞迴呼叫,則該函式可以被編譯器或直譯器最佳化,使其在 空間效率上與迭代相當。這種情況被稱為尾遞迴(tail recursion)。 ‧ 普通遞迴:當函式返回到上一層級的函式後,需要繼續執行程式碼,因此系統需要儲存上一層呼叫的上 下文。 普通遞迴:求和操作是在“迴”的過程中執行的,每層返回後都要再執行一次求和操作。 ‧ 尾遞迴:求和操作是在“遞”的過程中執行的,“迴”的過程只需層層返回。 圖 2‑5 尾遞迴過程 Tip 請注意,許多編譯器或直譯器並不支持尾遞迴最佳化。例如,Python 預設不支持尾遞迴最佳化,因 此即使函式是尾遞迴形式,仍然可能會遇到堆疊溢位問題。 3. 遞迴樹 當處理與“分治”相關的演算法問題時,遞迴往往比迭代的0 码力 | 385 页 | 18.80 MB | 9 月前3Hello 算法 1.2.0 繁体中文 Kotlin 版
表現。比如一個演算法的並行度較高, 那麼它就更適合在多核 CPU 上執行,一個演算法的記憶體操作密集,那麼它在高效能記憶體上的表現就會 更好。也就是說,演算法在不同的機器上的測試結果可能是不一致的。這意味著我們需要在各種機器上進行 測試,統計平均效率,而這是不現實的。 另一方面,展開完整測試非常耗費資源。隨著輸入資料量的變化,演算法會表現出不同的效率。例如,在輸 入資料量較小時,演算法 A 圖 2‑4 遞迴呼叫深度 在實際中,程式語言允許的遞迴深度通常是有限的,過深的遞迴可能導致堆疊溢位錯誤。 2. 尾遞迴 有趣的是,如果函式在返回前的最後一步才進行遞迴呼叫,則該函式可以被編譯器或直譯器最佳化,使其在 空間效率上與迭代相當。這種情況被稱為尾遞迴(tail recursion)。 ‧ 普通遞迴:當函式返回到上一層級的函式後,需要繼續執行程式碼,因此系統需要儲存上一層呼叫的上 下文。 普通遞迴:求和操作是在“迴”的過程中執行的,每層返回後都要再執行一次求和操作。 ‧ 尾遞迴:求和操作是在“遞”的過程中執行的,“迴”的過程只需層層返回。 圖 2‑5 尾遞迴過程 Tip 請注意,許多編譯器或直譯器並不支持尾遞迴最佳化。例如,Python 預設不支持尾遞迴最佳化,因 此即使函式是尾遞迴形式,仍然可能會遇到堆疊溢位問題。 3. 遞迴樹 當處理與“分治”相關的演算法問題時,遞迴往往比迭代的0 码力 | 382 页 | 18.79 MB | 9 月前3
共 31 条
- 1
- 2
- 3
- 4