2017年06月18日

安心して手軽にボランティア活動ができる &HAND

2017年 6月 15日、LINE、大日本印刷、東京メトロは、障がい者(援助や配慮を必要としている人)とボランティア(そういった人を手助けしたい人)とをつなぐ、チャット ボットを使った「&HAND」の事業化を連携して進めると発表した。

似たようなシステムに東京都が作成した「ヘルプマーク」がある。 赤十字とハートを縦に並べて赤白を反転したマークだ。 ヘルプマークを付けている人に対して、席を譲ったり、状況を把握できていないような人がヘルプマークを提示していたら声をかけたりする、といったきっかけになるマークだ。 しかし、常にヘルプマークを提示することに抵抗がある人もいるだろう。

&HAND は、助けを求めている人と助けたい人の心理的なハードル下げることができる、スマホを活用したシステムだ。 具体的には、LINE Beacon(の &HAND 版)のボタンを押すと、近距離無線通信(Bluetooth)で bot が活動を開始し、bot が近くの &HAND を持っている人の LINE に定型文を送るシステムだ。 なお、LINE Beacon は、&HAND 以外でも使われている。

耳が不自由な人なら、すぐ近くに行かなくても、LINE のトーク(チャット機能)で音声で流れている情報を文字で提供するという活動ができる。 たとえば、電車が緊急停止して止まっているとき、耳が聞こえる人なら、なぜ止まっているかの情報が放送されてイライラや不安を解消できるが、耳が不自由な人にもそういった情報が与えられるというわけだ。 匿名でコミュニケーションをとるため、助けを求めることも助けることも心理的なハードルが低い。

目が不自由な人なら、本当に助けが必要なときだけ LINE Beacon のボタンを押せば、駅員や周りの人にスマートに助けを求められる。 声を出せばいいかもしれないが、もし、周りに人がいないかもしれないことを考えると声を出しづらいのかもしれない。

誰かが助けるだろうという心理や、助けるとプライドを傷つけて逆に怒られるかもしれないという心配から、都会の人は冷たいと思われているが、日本人は優しいと報道されているように、自分に助けを求められたらほとんどの人は助けるものだ。 そんなすれ違いを &HAND が解消してくれるだろう。

ソース
https://japan.cnet.com/article/35102842/
https://www.slideshare.net/atiektakizawa/hand-line-bot-awards-botawards
http://blog.feedmatic.net/entry/2017/01/20/184529
http://www.fukushihoken.metro.tokyo.jp/shougai/shougai_shisaku/helpmark.html

sage_p at 22:51|PermalinkComments(0)TrackBack(0)IT ニュース&コラム 

注目ニュースリンク 6/19

◇ スイッチは使わなくなった。 引っ越して半年の住民が話すIoTスマートハウスの住み心地。
https://japan.cnet.com/article/35102280/
http://n-styles.com/main/archives/2015/01/11-064500.php
… 一括コントロールできることが便利さにつながっているとのこと。

◇ Google、継続的デリバリに対応したデプロイ自動化ツール Spinnaker 1.0 正式リリース。
http://www.publickey1.jp/blog/17/googlespinnaker_10gcegkeawsazureopenstack.html
http://www.nttdata.com/jp/ja/insights/trend_keyword/2013061301.html
… 一部の先行ユーザーに対してだけリリースする「カナリア リリース」などが選べる。

◇ Project Scorpio 改め Xbox One X、11月7日に米国発売 PS4 Pro対抗4Kゲーム機。
http://www.itmedia.co.jp/news/articles/1706/12/news050.html
https://www.youtube.com/watch?v=g-gp-Voq6MQ
… 4K/60FPS という綺麗な画面でゲームができるが、シリアスな洋ゲーしかない。

◇ Qualcommが Snapdragon 835 で動くWindows 10をデモ 実際どんな感じ?
http://www.itmedia.co.jp/news/articles/1706/01/news155.html
https://www.youtube.com/watch?v=VeOQp5V7EgM
… x86 バイナリの 7zip が ARM で動いている。

◇ アマゾン、高級スーパーのWhole Foodsを137億ドルで買収へ。
https://japan.cnet.com/article/35102875/
… AmazonFresh と共存していくのか。

◇ アプリケーションを疎結合化するハブモデル。
http://news.mynavi.jp/series/informatica_dataready/004/
… データの依存関係をスパゲティにしない手法。

sage_p at 22:51|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年06月05日

使っていないソースのセクションをカットする DoTextShrink

vbslib の DoTextShrink コマンドは、テキスト ファイル(C言語のソースなど)から、使っていないセクション(関数など)をカットします。 なお、セクションは、NauralDocs 形式のコメントで区切ります。

vbslib は、以下からダウンロードできます。 Windows 用です。
http://vbslib.osdn.jp/
http://www.sage-p.com/vbslib/vbslib/vbslib.htm
https://github.com/TsNeko/vbslib

使っていない関数をカットする例を示します。 下記のような C言語のソース ファイルがあるとします。

int main()
{
 FuncA();
}

void FuncA()
{
}

void FuncB()
{
}


プログラム(コンソール型のプログラム)は、main 関数から始まるため、main 関数は必ず使われます。 次に、上記の FuncA 関数は、main 関数から呼び出されているので、これも使われています。 しかし、FuncB 関数は、どこからも呼ばれていないので、カットします。 カットしたら、下記のようなファイルになります。

int main()
{
 FuncA();
}

void FuncA()
{
}


ただし、DoTextShrink コマンドは、C言語の構文解析をして、関数をカットしてるわけではありません。 通常、関数(や構造体など)のすぐ上には関数を説明するコメントがあり、カットするなら、そのコメントもカットしなければならないからです。

C言語では、コメントが doxygen 形式になっていることが多いのですが、残念ながら、doxygen 形式では、関数名がコメントに含まれていないため、カットする関数のコメントであるかどうかを判断する情報がなく、カットできません。 そこで、DoTextShrink コマンドでは、NaturalDocs 形式を採用しました。 コメントがどの関数のコメントであるかの情報は勿論ありますが、NaturalDocs は読みやすいという利点もあります。 また、": "+ キーワードで検索することで、定義だけに絞り込んで、検索できるようになりますし、Snap Note の「プログラミング補助機能」で、クリックするだけで、関数定義(のコメント)にジャンプすることができるようになります。

逆に言えば、コメントを NaturalDocs 形式で書かなければなりません。 その手間がありますが、メリットのほうが大きいでしょう。 また、リリース先によっては doxygen 形式が要求されることがあるかもしれません。 そのときは、vbslib の ConvertDocumetCommentFormat コマンドで、NaturalDocs 形式を doxygen 形式に変換します。 変換できるため、マスターは、NaturalDocs 形式だけにしておくとよいでしょう。 (ただし、変換できない形式もあるので、使用する NaturalDocs の形式を限定するなど工夫してください。)

