サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
bayside.hatenablog.com
いまだにハマッたまま抜け出せないので、もう諦めて別の方法で回避していますが、symfony で $this->redirect('fuga/hoge?sid=xxxx'); とすると /fuga/hoge/sid/xxxx に勝手に変換されてリダイレクトされます。 てめー!なんで指定したとおりにリダイレクトしねーんだよ!!!!! と何度キレたことか・・。 この勝手な書き換えのせいで、携帯用のセッションIDが正しく渡せません。 guid=ONも/guid/ONに書き換えやがるので、ドコモの端末固有IDがとれません。 $this->redirect('http://test.com/fuga/hoge?guid=ON&sid=xxxx'); みたいに書けば一応動きます。Zend Framework では $this->_redirect('/fuga/hoge?guid=ON&sid=xxxx
精度は悪くなるが、簡易位置情報のほうが対応機種が多く、取得時間も短い。 ■au<br> <a href="device:location?url=http://example.jp/location">簡易位置情報の取得(高速)</a><br> <a href="device:gpsone?url=http://example.jp/location&ver=1&datum=0&unit=0">GPS情報の取得(対応機種)</a><br> ■docomo<br> <a href="http://w1m.docomo.ne.jp/cp/iarea?ecode=OPENAREACODE&msn=OPENAREAKEY&nl=http://example.jp/location&posinfo=2">簡易位置情報の取得(全機種)</a><br> <a href="http
Zend_Pfd を使って、PDF を生成してみました。結果からいうと日本語でもフォントさえあればちゃんと描画できるようです。画像を表示するには php-gd が入っている必要があります。 Util_PDF IPAゴシックフォントを入手して、適当なところに置き、その場所を指定します。Zend_Pdf_XXX と何百回も書かなくてもすますためのラッパーです。 <?php class Util_PDF { public $pdf; public $font; public $page; /** * コンストラクタ */ public function Util_PDF() { $this->pdf = new Zend_Pdf(); $this->font = Zend_Pdf_Font::fontWithPath('/somewhere/ipag.ttf'); } /** * 新しいページを
「ZendFramework勉強会@Tokyo」で「Zend Framework ではじめる携帯サイト」という題目で発表してきました。 資料を置いておきますので、よかったらお読みください。 ZFではじめる携帯サイト (PDF) 勉強会の URL はこちら http://events.php.gr.jp/events/show/72
お仕事で ZF アプリを作っていると、パフォーマンスも考えなくてはいけません。とりあえずこんな改善策をやってみました。 realpath キャッシュ PHP 5.1 からは絶対パスを使うと realpath キャッシュというのが効いて、パフォーマンスが改善するようです。幸い、ZF のアプリでは、index.php が置いてある場所だけがわかれば、あとはそこから引けるので、以下のように値を設定しておきます。 define('APPLICATION_PATH', realpath(dirname(__FILE__))); include_path 最適化 Zend Framework のパフォーマンスガイドにこうあります。 クラスの読み込み速度を上げるためにできる簡単な方法のひとつに、 include_path に気をつけるということがあります。特に大切なのは次の 4 つです。 絶対パス (あ
携帯電話向けに、どうしても件名と本文に半角カナを入れる必要があり、数時間格闘したら、ようやく Zend_Mail で半角カナを送信することができました。 ドコモ、au、ソフトバンクで文字化けしないことを確認しました。Zend Framework のバージョンは、1.7.5 です。 sub send_mail($params = array()) { // subject $subject = mb_convert_encoding($params['subject'], 'JIS', 'SJIS'); // body $body = mb_convert_encoding($params['body'], 'JIS', 'SJIS'); // from_name if ( isset($params['from_name']) ) { $params['from_name'] = mb_e
先月末(2008年12月)、わずか4か月勤めた会社が突然倒産しました・・・ orz。 前職に比べ、お給料もUPして、やっと貯金が始められる!と思った矢先の突然の出来事。 ホームレスギリギリ状態で(先月分の給料もらえてません・・・)、1月は面接ラッシュでした。 短い間でしたが、キャリア的にはいろいろな経験を積めて、面接を有利に進めることができたので、結果的にはよかったのかもしれませんけどね^^。 というわけで、2/1 からバズー株式会社に入社しました! http://buzoo.jp/ 携帯系の会社で、エンジニアとして心機一転がんばりたいと思います。 ちなみに社長とは同じ大学の出身。年齢も1歳差で、すごく親近感があります^^。 どうぞよろしくお願いします。
携帯対応 Apache モジュールの mod_chxj が 0.12.24 にバージョンアップしています。ダウンロードはこちらからどうぞ。 http://sourceforge.jp/projects/modchxj/releases/36383 機種固有情報の取得、全角カタカナ→半角カタカナの自動変換に対応してますます使いやすくなっています。debian、CentOS 用の rpm もありますので、すぐに試してみることが可能です。 機種固有情報の取得 以下のように機種固有情報を設定してくれます。 http://sourceforge.jp/projects/modchxj/wiki/envinfo PHP なら $_SERVER['X-Chxj-Provider'] などで取得できます。キャリア、機種ごとに個別の処理が入るときに大変重宝します。 全角カタカナ→半角カタカナの自動変換 Z2
いまさらですが、8/31 をもってシャノンを退職いたしました。 先月の 9/1 から新しい会社で働いています。 田町にあるベンチャー企業です。 B2Cで、幼児教育のポータルサイトを運営しています。 B2C、コンテンツ配信は社会人になってからずっと興味のあった分野なので、楽しみです。 毎日、目が回るような忙しさですが、その分とても充実しています。 難点は、毎日帰宅すると、とんでもなく疲れていて、すぐ寝てしまうこと。 (おかげで仕事以外の活動が一切できません・・・) 毎日11時前には布団に入って、7時前には起きるという超健康的な生活をしてます。 ちなみに田町は、慶應大学三田キャンパスがあるので、とても懐かしい町です。 私は理工学部なので、田舎の日吉キャンパスでしたが、 サークルの練習や三田祭で三田キャンパスを訪れたときは、 そのアカデミックな雰囲気に感動したものです。 あと、桜田通りから見える
奥さんのアイデアを実現化しました。旅行に行きたいけど一緒に行ってくれる人がいないという方におすすめのサイトです。ぜひご利用ください。 旅の仲間をさがすマッチングサイト - たびふれ 現在絶賛ベータテスト中です。ご意見・ご要望は http://tabifure.com/contact までどうぞ。 機能追加 非常に簡単ですが、サイトの使い方を書いたヘルプを追加しました プロフィール変更を機能するようにしました
Zend Framework ではモデルの使用はオプションになっていますが、O/Rマッパー自体は用意されているので、それを使ってみます。今回は test_db というデータベースに test_table_name(主キーは test_primary_key)というテーブルがある前提にします。アプリケーションの構造は推奨にのっとって以下のようにします。 test/html/index.php test/application/models/Dao/Test.php test/application/views/scripts/index/index.phtml test/application/controllers/IndexController.php test/html/index.php models 以下にはパスが通っていないので、パスに追加します。Zend Framework の
http://d.hatena.ne.jp/tokuhirom/20080603/1212456790 http://itpro.nikkeibp.co.jp/article/COLUMN/20080513/301453/ いまだに世間ではオブジェクト指向ですらない CGI が溢れている事実を見れば、2006年の Catalyst の記事なんて全然古くないと思います。2006年は Class::DBI という O/R マッパーが使われていましたが、現在は DBIx::Class という O/R マッパーが主流という違いくらいはありますが・・(itpro が Ruby ネタに飽きて、Perl ネタを掘り起こしてきたという裏読みもできますが)。 Catalyst::Plugin を非推奨にしようというのは、先日行われてた Catalyst カンファレンスでのプレゼンテーションと英語圏でのメーリ
niconico記法初体験。英語の勉強、寝る前のBGMに最適です(笑)。 Perl Is unDead - Michael Schwern (Schwern) A Standard That Is Meant To Be Broken, 本当に! - Larry Wall yapcasia2008-dmaki Build Domain Specific Languages with Perl - cwest Gungho and cloud computing - Jeff Kim Improving your Catalyst application - jrockway 20 modules I haven't yet talked about - miyagawa Perl Love for JavaScript Hackers - Ingy döt Net Branch M
今日は6時に起きて前日のレポートを書きました。自宅から会場まで Door to Door で 1時間くらいかかるので、9:45 の一番初めのセッションに出るためには 8:45 に家を出ないといけません。すごい朝型!さきほど帰宅しましたが、もうすでに相当眠いです・・。 FormValidator::Assets FormValidator::Simple はそこそこ使いやすい もっと DRY にしたい input の name をベースに設定する 設定を username.pl, password.pl みたいに作ってディレクトリ以下にごそっと置く Catalyst の setup 時などにまとめて設定を読み込む 絶賛開発者募集中 Moose Class:MOP のシンタックスシュガー 型がある 型変換がある プロパティの読み取り、書き込み属性の設定 抽象クラスっぽい Role というものが
今年も Perl 最大のお祭りが日本にやってきました。今年の会場は東京工業大学大岡山キャンパスでした。天気がよく、緑が多くて広大なキャンパスで、学生時代に戻った気になりました。生協食堂の値段の安さにびっくり!学生に戻りたくなりましたよ。id:higepon 他、おなじみの Perl モンガーがたくさんいました。 Continuous Testing 継続テストの話。.pm ファイルの変更を検地して、自動的に .t を呼んでいました。テストが終わったら Log::Dispatch::MacGrowl を使うと Mac のポップアップで教えてくれるようです。会場は確かに Mac だらけでした!でも、Thinkpad も結構いましたよ!あと Devel::Covered がいいよと質問者の方が言っていました。 Perl Black Magic - Obfuscation, Golfing and
PHP5 では __autoload というメソッドをオーバーライドすることで、require_once から解放されます。Zend Framework を使うことで、この機能を意識せずに使えるようになります。 ディレクトリ構成 Zend Framework には MVC の仕組みがありますが、今回はそれを使わずにオレオレ MVC に適用してみます。 index.php Test/Container.php Test/Dao.php Test/Dao/User.php Test/Controller/User.php Test/Logic/User.php scripts/user/list.php index.php リクエストを一手に受けるスクリプトです。Zend_Loader::registerAutoload() を呼ぶことで __autoload を意識せずに使えます。requi
Java でも最近はホットデプロイといって、プログラムを変更したあとでサーバーを再起動させずにプログラムの更新を反映させる機能がついています。 PHP ではなにも考えずにファイルを上書き保存すれば、即座に反映されます。 プログラムの開発というのは非常に集中力が必要なので、サーバーの再起動時間に数分あるいは数十分かかる場合、再起動の度に集中力が途切れてしまい、著しく生産性が低下して、ほとんど仕事になりません。 対して、Catalyst アプリでは、1行変更しただけでもサーバーの再起動が必要で、いつもイライラしっぱなしです。これなら多少遅くても CGI のほうがいいよ・・・と思うこともしばしばです。 これって Ruby on Rails でも一緒ですよね?なんで話題にならないのでしょうかね?実は再起動が不要な秘策があるのでしたらぜひこっそり教えてください! 以前 Module::Refresh
Flash からログインしないと見れないデータを取得する方法です。 最初は flash.net.URLLoader を使って、requestHeaders に Cookie を指定してみたのですが、例外が出て使えませんでした・・(API ドキュメントにはそんなこと書いてないのに!)。 仕方がないのでソケットを使って接続してみました。ActionScript 3.0 からはソケットを扱えるようになったので、ポート80番を開いて生の HTTP リクエストを投げれば Cookie を付与することも可能です。 どちらにしてもあらかじめセッションIDをなんらかの方法で取得する方法があります。 HttpGetter.as package { import flash.display.Sprite; import flash.events.Event; import flash.events.Progr
配列と連想配列(ハッシュ)と配列リファレンスとハッシュリファレンスの書き方が全部異なるのが、Perl を異界の呪文に見せている原因だと思います。正直自分も時々忘れますし、全部 Array で済む PHP のほうが最近は好きです(PHP5の話、PHP4はたぶん一生使いません)。 関数内で中身を書き換えたいときはリファレンスにして渡します。配列や連想配列(ハッシュ)のまま関数に渡すと値が全部展開されてコピーされるので、メモリーもすごく食うし、時間もすごくかかります。通常はリファレンスで扱ったほうがいいと思います。 ただ、リファレンスを配列や連想配列(ハッシュ)として扱いたいときは @$array や %$hash とデリファレンスしてやらなければならないので、これはこれで面倒くさいですが・・・。 結論:Perl は使うな(笑) ちなみにスカラーとスカラーリファレンス、関数と関数リファレンスもあ
ファイルアップロード機能を追加してみます。ファイルはデータベースに格納します(ロードバランシング環境で必須なので)。PostgreSQL を使っていますが、MySQL でもほとんどそのまま動くと思います。PHP は始めたばっかりなので、おかしいところがあるかもしれません。エラーチェックも適当です。 file_data.sql CREATE TABLE file_data ( id SERIAL PRIMARY KEY NOT NULL, file_size INTEGER DEFAULT '0' NOT NULL, file_type TEXT NOT NULL, file_data TEXT NOT NULL ); application/controllers/TestController.php <?php class TestController extends Zend_Cont
mod_ssl を使うと apache がメモリと CPU を食いまくり、非常に効率が悪いので、pound を使って SSL ラッピングしてみます。ついでに負荷分散もできて一石二鳥です。 /etc/apache2/ports.conf の編集 Listen 80 -> Listen 8080 /etc/site-available/example の作成 NameVirtualHost *:8080 <VirtualHost *:8080> ServerName example.com DocumentRoot /somewhere/example.com <Directory /> Options Indexes FollowSymLinks AllowOverride FileInfo </Directory> </VirtualHost> <VirtualHost *:8080> S
今日は仕事を早めに切り上げて参加します。 http://coderepos.org/share/wiki/CatalystCon1 以下おおざっぱなメモです。資料のリンクがあるものは資料をみたほうが早いと思います・・。 Catalyst と MVC (id:dann) http://www.slideshare.net/techmemo/catalyst-367905/ WAF (Web Application Framework) における MVC の関係 Catalys::Model::* は Catalyst に依存してしまう MVC の M は PoPo (Plain Old Perl Object) で テスト性の向上 テストの実行速度向上 CLI (Command Line Interface), WebAPI でも使える エンタープライズ アプリケーションアーキテクチャパター
昨日、携帯向け Apache モジュール mod_chxj バージョン 0.10.3 がリリースされました。 http://sourceforge.jp/projects/modchxj/files/?release_id=30473#30473 mod_chxj には以下のような機能があります。 CHTML や HTML を User-Agent を見て適切な形(docomo向け、au向け、softbank向け、PC向け)に自動で変換してくれます 余計なタグがあれば削ってくれます 文字コードも各機種向けに変換してくれます 絵文字も各機種向けに変換してくれます jpg, gif, png などの画像も各機種向けに変換してくれます タグの変換に失敗した場合、Apache のログでまずい箇所を指摘してくれます QRコードを出力できます docomo の cookie 非対応端末向けに cook
本来、MVC の M はロジックを含み、C はイベントハンドリング、ウェブアプリケーションでいえば、画面遷移のみを担当します。 Catalyst でスキーマローダーをつかって、MyApp::Model::XXXX を自動生成してしまうと、「テーブル:モデル=1:1」という COBOL 全盛期みたいなアーキテクチャになってしまいます・・。それで、仕方なくロジックを C に書くようにすると、C が見るも無残なほど膨れ上がってしまい、メンテナンスの困難な製品ができあがります(笑)。Rails や Catalyst でも、こういう作り方を推奨している雰囲気があります。 「テーブル:モデル=1:1」が許されるのは、Rails や Catalyst で本当に小さいアプリケーションを作るときまでで、多少大きいアプリケーションを作ろうと思ったら、MyApp::Model::XXXX を自動生成するなら、M
DBIx::Class::Schema::Loader を使うとデータベースのスキーマを自動的にモデルに変換してくれます。ここでは、さらに複数のデータベースのスキーマを動的に作成して、マルチベータベースを使うための方法を紹介します。 DBIx::Class::Schema::Loader には make_schema_at というメソッドが用意されているのでこれを使います。 HogeSchema.pm スキーマローダを継承したクラスです。 package HogeSchema; use strict; use warnings; use base qw/DBIx::Class::Schema::Loader/; sub make_schema_at { return DBIx::Class::Schema::Loader::make_schema_at(@_); } 1; test.pl
mod_chxj を試しに使ってみようと、mod_chxj のバージョン 0.8.0 のソースコードをダウンロードしてきて、make を始めたのですが、開発機の Apache のバージョンが 2.2 だったため、いろいろはまりました(mod_chxj は Apache 2.0 で動かすことが前提のようです)。 src/mod_chxj.c APR_BRIGADE_FOREACH マクロがどうのこうのと言われて、コンパイルが止まってしまいました。調べてみると、現在では推奨されていない使い方だったので、パッチを当てました。 http://www.schumann.cx/docs/apr-util/group__APR__Util__Bucket__Brigades.html#a80 976 /* broke down deprecated APR_BRIGADE_FOREACH() macro
http://www.packtpub.com/catalyst-perl-web-application/book Accelerating Perl Web Application Development Understand the Catalyst Framework and MVC architecture Build and test a site with Catalyst Detailed walkthroughs to create sample applications Extend Catalyst through plug-ins Catalyst 全般を扱うのに200ページはちょっと少ない気もしますが、入門書としてはちょうどよさそうな内容です。 問題なのは、Catalyst 本というと、一般にはシスコのルータ用の本だと勘違いされやすいことでしょうか・・。 「Fre
http://narucissus.blogspot.com/2006/09/postgresql.html CentOS4.3でPostgreSQLを使っていたら、日本語が入っている列をキーにしたソートが正しく行えていませんでした。この現象を回避するための日本語の情報がある程度ネットでも検索できますが、一応備忘録も兼ねているので書いておきます。 Google 先生に聞いたらかなり既知の問題のようですね・・。知らずにハマってしまいました。
あとで書くと絶対忘れそうなので、聞きながら即興でメモしていました。以下ただのメモ書きです。 MogileFSのplugin拡張 どうやってプラグインを書くか ロギングとか CPANにあるからみんなもトライ!! Class::Component よくわからなかった・・ POD参照 なおやんいじり JavaScript::Writer Perl -> JavaScript 自動生成 jQuery大好き(w 目的なし(w いつかはJSANのライブラリを全部これで書けるようになりたい $js->alert(42); # -> alert(42); $js->jQuery("#foo")->show(42); # -> jQuery("#foo").show(42); Practical Web Scraping with Web::Scraper 1999年からあるよ RSSないときもあるよね R
次のページ
このページを最初にブックマークしてみませんか?
『Devel::Bayside』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く