OpenXの調査(アカウント管理・ユーザ追加)

1月 6th, 2010

こんにちは、なかわけです。

OpenXのわからない部分を自分なりに解決したまとめです。

■アカウント管理
インストール直後、「Administrator account」の「インベントリ」>「アカウント管理」のアカウントはOpenXで作業をする「人」の意味らしい。
(さらに…)

global変数の代入と参照

1月 6th, 2010

こんにちは、なかわけです。

今日はASで1時間ハメられた話のメモ。

_global.hoge = 0;

と一番上のタイムラインに最初に定義しておいた場合、
参照するのときは、どのムービークリップやタイムラインからでも

trace(hoge);

で参照できますが、
グローバル変数hogeを更新・代入したいときは、

_global.hoge = num;

のように_globalをプリフィックスしてあげないといけないんですね。
当たり前っちゃ当たり前。
_globalを付けずに、ただ単にhogeをしてしまうと、
そのムービークリップ(またはムービークリップのタイムライン)のローカル変数になってしまうんですね~。
初心者だな~1時間悩みました~┐(´ー`)┌

OpenXの調査(下調べ)

1月 5th, 2010

こんにちは、なかわけです。

以前仕事でOpenXを使うことになったが、都合のため中断していたが、
再開することになったために再調査。
少なくとも自分レベルで関係あることのみ箇条書きまとめ。
調べた内容が最新版で問題が解決されていたり、
そもそも問題の箇所がなくなっている場合もあると思います。
(さらに…)

Loader.load()の第2引数のLoaderContext

12月 2nd, 2009

こんにちは、なかわけです。

今日はLoader.load()の第2引数、LoaderContextにハメられた話。

wonderflをしていて、flickrにある画像をLoader.load()で読み込んでいたのですが、
addChild(loader)はできるのに、Bitmap(loader.content)ができず、行き詰っていました。

原因は、Loader.load()の第2引数を与えなかったことにありました。
詳しい説明はFlashのマニュアルに書いてありますが、
簡単に話すと他サーバから読み込まれた画像をスクリプトで操作するには、
LoaderContextのcheckPolicyFileプロパティをtrueにする必要があるようです。
もっと簡単に言うと、クロスドメインの問題です。

このcheckPolicyFileプロパティはクロスドメインのポリシーファイルをロードするか否かの設定で
デフォルトがfalseです。
このプロパティをtrueにしないままだと、Loader.contentやBitmapData.draw()などの処理は
SecurityErrorで実行されません。
以下のように書けば問題なく行けました。

var context:LoaderContext = new LoaderContext(true);
var loader:Loader = new Loader();
loader.load(new URLRequest(IMAGE_URL), context);

ちなみにwonderflで作っていたのはこれです。
http://wonderfl.net/code/b1fd0c021cb26e6593f80f7b3831e611504b2fd2

jQueryの.is(expr)にはめられた

11月 9th, 2009

こんにちは、なかわけです。

今日はjQueryの.is(expr)にはめられました。
実装したかったのはoption要素にselected=”selected”があれば、
ある処理をするというもの。

$(function(){
    if($('select option').is('[selected="selected"]')){
        console.log('exist');
    }else{
        console.log('not found');
    }
});
<select>
    <option value="0">Chocolate</option>
    <option value="1" selected="selected">Donut</option>
    <option value="2">Ice cream</option>
</select>

これを実行するとコンソールに’not found’が表示されます・・。
悩んだ挙句、後輩に相談。

どうやら、.is()はoption要素3つに対して判別を行っていたらしく、
false, true, falseが戻っていたらしく、
3番目のfalseがif()にかけられて’not found’が表示されていたようです。

ちくしょー。

で、とりあえず今回は selected=”selected”があるかないかだけ知りたかったので、
以下のように書いて対応しました。

$(function(){
    if($('select[name="nationality"] option[selected="selected"]').length){
        console.log('exist');
    }else{
        console.log('not found');
    }
});

自分が未熟なのがいけないんだけど、よくこういう問題にはめられる気がする・・・。
頼りない先輩ですまん・・・(´・ω・`)

