pandashでRedashのAPIが返す結果をPandasのDataFrameとして取得する

今日はRedash Advent Calendar 2017 17日目ですね。 qiita.com mtomitomi.hatenablog.com 上記の記事ではRedashのAPIとPandasを組み合わせる例が紹介されていますが、私も似たようなことをやっているので、この記事では私が実務で使っている方法についても紹…

SchemaSpyを使ってRedashのテーブル定義確認を捗らせる

Redashのテーブル定義を確認しようとしたとき、 psql コマンドでも十分だけど、何か便利なツールを探してみたらSchemaSpyがよさそうだったのでメモ。 SchemaSpy • Database Documentation Built Easy. ツール自体はJavaで書かれているようだけど、Dockerイメ…

redashmanを使ってRedashのクエリをお手軽にバックアップする

今日はRedash Advent Calendar 16日目ですが、この記事はAdvent Calendarの記事ではありません。 qiita.com 12/16の記事はvankobeさんによる、Redashの結果をGoogleスプレッドシートで扱う事例の記事です。 qiita.com Redashの便利さと、その裏にあるつらみ …

Redashのクエリエディターのテーマを変える

この記事はRedash Advent Calendar 2017の記事ではありません。 qiita.com 9日目の記事は take4_k さんの「RedashのAzure Table StorageのQuery Runnerを作った 」です。この記事を読む前にぜひ読んでください。 take4.hatenablog.com やりたいこと この記事…

Redashで独自のQuery Runnerを作る

この記事はRedash Advent Calendar 2017 8日目の記事です。 qiita.com 独自のQuery Runnerを作る いきなり元ネタを出しますが、Redashの開発者Arikさんによる、以下の投稿を見るとだいたい作り方の雰囲気がわかってきます。 discuss.redash.io 上記の記事を…

RedashのScriptデータソースで独自のデータソースを作成する

この記事は Redash Advent Calendar 2017 5日目の記事です。 qiita.com 昨日はhideji2さんの 「RedashのPythonDataSourceを使ってデータのヘルスチェックをしてみた話」でした。 qiita.com Scriptデータソースとは RedashにはScriptデータソースという、任意…

Redash v3.0.0で追加されるQuery Resultsデータソースについて

この記事は Redash Advent Calendar 2017 1日目の記事です。 qiita.com Query Resultsデータソースとは v3.0.0 で追加されるデータソースで、文字通り「クエリの実行結果」をデータソースとして扱うことができるものです。 有料版ではすでに存在していたもの…

サービスアカウントのJSON鍵ファイルでPythonからGoogleのAPIを使用する

バッチを書くときにサービスアカウントを使う機会が多いのでメモ。 公式ドキュメントではサービスアカウントを使う例が紹介されていないので、Sheets APIのサンプルコードを少し改変してサービスアカウントで認証するようにしてみる。 Python Quickstart | S…

business-rulesを使ってルールエンジンを使った処理を書く

ルールエンジンをPythonで使えると仕事上便利なことがありそうなので調査してみたところ、 business-rules が目的にあっているように思えたので、READMEを読みつつ試してみた。 使ったモジュール Venmoが開発した business-rules を使うことにした。Venmoの…

Pythonでgoogle-cloud-bigqueryを使用してLegacy SQLを実行する

google-cloud-bigquery はデフォルトでStandard SQLを使用することになっているため、Legacy SQLを使用する場合は明示的に指定する必要がある。 github.com さっとソースを読んでみたところ、QueryJobConfigというのを使うといいらしい。 サンプル from goog…

React Nativeで買い物リストアプリを作ってiOS/Androidで動作させた

やりたかったこと React Nativeに入門するも、Hello Worldより先になかなか進まなかったので、小さな物でもいいのである程度使えるアプリを作ってみることにした。 お題としてTODOリストのような一般的な物を作ることにしたため、どう実装するかはさておいて…

Pythonのリストを決まったサイズで分割するときはmore-itertoolsのchunkedを使う

