YouTubeの新機能:「非掲載(Unlisted)」

2010/05/13 17:30追記:
YouTube、「非掲載」オプションを公開|ITpro
YouTube、特定の相手にだけ動画を見せる新オプション導入|ITmedia
YouTubeの動画に「Unlisted」設定追加、URLを知っているユーザーのみ視聴可|INTERNET Watch

最近、なんか台湾のヤフーニュースは日本のニュースサイトよりも早い?

っと思ったりします。

まあ、台湾のメディアが取材しているとかではなく、

翻訳するのが速い…だけなんだけどね。

YouTube新功能 私下分享影片

影音網站YouTube今天開放新功能,允許用戶「私下」分享影片,不限邀請人數。

Google旗下的YouTube在部落格表示,只有收到「未公開影片」網址連結的人才能觀看這部影片,影片不會出現在YouTube公開網頁和搜尋結果中。

YouTube表示,這種私下分享的影片沒有限制收看人數,用戶也不需要在YouTube註冊。

YouTube表示,上傳影片後會出現影片連結,用戶可決定分享者。

YouTube原先設定最多只能分享給25人,且必須是註冊用戶。

=============超適当訳==================

本日からYouTubeは新しい機能をリリースした。ユーザに「密かに」映像をシェアすることを許可した、人数は無制限である。

Google傘下のYouTubeは公式ブログにて、「未公開映像」のURLを受け取った人にしか映像を見ることが出来ません。映像はYouTubeのオープンページや検索結果に現れません。

YouTubeによれば、この密かにシェアされる映像は人数制限がなく、YouTubeに登録していなくでも見ることが出来る。

YouTubeによれば、映像をアップロードした後、映像のリンクが現れ、それを誰にシェアするかを決めることが出来る。

元々の設定では、シェア出来る人数の上限は25人であり、登録する必要もあった。

まあ、アクセス制限とかが無いので、URLさえ知れば、

誰でも見れるよね。

従って、URLを送信した人の中に、一人でも「裏切り者(?)」が居ると、

そのURLをどこかに貼り付けば、実質上公開になってしまいますね。

そういう意味では、そんなにセキュアな「秘密な」共有でもないので、

本当に「秘密」な映像は、今まで通り25人までのPrivate共有のほうがいいかな?

まあ、「本当に秘密」の映像は、そもそもネットに置いちゃイカンけどね。

comments

「グーグル 左 うざい」なので、ユーザスタイルシートで移動させました。

昨日いきなり変更されたグーグルのユーザインタフェースですが、

ネット上では、どうやらイマイチ評価が良くないようです。

↓Google急上昇ワードにも出ました。

Google急上昇ワードの「グーグル 左 うざい」

ぉぅぇぃも違和感を感じていましたので、

これの設定を変えるための方法を、昨日いろいろ調べましたが、

なかなか見つかりませんでした。

一応、関連記事はこんな感じ

Google、検索ページを刷新 Bing似のツールパネルを常設|ITmedia
グーグル、検索結果ページを刷新|CNET Japan
Googleが検索結果ページのデザイン変更、オプションを常時表示|INTERNET Watch

Google の検索結果ページをリニューアル|グーグル公式ブログ

まあ、「うざい」までは行きませんが、慣れないことは慣れないので、

グーグル側の設定画面が見つかりませんでしたので、

自分でユーザスタイルシートを編集して、移動させました。

ブラウザによって、ユーザスタイルシートの編集の方法は違いますので、

細かく書きませんが、一応ぉぅぇぃはSafari StandのSite Alterationを使って、

www.google.co.jpのみに適用するCSSを設定しました。

スタイルシートの中身はこんな感じです。

div#leftnav{
border: 3px double rgb(211, 225, 249);
margin-right: 2px;
top: 0px;
right: 0px;
padding: 0px !important;
width: 259px !important;
}

div#center_col{
margin-left: 5px !important;
border-left: none !important;
}

div#rhs{
margin-top: 300px;
margin-right: 2px;
}
(*ボーダーをdoubleにしたのは個人の趣味です。)

↓ビフォー

グーグルの新しい左ツールパネル

↓アフター

グーグルの新しいツールパネルを右へ

消しても良いのですが、使えるかどうかを評価してみたいと思いますので、

とりあえず右側に移動させました。

右側は元々広告スペースだったので、ツールパネルがあっても、

そんなに違和感が無いですね。

まあ、右側に移動させるためのとりあえずのスタイルシートですので、

時々表示が変に成ったり、問題もありまして、

いろいろ調整する余地があるかと思いますが、

それは時間が出来てから…にします。

まあ、それまでにグーグル側がツールパネルの設定画面を

作ってくれるかもしれないけどね。

comments

DIMMの2GBメモリーTeamElite DDR2 800MHz(TEDD2048M800C5)を買いました

TEAM TeamElite PC6400 DDR2 Long-DIMM 800MHz 2GB CL / Speed 5-5-5-15 Voltage 1.8V± 0.1V TEDD2048M800C5

我が家のデスクトップパソコンに、久しぶりにアップグレード(?)しました。

我が家のパソコンと言えば、三年前で組み立てた自作パソコンですが、

スペックはこんな感じ:

CPU:インテルのCore2 E6550
マザーボード:インテルのDG33BU
グラフィックカード:SAPPHIRE HD4350 512M DDR2 PCI-E HDMI DVI-I VGA 11142-07-20R
メモリー:Elixirの1GBx2
電源:REDPOWER550(バルク)
ハードディスク:TOSHIBAの500GB、SEAGATEの1TB、日立GST Deskstar 7K2000 (2TB/SATA3G/7200rpm/32MB) HDS722020ALA330
DVDドライブ:PIONEERのDVR-212

元々はリビングPCで録画用のマシンでしたが、

レグザ37Z9000を購入してからは、

レグザのほうにハイビジョン録画を任せることに成りましたし、

レグザは3チューナーで2番組同時録画も出来るため、

流石にアナログ録画することが無くなりました。

最近はもっぱらネットサーフィン専用、

そして必要な時ぉぅぇぃがやっている社会シミュレーションを回すくらい…ですね。

今のスペックに特に不満は無いのですが、

Firefoxとかで沢山の窓を開くと、どうも大量もメモリーを食うようで、

それでMIXIアプリとか、youtubeやニコニコ動画などの動作も遅く成った…、

のような気になりまして、ちょっと解決に乗り出しました。

