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

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

ドコモ、グーグルと提携、「グーグルの技術を活用した新型端末の導入を検討」って、android?

2007-12-25 15:01:13 | Weblog

今日の日経の1面、および以下の記事
ドコモ、グーグルと提携・ネット検索メールなど、新サービス開発
http://it.nikkei.co.jp/mobile/news/index.aspx?n=AS1D2400O%2024122007

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


 NTTドコモはインターネット検索世界最大手の米グーグルと提携する。来春にもグーグルの検索やメール機能をドコモの携帯電話向けネットサービス「iモード」に組み込むほか、グーグルの技術を活用した新機能の開発や新型端末の導入を検討する。


そうなんだけど、ここでいう、
グーグルの技術を活用した
新型端末
って、androidのこと?android端末がDocomoから出たら、たしかに、話は大きいよね!


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

Java Appletを使って、HTMLからビープ音を出す

2007-12-25 01:38:22 | JavaとWeb

 前に、Java Appletについて書いたので、Java Appletを使って、
HTMLのinputタグでできるボタンをクリックすると、ビープ音が
なるという方法について、書いてみたいと思います。




■Beep音をJavaで鳴らすには

まず、Beep音をならすには、

java.awt.Toolkit.getDefaultToolkit().beep();

で、できます。
ってことで、appletは、こんなかんじ
import java.awt.*;
import java.applet.*;

public class Test1 extends Applet {
	
	/*
	 * 初期化
	 */
	public void init()
	{
	}

	/*
	 * スタート
	 */
	public void start()
	{
	}

	/*
	 * ストップ
	 */
	public void stop()
	{
	}

	/*
	 * 終了
	 */
	public void destroy()
	{
	}

	/*
	 * 表示
	 */
	public void paint(Graphics g)
	{
	}

	/*
	 * ビープ音をだす
	 */
	public void beep()
	{
		java.awt.Toolkit.getDefaultToolkit().beep();
	}
	
}

beepというメソッドは、appletから継承されているメソッドではありません。
なので、開始時も終了時も描画時も呼び出されません

ま、これを、Test1.javaというファイルに書いて、
Test1.classをつくります。




■アプレットにある任意のメソッドを呼び出すには?

 そこで、アプレットから、beep()というメソッドを、
ボタンが押されたときにだけ、実行することにします。
下記のよう書いた(<>は半角に変換して)ファイルをtest1.htmという名前(ファイル名は実は何でもいいけど)で保存します。
<html>
<head>
 <title>Applet Test</title>
</head>
<body>
 <applet id ="Test1" code="Test1.class" width=0 height=0></applet>
 <input type=button value="ビープ音" onClick="document.Test1.beep()">
</body>
</html>

(上記< >は、全角で書いてますけど、本当は半角です)

アプレットにIDをつけ、(ここではTest1)宣言しておき、
ボタンがクリックされたとき、onClickにきますけど、そこで

document.アプレットにつけたID.呼び出しメソッド()

ここではdocument.Test1.beep()

を呼び出すと、ビープ音がなります。

P.S サーバーに置くときは、test1.htmとTest1.classを同じフォルダ(ディレクトリ)内においてくださいね。


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

グーグル、押切もえさんらを起用し、「マイマップ」のテコ入れだそうな。。。

2007-12-24 22:37:53 | Weblog

ここのニュース
テコ入れ策に押切もえ起用、グーグルが「マイマップ」で
http://headlines.yahoo.co.jp/hl?a=20071223-00000114-yom-bus_all

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

インターネット検索大手のグーグルは、ファッションモデルの押切もえさんらを起用し、オリジナル地図を作ってネット上で公開できるサービス「マイマップ」のテコ入れ策に乗り出した。

 高度な検索技術が売り物のグーグルが著名人を使ったキャンペーンを展開するのは極めて異例だ。


おお、グーグルも、押切もえさんですか・・・
そのうち、萌えや声優路線に行く日も近いと見た(^^)

・・・ところで、「マイマップ」って、なに(^^;)

ここ http://www.google.co.jp/help/maps/mymaps-expo/

らしいけど。。

