2008/08/25

SWFの3276px問題 - 65535twips問題

ベクター形式(SWF)で出力していた画像をFlexアプリケーションでロードした際に、以下に記す問題に遭遇しました。
簡単にブラウザクラッシャーが作れてしまいます。
・・・まず、こんな大きいサイズの画像を出力しようって人は少ないでしょうね。
SVGじゃなくてSWFですし。

[問題]
幅、高さが3276ピクセル以上の画像をSWF出力し、ロードするとFlash Playerがフリーズするか落ちる。

[原因]
SWF出力対象の幅、高さが3276ピクセル以上になってはいけない。
SWFの読み書きでは、unsigned shortで値を扱っている部分があるため、3276ピクセル(65535twips)を超えると桁あふれしてしまう。

2の16乗 = 65536(twips) = 3276.8(px) * 20

[対処]
SWF出力前に画像を3276ピクセル以下に縮小して出力するようにした。

[補足]
・Flash MXではムービーの新規作成時の幅、高さの上限を2880ピクセル
としているため、壊れたSWFファイルを出力することができない。
・Flashでは扱えるビットマップの幅、高さの上限は2880ピクセルである。
・Adobe Illustratorで幅、高さ3276ピクセル以上の画像を作成し、SWFで書き出すと問題を簡単に再現できる。

2008/08/19

RemoteObjectサービスの負荷テスト - BlazeDS

JMeter 2.3.2からAMFのキャプチャが出来るようになりました。

JMeter - Changes
http://jakarta.apache.org/jmeter/changes.html
Improvements
The Proxy server can now record binary requests. By default the content types application/x-amf and application/x-java-serialized-object will be treated as binary and saved in a file. To change the content types, update the property proxy.binary.types .

これでJava + Tomcat + Seasar2 +S2BlazeDS環境のRemoteObjectサービスについて負荷テストができます。
試したところ結構やりづらいですけど・・・。

Flex Builder 3.0.1リリース

Flex Builder 3.0.1がリリースされてました。
ヘルプメニューの「Flex Builderの更新を検索」からアップデートできます。

↓下記の問題が解決して、Eclipse 3.4(Ganymede)でも使えるようになるっぽい。

Flex Builder 3.x plugin don't work with Eclipse 3.4 final build
https://bugs.adobe.com/jira/browse/FB-13155

2008/08/07

Adobe MAX Japan 2009は2009/01/29-30

アドビ、第2回目となる「Adobe MAX Japan 2009」を2009年1月に開催
http://journal.mycom.co.jp/news/2008/08/07/037/index.html

やっと開催日が公開されました。
これは行かないと!

1回目も行ったし、早いうちに根回しして行くべしですね。
サイトオープンは9日13時らしい。

Adobe MAX Japan 2009
http://www.adobe.com/jp/events/max2009/

BlazeDSにJava AMFクライアントですって

BlazeDS 3.1.0.2602のflex-messaging-core.jarライブラリにJava AMFクライアント機能が追加されたらしいです。

JavaクライアントからはAMFConnectionを作って、これに対してcallメソッドを呼ぶという使い方です。
コネクションのURLにhttps(SSL)を指定して、amfsecureでも行けるんだろか。

Java AMF Client仕様
http://opensource.adobe.com/wiki/display/blazeds/Java+AMF+Client

New Java AMF Client feature in BlazeDS - 情報元
http://tjordahl.blogspot.com/2008/08/new-java-amf-client-feature-in-blazeds.html

Migrate4j - RailsのMigrationをJavaで

Migrate4j
http://migrate4j.sourceforge.net/

DBのデータを、組み込むプロダクトのバージョンに合わせて移行する方法を検討する、という状況になったので、イイやり方やツールを調べてみたところ、RailsのMigration、Gearshift(GearsのSQLite用)、Migrate4jなどが見つかりました。

Migrate4jはプロダクトの特性に合っているため、これに的を絞って調査開始です。
Migrate4jはRailsのMigrationをJavaでも実現しようというツールであり、Rubyスクリプトではなく、Javaプログラムでデータベースのスキーマ定義のバージョン管理をします。

ちなみにバージョンは0.04とまだまだ若いようです。
ライセンスはGPLになっています。

DBのサーポート状況
http://migrate4j.sourceforge.net/status.html

ステータスを見るとH2とMySqlがイイ感じでPASSしてました。
ソースコードやテストコードを覗いたところ興味が湧いてきたので、もうちょっと深く調査を続行しようと思います。

2008/08/06

CairngormがAdobe labsからAdobe Open Sourceに移動したって

Cairngorm Moved to Adobe Open Source - 情報元
http://weblogs.macromedia.com/amcleod/archives/2008/08/cairngorm_moved.html


Cairngorm - Adobe Open Source
http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm

Best of Open Source Software Awards 2008

Best of Open Source Software Awards 2008
http://www.infoworld.com/article/08/08/04/32TC-bossies-2008_1.html - 情報ソース

オープンソースソフトウェアアワード2008をFlex SDKが受賞していたので受賞リストを載せてみました。
カテゴリ別に分かれています。

Collaboration
  • Elgg - Social networking
  • MediaWiki - Wiki
  • Scalix - Mail and calendar
  • VNC(TightVNC, UltraVNC) - Remote control
  • WordPress - Blog publishing

Developer tools
  • db4o - Object database
  • Git - Version control
  • HttpClient - Web client library
  • Intel Threaded Building Blocks (TBB) - Parallel programming
  • JBoss Drools - Business rule management system
  • Flex SDK - Rich Internet applications
  • Prototype - JavaScript framework
  • soapUI - Web services test tool

Enterprise applications
  • Alfresco Community - Content management
  • Compiere - Enterprise resource planning
  • GanttProject, Open Workbench, dotProject - Project management
  • Hyperic HQ - Application monitoring
  • Intalio BPMS - Business process management
  • Liferay Portal - Enterprise portal
  • Magento's eCommerce - E-commerce
  • Pentaho Open BI Suite - Business intelligence
  • SugarCRM - Customer relationship management
  • JasperReports - Reporting

Networking
  • Asterisk - IP telephony
  • AWStats - Log file analyzer
  • inSSIDer - Wi-Fi network scanner
  • Nagios - Server monitoring
  • NDISwrapper - Wireless network interface
  • Vyatta - Router, firewall, and VPN
  • Wireshark - VoIP monitoring
  • Zenoss Core - Network monitoring

Platforms and middleware
  • CentOS - Server operating system
  • JBossESB - Enterprise service bus
  • MySQL - Database
  • phpMyAdmin - MySQL administration
  • Puppy Linux - Small-footprint OS
  • Jitterbit - Data migration
  • Ubuntu 8.04 - Desktop operating system
  • VirtualBox - Desktop virtualization
  • Xen - Server virtualization

Productivity applications
  • Audacity - Sound editing
  • Blender - 3-D modeling
  • Firefox - Web browser
  • GIMP - Image editing
  • OpenOffice.org - Productivity suite
  • PDFCreator - PDF creation

Security
  • Metasploit - Penetration toolkit
  • Ophcrack - Windows password cracker
  • SmoothWall Express - Network firewall
  • Snort, BASE(Basic Analysis and Security Engine) - Network intrusion detection
  • Splunk - Security log analysis
  • TrueCrypt - Disk encryption
  • Untangle - Gateway security

Storage software
  • Amanda - Network backup
  • FreeNAS - Storage server
  • Free Online Backup - Online backup
  • WinMerge - File management
  • smartmontools - Disk monitoring
  • StorageIM - Storage administration