是不是每天都在面对繁杂无比的业务代码,是时候出来走走,舒缓一下心情,浏览一下外面最前沿的技术趋势。

1. 容器安全

现在越来越多的应用是使用容器(Docker)进行部署在生产环境,容器由于比虚拟机更加轻量便捷,及其容易扩展的特点广受大家喜爱。于此同时,容器的安全问题也受到越来越多人的关注。

一种行之有效的做法就是在 CI/CD 的过程中对容器进行安全扫描。

trivy:容器漏洞扫描程序

trivy 是一个容器漏洞扫描工具,它可以检测出容器的操作系统以及应用所用依赖的漏洞和瑕疵,提早在生产环境中发现潜在的安全问题。

安装方法可以参考文章底部的链接,在安装完成后,其检查容器的命令是非常简单明了的。

1
2
# 推荐不要检查使用 latest 标签的容器
trivy [YOUR_IMAGE_NAME]

容器的二进制鉴证

除了容器的漏洞需要提防,容器有没有被篡改过也是一件值得关注的安全问题。

Google Cloud Binary Authorization 提供了二进制授权,只允许签名被认可的容器被部署。但其与特定云厂商绑定,不太适合所有的场景。

in-toto 用来保证软件生产环节中的安全性;Docker NotaryDocker Trusted Registry 是其他的选择。

2. 基础设施即代码的流水线

现在环境的生成(使用如 Terraform, CloudFormation 自动生成云环境),服务的配置使用脚本(如 Ansible playbook)进行生成。通过对上述基础即代码的项目 CI/CD 的成功简历,可以在每次修改配置时提早发现此次修改变更的错误以及可靠性。相信在未来的一段时间里会受到越来越多人的关注。

3. JVM 框架

由于 Oracle GraalVM 的横空出世,其支持多种编程语言,启动速度更快以及更少的内存占用,也催化了一些优秀的 Java 框架。

Micronaut

Micronaut 是一个 JVM 全栈框架,比较适合构建微服务和无服务应用。由于其使用 Netty,对响应式编程也提供了一流的支持。另外没有使用运行时反射来进行依赖注入,而是在编译是进行依赖注入,因此有了启动快,占用内存少的特点。

此外,Quarkus 是与 Micronaut 类似的 JVM 框架,感兴趣的小伙伴可以去了解一下。

4. 实用工具

本人比较喜欢折腾工具,因为一直认为好的工具可以提高自己的效率,节省不必要的时间开销。下面我就介绍两个在日常使用中频率较高的工具。

Draw.io:画图工具

其实市面上很少有能在三大操作系统(Windows,Linux,macOS)都能运行的画图软件,免费,功能齐全,并提供客户端的画图软件更是少之又少。Draw.io Desktop 是对网页版的封装,完美支持三个操作系统,并支持流程图,UML 等多种图的类型。想要下载请参考 Draw.io Desktop 下载链接

Git Commit 规范软件

Commitizen 是一款对代码提交规范约束的软件。

安装及配置

安装是非常简单的,只要你的电脑有 Node,可以直接安装,不然可以先去安装 Node

1
2
3
npm install -g commitizen
npm install -g cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

使用

1
2
# 提交代码,代替 git commit 的作用
git cz

总结

本人觉得 Commitizen 是比较适合 Node 项目的,如果大家有更好的选择,可以留言告诉我哦。


看完这篇文章,有没有让你对新的技术趋势有所了解呢?如果内容对你有所帮助,请点赞支持哦!

更多精彩内容请关注扫码

KnowledgeCollision 微信公众号

Knowledge Collision 激发思维碰撞,IDEA 丛生