NaturalDocs 形式のコメントがあるソース ファイルをカットした場合、以下のように、FuncB のコメントもカットされます。

/*
* Function: main
*/
int main()
{
 FuncA();
}

/*
* Function: FuncA
*/
void FuncA()
{
}


NaturalDocs 形式は、主に、コメントの中の Keyword: (キーワードとコロン) を手掛かりに解析します。 よって、* を行全体に並べることもできます。

/***********************************************************************
* Function: SampleFunction
************************************************************************/


キーワードは、Function だけでなく、Structure などいろいろあります。 詳しくは、NaturalDocs のホームページを参照してください。

キーワードとコロンの次に、シンボル(関数名や構造体名など)を記述します。このシンボルを DoTextShrink コマンドがリードして、使われていないシンボルなら、そのコメントから次のコメントの先頭までをカットします。 コメントから次のコメントの先頭までを、セクションと呼びます。

使われているかいないかは、セクションの中にシンボルが単語単位・大文字小文字を区別で検索して、見つかったかどうかで判断します。 C言語の構文解析は行いません。

使われているかどうかの関係は、コンソール アプリケーションでは、main 関数をルートとしたツリー構造になっていますが、ライブラリでは main 関数とは限りません。 DoTextShrink コマンドでは、それを考慮して、特定のファイルをルートとして指定します。 指定したソース ファイルに定義されているすべてのシンボルがルート(使われているかどうかの参照元)として扱われます。

このように、使っていない関数をカットすることで、ソース ファイルを減らしたり、実行ファイルのサイズを減らしたりできます。 ただし、実行ファイルのサイズは、リンカーによっては自動的にカットすることができるため、その目的のためだけであれば、DoTextShrink コマンドを使う必要はないかもしれません。

ところで、プログラム ソースの管理の方針によっては、使っていないソース ファイルを削除することが要求されます。 開発しているうちに使われなくなった関数ができることがたまにありますが、そういった関数は余分なので削除しようということです。

しかし、使われていない関数を削除するという一見当たり前と思える方針には、副作用があります。 ライブラリ(バイナリだけでなくソースのライブラリも)では、アプリケーションによって使われれるのは一部の関数だけであることが普通で、だからといって他の関数が不要であるわけではありません。 他のアプリケーションでは使われる可能性があります。 よって(ライブラリからも完全に)削除するわけにはいきいません。 削除するという方針だから素直に削除しようとしてはいけません。 こういった乱暴な方針が、ライブラリという「資産」を増やせなくする要因なのです。

そこで、ライブラリとしての役割をしたソース ファイルをまるごとアプリケーションに追加して開発していき、最終テストをするとき、リリース物を作るときに、DoTextShrink コマンドで不要な関数を自動的にカットします。

sage_p at 00:10|PermalinkComments(0)TrackBack(0)プログラミング 

注目ニュースリンク 6/ 5

◇ グーグル、Chrome に不適切広告のブロック機能を2018年に導入。
https://japan.cnet.com/article/35102147/
https://anagrams.jp/blog/better-ads-standards-starting-in-early-2018/
… 広告の大きさでブロックするのはいいが、内容でブロックされる基準は主観的。

◇ Nintendo Switch向けオンラインサービスは2018年開始に変更。料金プランなどが公開。
https://japan.cnet.com/article/35102171/
… スプラトゥーンやマリオカートなどのオンライン対戦は有料へ。1か月 200円〜300円。

◇ Intel史上もっともパワフルなデスクトップCPU Core i9-7900 シリーズ。
http://pc.watch.impress.co.jp/docs/column/kaigai/1062623.html
… サーバー用の Xeon CPU と同じか。

◇ 米政府、ビザ審査を厳格化へ。SNSのハンドルネームも対象に。
https://japan.cnet.com/article/35102165/
… 法による圧力だが技術的には穴だらけ。 軽犯罪は防げそう。

◇ Googleスプレッドシート、AIでグラフ作成が簡単に。自然言語を理解。
https://japan.cnet.com/article/35102157/
… MS-Office のイルカにならないか。 Google の AI で証明されたのは囲碁しかない。

◇ SketchとFigma、UIデザインの共同作業にはどっちが向いている?
https://www.webprofessional.jp/figma-vs-sketch-who-wins-the-war-on-multiplayer-design/
… 複数の Web デザイナーが同時に編集できる Web デザイン ツール。

◇ Webマーケターのための統計学入門(仮説検定・回帰分析編)がスタート。
https://www.webprofessional.jp/statistics-hypothesis-testing/
… Googleアナリティクスなどでアクセス分析した結果をどう判断したらいいのか。

sage_p at 00:08|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年05月21日

ツイッターの機能にフォーラムの機能を追加したマストドン

2017年 4月、マストドン(Mastodon)というツイッターに似た SNS のサーバーが日本の各所で立ち上がるというブームが発生した。

マストドンの機能はツイッターとほぼ同じだが、ツイッターのようにサーバーが中央集権的ではなく、マストドンは P2Pで分散している。 新しいマストドンのサーバー(インスタンス)を立ち上げるときは、ソフトウエアが GitHub にオープンソースで公開されているので、ハードウェアさえ用意すればできる。

サーバーが分かれていることのメリットは、ツイッター社もしくはその会社があるアメリカの法律の影響を受けずに、ルールを作ることができることだ。

国によっては、タバコを吸うことが悪として広告を禁止したり、エロは規律を乱したり一部の人が不快に思うとして表現を禁止したり、国益に反するとして国の批判を禁止したりする法律があるが、禁止していない国もある。 サーバーが分かれていれば、他国の法律の影響を受けなくしたり、自国の法律に合わせたりすることができる。

また、サーバーは通常コミュニティ(フォーラム)ごとに分かれているので、コミュニティを快適にするためのルールを細かくしても合意を形成しやすいし、コミュニティを乱す人を出禁にしたりすることができる。 いわゆるクソリプの原因の一部を取り除くことができる。 インスタンスの中に入れば共感を得やすい投稿に出会う可能性が高くなり、インスタンスという場所を心地よく感じるだろう。 ちなみに、ツイッターでは、リプライをすべてブロックすることであれば、クソリプも取り除くことができる。

一方で P2P としてネットワークを構成しているので、サーバーをまたいで検索(横断検索)したり、サイトをまたいでユーザーの投稿をフォローしたりすることもできる。 これは、ツイッターと同じだ。