考えられる解決策は色々ありまして、

例えばmac miniを買って移行する…とか、

現在のマシンをアップグレードする…とか、

今のMacBook Proをリッドクローズドモードで使うとか、

まあ、色々ありました。

core i7、i5のMacBook Proが出たので、

近い未来にmac miniが出る可能性が高い。

流石に今は買うタイミングとしてはちょっと…っと思うところもありましたし、

ぉぅぇぃの悪い癖(?)として、相乗効果を狙う…という習性が働き、

結果的に、今のマシンをアップグレードする方向になりました。

まあ、mac OSも気に入っていますが、

マイクロソフトの覇権はそう簡単に変わらないので、

ITの専門職大学院で教えている身としては、

立場用、やっぱりウィンドウズは慣れとく必要がある…のですね。

で、折角なので、32bitのOSの4GBメモリーの壁を超え、

64bitのwindows 7を入れて、使ってみよう…っと思いました。

現在1GBメモリーx2でしたが、2GBメモリーx2を足し、6GBにしてみました。

ところで、メモリーの相場を調べて、

丁度一年前は底値で、そこから徐々に値段が上がり、

今は底値の倍額くらい値上がりしていることを知り、

ちょっとショックを受けました。

いや、ぉぅぇぃの中では、コンピュータのパーツって、

どんどん高性能・どんどん安くというのが常識だったので…。

とりあえず色々なサイトで探しまわった結果、

一応ノーブランド製品以外で買える一番安いのは、

Amazonの「TEAM TeamElite PC6400 DDR2 Long-DIMM 800MHz 2GB」でしたので、

これを2本買いました。

買った時のお値段は一本3,347円で、合計6,694円でした。

アマゾンの写真は裸でしたが、箱入りでした。

↓TeamEliteのメモリーの箱

TeamElite PC6400 DDR2 Long-DIMM 800MHz 2GBの箱

↓箱からメモリーを出したら、こんな感じ

TeamElite PC6400 DDR2 Long-DIMM 800MHz 2GBの箱からメモリーを出した

↓メモリーを表裏で並んでみました。

TeamElite PC6400 DDR2 Long-DIMM 800MHz 2GBを並べてみた

↓メモリーに使われているICチップ

TeamElite PC6400 DDR2 Long-DIMM 800MHz 2GBの半導体

ここらへんは明るくないので、どこのメーカーのものかは全然分かりません〜

とりあえずこれ2本をDG33BUのマニュアルの通りに刺して、

起動してみますと、BIOSレベルでは問題なく6GBと認識されました。

次は、64bitのwindows 7をインストール…。

っと、色々楽しい〜トラブル発生♪を予想しましたが、全くのノートラブル。

ドライバも全部勝手にインストールされましたし…。

いや、ネタになる何かのアクシデントがないかな〜っと思いましたので、

ある意味拍子抜けました…。

まあ、ノートラブルはノートラブルで良かったけどね。

但し、インストール始まる前の検証フェーズ(?)はエライ時間かかりました。

「アレ?固まった?」と心配するほど動かなかったです。

画面も動かないし、HDDランプも点滅してなかったので、ちょっと心配しました。

が、だからと言って電源ボタンを押すのは禁じ手ですので、超放置しました。

で、次に進んだのは、約1時間後だったかな?

あんまりハッキリ覚えていませんが、感覚的にそれくらい長かった…ですね。

で、インストール始めたからは速い、サクサク進んで、

勝手にリブートしたりしましたが、基本的にオール放置で、

マリア様がみてるだけです。

インストール終了後、とりあえず基本的な設定(タイムゾーンとか)を行って、

無事、ぉぅぇぃのwindows7ライフが始まりました。

当たり前と言えば当たり前ですが、

windows7のほうはちゃんと6GB認識してくれました。

↓ウィンドウズ7で見る6GB

64bitのwindows7で6GBのメモリーを確認

点数が3.4と低いのは、グラフィックボードのせいです…、

っと、まあ、今回の本題はメモリー増設なので、

64bitのwindows7の話はまだ今度にします。

ちなみに、6GBにすることで、firefoxの動作改善についてですが、

mixiアプリ以外は顕著な改善が見られましたね。

ガシガシ窓を開くと、使用メモリーが2GBを超えることは結構ありましたので。

ただし、mixiアプリはやっぱり重いですね。

スペックがそれほど変わらないMacBook Proのほうは、

軽快にスパスパ動いていましたので、

何が悪いのかな〜っとちょっと考えているところです。

たかがブラウザゲームなのに、なぜこんなにリソースを食うのかね…。

次に何か手を打つのであれば、CPUのアップグレードかな…。

今のところ、インテルCore 2 Quad Q8400は候補No.1です。

う〜む、メモリーと比べたら、CPUの載せ替えは3倍以上お金かかりますので、

どうしましょうかねぇ〜っとちょっと考えているところです。

comments

[レビュー]ソニースタイルでCTOしたVAIO WのSSDモデルのベンチマーク

今まで特に言いませんでしたが、

お嫁様が専用のノートパソコンが欲しい…ということで、

今年の年明けに、クリスマスプレゼント+お年玉の名目で、

お嫁様専用のノートパソコンを買いました。

ちなみにお嫁様に比較的高額で目に見えるプレゼントを贈ったのは、

3年前で購入した2万円弱のiPodは最初で、今回は二回目になります。

と言っても、特に重い処理の必要もなく、

普段は通販サイト巡りやMIXIアプリくらいしかやらないお嫁様なので、

高級なモノを買う必要がなく、値段帯がほどほどなネットブックを買いました。

もともとは適当な安物を選ぶつもりでしたが、

お嫁様は「色が~」「デザインが~」とかいろいろこだわっていましたので、

最終的にソニーのVAIO W(なぜかVAIO TYPE Wではない)になりました。

しかも欲しいのはソニースタイルしか売っていない限定色…。

なので、カカクコムで買える4万台の激安モノも選択肢からはずれ、

買い物にうるさいぉぅぇぃなので、ちょこちょこタイミングを見て、

最終的にいろいろキャンペーンが重ねた年末年始で注文しました。

で、それからずっとお嫁様専用で使われていましたが、

ふっと私がMacBook ProのACアダプターをKCGIに忘れて、

仕方なくお嫁様のVAIO Wを拝借して使ってみました。

全然期待しませんでしたが、

ネットブックなのに、これはこれでそこそこ良かったので、

