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

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

通話料とショートメールに加えS!メールも無料へ、ソフトバンクの無料化についてまとめ。

2006-10-24 23:18:50 | Weblog

ここのニュース
ソフトバンクモバイル、またもや“予想外”の行動--S!メールも無料へ
http://japan.cnet.com/news/com/story/0,2000056021,20285887,00.htm


によると、通話料とショートメールに加えS!メールも無料化になったそうな。

えーっと、ちょっと、話をまとめると、

<23日>
 2880円で、ゴールドプランに入ると、通話とショートメールがソフトバンク同士だと無料になると発表。

 この時点では、ゴールドプランは
(1)データ通信定額サービス「パケットし放題」
(2)「スーパー安心パック」
(3)留守番電話などの付加機能をパックにした「スーパー便利パック」
の3つに入らないといけない。かつ、上記3つは、解約できないといっていた。
なので、3つのサービス期間が終わると、2025円を追加した4905円(最低、これに
YAHOO!ケータイをつけるともっと高くなる)といっていた

<24日>
 本家に書いたとおり、ITPROによると、上記3つのサービスは、解約できる。
 つまり、解約して、2880円のままでもOKと、発表を変える。
 この変更になった理由は、ITPROの記事によると、ソフトバンクモバイル本社で、情報が錯綜していたため。。

<24日、今>
 それにくわえ、S!メールも無料化になった(ソフトバンク間だと思うけど。当然)

いまここ。




ひやー、これからどーなるんでしょうねえ。。
まだ、かわるかもしれませんよね。。
ショップとか、ついていけるのか??







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

NHK時計の木目調版が、ブログツールとして、もう公開されている!!

2006-10-24 20:42:35 | Weblog

NHK時計、いままで、青いのは、公開されていて、
木目調の時計が発見されたとありましたが、

もう、木目調版のNHK時計も、公開されているのですね。

ブログツール「NHK時計(木目調版)」、公開!!!
http://www.nhk.or.jp/lab-blog/02/1066.html


こっちのほうが、かっこいいかも。。。

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

仕様書からプログラムソースを生成する方法(Excelの仕様書編 その1:概要)

2006-10-24 16:42:38 | ケータイ

 シリーズBREWで複数画面を開発する場合の方法論で仕様書からBREWのソースを書き出すため、その前準備っとして、仕様書からプログラムソースを生成する方法というのを、書いているわけですが、前回、一般論として、

  雛型ソース  → 「変換プログラム」   → プログラムソース
              ↑
           仕様書(ファイル)


というカタチになると書いて、そして、

変換プログラムは、
1.雛形ファイルを読み込む
2.雛形ファイルの制御記号をさがし、その内容にしたがって、
  仕様書を読み込み、出力内容をつくっていく
3.出力する
と、書いていました。

今回は、具体的に、仕様書がExcelの場合、どうするか、ということついて書きたいと思います。
とくに、今回は、仕様書がExcelの場合の重要ポイント(これを間違うと、機能ごとに、Excelのマクロプログラムを作らねばならず、たいへんなことになるばかりか、自動生成プログラムのバグで、どうにもこうにも、いかない事態になってしまう)を最後に書きます。




■Excel仕様書の場合の、システム構成

●雛型ソース
 一般論でかいたように、テキストファイルで用意するか、あるいは、そのテキストファイルをそのままExcelシートにはり込んで、それを雛形にするケースがあります。
 雛形ソースに書く制御記号は、例に挙げたような

$#$REP 行数$#$ 繰り返し(指定行数から開始)
$#$REPEND$#$ 繰り返し終了
$#$CELL セル$#$ 指定したセルが入る
$#$KETA 桁$#$  繰り返し時、指定された桁が入る

のほか、
$#$IF 桁 値$#$  繰り返し時、指定された桁が、値だったら、$$IFEND$$まで処理する
$#$IF セル 値$#$ 指定されたセルが、値だったら、$$IFEND$$まで処理する
$#$IFEND$#$ ここまで、条件が成立したら、書き出す