萌えよりも、聖地巡礼マップのほうが、アリかな
(念のために言っておくけど、メッカとか、そーいう話をしているのではない)





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

いろんなコンピューター言語の覚え方:その12 プログラムの分割

2007-12-23 11:34:19 | 土日シリーズ

土日シリーズ「いろんなコンピューター言語の覚え方」
前回までで、1ファイルでプログラムを作る場合の話は終わりました。
今回は、複数ファイルに分割して、プログラムを作る場合についてです。




■複数のファイルのわけかた&引用の仕方

 Javaなどは、クラスごとに分けるときまって?ますけど、ほかの言語の場合、(CとかPHPとか)は、関数レベルで、すきに分割できます。

 問題は、分割した時、そのクラスや関数を使いたい場合です。
 これには、import(JAVAの場合)や、include(Cなどの場合)をして利用します(しなくてもできるときがあるが、原則)
 ただし、言語によっては、Cだと、includeしただけでなく、externをしないといけないとか、ほかにも約束事がある言語があります(includeといっても、書き方は言語によって違います)

 また、PHPやPerlでは、includeしたら毎回インクルードする命令と、1回だけインクルードする命令があります。




■変数の利用できる範囲と生存期間

 ここで問題になるのは、変数の利用できる範囲(スコープ)です。
 まあ、関数内に書いたら、関数内、これはいいんですけど、関数の外に書いた場合、そこから下の関数が使える、では、ほかのファイルの関数が使うには?っていう話とかです。Cだとexternですが、ほかの言語だと違います。

 また、その変数の生存期間も問題になります。

 関数が終わったら、消えてしまうのはいいのですが、staticすると、生き残っている(前の値が使える)っていうことに注意です。この場合、どこで初期化されるのか、というのが言語的には問題ですし、テスト的には、前の値がのこってて、ほんとに大丈夫か?排他制御とかする必要ある?ということを考えないといけません。




 ってことで、今回はおしまい。

 次回は総まとめです。


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

失われた20年-ソフト業界は変わったのか? その24:現在へ

2007-12-22 23:57:27 | 土日シリーズ

20年位前、1980年代終わりごろから、最近まで、ソフト業界とかその周辺の変遷について、特にソフト開発の立場を中心に見て行く、土日シリーズ「失われた20年-ソフト業界は変わったのか?」その第24回目。前回まで、2003年までをみてきましたが、今回は、その後、最近までの流れを見てみたいと思います。




■開発から、テスト・運用へ

 時代の流れは、開発においては、アジャイルがではじめます。
 JUnitなどを使って、テストファーストの開発・・・というのが、部分部分的に取り入れられ、
 結果として・・・アジャイルじゃないじゃん(^^;)

 って現状なのですが、それにともない、開発より、テスト、運用が注目されるようになってきました。ITILとか。

 あとマネージメントのPMBOKなども、注目されてきましたが、日経オープンシステムが日経システム構築、そしてマネージメント中心?の日経SYSTEMに代わってきたように、開発もマネージメント、PMが注目されるようになってきましたね。

 テストに関しては、妥当性から検証へ興味が移ってきたかもしれません。
 形式仕様が注目されたり




■Web2.0へ

 しかし、それよりも大きな変化はWeb2.0と、それに影響されたAJAX、Flashなどによるマッシュアップによる開発だと思います。

 いままで発信者がコンテンツを作るWeb1.0に対し、受信者の側が参加し、コンテンツを作っていくWeb2.0という考え方が大きく力を持ってきました(って、それ以前から、2ちゃんねるはあったわけで・・あれこそWeb2.0では?という気もするが・・)

 これにともない、ユーザーがいろいろコンテンツを組み合わせるマッシュアップという考えが出てきたのですが、それを逆に考えれば、サーバー側はサービスを提供する、SOAでないといけないことになります。ところが、それ以前のSOAはSOAPが中心だったので、Web2.0のサーバー側が提供するREST型のプログラムとはちょっと違った展開になってしまっている気がします




■PCの高性能化、よりケータイかな?

 PCもクワッドコアでしたっけ?すごいMPUがでてきて、わけわかんないCMしてますけど、PCより、ケータイがいま、力をもってきていて、ネット利用では、PCより、ある意味、上回ってるかもしれません。ケータイに関しては、開発プラットフォームを統合しようとする動きがいろいろ出ています。




