2011年9月30日金曜日

インストール数比例型の収益モデル

Androidに新しい収益モデル「インストール数比例型」のAppLogがミログによって提供されたけど、これってどうなのかな。
オプトインだからユーザが同意してくれないといけないわけで、どこまで収益につながるんだろう。(従来の広告型のモデルでもやってないし、そもそもアプリも公開してないので収益につながるかはまずは良いんだけど)
とりあえず、新しいモデルなのでちょっと興味がある。

開発者としては、AppLogSDKをアプリに組み込みやすいのかも気になるところ。SDKはアプリの登録を申請して、審査に通らないとダウンロードできないよう。しっかり読まずに空で登録してしまった。当然Invalid。不要な手間を掛けてしまったな。。すみません。

AppLogSDKの概要を見てもあんまり組み込むイメージが沸かない。。別途、仕様書ってのもダウンロードするものなのかな。


よし、まずは何かシンプルなアプリを作って公開してみるところから始めてみよう!

2011年9月19日月曜日

MySQL ERROR 1005 (HY000): Can't create table

MySQLでcreate tableしようとしてエラーになったのでメモ。

エラー内容
ERROR 1005 (HY000): Can't create table './test/c.frm' (errno: 121)

とりあえず、innodb statusを見てみる。
mysql< show innodb status;
ERROR 1227 (42000): Access denied; you need the SUPER privilege for this operation
スーパー権限が必要とのこと。スーパー権限で作業してるのでちょっとよくわからない。

結論、外部キーのsymbolが問題だった。
MySQL :: MySQL 5.1 リファレンスマニュアル :: 13.5.6.4 FOREIGN KEY 制約
もし CONSTRAINT symbol 条項が与えられると、symbol 値はデータベース上で固有である必要があります。もし条項が与えられなければ、InnoDB は名前を自動的に作成します。

bテーブルと定義が同じテーブルを作りたかったので、SHOW CREATE TABLE bで出力されるcreate文のテーブル名だけcに変えて実行したのがエラーの原因。
symbolが被ってしまってエラー。symbol部分も変えるか削除するかしてやらないとダメ。

2011年9月13日火曜日

jquery ui アイコンの改行回避

jQuery UIのアイコンが便利。ただ、アイコンの後ろに文字を続けたくても、改行されてしまうので調べたメモ。

こんな感じに記述すると
<span class="ui-icon ui-icon-play"></span>再生
<span class="ui-icon ui-icon-pause"></span>一時停止
こう表示される。
再生 一時停止

firebugで見てみるとdisplay:blockのために改行されるよう。 styleを「display: inline-block」設定してやると、
<span style="display: inline-block" class="ui-icon ui-icon-play"></span>再生
<span style="display: inline-blcok" class="ui-icon ui-icon-pause"></span>一時停止
改行されずに上手く表示されました。
再生 一時停止

ちなみに、「display: inline」だとアイコンがどこかに逝ってしまった。。cssはむずかしい。
再生 一時停止

※FirefoxとChromeでしか確認してない。

2011年8月24日水曜日

ubuntu firefox6にアップグレード

最近やたらfirefoxが遅くなった気がする。そして、クラッシュする頻度も増えたような。
ちなみに、アップデートはアップデートマネージャに任せていたのでバージョンは3.6.18。
と、いうわけでfirefox6にアップグレードしてみた。
# add-apt-repository ppa:mozillateam/firefox-stable
# apt-get update
# apt-get install firefox
メニューとか英語だな。。。日本語化にはfirefox-locale-ja。
# apt-get install firefox-locale-ja
これでアップグレードは完了!
若干速くなったような気がするのは気のせいかな

2011年8月18日木曜日

2011年8月4日木曜日

2011年8月3日水曜日

CakePHP 画像アップロード

画像のアップロード調べていて、下記ImageBehaviorを知ったので使ってみる。
[CakePHP] 画像のアップロード&リサイズを簡単にできる ImageBehavior | Sun Limited Mt.

使い方は参照元にあるので省略するが、簡単に使えて良い感じ。
ただ、findしたときに関連テーブルのimageまでは処理してくれない。
で、また調べてたら、下記記事でbelongsToに対して処理を足してたので参考にみる。
ちなみに、今回処理させたい関連はhasMany。
cakePHPのimageBehaviorについて – CEED

afterFindに処理を加えてるよう。

今回はhasManyを処理したいので、relatedModelsにhasManyもマージする。
$relatedModels = array_merge($model->belongsTo, $model->hasMany);

これだけだと動かなかった。。。
hasManyなわけで複数のときもあるので、127-130行までの処理を複数の場合を考慮する。
                        if (isset($results[$i][$relatedModelName][0])) {
                            $j=0;
                            while ( isset( $results[$i][$relatedModelName][$j] ) && is_array( $results[$i][$relatedModelName][$j] ) )  {
                                if (isset($results[$i][$relatedModelName][$j][$field]) && ($results[$i][$relatedModelName][$j][$field]!='')) {
                                    $value=$results[$i][$relatedModelName][$j][$field];
                                    $results[$i][$relatedModelName][$j][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$i][$relatedModelName][$j]);
                                }
                                $j++;
                            }
                        } else {
                            if (isset($results[$i][$relatedModelName][$field]) && ($results[$i][$relatedModelName][$field]!='')) {
                                $value=$results[$i][$relatedModelName][$field];
                                $results[$i][$relatedModelName][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$i][$relatedModelName]);
                            }
                        }
145-148行のところも同様に。
                        if (isset($results[$relatedModelName][0])) {
                            $j=0;
                            while ( isset( $results[$relatedModelName][$j] ) && is_array( $results[$relatedModelName][$j] ) )  {
                                if (isset($results[$relatedModelName][$j][$field]) && ($results[$relatedModelName][$j][$field]!='')) {
                                    $value=$results[$relatedModelName][$j][$field];
                                    $results[$relatedModelName][$j][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$relatedModelName][$j]);
                                }
                                $j++;
                            }
                        } else {
                            if (isset($results[$relatedModelName][$field]) && ($results[$relatedModelName][$field]!='')) {
                                $value=$results[$relatedModelName][$field];
                                $results[$relatedModelName][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$relatedModelName]);
                            }
                        }

これでhasManyの関連のテーブルのimageが処理されるようになりましたっと。