タグ

2010年1月19日のブックマーク (14件)

  • PHPの次の十年のためのフレームワークBlankaの話 - id:anatooのブログ

    http://github.com/anatoo/Blanka タイトルはここからインスパイアされた。 最近PHP5.3で動く新しいウェブアプリケーションフレームワーク作っている。 まだ一度もリリースしていないが以下その概要について箇条書きとサンプルコードを少し書く。 PHP5.3以上で動く コントローラ = コールバック コントローラを作るのに必ずしもクラスを書く必要がなく、匿名関数でもよい hello worldのコード <?php include_once '/path/to/Blanka.php'; Blanka::app()->respond(function($b) { return 'hello world'; }); コントローラの最初の引数には必ずBlankaオブジェクトが渡される。 Blankaオブジェクトは、リクエストを得るためのメソッドや、レスポンスを返すメソッド、

    PHPの次の十年のためのフレームワークBlankaの話 - id:anatooのブログ
    bigbro
    bigbro 2010/01/19
    "全部DIコンテナで管理すればおk"
  • PHPのlist表現を使おう - id:anatooのブログ

    PHPにはlist表現というものがあるが、積極的に使われているのをあんまり見ない。 これはおそらくlistの以外な便利さが詳細まで知られていないからかと思う。 そこでこの記事ではPHPのlistの使い方を細かく説明していくことにする。 基的な使い方 list表現は代入式の左辺で使われ、右辺の配列の要素を一連の変数に代入する事が出来る。 そのlistのごく基的な使い方の例が以下。 <?php list($first, $second) = array(1, 2); 変数$firstに右辺の配列の0番目の要素が代入され、変数$secondに右辺の配列の1番目の要素が代入される。 listの外見は関数の呼び出しとほとんど変わらないので奇妙に見えるかもしれない。 上のコードは、以下とほぼ同じ意味を持つ。 <?php $arr = array(1,2); $first = $arr[0]; $s

    PHPのlist表現を使おう - id:anatooのブログ
    bigbro
    bigbro 2010/01/19
    みんな大好き list です
  • PHPのコールバックを使いやすくする - id:anatooのブログ

    PHPのコールバックは少し使い辛いので、それを和らげるようなスニペットを実験的に書いた。 コードはこんな感じ。 <?php class Curry { protected $callback, $bind; protected function __construct($callback, Array $bind) { if(!is_callable($callback)) throw new InvalidArgumentException; list($this->callback, $this->bind) = func_get_args(); } static function make($callback, $bind) { return array(new self($callback, $bind), 'invoke'); } function invoke() { $arg

    PHPのコールバックを使いやすくする - id:anatooのブログ
    bigbro
    bigbro 2010/01/19
  • http://blog.quall.net/program/302/

  • PEAR::Package::Pager を使わずphpでページング処理ができるpager()関数: 駄文と書評

    こんにちは、トカちゃんこと、渡嘉敷勝男です(嘘です)。 先日作成した Flickr語検索 では、検索結果が多い場合にページ別に分けて結果を表示している。 通常検索エンジンで検索した際、その検索結果が多い場合に、「 1 2 3 4 5 6 7 8 9 10 次へ>」のようなナビゲーションがされるが、まあ、これと殆ど同じよーなものである。 phpでの実装方法がよくわからなかったのだがどうやら Pear::Pagerの使い方 (Nega Diary) を見ると PEAR :: Package :: Pager を利用するのがよろしいっぽい。 しかし、レンタルサーバなどで、気軽に PEAR ライブラリを入れられない場合は自前で実装する必要があるよーである(うーむ) で、いろいろ探していたら、教えてgooにそのものズバリの質問があった。 ふむふむ。これを見てみると yambejpさん の回答が

    bigbro
    bigbro 2010/01/19
    Pager
  • PEAR::Pager で Digg っぽいページャを作る

    PEAR::Pager で Digg っぽいページャを作る 2007-12-02-1: [PHP] UI Patterns で紹介されているように Digg のページャは見た目にも綺麗だし、わかりやすいと思います。 以下の画像が Digg のページャです。 そこで、PEAR::Pager を使って Digg っぽいページャを作ってみました。 - スクリーンショット - デモページ http://pocari.org/demo/digg-pager/ 完全に一緒というわけではありませんが、これくらいならば結構簡単に作ることができました。 ソースは以下のようになります。 <?php require_once 'Pager/Pager.php'; $params = array( 'mode'                  => 'sliding', 'perPage'           

  • ページング(PEAR::Pager) - PEAR入門

    ここではPEAR::Pagerの使い方について確認していきます。PEAR::Pagerは多くの情報がある場合にページを自動的に分けて分割して表示する機能を提供してくれます。 Pagerパッケージのインストール Pager.phpファイルの読み込み Pagerクラスのオブジェクトの作成 ナビゲーションリンクの作成 現在のページ数を取得する アイテムを表示する 動作モードを指定する(ジャンプ型、スライド型) 最初に表示されるページ番号を設定する 現在のページの表示方法を設定する ページ間のセパレータの表示方法を設定する 前ページと後ページへのリンクの表示方法を設定する 最初ページと最後ページへのリンクの表示方法を設定する ページ番号を示すためのクエリ変数名を設定する

  • PEAR :: Manual :: Pager

    目次導入 -- Pager 2.x の使用方法Pagerの "ジャンプ型" 対 "スライド型" -- 2つのページャスタイルの特長を比較するPager::factory() -- ページャのインスタンスを生成するPager::setOptions() -- Pager オブジェクトを作成した後でオプションを設定あるいは変更するPager::build() --  setOptions() のコール後に リンクおよびページデータを作成あるいは更新する Pager::getCurrentPageID() -- 現在のページ番号を返すPager::getLinks() --  並び替えられた連想配列として、 戻る/次/最初/最後のリンクとページリンクを返す Pager::getNextPageID() -- 次のページ番号を返すPager::getOffsetByPageId() -- 与えられ

    bigbro
    bigbro 2010/01/19
    昔使った経験があるが、凄く使いにくかった
  • http://blog.tofu-kun.org/070425151443.php

    bigbro
    bigbro 2010/01/19
  • Google Chromeのエクステンション30 – creamu

    Google Chromeを使っている(アドオンがあるなら使いたい)。 そんなあなたにおすすめなのが、『30 Irreplaceable Chrome Extensions』。Google Chromeのエクステンション集です。 便利そうなのをざっとご紹介しますね。 Aviary Screen Capture キャプチャ(スクリーンショット)が撮れる Xmarks Bookmarks Sync Firefox、Safari、IEとブックマークを同期 Evernote Web Clipper Evernoteに簡単に投稿できる Chrome Gestures マウスの動きで「戻る」「進む」などを制御できる Google Similar Pages beta (by Google) よく似たページを探してくれる Feedly 雑誌のようなスタートページにできる。Google ReaderやTw

  • 分散Key-Valueストア「kumofs」を公開しました! - Blog by Sadayuki Furuhashi

    分散Key-Valueストア kumofs を、日オープンソースソフトウェアとしてリリースしました! kumofs@SourceForge kumofs関連資料まとめ kumofsとは? kumofs(クモエフエス)は、実用性を重視した分散データストアです。レプリケーション機能を備え、一部のサーバーに障害が発生しても動作し続けます。単体でも高い性能を持ちながら、サーバーを追加することで読み・書き両方の性能が向上する特徴を持ち、低コストで極めて高速なストレージシステムを構築・運用できます。 kumofsの大きな特徴は、システムの構成の簡単に変更できる点です。システムを止めることなく、簡単な手順でサーバーを追加したり復旧したりできます。アプリケーションには一切影響を与えません。 またkumofsは、広く利用されている分散キャッシュシステムの「memcached」と互換性のあるプロトコルを実装

    分散Key-Valueストア「kumofs」を公開しました! - Blog by Sadayuki Furuhashi
  • key-valueストアの基礎知識

    首藤 一幸 Last-updated: January 5, 2010 注: このページの文章は Software Design 誌 2010年 2月号に掲載された以下の記事の元原稿です。 Software Design 誌編集部の了承の元に、ウェブページに掲載しております。 首藤一幸: "key-valueストアの基礎知識", Software Design 2010年 2月号, p.14-21, (株)技術評論社, 2010年 1月 18日 クラウド、特にPaaS向けのソフトウェア開発が現実のものとなり、 そこではリレーショナルデータベースとは違ったデータベースが 勢いを増しています。 その代表であるkey-valueストアを解説します。 もくじ key-valueストアとは なぜkey-valueストアか key-valueストアの使いどころ key-valueストアとNoSQL

  • 徳丸浩の日記 - iモードブラウザ2.0のXMLHttpRequestでPOSTデータの扱いが困難になった

    _iモードブラウザ2.0のXMLHttpRequestでPOSTデータの扱いが困難になった このエントリでは、iモードブラウザ2.0の制限により、XMLHttpRequestでPOSTメソッドの利用が困難になっていることを確認したので報告する。 iモードブラウザ2.0のJavaScriptを試していて、POSTメソッドでデータが渡せていないことに気がついた。以下のようなプログラムで検証してみた。 【post.html】 <html> <head> <script> function test() { try { var requester = new XMLHttpRequest(); requester.open('POST', '/dumppost.php', true); requester.onreadystatechange = function() { if (requeste

  • Google 日本語入力用の辞書 - soundscapeout (仮)

    Google 日本語入力用の辞書を探してたら、結構な数が公開されていたので、まとめておきます。 Apple用語辞書 林檎塾: Google日本語入力Apple用語辞書1.2に更新 郵便番号辞書 郵便番号辞書(for Google 日本語入力) 2009.11.30更新版 登録方法 with 根性 NADのカタカナ英語/顔文字辞書(Microsoft IME/Shift JIS で取り込み) Vector:NADのカタカナ英語/顔文字辞書(GoogleIMEβ) (データ / 文書作成) - ソフトの詳細 2ちゃんねる顔文字辞書 2ちゃんねる顔文字辞書 MatsuCon 和英辞書 google-ime-user-dictionary-ja-en - Project Hosting on Google Code 英語辞書 もにーそんぐ: Google日本語入力の辞書ファイルで英語辞書を作って

    Google 日本語入力用の辞書 - soundscapeout (仮)