
JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記
を、コメント欄にあるURL
http://developer.mozilla.org/ja/docs/New_in_JavaScript_1.7#Generators
などを参考にしながら、なんとか理解した。
このソースの特殊なところは2箇所だと思った。
- yieldの引数としてr.sendを呼んでいるところ。本来引数である必要はない。yieldの前に呼べばおけ。Firefox2ではそれで正常に動いた。
- resumeが自分の関数の引数として定義されているところ。こうしないと、本体のyieldをRequestからsendするようなスコープで書けないっぽい。グローバルならいけるかもしれないけど。
自分メモ。
GoogleMapsAPIでIE6でGTileLayerでPNGを透過させるには、
isPng()
を、trueを返すように実装すれば良いです。
var tileLayer = new GTileLayer(new GCopyrightCollection(""),3,17);
tileLayer.getTileUrl = function(tile,zoom){
//適宜URLを返すfunctionを実装
}
tileLayer.isPng = function(){return true;}
var mapTypes = [];
for(i=0; i<G_DEFAULT_MAP_TYPES.length; i++){
mapTypes = mapTypes.concat(new GMapType(G_DEFAULT_MAP_TYPES[i].getTileLayers().concat(tileLayer),
G_DEFAULT_MAP_TYPES[i].getProjection(),
G_DEFAULT_MAP_TYPES[i].getName()));
}
var map = document.getElementById('map');
this.gmap = new GMap2(map, {mapTypes:mapTypes});
<div id="map" width="300" height="300"></div>
こんな感じでいけると思うです。
isPng()の代わりに
getOpacity()
を指定すると、アルファチャネルじゃなくて、全体的に透過になります。
isPng()はAlphaChanelLoaderを使ってると思うんだけど、やっぱり遅い。
ので、単純に透過にするgetOpacity()のほうが処理は速い。
うまく使い分けるのが良いですね。
@IT:Spring Frameworkで理解するDI(1)
ぜひとも一度DIを利用し、仕様を変更させるという経験をしてみてください。その影響範囲の狭さに驚きを感じるはずです。仕様変更の依頼にYESと答えることが病みつきになるかもしれません。
おいおい、すごいな…
【ハウツー】このバランス感覚、さすが - GoogleのDIフレームワーク"Guice"を使ってみる (1) Googleが開発したDI - Guiceとは (MYCOMジャーナル)
こういうニュースもあったし、一気にブレイクかもなぁ…
もう、でも、できればあれだ、僕はLLで開発したいと思ってんだけどなぁ。
って、そういうレベルの話じゃないかなぁ。
雑記・オブ・チョイチョイ
Javaがミッションクリティカルな部分で採用される理由は、実行速度とチームでの開発スピードのバランスが優れているからだと思う。
ふぅむ…
特にmixiとか。
自動ログインの危険性 - INFOTECH - 楽天ブログ(Blog)
つまり、ログインしっぱなしの状態だと、簡単に、強制的に、
- 悪意のある人のmixiページを訪問させられる→足跡残る→プロフィールばれる
です。
こっちはユーザの利用方法でなくて、サイトの作り方としての話。
Web 2.0的アプリのセキュリティ:機密情報にJSONPでアクセスするな : アークウェブ ビジネスブログ
こういうの、CSRF(Cross Site Request Forgeries)っていうのかな。
「はまちちゃん」ってこれだったよね。