タグ

2010年7月4日のブックマーク (14件)

  • いまさらTDDを見直す - Inemuri nezumi diary(2007-07-25)

    _ いまさらTDDを見直す いまさら「フェルマーの最終定理 (新潮文庫) 著:Simon Singh 訳:青木 薫」を読んだ*1。このはすごくいい。 このが指し示していることのひとつは、皆、汗かいて土木作業してたってことだ。ピタゴラス、ユークリッド、…、オイラー、ガウス、…、ソフィー・ジェルマン、…、志村=谷山…。 綺麗な命題/予想を産み出した彼/彼女らは、手を動かす計算をむちゃくちゃな量やってる。 型理論によれば、型は命題で、実装は証明にそれぞれ対応する。そして、テストは、実装の仕様記述の一部に対応する。具体例を計算することはテストすることだ、と言える。 つまり、XPとかTDDとか誰かが言い始めた2000年前から、数学家はひたすらテストファーストだったってこと。証明/予想を言い終えた後は、テストの結果は焼いて捨てたから残っていない。 反論もありそうなことを敢えて言うが、私自身、テスト

  • Inemuri nezumi diary(2007-08-23)

    _ 独りで始める Concrete and Specific Programming (CSP) 実践 昨日のエントリから引き続いて。設計とテストスイーツを先に書き、実装を後に書く Concrete and Specific Programming を実際に行ってみます。ただ、私も人に教えた経験がないものですから、何を対象にすればいいものやら、わかりません。 そこで、プログラマの誰もが馴染んでいる単純な「データ構造とアルゴリズム」から具体例を取りたいと思います。 _ 具体例その1. Stack 一つ目の具体例としてスタックを取り上げます。 まず、夢メモを書きます。 Stack 夢メモ 日付:2007-08-23 作るもの: スタック(メソッドはnew, pop, pushのみ)。 どのように作るのか: 読者層に配慮して Ruby で。 Ruby についてくる Array を一つインスタンス

  • 仕様に基づいたテストスイーツを書く - Inemuri nezumi diary(2007-08-22)

    _ 独りで始める Concrete and Specific Programming(CSP) エクストリーム・プログラミング(XPとして知られている)は、ビジネス側と開発側の両者が共通の達成可能なゴールに集中するための、ビジネス及びソフトウェア開発の規律である。 Kent Beck [XPエクストリームプログラミング実行計画(The XP Series), Kent Beck and Martin Fowler, Foreword by Tom DeMarco 序言より引用] このエントリでは、開発側の夢を実現するためのプログラミング技術 Concrete and Specific Programming を提唱します。 趣味としてのプログラミングは、ビジネスとは無関係です。それは、人生に与えられた有限の時間の使い道として、あなたが選んだ選択肢です。なぜ、プログラミングを趣味とするのか、

  • haskell-jp:128

  • MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記

    MySQLでテーブルへのカラム追加、インデックス追加やテーブルの再編成などを行うと、その間テーブルに共有ロックがかかってしまいます。そのためこれらのメンテナンス処理は、通常利用者の少ない深夜早朝帯にサービスを止めて実施する必要があります。日はそれを無停止、オンラインのままでできないかという話題です。 基的なアイデア メンテナンス対象の元テーブルをコピーして、作業用の仮テーブルを作ります 仮テーブルに対して、カラム追加などの変更を加えます その間、元テーブルに対して行われる更新処理について差分を記録しておきます 仮テーブルの変更が終わったら、記録しておいた差分データを仮テーブルに反映します 差分データの反映が終わったら、元テーブルと仮テーブルを入れ替えます これと似たようなことを考えた方は結構いらっしゃるのではないでしょうか。ただ、言うは易し、行うは難しです。整合性がきちんと取れるかどう

    MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記
  • 「なぜ CSS が巨大になってしまうのか、なにがいけないのか」 - by edvakf in hatena

    Nicole Sullivan さんの素晴らしいプレゼン。 5 Mistakes of Massive CSSView more presentations from Nicole Sullivan. 内容は30分ぐらい。ビデオのほうが分かりやすいのでおすすめ。だいたいスライドの35ページ目まではあんまりおもしろくないので飛ばしてもいいと思う。 スライド中に出てくる衝撃的な統計は、Sullivan さんのブログにもまとめられているのでご一見を。 Top 5 Mistakes of Massive CSS | Stubbornella 要旨 CSS の「ベストプラクティス」は間違っている。 プレゼンでは Facebook の例を挙げているけど、例えばサーバー側のロジックでは、ページヘッダー、右コラム、中央、左コラム、フッター、のようにビューを分けるところだけど、CSS をそのような区分でデザ

    「なぜ CSS が巨大になってしまうのか、なにがいけないのか」 - by edvakf in hatena
  • 私がセキュリティの世界に挑戦した理由 ~はせがわようすけ~

    2010/07/02 コース:元祖こってり 「元祖こってり」記事はネットエージェント旧ブログ[netagent-blog.jp]に掲載されていた記事であり、現在ネットエージェントに在籍していないライターの記事も含みます。 私がセキュリティの世界に挑戦した理由 ~はせがわようすけ~ みなさんはじめまして、ネットエージェント株式会社、研究開発部の長谷川陽介(はせがわようすけ)と申します。 このたび、ネットエージェント株式会社の公式ブログをスタートすることとなりました。当ブログでは、当社のエンジニアが日々研究している内容を中心に、セキュリティに関連する様々なトピックを取り上げていきたいと思います。どうぞよろしくお願いします。 さて、第1回目は自己紹介も兼ねて、なぜ私がこの会社で働くことになったのかをお話したいと思います。 ----- 私は2008年1月からネットエージェントという会社で働いていま

  • Kazuho@Cybozu Labs: Parallel::Scoreboard でワーカープロセスをモニタリングする方法

    cho45 さんの Plack::Middleware::ServerStatus (Starman や Starlet で Apache の mod_status 相当の情報を得られるようにする - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech) に続き、昨日 kazeburo さんが「StarmanやStarletでmod_statusっぽい情報を得る簡易版Plack::Middleware::ServerStatus - blog.nomadscafe.jp」というエントリを書かれていらっしゃいましたが、ウェブアプリケーションサーバに限らず、複数のワーカープロセスが動作するシステムにおいて、それらの状況をモニタリングするためのスコアボードがほしい、というケースはよくあることだと思います。 また、プロセス名を使う方法は、他の監視ツールとの相性が悪い、プロ

  • http://www.machu.jp/posts/20100703/p01/

  • 「変数の初期化」「変数の再代入禁止」 - HaHaHa!

    プログラミング言語のHaskellを説明するとき,説明の相手がCプログラマであれば,その人が知っているであろう概念を使って説明する方がわかりやすい.と考える心情はわからないわけではない. Haskellでは変数の初期化は一度しかできない Haskellでは変数は一度だけ代入(assign)が可能で,再代入(re-assign)して変数の値を初期値から変更することはできない などという説明を見ることがある.この説明はHaskellプログラムのある一面を描写していて,いくつかの前提を明示すれば,まちがいではないように思えるし,許容できる説明だとも思えなくもなかった.しかし,今は寛容の心が持てないジジイになってしまった.Haskellにはアドレス空間あるいは値の記憶場所という概念はなく.代入(assignment)の概念もなければ初期化の概念もない. x = 4200 * 1.05 = は代入(

    「変数の初期化」「変数の再代入禁止」 - HaHaHa!
  • Hokkaido Perl Mongers

    Perlで開発されているCMSである「Movable Type」のカンファレンスが6/9 札幌で開催されます。 前回2013年10月から4年半ぶり2度めの北海道との事で今回はスケールアップしての開催になっています。 4月30日までの早割適用なら、通常3,000円の参加費が2,000円でとの事で ぜひお早めにお申し込みください。 チケットはこちらから。 Movable TypeはUIや機能を大幅にアップデートしたバージョンである7をリリース予定になっており ベータ版は以下のURLから入手可能です。興味の有る方はカンファレンス前に試しては如何でしょうか。 https://www.movabletype.jp/release-notes/70/

  • Inemuri nezumi diary(2009-01-08) - _ unsafePerformIO の使用は限定されています。ご利用は計画的に。

    _ unsafePerformIO の使用は限定されています。ご利用は計画的に。 いたるところで、 unsafePerformIO を見かけるようになったのでひとこと言うといたるわ。「Unsafe やって書いてある」やろ。おっと、地が出てしもた。 unsafePeformIO はもともと Haskell の規格 Haskell98 にはありません。初めて現れたのは、 "The Haskell 98 Foreign Function Interface 1.0 An Addendum to the Haskell 98 Report" の 5節 Marshalling についての、5.1 節 Foreign モジュールが提供するインターフェースについてです。 unsafePerformIO :: IO a -> a Return the value resulting from execut

  • 自由に働ける新宿のチャットレディ求人は大学生にもおすすめ

    大学生にピッタリな新宿の在宅チャットレディ求人 大学生の方で、楽しい大学生活で必要になるお金をもっと確保したいという方は、新宿のチャットレディプロダクションで在宅チャットレディになってみるのもオススメです。在宅チャットレディ求人の魅力は、プロダクションからパソコンやマイクなどを借りて、自宅で配信環境を作って仕事を行います。プロダクションのチャットルームのような、充実した環境での配信ではありませんが、忙しい大学生の方でも、自宅で配信ができるので仕事がしやすいというメリットが出てきます。 日中は大学で講義を受け、夕方はサークルや友達との飲み会などで帰ってくるのは21時以降という女子大生の方も多いですが、そんなハードスケジュールの方でも在宅チャットレディなら問題ありません。22時や23時頃から1、2時間程度配信をすれば、それでお金を稼げるからです。普通のコンビニなどのバイトでも、夜遅くから仕事

  • OAuth.jp

    いままで Mix-up Attack は Client が AS 毎に redirect_uri を使い分けていれば防げると信じられてきましたが、それじゃ防げないケースもあるよってのが OAuth ML に投稿されました。 細かい解説は英語読んでもらうとして、シーケンスにするとこういうことです。 Attacker AS が (Display Name やロゴ等を通じて) 一見 Honest Client に見えるような Client (Attacker Client) を Honest AS に登録しておく必要があります。 User が Attacker AS 選んでるのに Honest AS に飛んで Approve してしまってる部分も、Attacker Proxy が利用可能な状況 (e.g., Client が HTTP なエンドポイントで Honest AS のログインボタン等を