 多雲一體就是現在:
GOOGLE CLOUD 的
KUBERNETES
混合雲戰略多雲一體就是現在: GOOGLE CLOUD 的 KUBERNETES 混合雲戰略 安玟宇 Wayne An Customer Engineer, Google Cloud WayneAn@google.com 安玟宇 Wayne An Customer Engineer, Google Cloud WayneAn@google.com 多雲一體就是現在: Google Cloud 涵蓋Web/App/DB皆有多 樣化代管服務可以組合出 最適架構 自動化部署 與開放平台以及開發環境 整合,加速應用上線 Google Cloud Taiwan 優勢 Google Infrastructure event driven functions web apps & APIs orchestrate containers infrastructure 使用多層次的架構重塑雲端佈署 是用於自動部署,擴展和管理容器化應用 程序的開源系統 ○ 根據資源需求和其他約束自動放置容器 ○ 自我修復,重新啟動失敗的容器 ○ 橫向縮放,自動調整應用程序副本數 ○ 自動部署和回滾,逐漸部署對應用程序或其配置的更改, 在出現 問題時恢復更改 Google Kubernetes Engine ● Google Kubernetes Engine GKE ○ 在 Google Cloud 提供技術的0 码力 | 32 页 | 2.77 MB | 1 年前3 多雲一體就是現在:
GOOGLE CLOUD 的
KUBERNETES
混合雲戰略多雲一體就是現在: GOOGLE CLOUD 的 KUBERNETES 混合雲戰略 安玟宇 Wayne An Customer Engineer, Google Cloud WayneAn@google.com 安玟宇 Wayne An Customer Engineer, Google Cloud WayneAn@google.com 多雲一體就是現在: Google Cloud 涵蓋Web/App/DB皆有多 樣化代管服務可以組合出 最適架構 自動化部署 與開放平台以及開發環境 整合,加速應用上線 Google Cloud Taiwan 優勢 Google Infrastructure event driven functions web apps & APIs orchestrate containers infrastructure 使用多層次的架構重塑雲端佈署 是用於自動部署,擴展和管理容器化應用 程序的開源系統 ○ 根據資源需求和其他約束自動放置容器 ○ 自我修復,重新啟動失敗的容器 ○ 橫向縮放,自動調整應用程序副本數 ○ 自動部署和回滾,逐漸部署對應用程序或其配置的更改, 在出現 問題時恢復更改 Google Kubernetes Engine ● Google Kubernetes Engine GKE ○ 在 Google Cloud 提供技術的0 码力 | 32 页 | 2.77 MB | 1 年前3
 可觀測性 (Observability)
