ROOTING LAB

ROOTER Engineer Blog

Androidスマホのデータベースはmemento databaseが超便利

memento databaseを趣味で使い始めましたので、そのご報告。

https://lh5.ggpht.com/-SfpAPRb7BFN5MCbJJcP-75cJvPN_5ORfXidz3vAoBxgE3QAT-dS0Nwemeok3r73mgg=w300-rw

▼業務アプリで一番多いのはデータベース

業務用途では結構な数のAccessがある。Macで言えばファイルメーカー。検索→一覧→詳細って流れで情報を整理することが大半なので、スプレッドシートと並んでローカルデータベースってのは多くの現場で使われる。Accessが普及する前は、dbaseとかFoxProとかが、業務アプリを作る人の開発言語のように扱われていた。

スマホになってからのデファクト・スタンダードがない

WordやExcelなどはどんどんスマホに移植されてはいるのだけれど、驚くほどにデータベースのソリューションは後回しになっている。iOSではファイルメーカーが早くから移植されてはいるが、Android版はまだない。Andorid向けでいいのがないかどうか探してみた。

▼mement databaseが今一番よさそう

mement databaseに関しては、Andoriod版のみしか出てないが、触ってみるとアクセスやファイルメーカーに相当する機能プラスアルファは備わっていた。

  • 豊富な型
    ただし利用しているのはテキストと数値が大半。ハイパーリンクくらいは実用的
  • 一覧にどう表示するかの選択
    タイトル(一番大きく)、詳細(左下に小さく)、ステータス(右下に小さく)の3つから選べる。これセンスいい。タイトルがあふれた時には...で省略される。センスいい。
  • GoogleSpreadSheetとの同期
    これにより、データの更新が超便利。データの取り込みはパソコンからってことが可能になる。
  • グループ化
    1カラムしか選べないが、グループ化できるのが便利。エクセルのフィルタを使う用途に近い。
  • フィルタ
    フィルタ条件は保存できるのが便利。

ここまで書いて思ったのは、これPC上でも欲しいくらいだってこと。いわゆるカード型データベースとしてプログラミングなしで、ほとんどのことができる。社内のカタログ系はこれで十分。

▼[テスト]ネタ投稿をいつでも手元で集計

インターネット上にあるデータを集めて、ローカルで集計や並びかえをしたいと言う時にローカルデータベースは便利。そこで、ネタ投稿サイトを手元に置いてみる。今回は書き出し小説大賞を手元で集計をしてみた。

デイリーポータルZの投稿は、#ffffccの黄色い箱に、右下に投稿者のspanタグが存在するので、それをRubyのNokogiriを使って取得。それをCSVに変換して、GoogleSpreadSheetにアップロード。SpreadSheetはSJISCSVを受け付けてくれる。

f:id:rooting-lab:20150322174354p:plain

これができたら、今度は、memento databaseで、新しく「ライブラリ」(テーブルみたいなもの)を作る。ここは面倒だけど、スマホでフィールドを一個一個作っていく。ライブラリができたら、今度は、スプレッドシートと連携させる。フィールド名が一致していれば、自動的に対応が決まる。

f:id:rooting-lab:20150322180408p:plain

とりあえず1カラムだけ作って同期してみるとちゃんと一覧になった。

f:id:rooting-lab:20150322180412p:plain

各フィールドを名前をそろえて全部同期をとると、こんな一覧になる。投稿者名も一覧にだしてみる。メイン、右上、左下、などの配置がフィールド設定画面で調整できる。

f:id:rooting-lab:20150322180415p:plain

グループ化もできるので、投稿者でグループ化すると、自分の投稿だけ見つめていたいということができる。エクセルでいうピボットテーブルみたいな使い方。

f:id:rooting-lab:20150322181514p:plainf:id:rooting-lab:20150322181516p:plain

 

今回は手元で見て楽しい物ということで書き出し小説を題材に選んだが、ネット上のデータはなんでも手元でデータ化できるということがポイント。スマホアプリのようだけどアプリ開発もいらないし、マーケット審査もいらない。実は書き出し小説はこんなことしなくても書籍化されているので、オフラインで十分楽しむことができる。

