Canonical發布來自Intel的最新微代碼+都說python簡單,為何我覺得難【馬哥教育新聞快報182期】
2018年01月12日 星期五 【馬哥教育新聞快報182期】
導讀:Canonical發布來自Intel的最新微代碼+都說Python簡單,為何我覺得難
每日一句
人生最幸福的事,莫過于通過努力,把一切都變成自己想要的樣子。2018,拼一把,在最好的年紀,活出最美的青春吧!
早報內容
1.Canonical發布來自Intel的最新微代碼
Canonical剛剛宣布,英特爾最新的針對Spectre安全漏洞的微代碼更新現在可以從所有支持的Ubuntu Linux版本的軟件庫中獲得。
本周早些時候發布新的內核更新,以減輕Meltdown 和 Spectre安全漏洞,通過允許本地,非特權的攻擊者從內核內存獲取敏感信息,使數十億設備面臨攻擊風險,Canonical現在發布了來自Intel的最新微代碼,以支持Intel CPU。
Canonical表示,該更新提供了在Ubuntu 17.10(Artful Aardvark),Ubuntu 17.04(Zesty Zapus),Ubuntu 16.04 LTS(Xenial Xerus)和Ubuntu 14.04 LTS(Trusty Tahr)操作系統系列中使用的Linux內核版本所需要的微代碼補丁,來減輕Spectre的影響。
2.都說Python簡單,為何我覺得難?
說Python簡單的都是程序員或者半程序員,說其實還是很困難的都是有需求但并非依賴性的業余愛好者。
Python的簡單,是相對于C++的簡單,而不是相對于Word、Excel的簡單。它再接近自然語言,也有語法,也有數據結構,也有編程思想,而這些對于“業務愛好者”來說就等于“難”。
想要不難也很容易,保證自己每天都會去使用它就好了,每天不管是看書學習也好,照著案例敲代碼也好,針對需求寫個小程序也好,一定要每天用,直到自己習慣語法,習慣數據結構,習慣編程思想為止,到那個時候,你就變成了半個程序員。
想以一周一兩次,甚至更低的頻率來學習編程,無論你內心多么熱愛,無論這門語言多么簡單,都是學不會的,更別談學好了。
3.AMD和ARM機會來了?云計算企業考慮棄用英特爾芯片
1月11日消息,據路透社報道,英特爾芯片被爆重大安全漏洞后,一些云企業用戶正考慮在建設新設施時棄用英特爾產品、采用其他競爭公司的產品。
遭遇漏洞門后,英特爾快速發展的芯片業務可能將遭重創。據市場研究公司IDC表示,目前英特爾芯片被用于98%的數據中心運作中。
上周安全專家透露,英特爾芯片存在Meltdown和Spectre兩個嚴重漏洞,黑客可借此從大多數型號的電腦、手機和云服務器中竊取密碼或密鑰。
周二,微軟表示,解決這些漏洞的補丁會對服務器性能造成極大的影響。
英特爾在聲明中表示,將致力于找到兼顧安全、性能和兼容性的最佳解決方案。“對于許多用戶而言,性能是最重要的因素,我們正集中精力確保滿足用戶需求?!?/span>
4.AMD:消滅CPU漏洞!
今天,AMD CTO(首席技術官)Mark Papermaster更新了《AMD處理器安全性說明》(中文頁面尚未上線)。
具體來說,對于Spectre漏洞中的V1(繞過邊界檢查),AMD依然認為可以通過操作系統和軟件層面的更新解決掉。在“變磚”即造成系統啟動故障叫停對AMD平臺的補丁更新之后,微軟已經于目前恢復了Update操作。AMD透露,此次受影響的平臺包括AMD Opteron/Athlon/Turion X2 Ultra。
至于Linux,內核和分支廠商已經開始更新。
5.微軟停止對Win8.1主流支持 以后僅修Bug
1月11日,微軟宣布正式結束對Windows 8.1操作系統的主流支持(mainstream support),轉入擴展支持階段(extended support)。
這意味著,Win8.1今后將不能定期獲得功能/安全性更新了,只有在遭遇關鍵和重大BUG時才會得到微軟的修補。據悉,擴展支持將持續到2023年1月10日。。
目前,在“輔助技術”頁面,Windows 7/8.1用戶依然可以免費升級到Windows 10,活動持續到1月16日。同時考慮到CPU漏洞修復后對Win7/8.1的明顯負優化,建議大伙兒能升就升吧。
【每日一個知識點】
【每日一個Linux知識點第042期】
問題:我們都知道,dns既采用了tcp協議,又采用了udp協議,什么時候采用tcp協議?什么時候采用udp協議?為什么要這么設計?
答案:
這個題需要理解的東西比較的多,分一下幾個方面
a,從數據包大小上分:UDP的最大包長度是65507個字節,響應dns查詢的時候數據包長度超過512個字節,而返回的只要前512個字節,這時名字 解釋器通常使用TCP從發原來的請求。
b,從協議本身來分:大部分的情況下使用UDP協議,大家都知道UDP協議是一種不可靠的協議,dns不像其它的使用UDP的Internet應用 (如:TFTP,BOOTP和SNMP等),大部分集中在局域網,dns查詢和響應需要經過廣域網,分組丟失和往返時間的不確定性在廣域網比局域網上更大,這就要求dns客戶端需要好的重傳和超時算法,這時候使用TCP。
【每日一個Python知識點第043期】
問題:Python和多線程(multi-threading)。這是個好主意碼?列舉一些讓Python代碼以并行方式運行的方法。
答案:
Python并不支持真正意義上的多線程。Python中提供了多線程包,但是如果你想通過多線程提高代碼的速度,使用多線程包并不是個好主意。Python中有一個被稱為Global Interpreter Lock(GIL)的東西,它會確保任何時候你的多個線程中,只有一個被執行。線程的執行速度非常之快,會讓你誤以為線程是并行執行的,但是實際上都是輪流執行。經過GIL這一道關卡處理,會增加執行的開銷。這意味著,如果你想提高代碼的運行速度,使用threading包并不是一個很好的方法。
不過還是有很多理由促使我們使用threading包的。如果你想同時執行一些任務,而且不考慮效率問題,那么使用這個包是完全沒問題的,而且也很方便。但是大部分情況下,并不是這么一回事,你會希望把多線程的部分外包給操作系統完成(通過開啟多個進程),或者是某些調用你的Python代碼的外部程序(例如Spark或Hadoop),又或者是你的Python代碼調用的其他代碼(例如,你可以在Python中調用C函數,用于處理開銷較大的多線程工作)。
為什么提這個問題
因為GIL就是個混賬東西(A-hole)。很多人花費大量的時間,試圖尋找自己多線程代碼中的瓶頸,直到他們明白GIL的存在。
【近期開班】
Linux面授班30期:2018年03月26日(北京)
Linux網絡班29期:2018年02月10號(網絡)
Python面授班10期:2018年03月05號(北京)
Python網絡班09期:騰訊課堂隨到隨學(網絡)