Javascriptって2次元の連想配列できないの?

11月 6th, 2009

こんにちは、なかわけです。

今日仕事中にJavascriptにハメられたことをメモ。
メモしておけば同じ過ちをしないと思ったので。

2次元の連想配列が作りたくで以下のように書きました。

//TypeA
TypeA = {};
TypeA['hoge']['fuga'] = 'piyo';
alert(TypeA['hoge']['fuga']);

こうすると、alertはでないし、なかわけの環境ではスクリプトエラーも出ませんでした。
おかしいなあと思って、その時はとりあえず1次元の連想配列でやり過ごしました。

お家帰って思いつきました。
TypeA = {};
はObjectであっても、
TypeA['hoge']
はObjectではないのでfugaプロパティが追加できない(配列的に扱えない)!

てことで、以下

//TypeB
TypeB = {};
TypeB['hoge'] = {fuga : 'piyo'};
alert(TypeB['hoge']['fuga']);

のように書くか、もしくは

//typeC
TypeC = {};
TypeC['hoge'] = {};
TypeC['hoge']['fuga'] = 'piyo'
alert(TypeC['hoge']['fuga']);

のように書く必要があったのですね。
あーしょうもないことに時間費やした・・・。
でも、ここにメモしたので一生忘れない!

EC-CUBE newの商品を取得するブロックを作る

10月 22nd, 2009

こんにちは、なかわけです。

タイトルの通り、商品登録の際にnewにチェックした商品を取得するようなブロックを作ります。
作業ログのため、箇条書きで日本語が変な可能性あり。
(さらに…)

EC-CUBE top.tplのデフォルトは空欄です!!

10月 21st, 2009

こんにちは、なかわけです。

今日まことに悔しい事件が起こりました。
いや、正確には事件など起こっていません。なかわけひとりの早とちりでした。
(さらに…)

動画に書き出したときに入れ子にしたムービークリップを再生する

10月 21st, 2009

こんにちは、なかわけです。

今日会社の人に、「ムービークリップを入れ子にした時に、子ムービークリップや孫ムービークリップって再生されないよね?」って聞かれて、

あれ?そうだっけ?
1年くらい前にASをぐりぐり書いて動かした動画を作ったけどなあ。

と思いながら確認してみました。
どうやら、書き出しのファイルの形式を.aviにしてしまうと入れ子にしたムービークリップは動かず、
.movにした場合は入れ子のムービークリップもASも(ものによっては動かないかも。未確認。)動いた状態の動画が書き出せます。
なぜか、いままで.movで作業していたのでこの問題に気付きませんでした・・

ムービーの圧縮設定はH.264がいいみたいです。
詳しくは知らないけど、圧縮率が高くてキレイに仕上がるんですって!

セミナー行ってきましたHTML5-Developers-jp

10月 3rd, 2009

こんにちは、なかわけです。

HTML5-Developers-jpのセミナーに行ってきました。
予習していっただけあってよく内容がわかりました。

白石様が説明されたのは、HTML5のAPIについてとそれに伴う注意事項でした。
http://journal.mycom.co.jp/special/2009/html5-2/
アプリケーションキャッシュとWebWorkersは今後多用していくんじゃないかなあと思いました。

羽田野様が説明されたのはcanvasの機能についてと注意事項でした。
http://www.html5.jp/canvas/index.html
個人的にはcanvasはまだ使いにくい(技術的にも用途的にも)なあと感じました。
誰かが優秀なライブラリを作ってるれたら今後発展しそうです。

google in nakawake
なかわけとしては憧れのGoogle東京オフィスに潜入できたことがうれしかったです。
ミーハーと言われましたw

がんばらなきゃなー。
以下、個人的メモです。

  • workerではグローバルに扱われる変数でも共有できない。
  • 共有する場合はmessageを使う
  • workerはデバッグ等で開発にツラい問題がある
  • canvasで重い処理をグラフィック化することができる。
  • canvasは絵を描きっぱなしのAPIなので描いた後はそれを認識することができない。
  • だから色の抽出や操作は別のプログラムで行うことが必要