<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-3517459192822036122</atom:id><lastBuildDate>Wed, 11 Nov 2009 06:30:32 +0000</lastBuildDate><title>桝原翔市の日常</title><description>桝原翔市というどうでもいい人物が
日ごろ思ったことを徒然なるままに
書いていくだけのブログ。</description><link>http://ajax-shoiti.blogspot.com/</link><managingEditor>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</managingEditor><generator>Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-6160264341868527707</guid><pubDate>Wed, 03 Jun 2009 05:56:00 +0000</pubDate><atom:updated>2009-06-03T14:56:53.003+09:00</atom:updated><title>引越し</title><description>はてなダイアリーへ引っ越します。いや、引っ越しました。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/shoichimasuhara/"&gt;http://d.hatena.ne.jp/shoichimasuhara/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-6160264341868527707?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/06/blog-post_03.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-1766967149245090880</guid><pubDate>Mon, 01 Jun 2009 03:06:00 +0000</pubDate><atom:updated>2009-06-01T12:14:33.562+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>覚え書き</category><title>よくやる変数のミス</title><description>Javascriptのforは&lt;br /&gt;&lt;br /&gt;for(i=0;i&lt;10;i++) と&lt;br /&gt;for(i in array)がありますが&lt;br /&gt;&lt;br /&gt;↑の書き方だと i がグローバルオブジェクトのプロパティになってしまって&lt;br /&gt;ずっと残ってしまいます。なので&lt;br /&gt;&lt;br /&gt;for(var i=0;i&lt;10;i++)&lt;br /&gt;for(var i in array)&lt;br /&gt;&lt;br /&gt;のようにちゃんとvarで宣言しましょう。&lt;br /&gt;関数内ならその関数のCallオブジェクトのプロパティになるので、&lt;br /&gt;関数が終わり次第消えます（変にクロージャみたいになってなければ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-1766967149245090880?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/06/blog-post.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-5606605149347604481</guid><pubDate>Mon, 01 Jun 2009 02:55:00 +0000</pubDate><atom:updated>2009-06-01T12:03:37.644+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>覚え書き</category><title>IEのArrayオブジェクトにindexOfメソッド追加</title><description>IEのindexOfメソッドはStringにしかついてないので&lt;br /&gt;&lt;br /&gt;['hoge', 'foo', 'bar'].indexOf('foo')&lt;br /&gt;&lt;br /&gt;ということができません。なので必要な場合は事前にArrayオブジェクトにメソッドを追加する必要があります。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if(!Array.indexOf){&lt;br /&gt;　Array.prototype.indexOf = function(object){&lt;br /&gt;　　for(var i = 0; i &lt; this.length; i++){&lt;br /&gt;　　　if(this[i] == object){              &lt;br /&gt;　　　　return i;&lt;br /&gt;　　　}&lt;br /&gt;　　}&lt;br /&gt;　　return -1;&lt;br /&gt;　}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;IEやっぱりめんどくさい&lt;br /&gt;【参考資料】&lt;br /&gt;&lt;a href="http://soledadpenades.com/2007/05/17/arrayindexof-in-internet-explorer/"&gt;http://soledadpenades.com/2007/05/17/arrayindexof-in-internet-explorer/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-5606605149347604481?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/06/iearrayindexof.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-5526086301748620498</guid><pubDate>Sat, 18 Apr 2009 01:34:00 +0000</pubDate><atom:updated>2009-04-18T11:03:28.149+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>カメラ</category><category domain='http://www.blogger.com/atom/ns#'>Holga</category><category domain='http://www.blogger.com/atom/ns#'>NikonF2</category><category domain='http://www.blogger.com/atom/ns#'>smena8m</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>Nikon F2 Photomic</title><description>mixiのほうでは書いてたんですが、先日Nikon F2 Photomicを購入したしました。&lt;br /&gt;フルマニュアル(AF、AE、手ブレ補正すべてなし)のフィルム一眼レフカメラです。&lt;br /&gt;一緒にNikkor 50mm 1:1.4 単眼レンズがついてきました。これで&lt;br /&gt;&lt;br /&gt;　　　　　　　　　　■ HOLGA 120GCFN&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l-5zH6QbpGI/Sekx9bwTxaI/AAAAAAAAAPQ/MWjCtpCNg0Y/s1600-h/22658015_535997483_R.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_l-5zH6QbpGI/Sekx9bwTxaI/AAAAAAAAAPQ/MWjCtpCNg0Y/s320/22658015_535997483_R.JPG" alt="" id="BLOGGER_PHOTO_ID_5325842965834483106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;　　　　　　　　　　■ LOMO SMENA 8M&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l-5zH6QbpGI/SekyB0ixHlI/AAAAAAAAAPY/KZAXMx1_SHg/s1600-h/S8M_2_R.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 230px;" src="http://4.bp.blogspot.com/_l-5zH6QbpGI/SekyB0ixHlI/AAAAAAAAAPY/KZAXMx1_SHg/s320/S8M_2_R.JPG" alt="" id="BLOGGER_PHOTO_ID_5325843041208049234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;　　　　　　　　　　■ Nikon F2 Photomic&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l-5zH6QbpGI/SekyLlkaJNI/AAAAAAAAAPg/yCvOEz1NrkE/s1600-h/F2photomicBig_R.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 262px;" src="http://4.bp.blogspot.com/_l-5zH6QbpGI/SekyLlkaJNI/AAAAAAAAAPg/yCvOEz1NrkE/s320/F2photomicBig_R.JPG" alt="" id="BLOGGER_PHOTO_ID_5325843208987092178" border="0" /&gt;&lt;/a&gt;といったメンツがそろいました。なんか増えたなぁ。。。&lt;br /&gt;で、Nikon F2の１発目とSmena 8M、Holgaそれぞれ現像があがってきました。&lt;br /&gt;いつものごとくFlickrにあげましたので興味ある方はご覧ください。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/shoichimasuhara"&gt;http://www.flickr.com/photos/shoichimasuhara&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;猫が多いけどｗｗ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-5526086301748620498?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/04/nikon-f2-photomic.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_l-5zH6QbpGI/Sekx9bwTxaI/AAAAAAAAAPQ/MWjCtpCNg0Y/s72-c/22658015_535997483_R.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-1619716855584093016</guid><pubDate>Sat, 04 Apr 2009 02:55:00 +0000</pubDate><atom:updated>2009-04-04T11:56:29.081+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>WEBデザイン</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>まえから思ってたけど</title><description>Bloggerなんかおそい。レイアウトのせいっぽいのでいろいろ変更中。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-1619716855584093016?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/04/blog-post.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-6919464847809434545</guid><pubDate>Sat, 04 Apr 2009 02:04:00 +0000</pubDate><atom:updated>2009-04-04T11:10:47.309+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>カメラ</category><category domain='http://www.blogger.com/atom/ns#'>smena8m</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>SMENA 8M一本目</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l-5zH6QbpGI/SdbAT1y_gKI/AAAAAAAAAPI/ee6plg2byXI/s1600-h/2009040115_smena8m_kodak_e100vs_R.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 140px;" src="http://3.bp.blogspot.com/_l-5zH6QbpGI/SdbAT1y_gKI/AAAAAAAAAPI/ee6plg2byXI/s320/2009040115_smena8m_kodak_e100vs_R.JPG" alt="" id="BLOGGER_PHOTO_ID_5320651456875823266" border="0" /&gt;&lt;/a&gt;やっとSMENA8Mの一本目の現像上がりました。HOLGAと違って絞りとシャッター速度が変更できるだけに逆に難しい。クロスプロセス現像をしたのでハイコントラストになったもののコントラストきつすぎ・露出オーバなどで没になった写真多数。。。空送り、二重露光などミスもあったので36枚撮りフィルムなのにOKがだせる写真は数枚とだけなりました。&lt;br /&gt;&lt;br /&gt;しかしながらクロス処理だけに普通では撮れないいい写真も取れました。やはりトイカメラ＋クロスプロセス、いいね。&lt;br /&gt;&lt;br /&gt;ということで続きはFlickrで。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/shoichimasuhara"&gt;http://www.flickr.com/photos/shoichimasuhara&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-6919464847809434545?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/04/smena-8m.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_l-5zH6QbpGI/SdbAT1y_gKI/AAAAAAAAAPI/ee6plg2byXI/s72-c/2009040115_smena8m_kodak_e100vs_R.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-6684101379618755400</guid><pubDate>Tue, 31 Mar 2009 10:10:00 +0000</pubDate><atom:updated>2009-04-04T11:04:02.403+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>サーバ</category><category domain='http://www.blogger.com/atom/ns#'>Linux</category><category domain='http://www.blogger.com/atom/ns#'>メモ</category><category domain='http://www.blogger.com/atom/ns#'>Ubuntu</category><title>Ubuntuの筐体交換</title><description>ちとはまったのでメモ&lt;br /&gt;&lt;br /&gt;UbuntuをVMに入れてCloneを作るとなぜかeth0が認識しない。Redhat系なら/etc/sysconfig/network-script/ifcfg-eth0にMACアドレスが書いてあって、それのせいだろうというのが定番過ぎるんだけど、そんなファイルもないし、でもどこかにMACアドレスが書いてあるんだろうなーと思ったらやっぱりそうだったみたい。&lt;br /&gt;&lt;br /&gt;参考&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/shimonoakio/20080324/1206345084"&gt;http://d.hatena.ne.jp/shimonoakio/20080324/1206345084&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;とりあえず&lt;br /&gt;&lt;br /&gt;/etc/udev/rules.d/70-persistent-net.rules&lt;br /&gt;&lt;br /&gt;にMACアドレスが書いてあるからこれを消してリブートしろってことやね。筐体を交換もしくはNICの交換をする際はこのファイルをみるべし、と。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-6684101379618755400?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/03/ubuntu.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-8963786212973755957</guid><pubDate>Thu, 12 Mar 2009 17:58:00 +0000</pubDate><atom:updated>2009-03-13T12:04:41.613+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>WEBプログラミング</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>Javascriptで継承</title><description>Javascriptで他の言語のクラスの継承っぽいものを考えてみた&lt;br /&gt;たぶん車輪の発明だろうけど気にしない気にしない&lt;br /&gt;&lt;br /&gt;Javascripにおけるクラス(っぽいやつ)のメンバには基本的にどこからでもアクセスできるpublicなものしかありません。privateなメンバを作るにはJavascriptではクロージャを使って隠蔽するというのが定石となっています。で、今回はクロージャを使って隠蔽したprivateなメンバごと継承できるかどうか考えてみました。とりあえず以下のコードを呼んでみてください&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;var originalClass = function(){&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　var originalPrivateVariable = 'This is a original class private variable';&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　return function(){&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　　　this.setOriginalPrivateVariable = function(x){&lt;br /&gt;　　　　　　originalPrivateVariable = x;&lt;br /&gt;　　　　};&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　　　this.getOriginalPrivateVariable = function(){&lt;br /&gt;　　　　　　return originalPrivateVariable;&lt;br /&gt;　　　　};&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　　　this.originalPublicVariable = 'This is a original class public variable';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;　　};&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;};&lt;/span&gt;  &lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;var extendedClass = function(){&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　var extendedPrivateVariable = 'This is a extended class private variable';&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　return function(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;　　　　originalClass().apply(this);&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　　　this.setExtendedPrivateVariable = function(x){&lt;br /&gt;　　　　　　extendedPrivateVariable = x;&lt;br /&gt;　　　　};&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;　　　　this.getExtendedPrivateVariable = function(){&lt;br /&gt;　　　　　　return extendedPrivateVariable;&lt;br /&gt;　　　　};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;　　　　this.ExtendedPublicVariable = 'This is a extended class public variable';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;　　};&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;};&lt;/span&gt;  &lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;var object = new (extendedClass())();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;originalClass が元のクラス、extendedClassがoriginalClassを継承したクラスです。ややこしいことになってますがこれで継承できます。もちろん継承には通常通り apply() を使っていますが、ちょっと特殊な書き方になってるのがわかるかと思います。&lt;br /&gt;&lt;br /&gt;まずoriginalClassですがクロージャになっています。returnでラムダ関数が帰っているのでお分かりいただけると思います。クロージャですのでラムダ関数のラッパ関数(エンクロージャ)で宣言されている originalPrivateVariable も保持します。しかしここで originalClass = (function(){})() としてしまうとこの時点でのクロージャが返されてしまいますのでここでは実行しません。&lt;br /&gt;&lt;br /&gt;そしてextendedClass。構造は1点を除きoriginalClassと同じです。違うのはreturnで返されるラムダ関数内の&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;originalClass().apply(this);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;だけです。通常ですとapply()はhoge.apply(this)のように書きますが、applyされる時点でクロージャを形成する必要があるので一度originalClassを実行してから返されたものをapplyしているのでこのような形になります。&lt;br /&gt;&lt;br /&gt;そして最後、インスタンスの生成。&lt;br /&gt;これも上記と同じですね。生成時にクロージャを形成するので&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;var object = new (extendedClass())();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;と言う形で書かなければならなくなります。&lt;br /&gt;&lt;br /&gt;-----------------------------------------&lt;br /&gt;&lt;br /&gt;さて、とりあえずコードの解説をしてきましたが、たしかに上記コードではprivateなメンバ変数にはセッタ・ゲッタからのみしかアクセスできなくなってます。しかしながら注意しなければならないことがありまして、&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;継承元のprivateなメンバへは継承元で定義したセッタ・ゲッタからのみしかアクセスできない&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;という縛りがあります。すなわち拡張したクラスでprivateなメンバ変数へのセッタ・ゲッタを増設しようとかいうことはできません。お気づきかと思いますが&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;継承元で定義したprivateなメンバ関数は使えなくなります。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;privateにしてもこれでは意味がないですね・・・というように問題が多く残され、しかも記述もややこしくなるだけなのであまり良いことはなさそうですねというオチ。普通に書いたほうがよさそうです。しょせんクロージャはクロージャでしかないということでしょうか。またいい案が浮かべばここに書きます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-8963786212973755957?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/03/javascript.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-3538428150547734187</guid><pubDate>Mon, 09 Mar 2009 15:20:00 +0000</pubDate><atom:updated>2009-03-10T00:21:57.064+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>WEBプログラミング</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>JavascriptにおけるCallオブジェクトへのアクセス</title><description>どうにかできんのか？&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Activation オブジェクトは純粋に仕様のメカニズムである。 Activation オブジェクトへのアクセスは ECMAScript プログラムには不可能である。 Activation オブジェクトのメンバへのアクセスは可能だが、 Activation オブジェクト自身へのアクセスはできない。基準オブジェクトが Activation オブジェクトである Reference 値に呼出操作が適用されるとき、その呼出の &lt;/span&gt;&lt;code style="font-style: italic;" class="keyword"&gt;this&lt;/code&gt;&lt;span style="font-style: italic;"&gt; 値として null が使われる。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;さいでっか。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-3538428150547734187?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/03/javascriptcall.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-8118525568499758626</guid><pubDate>Mon, 16 Feb 2009 01:32:00 +0000</pubDate><atom:updated>2009-02-16T11:27:33.292+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>カメラ</category><category domain='http://www.blogger.com/atom/ns#'>Holga</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>HOLGAの現像が上がってきました</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_l-5zH6QbpGI/SZjEdvIEkOI/AAAAAAAAAOw/t9Hs_z_JpAI/s1600-h/2009021202_holga_fuji_pro400_R.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_l-5zH6QbpGI/SZjEdvIEkOI/AAAAAAAAAOw/t9Hs_z_JpAI/s320/2009021202_holga_fuji_pro400_R.JPG" alt="" id="BLOGGER_PHOTO_ID_5303204576374329570" border="0" /&gt;&lt;/a&gt;先日購入したHOLGAですが、フィルム3本分現像があがってきたのでFlickrにアップロードしました。&lt;br /&gt;&lt;br /&gt;僕の写真一覧へのリンクです↓&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/shoichimasuhara"&gt;Flickr::shoichimasuhara's photostream&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;うちの猫、近所の神社、蒸気機関車の写真です。&lt;br /&gt;&lt;br /&gt;購入したHOLGAがHOLGA120GCFN、前にはWOCAといわれていたガラスレンズタイプだったせいか結構普通な写りになりました。ケラレもほかの人の写真と比べると少なめです。&lt;br /&gt;でも全体的なゆがみが出ていて魚眼レンズつけてるわけではないのですが少し魚眼のような効果が出ていました。絞りもシャッター速度調整もできないので日の光にかなり左右されますが、逆にそのおかげでいい風合いの写真が取れたりもしていましたｗ&lt;br /&gt;&lt;br /&gt;今回の3本は&lt;a href="http://fujifilm.jp/personal/film/color/professional/index.html"&gt; Fujicolor PRO400&lt;/a&gt; でしたが、現在は &lt;a href="http://wwwjp.kodak.com/JP/ja/professional/products/films/portra/"&gt;Kodak 400VC&lt;/a&gt; に変えてるので次の現像であがってくる写真はまた違ったものになるかもしれません。非常に楽しみですｗ&lt;br /&gt;&lt;br /&gt;それはそうと、スメハチでおなじみの&lt;a href="http://www.superheadz.com/smena8m/index.html"&gt; LOMO SMENA 8M&lt;/a&gt; も購入しましたｗ&lt;br /&gt;HOLGAは120フィルムだけにでかいので自転車でもまだ軽く持ち運べる135フィルムのカメラを探していて、実は &lt;a href="http://www.lomo.co.jp/"&gt;LOMO LC-A &lt;/a&gt;が欲しかったんですが案の定ヤフオクでも値段が高かったので同じLOMOつながりでスメハチを購入してみました。性格はぜんぜん別物らしいですがね。。。&lt;br /&gt;&lt;br /&gt;現在スメハチで使ってるフィルムは &lt;a href="http://wwwjp.kodak.com/JP/ja/professional/products/films/e100vs/index.shtml"&gt;Kodak E100VS&lt;/a&gt; です。リバーサルなのでこれをクロスプロセスで現像しようかとたくらみ中～はてさてどんな写真ができることやら&lt;br /&gt;&lt;br /&gt;皆さんも興味をそそられたら、ひとつトイカメラを購入してみてはいかがでしょうか。&lt;br /&gt;&lt;br /&gt;ちなみに Flickr に上げた写真は &lt;a href="http://cweb.canon.jp/pixus/lineup/allinone/mp980/index.html"&gt;Canon MP980&lt;/a&gt; で現像した写真を取り込みました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-8118525568499758626?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/02/holga.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l-5zH6QbpGI/SZjEdvIEkOI/AAAAAAAAAOw/t9Hs_z_JpAI/s72-c/2009021202_holga_fuji_pro400_R.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-7141212478939284327</guid><pubDate>Thu, 22 Jan 2009 07:50:00 +0000</pubDate><atom:updated>2009-01-22T17:11:40.159+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>カメラ</category><category domain='http://www.blogger.com/atom/ns#'>Holga</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>Holga買っちまいました</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l-5zH6QbpGI/SXglV5g9zqI/AAAAAAAAANc/7642dwSYa9Q/s1600-h/pgear_holga01.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 180px; height: 180px;" src="http://3.bp.blogspot.com/_l-5zH6QbpGI/SXglV5g9zqI/AAAAAAAAANc/7642dwSYa9Q/s320/pgear_holga01.jpeg" alt="" id="BLOGGER_PHOTO_ID_5294022420120587938" border="0" /&gt;&lt;/a&gt;どうも、ものすごく筆不精になってる翔市です。皆様いかがお過ごしでしょうか。最近デジカメを探していたんですが、カメラ好きの会社の上司と「こんなんどうですかねー」「いやーそれはないやろ」なんて話をしていた折、「そうそう、ホルガってのがあるのよねー」という話になりまして&lt;br /&gt;&lt;br /&gt;なんでも”トイカメラ”に分類されるこのカメラ、古いフィルムカメラらしいんですが、一種アンティーク写真のような感じの写真が取れるということらしいです。独特なケラレが発生するのが特長とか。&lt;br /&gt;&lt;br /&gt;なんつーかこの手の代物には目が無いもので、しかもヤフオクで新品6800円ときたもんですから&lt;br /&gt;&lt;br /&gt;ぽち&lt;br /&gt;&lt;br /&gt;っと購入してしまいましたｗ&lt;br /&gt;現在品物の到着待ちです。購入したのはHolga 120GCFNブラックです。プラスチックレンズの120CFNとかほかのでもよかったかもしれませんが、僕がチキンでプラスチックレンズが劣化しすぎるのを恐れてガラスレンズのGCFNにしました。&lt;br /&gt;&lt;br /&gt;さーて、これからHolgaもって自転車の旅でも出ますかね。それどころではない気もしますが。とりあえず商品到着が待ち遠しいです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-7141212478939284327?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/01/holga.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_l-5zH6QbpGI/SXglV5g9zqI/AAAAAAAAANc/7642dwSYa9Q/s72-c/pgear_holga01.jpeg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-2900075432743009782</guid><pubDate>Thu, 01 Jan 2009 09:05:00 +0000</pubDate><atom:updated>2009-01-01T18:33:16.843+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>小話</category><title>ちょっとした小話</title><description>某所からの抜粋（どこかは言わない&lt;br /&gt;ちょっとした小話を3つほど&lt;br /&gt;&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;A社にaさん、B社にbさんがいました&lt;br /&gt;ある日それぞれの会社にある仕事が入りました&lt;br /&gt;その仕事はそれぞれの会社でaさん、bさんしか出来ない仕事でした&lt;br /&gt;&lt;br /&gt;　A社にて：　aさん「じゃあこの仕事は僕がやっておきますよ」&lt;br /&gt;　B社にて：　bさん「じゃあz君、この仕事一緒にやってみようか」&lt;br /&gt;&lt;br /&gt;その後、aさんbさん共にC社にヘッドハンティングされ会社を辞めました&lt;br /&gt;そして後日、先ほどと同じ仕事がそれぞれの会社に入ったとき&lt;br /&gt;&lt;br /&gt;　A社はその仕事を誰も出来ないことに気づいて破綻し、&lt;br /&gt;　B社は誰もがその仕事を出来るようになってたので難なくこなしましたとさ&lt;br /&gt;&lt;br /&gt;おしまい&lt;br /&gt;&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;D社での会話&lt;br /&gt;&lt;br /&gt;d課長「これに関してはこれ、これに関してはこれ、これに関してはこのファイルにメモを取るように」&lt;br /&gt;社員「了解です」&lt;br /&gt;&lt;br /&gt;社員「これはどのファイルにメモを取りましょう？」&lt;br /&gt;d課長「ああ、これならあのファイルがいいんじゃないか？」&lt;br /&gt;社員「ではこれは？」&lt;br /&gt;d課長「これは新しくファイルをつくろう」&lt;br /&gt;&lt;br /&gt;-- そして1年後 --&lt;br /&gt;&lt;br /&gt;社員「これはどれにメモするんでしたっけ？」&lt;br /&gt;d課長「うーんと、どれだったかな、わすれたなぁ」&lt;br /&gt;d課長「そうだ、どれにメモするか、まとめたファイルを作ってくれ」&lt;br /&gt;社員「それよりいいかげんファイルを1つにまとめないですか？」&lt;br /&gt;&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;ある日の休日、eさんfさんそれぞれの家庭で夕食の準備の手伝いを、&lt;br /&gt;二人とも珍しくやっていたときの会話&lt;br /&gt;&lt;br /&gt;【 eさん宅 】&lt;br /&gt;eさん「あの皿はどこにあるんだい？」&lt;br /&gt;e婦人「ここよー」&lt;br /&gt;eさん「スプーンはどこだっけ？」&lt;br /&gt;e婦人「ここよー」&lt;br /&gt;eさん「あれ、あれはどこいった？？」&lt;br /&gt;e婦人「もう、自分で探してよ、日ごろ全然手伝ってないからわかんないんでしょう」&lt;br /&gt;&lt;br /&gt;【 fさん宅 】&lt;br /&gt;fさん「えーと皿がここだから･･･なるほどここか、準備できたよー」&lt;br /&gt;f婦人「ありがとー早かったわね」&lt;br /&gt;&lt;br /&gt;この違いはいったいなんなんでしょうね？といったところで&lt;br /&gt;&lt;br /&gt;おわり、と。&lt;br /&gt;&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;複数人で何かをする上で最も重要なこととは？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-2900075432743009782?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2009/01/blog-post.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-3016816105586732544</guid><pubDate>Mon, 24 Nov 2008 11:02:00 +0000</pubDate><atom:updated>2008-11-24T20:02:25.438+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>リニューアル</title><description>なんとなくデザインを変えてみた。ただそれだけ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-3016816105586732544?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/11/blog-post.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-650162958242253341</guid><pubDate>Wed, 10 Sep 2008 08:54:00 +0000</pubDate><atom:updated>2008-09-10T18:02:08.058+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><title>ECMA-262 3rd仕様書の日本語版</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l-5zH6QbpGI/SMeLdoIwIiI/AAAAAAAAAJQ/cEKP5EkzGd8/s1600-h/505018173_46428fc061_m.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 178px; height: 119px;" src="http://4.bp.blogspot.com/_l-5zH6QbpGI/SMeLdoIwIiI/AAAAAAAAAJQ/cEKP5EkzGd8/s320/505018173_46428fc061_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5244313632202826274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;いまさらだけどリンク張っとく。ECMA-262 3rd Editionの仕様書の日本語訳。どっちかというと自分自身用。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;【&lt;span style="font-weight: bold;font-family:times new roman;" &gt;Under Translation of ECMA-262 3rd Edition&lt;/span&gt;】&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www2u.biglobe.ne.jp/%7Eoz-07ams/prog/ecma262r3/"&gt;http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-650162958242253341?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/09/ecma-262-3rd.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_l-5zH6QbpGI/SMeLdoIwIiI/AAAAAAAAAJQ/cEKP5EkzGd8/s72-c/505018173_46428fc061_m.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-4727349695335114546</guid><pubDate>Wed, 10 Sep 2008 03:50:00 +0000</pubDate><atom:updated>2008-09-10T13:28:28.103+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>Javascriptのreplace</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l-5zH6QbpGI/SMdEte64U_I/AAAAAAAAAJI/xg39LUpD0c8/s1600-h/2042207412_0f73c2d5cd_m.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 179px; height: 143px;" src="http://3.bp.blogspot.com/_l-5zH6QbpGI/SMdEte64U_I/AAAAAAAAAJI/xg39LUpD0c8/s320/2042207412_0f73c2d5cd_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5244235839281058802" border="0" /&gt;&lt;/a&gt;Javascriptの文字列置換、replaceがちょっと奇妙だったのでメモ。&lt;br /&gt;正規表現を使わない単純な文字の置換はJavascriptだとreplaceメソッド、PHPだとstr_rplaceとなります。例として&lt;br /&gt;"This,is,a,pen."を"This is a pen."にしてみます。要するに","を" "へ置き換えるだけ。で、まずPHPで書いた場合は以下。&lt;br /&gt;------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$msg    = "This,is,a,pen.";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$result = str_replace(",", " ", $msg);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;print $result;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;結果：This is a pen.&lt;/span&gt;&lt;br /&gt;------&lt;br /&gt;まぁそれがどうしたとしか言いようがないですが、このように書きます。同じノリでJavascriptで書いてみましょう&lt;br /&gt;------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;var msg = "This,is,a,pen.";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;var result = msg.replace(","," ");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;document.write(result);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;結果：This is,a,pen.&lt;/span&gt;&lt;br /&gt;------&lt;br /&gt;PHPと同じようなノリで書くと、Javascriptだと1つ目しか置換されていないのがわかりますね。この辺がちょっと奇妙というかいまさらながら意外でした。では全部書き換えるにはどうすればいいかというと&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;var result = msg.replace(',',' ',&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;'g'&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;という風に第3引数に'g'を足せば全部置換されるようです。なんだろうこの裏技というか隠し技？たしかパターン文字列を正規表現オブジェクトにしなければ単なる文字列置換だったはずなのですが、なにやら正規表現チックですね・・・お前はsedかと。&lt;br /&gt;------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;var msg = "This,is,a,pen.";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;var result = msg.replace(","," ","g");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;document.write(result);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;結果：This is a pen.&lt;/span&gt;&lt;br /&gt;------&lt;br /&gt;めでたしめでたし。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-4727349695335114546?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/09/javascriptreplace.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_l-5zH6QbpGI/SMdEte64U_I/AAAAAAAAAJI/xg39LUpD0c8/s72-c/2042207412_0f73c2d5cd_m.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-3517364233665462401</guid><pubDate>Mon, 01 Sep 2008 05:29:00 +0000</pubDate><atom:updated>2008-09-01T17:27:02.582+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>jquery</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>ajaxslt</category><title>jQueryプラグイン::jquery.ajaxslt.jsの紹介</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_l-5zH6QbpGI/SLt968Nda_I/AAAAAAAAAJA/LvwP6uUTFkA/s1600-h/jquery.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_l-5zH6QbpGI/SLt968Nda_I/AAAAAAAAAJA/LvwP6uUTFkA/s320/jquery.jpg" alt="" id="BLOGGER_PHOTO_ID_5240921042924170226" border="0" /&gt;&lt;/a&gt;シリーズ「WEBサイトの構造を考える」にしようかと思いましたが、今回は自作のプラグインの紹介及び「教えてエロい人！」的な内容なのでシリーズからはずしました。&lt;br /&gt;さて、今回紹介するのは僕がぼちぼち作ってきたjQueryのプラグイン、jquery.ajaxslt.jsです。「もうすでに同じ機能のプラグインが***によって公開されてるよ？」とかあったとしてもそういうツッコミは無しです。この手のプラグインは乱立とかビビッてたら何も出来ないのでねー&lt;br /&gt;&lt;br /&gt;あ、そうそう、とりあえず一言。&lt;br /&gt;&lt;br /&gt;「jQuery本家サイトのデザインが変わりすぎててワロタｗｗｗｗｗ」&lt;br /&gt;&lt;br /&gt;Be a Javascript &lt;span style="font-weight: bold;"&gt;ROCK STAR&lt;/span&gt;ってなんやねんｗｗｗｗｗ&lt;br /&gt;あまりにも変わりすぎてて一瞬フィッシングサイトかと思ってしまったじゃないか・・・&lt;br /&gt;それはさておき、プラグインの紹介紹介っと。&lt;br /&gt;&lt;br /&gt;このプラグインの機能は&lt;br /&gt;「XMLとXSLをAjax的に取得し、XSLTを適応してHTMLへ埋め込む」&lt;br /&gt;という一連の動作を非常に容易にするというものです。なんか2005年くらいにググル先生がajaxsltパッケージみたいなの作ってたような気もするんですが、気にしない気にしない。&lt;br /&gt;&lt;br /&gt;今のところ下記のようなインターフェースで構築しています。&lt;br /&gt;&lt;br /&gt;$(#～).ajaxslt({&lt;br /&gt;　xml : {&lt;br /&gt;　　doc : xmlDocument,&lt;br /&gt;　　method : methodType,&lt;br /&gt;　　data : requestData&lt;br /&gt;　},&lt;br /&gt;　xsl : {&lt;br /&gt;　　doc : xslDocument,&lt;br /&gt;　　method : methodType,&lt;br /&gt;　　data : requestData&lt;br /&gt;　},&lt;br /&gt;　option : {&lt;br /&gt;　　asynchronous : asynchronousFlag,&lt;br /&gt;　　onSuccess : onSuccessFunction,&lt;br /&gt;　　onFailure : onFailureFunction,&lt;br /&gt;　　onComplete : onCompleteFunction&lt;br /&gt;　}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;また、ドキュメントを前もって取得し、ストックする関数も用意しました&lt;br /&gt;xmlDocument or Msxml2.FreeThreadedDOMDocument = jQuery.ajaxslt.stock({&lt;br /&gt;　doctype : documentType,&lt;br /&gt;　URL : documentURL,&lt;br /&gt;　method : methodType,&lt;br /&gt;　data : requiestData,&lt;br /&gt;　asynchronous : asynchronousFlag&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;prototype.jsなどのパクリインターフェースなんですが、何がエレガントで何がダサいのか分からなくなってきたので、「これでいいのかな？？？」という状態です。&lt;br /&gt;一応このまま上記仕様の説明をすると&lt;br /&gt;&lt;br /&gt;■　$(#～).ajaxslt()&lt;br /&gt;&lt;table style="border: 1px solid rgb(64, 64, 64); margin: 2px; border-collapse: collapse;" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;x[ms]lDocument&lt;/td&gt;&lt;td&gt;DocumentURL, XMLDocument&lt;/td&gt;&lt;td&gt;通常はドキュメントのロード先URLを記述します。&lt;br /&gt;ただし、ここでjQuery.ajaxslt.Stock()で生成したXMLDocumentをここで指定するとロードは行われずにメモリにストックされているドキュメントが適応されます。XSLファイルの使いまわしをする際はいちいちロードせずにストックしたドキュメントを使用するほうがよいでしょう。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;methodType&lt;br /&gt;&lt;/td&gt;&lt;td&gt;get, post (default:get)&lt;br /&gt;&lt;/td&gt;&lt;td&gt;リクエストのタイプ&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;requestData&lt;br /&gt;&lt;/td&gt;&lt;td&gt;任意の文字列&lt;br /&gt;&lt;/td&gt;&lt;td&gt;GETパラメータまたはPOST時の送信データをセットします&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;asynchronousFlag&lt;br /&gt;&lt;/td&gt;&lt;td&gt;true, false (default:true)&lt;br /&gt;&lt;/td&gt;&lt;td&gt;非同期/同期のフラグ&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;on***&lt;br /&gt;&lt;/td&gt;&lt;td&gt;function&lt;br /&gt;&lt;/td&gt;&lt;td&gt;それぞれの状況で実行される関数を指定&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;■　jQuery.ajaxslt.stock()&lt;br /&gt;&lt;table style="border: 1px solid rgb(64, 64, 64); margin: 2px; border-collapse: collapse;" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;documentType&lt;br /&gt;&lt;/td&gt;&lt;td&gt;xml, xsl&lt;br /&gt;&lt;/td&gt;&lt;td&gt;ロードするドキュメントのタイプ&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;documentURL&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Document URL&lt;br /&gt;&lt;/td&gt;&lt;td&gt;ドキュメントのURL&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;methodType&lt;br /&gt;&lt;/td&gt;&lt;td&gt;get, post (default:get)&lt;br /&gt;&lt;/td&gt;&lt;td&gt;リクエストのタイプ&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;requestData&lt;br /&gt;&lt;/td&gt;&lt;td&gt;任意の文字列&lt;br /&gt;&lt;/td&gt;&lt;td&gt;GETパラメータまたはPOST時の送信データをセットします&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align: top;"&gt;asynchronousFlag&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;true, false (default:&lt;span style="color: rgb(255, 0, 0);"&gt;false&lt;/span&gt;)&lt;br /&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;非同期/同期のフラグ&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;こんな感じです。まぁありがちな仕様なのですが、今行き詰っている点は&lt;br /&gt;&lt;ul&gt;&lt;li&gt;インターフェースってこれでいいのか？&lt;/li&gt;&lt;li&gt;IEでXSLをPOSTで取得する方法がわからない&lt;/li&gt;&lt;/ul&gt;という2点です。XMLのGET,POST, XSLのGETだけのサポートならIE,FF,Opera,Safariで動作確認取れてるのですがねー&lt;br /&gt;&lt;br /&gt;上記2点、教えてエロい人！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-3517364233665462401?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/09/jqueryjqueryajasxsltjs.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_l-5zH6QbpGI/SLt968Nda_I/AAAAAAAAAJA/LvwP6uUTFkA/s72-c/jquery.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-1498862022872439534</guid><pubDate>Mon, 01 Sep 2008 04:41:00 +0000</pubDate><atom:updated>2008-09-01T14:20:10.356+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>WEBプログラミング</category><category domain='http://www.blogger.com/atom/ns#'>WEBサイトの構造を考える</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>シリーズ</category><title>WEBサイトの構造を考える -その7-</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_l-5zH6QbpGI/SLtzPvyBx2I/AAAAAAAAAI4/basbcPY6nyM/s1600-h/zend.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_l-5zH6QbpGI/SLtzPvyBx2I/AAAAAAAAAI4/basbcPY6nyM/s320/zend.jpg" alt="" id="BLOGGER_PHOTO_ID_5240909305737234274" border="0" /&gt;&lt;/a&gt;9月になりました。まだ暑い日が続いていますが、何とか生きています。翔市です。さて、8月は結局1個も記事を書かなかったのですが、今月はそれを避けるために早速シリーズ「WEBサイトの構造を考える」の第7回の記事を書いてみようと思います。前回までいったい何を書いてきたのかいよいよ忘れてきましたが、このシリーズの最終目標は「オーバーヘッドを極限まで減らすためにPHP等のサーバサイドスクリプトの使用を可能な限り避けてAjaxとXMLを駆使した高速なブログシステムを構築する」ということだったような気がします（ぉい&lt;br /&gt;&lt;br /&gt;ここのところAjaxとXMLTを組み合わせたサイト構築を容易に出来るようにするためのjQueryライブラリの構築をしてきましたが、それがほぼ完成しました。このライブラリについては次に書く記事に任せるとして、このライブラリの完成によって全体像が見えてきました。&lt;br /&gt;&lt;br /&gt;大まかな仕様は以下の通り&lt;ol&gt;&lt;li&gt;記事データの保存・管理はDBで行う&lt;br /&gt;&lt;/li&gt;&lt;li&gt;1記事1ファイルのgzipで圧縮されたXMLファイルとする&lt;/li&gt;&lt;li&gt;ファイル数の増大を防ぐため、ファイル数上限を設定し、ファイル数上限を超えた場合は古い記事のファイルから削除する&lt;/li&gt;&lt;li&gt;削除された古い記事をロードする場合はサーバサイドスクリプトを介してDBからXML形式で取得する&lt;/li&gt;&lt;li&gt;記事の投稿・編集を行うページはほぼ別アプリケーションとして構築する&lt;/li&gt;&lt;li&gt;JavascriptのフレームワークはjQueryを使用&lt;/li&gt;&lt;li&gt;サーバサイドスクリプトはPHPを使用、フレームワークはZend Frameworkを使用&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;といった感じを予定しています。ブログを表示したときの動作順序は以下の通り&lt;br /&gt;&lt;ol&gt;&lt;li&gt;index.htmlをロード&lt;/li&gt;&lt;li&gt;JSON形式でロードすべき記事リストをロード&lt;/li&gt;&lt;li&gt;JSONデータでXMLファイルが指定されていれば、該当するファイルをロード&lt;/li&gt;&lt;li&gt;JSONデータでDBが指定されていればサーバサイドスクリプトへリクエストを発行、ロード&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ロードしたXMLデータをXSLTで整形し、順次index.htmlへインサート&lt;/li&gt;&lt;/ol&gt;となります。検索機能などをつけるなら、この順序の2番目のJSONデータを変化させるだけでOK。&lt;br /&gt;注意すべき点はDBがXML形式でクエリの結果を返してもらわないと困るので、例えばMySQLを使用する場合だとMySQL5.1以降のバージョンを使用する必要があります。また、まだ解決していないのは"SEO対策"と"Ajaxとhistory"の問題。とくにhistoryの実装が面倒になりそうですね・・・&lt;br /&gt;&lt;br /&gt;記事の投稿・編集を行うアプリケーションはFrameworkを用いた、ユーザ管理・認証機能つきの"ありがちな"アプリケーションになると思うので特に変わったことはありません。いちおう投稿時の順序を書くと&lt;br /&gt;&lt;ol&gt;&lt;li&gt;記事のPOSTを受ける&lt;/li&gt;&lt;li&gt;DBへ登録&lt;/li&gt;&lt;li&gt;XMLファイルを生成&lt;/li&gt;&lt;li&gt;ファイル上限を超えている場合は一番古いファイルを削除&lt;/li&gt;&lt;/ol&gt;となります。XML(キャッシュ)ファイルの生成が特徴的なくらい。あと、インターフェースレベルにおいての話ではこちらもAjax+XSLTを使った構造にしたいところです。どちらかというとこちらは動作の高速性能より、XSS、XSRF、その他HACK対策(いまさらながらSQLインジェクション対策も)のほうに工数を費やす形になると思います。&lt;br /&gt;&lt;br /&gt;という感じに作るべき全体像がかなり見えてきました。&lt;br /&gt;次の記事では今回作成したjQueryのAjaxsltライブラリの紹介をします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-1498862022872439534?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/09/web-7.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l-5zH6QbpGI/SLtzPvyBx2I/AAAAAAAAAI4/basbcPY6nyM/s72-c/zend.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-6641879069317169442</guid><pubDate>Wed, 23 Jul 2008 17:23:00 +0000</pubDate><atom:updated>2008-12-13T22:19:35.764+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><title>closure を知らなかった件</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l-5zH6QbpGI/SIdpSpiXQ6I/AAAAAAAAAIU/oPuoyMdeu4w/s1600-h/132488776_f3e3789a73_m.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 180px; height: 135px;" src="http://3.bp.blogspot.com/_l-5zH6QbpGI/SIdpSpiXQ6I/AAAAAAAAAIU/oPuoyMdeu4w/s320/132488776_f3e3789a73_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5226261661695296418" border="0" /&gt;&lt;/a&gt;今日の今日まで closure の存在を知りませんでした。ゴメンナサイ。もしかしたら今まで書いたコードの中にバグがあったかもしれません。しかしながら、インスタンス変数でない限り、 function 内で宣言した変数なんてものは月下美人のごとく一夜限りの命かと思っていましたが、そんなことはないというのは非常に奇妙に感じます。&lt;br /&gt;&lt;br /&gt;そんなこんなで closure を知らなかった僕のような人を出来るだけ減らすために今回は closure に関して説明をしてみます。&lt;br /&gt;&lt;br /&gt;クロージャのサンプルコードを書いてみます&lt;br /&gt;---&lt;br /&gt;&lt;span style="font-style: italic;"&gt;var hoge = function(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    　　var i = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    　　var foo = function(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        　　　　i++;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        　　　　return i;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    　　};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    　　return foo;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;var bar = hoge();&lt;/span&gt; //&lt;span style="font-style: italic;"&gt;&lt;/span&gt; (1)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;alert(bar());&lt;/span&gt; //&lt;span style="font-style: italic;"&gt;&lt;/span&gt; 結果：1 (2)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;alert(bar());&lt;/span&gt; // 結果：2 (3)&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;alert(bar());&lt;/span&gt; // 結果：3&lt;br /&gt;---&lt;br /&gt;まぁこんな感じでしょう。&lt;br /&gt;&lt;br /&gt;・　(1) で hoge の結果が bar に入ります。&lt;br /&gt;・　hoge の内部で return foo となってるので foo への関数ポインタが突っ込まれます。&lt;br /&gt;・　なので bar() とやると foo() とやってるのと同じことになります。&lt;br /&gt;・　i=0 で宣言されてるので (2) で 1 が返るのは当たり前。&lt;br /&gt;・　でもね&lt;br /&gt;・　(3) で i がさらにインクリメントされます！ (当たり前じゃーんとか言う人はスルーしてね&lt;br /&gt;&lt;br /&gt;どういうことかというと (1) でbar に hoge() の結果が突っ込まれたときに foo が定義され、同時に i  も定義されています。 foo 内の i はhoge のスコープでで定義されています。i の状態がbar()が終わっても保持されているということは、つまりは foo が foo の 定義時の定義スコープを保持するわけです（やはり説明が難しいなこれ）。んで、この関数本体(foo)と定義スコープの対を「クロージャ(closure)」、ここでいう hoge を「エンクロージャ(enclosure)」と呼ぶそうです。&lt;br /&gt;&lt;br /&gt;これって結構重要で、便利に使う方法を探すのは良いですけど、逆にバグの温床になりそうな悪寒がします。使い捨てだと思っていた関数内で宣言した変数が状態を保持するとなると、予期せぬ結果が返ったりするかもしれません。&lt;br /&gt;&lt;br /&gt;いままでこんなこと知らなかったことにちと反省。しかしこれは奇妙だ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-6641879069317169442?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/07/closure.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_l-5zH6QbpGI/SIdpSpiXQ6I/AAAAAAAAAIU/oPuoyMdeu4w/s72-c/132488776_f3e3789a73_m.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-6238399253625477475</guid><pubDate>Wed, 23 Jul 2008 16:43:00 +0000</pubDate><atom:updated>2008-12-13T22:19:35.998+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><title>objectdump.jsが便利すぎる件</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_l-5zH6QbpGI/SIdhy8JhbnI/AAAAAAAAAIM/ssTdlGa9Wbs/s1600-h/2340347851_c394dde239_m.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 180px; height: 133px;" src="http://2.bp.blogspot.com/_l-5zH6QbpGI/SIdhy8JhbnI/AAAAAAAAAIM/ssTdlGa9Wbs/s320/2340347851_c394dde239_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5226253420354170482" border="0" /&gt;&lt;/a&gt;Javascriptを組むときの強い味方といえばFirebugですが、僕の場合、Firebugでエラー拾え切れないときはOperaやSafariのエラーコンソールを使っております。IEはIEのバグつぶしのみ使用。IEなんてブラウザ、さっさとなくなればいいのに・・・なんて話はおいといて、PHPを組むときはprint_rやvar_dumpが便利なのでそれを利用していたりします。ただこれらはJavascriptには用意されてないので、arrayやobjectをdumpする場合は別途関数を自前で作るかどこかから拾ってくる必要があります。&lt;br /&gt;&lt;br /&gt;最近まで &lt;a href="http://labs.unoh.net/2006/11/javascript.html"&gt;ウノウラボで公開されてるprint_r&lt;/a&gt; を使用していましたが、別サイトで &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://nazo.yi.org/nazonojs/?name=objectdump"&gt;objectdump.js&lt;/a&gt; なるものを発見し、使ってみたところこれがなかなか完成度が高く便利でした。&lt;br /&gt;&lt;br /&gt;まぁやってることはおそらくどちらもほぼ同じなんでしょうけど（ソース読んでないから知らん。おそらく再帰関数でゴリゴリやってるだけだと思う） objectdump.js のほうが作り込みが激しく、なかなかいい感じです。&lt;br /&gt;&lt;br /&gt;マイ糞ソフトのActiveXObject以外ならおそらくすべてdump出来るので、一度お試しあれ。特に自分の作ったWEBアプリのwindowオブジェクトをdumpすると意外な発見があるかもしれません。「え、それってそこにつながっ・・あー・・ね。」みたいな。単純な使い方は簡単で、リファレンスもリンク先にあるので使い方は割愛します。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-6238399253625477475?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/07/objectdumpjs.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_l-5zH6QbpGI/SIdhy8JhbnI/AAAAAAAAAIM/ssTdlGa9Wbs/s72-c/2340347851_c394dde239_m.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-1055057808158728777</guid><pubDate>Sun, 20 Jul 2008 15:17:00 +0000</pubDate><atom:updated>2008-12-13T22:19:36.101+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>WEBプログラミング</category><category domain='http://www.blogger.com/atom/ns#'>WEBサイトの構造を考える</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>シリーズ</category><title>WEBサイトの構造を考える -その6-</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l-5zH6QbpGI/SINXYbAVF6I/AAAAAAAAAIE/panW4kRB6Dw/s1600-h/1861003129.01.LZZZZZZZ.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 180px; height: 268px;" src="http://4.bp.blogspot.com/_l-5zH6QbpGI/SINXYbAVF6I/AAAAAAAAAIE/panW4kRB6Dw/s320/1861003129.01.LZZZZZZZ.jpg" alt="" id="BLOGGER_PHOTO_ID_5225116069757523874" border="0" /&gt;&lt;/a&gt;さて、第６回です。ちと音楽活動に専念していてなかなかこちらが更新できてませんが、がんばっていきます。&lt;br /&gt;&lt;br /&gt;今回は、”その２”で「 --- 具体的いうと、入力フォームで記述された記事をJSON（の予定。他のフォーマットでも可）ファイルで書き出し --- 」ということを書いた件について。&lt;br /&gt;&lt;br /&gt;この記事を書いた時点ではprototype.jsを使ってjsonでのサーバ・クライアント間のやり取りをメインにスクリプトを組んでいたため、こういうことを書きました。でもよく考えたら今回作るのはWEBサイトです。Jsonを使う目的はデータとデザインの分離。それって何かすでに用意されてなかったっけ？っと思ったら、XMLがあるじゃないか！という話になったわけです。AjaxならぬAjasonばっかりやってるとXMLの存在を忘れがちになってしまうのが問題ですね。&lt;br /&gt;&lt;br /&gt;ということで現在XMLとXSLTをJavascriptを使ってAjax的に出来るライブラリを作成中です。物自体はjQueryのプラグイン・・・というかjQueryに依存したものになりそうです。&lt;br /&gt;おおよそのところは完成(とりあえずの動作は出来た、後はエラー処理などの実装のみ)してるので、近日ソース公開と行きたいですね。&lt;br /&gt;&lt;br /&gt;で、大まかなロジックは&lt;br /&gt;・　XMLHttpRequest(jQueryを使用)でXMLとXSLを取得&lt;br /&gt;・　JavascriptでのXSLTで生成したHTMLを任意のタグへ突っ込む&lt;br /&gt;単純な話ですね。&lt;br /&gt;&lt;br /&gt;普通のXSLTだとXML自体に書かれたXSLを読み込んで勝手にXSLTがあたるわけですが、Ajax的に操作を行う場合は自分でスクリプト上で当ててやらないといけない点が異なります。ただしおおよそブラウザのコンパイルされた機能を使うのでめちゃくちゃ高速です。PHPのSmartyなどのテンプレートエンジンよりはるかに速い。また、逆に自分でやれるだけに自由度が高まります。XML、XSL、CSSすべてあと取りさくさくなのでフレキシブルでダイナミックなサイトの構築が可能になりますね。&lt;br /&gt;&lt;br /&gt;Javascriptで処理するだけにクライアントのリソースを多少消費しますが、高速なサイト作りで重要なのはサーバのリソースを出来るだけ使わないようにすることで、今日日のクライアントPCなんて一部の変態を除けばあまりまくってるんですから、どんどんクライアントのリソースを消費しちゃっていこうと思います（VM立ち上げてコンパイルしながらニコニコ見てるとかいう変態さんゴメンナサイ）&lt;br /&gt;&lt;br /&gt;ちなみにMySQL5.1からはクエリの結果を直接XMLで出力できるそうなので、より高速なWEBインターフェイスを構築することが可能になるようです。また、amazonのようにXMLDBに乗り換えるというのもひとつの手かと。ただXMLDBは直接テキストファイル（XML）をいじる構造なのだと思うので、既存のDBと比べて書き込み性能がどれくらい落ちるのかが気になるところです。&lt;br /&gt;&lt;br /&gt;1998年にw3cから勧告された割にはRSS以外ではWEBにはあまり用いられない（他の用途では結構使われている）XMLでありますが、いよいよWEBにも多用する時代が来たのかもしれません（ぇ、もうばりばり使ってるよ？って話があったらゴメンナサイ）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-1055057808158728777?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/07/web-6.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_l-5zH6QbpGI/SINXYbAVF6I/AAAAAAAAAIE/panW4kRB6Dw/s72-c/1861003129.01.LZZZZZZZ.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-1551395136563641473</guid><pubDate>Tue, 01 Jul 2008 03:37:00 +0000</pubDate><atom:updated>2008-07-01T12:39:04.771+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>国尾衛</category><category domain='http://www.blogger.com/atom/ns#'>ニコニコ動画</category><title>国尾衛のニコニコ動画アップロード情報</title><description>「ショパン：：幻想即興曲」だそうで。あちこちミスってやがる。&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://ext.nicovideo.jp/thumb/sm3724932" style="border: 1px solid rgb(204, 204, 204);" scrolling="no" width="312" frameborder="0" height="176"&gt;&amp;amp;amp;amp;lt;a href="http://www.nicovideo.jp/watch/sm3724932"&amp;amp;amp;amp;gt;【ニコニコ動画】ショパン：：幻想即興曲&amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-1551395136563641473?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/07/blog-post.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-7639839749482037994</guid><pubDate>Thu, 26 Jun 2008 19:20:00 +0000</pubDate><atom:updated>2008-12-13T22:19:36.235+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>ふと思い出を書いてみる - その3</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_l-5zH6QbpGI/SGPtQyiWILI/AAAAAAAAAHI/USQyXg77vlo/s1600-h/2152798588_724f8a2f1c_m.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 180px; height: 135px;" src="http://3.bp.blogspot.com/_l-5zH6QbpGI/SGPtQyiWILI/AAAAAAAAAHI/USQyXg77vlo/s320/2152798588_724f8a2f1c_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5216273666124685490" border="0" /&gt;&lt;/a&gt;2の続き。&lt;br /&gt;&lt;br /&gt;■　3浪目（ニート2年目）&lt;br /&gt;　この年が僕にとって一番飛躍の年になりました。3浪目になるともう大学はあきらめてて、就職のほうに方向転換をしていました。なので年度はじめからいろんな資格試験を受けまくるという、もう浪人生ではない行動をとってました。この年に受けた資格試験と結果が以下。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;電気通信主任技術者第１種伝送交換主任技術者（データ通信） - 4科目中2科目合格&lt;/li&gt;&lt;li&gt;第２種電気主任技術者 - 4科目中1科目合格&lt;/li&gt;&lt;li&gt;工事担任者アナログデジタル総合種 - 3科目中2科目合格&lt;/li&gt;&lt;li&gt;テクニカルエンジニアネットワーク - 不合格&lt;/li&gt;&lt;/ul&gt;あれ？他にも受けたような気がするが・・・まぁいいや。ようは全部落ちました。資格受かったら就職しようと思っていたものの、これではムリで、さらに、いちおう受けた大学も落ちて、4浪目かと思いきや陸上自衛隊の一般曹候補学生に合格したので次の年は陸上自衛官となりました。&lt;br /&gt;まぁそれはさておき、この年はこれらの資格試験を受ける際にした勉強がかなり多岐に渡り、特に電気通信主任技術者は試験範囲が広いだけに、この試験勉強を行うことによってIT・通信業界を大まかながら全体的に理解できるようになりました。高校時代からのJavascript,HTMLだけの知識もかなり豊富となり、そんなこんなしてるうちに、この年、Linuxと出会ったわけです。&lt;br /&gt;Redhat9との出会い。そしてApacheとの出会い。なんて感動してるまもなく陸上自衛隊へ入隊・・・&lt;br /&gt;&lt;br /&gt;■　陸上自衛官時代　（２年間）&lt;br /&gt;　とくにPCはいじらず。大砲は実弾を２発、空砲を２発撃った。対迫・対砲レーダで勤務&lt;br /&gt;&lt;br /&gt;■　もう一度ニート時代　（半年間）&lt;br /&gt;　今度こそIT業界に就職すべく家鯖をいじり倒して勉強。PHP, MySQLに手を出す。そんなこんなで某IT系企業へ入社。&lt;br /&gt;&lt;br /&gt;■　なんちゃってITエンジニア (今)&lt;br /&gt;　つらつらと書いてきましたがこんなことが今までありました。いや、これは僕自身のための思い出しでした。んで最近あったことというと&lt;br /&gt;&lt;ul&gt;&lt;li&gt;いつの間にかJavascriptがAjaxという別名？見たいなのが付けられてナウい技術になってる&lt;/li&gt;&lt;li&gt;電気通信主任技術者（1伝送D）に合格&lt;/li&gt;&lt;li&gt;ここのブログを開設&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;くらいですかね。ほかはぜんぜん成長せず。まぁのらりくらりとやってます。&lt;br /&gt;&lt;br /&gt;------&lt;br /&gt;&lt;br /&gt;このブログをごらんの皆さんもふと思い出を書いてみるのはいかがでしょうか。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-7639839749482037994?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/06/3.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_l-5zH6QbpGI/SGPtQyiWILI/AAAAAAAAAHI/USQyXg77vlo/s72-c/2152798588_724f8a2f1c_m.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-6422285419919977339</guid><pubDate>Sun, 15 Jun 2008 00:36:00 +0000</pubDate><atom:updated>2008-12-13T22:19:36.525+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>ふと思い出を書いてみる - その2</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_l-5zH6QbpGI/SFRkDF-anUI/AAAAAAAAAHA/j6E7J3OJY10/s1600-h/6562865_7cd5cc3b85_m.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 201px; height: 163px;" src="http://1.bp.blogspot.com/_l-5zH6QbpGI/SFRkDF-anUI/AAAAAAAAAHA/j6E7J3OJY10/s320/6562865_7cd5cc3b85_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5211900673080859970" border="0" /&gt;&lt;/a&gt;その1の続き。前の記事では結局いっさいPCやコンピュータについてでてきませんでしたが、まぁお暇な人だけでいいので付き合ってみてください。&lt;br /&gt;さて、続きです。&lt;br /&gt;&lt;br /&gt;■　小学校6年生 - PCとの出会い&lt;br /&gt;　小６でやっとPCと出会います。近所のダイエーに展示用のＰＣが置いてあって、スクリーンセーバーのパスなどはかけておらず、誰でも遊ぶことが出来ました。おそらく時期的にＯＳはWindows3.1。これがPCとの初めての出会いですね。前の記事に書いていたように、TTLをいじくって7セグメントLEDを無意味に点灯させていた少年にとっては半田ごてや設計無しに、フレキシブルに、かつカラフルに動くPCがあまりにも魅力的で、面白く思えました。かといって当時のＰＣは40万円以上。たいして普及しておらず、インターネットも無い時代なので買ってもらえるものではありません。なのでそのダイエーに入りびたりになってましたｗ&lt;br /&gt;&lt;br /&gt;■　中学1年生 - MSX-DOS・BASICとの出会い&lt;br /&gt;　友人の親父さんがMSX-DOSマシンをもってはったので、それで友人とBASICを書いて遊ぶ。とくに高度なことはせず。&lt;br /&gt;&lt;br /&gt;■　中学2年生 - PC購入&lt;br /&gt;　記憶が曖昧ですが、たしかこの頃に当時30万円したPC(win95/Pen133MHz)を家に導入。親をだまくらかして買ってもらいました。おかげでその後しばらく家業の事務員扱い。PC版「音楽ツクール」が手に入ったので電子工作よりこっちのほうばかりやるようになっていきました。&lt;br /&gt;&lt;br /&gt;■　中学3年生 - インターネット初接続&lt;br /&gt;　兄が大学の情報学科へ進学し、大学をプロバイダとして使えばプロバイダ料金は無料という状況になったので初めてインターネットに接続。当時のサイトといえば静的なHTMLコンテンツのみで非常に手作り感満載のサイトしかありませんでした。学校の先生とメールのやり取りなんてのもやってみたり。技術の授業時間に学校のPC-9801で88basicを書いてよく遊んでました。&lt;br /&gt;&lt;br /&gt;■　高校1年生 - BSDとの出会い&lt;br /&gt;　兄の学校がUNIXを使っていたそうで、「家のＰＣにも導入するわー」とか言っておきながらインスコで失敗。というか、今思えばXが立ち上がってなくてCLIだっただけのところをインスコ失敗と誤解してパニクっただけ。HDDフォーマット⇒Windowsの新規インストールという最終手段で復旧。&lt;br /&gt;&lt;br /&gt;俺の100を超えるMIDIファイル返せ。&lt;br /&gt;&lt;br /&gt;その後BSDとは関わりを持たず。&lt;br /&gt;&lt;br /&gt;■　高校1年～2年 - HTML、CSS、そしてJavascriptとの出会い&lt;br /&gt;　たしか友人がホームページなるものを解説したのがきっかけだったと思いますが、それがHTMLとの出会いです。友人のページのデザインがしょぼくて、「もうちょっとマシなものが出来なのだろうか」ってなノリでHTMLの勉強を始めたんだったと思うのですが、その辺曖昧。当時まだCSSがそれほど使われてなかったように思いますが、HTML-&gt;CSSと勉強を進めるうちにDHTMLなるものにぶち当たります。「なんだ、この動くホームページは？」で、そのままJavascriptへ突入。たしかまだ第1次ブラウザ戦争の最中だったので、思い切り巻き込まれてしまう結果になりました。高校時代はそんなこんなでHTMLとJavascriptの勉強が主流となりました。あとMIDIの打ち込み（SC88-proを買ったよ）。&lt;br /&gt;&lt;br /&gt;■　1浪目&lt;br /&gt;　この年はいちおう大学入試の勉強してたんだよ？本当に。&lt;br /&gt;&lt;br /&gt;■　2浪目（ニート1年目）&lt;br /&gt;　この年の記憶が一切無い。タイムスリップしたんじゃなかろうか。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;うーむ、3つに分けるか。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-6422285419919977339?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/06/2.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l-5zH6QbpGI/SFRkDF-anUI/AAAAAAAAAHA/j6E7J3OJY10/s72-c/6562865_7cd5cc3b85_m.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-5811222451877286729</guid><pubDate>Sun, 15 Jun 2008 00:03:00 +0000</pubDate><atom:updated>2008-12-13T22:19:36.721+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>ふと思い出を書いてみる - その1</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_l-5zH6QbpGI/SFRceGQh68I/AAAAAAAAAG4/PGIaizufZJ4/s1600-h/2505591227_d36287ef01_m.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 183px; height: 122px;" src="http://4.bp.blogspot.com/_l-5zH6QbpGI/SFRceGQh68I/AAAAAAAAAG4/PGIaizufZJ4/s320/2505591227_d36287ef01_m.jpg" alt="" id="BLOGGER_PHOTO_ID_5211892340920282050" border="0" /&gt;&lt;/a&gt;IT業界というだだっ広くていろんな種類の仕事のあるこの業界で働く人は、いろんな形でいろんな種類のIT技術と出会い、そして付き合ってきはったと思います。それは年齢やスキルの上達速度を含めて本当にさまざまなものがあり、結構な年齢になってから初めて一気に一流になった人や、若いころからやってて、なあなあになって中途半端になってる人も多いかとおもいます。&lt;br /&gt;&lt;br /&gt;僕は後者のほうで、PCに出会ったのはかなり昔で、それからそこそこ年数が経っているにもかかわらず、ぜんぜんスキルアップしていないというグダグダな感じです。ただ、いままでの出会いにはそれぞれ思いでがあり、懐かしいものさえあります。そこで今回は原点回帰という意味もこめていままでいつ何に出会ったか、というのを書いてみようと思います。&lt;br /&gt;&lt;br /&gt;■　小学4年生 - リレーとの出会い&lt;br /&gt;　電池と豆球をつないだら光ったり、モータをつないだりしたら回るというのが好きだったようで、良くモーターをばらしてエナメル線をいっぱい巻く改造をして、巻きすぎて壊すという小学生にはありがちなあほなことを良くやってたころ、たまたま「リレー」に出会いました。&lt;br /&gt;　リレーに関しては余り出会ったころの記憶がなくて、覚えてるのはリレーを使ってフリップフロップのようなものを作ろうとして失敗したということくらいですかね。とりあえず半田ごて使い出したのもこの頃。&lt;br /&gt;&lt;br /&gt;■　小学5年生 前半 - トランジスタとの出会い&lt;br /&gt;　まぁどうでもいいものを分解しまくる日々を送ってたわけですが、そんなことしてると黒い変な三本足の物体に多分にもれず出会ってしまうわけです。たまたま知り合いの人で電子に詳しい人がいて、その人に聞いてそれがトランジスターであり信号増幅に使われるものだと知りました。これは結構記憶に残ってて、一種の感動のようなものを覚えました。その頃手元にあったのが2sc945と2sc1815。すべてはこの2sc945から始まったような気がします。当時のお小遣いだと４～５カ月分のトランジスタ規格表を取り寄せていろんな妄想（部品買う金がないからね）をしてました（脳内回路シミュレータ）&lt;br /&gt;&lt;br /&gt;■　小学5年生 後半 - TTLとの出会い&lt;br /&gt;　算数しかやらない小学生にはアナログ回路の設計なんて難しすぎるわけです。ましてやバイアス回路や周波数特性の補正回路（負帰還など）を理解しようとしても無理。そんなこんなで電子回路って難しいなーと思ってた矢先にTTL(74**シリーズ)、要は論理回路と出会いました。AND,NOT,OR,NAND,NOR,XOR。それらを組み合わせて0と1だけを考えれば回路が出来る。本当にこれは衝撃的で、なんと単純明快で簡単なんだ！と思いました。ただオシレータを理解するのには苦労しましたがね･･･&lt;br /&gt;この頃の学校の僕の机は論理回路の落書きで全部埋まってたような気がします。&lt;br /&gt;&lt;br /&gt;長くなりそうなので２つにわけます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-5811222451877286729?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/06/blog-post.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_l-5zH6QbpGI/SFRceGQh68I/AAAAAAAAAG4/PGIaizufZJ4/s72-c/2505591227_d36287ef01_m.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3517459192822036122.post-8336744176460254415</guid><pubDate>Sun, 08 Jun 2008 05:30:00 +0000</pubDate><atom:updated>2008-12-13T22:19:37.059+09:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>雑記</category><title>jQuery</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_l-5zH6QbpGI/SEtul2KFpBI/AAAAAAAAAGw/DXMWl9ZUfBk/s1600-h/book-learning.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_l-5zH6QbpGI/SEtul2KFpBI/AAAAAAAAAGw/DXMWl9ZUfBk/s320/book-learning.png" alt="" id="BLOGGER_PHOTO_ID_5209378990456153106" border="0" /&gt;&lt;/a&gt;どうも勢いがなくなるととたんに書くのを辞めてしまう翔市です。皆様いかがお過ごしでしょうか。で、最近思ったことをひとつ。&lt;br /&gt;&lt;br /&gt;「jQueryが熱そうだ！！！」&lt;br /&gt;&lt;br /&gt;以上。&lt;br /&gt;なんかね、ずっとprototype.js使ってて、今までは特に困ったことはなかったんだけど、いろいろリファレンス見る限りjQueryすごくね？って感じがしたわけですよ。ちょっといろいろ調査してみて、よさそうならこちらに乗り換えようかと。あと勝手に思い込んでたのがライブラリが重過ぎるってこと。でも実際はそんなことはなかった。prototype.jsと非圧縮版のjqueryの差が約4kB。圧縮版だとたいぶ小さいようです。噂に聞いてたように、ホントにDOMの扱いがよさそうだ・・・&lt;br /&gt;&lt;br /&gt;prototype.jsのネックはUnique URLsの扱いとDOMへのアクセスを自前でよしなにしないといけないってことですからねー（違ったりして&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3517459192822036122-8336744176460254415?l=ajax-shoiti.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ajax-shoiti.blogspot.com/2008/06/jquery.html</link><author>noreply@blogger.com (桝原翔市(マスハラ ショウイチ))</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_l-5zH6QbpGI/SEtul2KFpBI/AAAAAAAAAGw/DXMWl9ZUfBk/s72-c/book-learning.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>