ただし、現在のマストドンは、インスタンスの中の投稿(タイムライン)を自由に見ることができない。 最新のわずかなタイムラインを見ることができるが、それ以上のタイムラインを見るには、いちいちアカウントの登録をしなければならない。 前述のとおりサーバーをまたいだ検索であれば投稿を見ることができるので、投稿自体は閲覧できる状態ではある。

現在、pixiv の pawoo.net、さくらインターネトの mstdn.jp、ニコニコの friends.nico が大きいインスタンスで、それ以外は数千人以下の規模のインスタンスのようだ。 しかし、人数が少ないことは悪いことではない。 ルールを明示しなくてもトラブルが発生しないことが多いし、すべての投稿を見ることができるからだ。 よって、同じテーマのフォーラムでも規模に応じて分けるほうが心地よくなるのかもしれない。

ソース
http://ascii.jp/elem/000/001/465/1465842/
http://k52.org/mastodon/
http://mastodonsearch.jp/
http://dairexia.com/twitter-manner/

sage_p at 23:11|PermalinkComments(0)TrackBack(0)IT ニュース&コラム 

注目ニュースリンク 5/22

◇ Googleの機械学習マシン TPU の第2世代登場。64台グリッドでは11.5PFLOPS。
http://gigazine.net/news/20170518-google-tpu-2nd-gen/
… TFRCに参加すれば、TPU というAI用スーパーコンピューターを利用できる。

◇ WannaCry 騒動とは何だったのか? 感染理由とその対策。
http://www.itmedia.co.jp/news/articles/1705/17/news106.html
… かなりの数の Windows に感染したウィルス。

◇ WannaCry 感染の98%は Windows 7 で XP はほぼゼロ。
http://www.itmedia.co.jp/news/articles/1705/20/news034.html
… 10もほぼゼロ。 やはりウィルス定義を最新に更新しておくことが最も重要。

◇ Windows 10 S 発表。セキュリティや性能重視、教育機関に適した新OS。
https://japan.cnet.com/article/35100695/
… Chrome が使えないのはいいが、Google 検索を選べないのは自殺行為。

◇ ソニー初、Ultra HDブルーレイプレーヤーを発表。4K HDRを高画質再現。
https://japan.cnet.com/article/35100827/
http://kakaku.com/kaden/article/4k-ultra-hd/
… 4K テレビには、Ultra HD ブルーレイ。

◇ MP3は死なず、ただ眠るのみ。特許が切れても寿命は尽きない。
https://japan.cnet.com/article/35101234/
… 特許が切れると普及するものだが。

sage_p at 23:11|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年05月07日

ソース ファイルの一部を隠す CutSharpIf, CutComment

vbslib の CutSharpIf コマンドは、C言語などのソース ファイルに書かれた特定の条件分岐ディレクティブ(#if など)のコードを削除します。 CutComment コマンドは、C言語などのソース ファイルに書かれたコメントを削除します。

vbslib は、以下からダウンロードできます。 Windows 用です。
  http://vbslib.osdn.jp/
  http://www.sage-p.com/vbslib/vbslib/vbslib.htm
  https://github.com/TsNeko/vbslib

条件分岐ディレクティブは、コンパイルしたときに一部のコードだけコンパイルするようなコードに、次のように記述します。

#include <stdio.h>
#define USE_TEST_1

void main()
{
#ifdef USE_TEST_1
  printf( "1\n" ); /* Test */
#else
  printf( "0\n" ); /* Not Test */
#endif
}


上記のコードは、#define USE_TEST_1 の行があると、USE_TEST_1 マクロが定義され、printf( "1\n" ); が有効になり、printf( "0\n" ); が無効になります。 逆に #define USE_TEST_1 の行がなければ、printf( "1\n" ); が無効になり、printf( "0\n" ); が有効になります。 無効になったコードはコンパイルされず、実行ファイルに含まれなくなります。

条件分岐ディレクティブは、たとえば、リリースするコードの一部に、テスト用のコードが含まれるときに使います。 プログラムの提出先によって一部のコードを変更するときにも使います。 こういったコードを公開するとき、テスト用のコードや公開する相手以外のコードは隠したくなるでしょう。 たとえば、USE_TEST_1 を定義したときに有効になるコードを隠したコードは、以下のようになります。

#include <stdio.h>

void main()
{
  printf( "0\n" ); /* Not Test */
}


このコードは、vbslib の CutSharpIf コマンドを使えば、自動的に作られます。

番号またはコマンド >CutSharpIf
#ifdef 〜 #endif をカットします。
変換するソースファイルのパス(★上書きします)>C:\Source.c
#define シンボル >USE_TEST_1

1) 定義されているときのコードを削除する
0) 定義されていないときのコードを削除する
番号を入力してください >1
変換しました。


CutComment コマンドは、C言語などのソース ファイルに書かれたすべてのコメントを削除します。 /* から */ の間と、// から その行末までを、削除します。 コメントだけからなる行は削除され、それより下の行は上に詰められます。 日本語のコメントを英訳する時間がないときや、コメント以外に変更がないことを確認するときに使います。

#include <stdio.h>

void main()
{
  printf( "0\n" );
}


sage_p at 22:33|PermalinkComments(0)TrackBack(0)プログラミング 

注目ニュースリンク 5/ 8

◇ Amazonマーケットプレイスで詐欺業者横行。 商品届かず、個人情報漏れる恐れ。
https://headlines.yahoo.co.jp/hl?a=20170425-00006004-bengocom-soci
… 申告しなくては返金されないが、いつまで実施されるだろうか。

◇ UPQの4K-120Hz液晶、実際は60Hzだった。購入者には2千円の金券で対応。DMMは返金対応。
http://pc.watch.impress.co.jp/docs/news/1056499.html
… 120Hzから 60Hz の差額は2千円どころではない。 DMMの返品・100%返金するのが普通。

◇ アマゾン、生鮮販売開始を正式発表。独自の配送ネットワーク活用。
http://www.sankeibiz.jp/business/news/170421/bsd1704210500009-n1.htm
… 配送料500円が必要になるが、本当に配送業者に全額払われているのか疑問。

◇ 大手企業のBI導入率は8割、利用者は2割未満。 ガートナー調査。
https://japan.zdnet.com/article/35100297/
… フィードバックを集めることが大事。多くは一刀両断されるだろうが。

◇ MS前CEOバルマー氏が立ち上げた USAFacts。 政府機関の財務情報など明らかに。
https://japan.zdnet.com/article/35100154/
… 数字に強いバルマー氏、事実は数字から。

sage_p at 22:33|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年04月23日

iOS アプリ版ツイッターだけが17歳未満で使用禁止になる

2017年 3月 25日、iOS版のツイッター アプリのアップデートがあり 17歳未満は使えなくなった。 今回はわいせつであることを理由に 13歳未満に制限をかける規約をツイッターが制定したが、iOSのペアレンタル コントロールの荒さのせいで12歳未満の次である17歳未満を禁止するという、かなり高い年齢制限になってしまった。 ただし、親が意図的に制限しなければ回避することができるため、大きな問題にはなっていない。

未成年を守るという名目で年齢制限を強める動きがよくあるが、本当にそうであるのか疑問に思うことが多い。 未成年はむしろ、わいせつな内容に興味がある。もしくは興味がない。 拒否反応を示すのは、一部の未成年の女性または年齢を重ねた女性だろう。 そして拒否するということは多様性を認めないことにつながる。 自分の子供とわいせつな話をすることに拒否反応する親も多い。 子供が全然言うことを聞かないから強制したい親も多いだろう。 その結果のような、大人げない対応をしているものばかりだ。 ツイッターに関しては、フォロワーから外すだけで簡単に見ないようにすることができるというのに。

問題があるとすれば、悪意のあるフォロワーからダイレクト メッセージを受け取り、言葉巧みに誘って被害に会ってしまうことだろう。 また、ホームページをクリックして架空請求をされてしまうことも未成年のほうがが多い。 請求された金額を不本意ながらでも支払う能力が未成年にはないので、親が禁止したがるのだろう。

未成年が犯罪に会うことが多い理由はおそらく、誘いに乗ったりクリックしたら危険な目に合うことを察知できないからだろう。 そして、大人数で会うようにするなどの対策を取ることに気が回らないからだろう。 よって対策は教育である。 年齢制限によって見られないようにすることは、そもそも危険に接しないので安全と考えられるが、そのような乱暴な対策は、副作用があるものだ。 回避方法を探ることを通じて危険な行動をしたり、学習する機会を失ってしまうことだ。 完全に遮断してしまったら、情報源となるませた子どもがいなくなってしまうことであり、悪い手口に対抗できない弱い人になってしまう。 よって、危険なことが起きることを教育する画面をスキップできないようにすることを年齢制限にすればよい。

そもそも、iOS のアプリに13歳未満に制限をかけることができれば、ここまで問題は大きくならなかっただろう。 他の SNS アプリや YouTube も 13歳未満を禁止または一部の機能を禁止にしている状況であるのに、アップルは全く改善しようとしない。 アップルのCEOであるティム・クックは、ゲイであることを告白しているが、子供の権利に関しては軽視しているようだ。 マイノリティの味方と思うのは間違いだ。

しかし、回避ができる制限というのは絶妙なバランスになっていると考えることができそうだ。 年齢制限を付けたい人々からのクレームを回避しつつ、それによって被害を受ける人が少ないからだ。 こういったダブル スタンダードの片方を真面目に守っていては副作用が大きいだろう。

ソース
https://japan.cnet.com/article/35098920/
https://news.allabout.co.jp/articles/c/468660/
https://news.allabout.co.jp/articles/o/20683/
https://www.youtube.com/watch?v=GYJEE92J-PI

sage_p at 23:38|PermalinkComments(0)TrackBack(0)IT ニュース&コラム 

注目ニュースリンク 4/24

◇ いま話題の Mastodon って何? 怒濤の1週間を振り返る。
http://www.itmedia.co.jp/news/articles/1704/20/news018.html
https://it.srad.jp/story/17/04/17/0746204/
… 自分もツイッターのサーバーの管理者としてルールを決められる。

◇ テレワーク全面導入の富士通に学ぶワークスタイル変革。
http://www.itmedia.co.jp/business/articles/1703/28/news120.html
… 回数制限がなくなったのが画期的。 疑心暗鬼になるか悪用されると成功しない。

◇ MasterCard、指紋センサを搭載するカードをテスト。
https://japan.cnet.com/article/35100128/
… スキミング対策はあるのだろうか。

◇ 生鮮食品を配達する Amazon Fresh、まもなく日本で開始へ。
http://buzzap.jp/news/20170418-amazon-fresh-japan-2017apr/
… 今のタイミングで開始するのは悪すぎないか。

◇ バーガーキングの新CM、OK Google と呼びかけ商品宣伝。グーグルが無効に。
https://japan.cnet.com/article/35099715/
… Googleの音声認識の宣伝になるけど、特定の顧客だけ有利にできないと判断。

◇ AKG初のLightningコネクタモデル N20LT。
https://japan.cnet.com/article/35099767/
… すぐ USB Type-Cになりそう。

◇ タイプライター風レバーをガチャっとできるBluetoothキーボード PENNA。
https://japan.cnet.com/article/35099727/
… 楽しそうだけど疲れそう。

sage_p at 23:37|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年04月10日

マージがコンフリクトしても自動解決する ThreeWayMerge

vbslib の ThreeWayMerge コマンドは、同じテキスト ファイルをそれぞれの人が編集したことで、それぞれの編集内容が入った2つのファイルを、マージして1つのファイルに結合します。 一般に 3ウェイマージ (3 way merge) と呼ばれている処理です。 また、コンフリクトするようなときでも、設定ファイル作成して指定すれば、自動的にコンフリクトを解決します。


vbslib は、以下からダウンロードできます。 Windows 用です。
http://vbslib.osdn.jp/
http://www.sage-p.com/vbslib/vbslib/vbslib.htm
https://github.com/TsNeko/vbslib

編集前(以後、前)、1つ目の編集後(以後、左)、2つ目の編集後(以後、右)のテキスト ファイルがあったとき、ThreeWayMerge の出力ファイルがどうなるかのサンプルを示します。
(等幅フォントでご覧ください)

前      左      右      出力
-------------------------------------
1 1 1 1
2 LLL 2 LLL
3 2 RRR 2
4 3 3 RRR
5 Both Both 3
LLL 4 4 Both
6 LLL RRR 4
RRR 5 5 <<<<<<< Left.txt
7 6 LLL LLL
Both RRR 6 ||||||| Base.txt
8 7 7 =======
8 8 RRR
>>>>>>> Right.txt
5
6
7
8


左の2行目では、前の 1の行と 2の行の間に LLL を追加しています。
右の3行目では、前の 2の行と 3の行の間に RRR を追加しています。
それらをマージした結果は、1, LLL, 2, RRR, 3 (コンマは改行)になります。

左と右で同じ内容を追加したときは、その追加がされたままになります。
左と右で異なる内容になったとき(コンフリクトしたとき)は、
<<<<<<< Left.txt
(左の内容)
||||||| Base.txt
(前の内容)
=======
(右の内容)
>>>>>>> Right.txt
となります。
左と右で追加したときだけでなく、削除・変更したときでもマージできます。

使うときは、vbslib Prompt.vbs をダブルクリックして、以下のように入力します。

