Jinja2小结
之前写Python的时候其实有接触过一些jinja2,不过没有怎么用过实际上。毕竟前后端分离之后,这些模板语言在web开发上用处并不大。不过ansible选用了它做渲染模板,所以还是需要深入学习一下。比较蛋疼的是,k8s这边因为都是golang生态,所以用的是go template,那就是另外一套东西了。
之前写Python的时候其实有接触过一些jinja2,不过没有怎么用过实际上。毕竟前后端分离之后,这些模板语言在web开发上用处并不大。不过ansible选用了它做渲染模板,所以还是需要深入学习一下。比较蛋疼的是,k8s这边因为都是golang生态,所以用的是go template,那就是另外一套东西了。
虽然iac(infracture as code)流行以来,新的技术栈层出不穷,但是一般都是面向k8s或者云服务商的。传统的部署还是用ansible这种仅依赖ssh的最简单。
jsonnet最大的问题其实是:它支持的是json,而不是yaml. 其实这也不是什么问题,因为yaml是json的超集,json本身就是一个合法的yaml. 但是写起来需要将原来的yaml转成jsonnet,输出成yaml就更麻烦,需要在外围加上std.YamlManifest(),这种侵入式的设计感觉很蛋疼。
jsonnet这个语言很有意思,它存在的目的就是为了编辑配置。其实使用任何一门带有字符串模板的语言都能完成类似的目的,但是jsonnet的好处是它的封闭性:不要使用额外的依赖完成配置。
最近公司要求后端统一学习前端,乘机复习一下前端知识。上次写前端还是vue1的时候,已经有6、7年没碰前端了吧。
技术是一个圈这句话,在前端身上尤为明显。