ってなかんじですかね。

次回は、総まとめです。



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

「日経BP記事検索サービス」、大学に置いてあれば、日経BPの雑誌のバックナンバー見放題

2007-12-22 20:17:18 | Weblog

 ウィリアムのいたずらは、放送大学大学院の科目履修生(今後はさておき、今は)ってことで、今日は、文京学習センターでやっていた、「日経BP記事検索サービス 大学版」の説明を聞いてきました。

ここ http://bizboard.nikkeibp.co.jp/daigaku/

がその、「日経BP記事検索サービス」で、検索対象の日経BPの雑誌は、左の「雑誌ラインアップ}にあるように、


■ビジネス関連雑誌
日経ビジネス
日経ベンチャー
日経エコロジー
日経BPガバメントテクノロジー
■コンピュータ関連雑誌
日経コンピュータ
日経情報ストラテジー
日経SYSTEMS
日経ソリューションビジネス
日経ソフトウエア
日経Linux
■パソコン関連雑誌
日経パソコン
日経PC21
日経PCビギナーズ
■ネットワーク関連雑誌
日経コミュニケーション
日経NETWORK
■電子・機械関連雑誌
日経エレクトロニクス
日経ものづくり
日経マイクロデバイス
日経Automotive Technology
■建設・土木関連雑誌
日経アーキテクチュア
日経コンストラクション
日経ホームビルダー
■サービス関連雑誌
日経デザイン
日経レストラン
日経ヘルス
日経WOMAN
日経TRENDY
日経マネー
日経キッズプラス
日経おとなのOFF
■医療関連雑誌
日経メディカル
日経ヘルスケア
日経ドラッグインフォメーション
■雑誌アーカイブ
日経アドバンテージ
日経ビズテック
日経Windowsプロ
日経インターネットソリューション
日経IT21
日経バイト
日経MAC
日経ネットビジネス
日経デジタルエンジニアリング
日経食品マーケット
日経バイオビジネス
日経EW


とまあ、日経コンピューターをはじめ、だいたいそろってる。

で、放送大学内だと、つまり、今日の説明では、記事までみれた。

ちなみに、放送大学外だと、雑誌は、表紙までしか見れず、検索はできない。

でも、そーすると、放送大学って、科目履修生はお金払えばだれでもなれるんだけど
(このためなら、2単位=1授業+入学金で、大学のほうなら、3万ぐらいで、半年)
そーすると、見放題(^^;)

 ま、放送大学以外でも、大学に「日経BP記事検索サービス」があれば(150の大学にあるらしい)見放題!!

 ちょっと、いいかもお・・・

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

JavaAppletのサンプル

2007-12-21 18:01:20 | JavaとWeb

最近気がついたんだけど、このブログで、一度もAppletの
サンプルを書いていない気がするので、書いてみました。




■必要なファイル&仕様

 JavaAppletの場合、Javaのプログラムのほかに、
アプレットを呼び出すHTMLファイルが必要になります。

で、今回は、

・アプレットを呼び出す側で、引数noに数字をセットして
・その数字を、X=(数字+1)*10,Y=(数字+1)*10の座標に書き出します。

 今回は、その数字(no)に、5をセットしますので、
 5を、(x,y)=(60,60)に書き出します。
 アプレット名は、Test1.classとします。




■JavaのApplet
 Javaのアプレットクラス、(Test1.java)は、以下のとおりです
import java.awt.*;
import java.applet.*;

public class Test1 extends Applet {

	String	str = "0";
	
	/*
	 * 初期化
	 */
	public void init()
	{

		//	パラメーターから値取得
		String nostr	=	this.getParameter("no");
		if ( nostr	!=	null )
		{
			str	=	nostr;
		}
	}

	/*
	 * スタート
	 */
	public void start()
	{

	}

	/*
	 * ストップ
	 */
	public void stop()
	{

	}

	/*
	 * 終了
	 */
	public void destroy()
	{

	}

