2012年8月12日日曜日

Dropboxのちょっと変わった使い方(メール取得)

Dropboxのちょっと変わった使い方(メール取得)

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。

HDDドライブの使用量をモニタする方法を例として、Dropboxを利用したリモートPCの操作について示したが、ここでは、リモートPCでメールサーバ(受信)にアクセスしてタイトルをリストアップしておき、(手元にある)ローカルPC(またはモバイルデバイス)でその内容を確認する方法について具体例を示す。
準備するものは3つ。
  1. Dropbox内のファイル群
  2. メール取得スクリプト(PHP)。PHP環境のインストールがインストールされていることを前提としている
  3. タスク登録

メールタイトル等を取得するPHPスクリプト例

----
<?php
/* subchk.php : a PHP script for checking subject from an email account
PHPの版数は5.2.5以上を想定
*/
//------------------------------------------------------------------------------
// 初期設定
 mb_internal_encoding("SJIS");
//------------------------------------------------------------------------------
/* POP3 サーバと接続 */
 $mbox = @imap_open("{"."POP3サーバアドレス".":110/pop3}INBOX","POP3アカウント名","POP3パスワード");

 if ($mbox) {
 /* 新着確認 */
 $mboxes = imap_check($mbox);
 $mail_cnt = $mboxes->Nmsgs;
 echo "$mail_cnt 件あります\n";
 /* 1通以上あれば */
 if ($mail_cnt > 0){
   /* 各メールのリストを作成 */
   for ($i = $mail_cnt; $i > 0; $i--){ echo "$i]";
    $head = imap_header($mbox, $i);
    echo mb_decode_mimeheader($head->subject)."\n";
    echo $head->date."\n";
    echo mb_decode_mimeheader($head->fromaddress)."\n\n";
   }
 }
 imap_close($mbox); exit(0);
 }else{ /* 認証の失敗 */
  print("Unable to validate username/password.\n"); exit(1); } ?>
----

メール取得スクリプト(PHP)の更新と保存場所

上記スクリプトをエディタに取り込んでPOP3サーバアドレス、POP3アカウント名、POP3パスワードを自分のメール環境に合わせて変更する。 変更後のスクリプトファイルを例えばsubchk.phpというファイル名にして、Dropbox外の適当な場所に保存する。処理内容(スクリプトコード)を固定して使うこと、アカウント名やパスワードを入れていることからDropboxフォルダの外に保存すべきだ。ここでは、Cドライブ直下に"Bin"というフォルダを作成してその下に保存する。 PHPはリモートPCのみにインストールすればよい。ここではCドライブの直下に”Php”というフォルダを作成してそこにインストールした。環境変数(PATH)は設定してもしなくてもよい。

Dropbox内のファイル群の構成例

管理しやすくするため、リモート操作専用のフォルダ(例えば”CmdViaDropbox”)を作成しDropbox直下に置き、そこに
  • Batchファイル(bat\subchk.bat)。Batchファイルはそうたびたび更新することがないだろうから”bat”フォルダに集めておく。iPad等からの操作時にlockファイルを削除することがあるが、間違えてBatchファイルを消さないようにする対策にもなる
  • 結果出力ファイル(rep_subchk.txt)
  • Lockファイル(subchk.lck)
等を入れておく。

Batchフォルダ内のファイル構成例

Windowsタスクから直接起動されるBatchファイル(Main.bat)の作成例

----
@echo off
REM call bat\RemotePC.bat
call bat\Subchk.bat
REM call bat\Subedit.bat
REM pause
exit
----

メール取得Batchファイル(Subchk.bat)の作成例

----
@echo off
if exist Subchk.lck goto END
echo "CmdViaDropbox" > Subchk.lck
cd c:\bin
C:\php\php.exe -f subchk.php > "C:\Documents and Settings\user\My Documents\Dropbox\CmdViaDropbox\rep_subchk.txt"
REM pause
REM exit
:END
----
これはBatchファイル(MAIN)から起動されるメール取得Batchファイル(Subchk.bat)の作成例である。

起動方法と結果例

