タグ

ブックマーク / www.1x1.jp (18)

  • 約半月で 4,000,000PV を華麗にさばく Google App Engine

    「なんでも判定ツクール」へ多数のアクセスありがとうございますm(_ _)m 1月末にリリースした当初は僅かのアクセスだったのですが、Twitterで火が付いてからは一気にアクセスが集まり、気が付けば2月1日〜2月16日で4,000,000PVを超えました。 自分では絶対に考えつかないであろうユニークな判定がたくさんできて、私自身もとても楽しんでいます:-D(面白い発想をする人は世の中にたくさんいるものです) このサイトはGoogle App Engine(GAE)+Pythonで構築しているのですが、このアクセス数ならではのGAE上で体験できたことをざざっと書いていきます。 無料?課金? まずはじめに大事なこと。 「なんでも判定ツクール」ではGAEを課金状態にしています。無料のQuotaではとてもではないですが、このアクセスは捌けません:D GAE公式サイトには 月間約 500 万ページ

  • Google App Engineで独自ドメインを使う

    Google App Engine(GAE)で独自ドメインを使う方法です。 GAEに設置したアプリケーションはデフォルトでは、[アプリケーションID + .appspot.com]というドメインでアクセスすることができます。 また、これとは別に独自ドメインをアプリケーションに割り当てることもできます。 独自ドメインを割り当てる方法は知っていないと嵌りやすいので手順を書いておきます。 仕組みと手順 まずは仕組みから。 GAEでの独自ドメイン割り当ては、独自ドメインのCNAMEでGAEサーバを指すことで実現します。よって独自ドメインのDNSが設定できる必要があります。 私はドメイン管理にムームードメインを使っているのですが、ムームードメインではコントロールパネル(Web管理画面)にてDNSの設定ができます。 次に手順。 前提として独自ドメインは既に取得済みとします。 Google Appsを申

  • ドキュメント作成に参考になる公開ドキュメント集

    Webシステムにてドキュメントを作る際に参考になる公開されているドキュメントを集めてみました。 見た限りはどれも無償で利用可能なようですが、実際に利用される際は規約等をご確認下さい。 発注者ビューガイドライン http://sec.ipa.go.jp/reports/20080710.html 形式:[PDF] IPAが公開しているドキュメント作成ガイドラインです。 発注者とSIerの間で意思疎通を図ることを目的としているので、内容も詳細でかつ分かりやすいです。分量がかなり多いのですが、JavaでおなじみのPet Storeを題材に具体的なドキュメントが載っているので、ざっと見てみるだけでも参考になると思います。 ただ小規模案件だと、このガイドラインどおりに全てのドキュメントを揃えるのはムリがあると思うので、使えそうな部分だけ上手く利用するのが良いでしょう。 関連書籍も出ているようなので、

  • スターバックスのメンテナンス画面が男前過ぎる件

    スターバックスさんには、いつもお世話になっています。 フレペチーノ美味しいし、店員さんの対応は素晴らしいし、店の雰囲気は良いし、ソファーもあるし、あと禁煙なのはタバコ吸わない人間には有り難いです。 人と会うときにも、読むときにも、PC作業するときも欠かせない空間です。 そんなスターバックスさんのWebサイトがメンテナンスされている事をTwitterの@mhagさんのpostで知りました。 @mhag: https://www.starbucks.co.jp/ すごいメンテ画面だ http://twitter.com/mhag/status/2831820619 あーさすがスタバ。Webでも癒されるのだろうと開いた画面が以下。 [魚拓] http://s01.megalodon.jp/2009-0725-1324-58/https://www.starbucks.co.jp/ スゴイですね

  • CSS Nite in Osakaで感じた勉強会との違い

    6/10にアップルストア心斎橋で行われたCSS Nite in Osaka Vol.16に参加してきました。 近頃はもっぱら技術系(というかPHP系)の勉強会にしか参加していないので、デザイナーさんのイベントに参加するのは新鮮でした。あと運営、発表に全く関わっていないイベント参加が久しぶりだったので、気楽に行ってきました:-D 参加して率直な感想は「楽しかったー」です。特に懇親会ではテーブルでご一緒した方々がノリが良い方ばかりだったのでとても楽しい時間を過ごせました:-D 主催の秋葉さんをはじめ運営スタッフの皆さんありがとうございました。 実際に参加して、普段の技術系勉強会とは違うというか新鮮だった箇所が色々とあったので、今後のためにメモです。 1. 女性率が高い! アップルストアには20:00頃に着いたのですが、会場に入ってすぐに感じたのが女性率の高さでした。その場は3、4割くらいが女性

  • CakePHP 目で見るフックメソッド

    第2回CakePHP関西勉強会でやったデモをこちらでも。 CakePHPには色々なフックメソッドがあるのですが、それらがどのタイミングで呼ばれるかを一覧できるようにデモを行いました。懇親会やアンケートでも良かったよ、と意見を頂いたので、簡単に画面のキャプチャを並べます。 1. Controllerのフックメソッド Controllerのフックメソッドを並べています。index()はアクションメソッドなので、ここで表示されているフックメソッドは3つです。 ソース <?php class DemoController extends AppController { public $uses = array(); public function index() { } } ?> フックメソッドの並び 2. Componentのフックメソッド Controllerの$componentsを設定して

    ohsuga
    ohsuga 2009/06/11
  • CakePHP routes.phpの確認はユニットテストで

    routes.phpを仕様に合わせて設定しておきます。 <?php // Router::connect('/:user_id/edit', array('controller' => 'user', 'action' => 'edit')); Router::connect('/', array('controller' => 'top', 'action' => 'index')); Router::connect('/:user_id/*', array('controller' => 'user', 'action' => 'index')); // Nothing Router::connect('*', array('controller' => 'nothing')); ?> 最後はシステムが取るべきURL以外ならNot Foundを出すように設定しています。これにより想定外

  • CakePHP アプリケーション実行の流れをシーケンス図で書いてみた

    CakePHP関西勉強会での発表のためにアプリケーション実行の概要をシーケンス図で書いてみました。 具体的にはDispatcher#_invoke()[cake/dispatcher.php]が、コントローラ・コンポーネント・ビュークラスの各メソッドを呼び出す流れです。これを見るとアプリケーション側の各メソッドがどの順序で呼び出されるかが分かります。 なお図にあるUserControllerとUserComponentは、アプリケーションで定義しているものです。 勉強会での発表資料に解説があるので、そちらも参考にして下さい。 @see CakePHP関西勉強会終了しました&発表資料 cakephp_dispatcher__invoke_sequence.pdf

  • 携帯電話を無くした時に知っておくこと au編

    昨日、携帯電話を無くしました。。。 飛行機で出張から帰ってきたのですが、空港に着いて、空港バスに乗った時に携帯電話が無いことに気づきました。飛行機はチケットレスだったので、乗り込む直前に手元にあったのは間違い無い(携帯でQRコードを表示して、ゲートをくぐったので)のですが、そこからの行方が分かりません。 思い返してみると、普段飛行機を降りるとまず携帯の電源を付けるのですが、それをした記憶が無いですし、なぜかそっちに気が回ってませんでした*1。 さて、ここから手続きやらをするわけのですが、結構知らないことが多かったので、メモしておきます。 手続き情報を確認する まずはauでどういう手続きが取れるかを確認します。 手続きはtelでもWebでも可能なようです。今回はtelで手続きしました。 auの総合サポートサイト:料金照会・住所変更・各種お手続きなど 「携帯体やEZweb – 盗難・紛失」

  • 今見ているURLを手軽に携帯に移せるFirefox拡張-Mobile Barcode-

    携帯サイトの開発中にPCで見ているページを携帯で見たい時ってありません? これまではURLをメールで送ったりしてたのですが、これが意外と面倒だったります。なんとかならんかなあ、と思ってたところで、知ったのがMobile Barcodeです。 Mobile BarcodeでURLのQRコード生成 Mobile Barcodeは名前から想像できるとおり、今アドレスバーに表示されているURLをQRコードで表示してくれる拡張です。 操作も簡単で、ステータスバー右にある「Barcode」の部分にマウスカーソルを当てるだけでQRコードを表示してくれます。あとはQRコードを携帯のバーコードリーダーで読めばokです。 最近の携帯のバーコードリーダーは精度も上がっていて、瞬時に認識してくれるので楽チンですね。 QRコード生成は外部サイトを利用 ただ1つ気をつけないといけないのが、この拡張は自身でQRコード

  • vodafone.ne.jpアドレスのメールサーバが変わってた

    この話は一般的なMTA経由でメールを送る場合は問題ありません。専用メール配信システム等でキャリアのメールサーバに直接配信する時のみ関係ある話です:-D vodafoneメールアドレスのメールサーバが気がついたら変わってました。 まず各地域アドレスのMXレコードですが、以前は各地域毎にMXが異なっていたのですが、全てmx.k.vodafone.ne.jpに統一されています。 これ自体は以前から変わっていたような気もするのですが、地域毎のメールサーバが生きていたため、実は各々のメールサーバにメールを送ることが可能でした。 しかしここ数ヶ月の間で、[rnsq].vodafone.ne.jpの地域メールサーバ自体が存在しなくなったようで、それらのアドレスに送るには、MXレコードで指定されているmx.k.vodafone.ne.jpを利用するしかなくなりました。 各地域のアドレスを調べてみると以下の

  • CakePHP PostgreSQLではgetInsertID()に注意

    @deprecated この情報はCakePHP1.2RC1までのものです。2008/06/26現在のリポジトリではチケットが反映され修正が完了しています。 CakePHP+PostgreSQLでModel#getInsertID()を使う場合、別セッションのシーケンス値が取得される問題があります。 問題点 ユーザ情報とその付加情報や、注文情報と明細情報などINSERT後にそのレコードに関連する情報としてid値を活用する場合、来とは異なるレコードに結びつく可能性があります。 ex) 別の注文情報に明細が登録される等 ただ、これはほぼ同時にINSERT文が発行された際に起こる現象ですので、それほど登録処理が行われないサイトではあまり遭遇するものではありません。(ですので、これまであまり表面化しなかったかと。) CakePHP1.2RC1/1.2-beta/1.1.19でこの問題があります。

  • CakePHP 1.2で携帯用ビューを表示する | Shin x blog

    CakePHP1.2ではCakePHP 携帯用ビューを表示するで利用していたwebservicesの機能が無くなります。 1.2-betaでRouting.webservicesをonにすると以下のようなメッセージが表示されます。 Deprecated: webservices routes are deprecated and will not be supported in future versions. Use Router::parseExtensions() instead. The prefix automagic in CakePHP routingで紹介されているように、1.2からはwebservicesに替わりprefixをURLルーティングで使用するようです。 そこで実際にどのように使用するかを試してみました。 1. URLルーティングでprefixを設定する Rou

  • CakePHP 1.2でPostgreSQLを使うとエラーが出る

    あ,そうだ。PostgreSQL だともうなんだか色々エラーが出てるので諦めちゃいました……。 1.2を試してみました – まゆの日記 同じエラーかどうか分かりませんが、同じような現象があったので。 CakePHP1.2.0.5875 pre-betaでPostgreSQLに接続しようとすると以下のようなエラーが出ました。 Warning (2): pg_query() [function.pg-query]: Query failed: ERROR: syntax error at end of input at character 20 [CORE\cake\libs\model\datasources\dbo\dbo_postgres.php, line 123] 原因は[app/config/database.php]に追加された「schema」パラメータです。このパラメータを使う

    ohsuga
    ohsuga 2007/11/26
  • PHPでメールの重要度を設定する

    PHPでテストしてみました。mb_send_mail()でメールヘッダを設定しているだけです。 <?php $to = 'hoge@example.com'; $subject = 'subject'; $body = 'body'; // ヘッダで重要度高を設定する $header = 'Priority: urgent'; //$header = 'X-Priority: 1'; //$header = 'X-MsMail-Priority: High'; mb_language('ja'); mb_send_mail($to, $subject, $body, $header); ?> このコードを実行すると、手元のBecky!では受信したメールに重要度高が設定されているのが確認できました。 どのヘッダを使用するかですが、Becky!では3つの内、どのヘッダを使用しても重要度が設定さ

    ohsuga
    ohsuga 2007/11/03
  • PHP5.2.4ではPHPエラーでHTTP 500を返す

    via: Gregory Szorc’s blog – PHP Now Using Proper HTTP Status Codes on Error PHP5.2.4ではPHPエラーでHTTP 500 Internal Server Errorが返ってくるようにです。 PHP5.2.4RC3で試してみると、以下のような「Fatal Error」や「Parse Error」などスクリプトの実行が停止するようなエラーではHTTP 500が返ってきました。 <?php // Fatal Error: Call to undefined function a() a(); ?> <?php // Parse error: syntax error, unexpected '}' $f = true; if ($f) echo "a"; } ?> 例外投げてcatchしない場合も同じです。 <?p

  • CakePHP 携帯用ビューを表示する

    サイトにPC用と携帯用がある場合、PC用とは別に携帯用の表示を行う方法です。この方法なら同じコントローラ・アクションで、レイアウトとビューファイルを変更することができます。なお携帯版のURLは[/m/]で始まるようにします。 1.URLルーティングを設定する。 [app/config/routes.php]で[/m/]からURLが始まる場合にwebservicesとして扱うように設定します。 [app/config/routes.php] <?php (snip) $Route->connect('/m/:controller/:action/*', array('webservices' => 'Mobile')); ?> 2.WEBSERVICESを有効にする。 webservicesがフレームワーク内でサポートされるように設定を変更します。 [app/config/core.php:

  • CakePHP 比較演算子インジェクションに注意

    @deprecated この情報はCakePHP1.2betaまでのものです。1.2RC1についてはこの方法は有効ではありません。詳しくはCakePHP 1.2RC1からは比較演算子をキーに書くをどうぞ。 CakePHPのモデルで検索条件を指定する場合は比較演算子に注意が必要です。 検索条件では↓な感じで条件値の他にSQLの比較演算子を入れることができます。 <?php class UserController extends AppController { funtion index($id) { $id = is_numeric($id) ? $id : 0; // $id より大きなidを持つレコードを取得 $list = $this->findAll(array('id' => '> ' . $id)); $this->set('list', $list); } } ?> これを見

  • 1