タグ

2011年4月13日のブックマーク (6件)

  • 高木浩光@自宅の日記 - CSRF対策に「ワンタイムトークン」方式を推奨しない理由

    水色の四角は画面を表し、白抜き実線枠の四角はボタンを表す。 これを、Webアプリという実装手法を選択する場合に特化すると、図2のような遷移図が描ける。 実線矢印はブラウザが送信するHTTPのrequest(ヘッダおよび、POSTの場合はボディを含む)を表し、黄色の丸がサーバ側での1アクセスの処理を表し、点線がその処理結果を返すHTTPのresponse(ヘッダおよび、HTML)を表す。responseの上の文はHTMLの内容を説明するものである。黄色の丸の中の文は処理内容の説明であり、ここから複数のresponse矢印が出ている場合、処理の結果によって遷移先の画面が異なる場合であることを表し、破線の白抜き四角がその分岐の条件を概説している。 この図で例に用いているのは、ECサイトやblogサービスなどに見られる典型的な「登録個人情報変更」の機能である。「メインメニュー」画面の「登録情報変更

  • 数学

    主に高校~工学部生向けの数学の解説を行っています。 …

    数学
  • QAで学ぶMonad - あどけない話

    この記事は、Monad でつまづいた Haskeller のための Monad 再入門です。 Monadとは何ですか? Monad とは、単なる型クラスの一つです。難しいという風評もありますが、それ以上でもそれ以下でもありません。 この型クラスのメソッドは、return と >>= です。 class Monad m where (>>=) :: m a -> (a -> m b) -> m b return :: a -> m a つまり、以下を満たす型の集合が Monad です。 m a で表現できるように一つの型変数を格納するコンテナ型 >>= と return を実装 return は新しいコンテナを作り、>>= は二つのコンテナを合成します。 Monad のインスタンスは失敗系と状態系に大別できます。以下に代表的なインスタンスを示します。 失敗系: Maybe、[] (リスト)

    QAで学ぶMonad - あどけない話
  • Boost.Testをヘッダオンリーライブラリとして使用する - Faith and Brave - C++で遊ぼう

    の代わりに をインクルードすれば、ヘッダオンリーライブラリとして使用できます。 失敗するケース #define BOOST_TEST_MAIN #include <boost/test/included/unit_test.hpp> BOOST_AUTO_TEST_CASE(test1) { BOOST_CHECK(2 == 1); // これは失敗する } BOOST_AUTO_TEST_CASE(test2) { const int i = 0; BOOST_CHECK_EQUAL(i, 2); // これも失敗する BOOST_CHECK_EQUAL(i, 0); // 成功する } Running 2 test cases... C:/Language/cpp/main.cpp(6): error in "test1": check 2 == 1 failed C:/Languag

    Boost.Testをヘッダオンリーライブラリとして使用する - Faith and Brave - C++で遊ぼう
  • /binにあるプログラムのソースコードを読む - yuyarinの日記

    ls とか mkdir とか cp とか cat とか、/bin にあるプログラムのソースコードを読んでみたいな、って思ったときの解決方法。 まずはそのプログラムがどのパッケージに含まれるか調べる。例えば ls だと ~$ dpkg -S /bin/ls coreutils: /bin/lsこれで ls が coreutils というパッケージに含まれていることがわかった。ではそのパッケージのソースをダウンロードしよう。 ~$ apt-get source coreutilsダウンロードしてきた圧縮ファイルを解凍すればソースコードが入っているので、紅茶でも飲みながらそれを眺めましょう。

    /binにあるプログラムのソースコードを読む - yuyarinの日記
  • DNSがもっと良かったらという思考実験 - yuyarinの日記

    概要 IPv4 アドレスが枯渇しヴァーチャルドメインが普及する現代では,DNSとWell Known Portで構成されるアプリケーションの通信にTLS証明書問題などの不都合が生じることが稀に良くある.DNSとportmapを組み合わせたような賢いサービスディスカバリーシステムを導入していたらスマートなインターネットができたのではないのか,という考察を思考整理を兼ねて行ってみる. DNS ドメイン名とIPアドレスを対応付ける仕組み.10.0.0.1 だとわかりにくいから www.yuyarin.net という名前を付ける.名前を「解決」するとIPアドレスが得られ,アプリケーションは解決で得られたIPアドレスを使って通信を行う. ドメイン名からIPアドレスを解決することを正引き,IPアドレスからドメイン名を解決することを逆引きという.正引きは違うドメインが同一のIPアドレスを指すことができる

    DNSがもっと良かったらという思考実験 - yuyarinの日記