それからお嫁様が使わない時に、

ちょこちょこソフトを入れ替えたり、チューニングしたり、遊んでみたりしました。

ちなみにお嫁様のVAIO Wの仕様はこんな感じです。

VAIO Style VAIO本体 1 56,715円 56,715円
  VPCW12AKJ (Home Premium)
  標準ACアダプター/W12
  ATOK 2009 for Windows(30日期間限定版)/W12
  ブラウン/W12
  Sバッテリー/W12
  メッセージ刻印サービスあり/W12
  SSD 約64GB (64GB×1)/W12
  日本語配列キーボード/W12
  メモリー 2GB (DDR2 533/2GB×1) /W12
  ノートンオンラインバックアップ(60日期間限定版)/W12
  VAIOアプリケーションあり/W12
  マカフィー・PCセキュリティセンター(60日限定版)/W12
  「bitWarp(EM)」取次サービス無し/W
  「インターネット(光)」取次サービス無し
  Wシリーズ“限定”スペシャルパック(ブラウン)/W12
  [Wシリーズ]/W12
  [IDL(W12AKJ/ブラウン)]/W12
  [NAM(ブラウン)]/W12
  [個人向けお問い合わせ窓口のご案内]/W12
  [Home Premium/VAIOアプリケーションあり]/W12
  My VAIO Pass プレミアム(本体付帯サービス)
  3年間保証サービスのご案内(VAIO)
合計価格 56,952円
消費税 2,848円
送料(税込) 0円
合計金額 59,800円

このVAIO Wのポイントは無料でアップグレードの64GBのSSDと、

同じく無料アップグレードのメモリー2GBとwindows 7 Home Premiumですね。

その他、「スペシャルパック」と言って、

同じ色の光学マウスと吉田カバンがついてきていましたので、

そんなに悪い買い物ではありませんでした。

しかも注文してから届くまでに、SonyStyleに価格改定があったようで、

無料アップグレードなどが無くなった代わりに、

5,000円の値下げが行われました。

届く前だったので、その差額の5,000円分のクーポンをもらいました。

従いまして、実質約55,000円になりました。

まあ、個人的にいろいろ意外なところで美味しい買い物でした。

今でほぼ同スペックのモノを買おうとしましたら、

8万円超えてしまいます…。

まあ、セールのシーズンじゃないし、CPUはatomのN280からN450に変わったけどね。

で、最近は色々触りましたし、折角なので、

ちょこちょここのソニーのVAIO Wの記事を書こうかと思います。

今日はその第一弾、CTOでついてくるSSDについて。

今回買ったVAIO WについてきたSSDのメーカーはSAMSUNG(サムソン)で、

SSDモデルは「MMCRE64G5MXP-0VB」ってやつです。

↓デバイスマネージャで表示されるディスクドライブ

VAIO WのSSD=MMCRE64G5MXP-0VB

2010年4月のカカクコム情報によれば、相場は大体16,000円くらいらしい。

おまけでついてきたモノにしては、結構上出来じゃないでしょうか?

http://kakaku.com/item/K0000024728/

性能なんですが、割とポピュラーなディスクベンチマークソフトの

CrystalDiskMarkで測ってみましたら、

こんな結果になりました。

↓VAIO WとMMCRE64G5MXP-0VBのベンチマーク

MMCRE64G5MXP-0VBのベンチマーク

(*比較的に良い数値が出るまで何回か回しました。)

これは高いか低いかはよくわからなかったので、

グーグル大先生に聞いてみたところ、

どうやら本来ならMMCRE64G5MXP-0VBはもう少しできる子だったらしい。

よそのベンチマークと比較しましたら、

最速のベンチマークの半分から三分の二くらいのスピードしか出ていません。

グーグルイメージ検索でMMCRE64G5MXP-0VBを検索

調べてみたところ、VAIO WのSATAコントローラーの性能の制限によって、

フルパワーを発揮できなかったみたい。

「VAIO W」をSSDで爆速にしてみた

ただし、SSD搭載のスコアは手放しで喜べるわけでもない。VAIO WをはじめとするNetbookのチップセットはIntel 945GSE Expressで、サウスブリッジの役割を担うICH7-MはSerial ATAインタフェースが3Gビット/秒の伝送に対応しておらず、旧世代の1.5Gビット/秒にとどまる。こうした事情もあってVAIO Wでは主にICH7-Mがボトルネックとなり、高速なSSDのパフォーマンスがフルに発揮できず、特にシーケンシャルリードの値が伸びていない。

が、しかし、それでもだ、SSDとHDDは別世界…

というのはぉぅぇぃの率直の感想です。

ネットブックなのに、ああ、ネットブックなのに、

SSDを搭載したVAIO Wのレスポンスの速さはとても心地よいのですね。

こんな体験をしてしまうと、SSDがもう少し安くなりましたら、

マイMacBook ProのMBP15にも載せたいですね。

ただし、所詮ネットブックはネットブック。

CPUはATOMなので、ちょっとでも重い作業をさせたら、すぐ悲鳴を上げます。

普通のネットサーフィンはかなり速い。

HDは流石にカクカクになりますが、

SD画質なら、YouTubeもニコニコ動画にも結構快適でスムーズに再生してくれますし、

弾幕にも負けないくらいの粘りの強さを見せてくれます。

お嫁様の日常でもっともストレスを感じるのは、MIXIアプリですね。

問題なく動くのですが、アプリによって処理に時間がかかったりしますので、

もったりしてて、時々ストレスを感じるそうです。

っと、まあ、こんな感じでお嫁様専用ネットブックを勝手にレビューしてみましたが、

このシリーズが続くかどうかは未定です。

まあ、ぉぅぇぃのものじゃないしね…。

ただし、機会がありましたら、またこのVAIO Wの話をしたいと思います。

そこそこ面白いマシーンだしね。

comments

Google Web Toolkit(GWT) 2.0入門チュートリアル日本語訳:3.ユーザー インターフェースの構築-1

Google Web Toolkit(GWT) 2.0の入門チュートリアルのリスト

スタート ガイド
1.GWT プロジェクトの作成-1
1.GWT プロジェクトの作成-2
2.アプリケーションの設計
3.ユーザー インターフェースの構築-1
3.ユーザー インターフェースの構築-2
3.ユーザー インターフェースの構築-3
4.クライアントのイベントの管理-1
4.クライアントのイベントの管理-2
5.クライアント機能のコーディング-1
5.クライアント機能のコーディング-2
5.クライアント機能のコーディング-3
6.GWT アプリケーションのデバッグ
7.スタイルの適用-1
7.スタイルの適用-2
7.スタイルの適用-3
7.スタイルの適用-4
8.GWTアプリケーションのコンパイル