番号またはコマンド >ThreeWayMerge
---------------------------------------------------------------
3ウェイ マージ(3方向マージ)をします。
ベースにするファイル >C:\Base.txt
更新したファイル(左側) >C:\Left.txt
更新したファイル(右側) >C:\Right.txt
マージした結果の出力先ファイル(★上書きします) >C:\_Merged.txt

コンフリクトしたときは、上記のように前・左・右のそれぞれの内容が入りますが、それではマージした結果としては良くありません。 そんなときは、手動でマージすることになります。 出力ファイルを開いて、<<<<<<< などで検索して、編集します。 これは、SubVersion や Git などのバージョン管理ツールを使うときと同じ手順です。

vbslib の ThreeWayMerge コマンドは、さらに一歩進んで、コンフリクトした内容によっては、自動的にコンフリクトを解決できるオプションがあります。

両方並べるオプション(IsOutEach)を設定すると左右で追加した内容を並べます。 左の内容と右の内容に間には空行が入ります。

(左の内容)

(右の内容)

シングルトン キーワード(SingletonKeywords)を設定すると、左右で追加した内容が、その設定に書かれた正規表現にマッチしたときに、右の内容だけ出力します。 プロジェクト名など、1つしか設定できない設定に使います。

(右の内容)

ユニーク ライン キーワード(UniqueLineKeywords)を設定すると、左右で追加した内容が、その設定に書かれた正規表現にマッチしたときに、同じ内容の行が削除されます。 #include など、複数並べても同じ内容を並べないときに使います。 コンフリクトした前後の正規表現にマッチする行も含めて、同じ内容を並べません。

(左の内容)
(右の内容) … 左の内容と異なる場合のみ

マージ テンプレート(MergeTemplate)を設定すると、出力内容を置き換えます。 同じ内容のマージが行われるときに、完全自動化することができるようになります。 置き換える前の内容として設定する内容は、IsOutEach の設定の影響を受けます。

これらの設定は、マージ設定ファイルと呼ばれる XMLファイルに記述して、ThreeWayMerge コマンドの最後にそのパスを指定します。

<ThreeWayMerge>
<IsOutEach>False</IsOutEach>
<SingletonKeywords>#include</SingletonKeywords>
<UniqueLineKeywords>ProjectName=</UniqueLineKeywords>

<ReplaceTemplate before="#Before" after="#After"/>
<Text id="Before" cut_indent="yes"><![CDATA[
<<<<<<< Left.txt
LLL
||||||| Base.txt
=======
RRR
>>>>>>> Right.txt
]]></Text>
<Text id="After" cut_indent="yes"><![CDATA[
Merged!
]]></Text>
</ThreeWayMerge>

sage_p at 00:14|PermalinkComments(0)TrackBack(0)プログラミング 

注目ニュースリンク 4/10

◇ 17歳以下はTwitterが使えなくなる大騒動に見る危険性。
https://japan.cnet.com/article/35098920/
… 海外の大人が勝手に問題にして雑な対策をしたことで、子どもの権利が奪われる。

◇ YouTube、視聴1万回未満のチャンネルは広告禁止。
https://japan.cnet.com/article/35099423/
… 審査プロセスが問題。 国内で問題がないのに海外で問題になる産業が成り立たない。

◇ Google、検索結果のファクトチェックのラベル表示を世界で開始。
http://www.itmedia.co.jp/news/articles/1704/08/news015.html
… トランプ大統領を批判してしまったグーグルでは、そのラベルは信用されない。

◇ まるで武将?Adobeのフォント源ノ明朝。名前の由来は。
http://www.itmedia.co.jp/news/articles/1704/06/news101.html
… 明朝体のフリーフォント源ノ明朝。

◇ 未来を変える眼力。トビーCEOが確信する視線によるインターフェース革命。
https://japan.cnet.com/article/35098765/
… 目線を検知する精度が高いと、いろんなことができてくる。

◇ SIEJA、PlayStation Now for PC のサービスを開始。
https://japan.cnet.com/article/35098446/
… ゲームの著作権を守る仕組みは、本体からクラウドへ。

◇ マイナンバーの本人確認機能、iPhone対応へ。
http://www.itmedia.co.jp/business/articles/1703/29/news081.html
… モバイルSuica と同じようにマイナンバーも iPhone の中へ。

sage_p at 00:13|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年03月27日

あなたの机や壁がタッチパネルになる Xperia Touch

2017年 2月 27日、ソニーは、プロジェクターとモーションセンサー(motion sensor)と Android を組み合わせた、投影型コンピュータ Xperia Touch を発表した。 923グラム。 バッテリーは動画再生で1時間。 値段は1499ユーロ(約18万円)。 ヨーロッパでは同日に先行予約が始まった。

未来的な光景として会議室の机やホワイトボードに向かって多くの人が指で画面を操作するシーンがよく紹介されるが、それは高価なもので場所をとるものなので、個人で買えるものではなかった。 しかし、Xperia Touch でようやく身近なものになりそうだ。

Xperia Touch のプロジェクターの機能は、一般的なプロジェクターと異なり、すぐ下の机に投影される。 投射レンズとほぼ垂直の方向にも投影されるため狭い場所でも使えそうだ。 プロジェクターを斜めにすると画面が台形になるが、それも自動的に補正するので台形になることはない。 明るさは100ルーメンでやや暗め。 ネイティブ解像度は1366 x 768 しかない。

モーションセンサーは、赤外線とカメラを組み合わせることにより毎秒60回検出できる。 タッチは、静電容量式タッチパネルではないので、ストレスがたまる非実用品であることが多いのだが、見た感じではスムーズにできるようだ。 日本で先行発売するとこの批評によって潰されるかもしれない。 発売後には机や壁にタッチしなくても XBOX の Kinect のようにジェスチャーで操作できるようになる。 しかし、今のところ操作性はあまり良くなさそうだ。

Xperia Touch には Android が入っているため、インターネットやアプリがそのまま使える。 わざわざスマホにつながなくてもよい。また、PlayStation 4 リモートプレイも対応しているので、ケーブルを接続しなくても大画面で楽しむことができる。

モーションセンサーの快適さが製品のブレークにかかっていると思う。 ちなみに、Xperia Touch を使うにはそれなりのスペースが必要になるのだが、そのために片づけをするようになるかもしれない。

ソース
http://ascii.jp/elem/000/001/454/1454347/
http://japanese.engadget.com/2017/02/27/ps4-xperia-touch-x-x-andro/
https://www.youtube.com/watch?v=M1wzB9yaymE

sage_p at 01:09|PermalinkComments(0)TrackBack(0)IT ニュース&コラム 

注目ニュースリンク 3/27