いつも忘れては同じこと調べてるのでメモ。 More Itertools — more-itertools 3.2.0 documentation pipでインストールして $ pip install more-itertools こんな感じで使うと from more_itertools import chunked if __name__ == '__main__': items = range(…

標準入力から受け取った文字列をSlackに通知するhouを作った

ぼんやりとみんGoを眺めていたら、horensoみたいに賢くなくていいから、標準入力をそのままSlackに投げるCLIツールが自分用にあったらいいような気がしてきた。 github.com そこで作ったのがこれ。horenso(報・連・相)でいうところの「報」しかやらないの…

crontabを多少読みやすくするcrontocを作った

個人的に欲しくなったので作った。crontab(CRON TABle)を読むためのツールなので、crontoc(CRON Table Of Contents)という名前。 github.com 導入方法などはREADMEのとおり。 使い方 crontab -lを見やすくするツールなのでどこで動かしてもいいけど、個人的…

PhpSpreadsheetで数値、文字列、金額、日付、画像をシートに書き込むサンプル

せっかくなので昨日書いた記事のPhpSpreadsheet版も書いてみることにした。 PHPExcelからPhpSpreadsheetに乗り換えたいという人なんかほとんど居ないと思うけど、そういうひとにとっては参考になるかもしれない。 ariarijp.hatenablog.com 環境 PHP 7.0.22 P…

PHPExcelで数値、文字列、金額、日付、画像をシートに書き込むサンプル

最近どうもExcelを扱うことが多いので、久しぶりにPHPExcelを触ってみたメモ。 以前PhpSpreadsheetを紹介したけれど、あえてPHPExcelを選んだのは困った時に検索などで情報を得やすいため。 ariarijp.hatenablog.com 環境 PHP 7.0.22 PHPExcel 1.8.1 compose…

Google Spreadsheetからデータを取得してPandasのDataframeに変換する例

最近はPythonを書く機会が多いのでPythonネタをメモ程度に書き留めておきます。 事前準備 データの準備 動作確認用のスプレッドシートを作成し、サービスアカウントで編集できるように権限を設定します。 (GoogleのAPIを使用するためにサービスアカウントを…

React NativeでCrashlyticsを使う手順

簡単だけど記録として残しておくための記事です。 前提 Macを使っている この記事ではiOSアプリについての手順のみ紹介します React Nativeがインストール済みで使ってiOSアプリを作ったことがある HelloWorld程度の知識で十分です 使用したバージョン react…

PHPExcelの後継っぽいPhpSpreadsheetでExcelファイルを読み書きするサンプルコード

PHPでExcel PHPでExcelを操作する。というと「やめておけ」という言葉の次に上がってくる有名なライブラリは、PHPExcelではないかと思います。 github.com 溜まりに溜まったIssuesとPull Requestsの数を見ると不安な気持ちになってしまいますが、後継のライ…

PHPCompatibilityを実行するためのDockerイメージを作った

PHP5からPHP7への移行を検討するとき、この記事を思い出してPHPCompatibilityを使ってみたところ、結構便利そうだった。 kakakakakku.hatenablog.com で、ちょっと導入が面倒な気がしたので、Dockerイメージに無理やり押し込んでみたのがこちら。 https://hu…

PHP BLT #6 でPHPのパフォーマンスモニタリングについてLTした

ちょっと前の話になってしまいますが、2/22にメルカリさんで開催されたPHP BLT #6に参加しました。 phpblt.connpass.com 発表内容 php-profiler-extensionとElasticsearch/Kibanaを使用したパフォーマンスモニタリングの試行について発表しました。 speakerd…

Mackerel Meetup #9でPHPerとしてLTしてきました

LT枠が空いていて、会社からも近かったので参加してきました。 mackerelio.connpass.com 参加レポートはこちらの記事を読んでいただくのがよいと思います。さすがの当日投稿でした。 cross-black777.hatenablog.com そんななかで、年始に時間が空いてたとき…

使っていないAndroid SDKを削除してディスク容量を空ける

妙にホームディレクトリーのファイルサイズが大きいので調べたら、Android SDKが結構大きかった。 $ du -hs ~/Library/Android 42G /Users/ariarijp/Library/Android 仕事でAndroidアプリを書くような人でなければ古いSDKは必要な時に入れればいいと思ったの…

PhantomCSSを使ってページ内の特定のDOM要素のみを画像として保存する

仕事でちょっとした便利ツールを作る機会があったので、ページ内の特定のDOM要素のみを画像として保存する方法を調べました。 PhantomJSやCasperJSは多少使ったことがあったので、PhantomCSSというのを使ってみることにしました。 github.com これはおそらく…

2016年まとめ

Twitter見てたら書きたくなったので今年も書いてみることにした。去年はこんなの書いてた。 ariarijp.hatenablog.com 今年も残りわずかだし、ゆっくりしたいのでざっくり書くことにする。 仕事 2015年1月に現職に就いてから、ずっとFacebook広告のツールを作…

ASUSのNAS AS-202TEでPrometheusを動かす

だいたいこの記事を参考にした。DigitalOceanはサービスもさることながら、こういった記事を公開してくれるので好き。 www.digitalocean.com AS-202TEにPrometheusを導入する それ以前にAS-202TEにSSH接続できるようにする必要があるけど割愛。妙なことをし…

mackerel-client-goを使ったBotを作る

この記事はMackerel Advent Calendar 2016 9日目の記事です。去年も参加していたので2年連続の参加になりました。 qiita.com 前日はt_mrtさんの「Synology DiskStation DS215j に mackerel-agent をインストールしてディスクの様子を監視する」でした。 blog…

re:dashのQuery Snippetsについて

re:dash Advent Calendar 2016 2日目の記事です。 qiita.com Query Snippetsとは 0.12で追加されたre:dashの新機能で、よくあるSQLを文字通りスニペットとして登録することができ、クエリエディター上でSQLを書く際に、特定のキーワードに反応してスニペット…

supersetをVagrantで起動する

iktakahiro.hatenablog.com 週末にこの記事を読んでsupersetを試してみたくなったので、Vagrantで起動できるようにしてみました。 supersetのお試し環境構築 · GitHub VagrantfileでShell Provisioningしている環境構築手順は、ほぼ公式ドキュメントのインス…

FullPageOSでRaspberry Piをキオスク端末にする

なぜか家に2つも転がっているRaspberry PI 2を見て、ふと思い立ったのでキオスク端末にしてみました。あまり使わないけれど、Raspberry Pi 3がなんとなく欲しいです。 Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing …