身为资深码农,一段时间不写代码,
那种无力感难以言表。
既手痒,则Coding之。
最近随着SRE团队的成长,python作为团队的仅次于Java的核心技能,重要性不言自明。而自己作为管理者和python初级开发能力者只会动动嘴皮子的话,实在感觉有失颜面。给自己定个小目标:升级成python高级开发工程师!
适逢ETS中心敏捷和Jira的推行,大量的看板任务和贴纸卡片满天飞,项目助理各种手写卡片,费时费力费纸(响爷云)。一旦碰到这种情况,作为一个资深码农的第一反应必须是:马上开发一个提高效率的工具!
需求明确:
用Python开发一个Jira看板打印工具
鄙人也是行动派,说干就干。砍材不误磨刀功:代码开整之前,架构师的毛病就犯了。python的环境搭建,libraries管理,ide选择,如何交付都在我的日程里了。
Mac Python的环境搭建
鄙人MBP系统版本Sierra 10.12.6,原本就自带了python 2.7版本。本着就新不就老的原则,决定升级最新的3.6。那么如何卸载老版本安装新版本,或者安装新版本共存老版本呢?
最开始当然是傻不愣登的官网上下了最新的3.6,自己安装,然后修改profile和各种快捷方式。。。那叫一个热闹,最后应该是搞定共存问题了。冷不丁看到一篇文章说乱修改python的配置可能会造成令人恐怖的崩溃发生,这种吓人的把戏我当然不会信,但是一个完美的Python管理平台软件 Anaconda (https://www.anaconda.com/) 进入我的视野。有轮子就坐上去试试绝对没错,总之,anaconda解决了我的python环境搭建、切换和库文件管理,非常完美。具体使用就不展开了,一搜一筐。
IDE 选择
鄙人Java出身,从Eclipse、MyEclipse,直到iIntellij Idea 成为 JetBrains 粉开始,对于他家的产品一直青睐有加(除了收费贵这项!),所以几乎差点就选择了 PyCharm 这款工具。
对于Sublime, Atom装插件的方式开始就放弃了...
BUT,不到最后一刻永远不要把话说死。突然想起N久前某朋友 (二爷是也) 推荐了我一款他称为的“神器”,吹的是天花乱坠,当初没场景也就没上心,现在拿出来看了一下,果然是神器。本着多走多看多试的心态,不能只用一家货,最后拍板用微软家的 Visual Studio Code。你可以说它与 Sublime/Atom 之流有点类似,但是论IDE,微软家的确实值得信赖,无脑用起来先。
Python如何交付部署
这个领域我不专业,但是随便搜搜,神马WSGI, Gunicorn, Tornado眼花缭乱迷人眼。我可没那么多闲工夫去搞一整套交付和部署,直接docker走起。
到官方hub.docker.com上搜一下python镜像,docker pull alpine这个比较小的版本,里面自己把需要的库pip install好,另存为一个新的镜像。这样不管在windows, linux还是mac,docker run 一键搞定,不能再完美!
如有任何这方面的疑问,欢迎后台留言。
docker run -it --rm --name python36-jira -w /usr/src/jira -v "$PWD":/usr/src/jira python36-jira python JiraCard.py ETS- ETS 0901
神转折
全部写完交付后才发现,对于项目经理们来说,Windows装个docker Kitematic仍旧是个挺复杂的任务,比如Win10家庭版没有虚拟化的选项,笔记本配置很低各种卡。
叹一口气,python做个工具果然不太适合非IT人士,不纠结,马上着手做个老本行的 Java 版本,jre + jar 包 + bat脚本就搞定。
Jira敏捷看板卡片打印
这个工具的出发点很简单,我们经常要在迭代计划会上手写一堆贴纸,然后不管使用了Jira还是禅道,都要再同步录进去一遍,劳动力很贵的,不能这么浪费。所以我们决定反其道行之,直接录入Jira,然后使用工具打印出卡片来,这样少一个手写或者同步环节,还是比较节省人力的。
(话说Jira的看板打印功能真的是弱爆了,不然也不会有这一出了...)
代码已经开源在Github上,使用了相对宽松的
Apache License 2.0开源协议。写的仓促,代码质量并不高,必要的时候再重构吧。
https://github.com/NicholasQu/JiraScrumCardsPrinter
贴几张截图:
TinyTools日常小工具合集
写着写着Java Swing又用熟练了,打铁趁手烫,继续做一个小工具集合,目前先实现了一个基于Excel批量发送邮件的模块,Excel一行记录是一封邮件,支持根据列头占位符动态拼装邮件内容,这个试用下来还是很简单的,只要会做Excel,不多说,一并开源。
https://github.com/NicholasQu/TinyTools
截图如下:
写在最后
欢迎新老朋友在Github或后台留言提需求,甚至加入这个开源项目的维护,小工具我想大家肯定有很多想做的,来联系我吧。
END