2015年04月01日

AjaxMinifier の圧縮オプション

JavaScript ファイルを小さくするには、オンラインで使える
Google Closure Compiler
を使っていましたが、最近、コマンドラインで使える、Microsoft AjaxMinifier を使うようになりました。

この AjaxMinifier を使う場合は、次のように、-hc オプションを付ける必要があります。付け忘れるとファイルが小さくなりません。

>ajaxmin.exe -hc ???.js -out ???.min.js

posted by 開発G at 10:00| Comment(0) | TrackBack(0) | Programming

2015年02月16日

USB Modem を Linux で使う場合の注意点

USB タイプの Modem は、通常 Windows をサポートするようになっているので、CD-ROM として認識されることが多いです。Windows に差し込むと、自動的にドライバ等がインストールされるような仕組みのためです。

これを USB Modem に切り替えるには、usb_modeswitch 用の設定を行って、CD-ROM 認識された USB 機器を、Modem に変更する必要があります。でも、これが上手く行かない機種がありました。L-05A というタイプの modemです。

あちこち調べると、eject を実行して cd-rom 等を外すマネをすると、自動的に modem として認識されるとあって、その通りにやってみるとなるほど、うまく切り替わります。ただ、これだと毎回実行することになり、ちょっとイヤだなと思ってました。udev のルールを設定して、eject を組み込む方法もあるようですが、それだと、/dev/ttyACM* の名前のデバイスになってしまいました。

先日、AT コマンドで、初期設定を変えることで CD-ROM と認識せずに、Modem として認識してくれる方法がありました。minicom 等を使って、usb modem に接続し、「AT%USBMODEM=0」と入れると、最初から modem と認識するようになります。USB 機器の ProductID の付け替え等も必要なくなるので、設定が楽です。しかも、デバイス名も、/dev/ttyUSB* となり、他のモデムと同じデバイス名にしておきたい場合には好都合です。

USB Modem の接続が上手く行かない場合には、試してみる価値ありです。
posted by 開発G at 22:21| Comment(0) | TrackBack(0) | Programming

2014年10月01日

ASP.NET の modernizer.js でできること

ASP.NET を使っていて、site.master ファイル内に modernizer というのがあり、気になっていました。
HTML5 でのブラウザ間での互換性を調べたり、HTML5 の機能を使う場合に使えそうな JavaScript のクラスが入っているようです。

色々なクラスがあるので、ロードする順番が気になるけど、Modernizer , JQuery, Bootstrap は、それぞれ独立なので、どの順にロードして問題ないようです。

詳しくは、以下にドキュメントがあるので、参照のこと。

modernizer サイト

なお、modernizer は、使わない場合にはコメントにしておいても問題ないと思います。
HTML5 をサポートしているブラウザかどうか判定するなど、使っている機能だけを選択して、ファイルを小さくすることも可能で、その場合は、本家のトップページにある、ビルダが使えます。

modernizer.png
posted by 開発G at 20:19| Comment(0) | TrackBack(0) | Programming

2014年08月25日

開発中に IE もなかなかよいと思ったこと

ブラウザの覇権争いが激化していますが、対応デバイス、速度、機能などを考えると Chrome が優勢だと思います。とにかく、インターネットの表示面をすべてカバーしてしまおうという戦略なのでしょう。
私も開発では、Chrome を中心に使っていますが、先日、IE がいいと思ったことがありました。

それは、JavaScript のエラーを無視しない点です。

Chrome や、FireFox は、JavaScript で発生するエラーをいちいち表示しません。確かに、ユーザから見れば、細かなエラーが表示されるのはネットサーフィン中には不愉快ですし、スマホ、TVなど、インターネットの表示面をすべてカバーしてしまおうという Chrome の戦略からみたら、ユーザに不愉快なエラーメッセージを表示させたくないというのは理解できます。ただ、プログラム開発をしている側からみると、エラーが表示されないと、細かな問題が見つかっていない状態で、アプリ公開してしまうことになります。

IEだと、細かなエラーでもエラーと表示するので、開発者にとっては非常に重宝します。考えてみれば、ソフト販売を収益源にしてきたマイクロソフト社と、広告収入を収益源にしているグーグル社では、開発側の立場と、利用者側の立場の違いがあり、こうしたところもツール開発の考え方が違ってくるのでしょうね。

開発途中は Chorme を使っていても、テスト段階ではIEを使うことによって、JavaScript 関連のバグが見つけやすくなります。
posted by 開発G at 08:18| Comment(0) | TrackBack(0) | Programming

2014年08月03日

複数の SVG レイヤや、複数の SVG オブジェクトの描画順序は要注意

SVG オブジェクトをマウスで選択してイベントを拾う場合は、基本的に大きなものから先に描画しないと、隠れた SVG オブジェクトのクリックイベントを拾えなくなってしまいます。

特に、円(Circle)や長方形 (Rectangle) など、中が空いている大きな SVG オブジェクトを後から描画したりすると、中に描画したアイコンなどをピックできなくなってしまいます。

さらに、SVG レイヤを複数使う場合、IE と Chrome では若干動作が違いました。
IE は複数の SVG レイヤを重ねて表示しても後ろの SVG レイヤに描画したものもクリックイベントを拾うことができますが、Chrome では SVG レイヤそのものが後ろの SVG レイヤを覆ってしまう仕組みになっているため、SVG レイヤを重ねた時点で、たとえ手前の SVG レイヤに何も描画していなくても、後ろのレイヤに描画したオブジェクトのクリック・イベントは拾えなくなります。
posted by 開発G at 12:47| Comment(0) | TrackBack(0) | Programming