[HOME]  [掲示板トップへもどる]  [全部表示]  [最新100]  [最新50]   [新着40] 
番号順 最新50記事     FGALVZ  

07717/07705 CXB00940 としき Re^10: LaCoocanの壁が高い
( 1) 17/06/16 14:33 07716:konnoさんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

> よくわかりませんが、フレームに引っかかって本文が読めない状況も
> あるように思えます。

あぁ、そうか。
うちの板塀はかなりトリッキーなことをやっていますからねぇ。

まず、CGIではなく、普通のブラウザでアクセスすることを考えてみましょう。
ブラウザにURLを入力した場合、

・DNSサーバに相手サーバのドメイン名を問合せ
・DNSサーバから相手サーバのIPアドレス応答あり
・相手サーバにアクセス
・相手サーバから目的のコンテンツの応答あり

といったような手順をふみます。
ところが、うちの板塀の場合、固定のドメインをとっていません。
つまり、そのまま何の工夫もしなければ、IPアドレスが変わるたびに、ブラウザ
に入力するURLを変更しなければなりません。これではちょっと不便なんで、この
状況を避けるために、フレーム方式を導入してあるのです。
この場合にどのような挙動になるかというと

・DNSサーバにフレーム外側サーバのドメイン名を問合せ
・DNSサーバからフレーム外側サーバのIPアドレス応答あり
・フレーム外側サーバにアクセス
・フレーム外側サーバからフレームの応答あり
・ブラウザがフレームと判断しフレームの中身を解析
・ブラウザがフレームの中身のサーバにアクセス
・フレームの中身のサーバから目的のコンテンツの応答あり

という形になります。
こうすることにより、フレームの外側を書き換えれば、フレームの中身のサーバ
のIPアドレスが変わってしまっても、ブラウザに入力するURLを一定に保つことが
可能となっています。
要するに、うちの板塀にアクセスするためにはブラウザが自動で行っている余計
な仕事もCGIにやらせないといけないわけです。すなわち、

・ブラウザ相当のフレーム解析機能があるプログラムを作り
・それがきちんと動くことが必要で
・さらに謎のファイアーウォールを突破しなければならない

という、三段構えの作戦が必要になってくるわけです。
もちろん、最初からフレームの内側のサーバに、ピンポイントで攻撃を仕掛ける
プログラムを作れば当面は機能するものができるはずです。だけど、こちらのIP
アドレスが変わったとたんに機能不全に陥るわけで、そのたびごとにプログラム
を書き換えるというのはオススメできるものではありません。

ということで、最後の壁を口実にして、あきらめたほうがいいかもしれません。


07718/07705 BQO00549 konno Re^11: LaCoocanの壁が高い
( 1) 17/06/21 00:07 07717:としきさんへのコメント コメント数:1

> ・ブラウザ相当のフレーム解析機能があるプログラムを作り
> ・それがきちんと動くことが必要で
> ・さらに謎のファイアーウォールを突破しなければならない

うう、色々試しましたが、やっぱり駄目でした。
壁が高すぎました。


> という、三段構えの作戦が必要になってくるわけです。

こ、これは、ジェットストリームアタック?
ならば最初のフレームを突破して踏み台にしてジャンプして・・・
・・・だ、駄目だぁ、壁が高過ぎるぅ。

これはもう、50メートル級の巨人でもないと壁に届かないか・・・
ということで、板塀攻略作戦はしばらく休止します。

> もちろん、最初からフレームの内側のサーバに、ピンポイントで攻撃を仕掛ける
> プログラムを作れば当面は機能するものができるはずです。

LWPからだとどうもダメみたいです。
今回は諦めて修行しなおします。


07719/07705 GST01234 10♯ Re^11: LaCoocanの壁が高い
( 1) 17/06/21 01:21 07717:としきさんへのコメント コメント数:2

フレームで名前解決てなかなか面白い発想ですね。

perlは使ったこと無いので無責任発言になりますけど、
HTML::DOMでフレーム(というかHTML)の解析は出来るんじゃ無いですかね?

謎のファイアーウォールはLWPのheader情報をゴニョゴニョする感じすかね?
これは試行錯誤になると思いますけど。
謎のファイアーウォールがcoocan.jpのドメインやIPを弾いてたら無理ですが…


07720/07705 CXB00940 としき Re^12: LaCoocanの壁が高い
( 1) 17/06/21 09:05 07718:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> こ、これは、ジェットストリームアタック?

というよりも、どちらかというと、わらの家と木の家はクリアできても、レンガ
の家はクリアできない、というほうに近いかも。

> これはもう、50メートル級の巨人でもないと壁に届かないか・・・

壁は、越えることだけを考えてはいけないらしい。
隙間をすり抜けるとか、倒すとか、下に穴を掘ってくぐり抜けるとか・・・
ドナルド君が作ろうとしている新しい壁よりも、対処は楽だと信じたいところ。

> LWPからだとどうもダメみたいです。

そうなんですよ。これが最大の問題の、謎のファイアーウォールです。
うちで使っているルータにポート変換機能があれば、他のポートも開けてご来訪
をお待ちする、ということができるんですがねぇ。
というか、最近はめっきりスパムも減りましたから、わざわざスパム除けで変な
ポートにしておく必要も減ってるんで、うちが素直に80番ポートに変更する、と
いう手もあるはず。でも、当面はあの番号のままで行きます。


07721/07705 CXB00940 としき Re^12: LaCoocanの壁が高い
( 1) 17/06/21 09:05 07719:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

謎のファイアーウォールって、試してみた範囲が狭いのですが、結果から推測
するに、どうやらcoocan.jp側の出口に設置してあるみたいなんですよ。
なので、着弾側が口をあけて待っているにもかかわらず被弾しない。

最近の民生用ルータの状況は知りませんが、昔、コレガの安いルータには
IPマスカレードの部分でIPアドレスだけでなくポート番号まで変更してくれる
機種がありました。こういうのを使えば、きちんと被弾するポートで
待ち受けて、変なポートのサーバに接続させることも可能なんですけどね。


07722/07705 GST01234 10♯ Re^13: LaCoocanの壁が高い
( 1) 17/06/21 19:40 07721:としきさんへのコメント

セキュリティーの都合上、余計なポートを閉じておくのは、まああることな気はします。
443が通るのであれば、としきさんのサイトをSSLでも接続できるように設定するとかですかね?


07723/07705 BQO00549 konno Re^13: LWPのソース
( 1) 17/06/25 22:32 07720:としきさんへのコメント コメント数:1

亀レスですが

> > LWPからだとどうもダメみたいです。
> 
> そうなんですよ。これが最大の問題の、謎のファイアーウォールです。

LWPのソースを見ていて、ちょっと気になったのが

		$field =~ s/^://;

