_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
◇ 新緑の季節ですね ・・・・・・ 第722
☆モバイルオフィスの作り方 ★
Vol.0722
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
□ Androidタブレット
□ 楽しいサボのプログラミング講座ーその9
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ Androidタブレット
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
前回はChromeBookを買って、連休などのお出かけのお供にして緊急対応用のサテ
ライトオフィスにするか・・・と検討した話題でした。
でも方針を変えたのです。
◇ Androidタブレット
ChromeBookを買おうと思ってあれこれと調べていたのですが、どこのメーカー
のものがよいか見当がつきません。
サムスンやレノボのものがメジャーなようなのですが、デリケートなリモート
アクセスをするPCに中国製や韓国製のものはちょっとな・・・と思ったのです。
台湾のAsusあたりで良いものはないかと調べていたのですが、ふとAndroidタ
ブレットに目がとまりました。
そうか・・・この手もあったのだ!と思って、自身のシャープのAndroidーOne
のスマホでChoromeを起動して、リモートデスクトップを試したところ、問題
なく稼働するようです。
お値段は3万円弱で、ChromeBookよりかなり割安です。
探したらスマホと同じシャープのAQUOSのAndroidタブレットがありました。
◇ Androidタブレットを購入する
早速Androidタブレットとキーボードを購入しました。
操作はスマホと同じですから慣れたものです。
https://jp.sharp/products/sht01/
法人専用のタブレットだそうで、使ってみたところかなり高速です。
なぜ高速だと分かるかというと、大好きな囲碁ゲームをしてみたからです。
https://sdin.jp/browser/board/igo/
この囲碁ゲームはHTML5謹製で、特にFireFoxと相性がよくて、サテライトオ
フィスの高速Win10のダイナブックでほぼ毎日楽しんでいますからその速度が
よくわかっています。
それに比べてAndroidタブレットのFireFoxでゲームをしたのですがそれほど遜
色がありません。
(ちなみにスマホでやると、最初の1手目でなんでそんなに考え込む?と言う
速度です)
早速、ChromeやFireFoxをインストールし、OutLookはWeb版のOutLook.comにLo
ginしてショートカットを作りました。
(マナベはOffice365を借りているのでWEBにさえアクセスすればどこからでも
メールチェックが出来る。ただしAndroid用のOutLookはイマイチなので・・・)
ショートカットを作ってしまったらほとんどアプリと変わりません。
ExcelもAndroid用をもらってきました。
◇ 肝心のリモートデスクトップ
さて肝心のリモートデスクトップですが、Chromeをセットアップしたら問題な
く稼働しました。
これで出先でも自分のサテライトオフィスのダイナブックに接続でき、出先で
もほとんどオフィスと同じ環境です。
でもマウスがいる!
スタイラスペンも買ってペンタッチも出来ますが(もちろん指でもよい)、リ
モートデスクトップではマウスカーソルをスワイプで移動させ、クリックしな
いといけないのです。
囲碁でもスタイラスペンで目的の箇所にクリックするのはちょっと緊張します。
大事な局面で隣をクリックしてしまうのです。
マウスはまず座標を決めて、それからクリックなのでタッチより正確なようで
す。
早速Bluetoothのマウスを購入しました。
イヤーその快適なこと!
わずか3万円ちょっとの出費でどこからでもサテライトオフィスの強力なダイ
ナブックを使えるのですから・・・
◇ 会社のオフィスでも
さて、そうなると会社のオフィスに出社するときにもこの高速なサテライトオ
フィスのダイナブックを使えばよいのでは??と思いつきました。
会社にはそれほど早くはないけれどたくさんのPCがいます。
ここでChoromeリモートデスクトップを起動して、サテライトオフィスに接続
して仕事が出来るじゃん!と思って試したのです。
ところが問題はキーボードです。
私はサテライトオフィスのダイナブックに英語キーボードをつけています。
Infarex K20というとても打ち心地のよいメカニカルキーボードで、本来は
ゲーミングキーボードなのですが英語キーボードのせいか6,000円ほどなので
す。
キーボードを扱っている量販店でキーボードを探すと、2000円前後から2万円
ほどまでとてもたくさんのキーボードがあるのですが、打ち心地のよいキー
ボードはもれなくゲーム用です。
お値段も大抵1万円以上します。
ところがこのInfarex K20は私の好みの深いストロークとメカニカルなキーに
もかかわらず6,000円代で購入できます。
そうだ、会社用に1台買おう・・・と考えてソフマップに出かけました。
◇ 半導体不足で入荷は未定
ところが信じがたいことに世界的な半導体不足でこのキーボードは品切れで、
入荷予定を尋ねたところ、未定・・・とのことです。
世界的な半導体不足は知っていましたが、まさかキーボードが入手できなくな
るとは・・・
それでも諦めきれずにネット検索したところ、楽天やアマゾンで在庫があると
のことなのでアマゾンで注文しました。
お値段は5,000円台の後半でした。
それにしてもニュースでは聞いていましたが、本当に半導体不足なのですね
・・・
戦争のせいもあるのかも知れませんが世界中で半導体が不足しており、電気代も
ガソリン代も高騰するようです。
少しでも省エネを心がけたソフトウェアー作りに励もうと思う次第です。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ 楽しいサボのプログラミング講座ーその9
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
前回は一般の配列変数を使ってHTMLのキーの移動をご説明しました。
配列変数は単にキーの移動などと言うような機能の他に、データベースからデー
タをもらってきて、Ctrl(10)で区切って行にし、さらに各行を”,”で区切って
項目を取得するといった際にも使うとても重要な機能です。
今回は同じ配列ですがキーバリュー型の配列の説明をします。
◇ キーバリュー配列の使いどころ
例えばあるコードに対応する商品を高速で検索したいとかいった場合には一般
の配列の場合には全部をLoopで探さないといけないのでちょっと不向きです。
3番目にヒットするかも知れませんが15000番目かも知れません。
キーの移動のようにせいぜい数十個程度ならこれでもよいのですが、数万とか
数十万の商品マスターや顧客マスターのコードに対応させるには一般配列は速
度が不十分です。
そこで登場するのがキーバリュー型配列です。
サンプルでは452行目からキーバリュー型の配列に商品マスターを格納してい
ます。
https://speedserve.sakura.ne.jp/MovileOffice/Sample2.html
キーバリュー型配列は連想配列ともいって、1個のキーに1つの値を格納しま
す。
例えばItemListと言う名前の配列を作ります。(446行目)
var ItemList = {};
というのはキーバリュー型の配列変数を作っています。
ここで大切なことは各functionの中ではなく、それ以外の場所で配列変数の宣
言をしていることです。
JavaScriptではfunctionの中で変数を宣言するとLocal変数になってそのfunct
ion以外では使えません。
商品マスターはどこで使うか分からないのでGlobal型(プログラム全体で使え
る)にしておかないといけません。
他にもfunctionの中で宣言しても先頭のvarを省略したらGlobal型になりま
す。
これは変数のスコープ(適用範囲)と言ってかなり重要な概念です。
var ItemList = {};をvar ItemList = [];と書いたら一般の配列の宣言です。
ちょっとだけの差なので注意しましょう。
◇ キーバリュー型の特性
キーバリュー型は宣言すると0個の要素が生まれます。
一般の配列と違ってSplit関数では内容を格納できませんから(方法はあるが私
は使わない)1個づつ格納していきます。
ItemList["8111"] = "売上高";
ItemList["8211"] = "仕入高";
といった感じでキーになる文字列(この場合は科目コード)を記述し、右に対応
する商品や科目を記入します。
この場合、同じキーを間違えて2個記入したらどうなるか・・・・
後の記述で上書きされます。
キーバリュー型の変数のキーは必ず無重複でないといけないし、自然とそうな
ります。
したがって勘定元帳の日付のように同じキーが複数登場する場合には使えませ
ん。
ほぼマスター系の表引きに使う配列変数です。
でもこれが強力で・・・・
◇ 使い方
すでにキーバリュー型の配列変数(ItemList)にキーとデータが格納されている
として、例えそれが数十万とか数百万個あったとしても以下のプログラムで一
瞬で検索します。
var CuItem = ItemList[CuCode];
この場合、CuCodeにはユーザーが入力したコードが格納されています。
例えばCuCodeの内容が”8111”だとしたらCuItemには"売上高"という文字列が
返されます。
今回のように数個から十数個の勘定科目の場合にはそれほどありがたくないの
ですが、数が増えるととても重要な機能です。
プログラムの起動時にマスターから取得した例えば顧客マスターなどの値を
キーバリュー型配列に格納しておけばユーザーコードを入力した瞬間に顧客名
他の情報を取得出来ます。
この場合、顧客名や住所、郵便番号などの情報はCSV形式の文字列として取得
してからsplitでばらして配列にしてもよいですし、キーバリュー型の配列に
格納する段階でばらして配列変数として格納することも出来ます。
どちらの方法を使ってもコードを入力すると一瞬で検索できます。
業務システムではコードを入力して商品や顧客、勘定科目を取得することは処
理の基本ですからとても心強い機能ですね。
◇ よい教材
YouTubeを見ているとJavaScriptの開設の講座がありました。
ちょっと理屈っぽいのですが以下の講座は初心者の皆さんは是非ご覧ください。
”JavaScript超入門コース 合併版【JavaScriptの超基本的な部分をたった1時
間で学べます】【プログラミング初心者向け入門講座】”
https://www.youtube.com/watch?v=gs0l4rsQCGM
HTMLとの関係の説明がないことと後半でややどうでもよいクラスやインスタン
スの説明がありますが、VsCodeエディターのインストール方法や説明に必要な
Node.jsのセットアップ方法など、初心者が躓くところを丁寧に説明していま
す。
それとプログラミングは・・・・
・ 順次処理
・ 条件分岐(If)
・ 繰返処理(Loop)
の組み合わせだという基本概念をきっちりと説明しておられます。
私の講座は基本的に業務システムに特化していますから順番も含めて大雑把で
すが、このYouTubeの解説は基礎をしっかり説明したよい講座だと思います。
次回はプログラムをいかにシンプルに作るかという超根源的な説明を予定してい
ます。
━━━━━━━━━━━━━━━━━━━━━━