	/*
	 * 表示
	 */
	public void paint(Graphics g)
	{
		int no;
		try
		{
			no = Integer.parseInt(str);
			no++;
		}
		catch(Exception e)
		{
			no	=	0;
		}
		g.drawString(str,no*10,no*10);	
	}
}

(上記< > ¥は、本当は半角)

 このソースをclassファイルにしたものが、アプレット対象ファイルとなります。




■呼び出すHTMLファイル
 で、アプレットの呼び出しHTMLは、こんなかんじ
<html>
<head>
<title>Applet Test</title>
</head>
<body>
<applet code="Test1.class" width=300 height=300>
<param name="no" value="5">
</applet>
</body>
</html>

(上記< > ¥は、本当は半角)

なお、ここでは、appletタグを使っているけれど、
appletタグは推奨されていない。
ので、Objectタグでいいかというと、FireFoxとIEで
Objectタグの書き方が違う。
くわしくは、
appletかobjectかembedか
http://oku.edu.mie-u.ac.jp/~okumura/java2/whichtag.html

が分かりやすいと思います。


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

ネットワークのキーワードまとめ-Web表示(1)

2007-12-21 14:22:09 | Weblog

 シリーズ「ネットワークのキーワードまとめ」の続き。
 今回から、何回かに分けて、WebでURLを入れたら表示されるまで(=HTTP)を、OSIの7階層に沿って説明してみたいと思います。

 まずは、クライアント側から信号が出るまで
 (今回自信ないです。多少間違ってたらごめんなさい)




<<アプリケーション層>>
1.ブラウザから、表示したいURLを入れます http://www.yahoo.co.jp などです。
2.アプリケーションでは、このURLをWebを検索、表示するためのHTTPプロトコルにします。
 (書き出す内容は、セッション層で説明します)

<<プレゼンテーション層>>
1.書き出す内容中、必要があれば、コード変換やURLエンコーディングを行います。
  →今回は日本語がないので、 ここの変換はありません。
 (書き出す内容は、セッション層で説明します)

<<セッション層>>
 ポートを指定して、送りたいデータを、ソケットを使って送ります。
 (以下Javaのソケットで説明します)

1.まず、ソケットをOPENします。
  このとき、つなぎたいURL、相手先ポートを指定します

  Socket socket = new Socket("www.yahoo.co.jp",80);

2.コネクションが確立すれば、通信先(OutputStream)がもらえるので

3.内容を書き出します。
  GET / HTTP/1.0
  (1.0のあとに、改行2つ。) 

<<トランスポート層>>

1.送信内容を受け取り、適当な大きさのセグメントにします。

2.そしたら、送信元ポート番号を適当に設定します。
  (宛先ポート番号は、セッション層で受け取っている)

3.3ウェイハンドシェークを行って
  シーケンス番号を受け取り

4.セグメントのヘッダをつけて、送信します

<<ネットワーク層:IP>>

1.もし、宛先がURLでIPアドレスでなければ、DNSでIPアドレス
  をもとめます。

2.自分のIPアドレスなどを付けて、ヘッダを作成します。
  (自分のIPアドレスが分からない/決まってない場合は、
DHCPやBOOTP,RARPによって、取得しているはずです)

3.その内容を投げます
 →自分のネットワーク内なら、その人のところへ、
  他のネットワークへならデフォルトゲートウェイへ
  投げられます。

<<データリンク層:イーサネット>>

1.送り先のMACアドレスが分からない場合、
   あらかじめ、ARPによって、送りたいIPアドレス
   (は、ネットワーク層の3より分かります)をセットして
   ブロードキャストすることにより、わかります。 

2.ネットワーク層のデータに、送り先MACアドレス、自分のMACアドレス
  などを付けて、送ります。

<<物理層>>

1.データリンク層の送信内容を、マンチェスター符号化などにより、
  電圧の高低などの電気信号等に変えて、線に送信します。




次回は、中継するスイッチとか、ルーターとか




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

社民党もYouTubeチャンネル開設・・・だけど

2007-12-20 18:13:49 | Weblog

ここのニュース
政界にネット動画ブーム? 社民党もYouTubeチャンネル開設
http://headlines.yahoo.co.jp/hl?a=20071220-00000003-sh_mar-sci

