BLOGTIMES
«Prev || ... 919 · 920 · 921 · 922 · 923 · 924 · 925 · 926 · 927 ·... | | Next»
2011/12/24

Closure Compiler で JavaScript を最適化

javascript  google 

JavaScript を最適化して容量を節約するソフトを見つけたのでメモ。

closure-compiler - Closure Compiler - Google Project Hosting

Closure Compiler is a JavaScript optimizing compiler. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what

どうやらこの Closure Compiler は Google が作っているようですね。
ローカルにインストールすることもできますが、Closure Compiler Serviceを使えばオンラインから最適化後のJavaScriptを得ることができます。

最適化のレベル

最適化のレベルは Whitespace only, Simple, Advanced の3種類あり、後者ほど最適化のレベルが強くなります。下記の実例をみれば一目瞭然ですが、 Whitespace only だと基本的には改行とスペースをまとめるだけですが、 Simple を指定すると関数内の最適化を行うようになり、ローカル変数の文字数を付け替えてコードが短くなります。これは若干の難読化になるかもしれません。さらに Advanced にした場合には大域的な最適化を行うようで、関数が1カ所でしか使われていなければインライン展開などを行うようです。関数名を破壊してしまうので、ライブラリをこれで最適化してからインクルードしたりすると正常に動かない場合も出てきそうです。

元ソース

function power(base, exponent) { var result = 1; for (var count = 0; count < exponent; count++) result *= base; return result; } show(power(2, 10));

Optimization: Whitespace only

function power(base,exponent){var result=1;for(var count=0;count<exponent;count++)result*=base;return result}show(power(2,10));

Optimization: Simple

function power(c,d){for(var a=1,b=0;b<d;b++)a*=c;return a}show(power(2,10));

Optimization: Advanced

