※リニューアルした記事はこちらからhttp://ameblo.jp/tech-note/entry-10535993099.html

Flex SDK 3.0以降には mxmlc というコンパイラ以外に fcsh というコンパイラも含まれるようになった。以前は mxmlc が標準で fcsh は別途ダウンロードが必要であったのだ。


なお、製品である Flex Builder は fcsh の方が使われている。fcsh は一度コンパイルをすると次回以降は高速になる、というメリットがあるのだ。



EclipseからAntで呼びやすいのは mxmlc である。これにDOSバッチコマンドで起動できる。しかし、fcsh はシェルであるのでちょっと扱いが変わってくる。amxmlc.bat を参考に内容を書き換えても swf ファイルは生成されない。では、とDOSで fcsh を呼び出し、その後コマンドを発行、としてみると、swf は生成されるものの、全く速度メリットがなかった。



調べていると FCSH Wrapper というツールがあり、それだとメリットが享受できるうえ、Eclipseのプラグインとしても利用できるそうだ。



参考ページ


 http://d.hatena.ne.jp/eggtoothcroc/20081108/1226081405


 http://fcshwrapper.blogspot.com/2008/04/how-to-use-fcshwrapper.html


 http://blog.bigsource.de/index.php/2008/05/29/eclipse-fcsh-wrapper-plugin/



環境さえ揃っていれば、あとはビルド用の XML ファイルだ。上記の2つめのサイトから引用したものをカスタマイズした。


<?xml version="1.0" encoding="UTF-8"?>
<project name="changeme" default="all" basedir=".">
<property name="FLEX_HOME" value="c:/flex_sdk_3"/> <!-- SDKのパス -->
<property name="FCSHWRAPP_HOME" value="C:/fcshWrapper-bin"/> <!-- FCSH Wrapper のパス -->
<property name="src.dir" value="src" /> <!-- ソースのパス -->


<path id="mypath">
<fileset dir="${FCSHWRAPP_HOME}" includes="fcshWrapper.jar"/>
</path>


<taskdef name="fcsh" classname="ro.arhinet.fcshwrapper.ant.FcshTask">
<classpath refid="mypath"/>
</taskdef>


<target name="all">
<fcsh command="mxmlc">
<arg value="${basedir}/${src.dir}/test.mxml"/> <!-- ソースのパス -->
<arg value=" "/> <!-- 追加コンパイルオプション -->

</fcsh>
</target>
</project>



・コンパイルオプションの追加は上記の <!-- 追加コンパイルオプション --> に追加すればよい。


・使っているとコンパイルが途中で止る事象があった。この場合、常駐エリアの FCSH Wrapper を Quit してからコンパイルすれば使えた。これは他に回避策があるかもしれない。


・エラーメッセージが化けて返る。これも回避策はあるかもしれない。


<追記>


・日本語を含めるとエラーになる場合があった。mxmlファイルのエンコードを確認すると Sihft-JIS であった。UTF-8 で保存し直すと問題解決!


・mxmlのエンコードが不安定なら、xml宣言に UTF-8 を含めるとよい。


 例 <?xml version="1.0" encoding='UTF-8' ?>



Flexに詳しくない私がこんなことを試すのもおかしな話であるが、参考になれば。








※リニューアルした記事はこちらからhttp://ameblo.jp/tech-note/entry-10535993099.html

先日まで Silverlignt で遊んでいたが、
・ローカルにファイルを保存できないらしい
・対応ブラウザが少なく、私がメインで使っている Opera には対応していない
と、私にとって落とせない2点があるため、Flexも試してみようと思い立った。

期間限定のお試し版もあるが、無料でFlexのSDKを落としてきてEclipseで動かす方法を試した。

参考にしたサイト
 http://dev.chrisryu.com/2008/01/flex_on_eclipse.html
 http://libertatem.org/2008/05/adobe-air1.html

アレンジした点は
・パスを変えたこと。
・Eclipseそのものではなく、日本語パッチ済でカスタマイズされている pleiades (pleiades-all-in-one-ultimate_20081118.zip) を導入したこと。

くらいだろうか。

SilverlightはGUI環境なので、単純な比較はできないが、Flexを使っての感想は
・画面記述言語のMXMLはXAMLと似ている
・Eclipseからではエラーが分からず、swfファイルができたかどうか、でしか判断できなかった。DOSのコマンドプロンプトではエラーが表示できた。
→Eclipseでもエラーか成功かを出るように変更できる。
 SDKをインストール先の \bin フォルダにある jvm.config を書き換える。具体的には以下の通り。
 java.args の 行の最後に -Duser.language=en (もし=で終わっていたら=に続けて、他のパラメータがあればそのパラメータの末尾に半角スペースを足してから)追加すればよい。

 <追記> -Duser.language=jp でもいいようです。
参考:http://sothis.blog.so-net.ne.jp/2008-03-26

・DOSではコンパイルできても、Eclipseからはコンパイルできないことがあった。
・やはり処理はVB.netやC#で記述できた方が楽だな・。


などである。最初の壁は越えたが、まだまだ続けて追記していきたいと思う。


今後は以下の資料を参考に進めていこうと企んでいる。

 http://livedocs.adobe.com/flex/3_jp/devguide_flex3.pdf


とりあえず。

サーバーとは。

 

複数台のコンピュータをネットワークで繋いだ際、そのうちのどれかに特別な役割を持たせることがある。その特別な役割を持たせたコンピュータを「サーバー」と呼ぶ。

規模によって、いろいろな組み方がある。規模の小さいものから順に

 ・誰かのパソコンをサーバー代わりに利用するケース ・・ ただし、これを「サーバー」と呼ばないことも多い

 ・一台の専用機に、幾つかの役割をさせるケース

 ・一台の専用機に、ひとつの役割をさせるケース

 ・複数台の専用機に、ひとつの役割をさせるケース

がある。

 

例えば、3台のパソコンをネットワークで接続し、そのうちの一台にすべてのパコンのデータのバックアップを確保する、とすれば、バックアップの各穂先のパソコンを「バックアップサーバー」と呼ぶことがある。

 

サーバーの種類としては、例えば次のようなものがある。

 ・ファイルサーバー  ・・ ファイルを共有するためのもの

 ・DHCPサーバー  ・・ 各コンピュータにIPアドレスを割り振るためのもの

 ・DBサーバー  ・・ データベースマネジメントシステムをインストールし、データベースを利用するためのもの

 ・Webサーバー  ・・ インターネットサイトを公開するためのもの

また、システム開発現場でデータベースも開発したプログラムコードも動作させるための環境(Webサーバーなど)を1台のコンピュータに入れて「テストサーバー」と呼ぶこともある。

DBサーバーなど、負荷が高くなるものは、クラスタリングという技術を使い、複数台の専用機にひとつの役割をさせることで負荷分散させることもある。

 

最初にも書いたが、複数台のコンピュータをネットワークで繋いだ際、そのうちのどれかに特別な役割を持たせたもの、と捉えておけば大きくは間違わないだろう。