ボチボチ続きます。

前回は「GoogleのGWT 2.0の入門チュートリアルの日本語訳(2)」でした。

今回は「3.ユーザー インターフェースの構築」の一回目です。

http://code.google.com/intl/ja/webtoolkit/doc/latest/tutorial/buildui.html

始まる前に、まず、お断りを…。

私は英語のネイティブでも日本語のネイティブでも、プログラミング言語のネイティブでもないので、私が訳したモノの正確性に関しては、全く責任を持ちませんし、これらのドキュメントによって、何かの損害を被ても、やっぱり何一つ責任を持つことが出来ませんので、読みに来られた方、すべて自己責任でお願いします。

GoogleののGWT規約によれば、GWTはGoogle製のサンプルなども含めて、著作権に関してはApache 2.0のライセンスを利用していますし、グーグルのチュートリアルについても、「クリエイティブ・コモンズの表示 3.0 ライセンス」でライセンスされていますので、翻訳しても、出典を知らせれば特に問題がないと認識しています。もし著作権法などに対し、何か問題がありましたら、ぉぅぇぃまでお知らせして頂けましたら、素早く適切に対処致します。

日本語訳なんですが、適宜にコメント、いわゆる「訳注」的なモノも入れます。訳注は(*…)のように表記します。可能な限りオリジナルとの区別をつけますし、間違いが出ないように注意しますが、漏れ・誤りがありましたらごめんなさい。

最後に、基本的にぉぅぇぃはEclipseを使っていますので、申し訳ございませんが、Eclipseと全く関係ない部分は飛ばすつもりです。

ステップ3:ユーザー インターフェースの構築

この時点では、あなたはStockWatcherプロジェクトのコンポーネントを作成し、その機能要件を検討し、およびユーザインタフェースを設計した。このセクションでは、あなたはGWTのウィジェットやパネルを使ってユーザーインターフェイスを構築します。

GWTはあなたを頻発するブラウザ間の非互換性への危惧から守ってくれます。GWTウィジェットとGWTの素材を使ってインターフェイスを構築すれば、あなたのアプリケーションは問題なくChrome、Firefox、Internet Explorer、Opera、Safariの最新バージョンで動作します。ただし、DHTMLユーザーインターフェイスはまだ目立つ互換性の問題が残されています。従いまして、あなたはすべてのブラウザ上でアプリケーションをテストするべきでしょう。

1. ユーザインタフェース要素を実装するためのGWTのウィジェットを選択する

最初に、ウィジェットギャラリーを見て、それぞれのユーザインタフェース要素のためのGWTのウィジェットを選択します。

ウィジェットギャラリーでは、各ウィジェットはデフォルトのスタイルで表示されていますので、それははStockWatcherの最終実装と必ずしも同じように見えるわけではありません。従いまして、現時点では外観について心配しないでください。まず、ウィジェットを動かすところを集中しましょう。後で、あなたはCSSを使ってそれらの外観を変更することになります。これは、チュートリアルの「7.スタイルの適用」のセクションで説明されます。

株式データテーブル
GWTはFlexTableという特殊なテーブルウィジェットを提供しています。 FlexTableウィジェットはリクエストに応じてセルを生成します。これはまさに株式データを入れるためのテーブルに適しています、なぜなら、ユーザは株式銘柄をいくつ追加するかについて、事前に知ることができません。FlexTableを使って実装したテーブルはユーザの株式銘柄追加や削除に応じて、テーブルを引き伸ばしたり、折り畳んたりします。

ボタン
可能な限り、GWTはブラウザのネイティブのユーザーインターフェイス要素を使います。例を挙げると、ボタンウィジェットは例えばdiv要素を使って合成したボタンのように見えるウィジェットではなく、本物のHTML<button>要素になります。つまり、GWTのボタンは異なるブラウザ、そして異なるクライアント側のオペレーティングシステム上で、適切にレンダリングされます。ブラウザのネイティブコントロールを使用する利点は、高速、馴染みやすい、そしてそれはユーザーには最も慣れたものです。また、これらはCSSでスタイルを設定できます。

入力ボックス
GWTは下記のようなユーザー入力が出来るウィジェットを提供します:

  • TextBoxウィジェットを、一行のテキストボックス
  • PassWordTextBoxウィジェット、入力した文字列が見えないようなテキストボックス
  • TextAreaのウィジェットは、複数行のテキストボックス
  • SuggestBox、設定済みの文字列を提案してくれるテキストボックス

StockWatcherのユーザは証券コードを一行のテキストボックスで入力しますので、ここはTextBoxのウィジェットで実装します。

ラベル
Buttonウィジェットとは対照的で、LabelウィジェットをHTML形式の<label>要素に変換しません。代わりにそれは標準なHTMLに解釈されない、任意の文字が含む<div>要素に変換されます。<div>要素なのでこれはインライン要素ではなく、ブロック要素になります。

<div class="gwt-Label">最終更新日:2008年10月1日午後1時31分48秒</div>

もしあなたはStockWatcherインターフェイスを構築する際に利用するGWTウィジェットのAPIリファレンスを見たいのであれば、下のリンクをクリックしてください(*英語です)。

ユーザインタフェース要素
GWTの実装
株式データを格納するためのテーブル
FlexTableウィジェット
証券コード追加用と削除用の二種類のボタン。
Buttonウィジェット
証券コード入力用のボックス
TextBoxウィジェット
最終更新日時を表示するためのタイムスタンプ
Labelウィジェット
ロゴ
HTMLホストページから参照される画像
ヘッダー
HTMLホストページの中の静的HTML
株価変動はプラスかマイナスかを示すための色
ダイナミックCSS

さらに深く:もしあなたは自分のアプリケーションの機能要件を満たすウィジェットを見つからなかったら、あなたは自分専用のものを作成することができます。複合ウィジェット(composite widgets)やJavaやJavascriptで記述するウィジェットを作成する時、開発者ガイドを見てください。Creating Custom Widgets.(*英語です。)

2.ユーザインタフェース要素をレイアウトするためのGWTパネルを選択する