在 Kubernetes Day2
Operation的考量與實踐顯、最緊迫的挑戰與 Day 0 和 Day 1 有關 • 推動 Kubernetes 的動力通常是: • 提高開發人員的敏捷性 • 提高開發人員的開發速度 • 通過讓開發人員訪問自助服務配置 來消除開發過程中的摩擦 6 Click to edit Master title style 7 什麼是 Kubernetes Day 2 • 速度和敏捷性的顯著提高,從每月部 署轉變為每日部署。 營 K u b e r n e t e s 的 挑 戰 8 Click to edit Master title style 9 Kubernetes Day2 Ops 要作那些事? • 集群標準化和生命週期管理 • 安全訪問和環境隔離 • 維運可觀察性和流程透通性 • 治理與合規 • 持續第三方元件整合和維護 9 Ref. Use Platform Engineering to 應用程序開發人員應該能夠盡可能地 自助服務,依靠一小群平台工程師來 管理底層操作系統。 • Centralized policy controls • 運營團隊需要一種集中控制集群和工 作負載策略的方法,以確保根據組織 圍繞安全性、合規性和其他最佳實踐 的策略配置 Kubernetes 和容器。 • Kubernetes-native monitoring and logging for security and0 码力 | 30 页 | 3.01 MB | 1 年前3 可觀測性 (Observability)
在 Kubernetes Day2
Operation的考量與實踐顯、最緊迫的挑戰與 Day 0 和 Day 1 有關 • 推動 Kubernetes 的動力通常是: • 提高開發人員的敏捷性 • 提高開發人員的開發速度 • 通過讓開發人員訪問自助服務配置 來消除開發過程中的摩擦 6 Click to edit Master title style 7 什麼是 Kubernetes Day 2 • 速度和敏捷性的顯著提高,從每月部 署轉變為每日部署。 營 K u b e r n e t e s 的 挑 戰 8 Click to edit Master title style 9 Kubernetes Day2 Ops 要作那些事? • 集群標準化和生命週期管理 • 安全訪問和環境隔離 • 維運可觀察性和流程透通性 • 治理與合規 • 持續第三方元件整合和維護 9 Ref. Use Platform Engineering to 應用程序開發人員應該能夠盡可能地 自助服務,依靠一小群平台工程師來 管理底層操作系統。 • Centralized policy controls • 運營團隊需要一種集中控制集群和工 作負載策略的方法,以確保根據組織 圍繞安全性、合規性和其他最佳實踐 的策略配置 Kubernetes 和容器。 • Kubernetes-native monitoring and logging for security and0 码力 | 30 页 | 3.01 MB | 1 年前3
 Debian 新維護人員手冊debian/package.symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 A.3 多體繫結構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debian 軟件包。在這裏, 我們儘可能使用通俗的語言,並輔以大量實例來直觀地展示每一個細節。正如一句古羅馬諺語說得好:一例勝千言! 該文件在 Debian Buster 釋出時仍然可用,因為它已提供了許多語言的翻譯版本。該文件會在之後的 Debian 版本中 被移除,因為其內容正在逐漸過時。1 Debian 的軟件包系統是使它躋身頂級發行版行列的重要原因之一。儘管已經有相當數量的軟件被打包成 Debian 很多新程序使用 configure 腳本和 Makefile 文件來幫助預處理程序。 (參看 info autoconf、info automake)。autotools-dev 則用於保持指定的自動配置文件爲最新,並帶有關 於使用那些文件的最佳方法的文檔。 • dh-make 和 debhelper - dh-make 是用於創建我們示例軟件包骨架所必須的,它會使用 debhelper 中的一些工0 码力 | 63 页 | 512.12 KB | 1 年前3 Debian 新維護人員手冊debian/package.symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 A.3 多體繫結構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debian 軟件包。在這裏, 我們儘可能使用通俗的語言,並輔以大量實例來直觀地展示每一個細節。正如一句古羅馬諺語說得好:一例勝千言! 該文件在 Debian Buster 釋出時仍然可用,因為它已提供了許多語言的翻譯版本。該文件會在之後的 Debian 版本中 被移除,因為其內容正在逐漸過時。1 Debian 的軟件包系統是使它躋身頂級發行版行列的重要原因之一。儘管已經有相當數量的軟件被打包成 Debian 很多新程序使用 configure 腳本和 Makefile 文件來幫助預處理程序。 (參看 info autoconf、info automake)。autotools-dev 則用於保持指定的自動配置文件爲最新,並帶有關 於使用那些文件的最佳方法的文檔。 • dh-make 和 debhelper - dh-make 是用於創建我們示例軟件包骨架所必須的,它會使用 debhelper 中的一些工0 码力 | 63 页 | 512.12 KB | 1 年前3
 Comprehensive Rust(繁体中文)269 53.5.1 Bitflags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 53.5.2 多個暫存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 53.5.3 驅動程式 . . . . . . 62 練習 317 62.1 哲學家就餐問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 62.2 多執行緒連結檢查器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 62.3 並行:上午練習 . . . . . 中修改現有程式及編寫新程式。 • 向您介紹常見的 Rust 慣用語法。 We call the first four course days Rust Fundamentals. 在此基礎上,我們將誠摯邀請您深入探討一或多個專題: • Android:這是半天的課程,會說明如何針對 Android 平台開發作業 (Android 開放原始碼計畫) 使用 Rust,並介紹與 C、C++ 和 Java 的互通性。 • Chromium:0 码力 | 358 页 | 1.41 MB | 10 月前3 Comprehensive Rust(繁体中文)269 53.5.1 Bitflags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 53.5.2 多個暫存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 53.5.3 驅動程式 . . . . . . 62 練習 317 62.1 哲學家就餐問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 62.2 多執行緒連結檢查器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 62.3 並行:上午練習 . . . . . 中修改現有程式及編寫新程式。 • 向您介紹常見的 Rust 慣用語法。 We call the first four course days Rust Fundamentals. 在此基礎上,我們將誠摯邀請您深入探討一或多個專題: • Android:這是半天的課程,會說明如何針對 Android 平台開發作業 (Android 開放原始碼計畫) 使用 Rust,並介紹與 C、C++ 和 Java 的互通性。 • Chromium:0 码力 | 358 页 | 1.41 MB | 10 月前3
 這些年,我們一起追的HadoopEE 領域有十多 年的講師教學經驗,熟悉 SOAP/RESTful Services、Design Patterns、EJB/JPA 等 Java EE 規 格,Struts/Spring/Hibernate 等 Open Source Framework,與 JBoss AS、 GlassFish 等 Application Server。 自認為會的技術不多,但是學不會的 也不多,最擅長把老闆交代的工作, Task 給 TT 3. TT 執行 Task 4. TT 向 JT 回報 Hadoop 1.x 架構 - MapReduce (MRv1) 只有一個 JobTracker (Master),可是要管理多個 TaskTracker (Slave)! 10 / 74 Hadoop 1.x 架構與限制 比較基本的模組: Hadoop HDFS (Storage) Hadoop MapReduce (Computing Namespace,沒辦法分開管控 /sales、/accounting、... 只能執行 MapReduce Job ... 弱弱的問一下:台灣有多少企業 Cluster 有這麼大?Task 有這麼 多? 11 / 74 我們對 Hadoop 的期許: Batch Job Interactive Query Real-Time Processing Graph Processing Iterative0 码力 | 74 页 | 45.76 MB | 1 年前3 這些年,我們一起追的HadoopEE 領域有十多 年的講師教學經驗,熟悉 SOAP/RESTful Services、Design Patterns、EJB/JPA 等 Java EE 規 格,Struts/Spring/Hibernate 等 Open Source Framework,與 JBoss AS、 GlassFish 等 Application Server。 自認為會的技術不多,但是學不會的 也不多,最擅長把老闆交代的工作, Task 給 TT 3. TT 執行 Task 4. TT 向 JT 回報 Hadoop 1.x 架構 - MapReduce (MRv1) 只有一個 JobTracker (Master),可是要管理多個 TaskTracker (Slave)! 10 / 74 Hadoop 1.x 架構與限制 比較基本的模組: Hadoop HDFS (Storage) Hadoop MapReduce (Computing Namespace,沒辦法分開管控 /sales、/accounting、... 只能執行 MapReduce Job ... 弱弱的問一下:台灣有多少企業 Cluster 有這麼大?Task 有這麼 多? 11 / 74 我們對 Hadoop 的期許: Batch Job Interactive Query Real-Time Processing Graph Processing Iterative0 码力 | 74 页 | 45.76 MB | 1 年前3
 Kubernetes 入門Google 嚴格保密十幾年的秘密武器——Borg 的開源 專案版本。Borg 是 Google 久負盛名的一個內部使用的大規模叢集管理系統,它基 於容器技術,目的是實現資源管理的自動化,以及跨多個資料中心的資源利用率最 大化。十幾年來,Google 一直透過 Borg 系統管理著數量龐大的叢集式應用系統。 由於 Google 員工都簽署了保密協議,即便離職也不能洩露 Borg 的內部設計,所 Kubernetes 系統的核心元件,它們共同構成 Kubernetes 系統的框 架和運算模型。透過對它們進行靈活組合,使用者就可快速、方便地對容器叢集進 行配置、建置和管理。 除了以上核心元件,在 Kubernetes 系統中還有許多可供配置的資源物件,例如 LimitRange、ResourceQuota。另外,一些系統內部使用的物件 Binding、Event 等 請參考 Kubernetes 的實作細節。kube-proxy 程序為每個 Service 都建立 了一個“服務代理物件",服務代理物件是 kube-proxy 程式內部的一種資料結構, 2-96 Kubernetes 核心原理 2 目前已經有多個開源元件支援這個網路模型。這裡將介紹幾個常見的模型,分別是 Flannel、Open vSwitch 及直接路由的方式。 1. Flannel Flannel 之所以可以建置 Kubernetes0 码力 | 12 页 | 2.00 MB | 1 年前3 Kubernetes 入門Google 嚴格保密十幾年的秘密武器——Borg 的開源 專案版本。Borg 是 Google 久負盛名的一個內部使用的大規模叢集管理系統,它基 於容器技術,目的是實現資源管理的自動化,以及跨多個資料中心的資源利用率最 大化。十幾年來,Google 一直透過 Borg 系統管理著數量龐大的叢集式應用系統。 由於 Google 員工都簽署了保密協議,即便離職也不能洩露 Borg 的內部設計,所 Kubernetes 系統的核心元件,它們共同構成 Kubernetes 系統的框 架和運算模型。透過對它們進行靈活組合,使用者就可快速、方便地對容器叢集進 行配置、建置和管理。 除了以上核心元件,在 Kubernetes 系統中還有許多可供配置的資源物件,例如 LimitRange、ResourceQuota。另外,一些系統內部使用的物件 Binding、Event 等 請參考 Kubernetes 的實作細節。kube-proxy 程序為每個 Service 都建立 了一個“服務代理物件",服務代理物件是 kube-proxy 程式內部的一種資料結構, 2-96 Kubernetes 核心原理 2 目前已經有多個開源元件支援這個網路模型。這裡將介紹幾個常見的模型,分別是 Flannel、Open vSwitch 及直接路由的方式。 1. Flannel Flannel 之所以可以建置 Kubernetes0 码力 | 12 页 | 2.00 MB | 1 年前3
 Debian 套件打包教學指南 version 0.29欄位特別指定 Build-Depends: ) ▶ 相依 dpkg-dev 套件, 其中包含基本 Debian 特定工具, 以便於製 作 Debian 套件 ▶ devscripts: 此套件提供許多便於開發的腳本給 Debian 維護者 還有一些接著會提到的工具, 比如說 debhelper, cdbs, quilt, pbuilder, sbuild, lintian, svn-buildpackage 當需要使用時,可安裝上述套件. Debian 套件打包教學指南 8 / 90 一般打包套件的流程 Web 上游程式碼 Debian 鏡像站 原始程式套件 這階段會完成大 部份手動操作 一個或多個二進制套件 .deb dh_make apt-get source dget debuild (透過lintian建立並測試套 件) 或者 dpkg-buildpackage 安裝(debi) 5 進階打包主題 6 維護 Debian 套件 7 結論 8 深入淺出實際演練 9 深入淺出實際演練 Debian 套件打包教學指南 11 / 90 原始碼套件 ▶ 一個原始碼套件可產生多個二進制套件 舉例來說 libtar 原始碼會產出 libtar0 跟 libtar-dev 二進制套件 ▶ 套件分成兩種類型: (若不確定套件種類屬於哪一種, 請使用非原生) ▶ 原生套件: 通常指的是在0 码力 | 90 页 | 691.02 KB | 1 年前3 Debian 套件打包教學指南 version 0.29欄位特別指定 Build-Depends: ) ▶ 相依 dpkg-dev 套件, 其中包含基本 Debian 特定工具, 以便於製 作 Debian 套件 ▶ devscripts: 此套件提供許多便於開發的腳本給 Debian 維護者 還有一些接著會提到的工具, 比如說 debhelper, cdbs, quilt, pbuilder, sbuild, lintian, svn-buildpackage 當需要使用時,可安裝上述套件. Debian 套件打包教學指南 8 / 90 一般打包套件的流程 Web 上游程式碼 Debian 鏡像站 原始程式套件 這階段會完成大 部份手動操作 一個或多個二進制套件 .deb dh_make apt-get source dget debuild (透過lintian建立並測試套 件) 或者 dpkg-buildpackage 安裝(debi) 5 進階打包主題 6 維護 Debian 套件 7 結論 8 深入淺出實際演練 9 深入淺出實際演練 Debian 套件打包教學指南 11 / 90 原始碼套件 ▶ 一個原始碼套件可產生多個二進制套件 舉例來說 libtar 原始碼會產出 libtar0 跟 libtar-dev 二進制套件 ▶ 套件分成兩種類型: (若不確定套件種類屬於哪一種, 請使用非原生) ▶ 原生套件: 通常指的是在0 码力 | 90 页 | 691.02 KB | 1 年前3
 Hello 算法 1.2.0 繁体中文 C语言 版作者:靳宇棟(@krahets) 程式碼審閱:宮蘭景(@Gonglja) Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 ”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www 從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。0 码力 | 392 页 | 18.83 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 C语言 版作者:靳宇棟(@krahets) 程式碼審閱:宮蘭景(@Gonglja) Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 ”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www 從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。0 码力 | 392 页 | 18.83 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 C# 版C# 語言版 作者:靳宇棟(@krahets) 程式碼審閱:@hpstory Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 ”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www 從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。0 码力 | 379 页 | 18.79 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 C# 版C# 語言版 作者:靳宇棟(@krahets) 程式碼審閱:@hpstory Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 ”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www 從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。0 码力 | 379 页 | 18.79 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Dart 版作者:靳宇棟(@krahets) 程式碼審閱:劉玉新(@gvenusleo) Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 ”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www 從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。0 码力 | 378 页 | 18.77 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Dart 版作者:靳宇棟(@krahets) 程式碼審閱:劉玉新(@gvenusleo) Release 1.2.0 2024‑12‑06 序 兩年前,我在力扣上分享了“劍指 Offer”系列題解,受到了許多讀者的鼓勵與支持。在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 ”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 www 從巧奪天工的匠人 技藝、到解放生產力的工業產品、再到宇宙運行的科學規律,幾乎每一件平凡或令人驚嘆的事物背後,都隱 藏著精妙的演算法思想。 同樣,資料結構無處不在:大到社會網絡,小到地鐵路線,許多系統都可以建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。0 码力 | 378 页 | 18.77 MB | 10 月前3
共 35 条
- 1
- 2
- 3
- 4













