身為資深碼農,一段時間不寫代碼,
那種無力感難以言表。
既手癢,則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