どのウィジェットを利用するかを知った後、GWTパネルを使ってどのように配置するかを決めましょう。GWTはレイアウトを管理するための数種類のパネルを提供しています。パネルの中に他のパネルをネストすることもできます。これはdiv要素やテーブルを重ねてネストしてウェブページをレイアウトすることと似ています。 StockWatcherでは、垂直方向のパネル内に水平方向のパネルを配置して使用します。
↓StockWatcherの完成イメージ(グーグルのチュートリアルより引用)

StockWatcherの画面イメージ

StockWatcherのデザインイメージ

↑StockWatcherのデザインイメージ(グーグルのチュートリアルより引用)

Horizontal Panel(水平方向のパネル)
株式銘柄を追加するための二つの要素、つまり証券コードを入れるための入力ボックスと「追加」ボタンは、機能的に密接していますので、これらを視覚的に近い場所に配置したい。これらを隣接に配置するために、TextBoxウィジェットとButtonウィジェットをHorizontalパネルに配置します。 Javaコードでは、addPanelというHorizontalPanelの新しいインスタンスを作成します。

Vertical Panel(垂直方向のパネル)
残りの以下の要素を垂直に配置したい。

  • 在庫テーブルのためのFlexTableウィジェット
  • 入力ボックスと追加ボタンが含まれるAdd Stockパネル
  • タイムスタンプのためのLabelウィジェット

あなたはこれを垂直パネルで処理します。 Javaコードでは、mainPanelというVerticalPanelの新しいインスタンスを作成します。

Root Panel(ルートパネル)
ユーザーインターフェイスに表示されないもう一つのパネルが必要です、Root Panelのことです。Root Panelはあなたのアプリケーションの中の動的要素を収納するためのコンテナです。これはすべてのGWTユーザインタフェースの階層のトップに位置づけられています。Root Panelを利用するためには二つの方法があります、ページのbody全体で生成する方法と、bodyに埋め込まれている特定の要素で生成する方法です。

Root panelはHTMLホストページの中の要素を包む(ラッピング)することで作動します。デフォルト(つまり、もしあなたはホストページにプレースホルダーを追加しなかった場合)、Root panelはbody要素をラッピングします。無論、もしあなたは何らかの要素を命名・追加し、Root panelをコールする時にその要素名をパラメータとして渡せば、それをラッピングすることも可能です。次の二つのセクションにあなたがStockWatcherのためにこれらを行う時、それらがどう動作するかを確認できます。

RootPanel.get()             // デフォルトHTMLのbody要素をラッピングする
RootPanel.get("stockList") // "stockList"というidのHTML要素をラッピングする

一枚のホストページに複数のRoot Panelを含むことができます。例えば、もしあなたはホストページに複数のGWTウィジェットやパネルを埋め込むのであれば、その何れを他のものから独立して実装し、その何れを専用のRoot Panelにラッピングします。

長くなりましたので、今回も分割します。

次回は「3.アプリケーションをホストページに埋め込む」に続く。

comments

Google Web Toolkit(GWT) 2.0入門チュートリアル日本語訳:2.アプリケーションの設計

Google Web Toolkit(GWT) 2.0の入門チュートリアルのリスト

スタート ガイド
1.GWT プロジェクトの作成-1
1.GWT プロジェクトの作成-2
2.アプリケーションの設計
3.ユーザー インターフェースの構築-1
3.ユーザー インターフェースの構築-2
3.ユーザー インターフェースの構築-3
4.クライアントのイベントの管理-1
4.クライアントのイベントの管理-2
5.クライアント機能のコーディング-1
5.クライアント機能のコーディング-2
5.クライアント機能のコーディング-3
6.GWT アプリケーションのデバッグ
7.スタイルの適用-1
7.スタイルの適用-2
7.スタイルの適用-3
7.スタイルの適用-4
8.GWTアプリケーションのコンパイル

ちょっと体調不良で中断しましたが、ボチボチ再開します。

前回は「GoogleのGWT 2.0の入門チュートリアルの日本語訳(1-2)」でした。

今回は「2.アプリケーションの設計」です。

http://code.google.com/intl/ja/webtoolkit/doc/latest/tutorial/design.html

始まる前に、まず、お断りを…。

私は英語のネイティブでも日本語のネイティブでも、プログラミング言語のネイティブでもないので、私が訳したモノの正確性に関しては、全く責任を持ちませんし、これらのドキュメントによって、何かの損害を被ても、やっぱり何一つ責任を持つことが出来ませんので、読みに来られた方、すべて自己責任でお願いします。

GoogleののGWT規約によれば、GWTはGoogle製のサンプルなども含めて、著作権に関してはApache 2.0のライセンスを利用していますし、グーグルのチュートリアルについても、「クリエイティブ・コモンズの表示 3.0 ライセンス」でライセンスされていますので、翻訳しても、出典を知らせれば特に問題がないと認識しています。もし著作権法などに対し、何か問題がありましたら、ぉぅぇぃまでお知らせして頂けましたら、素早く適切に対処致します。

日本語訳なんですが、適宜にコメント、いわゆる「訳注」的なモノも入れます。訳注は(*…)のように表記します。可能な限りオリジナルとの区別をつけますし、間違いが出ないように注意しますが、漏れ・誤りがありましたらごめんなさい。

最後に、基本的にぉぅぇぃはEclipseを使っていますので、申し訳ございませんが、Eclipseと全く関係ない部分は飛ばすつもりです。

ステップ2.アプリケーションの設計

この時点では、あなたはStockWatcherのコーディングを始めるためのファイルの土台を作成したはずです。
このセクションでは、あなたは機能要件の検討とユーザインタフェースの設計を行います。

1.機能要件の検討

あなたはStockWatcherアプリケーションに以下の六つのことを行うことが出来ると考えています。

  • ユーザに株式を追加する能力を提供する(違反文字のチェックや既存株式のチェックなど簡単な入力検証も供給する)。
  • 各株式の以下の情報を表示する:証券コード、価格、価格変動率
  • ユーザにリストから株式を削除する能力を提供する。
  • 株価の更新
  • 株価の変動額と変動率両方を計算する。
  • 最終更新時のタイムスタンプを表示する。

2.ユーザインタフェースデザインの要素を確認する

StockWatcherの画面イメージ

(*Googleのチュートリアルより引用)