◇ 日本社会の効率化が結局、人のがんばりに落ち着く理由。
http://www.itmedia.co.jp/business/articles/1703/14/news037.html
… 企業は人を活躍させても良くならない。細かいことよりシステムの効率化。

◇ SIEJA、PlayStation Now for PC のサービスを開始。
https://japan.cnet.com/article/35098446/
… PlayStation 3 のゲームがどこでも遊べるようになる有料サービス。

◇ とにかくすごい!Lightroom for iPhone のHDR撮影を試してみる。
http://www.itmedia.co.jp/mobile/articles/1703/26/news017.html
… 逆光の写真でも見やすくなる。

◇ あらゆるものノックでコントロール。慶應の学生が開発したIoTデバイス。
http://www.itmedia.co.jp/pcuser/articles/1703/26/news010.html
… すばらしく見えるが、誤検出が少ないかどうかが重要。

◇ ハッキングコンペ Pwn2Own、今年も中国チームの独壇場。EdgeもSafariも破られる。
http://www.itmedia.co.jp/enterprise/articles/1703/17/news060.html
… 欧米の企業に知らせていない脆弱性があるのでは。

◇ グーグル、Androidマルウェア Chamois のブロックを発表。
https://japan.cnet.com/article/35098108/
… マルウェアは、グーグルによっては商売敵。

◇ マイクロソフト、また認証問題が一時発生、Outlook、Skype、OneDrive。
https://japan.cnet.com/article/35098461/
… たった3時間だけ接続できなくても問題となるクラウド。 自動復旧が必要か。

sage_p at 01:08|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年03月12日

ソース ファイルの英訳と WHITE SQUARE エンコーディング判定法

vbslib の Translate コマンドは、日本語と英語のペアが書かれた翻訳ファイル(XML)を使って、ソース ファイルやテキスト ファイルの翻訳(置き換え)を行います。

vbslib は、以下からダウンロードできます。 Windows 用です。
http://vbslib.osdn.jp/
http://www.sage-p.com/vbslib/vbslib/vbslib.htm
https://github.com/TsNeko/vbslib

翻訳ファイルは、以下のように記述します。複数行の翻訳もできます(説明書を参照)。

<?xml version="1.0" encoding="Shift_JIS"?>
<Translate>
<File>sample.txt</File>
<T><JP>日本語</JP><EN>Japanese</EN></T>
<T><JP>英語</JP>
<EN>English</EN></T>
</Translate>

TranslateTest コマンドを実行すると、2バイト文字がすべて英語に翻訳されたかどうかをチェックします。 実際の翻訳は行いません。 2バイト文字が残っている行番号を表示します。 また、翻訳ファイルには、翻訳を行った行番号が追加されます。 翻訳されなかったときは、行番号 0 になります。これは翻訳ファイルから削除するきっかけになります。

ソース ファイルに英語と日本語を書いて、海外に渡すときは日本語をカットする方法もありますが、これには問題があります。 それは、英語か日本語の片方だけ変更してしまうという問題です。 翻訳ファイルを使った置き換えによる翻訳であれば、ソース ファイルに書かれた日本語だけ変更したときは英訳に置き換わらなくなるので、英語と日本語の内容が同じであることを維持しやすくなります。

CheckEnglishOnly コマンドでは、2バイト文字が含まれていないことを指定したフォルダーの中のすべてのファイルについてチェックします。 最終チェックに使うとよいでしょう。

ただ、日本人なら、プログラムのソース コードのコメントには、日本語で書くべきです。 英語の勉強も大事ですが、日本語で書いてあるほうが理解が早く効率的ですし、コメントした英語がそもそも間違っていてコード以上に理解不能になるからです。

しかし、海外の人とコミュニケーションをとる人にとっては英訳しないと渡す意味がないと思ってしまうのか、失礼だと思ってしまうのか、英訳が求められます。 会社は海外の人とも協力していかないといけない、といいますが、他の人はそれほど深くコードを読みません。 コメントがなかったり読めなかったりすることを自分が理解できない理由にしているのです。 文句は言ってきますが、現に、しばらくしたらコードから理解していることが多いです。(ただ、オープンソースなど業務ではないときは、それを理由に注目されないという問題はあります。)

最近は、Google 翻訳などの機械翻訳の精度が上がっているため、英訳はそれほど難しくなくなってきました。 企業秘密にあたる部分を他の言葉に置き換えれば、Google に情報漏えいすることもありません。 しかし、それが逆にソース ファイルをすべてを自動的に翻訳することができない要因にもなっています。

手動で機械翻訳した結果を翻訳ファイルに記述しておけば、日本語のソース ファイルを英語のソース ファイルに変換することができます。 または、英語が苦手なプログラマーではなく、普段から英語を使って身についている営業の人に翻訳ファイルを記述してもらうこともできます。 特に中国語への変換となるとできる人は限られます。 翻訳ファイルによって、適材適所に作業を割り振って効率的に業務が進められるようになります。

ところで、マイクロソフト製以外では、日本語の対応がよくありません。 UTF-8 BOM にさえ対応しておらず、未だに UTF-8 しか対応していないものが多くあります。 UTF-8 BOM に対応すれば、古い Shift-JIS や EUC-jp と新しい UTF-8 BOM の共存ができるのですが、英語圏の人にはそれが理解できないのでしょう。 また、UTF-8 しか対応してないツールの中には、Shift-JIS のファイルを壊してしまうとんでもないものもあります。 そのため、UTF-8 への切り替えは、かなり必要に迫られています。

そこで調査した結果、UTF-8 (BOMなし) でも正しく文字コードを判定できる方法が分かりました。 多くのテキスト エディターはもちろん、Windows のメモ帳でも使える方法です。 それは、WHITE SQUARE エンコーディング判定法です。

ソース ファイルの先頭付近に以下のコメントを記述します。 単に記述するだけです。 先頭である必要はありませんが、以下のコメントより前には 2バイト文字(日本語、中国語、韓国語など)がないようにします。

Character Encoding: "WHITE SQUARE" U+25A1 is □.

テキスト エディターには、文字コード セットを自動的に判定する機能があることが多いですが、どの文字も正しく判定できるとは限らないという問題がありました。 しかし、WHITE SQUARE エンコーディング判定法なら、文字 □ だけ正しく判定することが確認できれば、他の文字が最初に来るようなファイルでも確実に判定できることになります。

また、文字コード セットを変換しても書き換える必要はありません。 そのまま文字コード セットを変換して保存するだけです。 一方、HTML/XML は、encoding="Shift_JIS" のように文字コード セットの名前を記述しているため、文字コード セットを変えて保存したときには名前を変更しなければなりません。 この作業は、よく忘れます。 また文字コード セットの自動変換をするにはencoding="Shift_JIS" の部分を探すための構文解析も必要になり、自動化を難しくしています。

