_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

◇ 毎日強力伝で疲労困憊 ・・・・・・ 第730
☆モバイルオフィスの作り方 ★
Vol.0730

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

□ OneDriveいいやん!
□ 楽しいサボのプログラミング講座ーその17

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ OneDriveいいやん!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
私ごとで恐縮ですが、タマちゃんの実家のそばの大阪の堺市の深井というところ
にマンションを借り、神戸と二重生活をしています。
そこでサテライトオフィス(神戸の自宅)ではあるサーバーがなくて、持ち込んだ
PCだけの仕事場を運営し始めました。


◇ ここではOneDriveしかない・・・
神戸のサテライトオフィスには会社のサーバーと同じ内容をDropBoxで同期し
ているサーバーがいて、快適なテレワークをしているのですが、前進基地の堺
のマンションにはPC一台しかありません。

実はこのことも予想していてOneDriveをテストし始めていたのですが、OneDri
veは正解でした。

何度か話題にしましたが私どものサーバーにはファイル数で250万ファイル以
上、容量で1.6Tほどのデータがあります。

これを元はDropBoxでサテライトオフィスと同期していたのですが、あるとき
に"DropBoxやOneDriveの使い方を間違えていないか??”と思い、クライアン
トには実データを持たないOneDriveアプリを試すことにしたのです。
(DropBoxにも同じ機能がありますが、あまり出来がよくないように思います)

そこで元から優秀だと知っていたOneDriveアプリ(64bit)を使いたくて一ヶ月
近くかけてDropBoxのデータ領域からOneDriveのデータ領域にファイルをコ
ピーしてOneDriveサーバーと同期したのです。

堺のマンション(サテライトオフィス2と呼ぼう)に持ち込めるのはPCが一台だ
け・・・、サーバーは持ち込めないのでOneDriveアプリでファイルの一覧だけ
を使える状態でPCのディスク領域は使わない・・・アレです。

◇ OneDriveアプリで容量はゼロ
OneDriveアプリ(64bit)でデータの一覧を取得するのはほぼ1日ですみまし
た。
そして驚いたことに実際のディスク使用量は0バイトなのです。

本当に見えているだけでディスク領域は本当に使わないのです。
さて、問題はここからで、例えばExcelファイルのように単一のファイルを直
接開く場合は問題なく使える(ダブルクリックした瞬間にサーバーからダウン
ロードし、編集後は実態ファイルを数日でサーバーだけに残す)し、コピーや
移動も出来ますので、そこにファイルが存在するのとほぼ同じように使えま
す。

しかし、データベースの場合などはアプリケーションがデータベース本体と複
数の補助ファイルをオープンします。
試したところ、これも問題はなさそうです。
(これはたぶん無理だろうと思っていたのですが各ソフトが必要な段階で順次
ダウンロードして検索などするようです)

◇ データベースは巨大
問題はデータベーステーブルで数Gもあり、ダウンロードするのに数分かかり
ます。いったんダウンロードすると数日は実態ファイルが存在するので高速に
なりますが、また数日後には数分のダウンロード時間がかかるのでよい方法は
無いものか・・・と考えてひらめきました。

OneDriveアプリは基本はディスク領域を節約する(見えているだけの状態)のほ
かにファイル単位で実態ファイルを保持する(このデバイス上で常に保持する)
と言う設定が出来ます。


データベーステーブルやインデックスファイル、その他の補助ファイルをこの
設定にしておくと必要なファイルだけファイルを選択して右クリックし、(こ
のデバイス上で常に保持する)をクリックするとダウンロードが始まり、ファ
イルの状態マークが空白の雲から実態ファイルが常時存在する緑色のチェック
マークに変わりました。

これでこれらのファイルはこのPCに普通に存在する状態になりました。

◇ OneDriveいいやん!
ここまで実験して、OneDriveアプリ(64bit)だけでPC一台で会社のオフィスや
サテライトオフィスと同じように仕事が出来ると確信しました。

先ほど実態ファイルの指定したファイルたちも仕事が一段落したら”空き容量
増やす”に変更したら元の見えてはいるが容量0の状態に戻ります。

”OneDriveいいやん!”と言うのが今の実感です。

私のPCはメモリだけは少し多めに(16G)搭載していますが、それ以外はごく普
通のWin10マシンです。
それが会社のサーバーとOneDriveを経由してほとんどディスク容量を消費せず
に使えることは驚きです。

DropBoxでも似た性能が出そうですが、OneDriveの方が”空き容量増やす”状
態は高速で柔軟です。
何よりOneDriveフォルダーの操作はDropBoxフォルダーの操作よりかなり高速
です。

例えば新しくフォルダーを作る作業ではDropBoxフォルダーでは数十秒かかる
のですが、OneDriveフォルダーでは不通のPCのローカルドライブと同様で一瞬
です。
同期フォルダーを操作していることをまったく忘れるほど快適な操作感です。

ただし気にしていた間接的なファイル操作も必要なファイルだけを実態ファイ
ルとして保持して必要な期間が過ぎたら”空き容量増やす”にすればすみますね。

この点ですがDoropBoxとOneDriveの違いなのですが・・・・

☆ DoropBox
・ オンラインのみにする
まだ実験中だがたぶんローカルPCから見えなくなると思う
・ オフラインアクセスを許可
実態ファイルが存在する
☆ OneDrive
・ 空き容量を増やす(空白の雲マーク)
ローカルPCから操作できるが実態ファイルはない
・ デバイス上で常に保持する(緑のチェックマーク)
実態ファイルが存在する

ドロップボックスのファイル単位の”オンラインのみにする”が実際にローカ
ルPCから見えなくなるのかどうかはまだ実験中なのですが、全般的に見てOneD
riveの方が優れているような気がします。