StockWatcherの機能要件を検討した後、以下のユーザインタフェース要素が必要と決定した。

  • 株式データを格納するためのテーブル
  • 証券コード追加用と削除用の二種類のボタン。
  • 証券コード入力用のボックス
  • 最終更新日時を表示するためのタイムスタンプ

デザインチームは、以下の追加を提言した。

  • ロゴ
  • ヘッダー
  • 株価変動はプラスかマイナスかを示すための色

静的要素を加える

あなたのHTMLページをどうレイアウトするかについて、GWTは指図しない。GWTアプリケーションはスタートアップアプリケーションのように、ブラウザ画面を完全に占めることができる。その一方、このチュートリアルのGetting Started pageのように、既存のページに埋め込むことも出来ます。

StockWatcherアプリケーションは同時に静的要素と動的要素を含めている。HTMLホストページ内のGoogle CodeのロゴとヘッダーのStockWatcherは静的要素。他のすべての要素はGWTウィジェットとパネルを使ってプログラムによって生成されるものです。

次回のチュートリアル

この時点では、あなたはStockWatcherの機能要件を検討しました。あなたはStockWatcherが成すべきことを明確に理解している。あなたは実装する必要があるユーザインタフェース要素を知っていますし、どのようにレイアウトするのも知っている。

今、あなたはGWTウィジェットとパネルを使ってユーザインタフェースを構築するための準備が整えた。

次は
3.ユーザー インターフェースの構築
です。

comments

Google Web Toolkit(GWT) 2.0入門チュートリアル日本語訳:1.GWT プロジェクトの作成-2

Google Web Toolkit(GWT) 2.0の入門チュートリアルのリスト

スタート ガイド
1.GWT プロジェクトの作成-1
1.GWT プロジェクトの作成-2
2.アプリケーションの設計
3.ユーザー インターフェースの構築-1
3.ユーザー インターフェースの構築-2
3.ユーザー インターフェースの構築-3
4.クライアントのイベントの管理-1
4.クライアントのイベントの管理-2
5.クライアント機能のコーディング-1
5.クライアント機能のコーディング-2
5.クライアント機能のコーディング-3
6.GWT アプリケーションのデバッグ
7.スタイルの適用-1
7.スタイルの適用-2
7.スタイルの適用-3
7.スタイルの適用-4
8.GWTアプリケーションのコンパイル

前回は「1.GWT プロジェクトの作成」の前半で、

今回は「ステップ1.GWT プロジェクトの作成」の後半です。

始まる前に、まずはお断り。

私は英語のネイティブでも日本語のネイティブでも、プログラミング言語のネイティブでもないので、私が訳したモノの正確性に関しては、全く責任を持ちませんし、これらのドキュメントによって、何かの損害を被ても、やっぱり何一つ責任を持つことが出来ませんので、読みに来られた方、すべて自己責任でお願いします。

GoogleののGWT規約によれば、GWTはGoogle製のサンプルなども含めて、著作権に関してはApache 2.0のライセンスを利用していますし、グーグルのチュートリアルについても、「クリエイティブ・コモンズの表示 3.0 ライセンス」でライセンスされていますので、翻訳しても、出典を知らせれば特に問題がないと認識しています。もし著作権法などに対し、何か問題がありましたら、ぉぅぇぃまでお知らせして頂けましたら、素早く適切に対処致します。

日本語訳なんですが、適宜にコメント、いわゆる「訳注」的なモノも入れます。訳注は(*…)のように表記します。可能な限りオリジナルとの区別をつけますし、間違いが出ないように注意しますが、漏れ・誤りがありましたらごめんなさい。

最後に、基本的にぉぅぇぃはEclipseを使っていますので、申し訳ございませんが、Eclipseと全く関係ない部分は飛ばすつもりです。

3.プロジェクトコンポーネントを調査する

生成されたファイルを調査し、これらはどのようにあなたのGWTプロジェクトを構成したかを見ましょう。

モジュールXMLファイル

「StockWatcher/src/com/google/gwt/sample/stockwatcher/StockWatcher.gwt.xml」モジュールのXMLファイルを開いて下さい。

このファイルはGWTモジュールの定義、つまりGWTアプリケーションを構成するためのリソースやパッケージなどが含まれています。デフォルトでは、StockWatcherはすべてのプロジェクトに要求されるコアなGWT機能(*com.google.gwt.user.Userのこと)を継承(inherit)している。オプションとして、あなたは他のGWTモジュールを記述し、継承することも出来る。

StockWatcher.gwt.xmlの内容

(*黒背景だけど、深い意味はありません。)

このモジュールXMLファイルで、あなたのアプリケーションのエントリポイントクラスを記述しています。コンパイルのために、エントリポイントをGWTモジュールに記述すること必要です。もしGWTモジュールにエントリポイントを記述していないのであれば、他のモジュールを継承するしか出来ません。"エントリポイントを記述した他のモジュールのモジュールXMLファイル"をインクルードすることも可能です。そうすれば、あなたのモジュールには複数のエントリポイントを持つこともできます。何れのエントリポイントは順番通りに実行されます。

デフォルトでは、StockWatcherは二つのスタイルシートを利用します。GWTスタイルシートstandard.css(これはxmlに記述されたcom.google.gwt.user.theme.standard.Standardテーマの継承によるものです)と、プロジェクト作成の時に生成されたアプリケーションのスタイルシートStockWatcher.cssの二つです。このチュートリアルを進めて行けば、近い将来で、あなたはデフォルトGWTスタイルをオーバーライドする方法を学びます。

ホストページ

ホストページの「StockWatcher/war/StockWatcher.html」を開きましょう。

GWTでは、我々はウェブアプリケーションを実行するために必要なコードが含まれているHTMLドキュメントを「ホストページ」と呼びます。例えば、StockWatcherプロジェクトのホストページはStockWatcher.htmlです。

このホストページはアプリケーションのスタイルシートStockWatcher.cssに関連付けています。

ホストページは"(GWTに生成された)ページの中の動的な要素を制御するためのJavaScriptコードのへのパス"に関連付けしています。スターターアプリケーションのように、body要素のコンテンツを丸ごと動的に生成させることができます。ただし、StockWatcherを実装する際、あなたは静的要素と動的要素をミックスさせます。あなたはページの中に、プレースホルダーとしてHTMLの<div>を作成することになります。

互換モードvs標準モードの選択

