Posted by yamada on 2011/12/07 – 09:00
ちょっとしたテストとか、JavaScriptの動作チェックとかやる度にゼロからHTMLを書いていました。
まだ、これまではその間隔が2,3ヶ月に1度くらいだったのであまり苦痛ではなかったのですが、最近1ヶ月に1度はやっている気がする。
大抵のテストではjqueryを使いたくなるので、それをダウンロードして、読み込ませたりするし、当然CSSも必要。
でも、CSSのプロパティとかどういうパラメータ名だったっけ?とか、jqueryってどういう使い方だったっけ?と基本的なところので悩み、なんとなく、こんな感じのような。。ちがうなぁ、と試行錯誤の繰り返し。
サンプルファイルアーカイブ
今更ですが、この作業があまりに無駄に感じたので、その最初のところまでをシンプルにしてまとめたものをアップしておきます。ご自由にお持ちください!
大抵のウェブコンテンツ制作者の方には不要だと思いますが、誰よりも自分のために公開!
Read More »
Posted by yamada on 2011/03/29 – 09:00
Filed under JavaScript, その他
Tagged as JavaScript, 半減期
3月23日に東京都葛飾区の金町浄水場の水から210ベクレル/リットルの放射性ヨウ素131が検出される事態が発生しました。
「国が決めている乳児の飲み水に関する国の指標値の2倍」という話でしたが、これがどの程度危険なのかはさておき、放射性物質が新たに加わらない限り検出される放射線は減衰していくはずなのでその減衰する時間について考えてみました。
photo © 2005 Konstantin Ryabitsev | more info (via: Wylio)
半減期計算

計算結果:
-
計算コード
上記フォームでの計算コードは以下のようなものになります。
1
2
3
4
| var n0; // 基準値.
var t; // 経過時間.
var T; // 半減期(時間)
var n = n0 * Math.pow(0.5,(t/T)); // 経過時間を得たときの値. |
ニュースの伝えるデータを考えてみる
その後の金町浄水場の検査結果を読売新聞は次のように伝えています。
「22日に採取した水から乳児の飲用の暫定規制値(1キロ・グラムあたり100ベクレル)を超える210ベクレルの放射性ヨウ素が検出されたが、その後減り続け、26日は34ベクレル、27日午前6時の採水では不検出だった。」

半減期計算を考えると、4日で210ベクレルだったものが34ベクレルに下がるわけはなく、210ベクレルの水は都内に流れていったということになります。
浄水場から家庭の蛇口まで到達するのに、どの程度の時間がかかるのかは分かりませんが、その間に水を使った人のところへ近づいていくのは間違いありません。
今回の震災は各種既存メディアの報道のあり方、数字の捉え方のおかしさを浮き彫りにしていきますね。
[AD]
↓科学知識をわかり易く知りたい時にはブルーバックス!

放射線利用の基礎知識 (ブルーバックス)
著者/訳者:東嶋 和子
出版社:講談社( 2006-12-20 )
定価:¥ 987
Amazon価格:¥ 987
新書 ( 224 ページ )
ISBN-10 : 4062575183
ISBN-13 : 9784062575188
↓「もしも」のときが身近になってきました。
↓JavaScriptの教科書的な本。

JavaScript 第5版
著者/訳者:David Flanagan
出版社:オライリー・ジャパン( 2007-08-14 )
定価:¥ 4,410
Amazon価格:¥ 4,410
大型本 ( 704 ページ )
ISBN-10 : 4873113296
ISBN-13 : 9784873113296
Posted by yamada on 2010/06/24 – 14:15
Tombloo
Tomblooというとても便利なFirefoxアドオンがあります。
コンテキストメニューから選ぶだけで、見ているページをいい感じにウェブサービスに投稿出来るアドオンです。
私はこれでTumblrへの投稿を行っています。
文字列を選べばそれを引用として投稿でき、動画サイトならそれに適した形でプレビューなどを埋め込んでくれます。
インストール方法は、以下のリンク “tombloo.xpi” を右クリックし、 名前をつけてリンク先を保存でダウンロードしてください。ダウンロードされたファイルをFirefoxのウィンドウへドロップするとインストールがはじまります。
tombloo.xpi
追記:2010/08/18
tomblooの作者toさんがコメントされたように下記に書いたYouTubeでの問題への対応は、公開されているスクリプトに取り込まれました (github)。

コミットされたコードも洗練されているので勉強になりますね。

情熱プログラマー ソフトウェア開発者の幸せな生き方
著者/訳者:Chad Fowler
出版社:オーム社( 2010-02-26 )
定価:¥ 2,520
Amazon価格:¥ 2,520
単行本(ソフトカバー) ( 200 ページ )
ISBN-10 : 4274067939
ISBN-13 : 9784274067938
YouTubeでの問題
注意:前述したように、2010/08/18現在、最新tombloo.xpiでは下記の問題は修正されていますが、技術メモとして残しておきます。
最近YouTubeのHTML形式が変わったりしてちょっと問題があったりしましたが、それについてはこちらのブログエントリ「TomblooからYouTube動画をpostできなくなった件 – FLYING」で紹介されているようにアドオンのJavaScriptソースをいじることで対応出来ました。
ただ、それでもいくつかのYouTube動画で、これでも対応しきれないところがあり、ちょっと気になっていましたので、原因を調べてみました。
調査、解決コード
問題が発生する動画ページは、例えば、この動画です。
他のページと何が違うのか、考えてみると、左上の動画投稿者の名前が入るべきところにバナーが入っています。そこのHTMLタグ取得に失敗してるのが原因と分かりました。

