【VSCode】デバッグ用の引数を設定する

なんかたまに忘れるので俺用にメモ。公式のドキュメントに書いてあるとおり、.vscode フォルダの下にある launch.json ファイルを開いて、「args」という属性を追加してやる。

"version": "0.2.0",
"configurations": [
    {
        "name": "Python",
        "type": "python",
        "request": "launch",
        "stopOnEntry": true,
        "program": "${file}",
        "debugOptions": [
            "WaitOnAbnormalExit",
            "WaitOnNormalExit",
            "RedirectOutput"
        ],
        "args":["arg1", "arg2"]
    },

たとえばPythonの開発環境入れてたらこんな感じの場所があるので、「args」に引数をぶちこむ。

# coding: UTF-8 
import sys

param = sys.argv

print(param[1])
print(param[2])

こんなコードを実行してみると、「arg1」「arg2」が出力される。以上!

【Python】Pillowで画像にテキストを描き込む

定期的に配信してる画像に、文字列を描き込む必要がでてきた。なんか楽にやれる方法ねえかなーって所で調べてみたら、Pythonとかで画像処理ができるライブラリが色々とあるらしい。OpenCVが有名だし楽しそうではあったんだけど、導入手順がめんどそうだったので今回はPillowってのでやってみる事にした。
続きを読む 【Python】Pillowで画像にテキストを描き込む

【python】selenium + chromeでスクリーンショットを撮影する

Kibanaを使い始めたはいいんだけど、毎週そのグラフを画像化して所定の場所に置く必要に迫られた。愚直に作業手順を考えてみると、WEBブラウザ開いて、ウインドウのサイズをいい感じに調整して、Alt+Printscreenして、mspaint開いてCtrl+Vで貼り付け、Ctrl+Sで所定の場所にpngで保存…とか地味にめんどくさい作業だ。といったところで、そんな作業はJenkin寿司に任せちゃいたいよね。

そこで色々とGoogle先生に調べてもらったところ、「selenium」なるものを使えばプログラムからWEBブラウザを意のままに操れて、スクリーンショットまで撮れちゃうらしいパねえ!seleniumを操れる環境は色々あるらしいんだが、マイフェイバリット言語であるpython3でやってみる事にした。ちなみに俺の試したアレは、以下のとおり。
 

OS Windows7 64bit
Python 3.4
Selenium 3.6.0
ChromeDriver 2.33

続きを読む 【python】selenium + chromeでスクリーンショットを撮影する

Redmineのチケット量をグラフ化したい(第四回)

前回までのところで、Elasticsearchにデータぶちこんで、Kibanaで表示できる所まで行けた。今回は、Redmineから終わってないチケットを取ってきて、それをElasticsearchにぶちこむ、という流れをスクリプトで作ってみたい。手段はなんでもいいとは思うのだが、俺が大好きなPython3でやってみようと思う。
続きを読む Redmineのチケット量をグラフ化したい(第四回)

Redmineのチケット量をグラフ化したい(第三回)

さて、前回ようやくデータベース的なものにデータがぶちこめそうな事は分かった。今回は、KibanaでElasticsearchに入ってるデータを可視化してみよう。
続きを読む Redmineのチケット量をグラフ化したい(第三回)

Redmineのチケット量をグラフ化したい(第ニ回)

第一回目では、ElasticsearchとKibanaについては導入できたつもりだ。まずは可視化うんぬんの前に、どうやってデータベースにデータをぶち込むかってのが今回のテーマ。まだRedmineのレの字も出てこないが、まあなんとかなるでしょ。
続きを読む Redmineのチケット量をグラフ化したい(第ニ回)

Redmineのチケット量をグラフ化したい(第一回)

Redmineを使って、チケット量を週一ペースで集計してる。しかし、毎週手作業で集計するのは地味に面倒だ。Webブラウザ開いて、Redmineでメンバー全員分の未完了チケット数を表示して、それをExcelに入力してグラフ化を作って公開する、という作業がどうにも面倒。そんなものはさっさと自動化してしまいたい。

なんかRedmineのプラグイン探してもイマイチだし、なんかいい手段ねえかなぁ…とモヤモヤしながらCEDECに参加したわけだが、「龍が如く」のセッションで「ElasticsearchとKibanaで捗るぞい」という話を聞いたので、早速試してみることにした。Fluentdも面白そうなんだけど、今回ガチもんのログ収集じゃないからひとまず置いとこう。サーバ環境がWindowsという縛りがあるので、情報をかき集めながらなんとか頑張ってみた。
続きを読む Redmineのチケット量をグラフ化したい(第一回)

【Jenkins】ジョブにパラメータをつける

そこら辺のサイトでさんざっぱら情報転がってるが、自分なりにメモ。Jenkinsのジョブでgitのリポジトリを監視してpythonスクリプトを走らせてるのだが、今までmasterブランチのpushをトリガに走らせてたやつを、別ブランチのpushでも走らせる必要が出てきた。あと、厄介なことに別ブランチ用に特別な処理があったりもする。しかし、大半の処理はmasterと同じなので、うまいことスクリプトを使いまわせないかなぁ・・・という所で色々調べてたどり着いたのが、ジョブのパラメータ化だ。
続きを読む 【Jenkins】ジョブにパラメータをつける

【Git】タグを無理やり移動させる

git tag -a unko -m "うんこ"

あんまりない状況だと思うが、こんな感じでタグをとりあえず付けといたけど、
のっぴきならねえ事情でそいつを移動させたい場合、

git tag -fa unko

移動させたい場所にcheckoutして、–force(-f)すればいいらしいぞ。力こそパワー!

【Python3】正規表現でデータ抽出

ちょいちょいやってる気がするのだが、ちょいちょい忘れるのでメモっとく。とはいっても、なんか具体的なお題が無いと書けないので、テキトーなスクリプトをサンプルで組んでみたゾ。
続きを読む 【Python3】正規表現でデータ抽出