隨著技術的進步、快速的市場和系統的更高復雜性,軟件工程師往往會跳過軟件效率這個令人不舒服的話題。然而,戰術的、可觀察性驅動的性能優化對于每個產品來說都是至關重要的,可以節省資金并確保業務成功。 有了這本書,任何工程師都可以學習如何有效、專業、無壓力地提高軟件效率。作者bartzuomiej potka提供了使您的系統更快、減少資源消耗所需的工具和知識。高效Go引導您使用Go實現更好的日常效率。此外,大多數內容與語言無關,允許您在編程或產品管理周期中引入小而有效的習慣。 這本書告訴你如何:
明確和協商效率目標 * 優化各個層次的效率 * 有效利用CPU和內存等公共資源 * 通過Prometheus、Jaeger和Parca等開源項目,使用可觀察性信號(如度量、日志記錄、跟蹤和(持續的)分析)來評估效率 * 應用go test、pprof、benchstat和k6等工具來創建可靠的微觀和宏觀基準 * 高效地使用Go和它的特性,如切片、泛型、goroutine、分配語義、垃圾收集等等!
學習如何在編寫高性能python程序和算法中使用數據結構這篇關于數據結構和算法的實用介紹可以幫助每一個想要編寫更高效軟件的程序員。本書以Robert Lafore基于java的傳奇指南為基礎,幫助學生準確理解數據結構和算法是如何運行的。您將學習如何用非常流行的Python語言有效地應用它們,并擴展您的代碼以應對當今的大數據挑戰。在整個過程中,作者關注現實世界的例子,用直觀的交互式可視化交流關鍵思想,并將復雜性和數學限制在提高性能所需的范圍內。他們逐步介紹了數組、排序、堆棧、隊列、鏈表、遞歸、二叉樹、2-3-4樹、哈希表、空間數據結構、圖等等。它們的代碼示例和插圖非常清晰,即使你是一個接近初學者,或者你有使用其他過程或面向對象語言的經驗,你也可以理解它們。
自然語言處理(Natural Language Processing,NLP)是計算機科學領域與人工智能領域中的一個重要方向。它研究能夠實現人與電腦之間用自然語言進行有效通信的各種理論和方法,涉及所有用計算機對自然語言進行的操作。
//www.datascienceassn.org/sites/default/files/Natural%20Language%20Processing%20with%20Python.pdf
伯德、克萊恩、洛佩爾編著的這本《Python自然語言處理》是自然語言處理領域的一本實用入門指南,旨在幫助讀者學習如何編寫程序來分析書面語言。《Python自然語言處理》基于Python編程語言以及一個名為NLTK的自然語言工具包的開源庫,但并不要求讀者有Python編程的經驗。全書共11章,按照難易程度順序編排。第1章到第3章介紹了語言處理的基礎,講述如何使用小的Python程序分析感興趣的文本信息。第4章討論結構化程序設計,以鞏固前面幾章中介紹的編程要點。第5章到第7章介紹語言處理的基本原理,包括標注、分類和信息提取等。第8章到第10章介紹了句子解析、句法結構識別和句意表達方法。第11章介紹了如何有效管理語言數據。后記部分簡要討論了NLP領域的過去和未來。
《Python自然語言處理》的實踐性很強,包括上百個實際可用的例子和分級練習。《Python自然語言處理》可供讀者用于自學,也可以作為自然語言處理或計算語言學課程的教科書,還可以作為人工智能、文本挖掘、語料庫語言學等課程的補充讀物。
本書由 Python pandas 項目創始人Wes McKinney 親筆撰寫,詳細介紹利用 Python 進行操作、處理、清洗和規整數據等方面的具體細節和基本要點。第 2 版針對 Python 3.6 進行全面修訂和更新,涵蓋新版的 pandas、NumPy、IPython 和 Jupyter,并增加大量實際案例,可以幫助你高效解決一系列數據分析問題。
本書最大的特點是通過介紹 Python 編程和用于數據處理的庫和工具環境,可以讓你成為一個數據分析專家。雖然本書的標題是“數據分析”,重點卻是 Python 編程、庫,以及用于數據分析的工具。這就是數據分析要用到的 Python 編程。
//index-of.es/Varios-2/Python%20for%20Data%20Analysis.pdf
中文版
“一本極好又務實的數據結構入門書籍,讓讀者擁有剛好的理論知識以進行算法分析,同時兼顧實際應用。”-Barry Wittman Associate Professor Elizabethtown College
“經由閱讀本書,讀者進入Java collection framework的世界,使用Ant和JUnit,并建立一個有趣的網路搜索引擎雛型,繼Think Java之后又一力作!”-Chris Mayfield Associate Professor James Madison University
//greenteapress.com/wp/think-data-structures/
如果你是在學學生,或是準備要應征軟件工程師的話,本書較其它同類型的書籍更清楚、簡明和深入,幫助你學習或復習,軟件工程中數據結構演算法的一些重點。
藉由闡明理論架構之上的實用知識和技巧,作者Allen Downey呈現給你的是如何用數據結構,實作有效率的算法,以及分析測量算法的效率。你會用到很多Java collection framework(JCF)里的重要類別,知道這些類別是如何被實作以及知道它們的執行效能。每一個章節都有實作練習題,還有對應的測試程式檢查讀者練習題解答是否正確。
?使用像list和map這樣的數據結構,并了解其工作原理 ?制作一個可以讀取維基百科網頁、分析網頁內容而且瀏覽產出資料tree ?分析程式碼以預測程式碼執行效率,以及程式要用多少記憶體 ?為Map介面作數個實作類別,過程中包括使用哈希表以及二元搜索樹 ?建立一個簡單的網頁搜索引擎,引擎包含爬蟲和儲存網頁內容的索引器,以及能將數據料回傳給使用者的檢索器
《操作反模式,DevOps解決方案》展示了如何在大多數開發人員工作的不完美環境中實現DevOps技術。部分技術教程、部分參考手冊和部分心理手冊,本實用指南向您展示了在您無法靈活地對組織結構進行全面更改時,將DevOps引入您的團隊的現實方法。
DevOps解決方案專注于從下至上的過程改進,包括操作反模式中的所有內容,它對您的團隊是可操作的——從構建流線化的工作流系統到開發儀表板和度量性能正確方面的操作指標。為了更好地理解個人和組織的行為,您還將學習為什么DevOps技術是有效的背后的心理原因。
//file.allitebooks.com/20201107/Operations%20Anti-Patterns,%20DevOps%20Solutions.pdf
相關搜索揭開了相關工作的神秘面紗。使用Elasticsearch,它將教會您如何將引人入勝的搜索結果返回給用戶,幫助您理解并利用基于lucene的搜索引擎的內部原理。
對這項技術
用戶已經習慣并期待即時的相關搜索結果。要做到這一點,你必須掌握搜索引擎。然而對于許多開發者來說,相關性排名是神秘或令人困惑的。
關于這本書
相關搜索使主題變得更清晰,并向您展示了搜索引擎是一個可編程的相關框架。您將學習如何應用Elasticsearch或Solr到您的企業獨特的排名問題。該書演示了如何編寫相關性程序,以及如何合并輔助數據源、分類法、文本分析和個性化。在實踐中,相關性框架還需要軟技能,例如與涉眾協作,以發現業務的正確相關性需求。到最后,你呢?你能在搜索產品上實現一個可證明、可衡量的相關性改進的良性循環嗎?
里面有什么
識別、分析和改進性能低下的查詢,這些查詢會損害用戶體驗并導致業務收入損失。這本書將幫助您通過一個多步驟的過程,使查詢調優成為您日常生活中不可分割的一部分,這個過程包括監視執行時間、識別用于優化的候選查詢、分析它們的當前性能,以及改進它們以更快地交付結果和更少的開銷。作者Jesper Krogh系統地討論了這些步驟以及執行這些步驟的數據源和工具。
MySQL 8查詢性能調優旨在幫助您使用多種策略提高查詢性能。您將了解如何使用傳統的解釋命令和新的解釋分析工具來分析查詢。您還將看到如何使用Visual Explain特性來提供執行計劃的可視化視圖。索引的覆蓋范圍包括索引策略和索引統計信息,您將了解如何使用直方圖來提供關于傾斜數據分布的輸入,優化器可以使用這些數據分布來提高查詢性能。您將了解鎖,以及如何研究鎖問題。您將了解MySQL優化器是如何工作的,包括新的散列連接算法,以及如何在需要時更改優化器的行為以交付更快的執行時間。您將獲得取悅應用程序用戶所需的工具和技能,并從企業計算資源中獲取最大的價值。
你會學到什么
這本書是給誰看的
熟悉MySQL并需要參與查詢調優的數據庫管理員和SQL開發人員。雖然需要一些MySQL經驗,但是不需要預先了解查詢性能調優。
Manning2020新書《Practices of the Python Pro》,250頁pdf
專業開發人員知道編寫干凈、組織良好、易于維護的應用程序代碼的許多好處。通過學習和遵循已建立的模式和最佳實踐,您可以將您的代碼和您的職業生涯提升到一個新的水平。
通過Python Pro的實踐,您將學習如何使用非常流行的編程語言Python來設計專業級別的、干凈的、易于維護的軟件。您會發現一些容易理解的示例,它們使用偽代碼和Python來介紹軟件開發的最佳實踐,以及許多即時有用的技術,可以幫助您像專業人員一樣編寫代碼。
Python Pro的實踐教會您設計和編寫可理解、可維護和可擴展的專業質量的軟件。Dane Hillard是一名Python專業人員,他幫助許多開發人員完成了這一步,并且他知道這需要什么。通過一些有用的示例和練習,他可以告訴您何時、為什么以及如何模塊化代碼,如何通過減少復雜性來提高質量,等等。接受這些核心原則,您的代碼將變得更容易閱讀、維護和重用。