のような、IF文は必要なのですが、それ以外の複雑なことは、やらせないことが
重要です(理由はあとで書きます)




●仕様書
 Excelで作成することになります。

 このとき、書き出し内容と、入力値が違う場合
 (たとえば、入力内容が大文字で、書き出し内容は小文字などという場合)
 このExcel上で、どこかの桁に、関数などを使って、書き出し内容を作成し
 (例だと=LOWER(大文字のセル)のような感じ)、それを見えないようにする

 というように、Excelシート上で処理加工して、(そのところは非表示にして)
 その内容をそのまま書き出したほうがいいです。

 なお、複数シートにわたるものの場合は、(たとえば、シート名を全部書き出す)
  自動生成開始時に、作業用シートを生成し、そこに処理加工結果を書き出し、
     処理加工結果をもとに(そのまま)雛形に値を入れて、書き出し、
  自動生成終了時に、作業用シートを削除する
 としたほうがいいです。

 理由は、最後に書きます。




●変換プログラム
 Excelのマクロで書きます。
 2種類のプログラムがあります。

 1つは、その仕様書固有のプログラム部分で、上記の「仕様書」のところに書いたように、書き出すための値を作成する部分です。
 このプログラムは、雛形に値を入れればいいだけのケースではありません。

 したがって、ここの部分のプログラムは、仕様書や書き出したい内容によって、変わります。

 もうひとつは、雛形を読み込み、出力する部分です。これは、
  1.雛形ファイルを読み込む
  2.雛形ファイルの制御記号をさがし、その内容にしたがって、
    仕様書を読み込み、出力内容をつくっていく
  3.出力する
 というカタチで、基本的にかわりません
 (繰り返しが、行のものと、列のものとがあり、それは、違うんだけど、それ以外は、
  IF文による分岐まで対応したものでは、基本的な構造は、かわりません)




●プログラムソース

これは、いろんなテキストになります。




■Excel仕様書で重要なこと

 このExcel仕様書を使う場合、重要なことは、いろんな種類のものを出す場合、

 1.雛形ソースを切り替えるか
 2.変換プログラムの1つ目の部分、つまり、
   仕様書をもとに書き出したい内容を作り出す部分

 のどちらかを(あるいは両方)を、切り替えます。
 しかし、雛形を読み込み、出力する部分は、基本的に変えないようにします。

 ここをいじってしまうと、出力内容ごとに自動生成プログラムを変えることになり、自動生成プログラムを作ること自体が1つの作業になってしまって、たいへんなことになる上、出力内容を修正したい場合、マクロも修正しないといけなくなる(さらに、そのマクロ関数が長くなってしまうので、何やってるのか、わかんなくなる)というわけで、すんげーたいへんなことになります。

 一方、上記のように、雛形を読み込み、出力する部分はいじらないようにすると、その部分の@うろグラムは枯れてきます。一方、それ以外の「仕様書をもとに書き出したい内容を作り出す部分」は、その結果をセルに書き出すので(それを見えなくはさせるが、非表示を解除すれば、見えるので)、目に見えて分かり、自動生成プログラムのテストがしやすく、バグが見つけやすいです。

 このため、
・雛形ソースは、あまり制御文を作らず、
・マクロで処理するがそのマクロを
   仕様書をもとに書き出したい内容を作り出す部分
   雛形を読み込み、出力する部分
の2つにわけ、「雛形を読み込み、出力する部分」はあまりなおさない
というようにします。これが、自動生成プログラムを簡単に作るために重要です。




 というところで、続きは次回のこのシリーズで。。。


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

Javaの画面表示-その11:SWTによる画面表示(その1:概要)

2006-10-24 15:00:30 | JavaとWeb

 シリーズJavaの画面表示のつづきです。
 AWT,Swingときたので、次はSWTです。
 SWTは、EclipseについているGUI作成用ツールキットです。

 くわしくは、ここ

