WEBデベロッパの祭典

2009年2月8日

パソナテックの10周年イベント(?)『WEBデベロッパの祭典』ってのに参加してきました。
ひと通りのセッションに参加申し込みしてたんだけど、諸事情で参加できたのは最後の2つ「ActionScriptとJavaでひろがる!WEBアプリケーションの世界」と「パネルディスカッション」。
パソナのイベントは初めてだったので、一応スーツで参加したんですが、周りは割と普段着っていうか、ザ・プログラマ的な方が多かった気がします(w

で、「ActionScriptとJavaでひろがる!」の方ですが、内容は現在Javaデベロッパへ向けてASのススメ的な。
文法の違いとか、BlazeDSとか。
特に目新しい情報はなく残念。
最後の方でライブラリを活用するべきという話になったときSpark! Projectが一番に取り上げられてて、なんとなく嬉しかった。(未だコミットしてないですけどw

意外と考えさせられたのがパネルディスカッション。
パネラーの方々は実はひとりも名前を聞いたことがなかったのですが、どうやらRubyの中の人とか(だったのかな?)みたいでした。
全体的にはプログラマライフエンジョイしてますか?な内容だっただけど、コミュニティとか勉強会論的な部分

  • 言語や技術が流行る流行らないがコミュニティを獲得できるかどうかにかかってきている
  • 2008年は勉強会やコミュニティがブレイクした年
  • 地方コミュニティで名前が知られるようになったアルファな開発者が、名前を知られるようになったことで東京に吸い寄せられていくのは地方にとっていいことなのかどうか
  • ネット上のコミュニケーションの成熟をリアルに持ち出す

など、刺さる発言がいくつかあって、以下のようなことが言えるのかな?と考えてみたり。。。

  • そういえばデザイン系、製造系、管理系とか、Dev系以外の勉強会ってあまり聞かない
  • 他分野で仕事してる(仕事に限らないんだけど)人に比べてコミュニティ参加する機会がDev系は多い
  • なにか盛り上げたいものがあれば、小さくてもいいからパブリックでオープンなコミュニティを作っちゃって、外の人をどんどん巻き込んでしまえばいいんじゃないか
  • 勉強会はどんどんライブストリーミングすべき

まだ参加してないコミュニティでいくつか気になってるものもあるので、今年は昨年以上に参加していこうと思った。

日本は世界的に見ても、JavaScriptの盛り上がりが異常らしい(いい意味で)。
へぇ。

加えて、インフラ系の話もチラっとありました。
クラウドコンピューティング、やっぱりやっぱり、もう数年で当たり前になるなーって気がします。
自分の会社も、IDCにサーバ数十台置いてあって、サービスによってセグメント切り分けてるのですが、日によって負荷があったりなかったりが極端だったり、セグメントが足りなくて、うまいことやりくりしないといけないって状況になってきているので、全部まとめてクラウド化しちゃえばよさそうだなっては思っていて。
簡単にクラウド環境が導入できるようになるとぐっと需要は増えるのではないかな?
あとは標準化も必要?
今から勉強しとかないとヤバいかも〜。

Adobe MAX Japan 2009

2009年1月31日

前回と同じ会場かと思い込んで向かったら、トイメンのホテルでちょっと焦りましたw
後日、簡単にレポートをまとめようと思います。が、どっかでWikiみたいな感じで各セッションのレポートとまとめて、誰でも編集できる状態にするのがいい気がしますね。
時間があったら、MAX以外でも使えるような形でサービス立ち上げたいんですが、ちょっと厳しいoπ

直前で参加セッションをいくつか変更したので、結局参加したセッションは以下の感じになりました。
やっぱり全部見たかったし、情報共有したいです。
AdobeTVあたりで配信されませんかね?全セッション録画されてたと思うんですが。
個人で撮影した動画も何本かあるんですが、公開可能かどうか判断できないので、保留しておきます。

<1/29(木)>
10:00~11:30
S-1 基調講演
11:40~12:40
L-3 {AIR+LC}によるエンタープライズ{UX+RIA}ことはじめ
13:00~14:00
C-1 クリエイティブ・インスピレーション – New Works[FITC session]
14:20~15:20
E-2 FlashPlayer10の新テキストエンジン”Text Layout Framework”フル活用Tips
15:50~16:50
B-3 AIR最適化テクニック:コード処理・メモリ・レンダリングを知る!
17:10~18:10
C-4 Beyond the Knowledge ~ 想像力が世界を変える [FITC session]
18:40~20:40
S-2 スペシャルイベント:Technology Sneak Peek

<1/30(金)>
10:00~11:30
S-1 基調講演
11:40~12:40
L-6 Flex+ColdFusionを活用した情報共有アプリケーションの開発実例
13:00~14:00
A-5 映像とプログラミング
14:20~15:20
D-6 Flashと外部デバイスを使ってアレを作りました。
15:50~16:50
B-7 ActionScript 3.0におけるパフォーマンス向上のヒント
17:10~18:10
E-8 AIRとFeliCaによる新しいサービスアプリーケーション開発
18:40~20:40
S-4 スペシャルイベント:EDGE Now! Of the Year

Sessions

2009年1月29日

明日はいよいよAdobe MAX Japan 2009ですね。
参加予定のセッションはこんな感じです。

<1/29(木)>
10:00~11:30
S-1 基調講演
11:40~12:40
L-3 {AIR+LC}によるエンタープライズ{UX+RIA}ことはじめ
13:00~14:00
C-1 クリエイティブ・インスピレーション – New Works[FITC session]
14:20~15:20
C-2 Adobe made some noise! – Flashのサウンド最新情報[FITC session]
15:50~16:50
B-3 AIR最適化テクニック:コード処理・メモリ・レンダリングを知る!
17:10~18:10
C-4 Beyond the Knowledge ~ 想像力が世界を変える [FITC session]
18:40~20:40
S-2 スペシャルイベント:Technology Sneak Peek

<1/30(金)>
10:00~11:30
S-1 基調講演
11:40~12:40
L-6 Flex+ColdFusionを活用した情報共有アプリケーションの開発実例
13:00~14:00
A-5 映像とプログラミング
14:20~15:20
D-6 Flashと外部デバイスを使ってアレを作りました。
15:50~16:50
B-7 ActionScript 3.0におけるパフォーマンス向上のヒント
17:10~18:10
D-8 コミッタ全員集合!? Spark project ライトニングトークセッション
18:40~20:40
S-4 スペシャルイベント:EDGE Now! Of the Year

MacBook持って行こうかと思ってるんですが、バッテリーが心配。
前回はそこら辺にタップがさりげなく置かれていて、なんとなくみんな、そこから給電してたと思うんだけど、あれって使ってよかったのかな?
場所によっては無線LANが飛んでた気がするんだけど、イーモバイルを一応持って行こうと思う。

addCommand内での参照

2009年1月24日

ProgressionのaddCommand内で、下記コードのように、AddChildする_mcのnewを同じaddCommand内のFuncコマンドで行うと、AddChildコマンド実行時の_mcがnullとなりエラーになってしまう。

  1. private var _mc:MovieClip;
  2.  
  3. private function _init():void
  4. {
  5.     _mc = new MovieClip();
  6. }
  7.  
  8. protected override function _onCastAdded():void
  9. {
  10.     addCommand
  11.     (
  12.         new Func( _init ),
  13.         new AddChild( this, _mc )
  14.     );
  15. }

タイミング的な問題なのか、スコープの問題なのか、いろいろ条件を変えて試してみたけど上手くいかずハマっていたので、Twitterで聞いてみたところ、『addCommand内の参照は、addCommandする時点の参照になる』と教えてもらうことができた。
なるほど。
addCommandした時点にnullなので、addCommand内のFuncコマンド内でnewしても、nullだった頃の_mcが参照されているということの模様。
タイムマシン的。

次のように書き換えて解決。
_onCastAdded時に_initメソッドでインスタンス化、_onCastRemoved時に(例えば)_finalメソッドで明示的にnullにしてメモリリークしないように気をつけようと思ったので、初期化処理から配置まで一連の流れをひとつのaddCommandに書けたらスッキリするのになぁと思いつつなのだけど。

  1. private var _mc:MovieClip;
  2.  
  3. private function _init():void
  4. {
  5.     _mc = new MovieClip();
  6. }
  7.  
  8. protected override function _onCastAdded():void
  9. {
  10.     _init();
  11.     addCommand( new AddChild( this, _mc ) );
  12. }

ところで、解決方法を模索しているとき、Commandクラスにscopeというプロパティを見つけた。
ASDocではtimeOutのコメントがコピペされていたw
ソースを辿っていくと、Functionクラスのapplyメソッド第一引数に渡されているので、コマンドを別オブジェクトで実行できそう?
コマンド伝播ができない場合に有効だったりしないかな??
時間があるときに検証してみたいと思う。

PC Tools Firewall Plus 5

2009年1月22日

自宅PCのPC Tools Firewall Plusを4→5にアップデートしてから怪奇現象が!
TVチューナーとか、特定アプリケーションを起動するとOSが固まったまま完全黙秘。(電源落とすしかなくなる)
ファイアウォールを無効にすると問題なく起動できるので、PC Tools Firewall Plusの不具合かなんかだろうと思って、アンインストールも考えたんだけど、使い勝手もよくて気に入ってたソフトなので、ローカルに保存してあったバージョン3のインストーラを使ってバージョンを戻した。(オフィシャルサイトからはアーカイブダウンロードできなかったので)
MacBookのBootCamp XPにもインストールしてあったので、そちらもバージョン3にしようと思ったら、システムファイルが見つからない的なエラーが出てインストールができなかったので、MacBookの方はただアンインストールして、Windowsでフォルトのファイアウォールを使うことにした。

それが1週間前の話だったのが、『バージョン4以降は、設定→フィルタリングで、強化された安全確認を有効にするをオフ』にしないと落ちるという情報をネットで見つけた。(というか2ちゃんのPC Tools Firewall Plusスレのテンプレw 2ちゃんねるとハサミは使いようですね)
試してみたら、ファイアウォールを有効にした状態で問題なくアプリケーションを起動できるようになった。
強化された安全確認を有効にするをオフにしなくても、事前にアプリケーションを許可設定しておけばいいらしいが、少なくとも初回起動の1回はシステムが落ちることになるか、使うアプリケーションを全て手動設定しておかなければいけないので、これはパス。

ふと、MacBookのBootCamp上XPでの数々の不具合が頭をよぎったので、強化された安全確認を有効にするをオフにした状態で再現するかチェックしてみた。
ら、どれも問題なく動いた。

例えば
・Flashで全画面表示させるようなものが落ちる
・QuickTimeを起動しただけで落ちる
とかとか。

なんだ、これのせいだったのか…。
BootCampはまだまだ不安定なんだろうなとか、ファイルシステムをNTFSにしたせいかな??と思ってたorz
デフォルト設定でインストールしてこれだけ落ちまくるソフトもちょっと…って気もするけど、この「強化された安全確認」が必要なくらいセキュリティが問題になってるってことなんだろうなと思って、プチ怒りを沈めることにします。。。