www.amazon.co.jp

  

▼まだ試してないけど便利そうな機能

  • mement database そのものの共有
    ユーザ登録すればできそう。
    これが上手く使えたら、マーケットプレイスを経由せずにちょっとしたデータベースを配布することができる。業務アプリの配布方法としてはマーケットを経由シたくないことが多いので便利。
  • 計算値フィールド
    カード型データベースでは計算値フィールドが便利。

▼残念なところ

ラベルがすべて英語。読めない英語ではないがちょっととっつきにくい。業務アプリに使うには、やはり日本語ラベルでないと「どっかで拾ってきたアプリ」に見えてしまう。

検索機能は、英語を前提としているので、日本語の場合は分かち書きをしていないと検索できない。つまり、「山本ゆうご」は検索できるが「ゆうご」は検索できない。

逆にSublime Textを非エンジニア用途で褒めてみる

山本ゆうごです。一番使うアプリ「テキストエディタ」について。

▼メモツールとしてのSublime Textが優れている

PCで一番使うのはメモ。議事録をとったり議事録をとったり。あとは議事録をとったり。SublimeTextはプログラミング向けのエディタではあるのだが、エンジニア以外にも便利なはず。

SublimeTextはカスタマイズの記事が多いのだけれど、ここではカスタマイズなしでの挙動を説明しますね。手元のバージョンはOSX向けのBuild3065。つまりSublime Text 3。

▼未保存でアプリを終了しても復帰する

パソコンが安定するとほとんどPCを終了することがない。ところがたまに再起動するとなあると、「『無題3』を保存しますか?」って延々と聞かれる。Sublime Textなら、未保存でもそのまま終了して次回起動した時には、未保存のファイルを再び開いてくれる。超便利。どうせどっかにあとでコピペするのだからファイルに保存しなくてもいいのだ。

▼拡大と縮小も簡単

メモツールということでいえば、SimpleTextというアプリもある。メモに特化しているだけあって、ファイルの保存という概念がなく、クラウド上に履歴付きでファイルを保存してくれる。これはこれで便利なのだけれど、残念ながらテキストエディタとしての機能は少ない。例えばSimpleTextには文字の拡大縮小の機能がない。議事録をプロジェクターに映しながら書くときとかは文字が大きいほうがいい。SublimeTextは他の一般的なツールと同じく、「CTL+」「CTL-」のショートカットで拡大縮小ができる。

オートインデントも議事録である程度の階層構造を記述したいときには必須。

 

▼未保存のファイルでもタブに一行目が表示される

テキストエディタをメモ代わりに使うと「無題」というタブが並びがち。SublimeTexは、タブに一行目が表示されるので、「無題」がタブにいっぱい並ぶということがない。超優しい。

タブの移動も、一般的な「コマンドオプション←→」で移動できる。大量にタブがあるという「散らかったメモ」の状態でも迷うことが少ない。

f:id:rooting-lab:20150225132359p:plain

▼ファイルの保存のデフォルトが優しい

標準では、ファイル名を保存するときには、一行目がファイル名になる。だから、議事録を書くときに一行目に、
「引っ越しプロジェクト議事録2015-02-25」
なんて書いておくと、保存時にはそれがそのまま引き継がれる。紙のメモを取るときと非常に似ている。

ということで、SublimeTextをメモツールとして褒めてみた。

▼ここがヤなところ

褒めてばっかりだけど、やなところもある。特に日本語変換との相性。Google日本語変換では、「CTL M」が確定のショートカット(ATOKやMS−IMEも同様)なのだが、それが効かなくなる。予測変換にフォーカスを移したくてタブキーを押してもそれも効かない。議事録書きツールとして褒めているのに、日本語変換との相性がちょっと悪いというのが辛いところ。原因は日本語変換中にもアプリのショートカットが優先されるから。
だから、アプリ側のショートカットを殺せば解決する。
http://beadored.com/sublime-text-3-suggest-tab/
しかしながら、他のアプリと同様に、変換中は変換へのショートカット、確定したらアプリへのショートカットというのが期待する動きなので、そういうのは本当は改善して欲しいけど、なんとなく今のアーキテクチャだと厳しそう。

