複数行コメントアウトしたりしなかったり

2010 年 3 月 5 日

以前どこかで見つけて、でも忘れてしまっていて、また見つけて、今度は忘れないように、的なメモです。

複数行コメントアウトする際には /* ~ */ ですが、それを簡単に設置、解除できる方法です。

//* ここのfunction ブロックはコメントアウトされません。
function foo(){
}
//*/

/* ここのfunction ブロックはコメントアウトされています。(先頭の/を削除)
function foo2(){
}
//*/

先頭の/をひとつだけ削除するだけで、コメントアウトできる、という訳です。

長年コーダやっていながら、いまさらかよ的なメモポストでした^^;

mixiアプリ mixiサーバ内に永続データを保持

2010 年 3 月 2 日

iPhoneアプリの作成はCS5を待つほうがよいのか、そして、そのアプリはちゃんと満足できるパフォーマンスを得られるのか否か。。

あれやこれやと悩んでいるうち、ある依頼からOpenSocialをやることになりました。とりあえず、flashのスキルが活かせるのであれば、と学習してみることに。

mixiアプリの場合(他SNSも同様かも)、アプリ自体は自前のサーバを用意してそこに設置する必要があることから、永続的なデータを保存場所も同様かと思っていたけど、どうやらそうでもないらしい。

mixi Developer Center 「情報を共有してみよう」

1アプリ、1ユーザにつき10Mもらえるのであれば、ステータス情報の保持など十分使えるのではないでしょうか。

メモ終わり。引き続き勉強、、

情報を共有してみよう

バンクーバー冬季オリンピックですよ。頑張れ!ニッポン!

2010 年 2 月 24 日

忙しい時こそ他のことをやりたくなる、、という心理がよく理解できます。今日はそんな忙しい最中の投稿です。

カナダに来て早くも4ヶ月になろうとしています。一昨年滞在した半年間の早くも3分の2か。前回以上に時間の経過が早いです。その半年もあっという間に過ぎてしまうんだろうなぁ、、

さて、近況から。
かなりホットな情報ですが、昨日、めでたくワークビザと学生ビザをダブルでゲットしました。(郵送で届いてました)
18ヶ月という長期なので、これでじっくり腰を据えて鍛錬に励めます。取得のアドバイスや手続きなど、学校の協力ナシではありえない展開でした。本当に本当にありがとうございましたmm。

しかし、、その学校ですが、最近無礼な事にちとお休みを頂いております。。
仕事がちょっと忙しくなってきたことと、しばらく自分の勉強が出来ていない事が主な理由です。

私からASのスキルを取ってしまったら、ただのタコライス好きなオッサンになってしまうので、なんとかして本来のベクトルに戻そうと、ここ1週間は主に勉強、特に読む事に力を入れまくっています。英語をやってると日本語の読むスピードの早いこと早いこと、、これまで以上に長時間読めてるかもしれない。。これは嬉しい効果。

ただ、そんな充実した日を送っているにも関わらず、(ホストファミリーの)子供らにはネットで遊んでいるように見えるようで、ここ2,3日前から、手でLの字を作り自分の額にあてて「君はレイジー」というサインを、ちょっと遠くから送られ続けるという卑劣なイジメにあっております。そうそうそう、最近なにかとダルくてさーって違うよ!おっちゃん頑張っとんねん!

あでも、1日だけプライベートの為に仕事を休みました。そう、世間は今オリンピックです。渡加まもなく知り合ったカナさんのお誘いで、カーリング女子を観戦してきました。対カナダ戦だったので超アウェイな状況を覚悟していたのですが、思った以上に日本の声援も多く、またかなりの接戦!更に更に、入場後の規制がかなり緩く、指定の席から移動して、特等席クラスの一番近い場所に(勝手に)座ることができました。おそらく一番近くで観戦できた日本人だったんじゃないかなぁ、、ということで、結果大満足。カナさん有難う!そういえば、その様子twitterでアップしてましたので、よろしければどうぞ。

それから、先々週あたりでしょうか。とおおっても楽しいWeb屋サンと会いました!
これに触れるといっぱい書いてしまいそうなので、またいつかのポストで。

全画面ジャックなブログパーツを簡単に設置する方法。フレームワーク「suzunari」

2010 年 2 月 24 日

ブログパーツの全画面ジャックについては「一応動かせますが、、」とちょっと頼りない感じでしたが、カヤックさんとこの記事からCodeReposで公開されているフレームワーク「suzunari」を発見。早速使わせて頂きました。

使い方はサイトに書かれていますが、AS2用っぽいので、AS3の方はこちらからどうぞ。

「そうそう、これくらい簡単でなくちゃねぇ」と思わず漏らしてしまいました。

jQueryもぜんぜんだし、jsもちっとは勉強しとかないとなぁ。。

早めのタスク処理、

2010 年 1 月 27 日

今月4日からスタートした学校ですが、今日は初欠席。