こういう =~ s/^://; の記述が多いなと。
これは、'HTTP://' の ':' より前をを削除する処理だと思いますが、板塀では

	my $url2 =  'http://152.081.hinocatv.ne.jp:9801/bbs/wforum.cgi';

このように直リンクにすると、タイムアウトエラーになります。
もしかして途中の ':' が引っかかったりして無いでしょうかねぇ。
たぶん関係ないのでしょうが。




07724/07705 BQO00549 konno Re^12: LaCoocanの壁が高い
( 1) 17/06/25 22:37 07719:10♯さんへのコメント コメント数:1

10#さん

> perlは使ったこと無いので無責任発言になりますけど、
> HTML::DOMでフレーム(というかHTML)の解析は出来るんじゃ無いですかね?

なるほど、逆の発想ですか。
ドムはやっぱり攻める側なんですね。(^^;

> 謎のファイアーウォールはLWPのheader情報をゴニョゴニョする感じすかね?
> これは試行錯誤になると思いますけど。
> 謎のファイアーウォールがcoocan.jpのドメインやIPを弾いてたら無理ですが…

アドバイスありがとうございます。
でも今は全然わからないので、将来の課題にします。


07725/07705 CXB00940 としき Re^14: LWPのソース
( 1) 17/06/25 23:08 07723:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> もしかして途中の ':' が引っかかったりして無いでしょうかねぇ。

「:9801」のポート番号の有無については、私も最初に疑いました。なので、
ためしに、LaCoocanのサイトに「.coocan.jp:80」みたいな形でポート番号つき
でアクセスしてみたのですが、問題なくアクセス可能でした。
また、うちのサイトで80番ポートを開放し、ダミーのサーバを建ててみましたが、
「:80」ありでもなしでも着弾を確認できました。残念ながら、ダミーのサーバ
はプロトコルのルールに従った応答を返すことができないので、スクリプトの側
ではタイムアウトになってしまいましたが。
この方法で、80番のほかに、25番と110番、443番ポートなら、うちのサーバまで
到達することを確認しました。


07726/07705 BQO00549 konno Re^15: LWPのソース
( 1) 17/06/26 00:04 07725:としきさんへのコメント コメント数:1

> 「:9801」のポート番号の有無については、私も最初に疑いました。なので、
> ためしに、LaCoocanのサイトに「.coocan.jp:80」みたいな形でポート番号つき
> でアクセスしてみたのですが、問題なくアクセス可能でした。

ああ、そうか、他のポート番号で確認済みだったですね。
今の私のスキルではやっぱり無理みたいですね。


07728/07705 GST01234 10♯ Re^13: LaCoocanの壁が高い
( 1) 17/06/26 01:19 07724:konnoさんへのコメント コメント数:1

DOMはほとんどの言語では一般的な技術なので、参考資料も豊富にあります。
使うのそんなに難しく無いと思いますよ。

07729/07705 GST01234 10♯ Re^16: LWPのソース
( 1) 17/06/26 01:26 07726:konnoさんへのコメント コメント数:1

スキル以前にLaCoocanのファイアーウォールが9801のoutgoingを空けてないと思います。
というより、80,25,110,443などの、一般的に利用されるポートのみを空けていると…

とどのつまり、LaCoocanのサーバーかとしきさんのサーバーでの対応が無いと…
あるいは、第三のサーバーにスクリプトを仕込んで仲介するなどの仕組みを用いないと
接続できないと言うことになりますね。


07730/07705 BQO00549 konno Re^14: LaCoocanの壁が高い
( 1) 17/07/02 18:31 07728:10♯さんへのコメント

10#さん、亀レスでごめんなさいね。

> DOMはほとんどの言語では一般的な技術なので、参考資料も豊富にあります。
> 使うのそんなに難しく無いと思いますよ。

このところ、年のせいか、集中力が全くないです。
頭がオーバーロードしてリセット再起動のループみたいな。

今は、LWP で何か形にしたく、これで手一杯の状態です。
DOMはやっぱり来年の課題かな。


07731/07705 BQO00549 konno Re^17: 10#さんの掲示板
( 1) 17/07/02 18:41 07729:10♯さんへのコメント コメント数:1

> とどのつまり、LaCoocanのサーバーかとしきさんのサーバーでの対応が無いと…

とりあえず板塀の壁を乗り越えるのはあきらめました。
ブラウザって凄い複雑高度なことをやっているんですねぇ。

それで、今度は、10#さんの掲示板を表示させようとしているんですが・・・
今度はUTF8の壁が・・・

まだ全然出せる状態ではないですが、これはなんとかなりそうな気がするので
試行錯誤しています。



07732/07705 CXB00940 としき Re^18: 10#さんの掲示板
( 1) 17/07/03 11:16 07731:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> 今度はUTF8の壁が・・・

単純に文字コードを何とかするのであれば、この掲示板で使っているjcodeの
ファイルを援用するのが一番簡単な気がする。
気がするだけであって実際には試していないのですが。

あと、文字コードの壁とは別に、HTMLを直接あれこれするのも面白いですが、
この際、RSSフィードのほうが、目的によってはハンドリングが楽かもしれません。

07733/07705 BQO00549 konno Re^19: UTF-8 から Shift JIS に変換
( 1) 17/07/03 21:55 07732:としきさんへのコメント コメント数:1

> 単純に文字コードを何とかするのであれば、この掲示板で使っているjcodeの
> ファイルを援用するのが一番簡単な気がする。

jcode.pl は、UTF8 に対応していないのかと思っていました。
サーバーのライブラリを利用するのもよくわからないし。

そこで、以前お気に入りに入れていたサイトのページが役に立ちました。

UTF-8 から Shift JIS に文字コードを変換する方法
http://www.vividcode.info/perl/utf8ToSjis.xhtml

このページから引用します。
--------------------------------------
Jcode.pm が使えない環境で文字コードの変換をしようと思うと、jcode.pl を使うことになると思います。 jcode.pl はおそらくどんな環境でも使用できると思うのですが、UTF-8 を扱えないという致命的な欠点があります。 そこで私が nifty を使用していたときに自分で作って使っていた UTF-8 から Shift JIS に文字コードを変換するサブルーチンを改造したので公開してみます。


使い方

詳しい説明は後回しにしてとりあえず使い方。

utf8ToSjis.pl
utf8ToSjisTable.pl

上の 2 つのファイルをダウンロードしてください。表示用に拡張子を ".txt" にしているので、".pl" に変更してください。で、ライブラリの PATH が通る位置に置いて下さい。後は以下のように require して関数を使用するだけです。
--------------------------------------------

このファイルをCGIと同じところに置いて呼び出しただけできちんと変換できました。
これは素晴らしい!!
有用なプログラムや情報、ありがたいです。感謝します。

余談ですが、上記の utf8ToSjisTable.txt をVTDOS+VZで開いてページ送りすると
VTDOSが落ちますね。バイナリなので仕方がないのかな。
リネームして utf8ToSjisTable.pl だと落ちないですね。

> この際、RSSフィードのほうが、目的によってはハンドリングが楽かもしれません。

これも敷居が高いので将来の課題ですね。
ところで、板塀のフレーム内で更新情報を何か入れることは可能でしょうか。
それなら読みだせそうなもので。
私がやりたいのは更新情報の表示なのです。


07734/07705 CXB00940 としき Re^20: UTF-8 から Shift JIS に変換
( 1) 17/07/04 22:58 07733:konnoさんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

そうか、Jcode.pm と jcode.pl って違うものなのね。
似たような名前なので勘違いしていました。

> 私がやりたいのは更新情報の表示なのです。

って、それこそRSSの目的そのものですよね。ウィキペディアによると、

> RSSは、ニュースやブログなど各種のウェブサイトの更新情報を簡単にまとめ、
> 配信するための幾つかの文書フォーマットの総称である。

ってなってますから。それに、RSSのほうが機械可読性が高いから、仮に自分で
プログラムを作るとしても、作りやすいとか誤認識が減らせるとか、いろいろな
メリットがあるはず。だから、うちの板塀にも、利用者がほぼ皆無だということ
がわかっているにもかかわらず、RSSの出力機能を実装したのだし。


> ところで、板塀のフレーム内で更新情報を何か入れることは可能でしょうか。
> それなら読みだせそうなもので。

それは難しい気がする。いや、これも気のせいかも。
それとは違うのですが、簡単な方法を一つ、思いついてはいるのですがね。
私のポリシーに、いささか反するもので、採用することに躊躇しています。


07735/07705 GST01234 10♯ Re^21: UTF-8 から Shift JIS に変換
( 1) 17/07/05 06:59 07734:としきさんへのコメント コメント数:1

RSSってXMLなのでXML::DOMでっていう…
この手のインターネット情報交換方式、全般的にJSONで置き換えてくような動きって出てこないんですかね?
今時の専用クライアントAPIは大概REST+JSONに落ち着いてる気がしますが…



07736/07705 CXB00940 としき LaCoocanのCGIでXMLの解析
( 1) 17/07/05 14:25 07735:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

konnoさんがDOMに取り組むに当たって、一つ課題があって。
それは、LaCoocanのライブラリには、XML::DOMが入っていないということ。
XML配下にはPerserしかない。Simpleすらないのです。
その状況から自前で何とかするっていうのは、かなり敷居が高いと思う。
もちろん、何とかする方法はあるわけなので、謎のファイアーウォールに比べれば
はるかに容易だとは思いますが。

> この手のインターネット情報交換方式、全般的にJSONで置き換えてくような動き

「まだ」出てきていないだけ、っていう可能性はありませんかねぇ。
あるいは、出てきているけど、まだ小さい火種で、大きなムーブメントになって
いない、とか。
最近はほとんどいないけど、ほんのちょっと昔には、データをテキストで流すと
非効率、なんてことを信仰している老人もいたし。

> 今時の専用クライアントAPIは大概REST+JSONに落ち着いてる気がしますが…

昔、JSONについては勉強したことはあるのですがね。
自分の中で熟成するのにずいぶん時間がかかりました。
やっと最近、自分のサイトのパンくずリストをJSONで書こうとしてみたり。
でも、私、最近のWEBアプリの動向はフォローしていなかったもので、RESTって
名前も知りませんでした。
ちょっと勉強してみましたが、なるほど、これはシンプルでいいですね。
やっぱり、ユーザ数なんかを考えると、ブラウザなりスマホなりのエンドユーザが
使うエージェントがサポートし、GoogleとかFacebookとかAmazonが大々的に何かの
データを流し始めて、一般に普及するというパターンかなぁ。
さもなければエロ系か。


07737/07705 GST01234 10♯ Re: LaCoocanのCGIでXMLの解析
( 1) 17/07/05 15:43 07736:としきさんへのコメント コメント数:1

> やっぱり、ユーザ数なんかを考えると、ブラウザなりスマホなりのエンドユーザが
> 使うエージェントがサポートし、GoogleとかFacebookとかAmazonが大々的に何かの
> データを流し始めて、一般に普及するというパターンかなぁ。


よくよく考えれば、以前からある汎用的なインターネット技術を各種SNSが
置き換えて行ってるというのはありますね、
で、それらSNSのAPIは既にREST+JSON。
既存サービスのAPIが置き換わっていくのでは無くて、
既存サービス自体が置き換えられつつあると…

で、それら今時のSNSはクライアント・サーバー間だけでなく、
サーバー・サーバー間もREST+JSONのAPIで連携してたりします。

マッシュアップというのはとどのつまり、サイト・サービス間での連携なのですが、
本来、最終出力形式であるHTMLを介するため、ちょっと回りくどい。
中間表現であるJSONはより効率的だったりします。

JSON自体は構文解析がコンパクトで済む、ということもありますが、
Perl、PHP、JavaScriptなどの、一般的なスクリプト言語では概ね直接扱える、
というのもありますね。
ルーツはawkの連想配列だったりします。


07738/07705 BQO00549 konno Re^21: UTF-8 から Shift JIS に変換
( 1) 17/07/05 22:33 07734:としきさんへのコメント コメント数:1

> > 私がやりたいのは更新情報の表示なのです。
>
> って、それこそRSSの目的そのものですよね。

あ、そうだったんですか。
私使ったことが無いのでわかってなかったですね。

> ウィキペディアによると、
> > RSSは、ニュースやブログなど各種のウェブサイトの更新情報を簡単にまとめ、
> > 配信するための幾つかの文書フォーマットの総称である。

ということで、ウィキを読んでみたんですが、「幾つかの文書フォーマットの総称」
と言うだけあって複雑で敷居が高く感じてしまいました。

> ってなってますから。それに、RSSのほうが機械可読性が高いから、仮に自分で
> プログラムを作るとしても、作りやすいとか誤認識が減らせるとか、いろいろな
> メリットがあるはず。

今やっているものがひと段落したら勉強してみます。
来年以降になるかもですが。

> > ところで、板塀のフレーム内で更新情報を何か入れることは可能でしょうか。

> 簡単な方法を一つ、思いついてはいるのですがね。
> 私のポリシーに、いささか反するもので、採用することに躊躇しています。

うう、ポリシーに反するのでは無理にお願いもできないですね。
でもRSSという可能性もあるのか。


07739/07705 BQO00549 konno Re^2: LaCoocanのCGIでXMLの解析
( 1) 17/07/05 22:45 07737:10♯さんへのコメント コメント数:2

> で、それら今時のSNSはクライアント・サーバー間だけでなく、
> サーバー・サーバー間もREST+JSONのAPIで連携してたりします。

あう、今度は JSON ですか。
ジェーソンはチェーンSOで繋がると。

> マッシュアップというのはとどのつまり、サイト・サービス間での連携なのですが、

あ、そうだったんですか。
知らないまま流してました。

> JSON自体は構文解析がコンパクトで済む、ということもありますが、
> Perl、PHP、JavaScriptなどの、一般的なスクリプト言語では概ね直接扱える、
> というのもありますね。
> ルーツはawkの連想配列だったりします。

なにか、これからの主流のように感じてきました。
勉強しなくては。


07740/07705 GST01234 10♯ Re^3: LaCoocanのCGIでXMLの解析
( 1) 17/07/05 23:30 07739:konnoさんへのコメント コメント数:1

awk の頃の連想配列は添え字、内容共に文字列か数値しか扱えませんでしたけど、
今時のスクリプト言語は内容として連想配列やその参照を取り扱うことが出来、
木構造を取り扱えるようになってます。
で、これを持って静的型付け言語でいうところの構造体を代替しています。

Perlではハッシュ参照とか多次元連想配列とか呼ばれているようですね。
PHPやJavaScriptにもほぼ同じ概念がありますが、
これの、JavaScriptでの表記方法で仕様化されてるのが JSONです。
Perl を理解してればそんな難しい話ではないと思います。


07741/07705 CXB00940 としき Re^22: UTF-8 から Shift JIS に変換
( 1) 17/07/06 00:17 07738:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> > って、それこそRSSの目的そのものですよね。
> あ、そうだったんですか。
> 私使ったことが無いのでわかってなかったですね。

一発使ってみればわかりやすいのかも。
最近のマイクロソフトのブラウザはわかりませんが、昔のMSのIEだと[ALT]+Jあたり
で何か反応したと思う。
Firefoxの場合は[ALT]でメニューを出して[ブックマーク]でプルダウンの上のほう
に「このページを購読」というのがあるはず。
ここの掲示板では無効のはずですが、例えばVTDOSの掲示板とかうちの板塀では
RSSフィードが表示されると思う。
実は現在、わけあって、自分の環境では試せなかったりする。
確か、RSSフィードにもCSSが適用できて見栄えを変えることができるとか何とか、
にゃまさんに聞いたんだったっけかなぁ。

> 今やっているものがひと段落したら勉強してみます。

む、何ができてくるんだろう。
わくわく。

> > 簡単な方法を一つ、思いついてはいるのですがね。
> > 私のポリシーに、いささか反するもので、採用することに躊躇しています。

> うう、ポリシーに反するのでは無理にお願いもできないですね。

もっと別の方法がないか考え中。
とりあえず、踏ん切りがついたら、こちらでご案内させていただきます。


07742/07705 CXB00940 としき Re^3: LaCoocanのCGIでXMLの解析
( 1) 17/07/06 00:17 07739:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> ジェーソンはチェーンSOで繋がると。

一部では、厚切りとか13きんとかは禁句らしい。
#どこの一部だよ

> > マッシュアップというのはとどのつまり、サイト・サービス間での連携なのですが、

英語の辞書では、マッシュポテトのmashって、「すりつぶす」って意味らしい。
でも、このツリーで話題になっているWEBサービスとしての意味からいうと、
日本語としては「混ぜ合わす」というほうがなんとなくしっくりくる。


07743/07705 BQO00549 konno Re^4: LaCoocanのCGIでXMLの解析
( 1) 17/07/07 01:39 07740:10♯さんへのコメント コメント数:1

> Perlではハッシュ参照とか多次元連想配列とか呼ばれているようですね。
> PHPやJavaScriptにもほぼ同じ概念がありますが、
> これの、JavaScriptでの表記方法で仕様化されてるのが JSONです。

こういう説明を見ると意外に簡単そうに見えたので、ちょっとググッてみました。
うう、やっぱりとっかかりが無いとさっぱりわからないです。

> Perl を理解してればそんな難しい話ではないと思います。

考えてみたら私は Perl を理解して弄っているわけではないなぁと思い至り。
道は遠い。


07744/07705 GST01234 10♯ Re^5: LaCoocanのCGIでXMLの解析
( 1) 17/07/07 10:43 07743:konnoさんへのコメント コメント数:1

実のところJSONを利用する上で、JSON自体を覚える必要はほとんど無いですが…
次のPerlサンプルで出来ることは大体の言語で可能になってます。



use JSON;

#-----------------------------------------------------------------------------

# $resの内容をJSONに変換して表示

# 実際にはサーバーでDBに問い合わせした結果をJSONに変換して
# httpヘッダを付けて送信するなど


my $res = {
	articles => [ {
		id => 1,
		text => "test1",
	},
	{
		id => 2,
		text => "TEST2",
	},
	{
		id => 3,
		text => "Test3",
	},
	]
};

my $json = encode_json($res);		# $resの内容をJSONに変換

print "$json\n";			# JSONを出力


#-----------------------------------------------------------------------------

# JSONを $rcvに取得して表示

# サービスとしては、クライアントからJSONでリクエストを送る場合など
# クライアント・ブラウザーのJavaScriptも似たような処理が可能


my $rcv = decode_json($json);		# JSONを$rcvに取得

my $recs = $rcv->{articles};		# $rcvのarticlesを$recsに取得

foreach (@$recs) {			# $recsを列挙
	print "#$_->{id}: '$_->{text}'\n";
};


07745/07705 BQO00549 konno Re^23: UTF-8 から Shift JIS に変換
( 1) 17/07/08 01:13 07741:としきさんへのコメント コメント数:1

> Firefoxの場合は[ALT]でメニューを出して[ブックマーク]でプルダウンの上のほう
> に「このページを購読」というのがあるはず。

おお、メニューにありました。
初めてRSSの表示を見ましたよ。
新着記事の一覧表示みたいなものなんですね。

> > 今やっているものがひと段落したら勉強してみます。
> む、何ができてくるんだろう。
> わくわく。

だから新着情報の表示ですってば。RSSとは違うのだよ。

> もっと別の方法がないか考え中。
> とりあえず、踏ん切りがついたら、こちらでご案内させていただきます。

おお、何ができてくるんだろう。わくわく。

ところで、板塀のフレームの中の「掲示板トップ」というリンクを
クリックすると、フレームが無限に増殖しますね。
中の人は無限の住人なのだらうか。



07746/07705 GST01234 10♯ Re^4: LaCoocanのCGIでXMLの解析
( 1) 17/07/08 01:31 07742:としきさんへのコメント

元々は音楽の表現手法の一つですね。
ja.wikipedia.org/wiki/%E3%83%9E%E3%83%83%E3%82%B7%E3%83%A5%E3%82%A2%E3%83%83%E3%83%97

↓これが元祖らしい。80年代
www.youtube.com/watch?v=pyPw9Ua1UlY

↓HR×HIPHOP
www.youtube.com/watch?v=hUViClqjqbY

↓和製テクノ×和製テクノ
www.youtube.com/watch?v=SUytJLArDrg


07747/07705 BQO00549 konno Re^6: LaCoocanのCGIでXMLの解析
( 1) 17/07/08 01:32 07744:10♯さんへのコメント コメント数:1

> 実のところJSONを利用する上で、JSON自体を覚える必要はほとんど無いですが…
> 次のPerlサンプルで出来ることは大体の言語で可能になってます。

おお、サンプルのソース、ありがとうございます。
上と下は別々のルーチンなんですよね。

> # $resの内容をJSONに変換して表示
上のルーチンをPerlCGIに張り付けてみましたが、実行時エラーになりました。
内容は全く分かっていません。




07748/07705 GST01234 10♯ Re^7: LaCoocanのCGIでXMLの解析
( 1) 17/07/08 01:36 07747:konnoさんへのコメント コメント数:1

一応Windows版のPerl 5.14.2 で動作確認済みです。
一番上の use JSON; 付けてますか?

07749/07705 BQO00549 konno Re^8: LaCoocanのCGIでXMLの解析
( 1) 17/07/08 01:46 07748:10♯さんへのコメント コメント数:1

> 一応Windows版のPerl 5.14.2 で動作確認済みです。
> 一番上の use JSON; 付けてますか?

その use JSON; だけ付けてもエラーになります。
新規のCGIにしてもダメみたいです。
LaCoocanの制限でしょうかね。
おいおい勉強します。


07750/07705 CXB00940 としき Re^24: UTF-8 から Shift JIS に変換
( 1) 17/07/08 01:47 07745:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> ところで、板塀のフレームの中の「掲示板トップ」というリンクを
> クリックすると、フレームが無限に増殖しますね。

おわっ、これは失敗。
板塀本体のほうはそのような事が起きないように慎重にテストを繰り返したと
いうのに、こちらのほうは全く何も試したことがなかった。
こちらの修正のほうを先に取り掛かります。


07751/07705 GST01234 10♯ Re^9: LaCoocanのCGIでXMLの解析
( 1) 17/07/08 02:16 07749:konnoさんへのコメント

エラーの内容が分からないのでなんともあれなんですけど、
LaCoocanでは JSON は使えないようになってるのかな?
ハッシュが使えないって事はないと思うんだけど…


07752/07705 BQO00549 konno Re^25: 壁の穴
( 1) 17/07/08 22:06 07750:としきさんへのコメント コメント数:1

> > ところで、板塀のフレームの中の「掲示板トップ」というリンクを
> > クリックすると、フレームが無限に増殖しますね。

なるほど、ようやくわかってきましたよ。
実は、板塀の直リンクをお気に入りから行くとフレーム無しになるんですね。
ところが、うちの掲示板に張り付けた直リンクをクリックすると・・・
なんと、無いはずのフレームが現れるではないですか。
こ、これは・・・

CGI経由を検知したらごにょごにょ・・・ですか〜

やっぱりATフィールドは存在したのか。
それも、無限力の井出ONの謎の壁力か。
壁は伝説の巨人に守られていたのだらうか。



07753/07705 CXB00940 としき Re^26: 壁の穴
( 1) 17/07/09 01:54 07752:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

増殖といったらYMOのアルバム。
#古いなぁ

とりあえず、無限に増殖する問題に対して、最終的な解決を与えることができた
ようです。宇宙のかなたへ送ったわけではありません。
そうです、残さず食べてしまえばいいのです。
#それはくりまんじゅう

って、これも古いネタですな。
まじめな話、何とか解決したっぽい。
例によって、十分な試験は行われておりません。


> 実は、板塀の直リンクをお気に入りから行くとフレーム無しになるんですね。
> ところが、うちの掲示板に張り付けた直リンクをクリックすると・・・
> なんと、無いはずのフレームが現れるではないですか。

過去数年は、お気に入りからもフレームが現れるようになっていました。
ところが、ほんの数ヶ月前、それでは不都合がある状況というものが存在する
ことに気がつきまして。あいにく、私の技術力では、その辺の問題を解決できな
かったので、このような仕様となっております。

> やっぱりATフィールドは存在したのか。

AT field ではなく AT fluid なら、そこらのイエローハットあたりで売っている
かも。エネルギー保存則は維持されるはずですが。


07754/07705 BQO00549 konno Re^27: 壁の穴
( 1) 17/07/09 19:08 07753:としきさんへのコメント コメント数:1

> とりあえず、無限に増殖する問題に対して、最終的な解決を与えることができた
> ようです。

えーと、試した範囲では変わっていないような気がします。
以下に直リンクを

  http://152.081.hinocatv.ne.jp:9801/bbs/wforum.cgi

これで見てもらえますか。
まあ、「掲示板トップ」という罠を踏まなければ問題ないんですが。

板塀#2737 のようなリンクは正常に動作しているようです。
この応用で更新情報できないかしらん。

> AT field ではなく AT fluid なら、そこらのイエローハットあたりで売っている
> かも。エネルギー保存則は維持されるはずですが。

これが切れると暴走が止められないわけですね。(^^;
やはりメンテは大事ということでまとまるのだらうか。


07755/07705 CXB00940 としき Re^28: 壁の穴
( 1) 17/07/10 13:30 07754:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> えーと、試した範囲では変わっていないような気がします。
> 以下に直リンクを

うちで試すと直っているようなんですけど。
もしかして、ブラウザ側に問題があって、フレームの中が再読み込みされていない
とか。
まず、再読み込みしないで状況が再現するか確認し、それから再読み込みして、
さらに状況が再現するか確認してみてください。あと、ブラウザが異なると
状況が異なるという可能性もあるかもしれません。


> これが切れると暴走が止められないわけですね。(^^;
> やはりメンテは大事ということでまとまるのだらうか。

暴走っていうのは、制御が効かない状態なワケです。
なので、設計の段階で、きちんと負帰還が効くようになっていれば、ちょっとや
そっとはメンテの手を抜いても、大抵は大丈夫なはずなんですがねぇ。
例えば、原子炉でも、既存の商用炉は穴をあけると冷却が止まって暴走しますが、
開発中の高温ガス炉なんかでは、冷却を止めると反応が止まる方向に進むように
なっているわけだし。もちろん、穴をあければ放射能は漏れますし、利点がある
だけ欠点も多々あるはずですけどね。


07756/07705 BQO00549 konno Re^29: 壁の穴
( 1) 17/07/11 22:55 07755:としきさんへのコメント

> うちで試すと直っているようなんですけど。
> もしかして、ブラウザ側に問題があって、フレームの中が再読み込みされていない
> とか。

あれ? 今試したら直ってる!?
共用のPCでは直ってましたね。
ノートPCのほうは、挙動がちょっと違っていて、フレーム無しの表示になりました。
再読み込みしたらフレームが現れてそれ以降は増殖しなくなりました。
うう、フレーム無しがよかったのにぃ・・・・

> 暴走っていうのは、制御が効かない状態なワケです。
> なので、設計の段階で、きちんと負帰還が効くようになっていれば、ちょっとや
> そっとはメンテの手を抜いても、大抵は大丈夫なはずなんですがねぇ。

機械はそうなんですが、最近の暴走は人の誤操作や思い込みやなんやらで
人間系の暴走が増えていますよね、

でも壁の穴をふさげばもう安心。
さあ、これから人類の反撃ののろしをあげ
人類補完計画の完遂だぁ!!



・・・ああ、暴走が止まらない。



07757/07757 BQO00549 konno 新コンテンツ 「BBS 新着情報」
( 1) 17/07/12 23:29 コメント数:1

タマの猫ハウスに新コンテンツ 「BBS 新着情報」(仮)を追加しました。

トップページの一番下のリンクです。

としきさんから頂いた、LWPのソースを元にしています。
ありがとうございます。

VTDOS BBS
野ざらし言
今日のテーマ
の新着記事3タイトル表示します。

VTDOS BBS は解析が不十分なので、親記事が上になる変則的な表示になっています。

完全試行錯誤の泥縄式(縄文式)どつぼです。

永遠のみかん製ともいう。


07758/07758 BQO00549 konno MS-DOS Player の更新
( 1) 17/07/14 23:42 コメント数:1

MS-DOS Player 2017-07-14版が出ました!!
最近頻繁に更新がありましたが、今回の更新はびっくり!!うれしい!!

MS-DOS Player for Win32-x64 のページです。
http://takeda-toshiya.my.coocan.jp/msdos/index.html

以下、更新内容の引用です。
--------------------------------------------------------
2017/7/14
INT 21h, AX=440Ch, CL=5Fhをサポートしました。
INT 2Fh, AX=1A01h, CL=5Fhをサポートしました。
いずれもディスプレイの情報を設定するサービスですが、画面サイズのみ設定可能です。
MODE CON COLS=40 LINES=25とか出来るようになっているかと思います。

INT 21h/2Fhのサービスによって、コンソールに文字を表示する際に、
INT 29hの処理がフックされている場合は、INT 29hを経由するように修正しました。

制限として、INT 29hの処理がフックされている場合、STDINからの入力を待って、
更に入力に対してエコーを返すサービス(INT 21h, AH=01h/0Ah/3Fh)を実行中は、
仮想マシンのCPUの動作が停止して、タイマ割り込みが発生しなくなります。

これらのサービスの入力待ちの処理は、仮想マシンのCPU上でループするのではなく、
MS-DOS Playerのサービスの処理上でループすることで待機しています。
この待機中も、タイマ割り込みが発生できるように、CPUを回し続けるために、
別スレッドでサービスの処理を実行して、そちらで入力待ちをしてやって、
メインスレッドでは、CPUでダミールーチンを実行し続けるようになっています。
(この辺りについては、2017/2/22の記事をご参照ください。)

この別スレッドで実行しているサービスの処理内で、コンソールにエコーを返す際に、
INT 29hを実行するために、メインスレッドで回っているCPUに茶々を入れることが
構造的にとても難しかったため、INT 29hの処理がフックされている場合は、
サービスの処理をそのままメインスレッドで実行するようにしました。
このとき、メインスレッドで入力待ちをしている間、CPUの動作が停止してしまうため、
タイマ割り込みは発生できなくなります。

また、INT 29hの処理内で、再度コンソールに文字を表示するINT 21h/2Fhのサービスが
呼び出された場合、無限ループに入らないように、INT 29hは再発生しません。

今回の実装で、CPUコアからDOSのシステムコールのエミュレーションが呼ばれて、
その中で、INT 29hを実行してIRETするまでCPUコアを回してやって、
その中で、またDOSのシステムコールのエミュレーションが呼ばれて、といった感じで、
再入することを想定していなかった色々な処理を再入しまくってます。
何かしら処理に矛盾を来たしていないか、安定性に問題ないか、色々と苛めテストに
ご協力いただけますと幸いです。

本件は、VZエディタの私家版を開発されている、金野様よりご指摘いただきました。
VZエディタからDOSコマンドを実行する際に、INT 29hをフックすることで、
DOSコマンドの実行結果を取り込む、みたいなことをしているそうです。

Windows NTやOS/2上のコマンドプロンプトでも、コンソールに文字を表示する際に、
INT 29hを経由しないそうですが、意外と互換性が微妙なんですかね?
(この問題を補うために、toint29というソフトが公開されています)

------------------------------------------------------------------

ということで、実はMS-DOS Player 作者の武田さんに、
VZのコンソールが使えるようにならないかメールしたのです。
構造的に難しいとのことで、諦めていたんですが、実現してくれました!!
超嬉しいです!!

VZerにとってコンソールは大きな武器なので、これが使えないと実使用が難しい。
これから MS-DOS Player を本格的に試験運用していくつもりです。

武田さん、本当にありがとうございます。


07759/07758 BQO00549 konno MS-DOS Player の使い方と利点
( 1) 17/07/15 01:03 07758:konnoさんへのコメント コメント数:1

・MS-DOS Player の使い方と利点

i486_x86 の中のmsdos.exeをパスを通したフォルダにコピーして
ショート−カットアイコンのプロパティのリンク先に

C:\UT\msdos.exe -n40,120 vzibmj.com /vz

と入れて起動したら、120桁40行のV-TEXTで起動する


・・・と思ったら、今回のVerでは、80桁25行のままみたい。
どうやら、-n を入れるとダメみたいですね。
-n は使えないが、プロパティの中のレイアウトで行桁数変更できます。

command.com を使えば、BAT も常駐もできます。

C:\UT\msdos.exe -x -v7.0 e:\command /c c:\ut\vzp.bat


・MS-DOS Player の利点

多種類のcommand.com が動作する
MSDOS Ver2.0〜Ver7.1 Win98のcommand.comまで動くそうです。
PCDOS,DRDOSやFreeCOMやGRDOSまでも・・・凄いですね。
ただ、Win95のcommand.comで試したら、DIRが表示しないようです。
なので、現状 DIR でLFN表示は実現出来ていません。

ソーサーが動く(英語版ソフトなので文字化けはするが80*25で)
VTDOSでは動かないソフトも動く可能性があるということですね。



07760/07757 CXB00940 としき Re: 新コンテンツ 「BBS 新着情報」
( 1) 17/07/15 13:49 07757:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> 永遠のみかん製ともいう。

みかんせいじんのこうげき!
うゎ〜、やられたぁ〜!

いや、そうではなくて。
大元のサンプルにバグがあると、それをそのまま使ったプログラムにも当然バグ
が組み込まれるわけで。
いや、何がいいたいかというと、バグってます。
それも、私のサンプルからして。
まさに、#7326で私が書いた事の類例といってもいいかも。

何が悪いかというと、発言日時の取得ルーチン。
これ、最低限のチェックしかしていません。なので当然、余分なものがいっぱい
引っかかってきてしまいます。
結果、#7758のように、発言本文中に日付形式の文字列があると、その部分が全て
発言日時のフィールドだと誤解して、以下、不具合発生。
解決策は、チェックを厳しくすること。

とりあえず、うちのdummy.cgiは、今回のkonnoさんの発言だけは誤認しない程度
にチェックを厳しくしましたが、当然、その程度はすり抜ける発言が現れること
は十分に考えられます。

この際、きちんと対応されることを強くお奨めいたします。


07761/07757 BQO00549 konno Re^2: 新コンテンツ 「BBS 新着情報」
( 1) 17/07/15 23:53 07760:としきさんへのコメント コメント数:1

> いや、何がいいたいかというと、バグってます。

思いっきりバグってましたね。

> それも、私のサンプルからして。
> まさに、#7326で私が書いた事の類例といってもいいかも。

うう、1年以上前の書き込みですか、ほとんど覚えてない・・・
ツリーがやたら長いし、思わず読みふけってしまうし・・・

> 何が悪いかというと、発言日時の取得ルーチン。
> これ、最低限のチェックしかしていません。なので当然、余分なものがいっぱい
> 引っかかってきてしまいます。

ああそうか、タイトルに日付を入れたせいか。なんでかなぁ〜と思ってました。
早速VerUPか(違うって)



07762/07757 CXB00940 としき Re^3: 新コンテンツ 「BBS 新着情報」
( 1) 17/07/16 13:45 07761:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> ああそうか、タイトルに日付を入れたせいか。なんでかなぁ〜と思ってました。

タイトルではなく、本文に 2017-07-14といった日付が入っているのがいけないの
ではないかと思います。
あと、今日のテーマの新着情報だけ、不等号が尻尾にくっついていたりします。
それから、太字指定タグがついているけど閉じタグがないとか、なんかいろいろ
微妙に不自然。

> 早速VerUPか(違うって)

いや、違いません。
ここは一発、ぜひとも。


07763/07757 BQO00549 konno Re^4: 新コンテンツ 「BBS 新着情報」 Ver0.3
( 1) 17/07/17 21:20 07762:としきさんへのコメント

> タイトルではなく、本文に 2017-07-14といった日付が入っているのがいけないの
> ではないかと思います。

うう、完全にボケてました。頭が全く働かなくなってますね。(;_;)


> あと、今日のテーマの新着情報だけ、不等号が尻尾にくっついていたりします。
> それから、太字指定タグがついているけど閉じタグがないとか、なんかいろいろ
> 微妙に不自然。

正規表現の使い方がわかっていませんでした。
夜も寝ないで昼寝して試行錯誤を重ねてやっとまともになったと思います。

> > 早速VerUPか(違うって)
> いや、違いません。
> ここは一発、ぜひとも。

VerUP って、改善されたものを言うイメージを持っているんです。
今回のは単なるバグ取りなんでねぇ。
仕事では書類などの更新を リビジョンアップと呼称しているので
どう違うのかなと思ったら

> 「バージョン」は「版」と言う意味で、ソフトウェアの機能が異なる(機能の追加や変更がある)場合に異なった番号になります。
> 「リビジョン」とは「修正」「改訂」といった意味で、機能は変更せずに不具合を修正する場合にリビジョン番号を変更します。

こういうことですか。
表示ではなく呼び方的な違いということかな。
せっかくなので、見栄えも少し弄りました。


07764/07764 CXB00940 としき マッシュアップもどき その2
( 1) 17/07/18 16:08 コメント数:1
参照先:http://toshiki.la.coocan.jp/

ツリーも大きくなっているので、新しいツリーを起こします。

ご要望にお答えして、いろいろと検討してみました。
まず、#7733で検討依頼を受けた更新情報の件。
当初は、投稿があるたびにどうするか、ということを考えていました。
実際、とりあえず動く程度のサンプルを実装してみたのですがね。
ちょっとサーバのタイミングがずれるだけでエラーを吐いてくださる。この点は、
ロジックを変更せずとも、もっと速いサーバならば問題は出ないはずです。
あと、このルーチンをどこに入れるか、というのも問題。
投稿完了メッセージ出力直前が一番簡単なんですが、するとエラーになった場合、
投稿が完了しているにもかかわらずエラーメッセージが表示されるわけで、これ
はよろしくない。
また、発言の修正や削除があった場合にも情報は更新される必要があると思うの
ですが、そんなあちこちに不安定なルーチンを仕込みたくないというのもあって。
結局、サーバ上で時刻指定でバッチを動かし、定期的に更新情報をアップロード
することにしました。アップロード先はLaCoocan。URLは以下のとおり。
tp://toshiki.la(略)jp/itabei.rss
わざと、微妙に正時からずれた時刻にしてありますが、毎日、だいたい午前4時
ごろにアップロードされます。こういう形なので、即時性は担保されませんが、
少なくとも1日たてば確実に更新情報は反映されます。

次に、このRSSを使って、再びマッシュアップもどきを作ってみました。
今度は、うちの板塀とVTDOSの掲示板です。
当初はVTDOSの掲示板もRSSを取得する形にしたかったのですが、FC2のBBSで提供
しているRSSって、件数が少ないのですね。
でも、そうしなかった最大の理由(または本当の理由)は、日付の形式。
月が、数字ではなく、アルファベット3文字だったのですね。
これの変換が、難しくはないのですが、面倒で。
いや、面倒というのも変か。関数一発ですから。
やっぱり、件数が少ないことが真の理由かも。

その他、いろいろと小技も盛り込んでいます。
例えば、文字コードの変換。
せっかく、LaCoocanにはEncodeってライブラリが組み込まれているのですから、
こいつを使いましょうよ、というサンプルになっています。
使い方としては、
  外部から読み込んだデータは内部コードにdecode
  外部にデータ出力する前に内部コードからencode
  文字列処理は内部コードで行う
  ただし、スクリプト自体がShift-JISなら、日本語の文字列定数もdecode要
  (スクリプト自体がUTF-8なら文字列定数の処理不要)
といったところでしょうか。

最後、おまけ。
これはもしかしたら10#さんが嫌がるかな。
VTDOS BBSへのリンクに、妖しいオプションを仕込んでみました。
FC2 BBSにはこんな機能もあるんだよ、というサンプルになっています。

ということで、いろいろと怪しいサンプルCGIのURLは以下のとおりです。
tp://toshiki.la(略)jp/cgi-bin/rssget.cgi
例によって、拡張子を変更すればダウンロード可能。
もちろん、サンプルなんで、エラーチェックは甘アマ。
顕在化していませんが、動かないパターンやこけるパターンは頻出の予定です。

07765/07764 BQO00549 konno Re: マッシュアップもどき その2
( 1) 17/07/19 07:18 07764:としきさんへのコメント

> ご要望にお答えして、いろいろと検討してみました。
> まず、#7733で検討依頼を受けた更新情報の件。
> 結局、サーバ上で時刻指定でバッチを動かし、定期的に更新情報をアップロード
> することにしました。アップロード先はLaCoocan。URLは以下のとおり。
> tp://toshiki.la(略)jp/itabei.rss


おお、ブラウザで開くとRSSの更新情報そのままなんですね。
対応いただきありがとうございます。

> 次に、このRSSを使って、再びマッシュアップもどきを作ってみました。
> 今度は、うちの板塀とVTDOSの掲示板です。

おおお、これはいいですね。完璧です。

> その他、いろいろと小技も盛り込んでいます。
> 例えば、文字コードの変換。
> せっかく、LaCoocanにはEncodeってライブラリが組み込まれているのですから、
> こいつを使いましょうよ、というサンプルになっています。

うおおお、凄いですね、やっぱりライブラリで出来たんですね。

> 最後、おまけ。
> これはもしかしたら10#さんが嫌がるかな。
> VTDOS BBSへのリンクに、妖しいオプションを仕込んでみました。
> FC2 BBSにはこんな機能もあるんだよ、というサンプルになっています。

おお、わくわく、これから中身を見てみます。


07766/07758 BQO00549 konno Re: MS-DOS Player の現状
( 1) 17/07/20 20:18 07759:konnoさんへのコメント コメント数:1

ショート−カットアイコンのプロパティのリンク先に

C:\UT\msdos.exe -x vzibmj.com /vz -nq

で取りあえずVZは起動しますが、やはり commannd.com が無いとまともに動かない。
この環境で、set , Ver などのコマンドは動くが、CMD.EXE なのかしら?
これらの内部コマンドはVZのコンソールに反映されません。
 toint29 を使用してもダメなので、もしかして内部コマンドとか?

この環境での Vmap これはVZのコンソールに反映されます。

VMAP Version 2.01  Copyright (C) 1989-91 by c.mos

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
0205 sys    4    9152  <config>
0445        1    8192  <free>
0646 <--    1    3888  vzibmj 1.60t /vz -nq       1B 22 29
073A        1  724032  <free>
B800 sys    1       0  <config>

----- EMS ver4.0 (frame: C000h) -----       ----- XMS ver3.00 -----
handle pages   size  name                   HMA not used
------ ----- ------  --------               EMB free: 31680 KB
  free  2033 32528k
 total  2048-32768k


> command.com を使えば、BAT も常駐もできます。
> C:\UT\msdos.exe -x -v7.0  e:\command /c c:\ut\vzp.bat

さて、この指定で Windows10 Pro Ver 1607 のノートPCは動くが
 Windows10 Home Ver 1703 のデスクトップPCが動かない。
この詳細はもっと調べてから書きますが、まず現状の問題点を。

 shift + F08〜F10 キーが効かない
 ctrl  + F01 キーが効かない

これは痛いです。切り貼りなどで使っているので、これが使えないと実用出来ない。
この文は最初素のVZで書き始めたが、マクロも動かないので、Vmapの表示だけ。
次にcommannd.com経由のVZで続きを始めたが、切り貼り出来なくて即諦めました。

VTDOS 付属の KEYCODE.EXE で、キーコードが発行されてないのを確認しました。
 alt + F04 でMS-DOS Player が終了するのは仕様だから仕方ないですね。

ああ、やっぱりVTDOS環境は極楽だぁ。

> MSDOS Ver2.0〜Ver7.1 Win98のcommand.comまで動くそうです。
> PCDOS,DRDOSやFreeCOMやGRDOSまでも・・・凄いですね。

すみません、GRDOS は勘違いだったようです。
 GWBASIC をなぜかGRDOS と思い込んでしまったようです。
もうろくじじいだなぁ。


07767/07758 BQO00549 konno Re^2: MS-DOS Player の現状
( 1) 17/07/21 23:57 07766:konnoさんへのコメント

> > C:\UT\msdos.exe -x -v7.0 e:\command /c c:\ut\vzp.bat
> さて、この指定で Windows10 Pro Ver 1607 のノートPCは動くが
> Windows10 Home Ver 1703 のデスクトップPCが動かない。
> この詳細はもっと調べてから書きますが、まず現状の問題点を。

調べてみると、幽霊の正体見たり、みたいな面妖なことになっていた。
DOS6.2のcommannd.com が悪いのかも、と思ってFreeCOMのに入れ替えようと
VZで削除しようとしたが出来ない。他で使っていないのを確認して
エクスプローラーで削除しようとしたがファイルが見つからない。

システムファイルが表示されてないのかと確認し、隠しファイル
の表示にチェックを入れたら見えるようになった。
よく見ると、アイコンの色が薄いので、隠し属性になっているのか?
だが、VZの属性表示では何も属性が付いていない。
取りあえず、エクスプローラーで削除して、FreeCOMのに入れ替えた。

そうしたら、あっけなくMSDOS Player が動きましたよ。何だったんだ。

ところが今度はフォントのトラブルが。
英語モードになったのか、変なフォントに切り替わってしまった。
MSゴシックも消え、ターミナルもサイズ表示が消えて最小表示になる。

再起動しても変わらず、何をしても直らない。
色々試行錯誤した末にやったことはよく覚えていないが、たぶん
最小表示のまま起動させ、その窓の上のアイコンを右クリック
プロパティのフォントタブを開き、たぶん数字入力窓に20と入れて
Enter したら直ったみたいな。

ところで、CLPPST.EXE が動きませんね。古いデータを貼り付けるだけで
別窓のデータの切り張りができないです。

c:\vz\CLPPST.EXE /W c:\vz\CLPPST.TMP
This program must be run under Win32

コンソールの履歴にはこんな表示が。
32ビットコマンドがだめなのかなあ。

ZCPY32もダメみたい。

c:\vz\CLZCPY32 /u C:\VZ\-LES\12C1EA~1 C:\UT\IME
This program cannot be run in DOS mode.

ちょっと表示の化けがあるかな。

ZCPY32 /u C:\VZ\-LES\12C1EA~1 C:\UT\IME
This program cannot be run in DOS mode.

もう一度実行したら違う表示に。

ここまでMSDOS Playerで書いたが、CLPPST.EXEが動かないので
SAVEしてVTDOS窓で開いて切り貼りする羽目に。(^^;