1. 編譯器如何危及應用程序的安全
對於編譯器如何將人類可讀的代碼翻譯成機器運行的機器碼,大多數程序員通常只有大概的概念。在編譯過程中,編譯器會對代碼進行優化,使其能高效的運行。有的時候,編譯器在優化上面走的太遠了,它甚至移除了本不應該移除的代碼,導致應用程序更加脆弱。
MIT人工智慧和計算機科學實驗室的四位研究人員調查了(pdf) 不穩定優化(optimization-unstable)代碼的問題——編譯器移除的包含未定義行為的代碼。所謂的未定義行為包括了除以0,空指針間接 引用和緩沖溢出等。在某些情況下,編譯器完整移除未定義行為代碼可能會導致程序出現安全弱點。
研究人員開發了一個靜態檢查器STACK去識別不穩定的 C/C++代碼,他們在足球平台出租測試的系統中發現上百個新bug:Linux內核發現32個bug,Mozilla發現3個,Postgres 9個和Python 5個。STACK掃描了Debian Wheezy軟體包倉庫8575個含有C/C++代碼的軟體包,發現其中3471個至少包含一個不穩定的代碼。研究人員認為這是一個非常普遍的問題。
2. 《程序員修煉之道:通向務實的最高境界》pdf下載在線閱讀全文,求百度網盤雲資源
《程序員修煉之道:通向務實的最高境界(第2版)豆瓣閱讀》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/14sVP1CH2fqwyrsjt8aQ8_Q
3. 《程序員的數學》pdf下載在線閱讀,求百度網盤雲資源
《程序員的數學(第2版)》([日]結城浩)電子書網盤下載免費在線閱讀
鏈接:
書名:程序員的數學(第2版)
作者:[日]結城浩
譯者:管傑
豆瓣評分:8.7
出版社:人民郵電出版社
出版年份:2020-4-1
頁數:262
內容簡介:
《程序員的數學 第2版》面向程序員介紹了編程中常用的數學知識,藉以培養初級程序員的數學思維。讀者無須精通編程,也無須精通數學,只要具備四則運算和乘方等基礎知識,即可閱讀本書。
《程序員的數學 第2版》講解了二進制計數法、邏輯、余數、排列組合、遞歸、指數爆炸、不可解問題等許多與編程密切相關的數學方法,分析了哥尼斯堡七橋問題、高斯求和、漢諾塔、斐波那契數列等經典問題和演算法。引導讀者深入理解編程中的數學方法和思路。
《程序員的數學 第2版》新增一個附錄來介紹機器學習的基礎知識,內容涉及感知器、損失函數、梯度下降法和神經網路,旨在帶領讀者走進機器學習的世界。
作者簡介:
結城浩(作者)
生於1963年,日本知名技術作家和程序員。在編程語言、設計模式、數學、加密技術等領域,編寫了很多深受歡迎的入門書。代表作有《數學女孩》系列、《程序員的數學》《圖解密碼技術》等。
管傑(譯者)
畢業於復旦大學日語系,現為對日軟體工程師,具有多年日語技術文檔編寫經驗。愛好日漢翻譯和日本文化史,譯有《明解C語言:入門篇》等。
盧曉南(譯者)
本科就讀於西安交通大學少年班、數學系。名古屋大學博士(信息科學)。現於山梨大學計算機系任助理教授。主要研究方向包括組合數學(離散數學)及其在信息科學、計算機科學、統計學中的應用。譯著有《程序員的數學3:線性代數》。