特に体調不良でもないけど、仕事、プライベート含めいくつかのタスクで火がつきはじめているので、少し早めに手を打つ事にしました。

入学前にこういうケースもあることを了承してもらっていたにせよ、ちょっと気が引けますね、、、;

今日はいつもの3倍こなすつもりで頑張りやす。

FlashRemotingをFlashCS3以降のAS2で使えるようにする

2010 年 1 月 24 日

以前から、Flash8(AS2)にFlashRemotingコンポーネントをインストールしてamfphpでサーバへアクセス、という案件に携わっていて、今もたまに保守作業が発生したりするのですが、そのコンポーネントがFlash8を最後に提供されていない為、その作業だけの為に泣く泣くFlash8をインストールしておりましたが、mxコンポーネントをCS4側へ移行するだけでCS4でも使えてしまった、という当たり前すぎるオチで解決したので、備忘も兼ねてポストします。

そのまんまですが、やったことは、Flash8で使用しているmxクラス群をFlashCS4で使用しているmxクラス群に差分コピーしただけで、具体的には

[Flash8ディレクトリ]\ja\First Run\Classes\mx\

の以下のディレクトリとファイル

remoting\
rpc\
data\DataRange.as
data\PageableData.as
data\PageableList.as
data\types\RecordSet.as

をFlashCS4で使用するディレクトリ

[User]\AppData\Local\Adobe\Flash CS4\ja\Configuration\Classes\mx\

へコピー、です。

PC環境の再構築時に備え(差分ファイルを抜き出す為だけに、Flash8+FlashRemotingをインストールしなくても済むように)差分ファイルをアップしておく事にしました。一応自分用ですが、必要な方はどうぞ。(ダブるファイルは無いはずですが、一応事前に確認下さい)

CS3以降用 flashRemoting 関連mxクラス

関連技術の仕組みをしっかり把握していれば、すぐに思いつく解決方法なんだろうなぁと、そういう発想に展開できなかった自分にヘコみましたが、これでFlash8とお別れできるという喜びの方が遥かに勝るので、もう絶対忘れないぜ!とばかりにポストです。

学校がスタートしました

2010 年 1 月 16 日

あっという間に1月も半ば。カナダ入国時期決定の理由の1つになっているオリンピックも近づいてまいりました。
が、なんともまぁ沖縄人の呑気なこと。開催1ヶ月前に「そろそろ買うべ」とサイトを見てみると時既に(かなり)遅し。日本戦はどの競技もSOLD OUTのオンパレード。(入国直後に知り合った)カナさんが売り切れ目前のカーリングの日本戦チケットを発見し、それに便乗する事で、なんとか面目を保つことができた。マーくん(カナさんのハズバンド)の「カーリングは奥深し。事前にルールを予習されたし」の言葉を胸に来る日を待っているこのごろです。

さて、近況ですが、以前ポストした通り正月から学校がスタートしました。

実はポスト後さらに展開しまして、編入する予定だったターム3を2に変更。その3ヶ月間は授業ではなくインターンという形で実案件の補助要員として学校に併設されているWeb制作会社で作業(ビザ無しなのでもちろん無償です)させてもらえることになりました。もともと実戦で場数を踏みたいというのも目的の1つだったので、これは私にとって良い展開になったと思っています。

ビザも現在の残り4ヶ月の学生ビザから18ヶ月の学生ビザとワークビザへ更新と新規の申請をすることになりました。ワークビザがどの範囲で適用されるのかは分かりませんが、取得後は少なくともこの業界で収入を得ることは可能になる見込みです。これはほんとに有難い事で、学校スタッフ方々の協力無しでは絶対にありえない展開でした。ほんとうに有難うございました。

その学校も2週目を終えました。

作業については、早々にいくつかタスクが投げられましたが、英語になったというだけで、普段やっている作業とそんなに変わらず、ただただ忙し くしていますが、若干オーバーワーク気味だったように思います。先日「忙しそうですね~」との声も聞けたので、来週からは少し甘えさせてもらおう、と計画 中。語学力向上にもう少し時間を割こうと思います。

その語学力向上に一役買っているのが、もらったタスクの一つ「学生サポート」。日本人の学生もいるが、それ以外は英語で説明することになるので、必然的に会話の量が増える。現在、ある学生の課題の手伝いをしていますが、相手も(英語ペーペーの)私の立場を理解してくれているので、とてもやりやすい。「サポート」なんて言ってますが、実はそれは私が受けている、という訳です。いやはや。

既に書きましたが、総じて感じることはやはり「コミュニケーションスキル不足」。制作メンバーがたまに交わす世間話にも早く参加したいが、会話を横耳で聞いて相槌を打つのが精一杯。たまに「Nini(※)どう?」なんてボールを投げてくれるが、Yes,No程度の返答しかできず、明後日の方向にしか返球できない自分にかなり歯がゆさを感じております。(※実はリアルネームと一緒に「or please call me ‘Nini’」と自己紹介しています。「にに」のネーミングの由来は沖縄の人なら誰でも知っていると思います^^)