あと良く言われるマイナスポイントが、SJISが扱えないとかだけど、メモはたいがいどこかにコピペされるから、ファイルフォーマットはそんなに気にならない。

2015-03-01追記

この記事書いた日に、Mac版のSimpleNoteをアップデートしたら、文字の拡大縮小ができるようになっていました。これだけですが、 SimpleNote最強説がぐっと高まります。

 

IDCFクラウドをゴリゴリに使ってクローラを運用してみた

山本ゆうごです。会社ブログ一個めです。

ルーターはIDCFクラウドを使っています。


IDCFクラウド -使いやすく、パワフル|IDCフロンティア

 

一台ミニマム月額500円というお安い値段ですね。チカッパとかそういうれんたるサーバ並です。

これを実際に業務(大半はクローラー)で使ってみるとどうなるかをお披露目したいと思います。あんまり節約を考えずにさくっと業務に使うと、1月は20万ちょっとのコストでした。

一ヶ月20万円の内訳

  • 仮想マシン ¥46,860
  • IPアドレス ¥5,000
  • ボリューム(ルートディスク・データディスク)¥26,964
  • アーカイブデータ ¥108,714
  • ネットワーク転送 ¥0

CPUスペックは一番下でオッケー

クローラーは相手サーバに負荷をかけないようにsleepを挟むので、実はCPU負荷ってあんまりないんですね。だからCPUは一番下の、light.S1 というタイプを使っています。ちなみに、ちょっとでもグレードを上げると途端に価格が上がってくるので、サーバ分散力がそのまま、コストに跳ね返ってきます。

f:id:rooting-lab:20150214165327p:plain

待ちの発生しないバッチ処理を回すときとかはCPUを上げたりしていたのですが、やっぱり200円と数千円の差は大きいので、簡単に済むのであればチューニングをして、VMコストを抑えるようにしています。highcpu.XL16をほぼ一ヶ月立ち上げっぱなしにしていたのがコストの大半です。

転送料金は気にならない

転送料金はゼロですんでいます。3,240GB/月まで無料なのでその範囲で収まっているんだと思います。Webのサービスを始めるとここの転送量が増えてくるんでしょうけど、大きなデータはCDN配信にするんだと思います。

IPアドレスは一個500円

10個ばかしIPアドレスをもっていますので、月5000円です。不要な時には返せるので、便利です。

意外にデカかったアーカイブ

アーカイブデータに10万円も使っています。IDCFクラウドってコンソールが日本語だってところも手伝って、スナップショットを取るが楽ちんなんですね。

f:id:rooting-lab:20150214170210p:plain

バックアップを戻すのも、ボリュームをアタッチしなおせばいいだけなので、バージョン管理かってくらいにまめにスナップショットをとっていましたが、結構ここがコスト的にでかかったです。スナップショットの数を減らして、バックアップはGoogleCloudStrageにすることにしました。このバックアップ方法ままた別の記事で。

ちなみにアーカイブの料金は、0.06円/GB・H という価格。高くないと思ったけど、数百Gのスナップショットをいっぱい取ると、結構な値段になる。

予算アラートもまぁまぁ便利

スナップショットに意外に金がかかってるのを気付かずに過ごしていたので、それからは予算アラートを使うようにしています。

f:id:rooting-lab:20150214171843p:plain

月初めの一週間くらいでこんだけ超えちゃうとちょっときついよなぁという値段を設定して、様子を見ています。以上を工夫すればもうちょっとケチケチしながら運用できるのではないかと思っています。

 最後に

一台月額500円は本当に安いです。オフィスを結構移動する機会が多いので、30分程度のバッチ処理を自分のノートPCで流すのが実は難しい。その場合には、VM上で処理を流しっぱなしにして、パソコンをパタリと閉じるという仕事のスタイルが確立されてきました。