ブラウザ間の互換性をよくするために、GWTはdoctypeをHTML 4.01Transitionalに設定した。そうすると、ブラウザのレンタリングエンジンを「互換モード(Quirks Mode)」に設定することになります。もしアプリケーションを標準モード(Standards Mode)でレンタリングさせたいのであれば、あなたは利用可能な数々の他のdoctypesから選び、ブラウザにそのレンダリングモードを強制することもできます。一般的に、GWTアプリケーションの標準モードは互換モードと同じくらい実用的です。しかし一部のケースでは、パネルなどのウィジェットによって正しくレンダリングされないこともある。この問題はGWT 1.5以上のバージョンで飛躍的に改善された。この問題を解決するために、その他にも様々な工夫がなされてきた。

閲覧履歴の保護

あなたのアプリケーションがウェブページ内でユーザの期待通りに動くように、とりわけ複数のページにまたがるショッピングカートやチェックアウトなどのシナリオで、ユーザがブラウザの「戻る」ボタンを利用した時の対応手助けするため、GWTはそのためのメカニズムを提供している。ホストページにはあなたのGWTアプリケーションの中で履歴サポートするためのiframeタグが含まれている。

GWTアプリケーション内の閲覧履歴管理をもっと学びたいなら、開発者ガイドを御覧下さい。History(*英語です)

アプリケーションのスタイルシート

アプリケーションのスタイルシート「StockWatcher/war/StockWatcher.css」を開いて下さい。

各スタイルシートは各プロジェクトに結びつけられています。デフォルトでは、アプリケーションのスタイルシートStockWatcher.cssはスターターアプリケーションのためのスタイルを記述しています。このチュートリアルの「スタイルの適用」のセクションで、あなたは既存のスターターアプリケーションのスタイルをStockWatcherのためのスタイルで置き換えます。

他の多くのウェブページと同じく、複数のスタイルシートを指定することもできます。複数のスタイルシートを継承する順番でリストし、もっとも独特なスタイルセットをリストの最後に記述しましょう(*一般的で全体的なスタイルは先頭、ページ独自のスタイルは後ろ。CSSの仕様のことです。)

Javaソースコード

エントリポイントクラス「StockWatcher/src/com/google/gwt/sample/ stockwatcher/client/StockWatcher.javaStockWatcher」を開いて下さい。

現在では、StockWatcher.javaはスターターアプリケーションのJavaコードを含めています。このチュートリアルでは、あなたはStockWatcherのクライアントサイドのコードでこれらのコードを置き換えて行きます。

StockWatcherクラスはGWTのEntryPointインターフェースを実装し、onModuleloadメソッドを含めています。StockWatcherクラスはStockWatcherモジュール定義(*StockWatcher.gwt.xmlのこと)でエントリポイントに指定されていますので、StockWatcher(*プロジェクト)を始める時、ここのonModuleLoadメソッドはコールされます。

StockWatcherクラスはStockWatcherのモジュール定義(StockWatcher.gwt.xml)にインクルードした他のGWTモジュールなどの機能を継承しています。例えば、ユーザインタフェースを構築する時、あなたはcom.google.gwt.user.client.uiパッケージ内のリソースを利用できます、なぜならこれらはGWTモジュールcom.google.gwt.user.Userに含まれているGWT core機能の一部である(*StockWatcher.gwt.xmlに「inherits name=’com.google.gwt.user.User’」が書かれています)(* 逆に言えば、inheritsしていないリソースの大半はEntryPointから始まるクラスやメソッドから使えない。)

次回のチュートリアル

現時点では、StockWatcherアプリケーションのためのファイルの土台を作り、それらのEclipse(やあなたのお好みのIDE)に取り込んだはずです。

これで、あなたはStockWatcherアプリケーションのデザインするための用意を整えました。

2.アプリケーションの設計

comments

今日は力尽きた…。

連日Google App Engine for Javaをいじっているのですが、

今日はちょっと力尽きました…。

あれこれ触っているウチに、Eclipseのプロジェクトそのものが壊した…、

というほどでもないのですが、直すのが大変すぎる…ところまで来てしまったので、

現在実験中のプロジェクトを一度あきらめ、

まっさらな状態から作り直すことに決意しました〜

ちなみに、敗因は3種類のチュートリアルで作ったコードを
(*GAE/J、GWT、Slim3)

無理やり一つにまとめようとしたところ…ですね、多分。

プロジェクトもまたがっていましたので、設定がエライややこしいことに…。

まあ、疲れたけど楽しい、

楽しいけど疲れた…というわけで、今日は手短に…。

よーし、プロジェクトをビルドしなおすぞ!

comments

マイクロソフト、ソースコードの盗用を認める

まさか帝王のマイクロソフトがよそのソースコードを剽窃するとは…。

ヤフーのニュースです。

http://headlines.yahoo.co.jp/hl?a=20091216-00000002-cwj-sci

マイクロソフト、中国「Plurk」のコード盗用を認める――競合マイクロ・ブログ・サービスのコードを“ほぼ丸ごと”コピー

米国Microsoftは12月15日、同社が中国でサービスを開始したマイクロ・ブログ・サービス「Juku」において、競合サービスである「Plurk」のコードを盗用していたことを認める声明文を発表した。

この問題は今週、アジア地域でマイクロ・ブログ・サービスを展開しているPlurkが、「MSN ChinaがリリースしたJukuのコード・ベースの80%は、Plurkから盗用されたものである」と主張したことに端を発する。Plurkが主張してから間もなく、MicrosoftはJukuサービスを停止し、その問題について調査しているとしていた。

Microsoftはその後、「MSN Chinaが開発を依頼したベンダーに話を聞いたところ、(Jukuで利用されている)コードの一部はPlurkのコピーであるとが判明した」と述べている。その後同社は、以下のような声明文を発表した。

「われわれは、開発作業のために外部企業を採用する場合には、慣例として、契約書に厳格な文言で、外部企業は他社の知的所有権を侵害しない開発物を提供しなくてはならないことを明記している。われわれは知的財産を尊重する企業であり、業界他社の開発(物)を尊重しないサイトを所有することは、決してわれわれの意図するところではない」

長年にわたってMicrosoftは、同社のソフトウェアの違法コピーを阻止するため、熱心に活動してきた。Jukuサービスが開発された中国は、Microsoftの海賊版ソフトウェアが最も横行している地域の一つである。

Microsoftは、「Jukuサービスを無期限に停止し、この事態の責任を負う」と語っている。また、Plurkに謝罪するとともに、同社に対して事態の経緯を直接説明すると明言している。

