微信号:techweek

介绍:汇集每周重要 IT /互联网技术资讯和开发相关技术干货,就在「技术微周刊 」

勒索病毒爆发的前后,第 5 期技术微周刊出炉了

2017-05-16 20:54 技术微周刊


 本期热点关注 


 

提醒:周刊中所有标题和段落中蓝色部分,都是可以点击的超链接。


全球爆发计算机勒索病毒(包含应急防范措施)


大事件:微软将 Linux 引入 Windows Store


抓数据的请注意:非法获取他人信息入罪量刑的新解释


谷歌 Fuchsia 操作系统抛弃 Linux:具有崭新的 UI




业界资讯



从以下前 5 篇报道可以了解勒索病毒的前后。


全球爆发计算机勒索病毒(包含应急防范措施)


5月12日,英国、意大利、俄罗斯等多个国家爆发勒索病毒攻击,中国国内校园网也出现大面积感染。这种勒索病毒被命名为 WannaCry。


意外阻止了勒索病毒的全球攻击,我是如何做到的


WannaCrypt 勒索病毒开始肆虐后 ,英国的网络安全人员 MalwareTech 博主分析发现,该病毒都会访问一个域名 www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com,如果连接成功,就停止攻击感染其他机器。于是他注册了这个域名,偶然阻止了勒索病毒的全球攻击。


WannaCry 出现变种,也能感染 Linux 和 Mac 了?


5月14日下午,国家网络与信息安全信息通报中心发布紧急通报称,WannaCry 已升级到 2.0 版,与之前版本的不同是,这个变种取消了 Kill Switch,不能通过注册某个域名来关闭变种勒索病毒的传播,该变种传播速度可能会更快。另据卡巴斯基技术人员 Raiu 及其团队分析,WannaCrypt 2.0 版的作者另有他人,并不是 WannaCrypt 的初始作者。


“勒索病毒”侵袭全球,猫鼠游戏上演


对 “勒索病毒” 介绍的挺完整的一篇报道。


微软总裁指责美国政府私藏漏洞,给黑客可乘之机


对于近期波及全球的勒索病毒事件,微软指责美国政府部门“私藏了大量的漏洞信息”。


微软总裁、首席法务官布拉德·史密斯(Brad Smith)周日在博客中撰文,讨论了影响全球的WannaCry勒索病毒事件。过去几天,该病毒已导致全球医院、企业和政府部门的数十万台计算机无法使用。史密斯表示,美国国家安全局(NSA)和中央情报局(CIA)等部门应当公布发现的系统漏洞,以便及时修复,而不是将漏洞当作奇货可居。


编程语言 5 月排行榜:Java 和 C 下跌厉害


TIOBE 最近公布了 2017 年 5 月编程语言指数排行榜,排名前三的还是 Java、C、C++,Python 和 C# 排第四和第五。自从 2016 年开始,Java 和 C 的比率数据在下降。和去年同期相比,两者已下降超过 6%。流失的部分,哪些编程语言受益了呢?嗯,是其他语言都受益了。


大事件:微软将 Linux 引入 Windows Store


在 Build 2017 开发者大会上,微软宣布了一个令人振奋的消息,包括 Ubuntu、SUSE Linux 和 Fedora 在内的三款最受欢迎的 Linux 发行版本系统都将登陆 Windows Store。


抓数据的请注意:非法获取他人信息入罪量刑的新解释


“两高” 最近公布的一则司法解释明确,非法获取、出售或者提供公民个人信息,具有“违法所得五千元以上的”等情形之一的,即可入罪。


这些情形包括:非法获取、出售或者提供行踪轨迹信息、通信内容、征信信息、财产信息五十条以上的;非法获取、出售或者提供住宿信息、通信记录、健康生理信息、交易信息等其他可能影响人身、财产安全的公民个人信息五百条以上的;违法所得五千元以上的;等。


谷歌 Fuchsia 操作系统抛弃 Linux:具有崭新的 UI


这个叫“Fuchsia”的智能手机操作系统,去年八月份首次出现在谷歌的 Git 代码库中。不过当时还只是一个命令行。现在这个神秘的项目有了一个全新的 UI,下面让我们看看它究竟长什么样。


VS 2017 for Mac 有这些新特性


