2005年頃のTechNoteですが。。。
FlashPlayer8(最新版は9)が一般的に増えてきたからでしょうか。。。
「Flash Player 8のセキュリティ警告」に関するトラブルが時々舞い込んできます。
なんか声掛かる度に「あっあれね。。。。どうだったっけ?」ってなるのでメモ。φ(._.)
【Flash Player 8 のローカルファイルセキュリティ】
http://www.adobe.com/jp/devnet/flashplayer/articles/fp8_security.html
【Flash Player 8 のセキュリティ機能の変更点】
http://www.adobe.com/jp/devnet/flash/articles/fplayer8_security.html
簡単に言うと。。。(結構深い内容なのでまずは前述したTechNoteのご一読をオススメします。)
・ローカルで再生されるswfからリモート(ネットワーク)へのアクセス
・もしくはその逆。
がFlashPlayer8以降、厳格に制限されます。
通常に(例えばFlashAuthor2004MX以前で)パブリッシュをすると、そのswfファイルは「Untrusted (Local-with-file-system):」ローカルにしかアクセスできないswfファイルということになります。
このセキュリティでどういうコンテンツが影響を受けるかと言うと、CD-ROMコンテンツのswf(ローカル)からインターネット上のコンテンツ(リモート)へ接続する必要があるswfファイルです。
こうした場合は、そのswfを「Local with networking」のカテゴリでパブリッシュする必要があります。swfを「Local with networking」のカテゴリでパブリッシュするには画像のように
パブリッシュパネルの「ローカルでの再生に関するセキュリティ」プルダウンメニューで「ネットワークにアクセスする」を選択し、パブリッシュします。※パブリッシュパネルにこのメニューがあるのはFlash Author 8からです。
なお、協力会社などがflaファイルを持っていて自分の手元には「swf」しかなく、再パブリッシュできない!もしくは、お使いのAuthorがMX2004以前のもので、パブリッシュパネルに「ローカルでの再生に関するセキュリティ」プルダウンメニューが無い!!という危機的状況でも
【LocalContentUpdater】
http://www.adobe.com/support/flashplayer/downloads.html#lcu
で、UntrustedカテゴリのswfをLocal with networkingカテゴリのswfに変更することができます。
ただし、この「LocalContentUpdater」はCUIツールですので、「DOS窓」で操作します。
CUIツールだし、英語だしで、結構引くと思うのですが触ってみると何てこと無いです。
一応流れだけでも載せておきます。^^
※LocalContentUpdaterの一応PATHは通してます。
(久しぶりでPATH通すコマンド忘れてました。^^;)
c:\work>localcontent
でヘルプでます。^^
で、カレントディレクトリをチェックすると、zoom.swfがあります。
試しにこのswfのセキュリティ・カテゴリをLocalContentUpdaterで変更してみます。
このswfファイルの現在のセキュリティ・カテゴリを「-c」オプションで確認することができます。
c:\work>localcontent -c zoom.swf
「No networki privileges:」
と表示され、このswfが「Untrusted (Local-with-file-system): 」であることが確認できます。でこのswfのセキュリティ・カテゴリを「Local with networking: 」(ローカル再生でもネットワークアクセス可能)にするには、
c:\work>localcontent -a zoom.swf
とすると、結果「Network privileges added to zoom.swf」となり、こうしてセキュリティ・カテゴリの変更を行うことが出来ます。
年末/年度末何かと慌しい中、「いざっちゅう時(?)」に救われます。
(っていうか。。。この辺の実行環境は接続が想定されるゾーンとかは最初に決めておきましょうね♪という話でもあります。^^;)
例えば、制作をしているとき、
「ちょっとこっちのテイストも試してみたいなぁ。。。でも完全に移行ってわけじゃないから、いちおう、コピーとって別名で試してみよう!!」
ってことがあると思います。
例えばこんな感じ。。。
あぁ恥ずかし><
なんか似たような名前のflaファイルがいますね。^^;
で、これくらいの数だといいのですが。。。
「コピーのコピー」とか「01、02、03、。。。。」とかどんどん増えていって、
「何を意図して分岐させたか覚えていない。」
「どれが最新かわからない」
で、さらに同じ制作物に対して複数名が関わっていたら。。。
と話を少々膨らましすぎましたが、僕が個人レベルで愛用しているツール。。。
というバージョン管理ツールです。
えっと、「Tortoise」なんでバナーのカメは「陸ガメ」です。ちなみに「turtle」は海ガメですね。また一つ賢くなりました。^^
「とーたすえすぶいえぬ」と読むんですかね?
どんなことができるかと言うと。。。
基本的な流れは、
1. リポジトリを作成
↓
2. 管理対象ファイルをリポジトリへ
↓
3.普通に制作
↓
4. 追記・更新などのフェーズごとにリポジトリへコミット
↓
3.へ戻って繰り返し
という感じ。
「リポジトリ」とは変更履歴情報を保存するための「repository=収納庫、集積所」というもの。個人レベルであれば、特にDBを必要とすることなく、「任意のフォルダ」をTortoiseSVNに「ここがリポジトリだよ。」と教えることで使えるようになります。
リポジトリへコミットする際に「コメント」と「リビジョン番号」も残せます。^-^
当然ある程度制作が進んだ途中で過去のリビジョンに戻すということも出来ます。
さらに「ブランチ」と呼ばれる「主軸からずれるけど、ちょっと試してみたい」というようなこともバージョン管理の範疇で行えます。で、この「試したこと」がイキなら、ブランチした開発の「枝」を開発の「幹」へマージ(結合)すればいいですし、やっぱり、あくまでも「試したこと」が副産物なら、ブランチで発生したリビジョンから主のリビジョンへ戻ればよいと。つまり「コピーのコピー」ということをする必要がなくなります。(o^ー')b
具体的にどんなことをしているかと言うと。。。
「fla」というフォルダがありますね。
そして、なんか「チェックマーク」が見えると思います。
これが、「このフォルダをTortoiseSVNでバージョン管理中ですよ。」という意味。
で、この中を見ると、さらにそれぞれのアイコンにも「マーク」が付与されます。マークが付いているファイルがTortoiseSVNによってバージョン管理されているファイルであることを意味しています。
例えば、ここにあるflaファイルを開き修正を加え再びアイコンを見ると、アイコン上のマークが「!」に変更されます。これは「修正したでしょ?でもTortoiseSVNはまだ把握してないよ。」というマーク。ここで右クリックを押してコンテクスト・メニューを出すと、中段あたりに「TortoiseSVN関連メニュー」があるので、修正したことをTortoiseSVNに教える、つまりコミットするために「SVNコミット」を選択します。
すると、
のウィンドウが表示されますので、「何故修正・変更したか?履歴となるメッセージ」を入力し、
とウィンドウのタイトルバーに「終了」とでれば、TortoiseSVNにコミットが完了したことになります。
コミットした後は、
コンテクスト・メニュー→ログを表示
で、
で、コミットの際に制作者が入れたメッセージを確認できますので、「あれー?このリビジョンなんで作ったんかなぁ?」とか「仕様戻せってどこまで戻せばいいんだよ!?」って時にも救われます。このメッセージをもとにそのリビジョンを復帰させることもできます。
もともとプログラマが使うツールですので、バイナリ形式のflaやswfではこのツールの恩恵を100%得ることはできませんが、ASのクラスファイルとか管理も絡めばもっと役に立つと思います。
個人的には現状は、flaファイルのリビジョン管理と修正・テスト履歴管理の点で便利に使っているツールだったりします。
個人的には本来の「リポジトリをサーバー上に構成。SVNサーバーに対してコミット。ネットワーク経由で復数名で同一ソースのバージョン管理」という機能を使えるようにしたいですね。
バイナリなんだけど。。。MS Office系の書類も管理対象にできた上に専用(?)のdiffツールとあわせれば、変更箇所の確認もできるはずなんですが。。。これはまだ裏取れてません。←このあたりご存知の方いらっしゃればお教え頂けると幸いです。
「Office2003+SharePoint」とか使えばできるようなことなんですが。。。
ActionScript1.0で書いていると。。。なんか本来の「オブジェクト指向」での
「自分のことは自分でする。自分のモノは自分で持つ」
つまり、オブジェクト自身のメソッドやプロパティは自分でそのオブジェクト自身で管理しなさい。
ということなんだけど。。。
この基本から僕の書くソースは外れていることにいまごろ気付く。。。orz。
getter/setterメソッドはそのプロパティを持っているオブジェクト(クラス)自身に用意する。
そうだよな。
当たり前だよな。。。
自身のプログラムが破綻する理由はこれな気がする。いやこれだけじゃないんだけど。。。
一先ず一個気付いたの一個直す方向で。
3.0は神や偉い人々に任せるとして。。。
いいかげん2.0で書けという話。
毎回忘れているのでメモφ(._.)
インスタンス自身のターゲットパスをスラッシュ・シンタックスでmyTargetへ
myTarget = this._target;
インスタンス自身のターゲットパスをドット・シンタックスでmyTargetへ
myTarget = eval(this._target);
うーん。忘れすぎ。
これで安心♪
15ヶ月スケジュールのプロジェクトがキックオフ。
ということで某所へ出張。
前回プロジェクトでご一緒させて頂いた方々もいれば、今回から新しく加わって下さる方々も。
ほんとに一制作者の立場でこういうものに参加させていただき、且つ、コアメンバーとして紹介していただけるのは本当にありがたいことです。自身の役回りはFlashテクニカルディレクター/オーサー/シナリオ作成とか。
ざっとこんな感じです。
またいろいろ実際のプロジェクトの現場で勉強させていただきます。本当に素晴らしい人々が揃っているので、ぜひともいいものを作りたい。そして自身のスキルや知識を皆に還元し、他の方々の素晴らしいところを租借させていただければというところです。
30代クリエイターの礎となるであろう経験をできるだけ多く積めるように、いろいろ突っ込んでいければと思います。
今年度のこのプロジェクトのODSCを考えなきゃな。
とりあえず、今の制作案件片付けます。^^;いちおう12/25ラウンチ予定^^;
後半の決起集会(?要は親睦飲み会)ではいろんな立場のいろいろな方のお話や思いを聞けて、決意新たに取り組む所存です。コミットしなきゃ。
【まずは紙にでも書くということ。】
とにかく書くということ。
幼児期の教育のせいか、とかく「良いもの」「より100点満点」に近いものを出そうとしますが。。。
ここではそういう「美しく書く」は2の次です。
自分の頭の中にあるものを「棚卸し」するために書きます。GTDとかだと。。。あの最初の「棚卸し」です。^^
人間の脳は「抽象性」「曖昧さ」「ファジー」な部分に関しては素晴らしい情報処理器官です。どんなに頑張っても人間の脳と同じ働きができる「コンピュータ(?)」のような人工物がまだ作れないと言われていますが。。。
「ファジー」ゆえに「まったく関連性が無い」と思えるものを紐付け一つの事柄を導き出したりできます。また「多面的に考える」「想定する」ということができるのも、脳が「曖昧さ」故の「ゆらぎ」を持っているからです。
脳の中にあるまったく関連性のない論理的に紐付けされていない様々な情報を寄せ集めたり、時には分解してエッセンスを抽出したりしながら、新たな情報を生成する。それが「脳」の素晴らしいところ。
しかし、「脳」にも弱点があります。
脳のメリットでありデメリットでもあると思うのですが、
「自身で100%制御ができない」点。
そして「忘れる」ということ、「勘違い」や「思い込み」が自分の意に反して起こったりします。
情報整理術の類は、
ここで前述した「自身で100%制御できない」ならば「多面的に考える」「関連性の無い(と思われる)複数の情報から答えを導き検討する」というメリットの部分を最大限に引き出し、「忘れる」「思い込み」や「勘違い」のデメリットを押さえ込むためのメソッドだと思っていたりします。
ブレインストーミング
マインドマップ
KJ法
GTD
などなど。
人は多かれ少なかれ、忘れ、思い込み、勘違いをします。
僕の中で「書く」ということは、
そうしたことを最小限に留め、新たな「気付き」を導き出すためだったりします。
・仕様書
・画面遷移書
・イベント遷移図
・作業指示
・修正指示
などなど。。。
何も書かずに口頭だけで終わる時、
何も書かずに頭の中だけで終わる時、
そういうときは大抵、見落としや忘れ物をしています。
また、さっき話したとことなのに既に忘却の彼方に旅立ってしまっている場合もあります。
だから「書く」んです。
【書こうと思った理由など諸々←継続予定^^;】
僕は「Webデザイナー」です。専門領域はFlash。とはいえ基本営業行為以外は結構何でもやります。
肩書きはあくまでも便宜上のものだったりします。
そして僕はどちらかと言えば「論理」の人間です。
そして体系的に学習してきたのは「プログラム」だったりします。
デザインらしいことは基本独学です。
こんな僕が「プログラムコーディングする前」にどんなことをやっているかを少し掘り下げて書いていこうと思います。
なぜこのようなことを書こうと思ったかと言うと。。。2つ理由らしきものはあります。
まず1つ。
Webデザイナーって「デザイナー」とか言う割りに。。。
(X)HTMLやCSS、JavaScriptやActionScript。。。
まぁマークアップ言語、スクリプト言語、プログラミング言語という細かい話はさておき^^;
Web「デザイナー」なのに扱う言語は多岐に渡ります。
そしてそれら言語は日に日に高度になってきています。
そして当然モチベーションの高いWebデザイナーは修得しようと勉強をする。
けれど、よく「いつまで経っても書けません。自分には才能ないのであきらめます。><」ということを言われるのですが。。。勉強に費やした時間を考えても、それはあまりにも勿体無いのでよくよく話を聞いてみると。。。世に溢れる「サンプル集」を片っ端から読み漁り勉強をしたと。。。
なるほど。プログラミング「以前」の知識を学べなかったんだと分かりました。
プログラミングをする際、言語仕様を理解し、シンタックスを学び、アルゴリズムやAPIをパターンモデルなどを覚えていく。そうした中で「サンプル集」を利用することは「あり」だと思います。しかし、言語仕様やシンタックスを理解・修得する以前に「サンプル集」を手にとっても、そのサンプルどうりのコーディングをしても、一向に応用したり、0からのコーディングを行うことは難しいでしょう。
とはいえ。。。言語仕様やシンタックスを学習することは基本であるがゆえに時間が掛かります。そして楽しくありません。^^;なぜか?難しいからです。で、なぜ難しいかというと。。。「イメージ」できないから。
なので、僕が「プログラミング以前に」というのは「プログラム以前に普通の生活・日本語で置き換えると。。。」というようなところで話をしようと思っています。
そして、なぜこのようなことを書こうと思ったかと言う、もう一つの理由。。。
理由らしきものの2つめ。
去る2006年11月25日(土)に行われた「css nite in Osaka」の中でCSSのオーソリティであろうサイバーガーデンの益子 貴寛さんの「ザ・ルールズ・オブ・スタイルシート(CSS)」というセミナーのプレゼンシートの冒頭が
「プログラムとは、コンピュータへの命令ではなく、
コンピュータに何をしてほしいか、人に説明することだ」Donald E. Knuth, “Literate Programming”
(ドナルド E. クヌース 『文芸的プログラミング』)
の引用で始まったことに「キタ!」と思ったから。
WebデザイナーというスタンスでそれもCSSを話題にする中で、のっけからこの引用。つまり、Webデザイナーという「デザイナー」と言えど、Webが流れる場がコンピュータ上である以上「プログラマ的思考」が必要であり、持つべきだと思うからです。
この2つの理由から僕が何かをアウトプットすることで誰かの何かの役に立てれば。。。という、まぁそんなこんなで書こうと思います。
僕自身がプログラムを書く前にどんなことを考え、どんなことを行い。。。
カタチにしていくか。。。そのエッセンスが少しでもプログラマではなくWebデザイナーに何か還元できれば。。。とまあそんなスタンスです。
ご意見/ご感想頂ければ幸いです。w
今年の嬉しかったことの一つ。
- 自身がFlashテクニカルアドバイザー(なんか仰々しいですができる/できないの判断役っす><)/制作役で関わったプロジェクトが天下の『交通新聞社』で取り上げていただいた。おかげで新幹線に乗って車掌を見るたびに感慨深くなる。w
とか。
頑張ろう自分。
CAUTION:これはSNSで自身が書いたものと同じです。
職場やコミュニティでの人間関係において「礼儀・敬意」は必要だと思っています。 これは大前提。
ただし、それだけではパワーバランスに負けて発言できない人、相談できない人が増えるので。。。要は組織・チームとして「報・連・相」ができないので、遅かれ早かれ崩壊します。
なので、本当に「決定的な情報」を組織・チームに流したいのであれば、基本「プロジェクト・チームの関係はフラット」にすべきですし、そうしているつもりです。
そうすることで現場での問題や確認事項、もっといえば人間的な危うさまでも決裁者に伝わる関係ができます。そして、とかくこの業界は若い子ほど新
しい知識を持っていますし、持つべきだと思います。しかし、実業務経験が浅い分、「状況判断や想定外事項への対処能力」が弱いわけです。そこはやはり経験
のある上位者が「知恵やノウハウ」で助けてあげる。
そうこうしているうちにチームとして、結束がゆるぎないものになります。
先に述べたように人として「礼儀・敬意」は大前提の上で、様々な「想定力・判断力・決裁力・対応力」などの暗黙知を下の者に伝え、下のものは上の ものへ「新しいビジョン、新しいスキル/商材、現場力、チャレンジ精神、研ぎ澄まされた感性、無知ゆえの知、未経験故の慎重さ」を上に与えれると思ってい ますし、結束の高いチームが何も言及するまでもなく、当たり前のようにこうなってゆきます。
こういうチームって「指示系統」を見ているだけでもよくわかります。
本当によく話しているし、話が前に進んでいる。
ODSC(目的/成果物/成功基準)がしっかりしていて、そのODSCに向けて「いつまでに」「誰が」
何が見える(想定される)か?
そのために何を行うべきか?
という「見える化」「何をやる化」が明確になっている。
僕はど真ん前にいるわけではありません。
かと言ってど後ろにいるわけではありません。
真ん中という立場だからこういうことが見えるのかもしれません。
真ん中より下の子たちは仕方がない。
そこは僕たちがフォローすべきだから。
ただ本当に信頼され必要とされたいのなら「あなた」と言う人を周囲に知らしめたいのなら、「確固たる自我」と「確固たるスキル」を持ってください。スキルはもちろん鋭意発展中でも構いません。完成されていなくてもOK。ただし「発展している」感を見せてください。
僕と同じように真ん中あたりにいる人たちはともに頑張りましょう。
そして少しでも目線をあげましょう。僕たちを見てくれている、これからの人たちのモチベーションや希望のエネルギーになれるように。。。
そしてなにより自身の豊かさのために。
そして上にいる人たち。
ほんとうに大変だとは思いますが頑張ってください。
あなたを見ている人たちはたくさんいます。社外でも社内でもそして家庭にも。。。あなたを見ている人たちが「あなたと一緒にいれて幸せです。」と思ってもらえるように。。。
そして、卑下・落胆せぬように。。。あなたたちの今まで培ってきた「経験」は私たちにはありません。そして私たちはその「経験に裏づけされた判断
力・ノウハウ・エッセンス」を吸収したいと思っています。なので前述したようなチームの中で自然とそうした暗黙知が流れるような場所を設けていきません
か?
そうすれば本当に有機的に結びついたチーム、そして組織ができてくると確信していたりします。
結構いろいろ末期だと思いますが、いろいろやるべきことまだあると思っていたりします。