Shift-JIS のファイルを壊してしまうとんでもないツールでは、文字 □ が正しく残っているかどうかを見るだけで、壊れたかどうかがすぐに分かります。 文字化けの発見が遅れると、バックアップから復旧することが難しくなるので、この特性も有効です。

ちなみに、WHITE SQUARE を選んだ理由は、□ 文字が目立たず単純な記号だからです。 検討していた時は ■ を使っていましたが、文字化けしたのではないかと気になったのでやめました。

欧州でよく使われる文字コード Latin-1 (ISO-8859-1) には、WHITE SQUARE がありません。 そこで、よく使われる COPYRIGHT SIGN (c) (0xA9) がよいでしょう。 Unicode でも U+00A9 ですが、バイトの列が異なるので判定は必要です。 ただし、日本語 Windows のメモ帳は Latin-1 自体に対応していません。

Character Code Encoding: "COPYRIGHT SIGN" is ©.

sage_p at 23:36|PermalinkComments(0)TrackBack(0)プログラミング 

注目ニュースリンク 3/13

◇ 壁や机上の画面をタッチ操作できる Xperia Touch。
http://pc.watch.impress.co.jp/docs/news/event/1046945.html
… 手軽にインテリジェンスなテーブルやホワイトボードになる。

◇ 左手にJoy-Con、右手にスタイラス。Nintendo Switch コントローラーがお絵かき用デバイスに。
http://www.itmedia.co.jp/news/articles/1703/10/news140.html
… Apple Pencil より使いやすそう。

◇ ヤマト運輸とともにAmazonプライムも値上がりする?。
http://www.itmedia.co.jp/pcuser/articles/1703/12/news015.html
… 送料値上げにどう対応するかは Amazon 次第。 過剰サービスは望んでいない。

◇ 理研と電機メーカー3社が新型人工知能開発で連携。
http://www3.nhk.or.jp/news/html/20170310/k10010905941000.html
… 3社共同による大規模システムも作りやすくなるか。

◇ ラジオ番組をそのまま書き起こしたラジオプリント、ファミマのコピー機で販売。
https://japan.cnet.com/article/35097447/
… 有料の情報を紙で配布する機能の1つの例だろう。

◇ 意志決定をするためのリーダー用フレームワーク Cynefin Framework。
http://gigazine.net/news/20170302-leader-framework-decision-making/
… 決定方法が画一的にならなくなるのはいいが、答の数で決めるのは乱暴。

◇ ロボットによる自動配達を認める法律が世界で初めて施行されロボット配達が解禁へ。
http://gigazine.net/news/20170303-robot-delivery-virginia/
… チャレンジングな取り組みとして期待。

◇ ゲイツ財団に3兆円を託したウォーレン・バフェット宛てにゲイツ夫妻がこれまでの慈善活動を報告。
http://gigazine.net/news/20170302-bill-melinda-annual-letter-for-warren/
… 慈善事業がビジネスにならないような仕組みがある。

◇ オバマ氏がクーデター計画の偽情報、グーグルが誤って拡散。
https://japan.cnet.com/article/35097658/
… フィードバック機能があるから、多くの人がそう思ったのだろう。

sage_p at 23:35|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年02月27日

運送業大手 UPS がトラックからドローンを発着する実験に成功

2017年 2月 20日、アメリカの運送業の大手 UPS は、フロリダ州の人口の少ない地域で、トラックからドローンを発進させて宅配する実験に成功したことを発表した。 なお、トラックとドローンの製作は、電気自動車メーカーの Workhourse Group 社が行った。

公開された動画では、トラックでは入りにくい狭い道の先にある家に宅配するケースの様子が映っている。 おそらく、ドローンに荷物を乗せてボタン1つで飛ばすほうが、走って届けるよりも早くて疲れないということだろう。

配達員はドローンを操作する技術が要らない。 通称 ORIONシステムによって目的の家に届けるための飛行ルートが設定されているためだ。 しかし、飛行ルートが固定であり風などを見ながら正確に飛行できたとしても、FAA(連邦航空局)の規制では、操縦している人が目視で確認できる範囲でしかドローンを飛行できない。 状況に応じて飛行ルートを変えることができなければ認められないかもしれない。

しかし、そういった規制を超えようとする企業努力は必要だ。 法律違反をすると罰せられて損をする、でななく、規制緩和によって他社より効率よくなって売上げが増えるようにしなければ古くなってしまう。

運送業はネット ショッピングの普及によりドライバー不足になっている。 そうした状況からヤマト運輸の労働組合は、荷物の受入れ量(荷受量)を制限するように要求した。 需要が大きいのなら送料を上げるかコストを下げるかしなければ事業を継続することはできないのは必然だ。 顧客は送料無料を望んでいるのだと言われても、安売りする必要はない。 とはいえ、現在のドローンがコストを下げることに貢献することはまだ難しいだろう。 ドローンで離島に荷物を届けることも行ってるが、そういったコストが下がる状況は、限られているからだ。

ソース
https://japan.cnet.com/article/35097034/
http://jp.techcrunch.com/2017/02/23/20170221ups-tests-show-delivery-drones-still-need-work/
http://www.itmedia.co.jp/news/articles/1609/26/news070.html
http://wired.jp/2016/05/11/zipline-drones-rwanda/
http://blogos.com/article/211637/

sage_p at 00:57|PermalinkComments(0)TrackBack(0)IT ニュース&コラム 

注目ニュースリンク 2/27

◇ 新MacBook Proで Touch Bar対応Office を試してみた。
http://www.itmedia.co.jp/pcuser/articles/1702/22/news047.html
… カスタマイズができたらいいのに。

◇ Bash on Windowsが強化、Linux版のJavaやGo、PostgreSQLなどもWindowsで実行可能に。
http://www.publickey1.jp/blog/17/bash_on_windows_creators_update.html
… Java はマルチプラットフォーム対応だったはずだが。

◇ Google Cloud、1つの仮想マシンにGPUプロセッサを最大8基で処理時間を大幅に短縮。
http://www.publickey1.jp/blog/17/google_cloudgpu1gpu8.html
… 機械学習をクラウドで行うときに。

◇ microUSBプラグにLightningが合体、第3世代のスマホマルチケーブル。
http://k-tai.watch.impress.co.jp/docs/column/todays_goods/1032113.html
… Lightning 変換コネクターが千切れて無くす心配がない。

◇ Pokemon GO が第2段階へ。Ingressの経験活かし地方自治体と連携。
https://japan.cnet.com/article/35097039/
… 地方自治体お問い合わせフォームで、どの自治体も参加可能。