なお、PlurkはMicrosoftの声明に対し、現時点ではコメントを出していない。

ちなみに、Plurkというのは、日本では認知度が低いと思われますが、

台湾では結構はやっています。

との類のサービスかというと、「ミニ掲示板でつぶやき」…、

同じ種類のサービスの中で、日本で一番有名なやつといえば、Twitterですね。

ちなみに、台湾ではPlurkのシェアはTwitterより高かったりします。

Jukuとはなんだろう…っと思いまして、軽くしらべてみましたが、

無論「塾」のことではなく、中国語の「Ju(聚)Ku(酷)」でした。

聚は「集まる」って意味で、酷は「クール」ということで、

クールな人や物が集まる…という意味だそうです。

結構昔のことですが、「台湾における台風8号(モーラコット)よる被害」の記事で、

台湾のITエンジニアらがgoogle、Twitter、Plurkなどのサービスを利用して、

被災中の情報伝達や被災後の整理に役立てた…という話もありましたね。

さて、ぉぅぇぃもITの教育機関であるKCGKCGIに務めていますので、

日頃から、プログラムなどのソースコードの著作権に気を使っています。

ちなみに、学校のほうも著作権は大事…っと考えていますので、

法律の専門家の先生を招聘して、

知的財産権法」のような講義がカリキュラムの中に組まれています。

やっぱ、プログラムで飯を食っている人にとっては、

ソースコードの著作権は生命線のようなものだからね〜

なにはともあれ、今回のマイクロソフトの失態には、流石に驚いていますね。

中小企業がこんなことをやらかしてしまいましたら、

場合によってダメになるかもしれませんが、

なにせ、「アノ」マイクロソフトなので、こんな問題でも、難なく解決だろう。

最近はIT系のアウトソーシングも流行ってきて、

業務プロセスの最適化やコンサルティングの部分だけが国内の人材が担当し、

実作業であるプログラムの制作を中国やインドに発注することが多くなっています。

…が、今回の案件を見ると、

あのマイクロソフトでさえ、ヤラレてしまうようなことが起きうる…ということは、

ソースコードの外注は意外なところでリスクに伴なうかもしれませんね。

ITの世界でも、コストばかりに注目するではなく、

リスクマネジメントも意識しなければならない時代に入ったかもしれませんね。

comments

2TBのハードディスク「日立GST Deskstar 7K2000」を購入しました

日立GST Deskstar 7K2000 (2TB/SATA3G/7200rpm/32MB) HDS722020ALA330

パソコンで録画した(アナログ)番組が増えてきたこともあり、

新しく購入するMacBook Proの自動バックアップアプリ「Time Machine」

のバックアップ先を確保するために、新しいハードディスクを買いました。

いや、ぉぅぇぃ家の録画環境は、一時間分は2GBくらい食うので、

容量を食いつぶすのがそれなりに早い。

「消したらいい」と言ったらその通りなんですが、

お嫁様が録画した映画やドラマとか、見直すはほとんど無いのですが、

「何となく、また見るかもしれないので、残しといで」ことも多い。

後、ぉぅぇぃの研究の社会シミュレーションのログとかも意味もなく膨大です。

こっちはイロイロな意味で、消すわけにはいかないのですね。

で、買ったのは日立(HITACHI)Deskstarの2TBのハードディスクです。

ちなみに、現在我が家のデスクトップに入っているハードディスクはこんな感じ。

  1. Maxtor 6L250S0(Maxtorの250GB)
  2. Hitachi HDT725050VLA360(日立の500GB)
  3. ST31000333AS(シーゲートの1TB=1,000GB)
  4. Hitachi HDS722020ALA330(日立の2TB=2,000GB)

う~む、狙っていたような、狙っていなかったような…、

丁度、250→500→1,000→2,000と、2倍ずつ容量が増大していますね。

ちなみに、ぉぅぇぃが初めて買ったパソコンのハードディスクは20MBです。

当時大学一回生だったぉぅぇぃは、20MBにするか30MBにするか、結構悩んだりしました。

詳しい人の助言によれば、「おまえの使い方なら、20MBで十分」だったらしい。

気がついたら、MB(メガ)からGB(ギガ)、さらにTB(テラ)まで進化してしまいましたね。

ちなみに、1TBは約1,000GB、1GBは約1,000MBなので、

1TBは約1MBの百万倍ですね。

つまり、今回買った2TBのハードディスクは、最初に買った20MBのハードディスクと比べたら、

容量の差は十万倍…です。

ちなみに、2TBのフォーマットは本当に、メチャクチャ時間掛かります。

WinXP、NTFSでやっているのですが、始まってから三時間くらい経過しました。

それでようやく半分…。フォーマットだけで推定6時間掛かるという計算に…。

う~む、フォーマット中に他のことが出来ないわけではないので、

放置したらいいけどね。

ぉぅぇぃ家デスクトップのマザーボードはインテルの「DG33BU」ってやつですが、

SATA(シリアルATA)のチャンネルは4つ付いています。

で、現在、SATAのハードディスクは4つ、そしてDVDドライブもSATA規格のものなので、

全部5つあるのですね。つまり、1つ足りないのです。(;´д⊂)

DVDドライブは頻繁に使うわけではないのですが、

時々使うこともありますので、流石に外すわけには行きません。

と言うことで、容量が一番小さい250GBのハードディスクを外すことになりそうです。

まあ、ハードディスクはとりあえずケースの中に置いて、

ケーブルと電源だけ抜く形になるだろうけどね。

実に言うと、ここで一つちょっとしたジレンマがあります。

この250GBのハードディスクを有効利用したいのであれば、

PCIやPCI-EXPRESSのSATAカードを増設するか、

あるいは外付けのハードディスクケースを買わなければ成りません。

いずれにしても、安くでも数千円は掛かるのですね。

しかし、考え方を変えてみたら、インターフェースやケースを買うよりも、

直接容量の大きいハードディスクを買ったほうがコストパフォーマンスが良い…

という可能性も十分にあります。

う~む、イロイロ悩みますね~。

フォーマットとか終えたら、MacのTime machineの保存先として指定するために、

デスクトップのwindows XPマシーンをファイルサーバとして機能させる必要があるらしい。

う~む、ここら辺のことはあんまり経験が無いので、

これからイロイロ調べようかな~っと考え中です。

明後日我が家にMacBook Proが来るまで、片付けてしまいたいところです~

comments