Ajaxで今よみがえる(^^;;-->[クロスブラウザ技術 ]DHTMLサンプル集
Web Sockets Domo

* サーバー側は、小松氏のこれをbloga.jp:80へ置いてあります。
* クライアント側はWS処理をjQueryプラグイン化してみました。これです。
* ちなみに、このDemoサンプルは、下記5行でローカルでも別ドメインでもどこにでも設置出来ます。
<script src="http://bloga.jp/ws/jq/js/jquery-1.3.2.min.js" type="text/javascript"></script> <script src="http://bloga.jp/ws/jq/js/jquery.ws-0.3-noenc-pre.js" type="text/javascript" charset="utf-8"></script> <script src="http://bloga.jp/ws/jq/conn/wschatdemo0.3.js" type="text/javascript"></script> <script>/*サポートしてない時のalertメッセージを抑止*/$.ws.wsSetup({nonosupportmsg:true});</script> <div id="wsdemos"></div>

【info】いつもいろいろなテストなどをページ内のあちこちでやっているので、重かったり、壊れていたりするf^^;ことも多いです。実験用ですので、カオス(混沌)をあえて意図したりもしますので、標準やValidとは無縁だったりしますが、何卒、ご了承ください ( _ _ b

【info】 最近はTwitterでぶつぶつ言ってることが多いです。
>http://twitter.com/toshirot

2006年08月30日

【開発ツール】JavaScript 用デバッグコンソール "IEerBug"

JavaScript , 開発ツール ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



JavaScript 用デバッグコンソール "IEerBug"
FireBug on Internet Explorer
"IEerBug" とは
http://tech.nitoyon.com/javascript/application/ieerbug/
IEerBug は Internet Explorer 6.0 と FireFox 1.5 で動く JavaScript 用のデバッグ コンソール






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【セキュリティ】IEが落ちる不具合有りのMS06-042パッチ修正版をリリース

セキュリティ , ブラウザ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



8月の月例パッチ「MS06-042」の修正版リリース、IE6 SP1の不具合を修正 (CNET)
http://internet.watch.impress.co.jp/cda/news/2006/08/25/13082.html

マイクロソフトは25日、8月の月例パッチ「MS06-042」の修正版をリリースした。 
(略)
マイクロソフトでは、8月9日に公開した月例パッチのMS06-042について、適用した場合にIE6 SP1が予期せず終了する不具合が発生するとして、MS06-042の修正版をリリースすることを公表していた。修正版は8月23日公開予定となっていたが、テスト過程で問題が発見されたとして公開が延期されていた。 (略)

マイクロソフト セキュリティアドバイザリ
HTTP1.1 プロトコルと圧縮を使用する長い URL のサイトにより、Internet Explorer 6 Service Pack 1 が予期せず終了する
http://www.microsoft.com/japan/technet/security/advisory/923762.mspx

Internet Explorer 用の累積的なセキュリティ更新プログラム (918899) (MS06-042)
http://www.microsoft.com/japan/technet/security/bulletin/ms06-042.mspx

#最近、IEがよく落ちるという話をあちこちで耳にしていましたが、修正パッチがようやくでたようです。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Ajax】ブラジルでは25%の開発者がAjaxを採用

Ajax ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



新興成長地域で高まるAjax人気,北米を上回る勢い(ITpro)
http://itpro.nikkeibp.co.jp/article/USNEWS/20060829/246636/?ST=oss

#サンバのリズムはweb2.0。実は、script.aculo.usの音感とかって、オルケスタデラルスに近いものがあるなぁと薄々感じていました。<関係ない。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Ajax】jQuery 1.0リリース

Ajax ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Blog » jQuery 1.0
Posted August 26th, 2006 by John Resig
http://jquery.com/blog/2006/08/26/jquery-10/

jQuery Docs - API
http://jquery.com/api/

#jQueryがWeb2.0らしからぬ?メジャーアップデートを行いました。このDocは良いかも。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月29日

【MochiKit】MochiKitのAjaxテーブルで日本語が通らない

MochiKit ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



MochiKitのAjaxテーブルで日本語が通らない(泣)。うう、、4日もかけたのに解決しなかった。。。あんまりだ、ばた。

Ajax部分だけでも自分で作ればよかった。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Ajax】そのサービスはAjaxフレームワークで一変できるか?(ITmedia)

Ajax , prototype.js ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Web 2.0で変わるWebプログラミングの常識:
そのサービスはAjaxフレームワークで一変できるか?
http://www.itmedia.co.jp/enterprise/articles/0608/28/news055.html
>「prototype.js」と呼ばれるJavaScriptフレームワーク。
>多くのAjaxを応用したサービスで使われている「Ajaxフレームワークのデファクト」だ。

#この連載には敬意を表する私ですが、デファクトとまでは言いにくいかも。。。というか、この記事でそういう地位を得ていく可能性はあるかも。でも、prototype.jsを使うと、JavaScript本来の機能に影響を与えてしまいますので、マッシュアップなどには向かないかも。でも、簡単なものや、Ruby on Railsなどの上では超便利かも。

#ちなみに、たとえば、javascript:for(i in [0])alert(i)の期待される普通の動作は、ページのアドレス欄に打ち込んでみるとわかりますが、iの値である0が1回表示されて終わりのはずです。でも、prptotype.jsの読み込まれたページ(たとえばこことか)で試すと、ずらずらと出てきます。iの値だけでなく、中身も取り出そうとして、javascript:a=[0];for(i in a)alert(a[i])とかやるともっと凄いことになります。prototype.jsでは、各ネイティブなオブジェクトへ追加された、こういう動作を知らずに、他のライブラリやWebサービスと組み合わせるのは難しいですし、あの数千行のコードを検査してから使うのも大変かなと。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【雑談】新聞?

雑談 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



うちに届く新聞は、版というか配送エリア?の境目あたりにあるせいだと聞いたことがあるのですが、早いうちにに印刷されるようで、かなり、早い時間に配送されてきます。(本当の理由は知りませんが、、、)

つまり、早くに届くのですが、記事が古いのです。

それで、たとえば、昼間の2時台に届いたりもするその夕刊?を読むと、昨日ネットで読んだ記事が普通に書かれていたりします(笑)。<いったいいつ印刷したのでしょう?<いや、もちろん、新聞配達さんなどががんばったから早く届くわけで、そこは有難いわけです。感謝。

とはいえ、最近は、その記事の古さにも慣れて、驚かなくなりましたけれど、新聞の読み方が変わりました。

ニュース自体は、知っている内容ばかりなうえに、配信元からのほとんど丸投げぽい記事?が多くて、文章構成まで同じだったりしますので、ほとんど読みません。

その代わり、ニュース解説やコラム、あるいは広告へ自然と目が行きます。なんとなく、雑誌を読むのに近い感覚に変わってきた気がします。これって、もしかすると、アメリカの新聞的?

#ところで、読み物なのになぜ「新聞」なのかなぁ、、、?「新見」とか「新読」でも良かった気がします。うちの場合は「旧聞」ですが(笑)。

#ただ、記事制作と印刷と配送の手間を考えれば、現場は、ものすごいスピードで作業していることは明らかなので、これをまだ遅いと感じるのは、もしかすると、生産性向上があたりまえの日本に住んでいるせいなのかも知れません;;。まぁ、工場印刷でニュースを配信する速度は、物理的にもう限界なのかも。

#それから、新聞記事と同一配信元(ロイターや共同など)のネット記事が身近になった結果、相対的に新聞の体感速度が落ちたという感じです。TV対新聞では感じなかったことなので。

#ちなみに、「ブログ」や「YouTube」がはやり、韓国で成功した「オーマイニュース」日本版も創刊されたようですが、日本では掲示板の「2ちゃんねる」も一種のニュースメディアとして機能しています。今後、どうなるかはわかりませんが、ニュース的メディアの再編が起こってくると思います。とは言っても、今のところ「ウィキペディア」よりも「百科事典」に権威があるように、「新聞」の権威は、まだ、健在なのかなと思います。「ソースきぼんぬ」とか、プログラマー的には、「ググる」な「仕様」を読めと言う感じ?

#あと、「YouTube」や「オーマイニュース」などの逆配信タイプ?のニュース媒体?は、村上龍の小説を思い出します。といいますか、アイディアは共有されており、技術もあったわけですから、とっとと、何年も前に日本人が立ち上げていて良さそうな気も。うーん。何かが今の日本には足りないのかも?<自分も(^^?

#それにしても「オーマイニュース」の「市民記者」という言い回しには、なぜかある種の市民団体を連想してまうなぁ、、、。60年代的というか。市民って何かなぁ?シチズン? ネチズム(もといネチズン)とか言うのだけは韓国人による愛国主義的サイバーテロ活動を思い出すので勘弁して欲しいかも。



    お知らせ ( 2006年08月29日 19:00 )

    ×YouTubu
    ○YouTube

    高橋 ( 2006年08月29日 23:36 )

    お知らせありがとうございますf^^;修正しました。


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月28日

【Google Maps】Geocoding.jp

GPS , Google Maps ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



http://www.geocoding.jp/
住所やランドマーク名から経度、緯度を検索

#Google Mapsの日本版ジオコーディングが機能しなくなった今ありがたいサービス。でも、aboutによると、「プログラムからの大量検索はマジで勘弁してください(泣)」とありますので、使い方はやさしくね。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Google Maps】Googleマップ利用ツール

Google Maps ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Googleマップ利用ツール
http://www2a.biglobe.ne.jp/~qpon/js/index.htm?http://qpon.quu.cc/google_map/Gmap_b.htm
Google-Maps-API-Japan Googleマップ活用ツール
http://groups.google.com/group/Google-Maps-API-Japan/browse_thread/thread/5ddb25a59f4f7425

#データの単純さが好きなタイプです。結局、カンマ区切りって良いなぁ、みたいな。<カンマ区切りへの郷愁?<いや、字数減らすニーズは今でも健在。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月27日

【Ajax】j巻 Early Access V.4

Ajax , Java , JavaScript , 開発ツール ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



jMaki プロジェクト ホーム
https://ajax.dev.java.net/
Downloads (jMaki Early Access Version .4 )
https://ajax.dev.java.net/servlets/ProjectDocumentList?folderID=0
スクリーンキャスト
https://ajax.dev.java.net/screencast/jMakiDemo.html

#Dojo, Script.aculo.us, Yahoo UI Widgets, Spry, DHTML Goodies, and Googleなどからコンポーネントとして使えるようになってきているみたいです。スクリーンキャスト見た感じでは、どかどか、ドロップして貼り付けていますけど、何となく不安?というか一抹の違和感が、、、。<古い人間のせい?






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Ajax】Google Web Toolkit(GWT)の使い方(@IT)

Ajax , Java , JavaScript ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



JavaScript×HTMLとJavaのシームレスな開発環境を体験してみよう(@IT)
http://www.atmarkit.co.jp/fwcr/rensai/googlewebtoolkit03/01.html






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月26日

【JSON】Remote JSON - JSONP

Ajax , JSON , JavaScript , Webサービス , セキュリティ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Remote JSON - JSONP
http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/

Web 2.0で変わるWebプログラミングの常識:
実は、Ajaxのウラにこそ勝算がある (2/5)
http://www.itmedia.co.jp/enterprise/articles/0608/25/news010_2.html

Yahoo! Web Services の Using callback=function:
http://developer.yahoo.com/common/json.html#output

追記2006.8.27 JSON with Padding Test
http://www.geocities.jp/stormriders999/jsontest.html

追記2006.8.27 [json]ブラウザからJSONで呼び出せるサービス一覧
http://d.hatena.ne.jp/shinichitomita/20060825/1156504036



JSONP(JSON with Padding)という話がでていたのでメモ。

1.ドメイン超えをするためにXHR+プロクシではなくJavaScriptのロードを使う、

ということと、

2.着信コールバック名を、クライアント側からURLクエリとしてサーバーへ渡し/返してもらう、ことで着信後の動作を自動化する

という仕組みのようです。信頼のできる関係の中で、有益な方法かなと思います。

サーバーからJavaScriptデータの着信コールバックを渡す仕組み自体は、私の関係では、古くは、たとえば10年前のNewGameWeb 用ランキングなどもそうですけれど、普通に使われていた手法だと思いますが、この新しい所は、「XHRのクロスドメインを超えて最近普及してきたWebサービスをクライアントがコールバックを指定する形で利用したい」という歴史性?かもしれません。

まだ、ざっとみただけで断言はできないので、勘違いなど指摘いただけると有り難いのですけれど、この場合のリスクには要注意かなと思います。クライアントの指定するスクリプトをサーバーが通過させなければならないからです。まさに、XHRが禁止したクロスサイトの攻撃が解禁されるわけです。

信頼不能な不特定多数のクライアント入力を前提とした(たとえば、掲示板など)では、どんなコールバックを渡されるかわからないので、防御構築には、結構手間が掛かるかもしれません。

このJSONPのページにある事例では、(new Date()).getTime();をuidに使用することで、リクエストとレスポンスの整合をはかっているようですが、クライアントの時間はあまり信用できないことと、getTime()だけでは、経験的には、複数入力時に衝突する可能性も低くないような気がしますし、推測も簡単そうです。(ちなみに、程度の違いで気休めといわれてしまうかもしれませんが、AjaSQLでもリクエストとレスポンスの整合を解決するルーチンをもうけているのですが、そこでは、クエリ+α+getTimeにMD5をかけています。)

YahooのUsing callback=functionの方は、信頼すべき相手は、Yahoo!です。その信頼を確保することが、ポイントのひとつかなと思います。

#ところで、少なくとも、こういう仕組みを利用するときには、たとえ相手が、Yahoo!やGoogleであっても、ログインページなど重要な入力要素の設置されたページで使わない心得は必須かも。
参考:ドメイン間のデータ送信テスト
http://game.gr.jp/secur/door/test1.htm

#で、もし、サーバー側をいじれる立場の人が、クライアントでクロスサイトなデータのやりとりをしたいなら、クライアントからいじれない、たとえば、使い捨て着信コールバックなどをサーバー側から出力してダイナミックロード関数とか使うのも良いかも。

#ただ、こういうものの使われ方には無数のケースがあり得るので一律に語るのは難しいです。ま、どんなときも、作る側の注意は必須ということでしょうか。<一般化しすぎ(笑;;;






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月25日

Allabout更新

Google Maps ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



そろそろv2についても書き始めた方が良いかな、ということで、、、

Google Maps v2を設置する(1)
http://allabout.co.jp/internet/javascript/
Google Maps APIのバージョン2に対応した設置方法を順次紹介していきます。今回は、v1からv2へ移行する際の注意点の基本的な部分です。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Ajax】GWT:現実的な開発に即したAJAX

Ajax , Java , JavaScript ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Google Web Toolkit:現実的な開発に即したAJAX
http://codezine.jp/a/article.aspx?aid=531






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【雑談】経済産業省がグーグルに対抗

雑談 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



グーグルに対抗、「日の丸検索エンジン」官民で開発へ
http://www.yomiuri.co.jp/atmoney/news/20060825it01.htm?from=top

>経済産業省は24日、...「検索エンジン」の開発に官民共同で乗り出す方針を明らかにした。
>画像や音声で必要な情報にたどりつける「次世代検索エンジン」を来年度から3年で開発し、米国勢に先行
>2007年度予算で50億円を概算要求する。

#次世代○○シリーズ? 官民共同1.0? 50億かぁ。優勝賞金50億の公募にしてみたらどうかな^^? というか、3年後にこの技術が先行できているのかちょっと不明。

>実現すれば、デジタルテレビのリモコンのボタンを操作するだけで、番組に登場した人物や地域の情報を集めたり、紹介された商品をネット販売で買ったりできるようになるという。

#新技術あまりいらないかも? リモコンの代わりに携帯なら来週からでも実現できるような気も。というか、もうやっているような? たとえば、このあたりのシステムは、もうあるわけですし、、、?→TBSオリジナルグッズKDDIとテレビ朝日ボーダフォンとバンダイ






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【JavaScript】ショートカットをリストアップ

JavaScript , Yahoo! UI , チューニング ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



YUIを眺めていて、ああ、これ積極的に使っても良いなぁ、と思ったのはショートカットのリストアップ。ライブラリ既成の$関数などの話ではなくて、たとえば、次のようにして各クラス名やメソッド名などを短くしてリスト化します。何を使っているのか、ひとめでわかると。 大昔からあるテクニックではありますが、意識の仕方で結構良いかも?

    //ショートカットを作成
    var M = YAHOO.widget.Menu;
    var A = YAHOO.util.Anim;
    var D = YAHOO.util.Dom;
    var I = YAHOO.widget.MenuItem;
    
    var oMenu = new M("menu1",{x:10,y:10});
    var mItem1 = oMenu.addItem(new I("01 あいう"));
    var mItem2 = oMenu.addItem(new I("02 かきく"));
    oMenu.render(document.body);   
    oMenu.show();

てな具合で、YUIのようにネームスペースを使うなどして階層が深い、というかじゅげむじゅげむなライブラリでは、ショートカットをつくり、スクリプトの頭にまとめると、ソースも整理できて、軽量化にもなりますし良いかもと、ふと思ったのでメモ。<もちろん、ネームスペースを無意味化しない注意は必要(^^;

#あ、いえ、この時、わたしが眺めていたYUIのソースでは、このサンプルほど露骨には使っていません。というか全く普通ですので、このエントリの責任はYUIには有りません(笑;。ちなみに、こんなソースです。
    var Menu = YAHOO.widget.Menu,
    MenuItem = YAHOO.widget.MenuItem;
    var oPIMMenu = new Menu("pim");
#全然、まるっきりちゃうやん。<インスパイア&リスペクトってことで。




AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月23日

【ブラウザ】FirefoxUIの大部分はすでにJavaScript

ES4 , JavaScript , ブラウザ , 言語 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Firefoxの最新状況
http://www.itmedia.co.jp/enterprise/articles/0608/15/news031.html

(略)シュレーファー氏は、CやC++などの「ネイティブコードで書かれたもの」については、今後もセキュリティが問題になるとの見通しも語った。 (略) これらの問題を最小限に抑えるポイントが2つある。 (略) 第2は、Firefoxの「ネイティブ」なコードを可能な限りJavaScriptへ移行することだ。Firefoxの大部分のコードをJavaScriptで書けば、「コーディングエラーの類は基本的には完全になくなる」とシュレーファー氏は言う。

 大部分のコードをJavaScriptで書いた場合、Firefoxのパフォーマンスは低下しないか? ユーザーインタフェースの大部分は既にJavaScriptで書かれているとシュレーファー氏は言う。「どのみちコードの98パーセントはパフォーマンスと関係ない部分で動く」

JavaScript 2.0への移行

 JavaScriptが結局おもちゃの言語に過ぎなかった当時は、Webページの見栄えが多少派手になればよく、それ以外のことはどうでもよかったのではないか? そんな時代ははるか昔のことで、シュレーファー氏によれば、この言語は将来もっとずっと堅牢になるという。

 Firefox 2.0にはJavaScript 1.7が組み込まれることになっている。JavaScriptとしては約6年ぶりのメジャーアップデートだという。

 JavaScript 2.0も開発中だ。シュレーファー氏によれば、「現在、標準化団体で検討されている」という。具体的には、Ecma InternationalがECMAScriptという名前で標準化を進めている
(略)
標準化作業が完了すると、JavaScript 2.0がメジャーアップグレードとなり、クラスベースの継承、静的な型チェック、ループイテレータの構文が盛り込まれる。
(略)

#JavaScriptがおもちゃの言語に過ぎなかった頃は、こんな展開になるとは思いませんでした。まぁ、JavaScriptとは言っても、ブラウザの表側で動くものとは違う世界ですが、PDFやらイラストレータやらJavaScriptがカバーしている広範な世界の一端が結実しつつあるという感じ?と、同時に、JSR 223やRhinoの流れもありますから、今後さらに深く利用されていきそうかも?
#それにしても、「JavaScriptで書けば、「コーディングエラーの類は基本的には完全になくなる」」という言い方は、一瞬勘違いしてしまいそうな言い回しですねf^^;。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【仕様】W3C 草案 Web Forms 2.0

仕様 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Web Forms 2.0
W3C Working Draft 21 August 2006
http://www.w3.org/TR/2006/WD-web-forms-2-20060821/

この仕様はWeb Forms2.0を定義します。それは、HTML4のForms章のFormへの拡張、および対応するDOM2 HTMLインタフェースの定義です。 Web Forms2.0はHTMLとXHTMLユーザエージェントの両方に適用されます。 ...うんぬん。

5.6.6. For javascript: actions
http://www.w3.org/TR/2006/WD-web-forms-2-20060821/#for-javascript

7. Extensions to the HTML Level 2 DOM interfaces (DOM2 HTMLの拡張)
http://www.w3.org/TR/2006/WD-web-forms-2-20060821/#dom






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月22日

【セキュリティ】実際のアプリケーションに潜む危険なコード

PHP , セキュリティ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



【PHPカンファレンス2006】PHPで書かれた実際のアプリケーションに潜む危険なコード
http://itpro.nikkeibp.co.jp/article/NEWS/20060821/245977/

「安全なコードを書くには悪い例も知っておかなければならない」
(中略)
「セキュリティのリスクはサブシステムとの境界の部分で発生する」と指摘した。サブシステムとは,データベース,メール・システム,ユーザーのWebブラウザといった外部のシステムのこと。「境界で入力時にきちんとバリデーション,出力時にきちんとエスケープ処理(フィルタリング)を行えば,かなりのセキュリティ・ホールは防げる」(大垣氏)。
(中略)
例として取り上げたアプリケーションは,オープンソース・ソフトウエアの配布に使われているSourceForge.netで,おおむねトップ30から50までの間にあるものから選んだという
(中略)
未検証のユーザー入力値をそのままクエリーとして実行している部分があった。実際には,安全に実行できるようエスケープ処理が必要だ。
(中略)
POSTのキーの要素名をクエリーに利用していた。入力値だけでなくキーの要素名も検証の必要がある。
(中略)
POSTの値をそのままWebブラウザに返している部分もあった。この場合は,JavaScriptのコードを埋め込むことで実行できてしまう。
(中略)
セッションIDをブラウザで表示している部分は,古いPHPだと危険
(中略)
POSTの値をクエリーに利用し,しかもその結果をブラウザに表示している部分
(中略)
PHPのコードを埋め込むために「<?」(ショートタグという)を利用していたのも問題だという。ショートタグはデフォルトでは有効だが,オンオフを切り替えられる。オフに設定していたサーバーでは,ソースコードが見えてしまうことになる。ショートタグではなく「<?PHP」というタグを使うのが鉄則
 :
etc...

#やはり、結構あるんですね。もちろん、システム全体としては安全というケースもあるのでしょうけれど、おそらく、完全な穴もあるのではないかという気はします。ひとごとではなく、自分も気を引き締めて注意しないといけないなぁと。。。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月21日

【Google Maps】郵便番号地図

Google Maps ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Zip Code Maps
http://maps.huge.info/zip.htm


zipmap.gif

#たとえば、10007と入力して検索するとマンハッタンが表示されますが、郵便番号エリアごとに塗り分けられたカスタムマップが使われています。これは、v2で出来るようになった機能の一つです。日本の郵便番号では塗りわけが可能なのかはわかりませんが、いろいろ使える機能です。地図を作る手間はかかりますけれど。
#ネタfrom Google Code






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【仕様】W3C勧告候補 SVG Tiny 1.2

SVG , 仕様 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Scalable Vector Graphics (SVG) Tiny 1.2 Specification
W3C Candidate Recommendation 10 August 2006
http://www.w3.org/TR/2006/CR-SVGMobile12-20060810/

15 Scripting
http://www.w3.org/TR/2006/CR-SVGMobile12-20060810/script.html

ECMAScript Language Binding for SVG
http://www.w3.org/TR/2006/CR-SVGMobile12-20060810/ecmascript-binding.html

SVG Tiny 1.2 勧告候補の公開について
あらゆる機器上での実装準備が整った2次元ベクタ画像形式
http://www.w3.org/2006/08/svgtiny-pressrelease.html.ja






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【仕様】W3C XML 標準仕様群の改訂

XML , 仕様 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



XML 標準仕様群の改訂について (W3C 勧告)
明確化と完全性を追求し、改訂された XML 仕様群
http://www.w3.org/2006/07/xml-pressrelease

2006年8月16日 — World Wide Web Consortium (W3C) は本日、データ交換における基盤を構成する既存の XML 仕様群を改訂し、XML 1.0 (第4版) と XML 名前空間 1.0 (第2版)、及び XML 1.1 (第2版) と XML 名前空間 1.1 (第2版) をそれぞれ W3C 勧告として公開いたしました。

本改訂により、これらの仕様では、少なからず解釈上の相違が生じかねなかった箇所が明確化されるとともに、これまで報告された全ての修正が盛り込まれています。
(中略)
XML は様々な分野や状況に応じて、情報交換の手段として利用されています。VoiceXML、MathML、SVG、RSS、Web3D、RDF/XML、XMP、XUL、SOAP、Ajax、Jabber/XMPP などは XML に基づく技術のほんの一例に過ぎません。

皆さんも良く知る統合オフィスソフトである Microsoft Office や OpenOffice などでも XML が利用されています。XML はまた、ISO 標準を含め、ますます増加の一途をたどる様々な技術仕様から引用されています。
(中略)
W3C は今後も強力に XML に関する活動を推進していきます。W3C では2006年末を目処に、XML Query 1.0 及び XSLT 2.0 をそれぞれ W3C 勧告として公開できるよう、鋭意準備を進めています。

W3C ではまた、SOAP を用いた Web サービスにおいて重点的に利用されている XML Schema の改訂と、本年末に勧告化予定の XML Query 1.0 を基に、版を重ねた上での機能追加を検討しています。

この他、W3C XML Processing Model ワーキンググループでは、既存の XML 連続処理ソフトウェアや、無償かつオープンソースで設計されるソフトウェアを参考に、変換、検証、統合、復号化といった XML 文書に対する一連の操作手順を規定する、XML に基づく新たな言語の草案初版をまもなく公開します。

一般的なデータ圧縮技術を XML 文書に用いることもできますが、XML を効率良く格納、送受信、処理するのに特化した技術も多数開発されています。

W3C では、効率的な XML の交換を目的に Efficient XML Interchange ワーキンググループを設置し、ストリーミングにも応用可能な、より一層の優れた処理効率や追加機能を必要とする広範な分野への XML の普及を目指します。

Extensible Markup Language (XML) 1.0 (Fourth Edition)
W3C Recommendation 16 August 2006
http://www.w3.org/TR/2006/REC-xml-20060816/

Extensible Markup Language (XML) 1.1 (Second Edition)
W3C Recommendation 16 August 2006
http://www.w3.org/TR/2006/REC-xml11-20060816/

Namespaces in XML 1.0 (Second Edition)
W3C Recommendation 16 August 2006
http://www.w3.org/TR/2006/REC-xml-names-20060816/

Namespaces in XML 1.1 (Second Edition)
W3C Recommendation 16 August 2006
http://www.w3.org/TR/2006/REC-xml-names11-20060816/

#日本語プレスリリースがすぐにでてくれるのはありがたいです。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月20日

【Webサービス】サーバー監視サービス

Webサービス , セキュリティ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



非力なルータを使っているせいか、ちょっと攻撃されるとすぐに停止してしまいます(安全とも言えますが(^^;)。ただ、自分の分だけならまだ良いんですが、ネットワーク内にゲームサーバーなども置いていますので、一応、別の場所からサーバーを監視して、停止したら対処、という体勢にしています。
自分でも別サーバーからpingを打ってメールを飛ばす仕組みは別途組んではいますが、複数あった方が安全です。というわけで、お世話になっている無料サービスは、ここ↓で、停止時にメールでお知らせしてくれます。感謝。

株式会社シーマン サーバー監視サービス

#まぁ、資金が無いなりのやりくりといいますか。。。それでも、今日みたいに対処が遅れることが、、、。うぅ、、。<もう少し高いルータに替えるべき?<自動復旧させる手は無いかなぁ。警告メールをフォワードして、文面によってルータを再起動とか?<原因確認せずに再起動して良いのか?<うぅ。。



    hana ( 2006年09月05日 11:45 )

    nagiosっていうサーバ監視ツールってのが
    便利ですよ。


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月19日

【widget】Google デスクトップ サイドバーガジェット入門

widget ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Google デスクトップ サイドバーガジェット入門
http://desktop.google.com/ja/script-primer.html

>サイドバー Gadgets 間の通信
>他のコンピュータで実行されているサイドバーガジェットと通信できます。

#これって、おもしろいけれど、、、

>eval() を呼び出して、受信データを実行することがないようにする必要があります。

#ということは、やろうと思えば出来るのかな?それは、やばいかも? 試すしかないかなぁ、、、。今月は忙しいので、来月でも(忘れていなければ^^;)試そうかな。



    Taken ( 2006年08月20日 13:44 )

    初めまして。いつも読ませていただいております。
    気になったのですが wedget は widget ではないでしょうか ? Google Gadget にはいつか手を出してみたいものです。

    高橋 ( 2006年08月21日 21:13 )

    ありがとうございます。修正しました。

    #こういう修正はSQLを直接いじるのが楽ですが、できればMTにももう少しその手の機能が欲しいなぁと思います<MTの新版にはあるのかなぁ。


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【仕様】W3C 音声合成記述言語SSMLの国際化対応を拡大

仕様 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



音声合成記述言語の国際化対応を拡大
音声アプリケーションにおける世界中の言語への対応強化を支援
http://www.w3.org/2006/08/ssml-pressrelease






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【widget】「Googleデスクトップ4」日本語β版公開

widget ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



「Googleデスクトップ4」日本語β版公開
http://www.itmedia.co.jp/news/articles/0608/17/news078.html

Google デスクトップ-ダウンロード
http://desktop.google.co.jp/

参考
Googleガジェット開発ツール、日本語版も提供開始
http://www.itmedia.co.jp/news/articles/0608/19/news008.html

#私は、以前のものは鬱陶しくて削除してしまったんですけれど、もう一度試してみようかなぁ。Operaのガジェットもそうなんですけれど、どうも、まだガジェット類は動作がもっさりした感じで腰が引けてしまうんですよね。Macのだけは、専用画面で風景のように立ち上げっぱなしにしているので、一応使ってはいますが、日常業務をしているときに、同じ画面内で主張されると、、、。その欠点を補うだけの情報が手にはいるなら良いかも。<って、まだ、Googleデスクトップ4は使っていない状況での予断(笑;)です。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【JSON】Zend_Json

JSON ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Zend Framework
第9章 Zend_Json
目次

9.1. 導入
9.2. 基本的な使用法
9.3. JSON オブジェクト


プログラマ向けリファレンスガイド
Zend Framework
http://framework.zend.com/manual/ja/index.html






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【ブラウザ】Windows Vista用「IE7+」の名称は撤回

ブラウザ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Windows Vista用「IE7+」の名称は撤回、米Microsoftに反対意見が殺到
http://internet.watch.impress.co.jp/cda/news/2006/08/07/12922.html

 これによって、正式名称はWindows XPの場合「Windows Internet Explorer 7 for Windows XP」であり、Windows Vistaでは「Windows Internet Explorer 7 in Windows Vista」と呼ばれることになる。

 どちらも「Internet Explorer 7」と同じ名称で呼ばれることになるが、両者の間には異なる機能が存在することに注意する必要がある。例えば、Windows Vista向けのIE7には、Vistaのアーキテクチャを利用したプロテクトモードが存在する。これは、Windows XP版には存在しない機能だ。

ウィンドウズ開発統括部(日本)
IE7 - Windows Vista に含まれる IE7 の名前の変更
http://www.exconn.net/Blogs/windows/archive/2006/08/06/15910.aspx

#私としては、呼び名は何でも良いのですが、プログラム的な識別が一意にできるマークをなるだけシンプルなものにして欲しいところです。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月18日

【JSR223】JavaとJavaScriptの親しい関係

JSR223 , Java , JavaScript , 言語 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



小山博史のJavaを楽しむ(1)
JavaとJavaScriptの親しい関係
http://www.atmarkit.co.jp/fjava/column/koyama/koyama01.html

関連:
【JSR223】JSR 223: Scripting for the JavaTM Platform
http://jsgt.org/mt/archives/01/cat_java.html
【Java】Java VMがJavaのものではなくなる日
http://jsgt.org/mt/archives/01/001063.html
Rhino のダウンロード
http://www.mozilla-japan.org/rhino/download.html






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月17日

【ハード】コンセントにつないで理論値200Mbps

ハード ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



ソフトバンクBBが取り組む「コンセントからインターネット」
配線工事も不要。導入や設定も無線LANより手軽なPLC
http://bb.watch.impress.co.jp/cda/special/15022.html

#その後、どうなったのかな〜と思ったら、続けていたんですね。



    よっしー ( 2006年08月18日 12:11 )

    いつも情報満載で楽しみにしてます。高橋さん、初めまして!encafe wiki 〔お薦め技術情報集約サイト〕のお薦めブログ100選( http://wiki.encafe.jp/index.php?%A5%D6%A5%ED%A5%B0%A3%B1%A3%B0%A3%B0%C1%AA )に掲載させて頂きました。SNS( http://www.encafe.jp )にもいつでも遊びに来てください。ブログ設定もできますので。

    高橋 ( 2006年08月18日 23:45 )

    こんにちは。 http://www.encafe.jp のコンセプトは面白そうですね。SNS私は、大昔にGoogleのorkutに参加しましたが、すぐに放置したっきりになって^^;、その後SNSは、全然使っていないです。まぁ、忙しすぎというのもあるのですが、、、。


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Google Maps】coolApp = new myCreativity(mapsAPI, searchAPI);

Google Maps ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



coolApp = new myCreativity(mapsAPI, searchAPI);
By Eric Case - 11:05 AM
http://google-code-updates.blogspot.com/2006/08/coolapp-new-mycreativitymapsapi.html

How to add Google Search to your Maps API application
http://googlemapsapi.blogspot.com/2006/08/how-to-add-google-search-to-your-maps.html
var latLng = GLatLng(parseFloat(result.lat), parseFloat(result.lng)); var marker = new GMarker(latLng); myMap.addOverlay(marker);





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【雑談】Googleも偉くなったもんだね、みたいな?

雑談 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



グーグル、「ググる」の使用に難色
http://japan.cnet.com/news/media/story/0,2000056023,20203307,00.htm

Googleが、「google someone(だれかについてググる)」といった一般動詞としての同社名の使用を厳重に取り締まる意向を明らかにした。

 Googleによると、このような言いまわしは、同社のブランドを傷つける恐れがあるという。


そして、
 ブログコミュニティーには、これはGoogleがかつての格好良さと遊び心を失いつつあるしるしだ、とする意見がある。

 あるブロガーは、この言葉の使用に込められた思いがGoogleには伝わらなかった、とも示唆した。この言葉の使用は、同社が検索業界を独占していることに対する明らかな賛辞だという。

 大学でコンピュータ工学を学んだブロガーのFrank Gruber氏は、「これは究極の賛辞のはずであり、Googleが異なる受け取り方をしたことは信じられない」と述べている。

 別のブロガーSteve Rubel氏は、同社の対応を「史上最悪のPR活動の1つだ」と切り捨てた。


この件の良し悪しなどとは関係ない、この記事の興味(?)とは、全然違う話ですが、、、

日米で「Google」と言う単語が、同時進行的に動詞化していて、このGoogleの挙に対する外国人の反応にほとんど同じ感想を感じてしまう自分がいることに、現在の言葉の壁を越えたリアルタイムグローバリゼーションを垣間見た気がしました。<いや、もちろん、平凡な自分が感じたということは、少なからず多くの日本人も「Google」もあほなことしたね、と感じたのではないかと想像しての話ですが。

普段は、すでにグローバルな世界にどっぷりつかっているので、 あまり意識することもなかったのですが、これほどのリアルタイム性の高い同時性が大規模に進行する様は、恐らく歴史上かつて無かったことかなと思います。

と、同時に一方では、各ローカルエリアのネット上では、かつて無かった勢いで盛り上がりつつある(プチ?)ナショナリズムもあって、これも同時にそれぞれのエリア毎に先鋭化しつつあるように見えるわけです。「空気」を共有し、「差異」を求める、というベクトルの異なる(異ならない?)ムーブメントが、世界中で共時的に起きているみたいな気が?

ちょっと、気になったので、そのうちゆっくり考えるために、この感覚をメモ。

#最後にこの件への感想ですが、会社も大きくなって人が増えると、勝手に動き出すのですよね。Googleが本当に、ユーザーが話す言葉まで禁止したいなら、言論の自由の無い国へでも行けば、思う存分禁止できるのではないかと思いますよ。



    神崎 ( 2006年08月19日 16:28 )

    Zerox製でなくても"zerox paper"などと使われることもあるとかないとか。
    (zerox: Zerox製のコピー機でコピーするの意)

    ググるという言葉が、「グーグルを使う」ではなく、「検索する」という意味で使われ出すと、
    「ヤフーでググる」とか、「ググレといわれてヤフーで検索する」という使い方をされるからではないでしょうか?
    (「ブランドを傷つけ等れるおそれがある」という表現)

    表現や言論の自由の問題ではないですからね。。。

    高橋 ( 2006年08月19日 17:16 )

    神崎さん、こんにちは。

    確かに神崎さんのおっしゃるような心配なのでしょうけれど、この件がどうなるかは、まぁ、どのような方法で「同社名の使用を厳重に取り締まる」のか、にもよりますね。

    おそらくは(想像ですが)、この主張は、商標などの専門家によるアドバイスで、正当な主張なのかなと思いますが、フィードの反響などを見る限りは、

    「ブランドイメージを傷つけないための方法」としては、あまり上策とは言えないのではないかなぁ?という気がします。

    わたしの言論の自由についてのくだりは、冗談のつもりですが、往々にして自由を侵害する時には、侵害する意図はなかったりします(あっても、人の口に戸は立てられないわけですけれど(^^; )最近のGoogleは意図せず? そういうことをしてしまっているケースがあるような気がして、多少心配していることも事実だったりはします。これとかhttp://gigazine.net/index.php?/news/comments/20060609_googlecn/


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月16日

【ES4】ECMAScript 4

ES4 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



ECMAScript 4
This is the export root of the ECMAScript 4 committee wiki.
http://developer.mozilla.org/es4/

#Thax mal さん

ECMAScript 4 Netscape Proposal(2003)
http://www.mozilla.org/js/language/es4/
ECMAScript4はPython化するのか?
http://d.hatena.ne.jp/bellbind/20060223/1140650994
Python and JavaScript
http://weblogs.mozillazine.org/roadmap/archives/2006/02/js_and_python_news.html
ECMAScript-Wikipedia
http://en.wikipedia.org/wiki/ECMAScript






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月15日

【雑談】牛久大仏 万燈会

雑談 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



牛久大仏 万燈会(まんとうえ)、いまメインの花火終了しました。今年は、霧雨でしたのでライトアップがかなりファンタジックに仕上がりました。毎年見ているわけですが、あのサイズ(人の形をした超高層構築物)でのライトアップは、もろに、天候というか、大気の湿度や温度や風向きなどとのコラボレーションになるので、毎年違ってみえます。

#あと、これも毎年思いますが、この空気感というか、空間は、写真に撮ると、本当に全く伝わらないです。現場に入って感じるしかないタイプの催し物のひとつなのかなぁと思います。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月14日

【JavaScript】JavaScript 1.7 の新機能(nanto_viさん)

JavaScript ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



JavaScript 1.7 の新機能(nanto_viさん)
http://nanto.asablo.jp/blog/2006/08/12/481381

New in JavaScript 1.7
http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7

#JavaScriptの聖地Mozilla 健在みたいな? JavaScript 2.0は成功するか? すべてはFirefoxとWindows Vista次第?



    mal ( 2006年08月16日 18:31 )

    http://developer.mozilla.org/es4/
    の紹介はありましたっけ? 1.7 はここに至る一里塚。
    https://intranet.mozilla.org/ECMA/wiki/doku.php
    (見られない)の6月時点のものですが、細かいところは既にだいぶ変ってそう。

    高橋 ( 2006年08月16日 22:48 )

    ありがとうございます。カテゴリ【ES4】を追加しました。こんなWikiがあったのですね。


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月13日

【Google Maps】draggable Marker ドラッガブルマーカー

Google Maps ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



マーカーをドラッグするとビヨンビヨンと、、、


var map = new GMap2(document.getElementById("map")); var tokyo = new GLatLng(35.65872,139.7454); map.setCenter(tokyo, 17); //draggable属性付きマーカーを生成します var marker = new GMarker(tokyo,{ draggable:true } ); map.addOverlay(marker);

#v2.61から実装されます。リファレンス意訳とサンプルは、このあたりここらへん、英文情報は下記などご覧ください。
http://googlemapsapi.blogspot.com/2006/08/draggable-markers-and.html


    古籏一浩 ( 2006年08月13日 23:02 )

    おお、面白い〜

    高橋 ( 2006年08月14日 09:00 )

    ユーザーによる位置入力用インターフェイスとして、使いやすいものを作れそうですね。

    古籏一浩 ( 2006年08月14日 20:48 )

    ふと持ったけど、これで将棋とかチェスとかできそうf(^^;
    衛星写真上で、それぞれ戦えそう。裏で非同期通信でマーカー位置を持ってくればいけるかな〜

    高橋 ( 2006年08月14日 21:20 )

    動作的にチェス感?はありますね(笑)。

    ナスカの地上絵のような、馬鹿でかい碁盤を用意して世界大会するとか、楽しいかも(笑;;;。<長野ならできるかも。<茨城でも出来るかな、、、^^;


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【雑談】お盆

雑談 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



今日は、いつもの8/13より人が多かったなぁ。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【雑談】ニンテンドーによる原点回帰、技術者が好きなものとユーザーが好きなもの。

雑談 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



欧米にも広がるプロセッサ性能至上主義の崩壊
http://amanoudume.s41.xrea.com/2006/08/post_260.html

EAが今までPSPに注力してきたことは疑う余地がない。我々は技術にとらわれていたが、ユーザーはそれよりもゲームの楽しさを求めていることを証明した。注力すべきはゲームの楽しさであることを忘れてはならないと思い、EAはDS用ゲームに注力していくつもりだ。


    ひ- ( 2006年08月20日 13:34 )

    ファミコンのゲームの純粋な面白さをまた復活させてほしいです。
    「ファミコンミニ」などのそのままの復刻版ではなく、古いゲームのよさを考えて、今まで見たことのない新鮮なのを発売してほしいです。

    高橋 ( 2006年08月21日 20:49 )

    たぶん、誰も見たことの無いゲームは、まだまだたくさんあるはずだと思いますよね。


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月11日

【Google Maps】勝手に拡張クラス日本測地系座標用class GLatLng_tky

Ajax , Google Maps , 『入門 Ajax』 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Google Maps API バージョン2リファレンス(意訳とサンプル)
勝手に拡張クラス日本測地系座標用class GLatLng_tky を追加しました。

class GLatLng_tky
http://jsgt.org/ajax/newmon/GoogleMapsAPIv2.htm#GLatLng_tky

GLatLngクラスで日本測地系座標を使いたい場合用の代替クラス。 日本測地系座標を使いたい時は、GLatLngクラスの代わりに下記GLatLng_tkyを使用します。世界測地系(wgs84)の座標を使うときは不要です。Methods、Propertiesは、GLatLngとまったく同じですのでそちらをご確認下さい。 (Thanx joeさん)

* このクラスは、訳者が便宜上勝手に作成したもので、Googleとは関係有りません。利用する際はクラスごと自分でコピーして実装する必要があります。使いたい方は、自己責任で勝手にご利用下さい。連絡不要、改造商用利用自由です。

#こんな形で、少しずつ追加するかも。
#とは言っても、Google Mapsのクラスの中身をいじってまで拡張する気には ( 今のところ ) ならないので、勝手にカスタムクラスや関数などを追加するという程度のスタンスです。Google Maps内部のクラスメンバーなどは保証されていませんし、なにしろ、実際に、どんどん変化していますから恐ろしいですし(^^;



    夏本健司 ( 2006年08月12日 22:47 )

    大変参考にさせていただきました。ありがとうございます。バージョン1とのあまりの違いに( ̄□ ̄;)です。

    高橋 ( 2006年08月13日 20:52 )

    確かに結構違いますね。特に、引数の経緯度の順番逆転は、何度も間違えてしまいます。


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月09日

【Google Maps】Bug at v2.59,2.6. G_SATELLITE_MAPのバグ

Google Maps ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



v2.58はOKですが、v2.59,2.60は駄目です。

http://jsgt.org/ajax/newmon/samples/chapter03v2/03-28/sample1-v258.htm

http://jsgt.org/ajax/newmon/samples/chapter03v2/03-28/sample1-v259.htm

//広域衛星写真で情報ウインドウを表示 map0.showMapBlowup( point, { mapType : G_SATELLITE_MAP, zoomLevel : 4 });
Revision v2.60 http://googlemapsapi.blogspot.com/2006/08/revision-260-of-api-v2.html
v2.59 http://googlemapsapi.blogspot.com/2006/07/speed-improvements-custom-cursors.html


    古籏一浩 ( 2006年08月09日 23:31 )

    おお、原因はコレだったんですね。
    v2.59だと一度メインのマップを衛星に切り替えてblowUpで開いた後にメインのマップをノーマルに戻すと、一応期待通りに表示されますf(^^;
    このバグで昨日悩んでました...

    高橋 ( 2006年08月10日 22:29 )

    Google Mapsは、結構頻繁にバージョンアップしてますから、こういうこともあるでしょうが、この手のWebアプリは、業務で使うときは、URLクエリのバージョンを固定する、という方法でいくべきかもしれませんね。

    ちなみに、v1も使える状態でキープしていますから、おそらくGoogleは、当初言っていた1ヶ月ではなく、旧バージョンも保全し続けるスタンスに変わったのではないかという気がしてます。想像ですが、削除して万が一文句を言われるリスクを取るより、わずかなコードを保存しておく方が楽でしょうし(笑)、おそらく、喜ばれますし。

    高橋 ( 2006年08月11日 11:31 )

    あ、古籏さんMLへ流されていたんですね。ここのところ籠もっていたので(笑;、すっかり見落としてしまって、気づきませんでしたが、また、同じ部分で同じ時期に悩んでいたわけですね〜。

    古籏一浩 ( 2006年08月12日 01:10 )

    そうですね。機能が追加されたり変更されると困ることもありますし、バージョン明記で、特定のが読めるなら、それに越したことないですしね。
    どうも、高橋さんも私も同じネタの本作ってそうですねf(^^;
    なのに同じネタの本が、同じ出版社から出るという困った状態におかれちゃってます...

    高橋 ( 2006年08月12日 10:28 )

    いや、私は改訂作業です。今は、本より盆で大変、、、。

    古籏一浩 ( 2006年08月12日 16:20 )

    例の本の改訂中ってことですよね。
    という私も別の本2冊改訂で編集者もお盆返上です...

    高橋 ( 2006年08月12日 22:33 )

    たぶん、ご推測の通りです(笑)。でも、今日もお盆モード全開で、明日はいよいよ「入り」明々後日は「万燈会まんとうえ」、その次は、「送り」&片付け。その次は、きっと、疲れて死んでます。という状況(^^;


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Google Maps】経度・緯度を調べる(地図作成作業補助サンプル)v0.42

Ajax , Google Maps , 『入門 Ajax』 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



最新版作りました

経度・緯度を調べる(地図作成作業補助サンプル)v0.42
http://jsgt.org/ajax/newmon/samples/chapter03/03-31/getlatlon42.htm






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【JavaScript】JavaScript でブロックスコープ

JavaScript ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



JavaScript でブロックスコープを実現する
http://nanto.asablo.jp/blog/2006/07/08/437419

#withにオブジェクトリテラルを書いて実現、というお話。
var a = 10; with ({ a: 20 }) { print(a); // 20 } print(a); // 10

おもしろいです。いままで、気が付きませんでした。




AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月08日

【Ajax】Ajax4jsf

Ajax , Java ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Ajax4jsfはJavascriptを書かないでJSFアプリケーションへのAjax能力を加えるオープンソースフレームワーク。
https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/
a4jSimple.gif

#私には、JavaScriptの方が簡単に見えたり、、、<と、いうのは言いっこなし。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Google Maps】Google Mapsのチュートリアルとか

Google Maps ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Google Maps API Tutorial
http://google-code-updates.blogspot.com/2006/08/google-maps-api-tutorial.html

#Google Code - Updates に紹介されているんですけれど、いきなりv1用だったりしますので、そのつもりで読む必要はありますが、PHPやPerlとのやり取りなどで参考になる部分があるかな、と思います。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月07日

【セキュリティ】Ajaxが招く新たなセキュリティリスク(ITmedia)

Ajax , 『入門 Ajax』 , セキュリティ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



Ajaxが招く新たなセキュリティリスク
http://www.itmedia.co.jp/enterprise/articles/0608/07/news004.html
>未熟なプログラマによるAjaxの実装が深刻な脆弱性を作り出す可能性がある。Black Hatからのレポート。

ホフマン氏は、適切な保護対策の適用方法をプログラマに示していないという理由から、Ajax開発のマニュアル発行者に対しても直接的な批判をぶつけている。経験の乏しいAjaxプログラマが、広く利用されているAjaxコードを自作プログラムに組み入れることは珍しくないが、これが問題をいっそう悪化させることになると、同氏は警告した。

これは、感じます。自分もコードを提供している側なので、気になるのですが、いろいろなコードを見ていると、特にAjaxでは、なぜここでタグを無効にしないのか?といった初歩的な部分で心配になることが少なくないです。

ちなみに、「入門Ajax」では、サンプルコードにタグ無効やSQL,OSインジェクション対策処理などを無用なケースにまで(笑)なるべく埋め込むようにしました(過剰といわれたりもしましたが^^;)。仮に、不要なケースでも、(あとで、だれかが、違う場面で、コピペで使い回す場合などもあるでしょうから)、そういうタグ無効やSQL,OSインジェクション対策などは、Webプログラミングの決まり文句のようなつもりで、なるべく削らずに使っていただけたらなぁと思います。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月06日

Allabout更新 マッシュアップ3(GMap+YUI+じゃらんAPI)

マッシュアップ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



ブログに書き忘れていました。
今回は、マッシュアップというよりも、冗長になりがちなDOMスクリプトを短くし、繰り返し処理をfor文でシンプルに記述するというおはなしです。

マッシュアップ3(GMap+YUI+じゃらんAPI)
http://allabout.co.jp/internet/javascript/closeup/CU20060730A/index.htm






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【仕様】RFC4627 JSON

JSON , 仕様 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



The application/json Media Type for JavaScript Object Notation (JSON)
Network Working Group D. Crockford
Request for Comments: 4627 JSON.org
Category: Informational July 2006
http://www.ietf.org/rfc/rfc4627.txt?number=4627

ざっくり訳:(p.s.手抜きでごめんなさい。とりあえずってことで。)

1.1.  Conventions Used in This Document(ここは、RFC文書についてのお約束なのでパス)

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   The grammatical rules in this document are to be interpreted as
   described in [RFC4234].

2.  JSON Grammar JSON 文法 

JSON文字列は、トークンの連続です。トークンのセットは、6つの構造的キャラクタ、
strings、numbers、そして、 3つのリテラル名から成ります。

JSON文字列は、ひとつの連続したobject (オブジェクト)またはarray(配列)です。

     JSON-text = object / array

6つの構造的なキャラクタは次の通り

      begin-array 配列の始まり     = ws %x5B ws  ; [ 左の角括弧

      begin-objectオブジェクトの始まり    = ws %x7B ws  ; { 左の中括弧

      end-array 配列の終わり      = ws %x5D ws  ; ] 右の角括弧

      end-object オブジェクトの終わり     = ws %x7D ws  ; } 右の中括弧

      name-separator 名前の区切り = ws %x3A ws  ; : コロン

      value-separator 値の区切り= ws %x2C ws  ; , コンマ

(訳注:次の)無意味な空白が、6つの構造的なキャラクタの前または後にあっても許されます。

      ws = *(
                %x20 /              ; Space空白
                %x09 /              ; Horizontal tabタブ
                %x0A /              ; Line feed or New line改行
                %x0D                ; Carriage returnキャリッジリターン
            )

(訳注:ようするに、JSONは次の6つのキャラクタ「[」「{」「]」「}」「:」「;」「,」と「strings」と「numbers」と
「false 」と「true」と「null」の組み合わせで構成され、それは、ひとつの連続したobject (オブジェクト)
またはarray(配列)なのだぞと。で、空白、タブ、改行、キャリッジリターンは整形のためとかで、先の6つの
キャラクタの前後で適当に使ってもOK。みたいな?)

2.1.  Values 値

  JSONの値は、つぎのものでなければならない(MUST) 。object、array、number、または、 
string、あるいは、次の3つのリテラル名(訳注:「false 」か「true」か「null」)のひとつ。

  リテラル名は小文字でなければならない(MUST)。他のどんなリテラル名も許容されていない。
(訳注:つまり、たとえば、Win風味の「FALSE」とか「NULL」は駄目で、「false」「null」と書くべし。
また、これら7種類以外のたとえば「undefined」とかも絶対使ってはいけないのでございマスト。
使いたければ、「"undefined"」などと書いてstringにするとか?)

         value = false / null / true / object / array / number / string

         false = %x66.61.6c.73.65   ; false

         null  = %x6e.75.6c.6c      ; null

         true  = %x74.72.75.65      ; true

2.2.  Objects オブジェクト

 オブジェクトの構造は、ゼロ以上の名前と値のペアまたはメンバーを中括弧({})で括ります。
名前は文字列です。シングルコロン(:)が各名前のあとに続き、名前を値から区切ります。
シングルコンマセパレータ(,)が、次の名前から区切ります。オブジェクトの中の名前は
ユニーク(一意)であるべきです(SHOULD)。

      object = begin-object [ member *( value-separator member ) ]
      end-object

      member = string name-separator value

(訳注:つまり、たとえば、JSONのobject (オブジェクト)って次のようなもの。
      {}  とか
      {"test":123} とか 
      {"test1":123,"test2":"あいうえお","test3":false,"test4":null} とか
)

2.3.  Arrays 配列

   配列構造は、ゼロ以上の値か要素の周りに角括弧でくくります。要素はコンマで区切ります。

      array = begin-array [ value *( value-separator value ) ] end-array

(訳注:つまり、たとえば、JSONのarray (配列)って次のようなもの。
      [] とか
      [2003,2005,2006] とか 
      ["abc","def","ghi",200,null] とか
)

2.4.  Numbers 数値

  Numbersの表現はほとんどのプログラミング言語で使用されるそれと同様である。 
Numbersは小数部、そしてあるいは、指数部があとに続くかもしれない任意のマイナス記号が
前に置かれるかもしれない整数成分を含んでいる。

  8進と16進法表記は許容されていない。 先行ゼロ(数値の頭に0を置く)は許容されていない。

  小数部は、小数点の後ろに、ひとつ以上の0から9までの値が続きます。

  プラスかマイナス記号が上側か小文字の文字Eのあとに続いているかもしれない状態で、
指数部は始まる。  ひとつつ以上のケタ(0から9までの値)がEと任意のサインのあとに続いている。

  0から9までの値として表すことができない数値(InfinityやNaNなど)は受入れられない。

         number = [ minus ] int [ frac ] [ exp ]

         decimal-point = %x2E       ; .

         digit1-9 = %x31-39         ; 1-9

         e = %x65 / %x45            ; e E

         exp = e [ minus / plus ] 1*DIGIT

         frac = decimal-point 1*DIGIT

         int = zero / ( digit1-9 *DIGIT )

         minus = %x2D               ; -

         plus = %x2B                ; +

         zero = %x30                ; 0

2.5.  Strings 文字列

   string(文字列)の表現はプログラミング言語のCファミリーに使用される慣例と同様です。 
文字列は、最初と最後はコーテーションマーク(引用符)でくくります。すべてのユニコードキャラ
クタが引用符の中に置かれます。引用符や、バックスラッシュやその他制御文字(U+0000〜U+001F)は、
エスケープ文字を用いて表示しないといけません。 (訳注:あれ?ダブルコーテーションでは
なくなったの?、、、でも下のエスケープリストにあるのは二重引用符ですからやはり今までどおり
なのかな、、、?)
   あらゆるキャラクタはエスケープされるかもしれない。もし、キャラクタが、Basic Multilingual Plane
基本多言語水準(U+0000〜U+FFFF)に含まれるなら、
then it may be
   represented as a six-character sequence: a reverse solidus, followed
   by the lowercase letter u, followed by four hexadecimal digits that
   encode the character's code point.  The hexadecimal letters A though
   F can be upper or lowercase.  So, for example, a string containing
   only a single reverse solidus character may be represented as
   "\u005C".

   Alternatively, there are two-character sequence escape
   representations of some popular characters.  So, for example, a
   string containing only a single reverse solidus character may be
   represented more compactly as "\\".

   To escape an extended character that is not in the Basic Multilingual
   Plane, the character is represented as a twelve-character sequence,
   encoding the UTF-16 surrogate pair.  So, for example, a string
   containing only the G clef character (U+1D11E) may be represented as
   "\uD834\uDD1E".
  
         string = quotation-mark *char quotation-mark

         char = unescaped /
                escape (
                    %x22 /          ; "    quotation mark  U+0022(二重引用符)
                    %x5C /          ; \    reverse solidus U+005C(バックスラッシュ)
                    %x2F /          ; /    solidus         U+002F(スラッシュ)
                    %x62 /          ; b    backspace       U+0008(バックスペース)
                    %x66 /          ; f    form feed       U+000C(改ページ)
                    %x6E /          ; n    line feed       U+000A(改行)
                    %x72 /          ; r    carriage return U+000D(復帰)
                    %x74 /          ; t    tab             U+0009(タブ)
                    %x75 4HEXDIG )  ; uXXXX                U+XXXX(16進法表記)


         escape = %x5C              ; \

         quotation-mark = %x22      ; "

3.  Encoding エンコーディング

   JSONテキストはユニコードでコード化されるものとする。  デフォルト・コード化はUTF-8である。


   Since the first two characters of a JSON text will always be ASCII
   characters [RFC0020], it is possible to determine whether an octet
   stream is UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE) by looking
   at the pattern of nulls in the first four octets.

           00 00 00 xx  UTF-32BE
           00 xx 00 xx  UTF-16BE
           xx 00 00 00  UTF-32LE
           xx 00 xx 00  UTF-16LE
           xx xx xx xx  UTF-8

4.  Parsers

   A JSON parser transforms a JSON text into another representation.  A
   JSON parser MUST accept all texts that conform to the JSON grammar.
   A JSON parser MAY accept non-JSON forms or extensions.

   An implementation may set limits on the size of texts that it
   accepts.  An implementation may set limits on the maximum depth of
   nesting.  An implementation may set limits on the range of numbers.
   An implementation may set limits on the length and character contents
   of strings.

5. Generators

   A JSON generator produces JSON text.  The resulting text MUST
   strictly conform to the JSON grammar.

6. IANA Considerations

   The MIME media type for JSON text is application/json.

   Type name: application

   Subtype name: json

   Required parameters: n/a

   Optional parameters: n/a

   Encoding considerations: 8bit if UTF-8; binary if UTF-16 or UTF-32

      JSON may be represented using UTF-8, UTF-16, or UTF-32.  When JSON
      is written in UTF-8, JSON is 8bit compatible.  When JSON is
      written in UTF-16 or UTF-32, the binary content-transfer-encoding
      must be used.

   Security considerations:

   一般的にスクリプト言語には、セキュリティ上の問題が存在します。 JSONは、JavaScriptの
サブセットですが、JSON自体は、JavaScriptから代入と呼び出しを取り除いた安全なサブセットです。

   A JSON text can be safely passed into JavaScript's eval() function
   (which compiles and executes a string) if all the characters not
   enclosed in strings are in the set of characters that form JSON
   tokens.  This can be quickly determined in JavaScript with two
   regular expressions and calls to the test and replace methods.

      var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
             text.replace(/"(\\.|[^"\\])*"/g, ''))) &&
         eval('(' + text + ')');

   Interoperability considerations: n/a

   Published specification: RFC 4627

Applications that use this media type:

  JSONは、以下のプログラミング言語で書かれたアプリケーションとデータをやりとりするのに
使われています。: ActionScript, C, C#,ColdFusion, Common Lisp, E, Erlang, Java, 
JavaScript, Lua,Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Scheme.

   Additional information:

      Magic number(s): n/a
      File extension(s): .json
      Macintosh file type code(s): TEXT

   Person & email address to contact for further information:
      Douglas Crockford
      douglas@crockford.com

   Intended usage: COMMON

   Restrictions on usage: none

   Author:
      Douglas Crockford
      douglas@crockford.com

   Change controller:
      Douglas Crockford
      douglas@crockford.com

7. Security Considerations

   See Security Considerations in Section 6.

8. Examples

   This is a JSON object:

   {
      "Image": {
          "Width":  800,
          "Height": 600,
          "Title":  "View from 15th Floor",
          "Thumbnail": {
              "Url":    "http://www.example.com/image/481989943",
              "Height": 125,
              "Width":  "100"
          },
          "IDs": [116, 943, 234, 38793]



Crockford                    Informational                      [Page 7]

RFC 4627                          JSON                         July 2006


        }
   }

   Its Image member is an object whose Thumbnail member is an object
   and whose IDs member is an array of numbers.

   This is a JSON array containing two objects:

   [
      {
         "precision": "zip",
         "Latitude":  37.7668,
         "Longitude": -122.3959,
         "Address":   "",
         "City":      "SAN FRANCISCO",
         "State":     "CA",
         "Zip":       "94107",
         "Country":   "US"
      },
      {
         "precision": "zip",
         "Latitude":  37.371991,
         "Longitude": -122.026020,
         "Address":   "",
         "City":      "SUNNYVALE",
         "State":     "CA",
         "Zip":       "94085",
         "Country":   "US"
      }
   ]

9. References

9.1.  Normative References

   [ECMA]    European Computer Manufacturers Association, "ECMAScript
             Language Specification 3rd Edition", December 1999,
             .

   [RFC0020] Cerf, V., "ASCII format for network interchange", RFC 20,
             October 1969.

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4234] Crocker, D. and P.  Overell, "Augmented BNF for Syntax
             Specifications: ABNF", RFC 4234, October 2005.

   [UNICODE] The Unicode Consortium, "The Unicode Standard Version 4.0",
             2003, .

Author's Address

   Douglas Crockford
   JSON.org
   EMail: douglas@crockford.com






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月05日

【Google Maps】Google Maps のバージョン2に対応するリファレンスの意訳とサンプル

Google Maps , Webサービス , 『入門 Ajax』 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



【Google Maps】Google Maps のバージョン2に対応するリファレンスの意訳とサンプルを追加しました。

Google Mapsのv2では、かなりの数のクラスが追加されているだけではなくて、いろいろ細かな変化がありますので、v2として使う場合は注意が必要です。

APIキーについては、v1では、たとえば
<script src="http://maps.google.com/maps?file=api&v=1&key=自分のキー...
となっていた、v=1の部分をv=2にすることで動作します。

地図のインスタンスは、 v1では、
var map = new GMap(document.getElementById("map"));
のように書きましたが、 v2では、 
var map = new GMap2(document.getElementById("map"));
GMapクラスがGMap2クラスに変ります。

また、centerAndZoomは無くなり、代わりにsetCenterというメソッドが追加されました。 また、Zoom値は小さくなるほど広域になるように変わりました。
newZoom = 17 - oldZoom
です。

更に、v1では、GPointで地理的座標、つまり経緯度を扱っていたのが、v2として書く場合には、GLatLngを使う仕様に変っています。

特に、GPointとGLatLngでは、引数の経緯度の順序が逆になることに注意が必要です。

たとえば、
new GPoint(139.7454,35.6587);
と書いていたものは、
new GLatLng(35.6587,139.7454);
と書きます。

簡単な例を挙げると、
var map = new GMap(document.getElementById("map")); map.centerAndZoom(new GPoint(139.7454, 35.6587), 1);
こう書いていたものが、
var map = new GMap2(document.getElementById("map")); map.setCenter(new GLatLng(35.6587,139.7454), 17);
こうなります。

将来どうなるかは、まだわかりませんが一応v1のサポートは続いています。ただし、v1.31以降バージョンアップはされていません。v2の最新バージョンは2.56になっています(2006.8.5現在)。

具体的には、各リファレンスに添えたサンプルをご参照下さい。 また、バージョンの更新履歴は、下記などで確認できます。

Google Maps API Version 2 Upgrade Guide http://www.google.com/apis/maps/documentation/upgrade.html
オフィシャルブログ
http://googlemapsapi.blogspot.com/
Google Maps /wiki/Changelog
http://www.mapki.com/wiki/Changelog 追記 その他の v1→v2
var bounds = map.getBoundsLatLng(); var width = bounds.maxX - bounds.minX; var height = bounds.maxY - bounds.minY;
  ↓
var bounds = map.getBounds(); var height = bounds.getNorthEast().lat() - bounds.getSouthWest().lat(); var width = bounds.getNorthEast().lng() - bounds.getSouthWest().lng();
#あと、v2に限りませんが、たとえば、v2.58で動作していたスクリプトがv2.59で動作しない( 【Google Maps】Bug at v2.59,2.6. G_SATELLITE_MAPのバグ )ということがありますので、業務で使うときには、APIのURLクエリには「v=2」ではなく「v=2.58」と有効バージョンを明示した方がよい かもしれません。




AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月03日

【ブラウザ】ニンテンドーDSブラウザーのブラウザ機能

ブラウザ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



ニンテンドーDSブラウザーのブラウザ機能をチェック
http://bb.watch.impress.co.jp/cda/special/14780.html

#このブラウザ、とうとう注文してしいましたが、他の遅そうな本と一緒にたのんだのでいつ来るかは不明。
#電車通勤なら、「脳トレ」ソフトなどといっしょに持ち歩くと、それなりに良さそうですけれど、車の生活なので使う場面はあまりないかも。



    ひ- ( 2006年08月16日 19:38 )

    届きました!! 今、DSブラウザーで書きこんでます。
    JavaScriptはある程度うごくみたいです。DHTMLもけっこう動きます。
    JavaScriptのイベント取得はちょっと無理みたいです。


    【コメント】(←clickで入力欄open)





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【Yahoo! UI】YUIのyahoo.jsのYAHOO.extend

JavaScript , Yahoo! UI , prototype.js ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



YUIのv0.11.2を眺めていたら、yahoo.jsにYAHOO.extendが追加されていました。要するに継承の実装なわけですが、prototype.jsのextend のようなシンプルなコピーではなくて、コンストラクタとメソッドをチェーンでつなぐと。うーん、今、試す時間がない、けど、メモ。
/** * Utility to set up the prototype, constructor and superclass properties to * support an inheritance strategy that can chain constructors and methods. * * @param {Function} subclass the object to modify * @param {Function} superclass the object to inherit */ YAHOO.extend = function(subclass, superclass) { var f = function() {}; f.prototype = superclass.prototype; subclass.prototype = new f(); subclass.prototype.constructor = subclass; subclass.superclass = superclass.prototype; if (superclass.prototype.constructor == Object.prototype.constructor) { superclass.prototype.constructor = superclass; } };
と思ったら、READMEにちゃんと書いてありました。
0.11.0 * Added YAHOO.extend, which provides an easy way to assign the prototype, constructor, and superclass properties inheritance properties. It also prevents the constructor of the superclass from being exectuted twice.
ざっくり訳::0.11.0 * YAHOO.extendを加えました。(YAHOO.extendはプロパティの継承をプロトタイプ、コンストラクタ、およびスーパークラスに割り当てる簡単な方法を提供します)。 それによって、二度スーパークラスのコンストラクタがexectutedされることはありません。
別物ですが、一応、ちなみに、prototype.jsのObject.extend
Object.extend = function(destination, source) { for (var property in source) { destination[property] = source[property]; } return destination; }
ついでに、私が愛用しているコピー関数copyOj。prototype.jsのObject.extendと等価ですがObject汚染しないただの関数です。
function copyOj(oj,aoj) { for(var i in aoj){ oj[i]=aoj[i] };return oj; } //applyを使わないのはfor MacIE


ちなみに、JavaScriptでの継承つながりで、こういうのを作っている方もいます。 クラスパッケージ化ツール CPT




AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

2006年08月01日

【仕様】W3C草案 XHTML™ 2.0

仕様 ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



XHTML™ 2.0
W3C Working Draft 26 July 2006
http://www.w3.org/TR/2006/WD-xhtml2-20060726/

またいろいろ変りますね〜。

Linking: In HTML 3, only a elements could be the source and target of hyperlinks. In HTML 4 and XHTML 1, any element could be the target of a hyperlink, but still only a elements could be the source. In XHTML 2 any element can now also be the source of a hyperlink, since href and its associated attributes may now appear on any element. So for instance, instead of <li><a href="home.html">Home</a></li>, you can now write <li href="home.html">Home</li>. Even though this means that the a element is now strictly-speaking unnecessary, it has been retained.





AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【セキュリティ】JavaScriptベースのネットワークスキャナ

セキュリティ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



JavaScriptを悪用した攻撃手法--セキュリティ研究者らが発見
http://japan.cnet.com/news/sec/story/0,2000056024,20185667-2,00.htm

このJavaScriptスキャナは、JavaScriptのImageオブジェクトを使ってpingを送信することにより、あるIPアドレスを持ったコンピュータの有無を判断する。そして、標準的な場所に保存されている画像ファイルや受信トラフィック、受信エラーメッセージを見て動作中のサーバの種類を判断すると、SPI Dynamicsの資料にはある。
(略)
この攻撃に対し、PCユーザーはほとんど何の対策もとることができない。ユーザーとサーバの安全を確保するための負担は主にウェブサイトの開発者にかかってくると、専門家らは語っている。
(略)
「サーバ側で必要な対策をとることを推奨する」とGrossman氏は語っている。サイト運営者は、クロスサイトスクリプティングの脆弱性を修正し、すべてのJavaScriptをチェックする必要がある。

#「セキュリティ研究者らが発見」という多少刺激的というか、権威主義的?なタイトルのわりに、オチはクロスサイトスクリプティング?リモートから操作できるとかでは無いみたい?。仮にリモート操作できる内部ネットワーク用のスキャナがあっても生でWebサイトに置く人はいないでしょうから、ようするに、これは、クロスサイトスクリプティングなどで、悪意のあるコードを埋め込まれないようにしましょう、という、いわゆる「古くて新しいセキュリティ問題」ってことみたいな?案外、JavaScriptのセキュリティ問題という切り口を利用した売名という可能性も。簡単に信じる心こそが、非セキュアです(笑;。<何度も言いますが、このブログ(かも日記)も、マユにツバを付けてお読みください。<というか、オートなスキャンをしなければ、これはそれなりに便利なネットワークチェッカーかも(^^?

Port Scanning with JavaScript
http://www.spidynamics.com/spilabs/js-port-scan/

#今、斜めにソースを見たら、Apacheは/icons/c.gif、IISは/pagerror.gifを呼んでいるみたいですね。でも、どうせなら /small/blank.gifとかの方が軽いかも。ま、ほとんど変らないですけれど。

#でも、もしサーバーチェックだけが必要ならこれが簡単→http://allabout.co.jp/internet/javascript/closeup/CU20030313/index.htm。この記事では、自分の管理サーバーしか想定していませんが、ダウンロードミラーサイトの状況チェックなどにも使えるでしょうし、ダミー画像に/small/blank.gifとか使えば、手軽で便利でしょうね。削除されていなければ。

機械翻訳::例えば、ほとんどのマイクロソフトIISサーバでは、サイズ36×48ピクセルであるイメージ/pagerror.gifを持っています。 アパッチウェブサーバのほとんどのインストールが20×22画素であるイメージ/icons/c.gifを持っています。 また、より特定のアプリケーションを検出することができます。 Linksys WRK54Gのワイヤレスのルータにはイメージ/UI_Linksys.gifがあります、すなわち、165×57ピクセルはPlone wikiアプリケーションである間、80×15ピクセルであるイメージ/plone_powered.gifを持っています。 いくつかのイメージがないかどうかテストして、それらのそれぞれのサイズをチェックすることによって、スキャナは、より正確にアプリケーションを識別することができて、アプリケーションのバージョンを検出することさえできます。
#この判定を逆手に取って、おとりの画像を作り、逆にアタックしてくるスキャンを騙すこともできますね(^^;。IISのふりをして誘導するとか。

#ふと、このCNETの記事のトラックバック一覧のページを見たら、この記事への反響がいろいろで面白かったです。ソースを見た人の反応と記事を読んだだけの人の反応が違いますね。
http://japan.cnet.com/news/sec/trackback/0,2000056568,20185667,00.htm

#RSSもそうですけれど、刺激的なタイトルやコメントが内容と関係なく、自己再生産的に螺旋ループ?する、というのは、Web2.0的と言えるのかも。ちなみに、今のところ、私の感想は、この方の感想に近いです。
#でも、、、今回発見されたのは、Apacheのicon画像?<いや、「セキュリティ研究者」が発見したのだから、そんな、簡単な話のはずはない?






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。

【セキュリティ】「Web 2.0」とセキュリティ

Ajax , セキュリティ ブックマークに追加する ブックマーク-- Hatena  / Livedoor track feed



【Ajax】Ajaxの特徴に潜むリスクのエントリでも書きましたが、Ajaxは「古くて新しい」と言われるとおり、セキュリティについても「古くて新しい」問題が多くありますが、最近、ボツボツ、セキュリティ関係の話題を見かけるようになってきました。

Ajaxも1年以上経過し、新鮮なアプリに目を奪われる時期も過ぎて、この問題にも目が届くようになってきたといえるかも。でも、既存のセキュリティばかりのせいか、あまり具体的なサイトはみかけないので、基本はセキュリティ専門なサイトなどで学ぶのが良いかなぁ。何はともあれ、Ajaxに限らず、Web制作者にセキュアな意識は必須な時代になってきたと思います。<自分もね。<でも、あちこちのパケット見てるとわかりますが、今は世の中あやしいリクエストだらけです。そして、新規の脆弱性レポートは毎日ぞろぞろと。<どうすれば。。。<できるところから。

「Web 2.0」導入が進む中、後回しにされるセキュリティ
http://japan.cnet.com/news/media/story/0,2000056023,20186967,00.htm

Ajax自体が新たな脆弱性を作り出すのではない--Ajaxを利用することで、昔からある過ちが生じやすくなるだけなのだ、とChess氏は言う。






AllaboutのJavaScript記事を連載させていただいてます。最近は、jQueryを主に取り上げていますが、多少なりとも参考になれば幸いです。