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两个严重漏洞,黑客可借此从大多数型号的电脑、手机和云服务器中窃取密码或密钥。
周二,微软表示,解决这些漏洞的补丁会对服务器性能造成极大的影响。
英特尔在声明中表示,将致力于找到兼顾安全、性能和兼容性的最佳解决方案。“对于许多用户而言,性能是最重要的因素,我们正集中精力确保满足用户需求。”
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期:腾讯课堂随到随学(网络)