Python模板引擎Jinja2使用简介
背景
最近在项目开发中,需要针对 Jenkins 项目进行配置,Jenkins 的 job 配置采用的是 xml,在维护配置模板的过程中就遇到了问题,因为逐步发现配置灵活性超出了字符串的范畴,本文旨在简单介绍 Python 下模板引擎模块 Jinja2 的使用。
什么是 Jinja2?
Jinja2 是一个 Python 的功能齐全的模板引擎。它有完整的 unicode 支持,一个可选的集成沙箱执行环境,被广泛使用,以 BSD 许可证授权。
以上是官方说明,简单来说,它提供了替换功能(变量替换)和一些强大的特性(控制流、继承等),可以快速生成数据文件,使得业务与数据分离开来,满足一些灵活多变的配置需求。
如何取消 UIView 动画?
最近项目中有一个需求是需要手动点击相机对焦,这里由于相机对焦部分需要一个类似于系统对焦框一样的缩放动画,同时动画时长为0.3秒,因此这里就有一个很普遍的需求,如果用户在0.3秒内继续点击对焦会怎么样?
动画部分代码很简单,如下:
1 | self.transform = CGAffineTransformMakeScale(2.0f, 2.0f); |
对焦框在0.3秒内进行两倍缩小到正常尺寸的一个动画,之后隐藏。
跨平台书签同步:Xmarks
Xmarks简介
Xmarks 是一款浏览器书签同步工具,它可以实现不同设备,不同浏览器之间的书签同步,并且是免费的。
有人会说,我们为什么需要一款专门的书签同步工具呢?Safari 自带的 iCloud 书签同步,Chrome 自带的同步设置不都是挺好用的吗? 我个人选择 Xmarks 的原因是,经常需要在 Mac 机器和 Windows 机器之间进行切换,Safari 当然是挺好用的,但是 Windows 下没得用,切换到 Windows 机器只能选择使用 Chrome 或者 Firefox, 就存在书签同步的需求了。当然你也可以说每个平台都是用 Firefox 或者 Chrome 即可,但就我个人而言,这两款浏览器在 Mac 下的便捷性目前看来还是比不上 Safari 的。