にあるように、自民党に続き、社民党もYouTubeにチャンネルを開設したようだ。

ここ http://jp.youtube.com/shaminparty
(注意:読み込み後、すぐに始まり、たぶん音もなります)

でも。。

うーん、コンテンツがすくないぞ!


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

オブジェクト指向で開発の最初から最後までの手順例-その42:雛形(15)

2007-12-20 17:16:43 | 開発ネタ

久々に、オブジェクト指向でやる場合の最初から最後までの流れを、実際の例を挙げて書いていくシリーズ「オブジェクト指向で開発の最初から最後までの手順例」です。

 現在、「いままでのまとめ」にある、「(4)フレームワークにもとづき、クラスなどの開発手順、雛形の確定」をやっています。で、モデル部分、コントローラー部分については終わったので、今回は、View,すなわち画面部分について、どんなものを作るかの概要です。




■画面部分に関して

 Viewの画面部分は、各画面に関しては、HTMLエディタというか、HTMLを作るツール(Microsoft FrontPageやホームページビルダーなど)で作成するとして、ボタンが押されたとき起動するJavascript(AJAX)部分をプログラムすることになります。

 AJAX部分に関しては、サーバーにアクセスして、(コントロール部分である)サーブレットを呼び出し、その返り値XMLを受け取って、値を取り出し、処理加工して、画面にセットすることになります。

 ここで、「サーバーにアクセスして、(コントロール部分である)サーブレットを呼び出し、その返り値XMLを受け取って、値を取り出」す部分が共通部分になります。

 そこで、この部分のJavaScriptを提供することにします。




■提供するJavaScriptの内容とポイント

そこで、提供するものは

(1)呼び出してXMLを受け取る
(2)XMLから値を取り出す

という2種類のものにします。

(1)は、URL、引数、返り関数、POST/GETを渡すと、値をとってくることにします。
ここでのポイントは、GET型の場合、キャッシュにセーブされてしまうので、
引数に現在時間をセットして、キャッシュされることを防ぎます。

(2)は、XMLのタグを指定してもらって、値を受け取ります。
サーブレットのフォーマットが決まっているため、それをもとに
取り出す方法を考えます。




っていうことで、次回は実際のプログラム。



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

GoogleのAndroidがボード上(W-SIM端末)で動いてて、通話も出来てるよ!

2007-12-20 15:43:51 | Weblog

ほんとほんと。
ここのスラッシュドットニュース
WILLCOMコアモジュールフォーラム、Androidでの通話に成功&公開デモ実施
http://slashdot.jp/mobile/article.pl?sid=07/12/15/0034213

にかいてある、WILLCOMコアモジュールフォーラムに行ってきたんだけど
(今日12月20日、13:00から、航空会館7階の奥のほうの会議室)

すげー(@_@!)
 FreescaleのiMX31っていうのに、W-SIMをつなげたものの上で、Androidがうごいてて、ちゃんと画面も出てて、立方体をぐるぐるさせるデモもできていて、電話もかけられたし(117にかけて時報がきけた)、かかってくる電話に出ることも出来てた。

 で、そのデモなんだけど、
「Google Android デモンストレーション」ということで、WILLCOMコアモジュールフォーラムの組み込みLinuxWGの近藤氏(富士通ソフトウエアテクノロジー)が行ってました。

 そのWG内で、Androidが載るかということに興味を持って、行ったらしい。

 アプリ(.apk)
   ↓
 Dalvikバイトコード    クラスライブラリ
 (.dex)            |
   ↓            ↓
 CPUネイティブコード   CPUネイティブコード

                Dalvik VM(ARM V5)
------------------------------------------------------

               Linuxカーネル



っていう感じのところ、Linuxカーネルをi.MX31のPHS用にして行ったそうな。

iMX31評価ボードは、ARM11 532MHzで、RAMが128M,FlashROMが64Mだそうな。

タッチパネルに対応していた。

まだネットにはつながらない(データ通信は出来ていない)そうな。
(手弁当でやっている状態なので、一部出来てない機能がある)

また、アプリが動いているときに電話がかかるデモをやったが、相手が電話を切っても、アプリに戻らず、電話のまま(手作業で戻す)という形ではあった。

