タグ

2009年7月4日のブックマーク (34件)

  • システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan

    ある読者との電子メールのやり取りの中で出てきた話である。彼は、開発者向けのブログや記事、雑誌の内容が2種類に分類できるということを述べていた。その2種類とは入門者向けのもの("Hello World"に代表されるもの)とエキスパート向けのもの(MSDN Magazineのようなもの)である。 これはなかなか鋭いポイントを突いている。開発者が入門レベルから中級レベルにステップアップするうえで役立てることのできる情報がほとんどないのだ。以下は、こういったステップアップを実現するための10のティップスである。 #1:新たなプログラミング言語を学習する 新たなプログラミング言語を学習することは、それがどのような言語であったとしても、より優れた開発者になるための近道となるのである(このことは、あなたが既に多くのプログラミング言語を修得していたとしても成立することである)。言語を選択する際には、あなた

    システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan
  • 現実の構造を分析し、それをプログラムの構造にそのまま写すのが何故いけないか - みねこあ

    わたしの以前のエントリー中の 例えば、カモノハシ の5章では、エイトクイーンパズルを解いていますが、これは Queen オブジェクト自体に「取られない位置に進む」「この位置を自分が攻撃できるか?を答える」という責務を持たせる Queen を各列に一づつ置く 端から順にQueen に「取られない位置に進め」をさせる。 という解き方をしています。各Queen は自らの位置の解を自ら解きます。 (中略) Board というオブジェクトは必ずしも必要ないですし、連結リストの一番端には現実には存在しない「番兵」を置く場合もあります。なによりも、Queen の駒が現実で勝手に自分の攻撃されない位置を求めて動くなんてありません。(そんなチェス盤を開発してくれ、という要件ではないのです) つまり、これは現実の写像ではありません。でも良いデザインです。 憂レビューの補足 - みねこあ について、わから

    現実の構造を分析し、それをプログラムの構造にそのまま写すのが何故いけないか - みねこあ
  • 分散データベース2 - WebLab.ota

    分散データベース - WebLab.otaの続き Distribution,autonomy,heterogeneity FDBS (A1,D0,H1):異種混合 (A1,D1,H1):異種混合+分散 MDBS (A2,D1,H1) (A2,D2,H1):各DBSコンポーネントがほかのDBSの存在を知らない. 必要なときに自律的につながる PDBS MDBSのanother instanceに見える しかし,2つは違うデータアクセス方法をサポートしてるよね MDBSはマルチデータベースレイヤ上で問い合わせのインタフェースをサポートしている(下図参照) PDBSは図のようにクエリが転送されていく このとき,クエリはオリジナルから変更されて転送されるかもしれない.(中継ピアが変更する可能性があるよね) さらにforwardingはマッピンググラフによって行われ,全ピアに転送されるとは限らない

    分散データベース2 - WebLab.ota
  • 分散データベース - WebLab.ota

    スキーマ(schema) データベースの構造であり、データベース管理システム (DBMS) でサポートされている形式言語で記述される。関係データベースでは、スキーマは関係 (表) と関係内の属性 (フィールド) 、属性や関係の関連の定義である。スキーマは一般にデータ辞書に格納される。スキーマはテキストによるデータベース言語のデータ定義言語 (DDL) で定義されるが、グラフィカルにデータベース構造を表したものをスキーマと呼ぶことも多い (http://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%9E_(%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9)) マルチデータベース 異種データベース間結合機能 既存データベース間に内在する新しい関係を抽出する 既存データベ

    分散データベース - WebLab.ota
  • Amazon EC2で「Elastic Load Balancing」オプションを使って負荷分散/冗長化を実現する詳細手順 - 元RX-7乗りの適当な日々

    先日、Amazon Web Servicesより、以下、Amazon EC2関連の新サービスが3つ発表されましたね。 Amazon CloudWatch Amazon EC2のインスタンスのリソースをモニタリングすることが可能 Auto Scaling Amazon EC2のインスタンスの負荷状況を判断し、自動でインスタンス数を増減させ、スケーリングを実施することが可能 Elastic Load Balancing ロードバランサとして、各インスタンスのフロントエンドでトラフィックを分散させることが可能 これら3つは連携させて使うと、なかなか強力な可能性を秘めています。 例えば、「Amazon CloudWatch」にて、バックエンドのAmazon EC2のインスタンスの負荷状況を監視し、負荷量がある一定の閾値を超えた段階で、「Auto Scaling」にて、Amazon EC2のインスタ

    Amazon EC2で「Elastic Load Balancing」オプションを使って負荷分散/冗長化を実現する詳細手順 - 元RX-7乗りの適当な日々
  • DO++

    2012年の個人的な総括を以下にまとめます。 子供が生まれました 無事子供が7月に生まれました。毎日子育てに翻弄していますが想像していたよりも大変で楽しい時間を過ごしています。 また、が実家に里帰り出産したため夏の間は、毎週末の実家に帰り車を運転して病院・お店に行くという、まるでの実家で生活して月〜金は東京で働いているような感覚で過ごしていました。 高速文字列を出しました 高速文字列の世界を12/27に出しました。 2012年の目標としてをだすということを考えていました。2010年夏頃からの話はいただいていましたが、結婚、会社(途中から経営陣に入ってさらに時間確保が困難に)、子育てと時間確保がどんどん困難になっていきずるずると伸びてしまっていました。 しかし、文字列解析の話は小さいころから扱っていた話(もう10歳ぐらいからの付き合い)で一度まとめてみたかったというのもありますし

    DO++
  • 実開発で分かったGoogle App Engine for Javaの“すごさ”

    ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です

    実開発で分かったGoogle App Engine for Javaの“すごさ”
  • 発売迫るBlu-ray版「ヱヴァ」に採用された高画質技術とは?

  • ここ20年間のウェブまわりの技術をまとめた図*二十歳街道まっしぐら(FC2ブログ時代)

    ウェブ開発者にとって欠かせない技術をまとめた1枚の画像です。 約20年前から現在までの流れが一望できます。 クライアント・サーバに分けて図で表しています。 拡大図 以下にいくつかピックアップしてみます。

  • 実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記

    strace システムコールをトレース。カーネルと何を話しているか。 strace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 straceを使ったデバッグ - SourceForge.JP Magazine : オープンソースの話題満載 Linuxカーネルの作り出す世界 − @IT自分戦略研究所 - ふつうのLinuxプログラミング 青木峰郎 システムコールとライブラリ関数 − @IT自分戦略研究所 システムコール・ライブラリルーチン - UNIX の部屋 ltrace 共有ライブラリの呼び出しをトレース。*.soと何を話しているか。 ltrace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 ltrace で共有ライブラリの関数呼び出しをトレースする - bkブログ 404 - エラー: 404 - Linux JF ƒ‰ƒCƒuƒ‰ƒŠ‚ÌŠ

  • 【詳報】Google Waveとは何なのか? − @IT

    2009/05/29 米グーグルは5月28日、米国サンフランシスコで開催中のイベント「Google I/O 2009」で、まったく新しいメッセージングおよびコラボレーションのためのプラットフォーム、「Google Wave」を発表した。同日、開発者向け早期プレビューとして公開。限定的にアカウントを発行して、外部の意見を取り入れながら開発を進める。年内にも一般向けサービスを公開し、それに続いてサーバの実装も順次、Apache2.0ライセンスのもとでオープンソースで公開していく予定だという。 プロジェクトリーダーで、Google Waveの基調講演でデモンストレーションを行ったラース・ラスムセン氏は、Google Waveは「3つのP」からなると説明する。 Google Waveのプロジェクトリーダー、ラース・ラスムセン(Lars Rasmussen)氏は、Google Waveは「3つのP」

  • 第127回 Ruby vs Java ダックタイピングとインタフェースで見る多態性 - bingo_nakanishiの他言語出身者のためのPerl入門

    前回は、Perlで書いたのだけど、 Rubyでも書いてみたので載せます。 動的型付け言語と静的型付け言語における多態性 オブジェクト指向では、多態性(ポリモーフィズム)という発想がでてくる。 この多態性を実現する方法を今回は2つ紹介する。 Rubyは動的型付け言語であり、ダックタイピングという手法で、多態性を実現できる。 対して、静的型付け言語であるJavaでは上位の型を作ることで多態性を実現できる(今回はインタフェースを用いてみた)。 ダックタイピング Rubyでのタックタイピングを見てみよう。 human = Human.new dog = Dog.new duck = Duck.new human.touch(dog) human.touch(duck)いま、このようにhumanがtouchすると、おのおのの動物が鳴くソースを書いてみる。 duck(アヒル)はhuman(人間)に触ら

    第127回 Ruby vs Java ダックタイピングとインタフェースで見る多態性 - bingo_nakanishiの他言語出身者のためのPerl入門
  • Google Wave 私的まとめ - IT戦記

    正直わからないことが多いです。突っ込み歓迎 以下、箇条書き Google Wave という言葉が曖昧に使われている Google Wave というサービス(これはオープンソースではない) プロトコルでもない Google Wave Provider に接続するためのアプリ メールでいうところの、メーラーのこと Google Wave Provider Google Wave Federation Protocol (XMPP Extension) のやりとりを実装したサーバー Wave Proxy と Wave Gateway を持つ Wave Gateway (配信用サーバー) Wave Proxy (受信用サーバー) Wave (Proxy|Gateway) とは別に何かしらの Frontend を持つ場合が多い(たとえば Comet みたいな) Google Wave Federat

    Google Wave 私的まとめ - IT戦記
  • フリーランスの生活を維持するために気をつけていること | src.7438.com

    フリーランスになって、そしてWebデザイナーとして仕事を始めて、この春で5年目に入りました。 浮き沈みが激しく、廃業する人も多い中、これだけ続けて来られたのも、周りの人にたくさん助けて頂いたり、いろいろなことを教えてもらったからだなぁと感謝しています。 当に、私は環境に恵まれているのじゃないでしょうか。 ただ、それだけではいけなくて、自分で意識してやらなくてはいけないことも沢山あるんですが、それをあまり他の人と話す事がないので、考えてまとめてみました。 当は、こういうことをカジュアルに話せるフリーランス仲間がいると良いのですけどね。 名刺を必ず持ち歩く フリーランスは人脈が命なので、どこに行くときも必ず名刺は持ち歩きます。 名刺は3種類ぐらい用意してあって、個人的なブログのアドレスやSkypeのIDなど、連絡先を沢山入れたもの、名前とメールアドレス・住所だけど書いたもの、プライベート用

    フリーランスの生活を維持するために気をつけていること | src.7438.com
  • XMLをparseするアプリのセキュリティ - 2009-06-21 - T.Teradaの日記

    「XML」「セキュリティ」という単語でWeb検索すると、多くヒットするのはXMLデジタル署名やXML暗号などを説明したWebページです。 日の日記では、それとはちょっと違うテーマ(XXEと呼ばれる攻撃)について書きます。 脆弱なコードと攻撃方法 さっそく脆弱性があるサンプルプログラムです。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import org.w3c.dom.*; import org.apache.xerces.parsers.*; import org.xml.sax.*; public class Test1 extends HttpServlet { public void service(HttpServletRequest request, HttpServletRe

    XMLをparseするアプリのセキュリティ - 2009-06-21 - T.Teradaの日記
  • 勉強会カンファレンス2009レポート 「勉強会に勉強だけをしに来るヤツは素人」 − @IT自分戦略研究所

    勉強会について議論するコミュニティ「MetaCon」が、勉強会開催の情報やノウハウ共有を目的としたイベント「勉強会カンファレンス2009」を開催した。勉強会主催者たちが集まったユニークなイベントの模様をレポートする。 |1 2|次のページ IT勉強会の認知はこの1年で大きく広がった。@IT自分戦略研究所でも、よしおかひろたか氏の「初めての勉強会」や、はなずきん氏の「IT勉強会に行こう!」などの連載を通じてIT勉強会の魅力を発信し続けてきた。 こうした勉強会ブームの中、「勉強会勉強会(MetaCon)」は発足した。「勉強会を主催している人たちのための勉強会の運営、コンテンツなどを議論するグループ」である、とWebサイトに記載されている。前述のよしおか氏やはなずきん氏を始め、さまざまな勉強会主催者たちが情報交換を行っている。 6月6日、日オラクル社にて、MetaConが主催する「勉強会カン

  • 適切なクラスタ数を推定するX-means法 - kaisehのブログ

    K-means法によるクラスタリングでは、あらかじめクラスタ数Kを固定する必要があります。HatenarMapsでもK-means法を使っているのですが、クラスタ数は(特に根拠もなく)200個に決め打ちになっていました。 これに対して、X-means法というK-means法の拡張が提案されていることを知りました。X-means法を使うと、データに応じて最適なクラスタ数を推定できます。 K-means and X-means implementations http://www-2.cs.cmu.edu/~dpelleg/download/xmeans.pdf X-means法の考え方は、K=2で再帰的にK-means法を実行していくというもので、クラスタの分割前と分割後でBIC(ベイズ情報量規準)を比較し、値が改善しなくなるまで分割を続けます。 調べたところ、Javaのデータマイニングツー

    適切なクラスタ数を推定するX-means法 - kaisehのブログ
  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • 言語別ゲームプログラミング制作講座一覧 - ネットサービス研究室

    プログラミング言語別にゲームプログラミングについて解説しているサイトをまとめてみました。ジャンル別ゲームの作り方とアルゴリズムまとめもあわせてお読みください。 Java Javaゲーム作りますが何か? ガメラボ Javaゲームはじめました。 JavaRPGを作ろう! Javaによるゲーム解説 JavaScript JavaScriptゲームの作り方 ゲームの作り方 by BFF (^==^)ドリームキャストでJavaScript JavaScript でテトリスみたいなゲームを作ろう! C++ 0からのゲームプログラミング DirectXでゲームを作ってみよう ゲームプログラミング講座 ゲームプログラミングWiki マルペケつくろーどっとコム http://www5b.biglobe.ne.jp/~u-hei/ サラリーマンの俺が無料ソフトだけで3Dゲームを作るスレ まとめ ゲームつく

  • 高木浩光@自宅の日記 - 「NoScript」をやめて「RequestPolicy」にした

    ■ 「NoScript」をやめて「RequestPolicy」にした セキュリティ屋が、Firefoxユーザに「NoScript」の使用を推奨することがしばしばあるが、私は賛同しない。 JPCERT/CC、技術メモ「安全なWebブラウザの使い方」を公開, INTERNET Watch, 2008年11月4日 *1 技術メモ − 安全なWebブラウザの使い方, JPCERT/CC, 2008年11月4日 IV. 各 Web ブラウザに共通する設定上の注意事項 1. スクリプト等の実行を制限する JavaScript 等のスクリプトや(略)は(略)Ajax に代表されるインタラクティブなインターフェースが実現できるなど、高い利便性が得られます。反面、PC 上の重要なファイルを削除・変更するなど、悪意を持った処理が行われる可能性もあります。従って無制限にスクリプト等を実行できるようにしておくのは

  • 英語のプレゼンのこつ(理工系用) - Ockham’s Razor for Engineers

    アメリカ音響学会に参加していて、色々な方のプレゼンをガンガン聞いてます。で、いろいろこれはつかえる、と思ったことがあるのでメモしておきます。自分用のメモなので、あまりまとまってません。使うのは、中学生レベルの英文法だけでよい。英語発表の典型的な英語の使いまわしがあるから、ただそのテンプレいくつか覚えて、口語でひたすら喋ればいい。途中で「あー」とか「えー」とか言わない。タイトルの直後のスライドに、outlineを用意する。outlineのスライドで、「こういう問題があって、これを使ってこーゆー結果がでたので、ここまで紹介します」と5行ぐらいだらだら書いて、それを一気に喋って、聴衆に概要を頭にいれてもらう。図が主体のスライドでは、とにかく問答無用で最初にThis is a picture(figure) of ほげほげ.と言う。図は左からみるのか、上から見るのか説明する。重要で面白い結果、強

  • Diggの高速化技術MXHRを解説してみる - by edvakf in hatena

    これのこと。 AJAXサイトをスピード化するMXHR - huixingの日記 Digg the Blog » Blog Archive » DUI.Stream and MXHR どこにも解説が無かったので、詳しく読んだ。 上の記事から引用すると、「サーバーとクライアント間で、ただひとつだけのHTTPコネクションを開く。これによりサーバーがページのどのパーツを先行して読み込むかをコントロールすることが可能になり、ユーザーにとってはページ読み込みがほぼ一瞬で済むことを意味する。」という技術。XMLHttpRequest を使って複数のデータを受信する場合に効果がある。 まずデモから デモ1は10個のテキストをダウンロードして表示するもの。 デモ2は300個の画像をダウンロードして表示するもの。 どちらも左側 (MXHR 有効) が完了した後に右側 (MXHR 無効) を開始するので驚かない

    Diggの高速化技術MXHRを解説してみる - by edvakf in hatena
  • 最近のjsプログラムの組み方 - nazokingのブログ

    僕はコードスタイルが一定しないのですが、最近はクロージャ!クロージャ! 最近は Firefox拡張/Greasemonkey/userChrome.js 系の javascript しか書いてないんだけど、そのあたりで「オブジェクトの継承」とかしたいと思うことがなく、 prototype とかややこしいだけなので全然使わなくなりました。 昔 function myClass(){ this.init.apply(this,arguments); } myClass.prototype.init=function(name){ this.name=name; } myClass.prototype.hoge=function(){ return "hoge" } myClass.prototype.huga=function(){ return this.name+this.hoge()+"

    最近のjsプログラムの組み方 - nazokingのブログ
  • MySQL Connector/Jにおける大量INSERTのチューニング - SH2の日記

    ピンポイントチューニング講座です。まずは結果から。 このグラフは、以下のテーブルに50,000レコードINSERTしたときの処理時間を示したものです。性能に70倍以上もの差が出ているのはなぜか、見ていきたいと思います。 CREATE TABLE `loadtest` ( `id` int(11) NOT NULL, `data` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 方法1 ベースライン conn = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASS); pstmt = conn.prepareStatement("insert into loadtest (id, data) values (?

    MySQL Connector/Jにおける大量INSERTのチューニング - SH2の日記
  • アニメ顔の色情報に基づいた画像検索のデモ - デー

    Imager::AnimeFaceを使ったちょっとした応用例として画像検索のデモを作りました。 Imager::AnimeFaceを知らない方は Perlでアニメ顔を検出&解析するImager::AnimeFace - デーを参照してください。 ウェブサービスとしてではなく、デモやサンプルの意図で作っていて、方針としては、 Imager::AnimeFaceで得られる情報以上のことは考えない 難しいことは無視して簡単に作る(コーディング1日〜2日で作れる程度) です。Imager::AnimeFaceから得られる色情報はオマケみたいなもので、検索に使うには情報量が少なすぎる気がしますが、これくらいはできるよ!というデモになります。 この記事ではデモと同等のものを実装するに必要なアルゴリズム(DB作成と検索)について簡単に説明します。注意として、この記事ではPerlで解説しますが、デモの実装

    アニメ顔の色情報に基づいた画像検索のデモ - デー
  • Geekなぺーじ : みんなが知らずに使ってるAkamai

    Akamaiさんでのセミナーに参加してきました。 個人的にはAkamaiさんと言えば「あまり一般的には知られていないけど使っていない人はほぼいない」企業というイメージがあります。 あまりに内容が楽しかったので、セミナーで色々質問しまくって聞いてしまいました。 想像以上に色々凄いと思いました。 ブロガーのyasuyukiさんが企画し、Akamaiさんにお願いして実現したプライベートセミナーでした。 元々はyasuyukiさんがAkamaiさんのセミナーを聞いて「面白い」とtwitter上で囁きまくっていて、その後「プライベートなセミナーやったら来ますか?」とのオファーを頂きました。 昔からAkamaiさんのCDN技術には非常に興味があったので「是非お願いします」とお願いしました。 セミナー参加者募集はyasuyukiさんのブログとtwitter上で行われ、16人の参加者がいました(アカマイさ

  • Perlでアニメ顔を検出&解析するImager::AnimeFace - デー

    というのを作ったので自己紹介します。 2月頃から、コンピュータでアニメ顔を検出&解析する方法をいろいろ試しつつ作っていて、その成果のひとつとして、無理やり出力したライブラリです。 はじめに はじめにざっとライブラリの紹介を書いて、あとのほうでは詳細な処理の話を僕の考えを超交えつつグダグだと書きたいと思います。 Imager::AnimeFaceでできること Imager::AnimeFaceは、画像に含まれるアニメキャラクター的な人物の顔の位置を検出し、さらに目や口など顔を構成する部品位置や大きさの推定、肌や髪の色の抽出を簡単に行うことができるライブラリです。 これらが可能になると、 画像から自動でいい感じのサムネイルを作成できる 動画から自動でいい感じのサムネイルを作成できる 自動的にぐぬぬ画像が作れる 自動的に全員の顔を○○にできる 顔ベースのローカル画像検索 など、最新鋭のソリューシ

    Perlでアニメ顔を検出&解析するImager::AnimeFace - デー
  • 無料で読めるLinux本ベスト20 - YAMDAS現更新履歴

    20 of the Best Free Linux Books - Part 1 - LinuxLinks News 最近では書籍がウェブに無料公開されることも珍しくなく、オープンソース関係だとそれが顕著なわけだが、その中から20冊チョイスされている。 Ubuntu Pocket Guide and Reference Two Bits (asin:0822342642) クリエイティブ・コモンズなたちと来るべきイベントの話 The Linux Starter Pack The Easiest Linux Guide You'll Ever Read Producing Open Source Software (asin:0596007590) オープンソースソフトウェアの育て方(6月書籍版刊行予定) Introduction to Linux (asin:1596821124) Ba

    無料で読めるLinux本ベスト20 - YAMDAS現更新履歴
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • 仮想化環境を「DNSで」管理するはてな,分散ストレージを自社開発したライブドア

    シンプルでスケーラブルな分散ストレージを自社開発したライブドア 一方ライブドア執行役CTOの池邉智洋氏は,同社のブログや写真投稿サービスなどのインフラで利用中のストレージ仮想化ソフトを自社開発した事例を紹介した。ライブドアのサービス群が求める要件が「いかに安価に容量を追加できるか。過剰な機能と信頼性は不要」(池邉氏)と判断。メーカー製のネットワーク・ストレージの利用を止め,「ファイルのパスがそのままURLになるため,ファイル・システムのパスをURLに変換しなくて済む」HTTPで入出力する分散型仮想ストレージの開発に踏み切ったのだという(写真4)。 設計思想は「複数ノード間の一貫性はCAP定理に基づいて遅延を妥協し,スケーラビリティと読み出しの速さにこだわった。一方で書き込みはそこそこの速度でよく,認証とアクセス制御はアプリケーションで実装するので不要」(池邉氏)というもの。HTTPサーバー

    仮想化環境を「DNSで」管理するはてな,分散ストレージを自社開発したライブドア
  • ベイズを学びたい人におすすめのサイト - download_takeshi’s diary

    ベイジアンフィルタとかベイズ理論とかを勉強するにあたって、最初はなんだかよくわからないと思うので、 そんな人にお勧めのサイトを書き残しておきます。 @IT スパム対策の基技術解説(前編)綱引きに蛇口当てゲーム?!楽しく学ぶベイズフィルターの仕組み http://www.atmarkit.co.jp/fsecurity/special/107bayes/bayes01.html いくつかの絵でわかりやすく解説してあります。 自分がしるかぎり、最もわかりやすく親切に解説してる記事です。数学とかさっぱりわからない人はまずここから読み始めるといいでしょう。 茨城大学情報工学科の教授のページから http://jubilo.cis.ibaraki.ac.jp/~isemba/KAKURITU/221.pdf PDFですが、これもわかりやすくまとまってます。 初心者でも理解しやすいし例題がいくつかあ

    ベイズを学びたい人におすすめのサイト - download_takeshi’s diary
  • Interopクラウドコン優勝は「えとらぼ」分散key-valueストレージ kumofs - Blog by Sadayuki Furuhashi

    InteropTokyo 2009 クラウドコンピューティングコンペティション(通称クラウドコン)は、我等がえとらぼチームが優勝しました! 実行委員・StarBEDプロジェクト・IBMの皆様を始め関係者の皆様、ありがとうございました。 プレゼンテーションムービーとポスターとパンフレット*1を公開しました。 プレゼンムービー(マウスクリック/矢印キーで進む) PDF版 ポスター パンフレット *2 …どれも相当に気合いが入っているので、ぜひご覧ください^^ Ustream.tvの録画もあります(えとらぼチームはちょっと細切れですが) 途中で行ったデモは、StarBEDの45台の物理サーバーを使ってkumofsを動かして、ランダムで選んだノードを自動的にkill/再起動するスクリプトを走らせたものです。サーバーが落ちてもシステムは全然止まらないし、どのサーバーにも均等に負荷が分散されます。 時

    Interopクラウドコン優勝は「えとらぼ」分散key-valueストレージ kumofs - Blog by Sadayuki Furuhashi
  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた - てっく煮ブログ

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ

  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog