9月
03

HTMLとJavaScriptベースのAIRアプリやflash(swf)からJavaScriptを呼び出す方法は、いろいろと紹介されています。

例えば、、、

ActionScript 3.0 から JavaScript を呼び出すって話。 (InnerChild triumphs!!)
ExternalInterfaceクラスを利用すればいいみたいです。

ですが、Flash Builder(4.0よりFlex Builderから名称が変わりました)で作成した、MXMLとasファイルから構成されているようなAIRアプリから、JavaScriptを実行する方法はあまり見かけたことがありませんでした。

そこで、こんな方法を思いつきましたので、ご紹介したいと思います。

HTMLLoderクラスを使います。

こんな感じです。

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
					   xmlns:s="library://ns.adobe.com/flex/spark"
					   xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init()" width="300" height="300">
	<fx:Declarations>
		<!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 -->
	</fx:Declarations>
	<s:Button x="115" y="138" label="Call" id="btnCall" click="onCallClick()"/>
	<fx:Script>
		<![CDATA[
			private function onCallClick():void {
				var script:HTMLLoader = new HTMLLoader();
				var strScript:String = "<script type='text/javascript'>alert('from AIR');</script>";

				script.loadString(strScript);
			}
		]]>
	</fx:Script>
</s:WindowedApplication>

ボタンが1つだけある画面で、そのボタンをクリックするとスクリプトをロードするので、結果JavaScriptが実行されます。

callee

かなり強引ですが、できました。。。
ほかに良い方法をご存知の方、いらっしゃいましたら、教えてほしいです!

9月
01

7月末頃に、Adobe – Adobe AIR Contest 2010が開催されることをtwitterで知りました。

応募資格は、2010年8月31日までにAdobe AIR Galleryに作品を申請する。

ということで、なにか作って応募したいと思っていたのですが、ちょうどそのころ、gTranslatorのリリースに向けて、追い込みをかけていたところだったので、あまり余裕がありませんでした。

が、既存の作品でも応募可能ということなので、TranslatAIRを応募してみようと思いました。

ただ、既存のアプリケーションを応募するだけでは面白みがないので、AIR 2.0もリリースされたことですし、AIR 2.0の新機能を使った何かを実装したいと思っていました。

gTranslatorでは、当時、TranslatAIRにはなかった音声認識、TextToSpeechの機能を実装したので、逆に、デスクトップアプリにも同じような機能があっても面白いのではないかと思い、この機能を実装できたら応募しよう!と。

そういえば、Adobe AIR Dayにいってきました!で、AIR 2.0のセミナーに参加したときに、音声認識エンジンを使っていたデモがありました。

Voice Launcher – マイク音声によってアプリケーションを起動する音声認識型 アプリケーション起動ソフト | デベロッパーセンター
こちらを参考にさせていただきました。

こちらでは、大語彙連続音声認識エンジン Juliusという音声認識エンジンを使っていますが、今回、私は、Windowsの音声認識エンジンを利用することにしました(質はJuliusの方がいいと思います)。

なぜかというと、JuliusはJavaベースなのでJREが必要になるのと、パッケージングするものを極力少なくし、必要最低限のインストールのみで利用できる状況を作りたかった、という思いがあったからです(決め手は、オリジナリティを取り入れたいという、エンジニアとしての意地でしょうか?)。

それと、Windowsの音声認識エンジンは、Windowsスクリプティングホストから操作できるようなので、比較的容易に実装できそうだったのと、Windows7、Windows Vistaには、音声認識エンジンがデフォルトでインストールされているが選考のポイントでした。

また、音声認識エンジンを操作するスクリプトを組んで、NativeProcessでコールすれば、AIR 2.0的な要素も含まれる!と。

MacのAppleScriptは未経験なもので、今回は見送りました。いずれ、機会があれば実装してみたいと思います。

一番苦労したのは、、、
音声認識エンジンを操作するスクリプトの部分でした(まだまだ、改善の余地あり・・・)。

それと、今回、Flex SDK 4.1を使用したのですが、Flex SDK 3系からの移行で、はまったところがあります。デフォルトのテーマの違いについてです。

テーマをSpark(Flex 4のデフォルト)に変更すると、影響が大きいので、テーマは変更したくありませんでした。

Flex 3とFlex 4との違い | デベロッパーセンター
の後半の「テーマの変更」というところに、やり方がありました。

実行してみると、、、

あれ?

翻訳画面の言語選択するComboBoxに、リストが表示されていないぞ。

nolist

あれあれ?

TitleWindowを使った、メッセージが表示されない。。。

nomessage

これは困りました。

いろいろ調べていると、同じような問題を抱えていた方がいらっしゃいました。
Adobe Forums: ComboBox (Halo) does not showing all…

ですが、解決していないようです。

半分あきらめかけたころ、最初にビルドしたときに、警告が出ていたのを思い出しました。もしや、それをはずしたのが原因か?試しに、一からやりなおすか。

ということで試してみると、Flex 3 compatibility mode(Flex 3互換性モード)の使用が関係していそうだということがわかりました。

プロパティでこれを選択していると、なぜだか、ComboBoxやTitleWindowの表示がおかしくなってしまうのです。

Flex 3互換性モードについて調べていると、原因を発見することができました。

Flash Builder 4でFlex 3互換モードを使うとポップアップが鏡像反転 – Brezzaの日記

スタイルを定義しなおせばいいんですね。

確かに鏡像反転の状態です。鏡像反転するのはComboBoxやTitleWindowだけではないかもしれませんね。このキーワードを思いつけば、解決も早かったかもしれません。

鏡像反転していたComboBoxは、

combobox

なおりました!

TitleWindowは

message

なおりました!!

一からやり直したことで、解決の糸口が見つけられました。時には、スタートラインに戻ってみることも大事ですね。

是非、試してみてください!

TranslatAIR

今回のバージョンは1.0.4になります。AIR 2.0のランタイムが必要となりますので、

error_native

error_update

のようなエラー画面が出る場合には、大変お手数ですが、アンインストールしてから、再度インストールしていただけますよう、お願いいたします。

8月
30

Windows 7でthumbs.dbを作成しないように設定する方法のメモです。

ローカルグループポリシーエディター(gpedit.msc)を開いて、以下の2項目を設定します。
※プログラムとファイルの検索に、「gpedit.msc」と入力すると実行できます。

・「非表示の thumbs.db ファイルで縮小表示のキャッシュを無効にする」を有効にする
・「縮小表示の画像のキャッシュをオフにする」を有効にする

同じような項目が2個ありますが、最初のは、ネットワーク フォルダーに対する設定です。
VistaのSP1以降、ネットワークフォルダーにthumbs.dbができるのを回避できるようです。

※従来のレジストリの設定を変更する方法でも対応できるようなのですが、上記設定と差異が出てしまうようなので画面から変更することをお勧めします。

ちなみに、このファイルですが、画像のサムネイルが保存されている隠しファイルです。
隠しファイルなので、間違えてリリース用のファイルやサーバなどに紛れてしまわないように注意が必要です。
「注意する」というのは、なかなか難しいと思うので、上記設定で作成しないようにするのが一番いいと思います。

なお、上記設定を行っても既に存在するファイルは削除されません。
del /ah /s Thumbs.db
などで、すべて削除するといいと思います。

プロのWEB制作会社の方の納品物にも含まれていることが多く、とくにコピーしても問題がないという意識の人をたまに見かけますが、縮小画像とはいえ、フォルダに含まれる画像が保存されているファイルですので取扱には注意が必要です。(Thumbs.dbの内容を閲覧できるソフトも市販されています。)

ちなみに、違法画像を削除したつもりが、Thumbs.dbに残っていたため逮捕された事例が海外であるようです。
FBI posts fake hyperlinks to snare child porn suspects | Politics and Law – CNET News

上記の事件のように違法画像ではなくても、修正前の画像や、削除する前の画像がThumbs.dbに含まれている場合などがあり、そこから情報漏えいなどにつながるかもしれません。

今からでも遅くないので、サーバーのファイルをチェックしてみてはどうでしょうか!

8月
25

以前からクラウドコンピューティングがIT業界の中で注目されています。
最近はさまざまな企業が同様のサービスを提供しており、たくさんの企業が提供しているなら競合して料金も安くなるはず、、、自分が展開しているWebサイト「zipnavi」もそろそろクラウドに移行しようか?
zipnaviの場合、年賀状シーズンなどハガキを書く需要が多い時期に、アクセス数が増加する傾向が分かっています。
そこで、時期に応じてサーバのスペックを変えられるようなクラウドサービスが無いかを調べてみました。
※最低でも月単位に契約形態が変えられるようなサービスが必要と考えました。

そんな事を考えて、今どきのクラウドサービス「Iaas型」の料金形態、サービス内容を調べてみました。
※Iaas型の詳細については、クラウドコンピューティング – Wikipediaを参照して下さい。

なお、下記の調査結果は2010/8/15時点のものです。

Amazon Elastic Compute Cloud (Amazon EC2)
・初期費用:0円

月額料金(※1)
7,334円
176,256 円

※1:US Eastの月額ノード単価(85円/$、30日/月で計算)
【個人的な感想】メンバーのもじゃもじゃさんも過去に記事を書いており、その影響で自分自身のなかでは最もメジャーなサービスです。
細かなプランがあるようで、ぱっと見た感じは解りませんでした。とりあえず今回は料金だけ書きました。
1時間単位に課金される仕組みの為、時間限定(昼だけ営業みたいなサービスを提供するような場合にはコスト減になると思いました。
あと初期費用0円がスゴイ!クラウドを体験してみたいっていう人は、まずこちらのサービスを利用するのがいいですね。
EC2に関する詳細な記事はAmazon EC2 : flashcast : フリーで働くITエンジニア集団のブログで確認できます。


クラウドならニフティのパブリック型クラウドコンピューティングサービス
・初期費用:0円

月額料金 CPU メモリ ディスク容量
7,875円 1GHz 512MB 30GB
91,927.5円 4vCPU(3GHz) 16GB 30GB

詳細はクラウド料金プラン | クラウドならニフティのパブリック型クラウドサービスで確認できます。
【個人的な感想】時間単位での課金や、月額料金などAmazon EC2とかなり似ています。ただし説明が日本語で書いてあり、しかも解り易いので、「Amazon EC2とどちらにするか?」と言われたら、自分は「ニフティクラウド」を選ぶと思います。


アイル「True CLOUD」CDN対応IaaS型パブリッククラウド
・初期費用:21,000円

月額料金 CPU メモリ ディスク容量 データ転送量
2,940円 0.6GHz 375MB 10GB 250GB
40,425円 10.8GHz 6750MB 180GB 4500GB

詳細はプラン詳細 – アイル「True CLOUD」CDN対応IaaS型パブリッククラウドで確認できます。
【個人的な感想】
各料金に対するスペックが一覧で見れるので、素人でも解りやすいプランだと思いました。
しかも最小スペックの料金が安い。
時期によってサーバの負荷が極端に変わる様なWebサービスを展開している場合は、無駄なコストが削減できていいと思いました。
例えば、夏季はアクセス数が伸びるけど、冬季はアクセス数がほとんど無い様なサービスであれば、冬季は最小スペックで運用する事が出来ます。
ただし、データ転送量の規定があるのが難点。大容量のデータをやりとるする様なWebサービスには向いてないと思いました。



クラウドホスティングはファーストサーバ|仮想専用サーバ(複数台構成サーバ)
・初期費用:52,500円

月額料金 CPU メモリ ディスク容量
26,565円 2.00GHz(※2) 1GB 40GB
148,365円 8.00GHz(※2) 16GB 200GB

詳細はプラン料金・仕様|クラウドホスティングはファーストサーバ|仮想専用サーバ(複数台構成サーバ)で確認できます。
※2:ベンチマークでは、CPUがIntel Xeon(2.00GHz)の2倍の性能が出た、記載されていました。

【個人的な感想】
アイルに比べて月額料金が高いイメージがあります。
ただデータ転送量の記載が無かったので、仮に無制限だとしたらデータ転送量が多いサービスを提供している場合は、ファーストサーバを利用した方が良いと思いました。



専用サーバーはスカイアーチネットワークス

初期費用 月額料金 CPU数 メモリ ディスク容量
96,600円 44,100円 0.5(※3) 512MB 30GB
315,000円 103,950円 4(※3) 8GB 1,000GB

詳細は料金表 | フルマネージド・ホスティングで確認できます。
※3:CPUは「クアッドコアXeon」と書かれていましたが、詳しいスペックは公表されていませんでした。
【個人的な感想】
初期費用も月額料金も高い。その代わりカスタマイズ度は他のクラウドサービスに比べて高いです。
初期費用が高い理由も分かります。※下記HPより抜粋

アプリケーションやディレクトリ構成、ディスク容量の割り当て等に至るまで、お客様のご要望に応じてサーバーの設定を行います。

複雑なアプリケーション構成を組んでいるシステムであれば、こちらのサービスがお薦めなのかもしれません。



とりあえず5社ほど調べてみましたが、各社さまざまなサービス形態があり、一概にこれがお薦めと言えるものは無く、利用用途に応じて選ぶのがよいと思いました。
あと、共有レンタルサーバに比べると値段はまだまだ割高な感じがしました。
しかしサーバ移転せずとも、簡単にサーバスペックの変更が出来るという点がクラウドの魅力の一つなので、これに付加価値を見出せる人ならお薦めなのかも知れません。

結局今回調べた限りでは、自分にとってクラウドコンピューティングはまだまだ敷居の高いサービスだと感じました。
今後は値段的にも共有サーバに代わる、クラウドサービスが出てきてくれる事を望みます。

8月
17

そろそろやめにしたいのですが、いまだにニーズがあるのがホームページの古いブラウザ対応です。

最近はNetscape対応なし、FireFoxは最新のみでOKの場合が多いですが、IEに関しては6以降を希望されることが多いです。
IE7は正直バグも少ないため、気にしなくていいレベルなのですが、IE6は「別のブラウザ?」ってくらい差異が大きいです。
そのため、古いブラウザ対応にたいしては、IE6がネックになると思います。

と、いうわけでいまさらですがWindows7にIE6の確認環境を入れたのでついでにメモしておきます。

ちなみに作戦ですが、各ブラウザの差異の確認は、専用ソフトで行います。
そのあとおかしかった場合は修正するのですが、その時にIE6でいろいろ試せるように環境を作ります。

まずは、Windows XP Modeのインストールをします。
インストールの順番は「XP Mode」→「Virtual PC」→「アップデート」となります。
マイクロソフトのサイトから、ダウンロードしてインストールします。
Windows XP Mode のダウンロード

すべてのインストールが終わったら、実際に起動します。
まずは、Windows XP Modeを起動します。
xpmode01
※初回は設定があるので起動まで結構時間がかかります。
※Windows XP Modeアプリケーションのフォルダは最初は表示されません。

Windows XP Modeが起動するので、
C:\Documents and Settings\All Users\スタート メニュー\プログラム
に、InternetExplorerのショートカットを作成します。
※これにより、Windows7の「Windows XP Mode アプリケーション」にIE6が追加されます。

ついでに、IE6を拡張します。
Download details: Internet Explorer Developer Toolbar
上記URLから、Windows XP Mode上のIE6でダウンロードしてインストールをします。
これで、Windows XP Modeに、ソフトがインストールされます。

終わったら、Windows XP Modeのウィンドウを閉じます。
仮想PCが休止状態になります。

ここまでの作業を行うと、「Windows XP Mode アプリケーション」のフォルダに、「Internet Explorer (Windows XP Mode)」というアイコンが追加されます。
このアイコンをクリックすることで、IE6をWindows7上で使うことができます。

注意事項としては、ローカルのファイルを開くとき(例:c:\index.html)は工夫しないとうまくいきません。
なぜなら、IE6は仮想PC上で動作しているからです。IE6のCドライブは、Windows XP ModeのCドライブになります。

これで仮想環境は用意できましたが、いちいちホームページを比較するたびにIE6を立ち上げるのは面倒なので、確認用のソフトを入れましょう。

Download details: Expression Web SuperPreview for Internet Explorer
これで、IE6、IE7、IE8の動作確認ができるようになりました。

また、ソフトではないですがWebサービスで同様のものもありますので、参考のためリンクしておきます。
Adobe® BrowserLab

こういったソフトを組み合わせて、効率よく作業したいですね!

  • Search:
  • flashcastとは?

    東京を中心に、現在フリーランスとして活動しているITエンジニア、および、かつてフリーランスとして活動していた起業家達が立ち上げたコミュニティーです。

    みんなで集まって面白いことをやろう!形に残そう!ということで、ブログをはじめました。

    技術情報や、フリーエンジニアに役立つ情報などを、ご紹介できたらと思っています。

    お問い合わせ:
    info@flashcast.jp
  • カレンダー

    2010年9月
    日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
    « 8月    
     1234
    567891011
    12131415161718
    19202122232425
    2627282930  
  • メンバー紹介

    もじゃもじゃ
    flashcastのリーダー

    3年ほどフリーのITエンジニアとして活動。現在は、社員2名の株式会社を経営しています。

    一攫千金を夢見る野心家です。

    ライブキャスト

    yasu
    ダイバー

    自宅サーバーでホームページを作り始めました。

    少しずつ記事を増やしていきますので足を運んでください。

    よろしくお願いします。

    sa-sa-ki.jp

    のら
    たびびと

    ねこ好きに悪人はいなーいっ!!

    バイクや車も好きです。

    めぐ
    デザイナーのたまご

    音楽とデザインとお酒をこよなく愛する永遠のダイエッター。

    現在ペンタブレットでイラストを勉強中。

    Hiro
    コンサル

    PMやSEの案件を業務委託で請けることが多いですが、小規模案件も受託でやっています。

    得意な分野はマイクロソフト製品や関連技術によるシステム構築です。

    KEI
    取締役の風格

    最年少なのに、メンバーで1番の貫禄の持ち主!?

    C#や.netなどサーバ側の開発が得意。

    ろっきー
    美食家★パパ

    自分にとっての息抜きは、ドライブして温泉に入って、美味しいご飯を食べる事。

    ココロとカラダのリフレッシュを大切にし、日々の仕事に励む一児の父親です。

    郵便番号検索

    my-hobby

    とのさま
    げーむのおうさま

    大人なのに好きなことしかやらない駄目人間。

    Web系が得意、アクセスは苦手><

    tonosamart.com

    セクレタリアト
    ギャンブラー

    フリーランス時代は仲間の現場を探すことが多く、それをきっかけに会社を設立。

    現在はSI業に特化せず、他の業種にも興味を持ち始めています。

    メドレー株式会社

  • 広告