ちなみに、ARMはV5でないとだめで、V4では失敗している人がいるそうな。

GSMのATコマンドを拾って、W-SIM用に変換する必要があるかもお??(ただ、Androidの思想的には、そー言うの関係無しにつながるべき?)ということも話していたが、ごめん、ウィリアムのいたずら、この辺詳しくないので、よくわかんない。

Googleとは、なんのコミュニケーションもなしに、手弁当的につくったらしい。
ということで、富士通で事業化するとか、そーいうものではないそうな。

もったいねー、それは、富士通、1億円が入ったバッグを御茶ノ水の神田川の端の上から、何個も捨てているようなものですよ!
 Androidは、いままでのケータイアプリとはちがって、GoogleGearにちかくて、ローカルDBでデータを持って、いろいろできる。これが、W-SIM端末で動くとなると、今までと違って、業務アプリをそのままケータイっぽい端末で操作できるようになるので、かなり幅が広がると思う。Javaでアプリは作りやすいわけだし・・

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

ネットワークのキーワードまとめ-インターネットとは

2007-12-20 12:10:56 | Weblog

シリーズ「ネットワークのキーワードまとめ-セッション層~アプリケーション層編」の続き。
インターネットについて、むりやり、大雑把に説明するです。




■世界中の人とおはなしするには?

 世界中の人と、お話しすることを考えましょう。
 一番手っ取り早いのは、大声で話すことです。
 でも、世界の裏側まで声も届かないし、みんながしゃべったら、声が重なって、何言ってるんだか、わかんなくなります。

 そこで、考えました。

1.何人かのグループにわけ、代表者をきめる。
2.グループ内で、お話してもらって、
3.他のグループに伝えないといけないことは、
   代表者がまとめて、他のグループにつたえる。

実社会でも

1.町の人が話し合って、町内会で決める。
2.他の街にも関係することは、市の会議で決める
3.他の市にも関係することは、県の会議で決める
4.他の県にも関係することは、国会できめる
5.他の国にも関係することは、国連できめる??(ちがうかな??)

っていう具合に、自分たち以外のことについては、代表者が話し合って・・
っていうふうになってますよね。




■ただ、1つの会議にしか参加しないと・・・

 上記のような場合、市で決まらないことは、その市が属する県で話す・・というふうに、話し合うルートが決まっているのですが、もし、通信で、このようなふうに、代表者は、自分の所属するところ1箇所にしか通信できないというように、ルートが決まってしまうと、その場所が通信不能になったとき、こまります。

 県で話そうとしたとき、県庁が急になくなることはありませんが(ふつう)、通信の場合、自分が所属するプロバイダが通信不能ということも、ありえなくはないです。

 ということで、インターネットにおいては、代表者が、ほかのところと通信する際には、通信可能な経路を選べるようになってます。




■2種類の通信

 そー考えると、2種類の通信があるわけです。

 1つは、グループ内ローカルで、話し合う通信
 もうひとつは、グループ外にメッセージを届けるため、代表者が通信経路を探して、メッセージを送っていく部分です。

 はじめのグループ内ローカルで話し合うところがLANに相当し、
 グループ外にメッセージを届けるところがWANに相当します。

 そして、この代表者が、ルーターやサーバーになってきます。




■ローカル通信

 ローカルな通信について考えると、ローカルでわいわいさわいでもいいし、ちゃんと、学校のように手を上げて、「なんとかくん」ってさされると、その人が発言権を得て、発言するという形もありえます。

 ローカルでわいわいさわぐ、つまり、発言権はきまってなくて、しゃべって泣ければ自由にしゃべる方法が、イーサネットです。発言権を得る方法は、トークンリングという方法で使われますが(トークン=発言権)、発言権のまわし方は、誰かがさすのではなく、順番に回ってきます。




