SlideShare a Scribd company logo
株式会社FLECT
小西俊司
FLECTが作った
Herokuのおまけ
 R&Dとして調査&開発したものを広く世の中に発信する
◦ 特にHeroku
◦ http://oss.flect.co.jp/
で色々と公開中
 個々の技術要素を部品化して再利用可能にする
◦ SQLGrid by jqGrid
◦ SQLGraph by Flotr2(他のグラフライブラリにも差し替え可能)
 Scala(Playframework2.0)の実案件適用の可能性を探る
◦ まだBestPracticeが確立しているとは言い難い
◦ 他のフレームワークを評価するというのもアリ
 SI案件の補助
◦ 表側(商品販売サイト)は人かけて作りこんでいても裏側(売上集
計)は全然間に合ってねー(-- みたいな
◦ 他にもExcelダウンロード、Salesforce同期などが実案件で稼働
中
完成度よりも数を重
視
DataClipの再実装
 パラメータが使えない
◦ 「X月の売上が見る」というクエリーを作成した場合、毎回
WHERE句を書き変えなければならない
 登録したクエリーを整理できない
◦ ソート順のロジック不明
 SELECT結果に長い文字列が含まれていると結果が見にく
い
◦ 単なるTABLEだし
 Past Resultが意味不明
◦ 定期的に自動実行してくれれば良かったんだけど
 重い
◦ 何dyno?
 画面が黒い
◦ のはまだしも背景と同化して文字が読めないのはどうなんよ?
 パラメータが使える
◦ SELECT文中に「:パラメータ名[:データ型]」という形式でパラ
メータが埋め込める
 ツリー構造でクエリーを管理
◦ DynaTree便利
 SELECT結果はjqGridで表示
◦ ページングやカラムのリサイズ、ソートに対応。
◦ ついでにグラフ表示も可能
 定期的にSELECT結果をGoogleSpreadsheetに転記
◦ もっともいまいち使いにくいので仕様から再検討した方が良い
かも
 1dyno
◦ ユーザー数はせいぜい数人の想定なので無料範囲で十分サクサ
ク動きます。
 画面が白い
◦ どうなんよ?
 詳細はマニュアルで
http://furoku-sqltool.herokuapp.com/assets/manual/ja/manual.html
git clone git@github.com:shunjikonishi/sqltool.git
heroku create
git push heroku master
heroku run rake setup
heroku config:set TARGET_DATABASE=<YOUE DATABASE URL>
heroku config:set ALLOWED_IP=xxx.xxx.xxx.xxx
heroku config:set BASIC_AUTHENTICATION=username:password
GoogleSpreadsheet連携する場合にはさらに追加の設定が必要
セキュリティ設
定
必須設定
SQL文の入力エリア
SELECT結果の表示エリア
保存したクエリの管理エリ
ア
 3ペインアプリケーション
CSV, またはExcel形式でのダウンロード ページング
ヘッダクリックでソー
ト
 jqGridを使い倒す(※結構作りこんでます)
 とりあえずflotr2。他のグラフライブラリも評価
したいがあんまり不満が無いので手つかず
SELECT first_name || ‘ ‘ || last_name as name,
math,
english,
japanese,
FROM score_table ORDER BY random() LIMIT 10
デモではランダムソートなので実行毎にグラフが変わる
 Google Spreadsheetをiframeで表示
いまいち使い勝手が悪いんだが
どうすればUXが改善するだろう???(--
 SQL文中に「:xxx」を埋めることでパラメータ
化
日付、数値などの簡単なデータ型指定可能
 グラフライブラリを切り替え可能にする
 グラフのSQL書式改善
◦ 現状積み上げ棒グラフなどでシリーズを作成するSELECT文を
作るのがデータ構造によってはかなり難しくなる(クロス集計
クエリとなる可能性が大)
 パラメータのUI/UX改善
◦ 同じパラメータを複数個所で使用可能にする
 GoogleSpreadsheet連携のUI/UX改善
◦ アイデア募集
など
ただし優先順位はどれも高くないので本当にやるかは不明
 ユーザー管理
◦ やるならOAuth(Heroku or Salesforce)
◦ だけどリリース形態(git cloneしてHerokuにpush)とそ
ぐわないのでやらない
◦ 個人的にはこれがユーザー管理がちゃんとできるアプリ
になるなら金をとって良いと思う。。。のでやらない。
 更新文のサポート
◦ 自由度が高く権限管理もないので危険すぎる
◦ ただし更新も可能な別の管理者ツールは作るかもしれな
い
 このアプリ自体はあくまでR&Dなので部品が拾え
ればOK
 ライブサンプル
http://furoku-sqltool.herokuapp.com/
◦ クエリは自由に編集/保存して構いませんが毎日深夜(日本時
間)にリセットされます。
◦ 普通に他者の編集操作と競合する可能性があるので、怪しいと
思ったらF5(^^;;;
 ソース
https://github.com/shunjikonishi/sqltool
 FLECT OSS Library
http://oss.flect.co.jp/
 FLECTのHeroku開発者絶賛大募集ページ
http://flect.co.jp/recruit/feature/heroku.html

More Related Content

Herokuで使えるRDBMS管理者ツール