ActionScript2.0で学ぶ、オブジェクト指向プログラミングの講義を受けることになりました。
今日は1日目。
復習も兼ねてノートを羅列。
■AS1,2,3それぞれの特徴

AS1 AS2 AS3
大文字/小文字の区別 ×
型指定 ×
private/public変数 ×
クラス ×
コンパイルエラー
ランタイムエラー × ×

■オブジェクト指向プログラミングとは
これまで「順序」で考えていたプログラミングを、「物」を主体に考えていくプログラムの書き方のこと。
利点

  • 共同開発ができる。仕様変更に強い。
  • 使い回しができる。
    実際には「物」に「動作」と「性質」を付与していく。
    ここでいう「物」を「クラス」で作る。
    ■クラス
    クラスファイルは拡張子.as
    文字コードはUTF-8であること。
    クラスを使う時の概念は、ライブラリからMCをステージに配置する概念と同じ。
    クラスの要素
  1. 動作:メソッド(as1でいうところのファンクション)
  2. 性質:プロパティ(as1でいうところの変数)
  3. 初期化:コンストラクタ
  4. 予期せぬ動作:イベント
    クラスのインスタンス化
  5. 見た目なし>newクラス(var hoge:Class = new Class();)
  6. 見た目あり>MCと結びつける(リンケージから設定)
    extendsで継承
    クラスの性質を別のクラスに引き継がせることができる。
    ■Flashで扱える外部データ
  • テキストファイル
  • XML
  • Flash Remoting
  • Blaze DS
  • Flash Media Server
    など
    XML解析で必要になるヤツら
  1. firstChild - 長男
  2. childNodes - 子供たち[配列]
  3. attribute - 属性[オブジェクト]
  4. nodeValue - のあいだ
    他にも色々あるんだけど、とりあえず以上を覚えておけばどんなxmlでも解析できるゾ!
    …ほんとうにノートの羅列だった。
    以下はドットフェスで尾崎先生が言っていたことの備忘録
    モノ作りで大切なこと
  • 堅牢な骨組み
  • 親しみやすいデザイン
  • 直感的なUI
  • 実際の動作チェック

Flash-ActionScriptの技術ブログのつもりで始めた当ブログですが、いきなりperlの話題からスタートです。
現在開発中であり、ワンクリックアワードに出品予定の白米こんぶさん
未だβ版なのですが、β版たる最大の要因は読み込みxmlにあります。
レシピをcookpad.comから拾っているのですが、これを拾う為にyahoo Pipesを利用しています。
が、
そもそもcookpad.comは人気サイトで、みんなが献立を考える時間帯になると激重になってしまい、データが拾えなくなる場合があることがわかりました。
そこで、重くならない時間帯にxmlを保存して、別ファイルとして自分のサーバに置いておく(白米こんぶさんはそれを読み込む)という対策をとりました。
でも手動でxml保存するの、大変だべ?
というわけでcgiを使って、その作業を半自動化することにしました。
こちらのサンプルスクリプト(HTTPクライアント)を利用させていただきました。
改造ポイントはクエリによって読み書きファイルを制御する部分。

if ($ENV{‘QUERY_STRING’}) {
#クエリを解析して読み書きファイルを確定
my @list = split(/=/,$ENV{‘QUERY_STRING’});
$acs_category = eval “$acs_$list[1]”;
$logfile = eval “$logfile_$list[1]”;
#実行
&request;
}

順加はeval関数を覚えた!
あとは読み込んだページ情報を表示せずに外部ログに書き込む処理を施せば完成。
思ったより簡単でした。これでいつでもxmlファイルを更新できます。

われもしてみむとてするなり
あるお方の勧めにより、わたしも仕事などで得た技術をブログとして記録していくことにしました。
順加の巣のリニューアル構想のひとつに、複数ブログの連立というのがあって、そのうちのひとつのブログ、という位置づけにしようと考えているので、ブログタイトルやURLはいずれ変わります。
技術ブログ始めたいのにリニューアル作業はまだ進められないので、seesaaブログでフライングスタートした次第。
目的としては自分用のメモなので、他の人が見て面白いものにはならないと思います!

keyboard_arrow_up