手元のデバイス(ローカルPCやiPad、iPhoneなど)のDropboxフォルダを開き(iPadならDropboxアプリを起動)、 CmdViaDropbox\subchk.lck というLockファイルを削除する(iPadのDropboxはファイル編集はできないがファイル削除はできる)。 するとLockファイル削除からタスクの設定時間(ここでは5分毎にMain.batが処理されるようタスク登録されたと仮定)が経過したところで、Main.batを経由してSubchk.batが呼ばれる。Lockファイルが存在しないのでPHPスクリプトのコードが処理されてメールサーバ(POP3)から抽出したタイトルリストが結果ファイル(rep_subchk.txt)に出力される。 タイトルリストの数にもよるが1分から長くて数分で処理が完了するだろうから、上の仮定でいけば6分から8分後には最新のタイトルリストが手元のデバイスで参照できる。なお、Dropboxの同期時間は0として計算していることに注意。回線が細いと当然無視できない時間がかかるだろう 以下は結果ファイルの例
----
65 件あります
65]グーグル参入で活気づく「クラウドストレージ」市場
Tue, 08 May 2012 15:36:36 +0900
ccc@dddddd.com
64]4つの実践演習でチームをまとめるスキルを体得●【リーダー養成プログラム】
Tue, 08 May 2012 15:32:02 +0900
ccc@dddddd.com
63]月間トップはスルガ銀と「SEは正しい」/ITproスマホサイト刷新
Tue, 08 May 2012 15:24:02 +0900
ccc@dddddd.com
----

応用

PhpスクリプトやWindowsアプリを用意してそれらを呼び出すBatchファイルをMain.batに追加するとリモートPCにやらせたいことを拡張できる。 上の例では(ここではコメント(REM)になっているが)
  • リモートPC側からVNCを呼び出す(RemotePC.bat)。VNCアプリと組み合わせて処理する
  • メールの本文をリストアップする(subedit.bat)。Phpスクリプトと組み合わせて処理する
などが実装できる。 以上

「暗記の井戸HD」世界初!?クラウド連動型WEBアプリ 使い方

使い方■

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。
[note] this blog is planed to be moved to other site until end of June. See you in there
  • Inbox
  • ダウンロード
  • 共有
  • プライベート共有
  • 縦横切り替え
  • 隠す/詳細
  • シャッフル
  • ボックス削除
  • 削除
  • 一括追加
  • 移送
  • その他(オプション)











使い方(Inbox)■

ステップ1起動画面から、右上にある「縦横画面切り替え」ボタンをタッチする
ステップ2左上にある「ボックス」ボタンをタッチする
ステップ3「Inbox」右にあるカウンタバブル(最初は0)をタッチする

カウンタバブルが小さくて、手の大きな人には操作が多少難しいかも知れません

ステップ4「Inbox」にダウンロードするサンプルクイズの属性を指定し「更新」ボタンをタッチします(最初のうちは属性にはなにも指定しなくても構いません)
ステップ5「Inbox」をタッチします
ステップ6気に入ったクイズサンプルがあれば各項目の左の画像(ダウンロードの積もり)をタッチします
ステップ7「Inbox」のクイズボックスリストに戻りダウンロードしたクイズを楽しみます

c2011 KrasavKana


■使い方(ダウンロード)■

ステップ1起動画面から、右上にある「縦横画面切り替え」ボタンをタッチする
ステップ2左上にある「ボックス」ボタンをタッチする
ステップ3「Inbox」右にあるカウンタバブル(最初は0)をタッチする

カウンタバブルが小さくて、手の大きな人には操作が多少難しいかも知れません

「Inbox」にダウンロードするサンプルクイズの属性を指定し「更新」ボタンをタッチします(最初のうちは属性にはなにも指定しなくても構いません)
ステップ5「Inbox」をタッチします
ステップ6気に入ったクイズサンプルがあれば各項目の左の画像(ダウンロードの積もり)をタッチします
ステップ7「Inbox」のクイズボックスリストに戻りダウンロードしたクイズを楽しみます


c2011 KrasavKana



■使い方(共有)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3(必要なら)「共有者」「カテゴリ」「タグ」「出典」を記載して「共有」をタッチする

「プライベート」を指定しないと誰からでも見られてしまうので注意

ステップ4ダイアログで「共有」または「キャンセル」をタッチする

c2011 KrasavKana


■使い方(プライベート共有)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3「プライベート」を記載して「共有」をタッチする
「プライベート」を含め全ての属性は日本語が使えます

「プライベート」に記載の文字列を忘れてしまうと再度ダウンロードできなくなります



ステップ4ダイアログで「共有」または「キャンセル」をタッチする

c2011 KrasavKana

■使い方(縦横切り替え)■

ステップ1右上ボタン(3個)の右端にある「縦横切り替え」をタッチする

トグルになっています。ボタンの色は変化しません

縦画面(Portraitモード)のときは画面右下に前後に移動するボタンが現れます

c2011 KrasavKana


■使い方(隠す/詳細)■

ステップ1画面右上辺りにある薄い青の「隠す」ボタンをタッチする

ボタン表示が「隠す」から「詳細」に変わります

アンサー(解答)部分が隠れます。「詳細」ボタンをタッチすると再度現れます

c2011 KrasavKana


