ようへいの日々精進XP

よかろうもん

python

小ネタ道場一本勝負 〜 date コマンドの出力を ISO 8601 フォーマットにしたい 〜

date コマンドで Mac だと Linux だと Ruby だと Python だと 以上 date コマンドで ISO 8601 フォーマットで出力したい時がたまにあるのでメモっておく。 https://ja.wikipedia.org/wiki/ISO_8601 Mac だと date +%FT%T%z 実行。 $ date +%FT%T%z 2017-06-1…

ワンラインで Unixtime から Datetime に変換したいくさ

はじめに Ruby だと Python だと bash だと 以上 はじめに ぽーんと unixtime を渡されても、これはいったい何時何分なんやって思うことがある。 そんな時にコマンドラインでちゃちゃっと変換出来たらカッコイイかな…ということで… Ruby だと $ ruby -v ruby…

moto で boto3 を使ったツールやライブラリのテストをするぞ(moto チュートリアル 壱)

どうも、モト春樹です moto example リポジトリ チュートリアル環境 ec2.py tests/ec2_test.py setup.py テスト coverage coverage run coverage report coverage html Stand-alone Server Mode Python 以外の言語ライブラリからも利用可能 Stand-alone Serv…

Datadog APM の Python 用クライアント dd-trace-py をざっくりチュートリアルする 〜 botocore 編〜

引き続き ソースコードやドキュメントの端々に botocore とは ということで ddtrace-run x botocore Patch ということで 引き続き github.com を弄っています。 ソースコードやドキュメントの端々に ドキュメント には、以下のように… DATADOG_PATCH_MODULES…

Datadog APM の Python 用クライアント dd-trace-py をざっくりチュートリアルする 〜 ddtrace-run と Patch 編〜

前回は 今回は 試す環境 dd-trace-py 導入 実装 コマンドラインツール 〜 ddtrace-run 〜 ddtrace-run ddtrace-run x sqlite3 Patch スクリプトの修正 Pin で任意のメタデータを付与 ということで 前回は Sinatra でざっくりと Datadog APM サービスを使って…

stream2es で大量データをサクッと Amazon Elasticsearch Service に放り込む 〜 もう bulk API を操作しなくても良いかもしれない 〜

検証の為に 放り込む 放り込む前に csv から json データにする インデックスの作成 ここで真打ち stream2es の登場 ひとまず 以上 stream2es を使えば stream2es ヘルプ 検証の為に 大量データを Amazon Elasticsearch Service に放り込みたいです。 データ…

「Ansible 徹底入門」を読んでる途中だけど Ansible Callback Plugin(CloudWatch Logs にイベントを送信するプラグイン) を作ってみたのメモ

Ansible 徹底入門 燃えてキタ━━━━(゚∀゚)━━━━!! Ansible Plugin について 作った Ansible Plugin デモ デモ環境 プラグインの置き場 Playbook プロビジョニング CloudWatch Logs を確認 実装にあたり ということで Ansible 徹底入門 www.shoeisha.co.jp 自分自身…

「Ansible 徹底入門」を読んでる途中だけど Ansible Module(Datadog のタグを管理するモジュール) を作ってみたのメモ

Ansible 徹底入門 ムラムラ Ansible Module について 作った Ansible Module デモ デモ環境 モジュールの置き場 Playbook プロビジョニング 実装にあたり 参考 Ansible 徹底入門 www.shoeisha.co.jp 自分自身はまだ読んでいる途中ですが、Ansible をこれから…

小ネタ道場一本勝負 〜 Python Logging で CloudWatch Logs にログを送信したいんですけど 〜

たのもう Python の Logging モジュールで CloudWatch Logs にログを転送出来るやつ(ハンドラ)があればいいのになーと思っていたら既に在ったので嬉しかったです。 github.com 一本 watchtower のインストール pip install watchtower サンプル import wat…

フルマラソンは 30 キロからが難しいということを Python + Pandas と Excel で理解する(京都マラソン 2017 の結果を利用して)

