软件周刊(01.15 — 01.21):Debian GNU/Linux 8.7 稳定版发布,安全性增强;SpringSide 归来,有性能的基础库;Kotlin 1.1 Beta 发布,正式版还会远吗?IntelliJ IDEA 2017.1 EAP 发布,改进对 Spring 的支持
Debian GNU/Linux 8.7 稳定版发布
安全性增强
Debian 8(代号 jessie)发布了第七次更新。这次更新主要将安全问题的更正添加到稳定版本,以及对严重问题的一些调整。作为 “Jessie” 分支的最后一个版本,它为自 Debian GNU/Linux 8.6 从去年 9 月中以来发现的所有问题打上了补丁,并且对几十处组件和应用程序进行了更新。其中涵盖了超过 170 项 bug 修复和安全更新。经常从 security.debian.org 安装更新的用户不必更新许多软件包,并且大多数来自 security.debian.org 的更新都包含在本次更新中。新版本会更加稳定、安全、可靠。
时隔半年,Docker 发布重大版本 1.13.0
2016 年 7 月 29 日发布的 1.12 到现在的 1.13,已经过去 5 个多月了,来看看 1.13 新增了什么内容吧。1.13 有一千四百多个 issue/pull request,五千多个 commits,是 Docker 历史上最高的发布版本。这并不是一个简单的小版本变化,里面有大量的更新,涉及到网络、插件、移除掉的 API & 客户端、运行时、安全性以及依赖等。下面是 TOP 10 新增功能:
正式支持服务栈: docker stack
正式支持插件:docker plugin
添加在 Swarm 集群环境下对密码、密钥管理的 secret 管理服务:docker secret
增加 docker system 命令
可以直接使用 docker-compose.yml 进行服务部署
添加 docker service 滚动升级出故障后回滚的功能
增加强制再发布选项 docker service update –force
允许 docker service create 映射宿主端口,而不是边界负载均衡网络端口
允许 docker run 连入指定的 swarm mode 的 overlay 网络
解决中国 GFW 墙掉 docker-engine apt/yum 源的问题
Kotlin 1.1 Beta 发布,正式版还会远吗?
Kotlin 1.1 的最大更新是完全支持对 JavaScript 的编译,以及在 JVM, Android 和 JavaScript 上支持协程(Coroutines)。下面将给出一些更多的细节,它们不是 1.1 中唯一令人兴奋的更新。更多语言改进和新功能即将推出(详情请参阅 What’s new 页面):
好久不见,
SpringSide 归来,有性能的基础库
这次复活的是 SpringSide-Utils 模块,把在唯品会两年的实践抽取出来,做一个大大大的公共类库。一边封装 Guava 和 Apache Common Lang,一边参考移植各门各派的精华:
框架/容器随身自带:Spring,Netty,Tomcat,Jetty,ElasticSearch
专门的类库:Jodd, Apache Common IO,Common Collections,JCTool,OpenHFT,AndroidUtilCode
大厂的开源类库:Facebook JCommon,twitter commons,linkedin-utils
内库中包含了文本、数字、日期、并发、集合、文件、反射、安全等方面的内容,还有不能落下的性能,性能,性能。新库的设计目标,是把最佳实践都封装起来,让大家使用类库时,默认就获得最优的性能。
IntelliJ IDEA 2017.1 EAP
改进对 Spring 的支持
在该版本中,除了通常的 bug 修复,还带来了一些相当有趣新奇的东西。Docker 插件现在支持 Mac 版的 Docker。对 Windows 的支持依然有一定的限制。
随着对 Spring MVC 路径属性的编码支持,对 Spring 的支持正变得越来越好:
还支持对 Spring 的测试(至 Spring 5.0)和 Spring Boot Testing(测试运行和检查):
最后同样重要的是,已解决在 OS X 上和 Korean, Chinese 以及 Japanese 键盘布局相关的问题
Python 的绘图库 matplotlib 2.0.0 发布
matplotlib 是 Python 最著名的绘图库,提供了一整套和 matlab 相似的命令 API,十分适合交互式地进行制图,还可以方便地将它作为绘图控件,嵌入 GUI 应用程序中。matplotlib 2.0 支持 Python 2.7, 和 3.4+,部分更新如下:
Screwdriver 的一些关键设计功能帮助 Yahoo 实现了大规模持续交付能力。从宏观看,这些关键设计是:
为了确保主干是可交付的,在 PR 中启用代码的功能测试。在内部,这是一个配置管道,动态分配计算资源,部署代码和运行测试。这些测试包括使用 Selenium 等工具的 Web 测试。这些动态分配的资源也可在 PR 构建之后的一段时间内也照常使用,从而让工程师与系统交互,并以可视化的方式检查其变化。