■代表者が通信経路を探す

 一方、代表者が通信するほうですが、代表者がいっぺんに騒いでも、やっぱ話が混線してしまうので、そうならないように、代表者もいくつかのグループに分けて話し合い、さらに、その中から大代表をだし、その大代表同士が話し合い、その中から大々代表をだすというような階層的な方法になっています。

 そして、これらの代表者会議?のうち、どの会議に出れば、メッセージを使えられるか(=どこを通れば通信がつながるか)という経路を探すことが、重要であり、その方法は、いろいろあります(RIPとか)

 で、代表者が、他の代表者につたえるとき、どこに伝えたらいいかわからないとこまりますので、この代表者間で、どこからどこへ伝えたらいいのかを示すIDが、IPアドレスになります。
 一方、上記ローカルで、どこからどこへ伝えたらいいのかを示すものが、MACアドレスになります。




■TCP/IPモデルとOSIモデル

 CISCOのCCNAなどでは、TCP/IPモデルとして、通信を4階層にわけています。

 上記のLANなどのローカルなやり取りのところを、「ネットワークアクセス」
 その上の代表者が経路を探して通信するところを、「インターネット」です。

 さらに、経路を通してやってきた通信を組み立てて、きてないデータがあれば、再送してもらうなどの、通信データがちゃんと届いているようにする役割が「トランスポート」になります。

 そして、その上に、実際に使う「アプリケーション」があります。

 OSIモデルでは、

   ネットワークアクセスを物理層とデータリンク層の2つにわけ、
   インターネットをネットワーク層に
   トランスポートはおなじく、トランスポート層
   アプリケーションを、セッション層、プレゼンテーション層、アプリケーション層の3つ

にわけています。




で、次回から、実際に、データがどのようにして伝わるかをHTTPプロトコルを例に説明します。


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

“199ドルノート”日本発売決定、予価は5万円前後=199*120(円くらい)=?。。。

2007-12-19 17:19:29 | Weblog

ここのニュース
“199ドルノート”こと「Eee PC」が日本発売決定――予価は5万円前後
http://headlines.yahoo.co.jp/hl?a=20071218-00000038-zdn_pc-sci

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


 ASUSTeKは、低価格モバイルノートPC「Eee PC」の日本発売決定をアナウンスした。OSにはWindows XPを搭載。発売予定時期は2008年2月で、価格はオープン。予想実売価格は5万円前後の見込みだ


えーっと、

199ドル*120円くらい(1ドルの値段)=23880

えーっとえーっと、おかしいなあ。。5万円くらいにならないぞお(^^;)

可能性
(1)ウィリアムのいたずらの電卓が壊れている
(2)2月ごろには1ドル250円になる(まさか ^^;)
(3)オープン価格なので、23880円で売る店も・・・ある??
(4)その他・・・

のうちどれ!

これって、不当表示にならないの?(冗談ですよ ^^;)



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

ネットワークのキーワードまとめ-セッション層~アプリケーション層編

2007-12-19 15:21:33 | Weblog

 シリーズ「ネットワークのキーワードまとめ-トランスポート層編」の続き。
 今回はセッション層~アプリケーション層編。




<<セッション層~アプリケーション層>>

■機器
PC

■プロトコルというか、アプリケーション名
DNS
FTP,TFTP
HTTP
SMTP
SNMP
Telnet

■関連用語
・URL、ポート番号
・Socket(セッション層)
・コード/フォーマット変換(プレゼンテーション層)
・CISCO IOSイメージ(TFTP)
・SNMP
  ・NMS(ネットワーク管理システム)
  ・管理対象デバイス
  ・エージェント




次回は、超大雑把な、「インターネットとは?」の説明



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

Google GearsのローカルDBにキャラクターデザインを入れておき、AJAXで表示とか?

2007-12-19 11:47:40 | Weblog

ここの岡崎さんのブログ
Google Gearsについて考えてみる
に(以下斜体は上記サイトより引用)

Google Gearsでのサーバー・クライアントの役割分担として

処理の役割に注目していきます。たとえばクライアント側で処理すべき役割はユーザインタフェースそのものの実現や、表示用のデータの管理です。一方、サーバ側では画面遷移や画面自体の生成が主な役割になります。画面遷移や画面生成をクライアント側に持っていくこともできなくはないですが、システムによっては画面要素に対してそれぞれ権限のチェックなどが必要だったりすることとから考えてサーバ側に置かれているべきでしょう。


 とあります。人により、システムにより、実現方法は違うので、そのような考え方に向いたシステムもあるかもしれません。ただ、画面と処理は明確に分けたほうが、プログラム上は、やりやすいと思います。

 つまり、以下のようにします。