ターム1~3の学生には原則課題としてリアルクライアントが斡旋され、ターム4の学生や講師のフォローを受けつつタームを通して打ち合わせから制作まで自身でプロジェクト完結させる、等、興味深いものもいろいろありますが、それはまたいつかのポストで。

WordPress 「ブログのアドレス」を設定後に500 internal error

2010 年 1 月 3 日

あけましておめでとうございます。日本と比べると「お正月よりクリスマス」ってなもんですから、そんな大盛り上がりでもないここバンクーバーではありますが、それなりに楽しく過ごしております。

さて、年明け一発目はWordpressネタです。

レンタルサーバに独自ドメインをのせてWordPressでブログ管理をする場合、私はWordPress設置URLとブログ表示時のURLを異なるもの(独自ドメインのルートに変更)する事が多いのですが、今日突然その設定をするとドメインルート以外のサブページのみ500エラーが出てしまったので、解決策をメモ。

発生前の環境

  • System : WordPress 2.8.x
  • Plug-in : Akismet , All in One SEO Pack , WP Multibyte Patch
  • WordPress設置URL : レンタルサーバドメイン+ WPディレクトリ
  • ブログ表示時のURL : レンタルサーバドメイン+ WPディレクトリ

変更内容

  • ブログ表示時のURL : レンタルサーバドメイン+ WPディレクトリ→独自ドメインルートへ変更
  • WordPress : 2.9へ自動アップデート
  • Akismet と All in One SEO Pack : 最新に自動アップデート

現象

  • トップページのみ独自ドメインで表示できたが、スラッグ設定済のカテゴリ表示(パーマリンク設定でスラッグがサブディレクトリとしてURLの一部になるように設定済)が500エラー。その配下の記事も同様にエラー

原因と思われるもの

  • .htaccessが更新不可になっており、設定の一部が反映されなかった為。(更新不可の原因は不明)

解決方法

  • パーマリンク設定ページ下部に「あなたの.htaccessが書き込み可能ならこの操作は自動的に行われますが、そうでない場合は~」という説明とともに正しい(と思われる) .htaccessの内容が記されているので、その内容でwpディレクトリにある.htaccessの内容を更新

以上です。

なぜ.htaccessが編集できなくなってしまったのかは結局不明のままですが、とりあえずこれで動いているようです。

Papervision3D 2.0 クリックイベントを追加する

2009 年 12 月 22 日

バージョン2.0を少し前から触り始めています。去年(一昨年?)触った時と比べて実装が楽になっている印象です、、が、当時の事をほとんど忘れてしまっているので、実際はどうなんでしょう、、。

今回は、

・3D空間上の物体をクリックしてイベントを取得
・物体へオンマウスした際にマウスカーソルを変える

という基本的な部分について躓いたので、自分用コメントを付けて貼っておきます

ACTIONSCRIPT:
  1. package {
  2.    
  3.     import flash.events.Event;
  4.    
  5.     import org.papervision3d.view.BasicView;
  6.     import org.papervision3d.objects.primitives.Plane;
  7.     import org.papervision3d.materials.ColorMaterial;
  8.     import org.papervision3d.events.InteractiveScene3DEvent;
  9.  
  10.     public class PV3DClickTest extends BasicView {
  11.        
  12.         private var planeObj:Plane;
  13.        
  14.         public function PV3DClickTest() {
  15.            
  16.             viewport.interactive = true; // クリックイベントを取得する際に必要
  17.             viewport.buttonMode = true; // ボタンモードON
  18.            
  19.             var material:ColorMaterial = new ColorMaterial(0);
  20.             material.interactive = true; // クリックイベントを取得する際に必要
  21.             material.doubleSided = true; // 裏返しになっても表示させる
  22.            
  23.             planeObj = new Plane( material, 300, 300, 1, 1 );
  24.             planeObj.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, onClick, false, 0, true);
  25.            
  26.             scene.addChild(planeObj);
  27.            
  28.             // render
  29.             startRendering();
  30.             addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
  31.         }
  32.        
  33.         private function loop(e:Event):void {
  34.             planeObj.rotationY += 1;
  35.         }
  36.        
  37.         public function onClick(e:InteractiveScene3DEvent):void {
  38.             trace(e.toString());
  39.         }
  40.     }
  41. }

マテリアル毎にinteractiveプロパティでクリッカブルに設定できるが、それと同時にviewportにもinteractiveプロパティも設定しておかなくてはならない、というところが今回躓いた部分。あと、buttonModeプロパティはviewportで設定するようなので、ついでにサンプル内に記述しておきました。

大河ドラマの影響で

2009 年 12 月 14 日

大河ドラマ「天地人」で仙洞院が言っていた「よしなに」という言葉を好んで使っている。

日本語イマイチな私としては、使い方によってはそれが失礼な言い回しになってないか、

とちょっと心配だったりしますが、なんとなくその響きが好きで使ってしまう。

そんな私ですが、どうぞ、よしなに。