OneDriveサーバーには実は驚愕の機能もあり、出来たらOneDriveに統一したいと
ころなのですが、クラウドファイルサーバーの二大巨頭を比較し続けたくてしば
らくこの状態を維持するつもりです。

次回はOneDriveサーバーのびっくりするような高機能をちょっとご紹介します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ 楽しいサボのプログラミング講座ーその17
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
今回はLocalStorageです。わずか5Mbytの容量しかありませんが、それでもJavaS
criptで自身のPC内にデータを記録できるたった二つの方法の内の一つで、とっ
てもシンプルで使いやすいものです。

◇ LocalStorageを学ぶ
LocalStorageは極めてシンプルな記憶領域なのですがJavaScriptから自身のPC
にデータを保管するたった二つの方法の内の一つです。
この2個の方法とは・・・・

・ LocalStorage
たった5Mの容量ではありますが使い方はいたって容易!
オリジン(接続先のサーバーと理解するとよい)につき5Mです。
小さな容量ではありますが、とても便利です。
・IndexDB
こちらはかなり本格的なRDBでオラクルさんが提案して仕様を決めたと聞い
ています。
ちょっと癖があって使い方も難しいですが、たぶん容量は無制限で私は数百
万件のデータを格納して運用しましたが、検索やその他の機能に満足しまし
た。

ただし、使ったケースはとても特殊で、一般的には自身のPCに本格的なRDB
を構築することはまずありません。

◇ LocalStorageの使いどころ
例えばあるシステムを使うと決まって、自身の担当者コードやパスワードなど
PC固有の小さなデータを記憶させるのにどうすればよいのか・・・

方法は2つあり、システムにLoginさせたときにサーバー上の自身の情報を読み
取ることとLocalStorageに記憶させることです。

システムにLoginするときに情報を読み出す方法は比較的最近気づいたのです
が、HTML5でプログラムするようになった当初から私はLocalStorageに記憶さ
せるようにしていました。
デスクトップアプリなどでテキストファイルに小さな情報を保存しておくのと
よく似た感覚です。

LocalStorageのコマンドはたった二つ・・・

1. var CuData = localStorage.getItem(キー);
2. localStorage.setItem(キー, 登録内容)

この二つだけです。1.はデータの読込で、キー(文字列)で検索できた内容を変
数に返します。
これは前回のキーバリュー型配列変数と使い方がほぼ同じです。

2.はデータの登録で、キーの後にカンマで区切って登録したい値を格納しま
す。

出来ることはこれだけなのですが・・・・・

◇ 実際の使用例
今回もサンプルプログラムの中に使っているものの説明です。
    https://speedserve.sakura.ne.jp/MovileOffice/Sample2.html

データの登録に使っています。
登録は562行目から始まる登録内容の変数化(\nで区切って複数行を変数に格
納)して593行目に・・・

localStorage.setItem(FileName, SaveData );

としています。
FileNameには"MovileOffice@Data@DenData2.txt"と言うまるでテキストファイ
ルの名称のようなキーを使っていますが、これは単なる文字列で、キーです。


一方、データの読込は608行目で、実際には・・・・

var CuData = localStorage.getItem(FileName);

という一行でCuDataには先ほど登録したデータが呼び出されます。
読み込まれるのは(CuDataの中身は)\nで区切られた文字列で、この文字列を
"\n"で分解して複数行に分解して[PL]にセットします。

とても単純な使い方ですが、伝票で入力して登録した科目別の合計値が[PL]に
記憶されているという仕組みです。

LocalStorageの最大の利点はこのシンプルな構造で、ほぼ唯一JavaScript上で
自身のPCにデータを書き込むことが出来ることです。

いったん書き込んだ内容はブラウザを落としても、PCの電源を落としても記憶
されます。

◇ LocalStrageの内容を管理する
LocalStorageの内容は例えばChromeであれば以下のようにして確認できます。

Chrome→[F12]→[Application]→[Strage]→[Local Strage]

ここでキーの一覧が出てきていて、右にはその格納された値が表示されます。
このキーの部分で削除なども可能です。

今回のサンプルのプログラムでは同じキーに対して何度も上書きするのでたっ
た1個のキーができるだけですが、使い方によっては入力のたびに伝票Noをつ
けることで伝票の訂正も可能でしょう。

遠い昔に(もう40年ほど前に)シャープのポケットコンピュータを使って初めて作
ったプログラムである損益計算書はこれと同じ作りでした。
不揮発メモリの配列変数に科目の残高だけを登録していたのですから・・・
━━━━━━━━━━━━━━━━━━━━━━ 
[モバイルオフィスの作り方]はサボのマナベが日々気づいたこ
とや思ったことをお天気の良い日の縁側に座ってポツリポツリと
お話しするようなマガジンです。
ご意見などもあることと思います。
もしご意見等がありましたらお寄せいただければ随時話題にして
いきたいと思います。
 
 
新規登録・解除はこちら
      ↓
http://sabot.jp/MailMagazine/Merumaga.html
==========================================
★発行責任者:
 (有)ファクトリー・サボ
  真鍋隆彦
 兵庫県神戸市垂水区東舞子町9-9
           マリタイム舞子501号
 Tel:078-787-3602 Fax:078-787-3619
 Mail:manabe@sabot.co.jp
 http://www.sabot.co.jp/
 ☆ソフトウェアーギャラリーに遊びに来てください
  https://secure3552.sakura.ne.jp/sabot.jp/Mitumori/
==========================================
 
◎このメルマガに返信すると発行者さんにメッセージを届けられます
※発行者さんに届く内容は、メッセージ、メールアドレスです
 
◎モバイルオフィスの作り方
  の配信停止はこちら
⇒ https://www.mag2.com/m/0000109792.html?l=ywj17bb991