◇ SHA-1衝突攻撃がついに現実に、Google発表 90日後にコード公開。
http://www.itmedia.co.jp/enterprise/articles/1702/24/news067.html
… SHA-1暗号では、たとえばPDFの作者のなりすましができる。

◇ 突然「Googleアカウントが変更されました」表示で強制ログアウトになるユーザー急増中。
http://did2memo.net/2017/02/24/google-account-is-changed-error/
… グーグルも原因が分かっていないらしい。ハッキングされていないとなぜ断言できるのか。

◇ GitLab.comが操作ミスで本番データベース喪失。5つあったはずのバックアップ手段は役立たず。
http://www.publickey1.jp/blog/17/gitlabcom56.html
… Linux は未だにディレクトリの削除ミスがあるので怖い。

◇ IoTマルウェア Mirai に新たな亜種、Windowsに感染して拡散攻撃。
http://www.itmedia.co.jp/enterprise/articles/1702/15/news086.html
… Linux のウィルスが Windows も感染経路にする。

◇ デスクトップ市場に活気をもたらす。AMD高性能CPU Ryzen 7は3月3日0時発売、3万8800円から。
http://japanese.engadget.com/2017/02/23/amd-cpu-ryzen-7-3-3-0-3-8800/
… AMD対インテルの時代が久々に復活。

sage_p at 00:57|PermalinkComments(0)TrackBack(0)注目ニュースリンク 

2017年02月18日

インフレターゲット 2% 実現のための劇薬、日銀ポイント

日本銀行(中央銀行)は、ハイパーインフレを防ぐルールとして金融機関にしか金利という名目でお金を発行できませんが、ルールというものはだいたい例外や副作用があるものなので、インフレターゲット 2%を実現するための異次元の金融緩和というぐらいなら、ルールを少し変えたほうがいいでしょう。

インフレターゲット 2%を実現のなら、小売業でよくあるポイントを中央銀行が発行することです。 ポイントとは、買ったら何%か付いて、後から電子マネーなどに交換できるものです。 (すでに考えられていると思うので、その問題点などを Twitter で、DM してくれると嬉しいです。)

よく、消費を拡大するには消費税を減らすべきという主張があり、ポイントを発行すると消費税と相殺されて消費税を減らすことと同じだから消費税だけを下げればいいという主張をする人がいますが、そんな乱暴な抽象化をしてはいけません。

国民が消費を増やすと消費税が増えて国の借金が減るのです。 つまり、消費すればするほど、将来が安心になるのです。 これだけで、消費マインドが全然違います。 もちろん貯金するとポイントは増えません。

また、ポイントから電子マネーなどに交換する年間の最大ポイントの制限を付けると、消費税の逆進性を解消できます。 また、最大ポイントによって、ハイパーインフレを抑制できます。

ポイント制度は今まで通り企業がシステムを構築し、企業にもポイントを発行すれば、導入コストを抑えられるでしょう。

ポイントの利率と最大ポイントの調整は、短くても 5年に一度行うのがいいでしょう。 最低5年もポイントが付与されることが保証されれば、臨時収入ではないので安心してお金が使えるからです。

sage_p at 10:23|PermalinkComments(0)TrackBack(0)Snap Note で考えた経済政策 

2017年02月12日

使いなれた外部プログラムを vbslib から起動する Setting コマンド

今年始めに vbslib 5.91 を公開しましたが、めずらしくたった 1ヶ月で vbslib 5.92 を公開しました。vbslib 4.91 から 5.91 まで 2年以上あいてしまっていましたから自分としても奇跡です。 更新内容は主にバグ フィックスです。 詳細は、OSDN で公開している vbslib の更新履歴を参照してください。

vbslib は、以下からダウンロードできます。 Windows 用です。
http://vbslib.osdn.jp/
http://www.sage-p.com/vbslib/vbslib/vbslib.htm
https://github.com/TsNeko/vbslib

vbslib は、定型作業の 自動化やテスト駆動開発(TDD)が快適に行えるようにするため、ユーザーインターフェース (UI) はあまり重要ではありませんが、場合によっては定番の GUI のツール(外部プログラム)の助けを借りたほうが便利なことがあります。たとえば、ファイルの内容に問題があったときは、そのファイルのパスを表示するだけでなく、テキスト エディターで問題があった行を開くところまで自動で行ったほうが便利です。 また、人によってベストなテキスト エディターは異なるので、vbslib では設定をカスタマイズすることができるようになっています。

Setting コマンドでカスタマイズできる外部プログラムは、以下のものがあります。

・フォルダーを開くプログラム [Folder]
・テキストファイルを開くプログラム [Text]
・テキストファイルを比較するプログラム [Diff]
・フォルダーを比較するプログラム [DiffFolder]

外部プログラムが標準的なパスにインストールしてあるときは、自動的にその外部プログラムを使いますが、にもかかわらず期待したプログラムとは別のプログラムが起動してしまうときは、カスタマイズが必要です。

vbslib 5.91 以降では、vbslib Prompt.vbs をダブルクリックして、Setting コマンドを起動すると、外部プログラムのカスタマイズができます。 また、カスタマイズした設定が正しく設定されたかどうかをテストすることもできます。

設定値を格納するフォルダー(setting フォルダー)は、以下の場所にあります。

・vbslib のデフォルト設定:scriptlib\vbslib\setting_default
・PC 全体の設定 : C:\Users\user1\AppData\Roaming\Scripts
・USB メモリーに入っている PC 全体の設定:%myhome_mem%\prog\scriptlib\setting_mem
・フォルダーごとの設定:scriptlib\vbslib\setting

下のフォルダーほど優先されます。 ファイルごとではなく、関数ごとに優先します。 たとえば、PC 全体の設定にフォルダーを開くプログラムの設定(関数)があり、テキスト エディターの設定(関数)がなかったときは、テキスト エディターに関してはデフォルト設定が有効になります。 なお、最も上のデフォルト設定は変更しないでください。 フォルダーごとの設定は、その設定が入っている scriptlib があるフォルダーの中で起動したスクリプトでのみ有効です。

Setting コマンドで新しい設定を作り始めたときは、設定内容のテンプレートが自動的にコピーされ、テンプレートと同じ内容から編集を始めることができます。

vbslib 4.91 以前では、scriptlib\vbslib\setting_default\PC_setting_default.vbs を setting フォルダーにコピーして、コピーした PC_setting.vbs ファイルをテキスト エディターで開いて編集することで外部プログラムのカスタマイズができます。 しかし、setting フォルダーの場所をガイドしてくれたり、テンプレートが自動的に作られたりすることはありませんでした。

sage_p at 21:00|PermalinkComments(0)TrackBack(0)プログラミング