ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

タイ、YouTubeを訴える

2007-05-08 18:04:31 | Weblog

ここのスラッシュドットニュース
タイもYouTubeを訴える
http://slashdot.jp/articles/07/05/07/2036200.shtml

によると(以下斜体は上記サイトより引用)

タイ国政府は、YouTubeを不敬罪で訴追することを検討しているようだ


罪になっても、罰金刑ならまだしも、
それ以外の刑って、どーやって執行するんだろう??
企業が懲役?
代表取締役を懲役っていっても、国外にいるわけで、
身柄を引き渡してくれるかは??


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

プログラムやテストデータを自動生成する方法 その2 インストール。

2007-05-08 14:23:43 | 開発ネタ

 雛形ソースを作成し、Excelの仕様書を用意すると、プログラムのソースやテストデータを生成する方法について説明するシリーズ、「プログラムやテストデータを自動生成する方法」です。

 今回は概要で、そこで、このシステムについて、必要なものは、
  ・雛形
  ・仕様書
  ・ソースファイルを作るExcelマクロ
 で、それがあると、プログラムやテストデータを自動生成すると書きました。

 今回は、その「ソースファイルを作るExcelマクロ」をダウンロードし、汎用的につかうため、ちょっと書き換えてみます。つまり、今日やることは、インストールであります。

 これで、あとは、雛形と仕様書があればOK!となります。




■ますはダウンロード

 まずは、そのプログラム(Excelマクロ)をダウンロードします。
 といっても、昨日すでに書いているので、そこにないてある内容を、そのまま書いておきます。(以下、昨日の内容)
 ここ http://www.geocities.co.jp/xmldtp/bw_makebrew.htm
の下のほうに、

ダウンロード:
    makebrew.lzhのありかは、ここ


とあります。そこの「ここ」をクリックすると、ダウンロードできます

makebrew.lzhというファイルです。

(ここまで)

で、昨日、書き忘れたのですが、このmakebrew.lzhを解凍してください。
そーすると、その中に(makebrewフォルダができるかもしれないけど、
その中に)仕様書.xlsというExcelファイルがあります。

それがBREW用にカスタマイズされた、
「ソースファイルを作るExcelマクロ」です。




■汎用的にするため、ソースコードを書き換える

 そこで、汎用的にするため、ソースコードを書き換えます。
 brew用のカスタマイズは、マクロの中にある、

 標準モジュールのユーザー作成部分にある、メソッド
 Sub initAppData()
  から
 End Sub

 までにまとめてありますので、ここを削除すればいいのですが、
 以下、その方法についてかきます。

●(1)まず、仕様書.xlsを開きます。
   マクロを有効にするかどうか聞いてきたら、有効にしてください。

●(2)つぎに、「ツール」→「マクロ」→「Visual Basic Editor」を選びます


●(3)そーするとVBE(Visual Basic Editor)画面が開きます。
 そしたら、右側のソースのコメントに「個別処理」と書いてなかったら、
 左側の「標準モジュール」の「ユーザー作成部分」と書いてあるところを
 ダブルクリックしてください

 わかんなかったら、「ユーザー作成部分」をダブルクリックすればOKです。
 (もし、個別部分が出てたら、何も起こらないだけなので)

(3)右側のそーすのところ、「前処理」の下に、
 Sub initAppData()
ってかいてあるとことがあり、
その下をずーっといくと
 End Sub
って書いてあるところがあると思います
(「後処理」まで行ったら行き過ぎです。
その2、3行くらい前にあります。)

その、
 Sub initAppData()
 から
 End Sub
までの間を削除します
(Sub initAppData()とEnd Subは
 削除してはいけません。これ削除すると、
 動かないと思います。
 間を削除してください)

そうすると、以下のようになります。


●(4)シートのほうに戻り、「画面一覧」シートを開きます。
 そして、「ドキュメント作成」ボタンを”右”クリックして
(普通にクリックしてもダメです、右ボタンをクリックです)
リストをだしたら、「切り取り」を選択(クリック)してください。

切り取られます。

●(5)「作業一覧」シートを開いて、てきとうなところで、
 おなじく右クリック、今度は、「貼り付け」を選んでください
 ボタンがはりつきます。


●(6)このシートを保存し、終了します
 「ファイル」の「上書き保存」を選び、保存、その後、
 「閉じる」を選んで、いったんExcelを終了します。




■動くかどうかテスト

 実験してみます。

(1)まず、必要であれば、解凍してさらに仕様書.xlsを修正した、
 ものが、(makebrewフォルダに入っているとします)入っている
 フォルダを適当なところに置きます。
  今回はC:ドライブ直下におきます(説明しやすくするため)

(2)さっき修正した、「仕様書.xls」を開きます。

(3)作業一覧を開き、5行目から下をいったん削除します

(4)5行目に、
 雛形ファイル名に、makebrewのあるフォルダの下のapp_c.txtファイル