Visual Studio 2017 for Mac 现已推出。 Visual Studio for Mac 是 Visual Studio 系列的新成员。通过它,macOS 上的开发人员可以使用 Xamarin 和 .NET Core 来构建移动、Web、和云应用,也可以使用 Unity 来开发游戏。


使用 Visual Studio 2017 for Mac 可以开发适用于 Android、macOS、iOS、tvOS、watchOS、Web 和云的应用。 快速编码、轻松调试和诊断、时常测试,并且可以放心地进行发布。 此新版本发布之后,可使用版本控制、更具敏捷性且可高效协作!


Java 9 又要延期?甲骨文撂狠话:强推!


甲骨文公司近日为了延期超过一年的 Java 9 而杠上 IBM 与 Red Hat,甲骨文批评两家公司反对 Java 9 模组化系统的发展,令人失望。两大Java社区成员公开反对新的Java模组化版本计划,可能让已经从2016年延到2017年7月推出的Java 9再度跳票。


不过,甲骨文的Reinhold打算强势推动让新JSR过关。



技术文章



1

后端开发


向 Linus 学习,让代码具有 good taste


在最近关于 Linus Torvalds 的一个采访中,这位 Linux 的创始人,在采访过程中大约 14:20 的时候,提及了关于代码的 “good taste”。good taste?采访者请他展示更多的细节,于是,Linus Torvalds 展示了一张提前准备好的插图。

他展示的是一个代码片段。但这段代码并没有 “good taste”。这是一个具有 “poor taste” 的代码片段,把它作为例子,以提供一些初步的比较。


SSH 协议端口号 22 背后的故事


为什么 SSH(安全终端)的端口号是 22 呢,这不是一个巧合,这其中有个我(Tatu Ylonen,SSH 协议的设计者)未曾诉说的故事。


关于 Linux 进程你所需要知道的一切


在这篇指南中,我们会逐步对进程做基本的了解,然后简要看看如何用特定命令管理 Linux 进程。


MySQL 索引背后的数据结构及算法原理


本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。


算法杂货铺:k均值聚类


本文首先介绍聚类的基础——距离与相异度,然后介绍一种常见的聚类算法——k均值和k中心点聚类,最后会举一个实例:应用聚类方法试图解决一个在体育界大家颇具争议的问题——中国男足近几年在亚洲到底处于几流水平。


以正确的方式开源 Python 项目


大多数Python开发者至少都写过一个像工具、脚本、库或框架等对其他人也有用的工具。我写这篇文章的目的是让现有Python代码的开源过程尽可能清晰和无痛。


用 Python 多线程实现生产者消费者模式


本例通过Python实现了一个简单的生产者消费者模型。Python中的Queue模块已经提供了对线程同步的支持,所以本文并没有涉及锁、同步、死锁等多线程问题。


Java Integer.valueOf(String) 方法之惑


由 Stack Overflow 上的一个问题引出的技术分享。


Java 9 中的 9 个新特性


Java 8 发布三年多之后,即将快到2017年7月下一个版本发布的日期了。 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新。 这里有九个令人兴奋的新功能将与 Java 9 一起发布。



2

Web 前端


2017年前端开发工具趋势


你有两年以上的前端开发经验吗?你会用 Sass 和 Autoprefixer 等高级的CSS辅助技能吗?你的 JavaScript 知识是否融汇贯通,你是否喜欢使用 Gulp , npm 和 jQuery ?如果是这样,根据 Ashley Nolan 的前端问卷调查,你是一个典型的前端开发工程师。


怎么写好组件


我们为什么要写组件呢?这里不细分组件、插件、控件,追究其原因无非让代码,能够复用,追求更快的开发效率。其实还有个重要的原因,项目大了之后,难以维护。这个时候就会把项目中重复的部分抽取出来,形成一个组件。但是组件也会有些’缺点’,文末会讲到。


从输入url到页面展示到底发生了什么


最近刚好也在看http协议相关的东西,所以想对这个话题来个深入的总结,本文的目的是通过输入url之后发生的事情来做知识的总结和扩展。所以文章可能会很杂。


浅谈浏览器http的缓存机制