for(var a=1,b=0;10>b;b++)a*=2;show(a);

    at 20:21 |
    2011/12/24

    中華 深圳 (2011年クリスマス特別メニュー編)

    chinese  tokyo 
    豚脳飯 - 中華 深圳 (2011年クリスマス特別メニュー編)ターキー飯 - 中華 深圳 (2011年クリスマス特別メニュー編)
    中華 深圳 クリスマス特別メニュー - 中華 深圳 (2011年クリスマス特別メニュー編)お土産にもらったメープルシロップ - 中華 深圳 (2011年クリスマス特別メニュー編)

    クリスマスだというのにディナーのあてもないので、3月に見つけてから比較的足繁く通っている日暮里の中華 深圳激辛麻婆豆腐でも食べて気合いを入れようと思って開店とほぼ同時に入店。既にお店には何人か常連さんと思われるお客さんで賑わっていていつもと違った雰囲気。それもそのはずで、今日はクリスマスということで特別メニューでの営業になっていました。気さくな女将さんに聞いてみたところ、毎年24,25だけ特別メニューで営業しているとのこと。ちなみに今年は明日が日曜日なので、特別メニューは今日だけだそうです。

    気になるメニューはいろいろあったのですが、ちょっと怖い物見たさもあって豚脳飯たのんでみました。もう見た目から脳みそってわかりますね。味の方は特にクセもなくて、白子のような感じですがもうちょっと淡泊な感じですかね。ネットリとしていてとろけるような触感がたまりません。これは一度食べる価値があります。常連さんが多いだけあって、パクチーをお裾分けしてもらったりとか、隣の人のターキー飯を撮影させてもらったりとか、予定以上に楽しくディナーすることができました。

    これは来年も覚えておいて、来年も是非とも来なければ。明日の営業がないのがとても残念です。クリスマスということで中国人のアルバイトのおねーさんに「圣诞快乐!」と声をかけてもらい、メープルシロップをお土産にもらって帰路につきました。

    [中華 深圳 (2011年クリスマス特別メニュー編) の続きを読む]

      at 18:18 |
      2011/12/23

      超大容量のモバイルバッテリーが発売に

      battery 
      予約受付中!(1月下旬発送予定) aigo Legacyシリーズ ポータブルパワーパック N2688

      そろそろ何らかのモバイルバッテリー的なものを買おうかと思っているのですが、そんななかでこの 22,000mAh 大容量バッテリー発売のニュースが気になったのでメモ。

      エグゼモード、大容量22,000mAhのモバイルバッテリー - 家電Watch

      エグゼモードは、容量22,000mAhのモバイルバッテリー「aigo ポータブルパワーパック N2688」を2012年1月下旬より発売する。価格はオープンプライス、市場想定価格は22,800円。受付は12月20日より開始している。
      中国aigo社製のモバイルバッテリーで、電池容量が22,000mAhと大きい点が特徴。各機器の充電の目安は、携帯電話の通話で最大約138時間、ノートパソコンで最大約10時間、デジタルカメラの撮影で最大約8,000枚、デジタルオーディオプレーヤーの再生で最大約660曲まで対応するという。

      ちなみにこのバッテリーがどれくらい大容量かというと、僕が今使っている ThinkPad X220 6セル リチウムイオン・バッテリー の容量が 63Wh なので、 Ahに換算すると 約5.7Ah*1です。このバッテリーは22Ahですからモバイル系のPCのバッテリーの約3.8倍の容量があることになります。損失があるので容量の換算は単純にはいきませんが、非常時のバッテリーとしてはかなり役立ちそうですね。


      at 18:12 |
      2011/12/23

      Javaアプリケーションから Google Talk にメッセージを送る

      java  googletalk  programming 

      簡単な通知アプリを作りたかったので、しばらく Google Talk の仕様とアプリからの呼出方法について調べていました。Google Talk は XMPP を使っていると言うことが分かったので、 下記の Smack API という Java のライブラリを使ってメッセージを送るアプリを作ってみました。面倒な部分はライブラリが引き受けてくれるので簡単に実現できます。

      Ignite Realtime: Smack API

      Smack is an Open Source XMPP (Jabber) client library for instant messaging and presence. A pure Java library, it can be embedded into your applications to create anything from a full XMPP client to simple XMPP integrations such as sending notification messages and presence-enabling devices.

      同種のアプリとしては先日 Twitter につぶやきを送る簡単なアプリを書きましたが、同じような感じで使うことができますね。
      Twitterは書いた内容が無条件に公開されてしまうので、非公開にしたい通知はこちらを活用する予定です。

      [Javaアプリケーションから Google Talk にメッセージを送る の続きを読む]

        at 17:37 |
        2011/12/22

        A01SH用のアダプタを自作しようかな

        a01sh 

        A01SHの専用ACアダプタ(PCA01SHZ10)はピンがかなり細い特殊なもので、コンパチ品が手に入らないので困っています。

        入力: AC100-240V 50/60Hz 0.4A
        出力: DC12V 1.5A
        センタープラス

        本体には上記の表記があり、電圧が12Vと高めなのでUSBから給電できないのが痛いですね。それ以外は特に自分でコンパチな部品を調達して自作しようかなと考えています。多分、適当なアダプタを買ってコネクタを半田付けするだけで問題ないでしょう。ちなみにネットで調べてみると NetWalker や Willcom D4 とコンパチらしい情報がいくつか出てくるのと、 NetWalker のアダプタを自作した話が出てくるのでこれを応用すれば良さそうです。

        Linux/NetWalker/ACアダプタ自作 - 横着者のメモ帳
        NetWalkerのACアダプタを自作してみる:まんぼうの道具箱 別館:So-netブログ

        とりあえず調達が必要な部品は簡単に手に入りそうなので、時間をみつけてアキバで調達することにします。
         ・プラグは φ1.1mm (マル信無線電機 MP-121PS
         ・アダプタは 12V/1.5A (スイッチングACアダプター12V1.5A(入力100V~240V) 内径2.1mm GF18-US1215-T)


          at 23:06 |

          銀座 吉宗

          和食 
          茶碗蒸し定食 - 銀座 吉宗

          所用のため本日は銀座でランチ。長崎出身の友人が「是非ともランチに連れて行きたいお店があるんだよね」と言って連れてきてくれたのが長崎センタービルの地下にある長崎料理の吉宗というお店。吉宗でよっそうと読むみたいです。

          大きな茶碗蒸しが名物ということで、ランチの茶碗蒸し定食(茶碗蒸し、ごはん、豚の角煮、小鉢、お新香のセット)をたのんでみました。しばし待つと普通の茶碗蒸しの3倍はあろうかというアツアツの大きな茶碗蒸しが運ばれて来ます。そのせいかこのランチセットには汁物がありません。さらにポイントが高いのはこのお店はごはんが美味しいところですね。しかもおかわりできます。角煮はちゃんと皮付きの肉だったように思います。ネットリとした食感がなんともいえず、ご飯との相性も抜群でした。

          [銀座 吉宗 の続きを読む]

            at 12:01 |
            2011/12/21

            VSS は2011年1月1日からMSDN Subscription 特典へ

            SourceControlManagement 

            MS のソースコード管理ツール Visual SourceSafe が単体販売を終了して MSDN Subscription 特典へ移行するようなのでメモ。
            販売終了ということはあまり売れていないということでしょうかね。まぁ、フリーで優秀な SCM ツールがたくさんある中であえて VSS を選択する必要はないと思います。
            MS 系の開発をやってると使ってるよという場合もあるのかなぁ。

            Visual SourceSafe 2005

            2012 年 1 月 1 日より、Visual SourceSafe は MSDN Subscription 付き製品 (MSDN OS を除く) にて、MSDN Subscription の特典として提供します。そのため Visual SourceSafe の単体での販売を終了いたします。また Visual SourceSafe の主要機能であるバージョン管理機能は、後継製品である Visual Studio Team Foundation Server に含まれています。この製品に対しては、弊社は引き続き投資を行い、チーム開発プロジェクトに対する支援を継続してまいります。Visual SourceSafe を使用しているお客様は、お持ちのソース コードを Team Foundation Server に移行する計画を立てる必要があります。

              at 23:43 |

              Firefox は当面の危機を回避

              firefox  google 
              Firefox 9 - Firefox は当面の危機を回避

              Firefox 9 が公開されたようなのでいつも通りアップデートしました。
              JavaScript のパフォーマンスが上がったらしいのですが、特に変わったような印象は受けません。

              「Firefox 9」正式版公開、JavaScriptパフォーマンスが最大3割向上 -INTERNET Watch

              米Mozillaは20日、ウェブブラウザーの新バージョン「Firefox 9」の正式版を予定通り公開した。Windows版、Mac版、Linux版がある。なお、Mac版ではPowerPCに対応していない。今回のバージョン「9.0」では、JavaScriptエンジンの改良が目玉だ。これは、型推論を導入したことによって、推論された型情報をイエーガーモンキーJITコンパイラで活用できるように改良したものだ。これによって、KrakenやV8といった主要なベンチマークで30%以上のパフォーマンス向上が認められている。一般的なサイトでも約2割から3割のパフォーマンスが向上すると考えられている。特に、JavaScriptの重い処理を必要とするサイトでは、大きく高速化されることが期待される。

              Firefox 終了のお知らせと騒がれていた Mozilla と Google の契約問題については3年間の契約延長がまとまったようなので、当面の危機は回避されたようです。

              Firefox、少なくとも3年は延命 - MozillaとGoogleが契約合意 | 経営 | マイナビニュース

              Googleが少なくとも今後3年はMozillaの後ろ盾となってFirefoxをサポートする。Mozillaが米国時間の12月20日に、Googleとの新たな提携契約で合意したことを発表した。契約内容は非公開となっているが、Mozilla CEOのGary Kovacs氏が従来の検索に関するGoogleとの関係が3年以上延長されることを明らかにしており、Mozillaが収入の大部分を失う最悪の事態は回避された模様だ。

              Chrome のシェアも日に日に高くなってきている・・・というか、Mozilla の高速リリースサイクル導入に伴う失点が大きかったですね。3年後に同じように契約が延長できるとは思えないので 今後 Firefox がどのようになっていくのかという部分には不安が残る結果になりました。今のところ自分のメインのブラウザなので今後も上手く発展することを切に願っています。

              ちなみにプラグインの互換性チェックは Add-on Compatibility Reporter をインストールすることで無効化出来るので、高速リリースサイクルについていく場合にはこれをいれておけば障壁はだいぶ少なくなります。今回の8→9ではこれだけで特にアドオンには不具合が出ませんでした。


                at 23:37 |
                2011/12/20

                Winny の金子さん無罪確定へ

                copyright  winny  裁判 

                Winnyの開発者の金子さんに最高裁判決で無罪が言い渡されたようです。

                ウィニー開発者 無罪確定へ 最高裁「著作権侵害、容認せず」 - MSN産経ニュース

                ファイル共有ソフト「Winny(ウィニー)」を開発・公開してゲームソフトなどの違法コピーを助けたとして、著作権法違反幇(ほう)助(じょ)の罪に問われた元東大大学院助手、金子勇被告(41)の上告審で、最高裁第3小法廷(岡部喜代子裁判長)は「著作権侵害を容認していたとは認められない」として、検察側の上告を棄却する決定をした。19日付。罰金150万円とした1審京都地裁判決を破棄し、逆転無罪とした2審大阪高裁判決が確定する。

                ひとまずWinny 事件はこれで決着ということになりますね。記事中の「元東大大学院助手」というのが年月を感じさせます。2007年4月からの規則改正で研究職は助手→助教に改められたのでした。思い返せば逮捕のニュースが流れたのが2004年5月の話で、高裁で逆転無罪になったのが2009年10月の話でした。最高裁の判例検索システムで検索してみたところ、「平成21(あ)1900 著作権法違反幇助被告事件  平成23年12月19日 最高裁判所第三小法廷(全文/PDF)」がもう読めるようになっていました。大谷剛彦裁判官が反対意見を述べてるみたい。


                  at 23:51 |

                  実践的ソフトウェア工学

                  softwareengineering 
                  実践的ソフトウェア工学―実践現場から学ぶソフトウェア開発の勘所 (トップエスイー入門講座)

                  結論から述べると、この本は役に立たないので買う必要性を感じません。現場方の人の本なので確かに読みやすいとは思うんですが、何も考えずに現場にいるだけも身につく知識がちょっと強化されるだけです。書いてあることが体系的に整理・詳細化されていないので知識が深掘りされません。

                  トップエスイーはそれなりに肝いりのプロジェクトでそれなりの先生や企業が参加しておられるということで、ついつい期待してしまったのですが、この本に限って言えばかなりいまひとつ。入門向けの概論なのでページ数が少ないのは仕方がないとしても、用語の使い方が一般的なソフトウェア工学の用語と違っている*1部分があったりするので、そのあたりも含めて教科書として使うとハマることが多そうです。

                  • *1: 例えばソースコードの読みやすさを可視性(visibility)と表現する文章は初めて読みました。

                  at 12:32 |
                  «Prev || ... 919 · 920 · 921 · 922 · 923 · 924 · 925 · 926 · 927 ·... | | Next»