第7回 EclipseによるSWTアプリケーションの作成
http://www.atmarkit.co.jp/fjava/rensai2/eclipse2_07/eclipse07_1.html


 を見てください。

 SWTには、まず、必要なjarと(Windowsの場合)DLLがあり、
 さらに、プログラムの書き方も、AWTやSwingと大きな違いがあります。

 なので、今回は、その辺の話を書きます。




■設定について

上記のサイトにいろいろ書いてありますが、結局やらないといけないことは

(1)SWT用のjarをプロジェクトに追加する
 Eclipseが入っているフォルダの下

  plugins¥org.eclipse.swt.win32_2.0.0¥ws¥win32

 に(¥は、本当は半角。win32_2.0.0の2.0.0の数字は違う可能性アリ)

 swt.jar

 というjarファイルがあるので、これを、プロジェクトのライブラリに追加する

(2)SWTのWin32用DLLを、プロジェクトのフォルダにコピー
 Eclipseが入っているフォルダの下

 plugins¥org.eclipse.swt.win32_2.0.0¥os¥win32¥x86

 に(¥は、本当は半角。win32_2.0.0の2.0.0の数字は違う可能性アリ)
 
  swt-win32-2047.dll

 というDLLがあるので(2047は違う数字の可能性アリ)、それを、

 Eclipseが入っているフォルダの下のworkspaceの下の、
 自分のプロジェクト名のフォルダのしたにコピーする
 (言い方をかえると、プロジェクトのjavaファイルとかが入ってる
  ところにおく)

●やりかたが、よくわかんないひとは、上記サイトを参照してください。
 そこに書いてあります。




■SWTと他のものとの相違点
 
●AWTではフレームに、Swingでは、フレームから作った他のものの場合は、
 Containerを作成して、そこに部品をAddしますが、

 SWTではディスプレイとシェルというのを作成します。
 そして、部品を生成するときに、シェルを引数に渡します。

●さらに、表示するときは、シェルをオープンしたあとで、

    // ウィンドウ表示のためのループ
    while (shell.isDisposed() == false)
  {
      	if (display.readAndDispatch() == false)
	{
        	display.sleep();
	}
    }
    display.dispose();

のようなかたちで、ループします。

●イベントは、

 部品のオブジェクト.add何とかListener(アダプタのオブジェクト);

というかたちで作成します。
そして、イベントの処理部分は、いままでは

private class gamen2_HandleEvent implements ActionListener

のように書いていましたが、SWTは

private class gamen1_HandleEvent extends SelectionAdapter

のようになります。




ということで、次回から、ソースを書いていきたいと思います。
(第一画面をSWTで作成します)


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

日本があげた人工衛星「だいち」の衛星写真、今日から発売&買い方

2006-10-24 01:41:10 | Weblog

 サイエンスZEROで、湧き水の水源なんかを探すのにも使えるとか話していた、人工衛星「だいち」がとった衛星写真、

 いろいろ説明していたのに、
 肝心の、どこで、売っているのかについて説明してなかった。

 なんで、めもめも

 くわしいことは、
 ここ
陸域観測技術衛星「だいち」の
定常観測運用への移行および観測データの一般提供開始について
http://www.jaxa.jp/press/2006/10/20061023_alos_j.html

にかいてあるとおり、

(財)リモート・センシング技術センター(RESTEC)

で、売っていて、そこの

データを購入するには
http://www.alos-restec.jp/buy.html


に購入できるものが書いている。そして、そこのALOS標準データの価格に、価格が載っている。
内部利用の場合、1シーン、税別25000円だそうな。

サイエンスZEROでは、アメリカの人工衛星会社のものより、安いみたいなかんじのこといってたんですけど。。。どーなんですかねえ??

ちなみに、サンプルプロダクトは、
ここ
http://www.eorc.jaxa.jp/ALOS/doc/jsproduct.htm
にあるみたいだけど、詳しいことは聞かないでくれ。
さっぱりわかんないぞ、この分野(^^;)

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