■使い方(シャッフル)■

ステップ1クイズボックスをリストから選びタッチする

「Inbox」クイズボックスはシャッフルに対応していません

ステップ2右上ボタン(3個)の左端にある「シャッフル」ボタンをタッチする

「Inbox」の項目を選択しているときは、左右に「いやいや」します

ステップ3クイズの順序がシャッフルされると「シャッフル」ボタンが青く変わります


前と同じ順序にシャッフルすることはできません


ステップ4再度「シャッフル」をタッチすると、ボタンの色が元に戻り、クイズの順序も作成時のそれに戻ります

©2011 KrasavKana

■使い方(ボックス削除)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3「ボックス削除」をタッチする
ステップ4ダイアログで「削除」または「キャンセル」をタッチする



この状態では内部DBから完全削除されていませんので復旧が可能です。復旧したい場合は、「使い方(その他)」を参照してください

ステップ5「完了」をタッチする

©2011 KrasavKana

■使い方(削除)■

ステップ1右上ボタン(3個)の真ん中にある「ゴミ箱」ボタンをタッチする

この状態では内部DBから完全削除されてはいませんので復旧が可能です。復旧したい場合は「使い方(その他)」を参照してください

©2011 KrasavKana

■使い方(一括追加)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3「一括追加」をタッチする
ステップ4下記テキスト形式のテキストデータを貼り付け、「更新」をタッチする

☆テキスト形式

奇数行目に「クイズ(問題)」を、偶数行に「アンサー(解答)」を、それぞれ記述して、2行で1つの「クイズ・アンサー(問題・解答)」を構成します。ただし空行(改行文字のみの行)は読み飛ばします

 (例の始まり)
1 Even how much I love somebody, I'm never try to act in front of him. To let him know what I am is what the relationship is all about. クイズ
2 Paris Hilton アンサー(上の行がクイズとして)
3          ←空行[blank line]
4 But, I don't want easy. Easy doesn't make you glow. クイズ 
5 Madonnnaアンサー(上の行がクイズとして)
(例の終わり)

c2011 KrasavKana

■使い方(移送)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3「移送」をタッチする
ステップ4ダイアログに出てきたデータ(Json形式)を他で使う、または他からGETしたデータでダイアログのデータを書き換えるなどする

Json形式はそれなりに厳密なのでうまく編集しないと受付られなくなります

ステップ5ダイアログの「更新」または「キャンセル」をタッチする

「他で使う」場合はここでは「キャンセル」をタッチ、「他からGETしたデータを使う」場合はここでは「更新」をタッチします


c2011 KrasavKana


■使い方(その他)■


[日本語表示にする] urlに http://krapsiup.com/anh/?lang=ja と入れて起動する

langオプションの省略時は英語表示になっています


[ゴミ箱を空にする] urlに http://krapsiup.com/anh/?empty と入れて起動する

クイズ単体やクイズボックスの削除のとき、内部DB(sqlite3)上では実際削除しているわけではなく、削除のフラグを立てて処理しています。本オプションは、内部DB内で削除フラグのたつデータを(物理的に?)削除します。このとき、ゴミ箱から元に戻すという芸当はできなくなります
[縦長モードで起動する] urlに http://krapsiup.com/anh/?portrait と入れて起動する

iPhoneおよびiPod-touch向けの起動URLにはこのオプションがあらかじめ指定してあります


[アプリケーションキャッシュの強制チェック] urlに http://krapsiup.com/anh/?updatecache と入れて起動する

起動時更新があれば更新するかどうか問い合わせますが、そこで「いいえ」「キャンセル」を選択してしまうと以降新たな更新があるまで問い合わせされなくなることがあるそうです。そうしたときに強制的に更新チェックする場合に本オプションを使用します


[ローカルストレージを削除する] urlに http://krapsiup.com/anh/?c と入れて起動する

Inboxのダウンロード情報等はローカルストレージに保存しています。前回使用時の設定も同時に保存しています。保存したこれらの設定に矛盾があるときなどに本オプションを実施します。通常の使用では必要ありません


[ゴミ箱から復旧する] urlに http://krapsiup.com/anh/?trashon と入れて起動する

本オプションでの起動時、削除された項目は「クイズボックス」のリストおよび「クイズ単体」のリスト上薄い表示で出現します。再度「ボックス削除」「削除」の手順を踏めば「削除」と「復旧」をトグルすることができるようにしています。ただし、「ゴミ箱を空にする」を実行してしまった場合は復旧できません

©2011 KrasavKana

「暗記の井戸HD」世界初!?クラウド連動型WEBアプリ 概要

■「暗記の井戸HD」アプリの簡単な紹介

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。
[note] this blog is planed to be moved to other site until end of June. See you in there

※本WEBアプリは、準ローカルWEBアプリ(一部ネットワークと通信する機能が含まれます)です。本アプリに入力したデータはデバイス内部のDBに格納され(使用者の同意なく自動で)インタネット上に送信される心配はありません。実行コード(HTML、JS、CSS)自体も、初回起動時にWEBページとして取得したあとは個々のデバイスにキャッシュされ、次回以降元のコードに更新がない限り再読込みする必要はありません(更新がなければ再読み込みしてもダウンロードされません)。

バージョンアップの自動チェックは行っておりません。バージョンアップチェックを行いたい場合には、再読込みをお願いします。












暗記の井戸HDは、Android端末向けにリリースしている無料アプリ「暗記の井戸(Ankinoid)」およびiPad,iPhone向けにリリースしているHTML5版無料WEBクリップ「暗記の井戸(Ankinoid)」のHD版です。基本的に1カラムデザインのモバイル向けアプリに比べ、HD版ということで高解像度の画面をフルに活用できるよう工夫しています。HTMLエディタを使って作成すれば文字色やフォントの大きさ等自在なデザインのクイズ(問題)が作成可能です。本マニュアルもそのようにして作成しています。

さらに、本アプリではクラウド上にクイズデータを公開できるようにしました(クイズクラウド)。お友達と試験予想問題を共有したり、世界にひとつしかないクイズを発信したり、できます。自分だけがアクセス可能なようにプライベート公開(クラウド上に公開するが自分しか参照もダウンロードもできないこと)することも可能です。自分や少数の仲間しか知らないプライベートコードを設定しておけば、他からは参照もダウンロードもできなくなります。

国旗の画像は「外務省 国旗」
http://www.mofa.go.jp/mofaj/world/kokki/index.html
を参考にさせていただきました

©2012 KrasavKana


■本アプリの特長

◆特長① スマートフォン用アプリ(Android版「暗記の井戸」、HTML5版「暗記の井戸」)をiPadやPCの大画面を活用できるようにユーザインタフェースを大幅変更しました


・HTML5版にある暗記レベル機能やAndroid版にあるスライドショー機能、およびキーワード検索機能等は実装していません。

・一括追加機能や移送機能(HTML5版のみ)はほぼそのままの形で実装しています。

・デバイス内部のDBはHTML5のものを流用しており、HTML5版をご使用の方は既存のデータをそのまま引き継げます

◆特長② クイズクラウドが利用できます

「クイズクラウド」とは、クラウド上に設置した専用一時保存領域のことです。本アプリでは問題・解答(クイズ)の集合体を「クイズボックス」と呼びます(メールアプリでいうところのメールボックス)。そのひとつとして、「Inbox」というクイズボックスをあらかじめ組み込んでおり、そこからクイズクラウドへアクセスします

クイズクラウドには、クイズボックス単位で、アクセスします。本アプリからは専用apiを通して

[share] 本アプリで作成したクイズボックスの一時保存(プライベート設定が必要)または共有(プライベート設定は不要)。カテゴリやタグの設定も可能

[inbox] 「Inbox」クイズボックスへの「クイズサンプル(後述)」のダウンロード

[dl] 「クイズサンプル」から選択したクイズボックスのダウンロード


が可能です


◆特長③ クイズサンプルが利用できます

クイズサンプルは、クイズクラウド上に共有された複数のクイズボックスからそれぞれランダムに1問ずつ抽出して作ったクイズボックスのことです。カテゴリ名やタグ名などの属性を指定して対象を絞ることもできます。クイズサンプルは本アプリの「Inbox」へダウンロードされます。1問1答のサンプルから気に入った(共有された)クイズボックスがあれば(サンプルではなく全問が入った)クイズボックスを好きなだけダウンロードできます。

◆特長④ 縦長モード(Portrait mode)が利用できます

ワンタッチ(ワンクリック)で切り替えができ、デバイスの画面の大きさや形(横長(Landscape)か)によって使いわけることができます(自動切り替えは実装していません)

©2011 KrasavKana


OS版数、動作確認端末など

版数 20120808JST1818

対象端末 iPhone, iPad, 
iPod-touch, Android等、HTML5対応のsafari系ブラウザ

検査端末 iPod-touch 4G, new iPad, Xperia SO01B (OS 2.1)、Sony Tablet S(OS3.1 16GB)

改版履歴■

版数 20120808JST1818(初版)

■参考にしたページなど

国旗の画像は「外務省 国旗」
http://www.mofa.go.jp/mofaj/world/kokki/index.html
を参考にさせていただきました

©2011 KrasavKana