2011年7月15日金曜日

python:TypeError 継承した親クラスの__init__ 

まずはこーんなエラー
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)


from module import name1,name2
とするか
module.name1()
として呼び出せとのこと。
pythonで継承(TypeError?)

次にこんな感じのエラー
TypeError: unbound method __init__() must be called with ChilidClass instance as first argument (got ParentClass instance instead)
こんな感じでいいみたい
class ParentClass:
    def __init__(self):
        pass

class ChildClass(ParentClass):
    def __init__(self):
    ParentClass.__init__(self, param)


じゃ、そういうことで。

2011年6月29日水曜日

GreeのPepleAPIのサンプル

GreeのPepleAPIのサンプルに
PECL HttpRequest
つかってるって描いてるけど
実はPEAR HTTP_Requestだと思うんだ。

Pecl HTTP インストール メモ

pecl install pecl_http

checking for curl/curl.h... not found
configure: error: could not find curl/curl.h
ERROR: `/var/tmp/pecl_http/configure --with-http-curl-requests --with-http-zlib-compression --with-http-magic-mime=no --with-http-shared-deps' failed
とかでて失敗。


yum search curl
curl.i386 : 数量の単位換算ユーティリティ
curl-devel.i386 : libuser アプリケーションの開発に必要なファイル
python-pycurl.i386 : A Python interface to libcurl

とでたので
yum install curl-devel
としてから再度挑戦したらいけました。
vi  /etc/php.d/http.ini
extension=http.so
を作成してApache再起動しておわり。

2011年6月27日月曜日

Zend_Db_Adapter 結果セットからの キー/値 のペアの取得 fetchPairs()

結果セットからの キー/値 のペアの取得

fetchPairs() メソッドは、データを キー/値 のペア (連想配列) の配列で返します。 この連想配列のキーは、 SELECT クエリが返す最初のカラムの値となります。 また、連想配列の値は、 SELECT クエリが返す二番目のカラムの値となります。 クエリから返されるその他のカラムは破棄されます。
SELECT クエリをうまく設計し、最初のカラムの値が一意になるようにしなければなりません。 もし最初のカラムに重複する値があれば、連想配列のエントリが上書きされてしまいます。 

count()
varに含まれる要素の数を返します。 他のものには、1つの要素しかありませんので、通常 var は配列です。
もし var が配列もしくは Countable インターフェースを実装したオブジェクトではない場合、 1 が返されます。 ひとつ例外があり、varNULL の場合、 0 が返されます。 

array_rand
注意: PHP 4.2.0 以降、 srand() または mt_srand() によりランダム数生成器にシードを与える必要はありません。 これは、この処理が自動的に行われるためです。

2011年6月23日木曜日

loggerの使い方

自分用メモです。
loggerの使い方
どちらでもおすきにどうぞ。
App::getLogger()->log(Zend_Debug::dump($quantity,"quantity<br />"),Zend_Log::ERR);
App::getLogger()->log(print_r($quantity,true),Zend_Log::ERR);

Zend_LogのFirebugのコンソールへの出力について

 Zend_LogのFirebugのコンソールへの出力ができねぇ。できねぇ。と思ってたら
あれはhttpheaderを使ってるからGreeを介してたら使えねーわけだな!?
はっは~ん。してやられたぜww

Zend Framework-Zend_Log Zend_Debug Zend_Db_Profilerの使いどころ?

例外発生時などに
Zend_Log
http://www.4web8.com/2105.html 
http://framework.zend.com/manual/1.11/ja/zend.log.writers.html
  1. $writer = new Zend_Log_Writer_Stream('/path/to/logfile');
  2. $logger = new Zend_Log($writer);
  3. $logger->info('Informational message');
Zend_Log_Writer_Db は、 Zend_Db を使用してログ情報をデータベースに書き出します。 
Zend_Log_Writer_Firebug は、ログデータを » Firebug » コンソール に送信します。
Zend_Exception のログを記録するには、 単にその例外オブジェクトをロガーに渡すだけです。
Zend_Log_Writer_Mail は、 Zend_Mail を使ってログエントリをメールのメッセージに書き出します。
Zend_Log_Writer_Syslogは、 システムログ (syslog) にログ項目を書きます。


開発中のデバッグに
Zend_Debug
http://framework.zend.com/manual/ja/zend.debug.dumping.html

Zend_Db_Profiler
http://framework.zend.com/manual/1.11/ja/zend.db.profiler.html
  1. $profiler = $db->getProfiler();
これは、Zend_Db_Profiler オブジェクトのインスタンスを返します。 このインスタンスのさまざまなメソッドを使用することで、 クエリの内容を調べることができます。
  • getTotalNumQueries() は、 情報を取得したクエリの総数を返します。
  • getTotalElapsedSecs() は、 情報を取得したクエリの実行所要時間の合計を返します。
  • getQueryProfiles() は、 すべてのクエリ情報を配列で返します。
  • getLastQueryProfile() は、最後に (直近に) 実行されたクエリの情報を (そのクエリが 完了したか否かにかかわらず) 返します (クエリが完了していない場合は、終了時刻が NULL となります)。
  • clear() は、スタック上に残っている 過去のクエリ情報をすべて消去します。
getLastQueryProfile() の返り値、および getQueryProfiles() の個々の要素は Zend_Db_Profiler_Query オブジェクトで、 これを使用すると個々のクエリ自体の情報を調べられます。
  • getQuery() は、クエリの SQL テキストを返します。 パラメータつきのプリペアドステートメントの場合、 クエリがプリペアされた時点のテキストを返します。 つまり、プレースホルダを含んだままの形式ということです。 実行時に置き換えられた値を知ることはできません。
  • getQueryParams() は、 プリペアドクエリを実行する際に使用する、パラメータの値の配列を返します。 ここには、バインドパラメータだけでなく execute() メソッドへの引数も含まれます。 配列のキーは、(1 から始まる) 数値かあるいは (文字列の) パラメータ名となります。
  • getElapsedSecs() は、 クエリの実行所要時間を返します。
Zend_Db_Profiler の提供する情報は、 アプリケーションのボトルネックを調査したり クエリをデバッグしたりする場合に有用です。

2011年5月30日月曜日

PHPでのオブジェクト型は参照で代入される。

PHP では通常は値による代入になりますが、オブジェクト型については例外です。 PHP 5 以降、オブジェクトは参照で代入されるようになりました。オブジェクトを明示的にコピーするには clone キーワードを使います。

2011年5月18日水曜日

auでfloatがきかないとか画像へのテキストの回りこみができないとかそんな話

imgタグとテキストを同じ階層?にしないとだめ。

ul,li,で囲むとだめ。

らしい。

糞仕様め!!

2011年4月12日火曜日

ブランチの再統合 subversion マージ ツリーの競合

サーバ・リポジトリが、マージ追跡をサポートしていない場合、「異なる2つのツリーをマージ」でマージする。
リビジョンの範囲をマージでやってたから、マージされてないファイルとかツリーの競合とかおかしかった。
異なる 2 つのツリーをマージ
これは、再統合する方法のもっと一般的なケースで、Subversion に次のことを行うように指示を出しています。「トランクの最新リビジョン [FROM] から ブランチの最新リビジョン [TO] までの必要な変更点を計算し、(トランクの) 作業コピーに変更点を適用します」 最終結果はトランクがまさしくブランチと同様になっているということになります。 http://tortoisesvn.net/docs/nightly/TortoiseSVN_ja/tsvn-dug-merge.html 

2011年4月11日月曜日

累乗の計算

PHP
number pow ( number $base , number $exp )
 baseexp 乗を返します。

MySQL
POW(X,Y),POWER(X,Y)
XY 乗の値を戻します。
mysql> SELECT POW(2,2);
        -> 4
mysql> SELECT POW(2,-2);
        -> 0.25

static functionでの自分自身のインスタンスの作成

 $thisはつかえまてん。

new self(), new parent()

http://blog.xole.net/article.php?id=472 

2011年4月5日火曜日

ブランチの利用 subversion branch

サブバージョンは導入していたけど、
とりあえずみんなでトランクにコミットしているだけ。みたいな状況でした。

今後はトランクは常にそのままエキスポートすれば動作する状態にしておいて

不安定になる開発はブランチきってやりましょう。と考えたのです。

リポジトリに自分用のブランチ、あるいは 自分用の作業の別ラインを作ることです。これは他の人に干渉 せずに、自分の中途半端な作業をときどき保存できるように しますが、それでも同僚との間で、一部の情報については共有する ことができます。

参考リンク
ブランチの利用

2011年3月31日木曜日

Zend_Db_Table における独自の検索メソッドの定義

Zend_Db_Table における独自の検索メソッドの定義

もし特定の条件によるテーブルの検索を頻繁に行うのなら、 独自の検索メソッドをテーブルクラスで実装できます。 大半の問い合わせは fetchAll() を用いて書くことができますが、 アプリケーション内の複数の箇所でクエリを実行する場合には 問い合わせ条件を指定するコードが重複してしまいます。 そんな場合は、テーブルクラスでメソッドを実装し、 よく使う問い合わせを定義しておいたほうが便利です。

Zend_Db_Table

2011年3月30日水曜日

softbank フォームのサブミットボタンの文字が表示されない form submit 840p

ソフトバンクの携帯で一部のformのサブミットボタンの文字がフォーカスしないと見えないという現象がありました。
結論からいうと、文字色が白になってましたorz
auやモバイルシミュレーターでは黒いんですが、
ソフトバンクではサブミットボタンの色も変わっていて見えなかっただけでした。

参考リンク
[携帯]inputタグの文字色が外側のフォントカラー指定に影響される

2011年3月29日火曜日

ディスク使用量を調べるコマンド Linuxサーバー df du


[masanobu@localhost ~]$df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
46G 2.8G 41G 7% /
/dev/hda1 99M 18M 76M 20% /boot
tmpfs 125M 0 125M 0% /dev/shm


[masanobu@localhost ~]$ du -hcs /var/www/html
37M /var/www/html
37M 合計

2011年3月28日月曜日

Zend_Db テーブルへの式の挿入

データ配列の中の値を SQL の式として扱い、 クォートしたくない場合もあるかもしれません。 デフォルトでは、文字列として渡した値はすべて文字列リテラルとして扱われます。 その値が SQL の式であること、つまりクォートしてはいけないということを指定するには、 文字列ではなく Zend_Db_Expr 型のオブジェクトをデータ配列に渡します。
  1. $data = array(
  2.     'created_on'      => new Zend_Db_Expr('CURDATE()'),
  3.     'bug_description' => 'Something wrong',
  4.     'bug_status'      => 'NEW'
  5. );
参考リンク
http://framework.zend.com/manual/ja/zend.db.adapter.html

クラスの作り方

クラスの中身を知るために何階層もたどらなきゃいけないようなのは分かりづらいからだめだ。
つまり今つくっってるのはだめな感じだ・・・。

クラスやメソッドは中身がわからなくても使えるようにするべきなんでしょ?
テレビやリモコン

2011年3月23日水曜日

GreePlatformのOAuth

署名生成時のURLはガジェット通さないアプリのURL
シグネチャーはURLエンコードしてある

2011年2月16日水曜日

2011年2月14日月曜日

Djangoでラジオボタンが作れなーい。

フォームのライブラリ使ってラジオボタンが作れない・・・。
時間切れなのでまた明日。
フォームクラスはmodelの中でいいの?
choicesは・・・?

vi(vim)エディタの設定

:set expandtab でタブ入力がスペースに変換される。
:set ts=4 でタブスペースを4に。
:set numberで行数を表示する。

vi ~/.vimrc
set expandtab
set ts=4
set number



参考サイト
http://homepage1.nifty.com/niwatori/vi/y06.html 
http://www.crimson-snow.net/tips/unix/vim.html

http://kimitakeblog.net/action.php?action=plugin&name=TrackBack&tb_id=154