每月技术提升2017年9月

每月技术追踪

  1. [开发框架]经过4次跳票,历经曲折的 Java 9 正式版终于于9月21日发布了!其核心变化就是引入了一种新的Java编程组件,也就是模块。核心目标是减少Java应用和Java核心运行时环境的大小与复杂性。为了支持模块,引入一种新的模块化JAR文件形式,按照这种形式会在其根目录中包含一个module-info.class文件。另外Java 9使用G1作为默认的垃圾收集器,替代了之前默认使用的Parallel GC。同时Oracle也宣布Java 8会是一个长期支持的发布版本,会一直支持到2022年。
  2. [开发框架]Google 新开源了 C++ 标准库的扩充库 absil,源自 Google 的生产环境,为推广普及这个库Google官方会每周提供一个使用的tips,比如absil将一些必要的字符串特性,如join, split,escape等,引入到C++字符串了。该库的优势在于轻量级,并且各个包的依赖关系不严重。
  3. [前端移动]Facebook在官方网站上正式发布了JavaScript包管理器Yarn 1.0,用于取代原先的NPM方案。GitHub上有175,000个项目在使用Yarn,现在已经成为主流持续集成平台的预安装项,可以支持成千上万个直接或间接的包依赖。
  4. [数据库]微软发布了 SQL Server 2017。这是 SQL Server 历史上首次同时发布 Windows 和 Linux 版,微软还同时发布了能使用 Docker 部署的容器版本。微软是在去年 3 月首次对外宣布了 Linux 版的 SQL Server。将 SQL Server 带到 Linux 平台潜在会影响 Windows Server 市场份额,但微软云端和企业业务执行副总裁 Scott Guthrie 认为,机遇大于风险,许多客户都对 SQL Server 表达过浓厚兴趣,但他们使用的是 Linux 或容器,只支持 Windows 将使得 SQL Server 无法提供给这些客户。SQL Server 2017 的核心功能在 Windows 和 Linux 上保持一致,但有少部分依赖于 Windows 功能的特性没有提供给 Linux。
  5. [大数据]Yahoo(也就是现在的Oath)的大数据处理和服务引擎Vespa正式在GitHub上开源了。Yahoo使用Vespa来处理每日数十亿个用户请求,为用户返回基于数十亿文档得出的搜索结果和推荐内容,并提供定制化内容和广告。
  6. [分布式系统]9月14日,百度正式在GitHub上基于Apache 2.0协议开源了其RPC框架brpc。brpc是一个基于protobuf接口的RPC框架,在百度内部称为“baidu-rpc”,它囊括了百度内部所有RPC协议,并支持多种第三方协议,从目前的性能测试数据来看,brpc的性能领跑于其他同类RPC产品。此前微信也开源了phxrpc并运用在了后续多个开源项目中。
  7. [机器学习]苹果新近发布的iPhone X中面部识别系统背后的技术,其中包括在A11芯片中置入的专用神经网络引擎。面部识别系统通过“TrueDepth”摄像头启动,该摄像头由红外(IR)摄像头、 泛光感性器、前端摄像头和点阵投影器组成。当用户注视iPhone X时,摄像头通过泛光感应器检测用户的面部。“红外摄像头则负责绘制IR图像,点阵投影器发送超过3万的不可视IR点。IR图像和点阵图形被推送到神经网络中用于创建面部的数学模型。其他一些公司也在效仿苹果把机器学习任务运行在终端设备上。中国技术巨头华为公司也把类似的神经处理单元植入Kirin970芯片中,号称其在处理像图像识别等任务上必传统CPU快出20倍之多。谷歌也发布了针对手机做过特定优化的Tensorflow版本Tensorflow Lite。
  8. [安全运维]LinkedIn宣布开源Cruise Control,一个大规模Kafka集群自动化运维工具。用户可以明确指定目标,Cruise Control负责监控有无违反这些目标,分析集群上的现有工作负载,并自动执行管理运维调整分配给集群的资源,以满足那些性能目标。
  9. [圈内八卦]Apache 基金会禁止使用遵循 BSD 许可 + 专利的开源协议的 JAR 包,Facebook本月发言不会对 React 的许可协议做任何修改。 本月WordPress 团队宣称会对已有的基于 React 的项目进行重写。百度也已经要求外部产品线停止使用React / React Native等Facebook下涉及特定专利条款的开源产品。最终Facebook妥协同意将协议转变为MIT协议,并且于9月27日跟React 1.6版本一起更改发布。Facebook旗下存在同样问题的GraphQL框架也改变为OpenSouce AL协议。

chaozh评论:本月技术八卦新闻颇多,苹果如约发布了新一代的全面屏iPhoneX,其对神经网络的底层软硬件支持力度前所未有。Facebook则为我们如何选择开源协议上了生动的一课:最终将React由 BSD 协议改为MIT协议,关键在去掉了Facebook特定的专利条款。本月也发布了很多非常实用的基础组件,无论是C++还是Java乃至前端的JS,都有大的组件方面的推陈出新,值得大家关注学习。

每月开源项目

本月推荐的是PhxQueue,其是微信开源的一款基于 Paxos 协议实现的高可用、高吞吐和高可靠的分布式队列,保证At-Least-Once Delivery, 目前在微信内部广泛支持微信支付、公众平台等多个重要业务,日均入队达千亿,分钟入队峰值达一亿。其设计出发点是高数据可靠性,且不失高可用和高吞吐,同时支持多种常见队列特性。项目地址:https://github.com/Tencent/phxqueue

每月书籍推荐

无,本月适合多学习开源项目和相关文档,比如Google关于C++的官方tips,或是微信对PhxQueue vs Kafka测试数据的各种分析与理解。

提交看法

抢沙发

还没有评论,你可以来抢沙发