プログラミング

PHPでURLエンコードされた文字列をJavaでURLデコード出来なかった話

PHPで実装された外部の決済システムとの連携を行っている。 サイトリニューアルに伴いテンプレートを修正しているのだけど、新たに検索ボックスを追加することになった。テンプレートはShift_JISと決められているので、Java側ではShift_JISでエンコードされ…

Table Sorter のエラーメッセージでハマったのでメモ

TinyTable JavaScript Table Sorter というjavascriptのライブラリを利用している。 さっき管理ツールにソート機能を追加するために久しぶりに利用して、見事にハマったのでメモ。 TypeError: T$$(...)[0] is undefined t.h = T$$('thead', T$(e))[0].rows[0…

symfonyで独自loggerを実装する

WEBサーバへログイン出来ない環境でお仕事をした。 phpファイルのコピーは問題ないのだが、各サーバへ出力されたログを見ることが出来ないため、何かしらの解決策が必要になった。各サーバで出力したログを転送したりいろいろアイディアはあったが、インフラ…

Androidでビルドが出来なくなった

Error generating final archive: java.io.FileNotFoundException: C:\devel\MyProject\bin\resources.ap_ does not existいろいろと作業をしていたら、上記エラーメッセージが表示され、ビルドできなくなった。ググってみると、プロジェクトをクリーンしろ…

Zend Log の出力先をデータベースにする

Zend_Log_Writer_Dbを利用する上で、ハマったところをメモ。Bootstrap.php の _initLog() へベタで記述するのが一番ラクだった。 が、開発環境と本番環境で、ログの出力先を変える必要があったので、application.ini との併用が出来ないか試行錯誤してみた。…

MySQLの文字化け対策

PHP + MySQL(eucjpms) な環境で開発を行っていて、行った文字化け対策のメモとあるutf8なテーブルからテキストを取得する際に文字化けが発生した。 まず set names ujisとやったところ、これで一見文字化けが解消されたかと思ったのだけど、まだ「?」のまま…

Zend_Dbのdeleteでハマった話

最近仕事でZend Frameworkを利用することがあって、そのときハマった内容のメモ。delete文を実行するため、Zend_Db#delete($sql, $where)を利用しようとしたのだけど、どうも$whereへ複数指定した場合や主キー以外を指定した場合に上手くいかない。 で、以下…

Androidコードラボに参加した

4/17に行われたコードラボに参加した。当日は以下のドキュメントをベースに進めました http://docs.google.com/View?id=dgvgxqkk_73cmrjfjd8チューターの方々です。いろんなお話を聞かせていただきありがとうございました。 @t_egg さん AsciiのAndroidプロ…

TDDに関心を持つ

同僚に影響を受けTDDやアジャイルとかいろいろ興味を持つようになった。 デブサミには行けなかったけど、「三周遅れのXP -僕とドワンゴのXP」の様子をブログで見たり。 文章を読んでると、心に響くこと言ってるなー

TimeZoneとLocale

いろいろ考えるところがあり、GAE/JのTimeZoneとLocaleを調べてみた。ローカルTimeZone sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] Locale ja_JP appspotTimeZone sun.util.calendar.ZoneI…

Serviceの設計に悩む

RDBMSを使ってるとauto incrementな主キーを作ってしまうけど、BigTableにその機能はない。 で、カウンタを作って対処していたんだけど、ちょっと別の方法に挑戦しようと思った。で、Datastore#allocateIdを使えばユニークなキーを自動的に作ってくれるみた…

slim3のControllerの親クラスを変更する

ケータイ向けにUIDとかを取得するメソッドを追加したControllerを作ってみた。 で、slim3のbuild.xmlのgen-controllerを実行しても、親クラスにならなくてハマったのでメモ1.build.propertiesの書き換え superclassNameを変更したいクラスにするこれでOKか…

Google App Engineを使ってみた

会社の業務で利用できないかいろいろ試してみた。もうケータイの公式サイトで利用している人はいるのかな? データの整合性はそこまで重要ではないので、トランザクションとかにかんしては問題ないのはうれしいところ。 利用したフレームワーク slim3 生のSe…

SQLのtimediff

テーブル内の二つの時間の差を求めたくてtimediff関数を使ったら、思いもよらない挙動が!データベース table1 date1 date2 2009-02-20 00:30:00 2009-02-02 00:20:00 SQL select timediff(date1, date2) from table1 こんな感じでSQLを実行してgetTime(1)を…

MySqlで日付型のフィールドが指定されていない場合のエラー

この場合、Exceptionがスローされる。 スローされないようにするには、zeroDateTimeBehavior=convertToNullを設定へ追加すれば良い。本来ならアプリ側で日付指定がヌケてるので、こんな方法で対処するのは間違いなんじゃないかと思うけど。

Slim3への期待

メインの仕事(ケータイサイトの構築)に使ってるのはStruts + Spring Framework。 会員管理やらログやらなにやらをモジュール化してDIして毎回サイトを作ってるわけなんだけど、メイン以外の仕事(社内案件 とか)は最近はSAStrutsで作ってる。 で、もうコ…

Springでautowireさせない方法

いままで知らなかったんでメモ。・問題 あるインターフェースを実装したクラスがbean定義ファイルに複数登録されていて、autowire時にエラーが発生した。・解決方法 bean定義ファイルでautowireさせたくないクラスを定義しているタグのautowire-candidate属…

SAStrutsのActionFormをセッションスコープで運用する

SAStrutsのActionFormをセッションスコープで運用しようと思って、機能リファレンスを見たわけだがhttp://sastruts.seasar.org/featureReference.html#ActionFormどうも上手くいかなかった。内容は忘れたけど、エラーが出て。で、昨日再挑戦したわけなんだけ…