というわけで、Web 2.0 Design Patternsの訳の続きで、今度はWeb 2.0の批判として書かれたNicholas Carrの文章を訳してみました。 Nicholas Carrは、一応ふれておくと、「IT Doesn't Matter(ITにお金を使うのは、もうおやめなさい)」という本をハーバード・ビジネススクールから出版して、MSのスティーブ・バルマーを激怒させたといわれる人らしいです。 批判の論点は以下のように展開されています。長い文章なので続きを読まず、ここだけ押さえておいてもよいと思います。 Webにおいてニューエイジ的なユートピア論は正しい判断を誤らせる ユートピア論からくるアマチュア主義は時としてひどいクオリティの仕事しかしない アマチュア主義は結局タダなので、プロフェッショナルが培ってきた市場をおびやかす プロフェッショナルを市場から駆逐することは世の中全体の
最新トレンドやキーワードをわかりやすく解説 WCR Watch [8] バーティカルサーチは GoogleBaseにどう対抗していくのか? 富嶋典子 2005/12/17 Web2.0企業がひしめくシリコンバレーでWeb2.0的なビジネス手法を武器に急成長する、Simplyhired社のCEOのGautam Godhwani氏とWeb2.0カンファレンスにスピーカーとして参加しているDave mcclure氏に話を聞いた。Simplyhiredは、設立後1年のバーティカル就職サーチ事業者であり、彼らは1998年にNetscapeに買収されたAtWebというWebパフォーマンス改善ツール企業を経営していた経歴の持ち主だ。彼らの生の声をお届けしたい。 ──Web2.0エンジニアになるために必要なスキルは? Web2.0という概念はWebビジネスをいかに有効に機能させるかというロジックですので、
This document is a comprehensive FAQ on the XRI 2.0 suite of specifications, with a particular emphasis on the XRI Syntax 2.0 Committee Specification which was submitted for consideration as an OASIS Standard on November 14, 2005. 1 General 1.1 What does the acronym XRI stand for? 1.2 What is the relationship of XRI to URI and IRI? 1.3 Why was XRI needed? 1.4 Who is involved in the XRI
ちょっと訳あってTim O’reilly氏の「What is Web 2.0(邦訳Web 2.0:次世代ソフトウェアのデザインパターンとビジネスモデル)」を読み直してみた。 「Intel Inside」ってIntelのキャンペーン名だよ? ここで挙げられている「Web 2.0でのデザインパターン」の1つにに、「Data is the Next Intel Inside(データは次の「Intel Inside」だ)」ってのがあるんだけど(原文だと3ページ目の中頃。CNETだと後半の1ページ目)、ググってみると、O’reilly氏が「Intel Inside」を比喩に使った理由が、あちこちで激しく誤解されてるような気がする。「Intel Inside」はキャンペーンの名前であって、会社の名前でもCPUの名前でもないんだけどなあ。 もしかして今の人が「Intel Inside」キャンペー
MixiのWebSig24/7コミュの第6回WebSig会議に行ってきました。10分ほど時間を頂いたのでWeb 2.0について少しスピーチさせてもらいました。以下、原稿の一部コピペと、ホワイトボードに書いた図の清書。 原稿その2も公開しました Webとは一般にHTTP上に成り立っているネットワークを指すが、こいつはご存知の通り1対1で1本コネクション繋いでリクエストを送ってレスポンスをもらって回線切断する、ただそれだけ。これはプロトコルの中でも最も単純なものの1つである。同じアプリケーション層のプロトコルであるTelnetもSMTPもFTPももっともっと複雑だ。これがHTTPの本質で今でもほとんど変わっていない。10年間、たったこれだけの仕組みでWebデザイナ、Webプログラマは工夫を凝らしてコンテンツを作ってきた。 Web 2.0的なものへの願いは、10年前当時からみんなの間でずっ
前にも書いたが、最近他人のコードを見る機会が多い。中でも気になるのが次のようなコード。 $sql = "select * from some_table "; if ($pref != "") { if ($flag) { $sql .= "AND pref='$pref' "; } else { $sql .= "WHERE pref='$pref' "; $flag = true; } } if ($zip != "") { if ($flag) { $sql .= "AND zip='$zip' "; } else { $sql .= "WHERE zip='$zip' "; $flag = 1; } } // 以下条件文の追加が続く 驚いたことに、「既に条件文が追加されたかどうか」のフラグを立てておいて、フラグが立っていなければWHERE句を起
過去の議論はこちら 一般的に言われている対策と実際の有効性についてはこちら 一般にCSRFはセッションの利用に伴う脆弱性なのだから、予測不能な文字列を生成してhiddenとセッション内(PHPセッションの場合$_SESSION内)に入れておき、完了画面でこの2つを照会する方法が簡便で堅牢だと考えられる。(要はセッションを使ったワンタイムトークン方式)。 この対策だけでも充分だが、hiddenを横取りされた場合に発生する脆弱性に備え、Cookieでも比較を行う。 実際のコード // 確認画面 session_start(); (認証など略) $uniq_id = md5(uniqid(rand(),1)); // 推測不可能な文字列を生成 $_SESSION['uniq_id'] = $uniq_id; // セッションに保存 setcookie('uniq_id',
CodeZine:軽量なMVCフレームワークの自作(改訂版) 全部読んでないんだけど、セッションIDの概念について根本的な勘違いをしているような気がします。 return sha1($_SERVE['SERVER_NAME']. $_SERVER['HTTP_USER_AGENT']. $_SERVER['REMOTE_ADDR'].$key); こういうのはセッションIDとは呼べないと思う。セッションIDというのは当然「そのセッション内」でしか有効でないものを保証するもの。よく種に時刻を使う混ぜるのは、使い捨てであることを保証するため。 上の式だとIPアドレスとブラウザが同じなら100年後のセッションでも同じ値になる。つまりこの値はセッションに対するIDではなく、単にIPアドレスとブラウザ名の組に対するIDに過ぎないので、例えばプロキシ経由同士のアクセスで同じブラウザの複数の
よく、フォームの処理などで表示するページを振り分ける際に、Locationヘッダを多用する事例を良く見かける。確かに一見便利な方法ではあるが、果たして理にかなった方法なのだろうか。php/header()でheader(”Location: ..”)とすると、デフォルトではリザルトコード302(Found)が送られる。この302の目的についてはRFC 2616で次のように定義されている。 RFC 2616 10.3.3 302 Found The requested resource resides temporarily under a different URI. 要は「要求されたリソース(情報)は一時的に別の場所に格納されていますよ」というものだ。フォームの結果の振分けなどにこれを使うのはちょっと違うのではないだろうか。 ※もっとも当該RFCをよく読むと、このような場合は3
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く