goo blog サービス終了のお知らせ 

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

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

Googleマップ、ブログやWebに簡単に貼り付けられる新機能を追加。

2007-08-23 19:50:06 | Weblog

ここのニュース
Googleマップ、ブログやWebに簡単に貼り付けられる新機能を追加
http://news.goo.ne.jp/article/internet/business/it/iw2007082301-internet.html

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


米Googleは21日、Googleマップで表示しているエリアを簡単にコピー&ペーストして、ブログやWebページに貼り付ける機能を追加したことを発表した。


どういうのかというと

貼り付けるHTMLは、iframeタグでGoogleマップを埋め込む形となる。


具体的に見てみましょう。

グーグルMap http://maps.google.co.jp/
にいきます。

ま、サンバカーニバルが近いので、浅草寺(東京でない人のために、”せんそうじ”とよみます。でも、”あさくさ”にあります ^^;)でも調べますか。。
で、「地図を検索」の左横のスペースに、浅草寺といれて、「地図を検索」ボタンをクリック。

 すると、浅草寺あたりの地図がでてくるので、そしたら、「このページのリンク」をクリックすると、下の図のように、オレンジのダイアログが出ます。

 そこのiframeタグのほう(下のNewのほう)が、それみたいです。
 Gooは、たしか、iframeが貼れないので、例がしめせないけど。。
 Gooが、ブログパーツ対応してくれないと、だめなんだよね。。

 早く対応してくれないかな(^^)



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

オブジェクト指向で開発の最初から最後までの手順例-その23:フレームワークその3

2007-08-23 17:21:11 | Weblog

 オブジェクト指向でやる場合の最初から最後までの流れを、実際の例を挙げて書いていくシリーズ「オブジェクト指向で開発の最初から最後までの手順例」、前回から、ここの「(3)フレームワークを決定する」をやっていて、前回、フレームワークの内容をぐちゃぐちゃ書いたので、今回、「結局何を作るのか?」をまとめます。




■つくるもの

1.画面
   ・各画面
   ★共通部分(呼び出し部分など)

2.コントローラー
   ★サーブレット
   ★返り値となるXMLのJSP

3.モデル部分
   ・各モデル部分のプログラム

4.DBアクセス部分
   ★各アクセス部分
   ★共通部分

以下、それぞれについて、前回の説明との関係について書きます。
(★の部分については、最後に説明します)



■画面

 画面は、操作画面ということで、各画面が必要です。
 前回の「■画面(View):ブラウザ、AJAXで処理」で示した分の画面があります。

 そして、そこに書いてある、呼び出しは共通化する予定です。という部分、そこを共通部分として、JavaScriptで書きます。各画面は、このJavaScriptをインポートします。




■コントローラー

 画面から送信されるイベント分、サーブレットが必要です。
 内容は、前回の「■コントローラー:サーブレット」で書いたとおりであり、自動生成が可能です。

 返り値のXMLは、JSPで作ることになっているので、その分のJSPも必要です。




■モデル部分

 これは、処理内容分必要です。
 内容は、前回の「■モデル:Javaプログラム」で書いた「書く中身」のところです。





■DBアクセス部分

 各テーブルごとのアクセスクラスと、
 トランザクション処理を行う共通部分クラス
 (コネクションをつくり、ロールバック、コミットをする)
 が必要です。




 このうち、一番初めに書いた★のところが、自動生成、あるいは共通部分となりますので、まず、ここについて次回から説明したいと思います。
(何から書くかは未定)


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

JavaとVC++における、同期処理について

2007-08-23 15:22:28 | Weblog

JavaやVC++で、一度に1つの処理だけをやらせたいという場合の方法です。



■Javaにおける同期

 Javaにおける同期は、synchronized指定で行います。
 メソッドを、
public synchronized void myMethod(int arg)
のように、 publicやprivate等のあと、返り値の型のまえに、synchronized指定をすれば、同期をとります。



■VC++での同期

VC++における同期は、前に示したミューテックスを使って、
  ミューテックスの値が、
     誰も使ってないときだったらOK,
     そうでなかったら、待ち。
     使用するときには使用中の値にして
     終わったら、クリアする
っていう方法”でも”できます。

けど、たぶん、
CCriticalSection
を使うほうがかんたん。

ここ
スレッドと同期
http://members.jcom.home.ne.jp/0434383301/vc9.htm

の「CCriticalSectionクラス」が分かりやすいと思いますが

1.インクルードする
#include <afxwin.h>
#include <afxmt.h>
(どっちか、いらないかも。<>は、当然半角)

2.変数を宣言
CCriticalSection Key;

3.ロックで開始、アンロックで解放
	Key.Lock();				//ロックをかける

	//**************************************//
	//	ここにやりたい処理を書く	//
	//**************************************//

	Key.Unlock();			//ロックを解除






こんなかんじ


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

開発の初めから順番に書いていってみる その81:単体テスト(6)例外をわざと起こす

2007-08-23 13:31:04 | 開発ネタ

シリーズ「開発の初めから順番に書いていってみる」の続きです。

 設計手順には、要求分析、外部設計、内部詳細設計・プログラミング、単体テスト、結合テスト、総合テスト、運用テスト及び運用とあります。
 (バックナンバーは、ここ http://www.geocities.jp/xmldtp/index_kaihatsu.htm)。

 今、「3.ドライバ、スタブ、テストデータの作成」をやっていて、ドライバと、テストデータについては書きました。

 ということで、今回は、スタブのお話です。

 といっても、スタブ=ダミーモジュールでして、これを、
アツく語れ!といわれても(^^;)

 具体的な例で言うと、データベースの入出力モジュールができて
いないとき、データベース入出力部分のダミーモジュールとして、
固定値をかならず返すようにしたり、CSVファイルを読み込んで、
その内容を返すようにしたものです。

 うーん、値を返すだけなので、アツくは語れん(^^;)

 ということで、その周辺の話題についてです。




■例外を発生させられるところが便利

 Javaの場合、例外をダミーモジュールで発生出来て便利という
のがあります。

いつでもどこでも、RuntimeExceptionは、発生させられます。
(Exceptionをキャッチしてなくても)
そして、try-catch内でなければ、そのまま落ちてくれます。
これを使って、どういうふうにうごいているか、トレースできる
っていうことがあります。

たとえば、このまえの階乗プログラムを
public class Kaijyo {
	public static int	kaijyo(int	su)
	{
		int	kekka = 1;

		//	エラーチェック
		if ( su	<=	0 )
		{
			return	-1;
		}

		//	計算
		for(int i = 1 ; i <= su ; i ++ )
		{
			if ( i == 3 )
			{
				throw new RuntimeException();
			}
			kekka *=	i;
		
		}
		
		//	結果
		return	kekka;
	}
}

(上記< > ¥は、本当は半角。赤字は目立たせるため)

赤字で書いたところのように、RuntimeException()をnewしてthrowすると、

java.lang.RuntimeException
	at Kaijyo.kaijyo(Kaijyo.java:17)
	at KaijyoTest.main(KaijyoTest.java:26)
Exception in thread "main" 

のように、そこでとまってくれて、どういう形で呼ばれたか示してくれます。
(KaijyoTestの行数は、前のプログラムと変えているので、
 前のプログラムのものではありません。
 赤字なのは、実際、Eclipseでみると、赤字で表示されます)




■DBの例外のとき便利

 これを応用して、DBで例外ってなかなか起きませんが、
ダミーモジュール内で、SQLExceptionをnewしてthrowしてしまい、
たしかめるということができます
(上記のメソッドのところが、throws SQLExceptionとなっているとき、

throw new SQLException();

 とかいて、エラーにさせる)

ま、こんなかんじで、ダミーモジュールで例外を発生させると
便利なこともあります。




■WebAPIの試験では、ダミー「モジュール」とは限らない

 WebAPIの試験において、APIを呼び出して何かするという場合、
ダミーモジュールすら書かず、結果となるXMLを書いて、
そのXMLを読み込んで、以降のテストをするということも
あり得ます。

 その場合、もはや、ダミー「モジュール」でもありませんね(^^;)




ということで、ドライバ、スタブ、テストデータの話はこれまで。



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