・サーバーはRESTなりSOAPなりで、引数を受け取り、XMLを返す
 →認証に関しては、初めに認証を行ってセッションを保持することによって実現するか、
  通信のたびに認証データを送信する

・クライアントは受け取ったXMLを元に、マッシュアップして(まあ、しなくてもいいけど)表示する
 そこで、画面遷移が起こることもあるし、画面自体を生成するようなケースもある。

 そーすると、サーバーは画面を意識しないので、提供するサービス&認証チェックにのみ専念でき、
 SOAのように、サービス提供部分に前年することが出来ます。

 もし、端末を考慮するようになると、各種のケータイとかに全部サーバーが対応しないといけなくなり(ケータイごとに画面の大きさとかは違うので)たいへんなことになっちゃいます。というより、レスポンスが追いつかないです。




 で、こうなってくると、サーバーアクセスを毎回していたら、大変です(今、そーいう状態だけれど)。
 そもそも、業務で扱うデータは
   取引を保持するトランザクションデータ
   取引以前に存在し、あまり変わることのないマスターデータ
 に分けられます。

 このうち、マスターデータをサーバーだけに保持してしまうと、たとえば、入力時に、1文字入力したら、その名前で始まる人、あるいは商品を表示し、文字を入力するごとに絞り込むといった入力方法の場合、サーバーに逐次アクセスしなくてはいけないため、処理が追いつかなくなってきます。

 そこで、マスターデータの一部を、クライアントのローカルデータベース(というのが、Google Gearsにある)におき、適当なところ(1日一回とか)で同期を取るということになります。
 そして、受注とかの取引にかかわるトランザクションデータは、入力完了したところで、サーバーにおくるということになります。




 もし、このとき、ローカルとサーバーのマスターデータが同期が取れてなくて、サーバーデータのほうが更新されていたとしても、送られてくるトランザクションデータに含まれているデータをチェックすることによってはじけます。

 具体的に言うと、たとえば、

 受注品目:クリスマスケーキ
 価格  :3000円

 というのを、12月の25日の21:00に注文したとすると、朝は、3000円だったかもしれないけど、21:00の時点では1000円になっているかもしれません
(26日は0円になってしまうう >_<!)。
仮になってたとしましょう。

 そーしたら、受注金額のところを、サーバーでチェック、値段が違うので、クライアント側に、「エラー」として返せばいいわけです(このとき、今の値段を返すか、同期を取るようにするかは、システムの事情次第)

 っていうことで、Gearの1つの利用法としては、あまり更新されないようなマスタデータをおき、レスポンスをよくするということがあると思います。




 また、昔、スクラッチド・パド・ファイルと呼ばれたと思うけど、検索件数が多くて表示し切れない場合、その表示していないデータも含めてローカルDBに入れておき、次の画面に行ったときには、ローカルDBから表示するという使い方もあると思います。

 それをさらに敷衍して、1画面分のアクセスをまずして、それを表示している間に、バックで、2画面目、3画面目をアクセスしていき、ローカルDBに蓄えておくという方法も考えられます(けど、ちょっとめんどっちいいかな)

 さらに考えると、ゲームのキャラクターデザイン、背景のデザインなどは、クライアント側のローカルサーバーにもっておいて、画面書き換えのときは通信しないで、ローカルサーバーのデータをみて書き換えるとすれば、(通信量が減るし、画面書き換えがスムーズにできるので)よりゲームとして完成度が上がってくると思います。




このように、Google Gearによって、データを蓄えておく場所ができたので、完全にサーバー側はSOAに徹して、画面を意識せず、RESTでXMLを返すとかSOAPとかでのやり取りが出来るようになったと思います。
 そして画面側は、受け取ったものをとりあえずDBに入れて、必要なときに取り出して表示するという形をとることによって、データの先読みとか、サーバアクセスしないレスポンスが実現できると思います。

 そーやってつかうのが、よさげにおもいました・・



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