前述したブログでの修正内容を見て、修正すべきは次のファイルであると分かりました。
Windowsの場合は、
C:\Documents and Settings\(ユーザー名)\Application Data\Mozilla\Firefox\Profiles\(プロファイル名)\extensions\tombloo@brasil.to\chrome\content\library
Mac OS Xの場合は、
/Users/(ユーザー名)/Library/Application Support/Firefox/Profiles/(プロファイル名)/extensions/tombloo@brasil.to/chrome/content/library
にある、
31_Tombloo.Service.extractors.js
です。
このファイルの1230行目辺りを以下のように書き換えます。これで動作するようになりました。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| {
name : 'Video - YouTube',
ICON : 'http://youtube.com/favicon.ico',
check : function(ctx){
return ctx.host.match('youtube.com');
},
extract : function(ctx){
var author = $x('id("watch-username")');
ctx.title = ctx.title.replace(/[\n\r\t]+/gm, ' ').trim();
if( !author ){
author = $x('id("watch-userbanner")');
var t0 = author.href;
var t1 = t0.match( /[^/]+$/ );
var t2 = author.textContent.replace( /<img.*\/>/, t1 );
return {
type : 'video',
item : ctx.title.extract(/ - (.*)/),
itemUrl : ctx.href,
author : t2,
authorUrl : author.href,
};
}
else{
return {
type : 'video',
item : ctx.title.extract(/ - (.*)/),
itemUrl : ctx.href,
author : author.textContent,
authorUrl : author.href,
};
}
},
}, |
ちょっと強引に直していますが、まぁ、いいかな。
[AD]
↓YouTubeからUstreamへと、今、何かが変わりつつある。

USTREAM 世界を変えるネット生中継 (ソフトバンク新書)
著者/訳者:川井 拓也
出版社:ソフトバンククリエイティブ( 2010-05-19 )
定価:¥ 767
Amazon価格:¥ 767
新書 ( 200 ページ )
ISBN-10 : 479736016X
ISBN-13 : 9784797360165
↓ Make:ブランドのArduino本、面白そう!

Arduinoをはじめよう (Make:PROJECTS)
著者/訳者:Massimo Banzi
出版社:オライリージャパン( 2009-03-27 )
定価:¥ 2,100
単行本(ソフトカバー) ( 216 ページ )
ISBN-10 : 4873113989
ISBN-13 : 9784873113982
Posted by yamada on 2010/04/13 – 16:37
Filed under Flash
Tagged as Flash, JavaScript, JSFL
FlashのライブラリにあるアイテムについてあれこれするJSFLについて、まとめておきます。といっても二つだけですが。
まず最初に
後述するjsflファイルを実行するには、JSFLファイル置き場(WindowsXPの場合 →C:\Documents and Settings\<ユーザー>\Local Settings\Application Data\Adobe\Flash CS4\ja\Configuration\Commands)にファイルを置けばそれだけで、Flashの「コマンド」メニューの中に現れ、選択することで使用することが出来ます。
Flashの再起動は不要です。

ライブラリ内の画像をすべて「更新」するJSFL
まず一つ目は、ライブラリ内の画像を「更新」するJSFL。
いろいろな画像ファイルの大本ファイルが変更されても、ライブラリアイテムは「更新」しないと適用されないが、いちいち選択するのが面倒です。
ある程度ならまとめて選択してもいいのですが、ライブラリにフォルダを作って管理していると、全部やるのは人間のやるべきことではありません。
そこで書いたのが、このjsfl (TORQUES-UpdateImages.jsfl)です。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| /**
* ライブラリにある全てのビットマップファイルを「更新」するJSFL.
* @author torques.jp
* @since 2010-04-02
* @version 1.0
*/
fl.outputPanel.clear();
fl.trace( "== TORQUES-UpdateImages.jsfl - start ==" );
var items = fl.getDocumentDOM().library.items;
var numItems = items.length;
for( var i=0; i<numItems; i++ ){
var item = items[i];
if( item.itemType == "bitmap" ){
fl.trace( "Update-Bitmap ["+item.name+"]" );
fl.getDocumentDOM().library.updateItem( item.name );
}
}
fl.trace( "== TORQUES-UpdateImages.jsfl - finish ==" ); |
ライブラリ内のリンケージクラス名を置換するJSFL
もう一つは、ライブラリのリンケージ設定をしているモノで、その名前を一括置換するというモノ。
自作ASライブラリのパス名を変えたい、というときに作成したのが、このjsfl (TORQUES-ReplacePackage.jsfl)です。
ただ、リンケージの「クラス」と「共有クラス」の文字列を置換するだけですので、必要に応じて、中身を書き換えてください。
下記のコードでは、”jp.NEW”という文字列を”jp.OLD”に置換しています。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| /**
* リンクパッケージ名を変更するJSFL.
* @author torques.jp
* @since 2010-04-13
* @version 1.0
*/
fl.outputPanel.clear();
fl.trace( "== ReplacePackage ==" );
var items = fl.getDocumentDOM().library.items;
var numItems = items.length;
for( var i=0; i<numItems; i++ ){
var item = items[i];
if( item.itemType == "movie clip" ){
if( item.linkageExportForAS ){
item.linkageBaseClass = item.linkageBaseClass.replace("jp.OLD","jp.NEW");
item.linkageClassName = item.linkageClassName.replace("jp.OLD","jp.NEW");
}
}
textToFile += "\n";
} |
[AD]
↓JavaScriptでかなり面白そうな本!カートに入れた。
↓jQuery、よく使っています!この書籍も良さそう。