2018年01月22日 星期一 【技术人快报188期】

导读:Linux基金会:未来6个月需要招聘更多开源人才+Facebook将在欧洲开数字培训中心

每日一句

天下事以难而废者十之一,以惰而废者十之九。

早报内容

0.Dice和Linux基金会调查:未来6个月需要招聘更多开源人才

据世界领先的求职网站 Dice 和 Linux 基金会称,“89%的 HR 表示很难找到合适的开源技术人才,58%的表示在未来6个月需要招聘更多的开源专业人才。”

开源已成为主流的软件开发方法。互联网巨头微软也逐渐成为一个开源公司。就在最近几天,微软与红帽达成战略合作,发布了开源的 .NET Core 2.0 编程框架,并将在 Linux 和 Windows 上发布 SQL Server 2017。

1.人类首次!我国完成洲际量子保密信息传送:无法被破解

据科技日报报道, 中科院院士潘建伟教授团队近日成功首次实现洲际量子通信 。

具体来说,北京向维也纳发送了一张大小 5.34KB 的“墨子号”照片,而维也纳则向北京发送了一张大小 4.9KB 的薛定谔照片,使用一段 80Kbit 的量子密钥进行一次性加密。两个地面站之间相距 7600 公里。

资料显示,传统的公钥密码系统依赖特定数学函数的计算难度,但理论上都可以被破解。相反,量子密钥分发是 迄今唯一被严格证明无条件安全的加密方式。

2.chaiOS “文本×××” 可使 macOS 和 iOS 中的 iMessage App 崩溃

研究人员近日发现, macOS 和 iOS 中出现 chaiOS “文本×××” bug,如果发送给其他用户,将导致该用户的 iMessage 应用程序连续循环崩溃。专家表示,这个 bug 影响了macOS High Sierra、iOS 10 到 10.3.3 以及 iOS 11 到 11.2.1 上的 iMessage 应用程序。

目前,这个 bug 主要是用作恶作剧,就像之前的微信发送 15 个句号就能造成卡顿崩溃一样。

3.广东省公安部门 2017 年打击多起网络犯罪案件,侵犯公民信息、******等案件榜上有名

广东省公安厅召开发布会,通报严打整治网络犯罪“安网2017”专项行动全年的战果以及“安网2018”专项行动计划,并公布了2017年度广东公安十大精品网络案件,其中多个案件创造全国第一,比如打掉网络***“黑产圈”排行第一的犯罪团伙“暗夜***小组”。

统计,2017年,广东警方共发起集群战役22次,破获网络犯罪案件4588起,抓获嫌疑人1.2万名,打掉犯罪团伙487个,缴获被泄露、窃取、买卖的公民个人信息7.1亿余条,清缴***病毒程序443个,查获钓鱼网站服务器236台,集群战役次数、规模以及破获案件数量等均创历史新高。

4.Facebook将在欧洲开数字培训中心:两年内培训100万人

北京时间1月22日早间消息,Facebook公司本周一表示,将在欧洲开设三个培训数字技能的新中心,并承诺在未来两年培训一百万人,这是社交媒体巨头向欧洲展示诚意的举措之一。

这家美国公司在隐私和反垄断等问题上一直面临着来自欧洲的监管压力。该公司表示,将在西班牙、波兰和意大利开设三个“社区技能中心”,并通过人工智能(AI)研究设施在法国投资1000万欧元。Facebook还承诺在2020年之前培训一百万人和企业主。

【每日一个知识点】

【每日一个Linux知识点第052期】

问题:进程对应的内存空间中所包含的5种不同的数据区?

答案:代码段:代码段是用来存放可执行文件的操作指令,也就是说是它是可执行程序在内存中的镜像。代码段需要防止在运行时被非法修改,所以只准许读取操作,而不允许写入(修改)操作—它是不可写的。

数据段:数据段用来存放可执行文件中已初始化全局变量,换句话说就是存放程序静态分配的变量和全局变量。

BSS段:BSS段包含了程序中未初始化的全局变量,在内存中bss段全部置零。

堆(heap):堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)。

栈:栈是用户存放程序临时创建的局部变量,也就是说我们函数括弧“{}”中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变量)。除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进后出特点,所以栈特别方便用来保存/恢复调用现场。从这个意义上讲,我们可以把堆栈看成一个寄存、交换临时数据的内存区。

【每日一个Python知识点第053期】

问题:下面代码的输出结果将是什么?

list = ['a', 'b', 'c', 'd', 'e']
print list[10:]

答案:下面的代码将输出[],不会产生IndexError错误。就像所期望的那样,尝试用超出成员的个数的index来获取某个列表的成员。

例如,尝试获取list[10]和之后的成员,会导致IndexError.

然而,尝试获取列表的切片,开始的index超过了成员个数不会产生IndexError,而是仅仅返回一个空列表。

这成为特别让人恶心的疑难杂症,因为运行的时候没有错误产生,导致bug很难被追踪到。

PS:技术人快报由马哥教育Linux学院及马哥教育Python学院提供支持。