フルマラソンは 30 キロからが難しい 解析結果 5KM ラップタイムの遷移で見る 3 時間を切る人と切れない人 平均 上位 10 人 ギリギリサブスリーの 10 人 サブスリーまでもうひと頑張りの 10 人 見解 フルマラソンは 30 キロからが難しい 最初の 5 キロ 10 キ…

Python で JSON データを Google SpreadSheet に突っ込むメモ

以下のような JSON 情報が記録されたオブジェクトがある 以下のようなスクリプトを書いて突っ込む 実行 メモ Google Drive API の認証設定 gspread gspread でデータを挿入 以上 後は… メモでした 以下のような JSON 情報が記録されたオブジェクトがある { "…

2 つの list 型データ(1 つは dict 型を内包している)でフィルタっぽいことをするメモ

参考 やりたいこと こんな感じで 今宵も一献 飲み過ぎに 参考 stackoverflow.com 有難う、Stack Overflow 様様。 やりたいこと 以下のような sake_list という dict 型のデータを内包した list 型データがあるとする。 sake_list=[ {'銘柄': '八海山', '酸度…

短い冬休みに Python で slack ボットを作るぞ(1)

tl;dr 参考 下調べ Real Time Messaging API Python で slack ボット 出来たもの github ひとまず 使い方 準備 設定(setting.toml) 実行 天気 遅延 以上 (memo) python-slackclient で RTM API slack への接続 各 channel を読み取る tl;dr 短い冬休みを利用…

ショロカレ 24 日目 | 初老と Python (4) 〜 JSON モジュール速度比較オリンピック 2016 冬 〜

これは 初老と Python (4) 〜 JSON モジュールオリンピック 2016 冬 〜 JSON モジュールって... 出場選手 第一のコース 第二のコース 第三のコース 競技上の諸注意 OS 環境 Python バージョン サンプルデータ 競技方法 スクリプト 結果 概要 JSON デコード P…

2016 年 12 月 20 日(火)

今年も ダメダメ Python スクリプト 今年も 残すところ 10 日しか無いやんけ。 困ったな。 ダメダメ Python スクリプト 自分で作ったダメダメ Python スクリプトを改修した。 改修にあたって cProfile という標準のプロファイラを使ったけど、関数の呼び出し…

ショロカレ 16 日目 | 初老と Python (3) 〜 俺の雑な Python スクリプトがどれだけ遅いのかを関数毎に計測する 〜

これは 初老丸アドベントカレンダー 16 日目の記事です。 qiita.com ということで、小ネタ大ネタを交えて 12/25 まで張り切っていきましょう。 初老と Python (3) 〜 俺の雑なスクリプトがどれだけ遅いのかを関数毎に計測する 〜 脱・なんとなく遅い 「この…

ショロカレ 11 日目 | 初老と Python(2)〜 dict 型のデータを colletions モジュールで集計する 〜

これは 初老と Python(2) 福岡市の人口 collections モジュール 男女の人口を報告 以上 これは 初老丸アドベントカレンダー 11 日目の記事です。 qiita.com ということで、小ネタ大ネタを交えて 12/25 まで張り切っていきましょう。 初老と Python(2) 福…

ショロカレ 6 日目 | 初老と Python(1)〜 宝塚トップスターが記録された dict 型のデータを特定のキーでグルーピングする 〜

これは 初老と Python 参考 困った、困った、こまどり姉妹 itertools.groupby トップスター達を上司の報告 以上 これは 初老丸アドベントカレンダー 6 日目の記事です。 qiita.com ということで、小ネタ大ネタを交えて 12/25 まで張り切っていきましょう。 …

Datadog でオリジナルなデータを飛ばす Agent Check の雛形あきこ

tl;dr 参考 Datadog でオリジナルなデータを飛ばす Agent Check の雛形 概要 チェックスクリプト チェックスクリプトの設定ファイル 以上 tl;dr 何度か書いているかもしれないけど。 参考 Agent Checkの書き方 DogStatsD を使った、メトリクスの送信 Datadog…

Boto3 から DynamoDB の各種操作メモ(テーブル一覧取得、データ追加、データ取得、データ更新)

こちらからの転載。 やりたいこと Boto3 を利用して以下のような DynamoDB の各種操作を行いたい。 テーブル作成 テーブル一覧を取得 テーブルにデータを追加(put_item) テーブルからデータを全件取得(scan) テーブルのデータを取得(query) テーブルのデ…

flask で fitbit で収集した心拍数を Mackerel に送るサンプル

tl;dr memo 処理の流れ ざっくりとした使い方 しばらく放置しておくと... 以上 fitbit の残念だったところ fitbit の良かったところ tl;dr 昨日貼った flask で fitbit で収集した心拍数を Mackerel に送るサンプルを少し改善してみた。 github.com memo 処…

2016 年 10 月 30 日(日)

ジョギングと日課 flask で fitbit で収集した心拍数を Mackerel に送るサンプル かぼちゃのスープ 豆苗 ジョギングと日課 香椎浜 x 2 日課((腕立て x 30、腹筋 x 30、左足つま先スクワット x 30、左足スクワット x 30) x 3) 足底筋の痛みだけに絞られてき…

Amazon Aurora のスロークエリログを logstash を使って Amazon ES に放り込む

tl;dr Amazon Aurora のスロークエリログを Logstash を使って Amazon ES に放り込みたい サーバーレスでやりたい場合には Lambda を利用する方法が既に紹介されている 今回はあえて logstash を使う メモ 参考 https://blog.theprogrammer.in/2014/11/aws-r…

pip install --target オプションがエラーになって泣きそうになったメモ

tl;dr どうしたのか エラー 対処 うーん tl;dr pip install -r requirements.txt --target . ってしたらエラーになって詰んでしまったのでメモ。 どうしたのか エラー ウオ... Exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist…

ラムダこりゃ外伝 - Lambda ファンクションから IAM role の AWS クレデンシャル情報を取得する for Python

tl;dr どうするのか 参考 環境変数から取得する 実行してみると... Amazon Elasticsearch に接続する例 以上 tl;dr Lambda ファンクションから IAM role の AWS クレデンシャル情報を取得したい どうするのか 参考 qiita.com ありがとうございます!!mm 環…

2016 年 10 月 15 日(土)

早起きし過ぎた Python3 エンジニア認定基礎ベータ試験 MCP 70-533 ジョギング 香椎花火大会 何もやる気が起きない 香椎のそこヂカラ 早起きし過ぎた 4 時半に目が覚めた Python3 エンジニア認定基礎ベータ試験 補欠だけど申し込んでみた。 pythonic-exam.co…

2016 年 10 月 14 日(金)

動的なメソッド生成 boto3 奥さん職場で吠える 夕飯 Azure AD とアプリケーションの連携 動的なメソッド生成 ド素人ながら Python でメソッドを動的に生成したいなと思って色々と調べている。ちゃんと手を動かせていないけど調べてみると面白そうだ。 boto3 …

2016 年 10 月 04 日(火)

朝のジョギング 暑い Elasticsearch Datadog の dogstatd 俺のカレー 朝のジョギング 香椎浜 2 周 やっぱり左太腿痛い 腕立て(30)、腹筋(20) x 3 セット 暑い 10 月なのに蒸し暑い... 汗だくで作業 Elasticsearch 繰り返しになるけど複数ノードでの運用が幸…

2016 年 10 月 03 日(月)

ジョギング 10 月なのに Elasticsearch Python 配列の比較(差分が欲しい) 俺のカレー ジョギング 香椎浜 2 周 左太ももは相変わらず違和感、めっちゃキツかった 10 月なのに 日中はエアコンが必要なくらい暑かった Elasticsearch 色々と弄る機会を頂いてい…

2016 年 10 月 02 日(日)

久しぶりに 奥さんは 久しぶりに(2) イオンモール香椎浜 Azure Service Bus の Queue を触ってみた Azure キューと Service Bus キュー Python でちょこっと 俺のカレー 久しぶりに 雨が降っていない朝。洗濯物が捗る。 奥さんは 中洲の美容院に朝早く出か…

Flask のエラーハンドラメモ

tl;dr 参考 memo エラーハンドラ サンプル 少し詳しく(1) 少し詳しく(2) 以上 tl;dr Flask で簡単なアプリケーションを書く機会を頂いたので試行錯誤しながら書いていますが、特にエラーハンドラが心地よかったのでメモしておきます。 参考 カスタムエラ…

IAM Role を付与した EC2 インスタンスから Amazon ES にアクセスするメモ(Python 版)

tl;dr Amazon ES のアクセス制御を IP だけでしかやったことなかったので、実運用を考慮すると IAM role で制御する場合の方法を模索してみました。 参考 http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-createupdatedom…

Python boto3 で認証情報を指定するメモ

ども、かっぱです。ぼちぼちやってます。 tl;dr 適切な IAM Role が適用されていない環境で boto3 を使う際に避けては通れない(はず)の認証情報を指定する方法をメモっておく。 尚、ソースコード内に認証情報を書くのはよろしく無いので、あくまでも検証、…

Python logger の Slack Handler を試す(Incoming Webhook 編)

tl;dr Python スクリプトで logger を使って吐いているログを Slack に通知したいと思ったのでメモ。 memo 色々ある Slack にメッセージを飛ばすモジュールは色々あるけど、Slack API を生で叩くモジュールが多い印象。logger のハンドラとして利用出来て、…

シェルスクリプト と Ruby と Python で ctrl + c を捕捉するメモ

ども、ハゲです。 tl;dr ループさせているスクリプトを ctrl + c を押して止めたことを捕捉したいと思って調べたメモ。 メモ シェルスクリプト ver #!/bin/sh trap 'echo "trapped."; exit 0' INT echo "停止したいは ctrl + c を押して下さい" while : do d…

Python スクリプトから Windows Server のイベントログにログを送る雑なメモ

ども、初老丸です。 tl;dr Windows Server 上で Python スクリプトを動かしておいて、ログはイベントビューワーで見たいなって思ったので試してみました。ちなみに、Python と Windows のイベントログに関する知識はほぼ 0 な状態で書く記事なので誤り等あれ…

自分で作った Python スクリプトを Windows Server にサーヴィスとして登録するショートコント(1)

ども、「ブログはショートコント」だが持論の初老丸です。 ショートコント... Python スクリプトを Windows Server でサーヴィスとして動かしたい。 起 まずは コントは起承転結で。 ひとまず、自分で作った Python スクリプトを Windows Server でサーヴィ…

watchmedo が便利だと思ったのでメモ

ども、初老丸です。 tl;dr Python で watchdog というモジュールが個人的にホットでこのモジュールを使って、ファイル作成を検知したら任意のアクションを起こすツールをサクッと作ってみたりしたが、よくよく調べてみると watchdog に同梱されている watchm…

(ショロカレ 10 日目)S3 Event notification → Lamda → Amazon ES に挫折したので SQS → Amazon ES にしたメモ

ということで、これは「初老丸の独り Advent calendar 2015」の十日目の記事です。 tl;dr S3 で動かしている静的サイトの access_log を S3 Event notification → SQS → Amazon ES という流れで可視化してみようと思ったのでメモ。本当は SQS ではなくて Lam…

(ショロカレ 9 日目)Docker コンテナ内でちょっとしたアプリを立ち上げるのに Supervisord を使う

だいぶん体調が戻ってきたのでショロカレを続ける...ということで、これは「初老丸の独り Advent calendar 2015」の九日目の記事です。 tl;dr Docker コンテナ内でちょっとしたアプリ(スクリプト)を立ちあげたかったので、以下の記事を参考に Supervisord …

(超メモ)Python とか Ruby でターミナルのテキストに色を付ける

tl;dr オレオレテストスクリプトを作っていて OK ならば緑色や青色、 NG であれば赤色のテキストで出力したいと思って調べたメモ。 参考 unicode - Print in terminal with colors using Python? - Stack Overflow colors - Colorized Ruby output - Stack O…

(超メモ)初老が考えた Datadog を使った ログ監視 2 パターン

おはげようございます。 tl;dr Datadog でログ監視(ログの中から特定のパターンにマッチしたら何らかのアクションを行う)の方法を模索していて以下の 2 つのパターンを考えたのでメモ。 Datadog の Agent Check で監視する Fluentd を利用する アプリケー…

(超メモ)Ruby と Python で TCP Server サンプル

tl;dr ちょっとした動作確認とかで TCP Server が必要な時に使いたいので、参考サイトを見よう見まねで Echo サーバーっぽいのを写経した。 github.com Python de TCP Server 参考 http://docs.python.jp/2/library/socketserver.html http://qiita.com/pons…

(超メモ)Datadog の HTTP や TCP コネクションチェックのインターバル設定

tl;dr Datadog で HTTP や TCP のコネクションチェックを行うことが出来るけど、Agent Check が HTTP エンドポイントや TCP ポートへの接続を試行する間隔を指定出来ないのかなって調べたら、以下のように言及されていたので実際に調べてみた。 help.datadog…

(超メモ)私的な Datadog の Agent Check の書き方

超メモ。 Agent Check のポイント(ドキュメントより抜粋) 参考 http://docs.datadoghq.com/ja/guides/agent_checks/ 概要 Datadog Agent のプラグインという位置づけ Python で実装する デフォルトで 15 秒間隔(メインチェックの実行ループに組み込まれて…

(超メモ)fabric で ssh の config ファイルを指定する、利用する

おはげようございます。 tl;dr fabric で何がしたかったか? ssh の config ファイルに定義したホスト名を利用したい ついでに ssh の config ファイルのデフォルト(.ssh/config)以外を利用したい 参考 http://fabric-ja.readthedocs.org/ja/latest/usage/…

(超メモ)CloudWatch Logs Subscriptions → Lambda → Twitter メモ

超メモシリーズ。 何がしたいのか? CloudWatch Logs Subscriptions でフィルタされたレコードを Lambda で Twitter に呟かせたい。 メモ Lambda にはどのような状態でレコードが入ってくるのか? CloudWatch Logs Subscriptions でフィルタされたレコードは…

(超メモ)Python で Base64 と gzip で固められたデータを復元するメモ(CloudWatch Logs Subscriptions で Kinesis ストリームに入ったレコードを復元する)

何がしたいの? CloudWatch Logs Subscriptions で Kinesis に入ったレコードを取得すると以下のように gzip で固められて Base64 でエンコードされたデータになっている。 H4sIAAAAAAAAAJ2RTY+CMBCG/wrpXgXb0lLgZrJqTPbjoDdjTJWJNlIgpega43/fAbMfpz3sqZN3Ju…

ラムダこりゃ(Amazon Lambda チュートリアル 5)〜 Lambda と Python と Datadog で簡易 HTTP モニターを作る 〜

Lambda の Scheduled Handler と Python の組み合わせが地味に楽しいかっぱです。 tl;dr ラムダこりゃシリーズ 5 回目になるので、何か役に立ちそうなことをしてみたいということで Lambda + Python + Datadog で簡易 HTTP モニターを作ってみた。 どんなも…

Python で HTTP アクセスのレスポンスタイムを知る方法

tl;dr Python で HTTP アクセスのレスポンスタイムを知る方法が気になったので調べたメモ。 参考 http://stackoverflow.com/questions/11159687/meassure-website-load-time-with-python-requests http://docs.python-requests.org/en/latest/api/?highlight…