针对浏览器的http缓存的分析也算是老生常谈了,每隔一段时间就会冒出一篇不错的文章,其原理也是各大公司面试时几乎必考的问题。之所以还写一篇这样的文章,是因为近期都在搞新技术,想“回归”下基础,也希望尽量总结的更详尽些。



3

大数据与机器学习


机器学习自学指南


事实上有许多的途径可以了解机器学习,也有许多的资源例如书籍、公开课等可为所用,一些相关的比赛和工具也是你了解这个领域的好帮手。本文我将围绕这个话题,给出一些总结性的认识,并为你由程序员到机器学习高手的蜕变旅程中提供一些学习指引。


机器学习问题的十个实例


机器学习是什么?这个问题的答案可以参考权威的机器学习定义,但是实际上,机器学习是由它所解决的问题定义的。因此,理解机器学习最好的方式是观察一些实例。


趣文:如何向外行解释机器学习和数据挖掘


有网友在 Quora 上提问:对于那些非计算机科学行业的人,你会如何向他们解释机器学习和数据挖掘? 斯坦福大学的印度学生、机器学习爱好者 Pararth Shah 的回复非常经典,得赞数有 3700+。



4

技术人生


做开源项目的维护者,是怎样一种体验?


热门开源项目的维护者都很不容易的,素不相识的伸手党会因为你没有及时回答问题、没有及时帮他们搜索出他们想要的答案而开骂,开源项目维护者们往往会憋出心理疾病来的。如果你有开源项目,或许已有体会了。


Nolan Lawson 是微软 Edge 浏览器 Web 平台的 PM。参与了多个开源项目,比如:PouchDB、optimize-js 等。做开源项目的维护者,是怎样一种体验?请看他 7 年的切身体会。


程序员在工作时间做私活,是否该开除?


我是一家创业公司的 CTO 和联合创始人,我刚刚发现一个软件工程师每天会占用 2-3 个小时的工作时间做私活。其他工程师也向我抱怨,希望我能对此采取一些行动。我该怎么做?应该开除他吗?


开发者的副项目 ,归公司所有吗?


程序员在非工作时间(比如:晚上或节假日)做的副项目(side project),版权/所有权是不是归雇主所有?如果你恰好也在做副项目,看完 Stack Overflow 创始人 Joel Spolsky 的这篇文章,也许知道该做些什么了。


编程老手的哪些特点,值得新手学习


作为一个经验丰富的程序员,有哪些事情是你希望在一开始编程的时候就知道的?或者换个方式来说,你认为每个新手程序员应该做或者学什么才能让自己的编程水平更好?


浅谈程序员的英语学习


作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪。但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语和数字表达式构成的。英语对于程序员十分重要。我的大学本科全部采用英文教学,工作时也经常会遇到外国人,和他们谈笑风生,本文我就根据自己的经验来说说英语的学习方法。


程序员必备的项目时间估算指南


霍夫斯塔特定律:实际花费的时间总是比预期的要长,即便你考虑到了本条定律。——Douglas Hofstadter


对于工程师而言,把握估算项目所需时间是一段终身的旅程。忽视这个问题,会给你以及与你直接或间接接触的每个人带来困扰。精准把握估算项目所需时间会让你脱颖而出,同事们将会把这些和你的专业精神,稳定性和工作质量相关联。



轻松一刻


趣图:当老板说 1 周就要开发完成并上线后




 技术微周刊简介 



技术微周刊每周发布一期,每期包括和技术相关的重要业界资讯 和 技术文章。周刊的内容甄选自一周的精彩内容,有技术干货、技术动态,也有技术人生,末尾还加了小彩蛋。


如果您觉得有帮助,请置顶和推荐我们给更多技术同仁。


微信号:techweek

长按上图,弹出“识别二维码”后关注



 
技术微周刊 更多文章 有哪些命令行的软件堪称神器?第 4 期技术微周刊出炉了 第 3 期技术微周刊,劳动节聊自动编程 第 2 期技术微周刊,很全面的算法和数据结构知识 第 1 期技术微周刊,又一家公司删生产数据库 第 0 期技术微周刊,从经典的 Linux 命令系列开始
猜您喜欢 做程序员之后才知道的 5 件惊奇事 使用 NodeJS+Express 开发服务端 LR实战-测试终端安全产品 Celebrate Ubuntu手机黑客松-上海站正式开启 焕然一新的DaoCloud