を指定し(上記の例だとC:\makebrew\app_c.txt)

 仕様書シート名に「画面一覧」

 出力先名を、makebrewのあるフォルダの下のfukusu1.cファイル
を指定します。このファイルは存在しなくていいです。
(フォルダは存在しますが、ファイルは存在しません)
(上記の例だとC:\makebrew\fukusu1.cになります)

ここまでの操作をすると、以下のようになります。



ここで、「ドキュメント作成」ボタンをクリック、
「終わりました」というメッセージが出てきて、
出力先名に指定したところに、fukusu1.cファイルができていればOKです。




このシリーズの、次回から、雛形ファイルなど、細かい中身に入っていきます。





  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

画面定義をHTMLで行い、呼び出しをWebAPIでやる設計手順の試案 その8 使えないケース

2007-05-08 12:04:16 | 開発ネタ

なぜか、シリーズ化してしまった、「画面定義をHTMLで行い、呼び出しをWebAPIでやる設計手順の試案」です。

 やろうとしてるのは、
・HTMLで画面を作成し、

・AJAXでサーバ呼び出し、結果はXMLで受け取ったものを利用すると

・画面とサーバーが完全に分離する上に
 画面から、逆にさかのぼって要求仕様にまでもっていける

 としたときに、
 普通の開発方法論とは逆に、画面からさかのぼった方法について示そうとしています。

 そして、前回までのストーリーは、こちら
HTMLからサービスを抽出する
(1)画面をHTMLで作成する(ここがスタート)
(2)アクションなど、イベントを拾うところで、
    onイベント=ファンクション
   として、とにかく、ファンクションをfunctionでつくってしまう
(3)作った関数について
   サーバーアクセスするものは、関数の中に
     sv_access(呼び出し元、呼び出したいサーバーアプリ,"")
   みたいなかんじで、ダミー関数を書く
(4)grepで、(3)のダミー関数(sv_access)を、一覧で取得
(5)検索した内容をファイルに保存し、Excelで読み込み、
   WebAPIのサービス一覧を取得する
(6)でてきた呼び出したいサーバーアプリ=サービスを、
   1サービス1シートで、Excelシートにまとめる

●クライアント-サーバー分離
(7)クライアント側の画面と、サーバー側を完全に分離するためのダミーCGIを入れます。

●第二正規形の手法を使って、ER図にもっていく
(8)引数を入力データ項目、返り値を出力データ項目とし、
   それらが、一時的なものか、永続的データかを決める。

(9)永続的データをエンティティと属性部分に切り分けます。

(10)エンティティごとに、属性を書き足していきます

(11)一意にできるものがあったら、そいつを主キー、
    なければ番号をつけて主キーにして

(12)エンティティは完成

(13)この場合、繰り返しがあったら、別エンティティにして第一正規形
    エンティティ内で、ある値がきまったら、必ず他の値も決まった値になる
    という第三正規形があったら、分けたかったら分ける。

(14)外部のエンティティの主キーを参照キーとして持てば、
    他の値は持つ必要がなければいいやつは、参照キーだけをもちます。

(15)参照キーと主キーから関係は出ます。
    カーディナリティは、主キーのほうが1、参照キーのほうは、0~N,
    エンティティは(12)で完成したので、

(16)ER図がかけます。

●CRUD図を描いてER図とWebAPIの確認をします
(17)CRUD図を描いて、検算する

●DFDを書きます
(18)アクションを最下位プロセスとし、画面、メニューとさかのぼり
    DFDないしクラス図を完成させます。

●アクティビティ図等の作成
(19)各画面を、どの順番で動かすかを考えて、画面操作手順を書きます

(20)そこから、アクティビティないしは、ユースケース図をまとめるます
  誰が画面操作するか→アクター、レーン
  どの画面のアクションを→アクティビティ、ユースケース
  どの順番で、どの条件で、(並行条件も)→アクティビティ図の上下など



ということで、これで、全工程がおわったので、今回は、これでは出来ないケースについてです。




■出来ないケース

 画面に表示しない部分で、重要な処理をしている場合

 たとえば、データをキューなど、メモリ上のどこかに入れ、そのメモリ(キュー)に対して、いろんな操作をするんだけど、その条件と操作内容が複雑で、その操作内容自体に意味があるとき
 (例:証券取引所における、売り買いの約定の仕方など
    シュミレーションソフトにおける、シュミレーションの計算の仕方)

などというものの場合は、そのエンティティも、操作が見えないので、この方法では
処理内容までわかりません。

 なので、この方法では、あんまりうまくいかないかもしれません
 (ただし、その操作方法がわかるならOK)




■逆にうまく行きやすいケース

 受注、発注など、画面や帳票にデータがでていて、それを比較的やさしい方法で操作しているものは、画面や帳票を元に、そこからさかのぼって考えていくこのやり方でも、うまくいきます。




ということで、なぜかシリーズ化してしまった、このシリーズも、これでおしまいです。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする