2013年1月10日木曜日

AppleⅡについて

先日のブログでMacについて書いたので、昔、アメリカ出張した際に買ったAppleについて書きたいと思います。
非常に昔の事なので、いくらだったかは覚えていませんが、1ドル230円のレートでフロッピーが1台10万円、本体が40万円くらいしたと思います。当時は、アメリカ出張で会社からの出張費がたくさん出たので買えたものでした。

当時のパソコンとしては、ROM上に搭載されたBasic言語のゲームを楽しむものでしたが、Appleには、表計算ソフトやPasicalシステム開発環境までも揃っていました。
確か、マニュアルにはCPU命令やOSのコードも一部公開されていたと思います。
このような事から、コンピュータマニアの間でAppleを使ったシステムが、多く開発されました。詳しくは、ここをご覧下さい。
私が、買ったAppleは、英語版でしたが、その後日本語版Applrが販売されました。日本語版では、半角カタカナが表示されるようになりました。半角カタカナを表示するために、文字コードの範囲を7ビットから、8ビットに拡張する必要があります。私のブログのパソコン昔話に関連する内容があります。
英語版のAppleでは、キーボードからの信号データである1バイトのうち先頭1ビットをチャタリングビットと言ってキーが押された状態かどうか調べるビットになっていたので、日本語化には、回路設計が必要だったと聞いています。昔は、日本語対応するだけでも結構難しかったようです。
思えば、C言語のcharも、その昔は、signed charとなっていて、負の場合には、無効となっており実質7ビット表現となっていました。英語版では、文字コードとして7ビットの範囲で済むので、昔は、残りの1ビットをチャタリングビットとして利用していたかもしれません。。

2013年1月6日日曜日

Linux/Macについて

iPhoneなどのアプリケーションの開発を勉強するために、昨年の7月にMacBook Airを買いました。昔に、Mac関連のソフト開発をしたことがありましたが、そのころの開発環境とは全く異なり、様々なツールキットがあるようです。
構造も昔のMacというよりは、Linux/Unixに近いようです。
昔、ウィンドウシステムを開発するには、LinuxやUnixのようなプロセス起動方式は不向きであり、Macのようなスレッドを使ったシステムの方が向いていると書かれた論文もあったようです。新しいUnixなどでもスレッドを使っているのか分かりませんが、Windows開発環境以外には、Liunxの開発環境も熟知する必要があるかも知れません。
VirtualBoxなどの仮想環境でLinuxも動かすことが可能ですから、MacBookで確認したいと思います。

2013年1月4日金曜日

長く休眠していましたが再開したいと思います。

後1年ちょっとで定年になるのを期に、このブログを再開したいと思います。以前、YawdbaというWebデーターベースシステムを開発していることを書きましたが、その後のWeb開発状況が変わってきたので、Yawdbaについて方向性が変わってきています。
以前の話では、javaのサーブレットで、ブラウザに返すHTMLによりテーブル表示など行うようにしていましが、Ajaxの有効性が判明したり、その後HTML5が公開されたことから、Web画面表示をHTMLベースからJavascriptベースの変えようと思っています。
そのため、Yawdbaで表示する数値フィールドや日付フィールド、テーブル表示などをjavascriptの関数で生成できないか考えています。そこで、javascriptによるWeb部品生成プラットフォームを開発しています。
4.1.Yawdba JavaScript Toolにインタフェース仕様を書き出しました。できれば、グラフ表示のプラットフォームなどについても開発したいと思います。良かったらご覧ください。

また、このブログでは、今までコンピュータに関する話を多く書いていましたが、それ以外の話題でも書いていきたいと思います。よろしくお願いします。

2011年1月12日水曜日

ダイアログ画面を表示するJavaScriptツールキットを作りました。

通常、モーダルダイアログを表示するには、showModalDialog等を使って表示することになりますが、ブラウザ毎に動作が微妙に異なるケースがあります。そこで、Htmlのdivタグを使って、ダイアログ画面を表示するツールを作ってみました。



次のように、様々なブラウザからでも同一のインターフェースを用意するYawdbaBrowdwerクラスのインスタンスhywを用意した後、このhywインスタンスやタイトル名、ダイアログのサイズを引数にして、YawdbaDialogクラスインスタンスのdialogを作成します。

  var hyw    = new YawdbaBrowser();
  var dialog = new YawdbaDialog(hyw, 'YawdbaModal', 'タイトル', 200, 400); 
ダイアログを表示するには、dialogインスタンスのshowメソッドを呼び出します。
  dialog.show(100,200);
詳しくは、私の「Webデータベース開発のもう一つのアプローチ」サイトの「Yawdba JavaScript Tool」をご覧ください。
サンプルも掲載しています。

2010年12月30日木曜日

JavaScriptのツールキット開発を始めました。

久しぶりの投稿です。
現在、VMLエディターをSVGでも利用できるように改造中です。この改造にあわせて、JavaScriptでのツールキット開発も行っています。
今まで、JavaScriptは、ブラウザ組み込みのスクリプト言語としてしか思っていませんでしたが、JavaScriptでのクラス定義が可能なので、使いやすいツールキットの開発をはじめてみました。
クラスを利用すると、ツールキットとして使いやすいインタフェースが提供できる点が大きなメリットですが、JavaScriptの欠点としては、ブラウザ毎で仕様が異なることにあります。
そこで、各ブラウザ毎の動作を自動的に判断するクラスとメソッドを用意する予定あり、大体次のようになります。

/* UnifiedBrowderクラス内で、ブラウザのタイプを調べ、各メソッド処理を決定します。作成しれたクラスインスタンスは、myUBに代入されます */
myUB = new UnifiedBrowser(); 

/* myUBインスタンスのメソッドであるgetMouseButtonを呼び出します。getMouseButtonでは、各ブラウザ毎に異なる処理により左ボタン・右ボタン(例えば、左ボタンなら'L', 右ボタンなら'R')を返却します。このようにすることで、ブラウザ間で異なる処理を一つのメソッドで処理します。*/
var button = myUB.getMouseButton(e);

これだけだと、クラスまで利用せずに、関数で処理すれば良いように思えますが、関数だと、その都度簡単に関数を沢山定義することになり、収集がつかなくなってしまいます。クラスを使うと、このようなブラウザ依存を解消する処理群をメソッドとして、一つのクラスの配下にまとめることができるのが一番のメリットです。

そこで、クラスを有効に活用したJavaScriptツールキットを開発することにしました。Yawdbaデータベースシステムも、このJavaScriptツールキットを利用して構築したいと思っています。

2010年9月20日月曜日

VMLを使った簡単な図形エディターを作ってみました。

久しぶりです。今、JavaScriptを使って簡単な図形エディターを作っています。図形の描画については、マイクロソフトが作ったVMLを使っていますが、今後は、SVGにしないといけないかもしれません。ステップ数は、430ステップです。図形描画として直線、矩形、楕円だけですが、グラデーションや立体化、図形の移動などもマウスでできるようになっているので、結構コンパクトにできたと思っています。
文字列や多角形描画機能を入れても1000ステップぐらいになるかと思います。
使い方は、マウスドラッグにより、画面左のメニューに従って、直線・矩形・楕円を描画します。
また、図形をマウスで選択して図形の移動が可能ですが、さらに、マウス右ボタンで描画属性を変えたり、図形を消すこともできます。
図形が作成できたら、画面の中ほどにある「ソース」ボタンをクリックしてVMLタグリストを取り出し、Webページに貼り付けることで図形描画が可能となります。
このエディターを拡張したいとも思いますが、次には、SVG対応のエディターを開発することを先にしたいとも思います。
私のサイトに、このJavaScriptプログラムをアップしました。YawdbaサイトのJavaScriptのVMLエディターから添付ファイルをダウンロードしてIEで動作することができます。一息ついたら、プログラム解説を載せます。お待ちください。

2010年9月11日土曜日

JavaScriptと図形エディターを作成することができます。

ひさしぶりです。今、JavaScriptを勉強しています。

HTMLのタグでは、テーブルや文章、水平線しか表現できないと思っていましたが、VMLやSVGを使うと図形を描画することができます。これらのタグを使ってグラフを書くこともできます。まずは、VMLで開発しています。
VMLは、IEでしか使えませんが、今後はSVGでの開発も考えています。VMLについては、とほほのVML入門をご覧ください。

そこで、これらの機能を使ってJavaScriptで簡単な図形エディターを作れないか検討しています。マウスドラッグにより図形を描画できるようにしました。
マウス位置は、onmousedownイベント発生時のマウスのXY位置を取得と、マウス移動後のonmouseupイベント発生時のマウスのXY位置から図形の開始位置と終了位置を決定し、document.createElementでVMLタグを作成し、appendChildでdivタグ追加しました。

マウスドラッグの際には、マウスを移動するたびに図形枠を表示していますが、スムーズに動作しており問題はなさそうです。
現在、図形の塗りパターンや線パターンなどを追加していますが、作成できたらソース公開しますので待っていてください。