タグ

programmingに関するhibyのブックマーク (58)

  • 新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改

    新はてブ正式リリース記念ということで。もうリリースから何週間も経っちゃったけど。 新はてなブックマークではブックマークエントリをカテゴリへと自動で分類しているが、このカテゴリ分類に使われているアルゴリズムはComplement Naive Bayesらしい。今日はこのアルゴリズムについて紹介してみる。 Complement Naive Bayesは2003年のICMLでJ. Rennieらが提案した手法である。ICMLというのは、機械学習に関する(たぶん)最難関の学会で、採択率はここ数年は30%を切っている。2003は119/371で、32.1%の採択率だったようだ。 Complement Naive Bayesの位置づけは 実装が簡単 学習時間が短い 性能もそこそこよい という感じで、2003年段階にあっても、絶対的な性能ではSVMに負けていた。しかし、学習が早いというのは実アプリケーシ

    新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改
  • もうこれで十分。HTML上でテーブルを表示するなら·Sigma Grid MOONGIFT

    業務システムを構築する際に、一覧表を表示するという処理は多い。そしてそのデータを並べ替えたり、チェックボックスを入れたりしたいというニーズも多く発生する。場合によってはカラムを並べ替えたり、一括更新したいなんて言われることもある。 ソートも並べ替えもページネーションも全部こみこみ それを一つ一つ実装していては非常に工数がかかってしまう。そこで使いたいのがこのSigma Gridだ。 Sigma Gridはテーブルの表示とソート、データ編集などを可能にする超豪華ライブラリだ。LGPLライセンスの下に公開されているオープンソース・ソフトウェアだ。 Sigma Gridはデータの表示に際してJSONでデータを渡す必要がある。そのため既存のシステムにそのまま組み込むのは難しいかもしれない。だがその変更してもあまりあるメリットを享受できるに違いない。 画像表示とクリックアクションの例 まずカラムごと

    もうこれで十分。HTML上でテーブルを表示するなら·Sigma Grid MOONGIFT
  • 【レポート】CEDEC 2008 - EPIC GAMESのTIM SWEENEYが語る「10年後のゲーム機の姿、ソフトウェアの形」(前編) (1) Unreal Engineの歴史 | パソコン | マイコミジャーナル

    2008年9月9日より3日間、昭和女子大を会場にして、日最大級のゲーム開発者会議「CEDEC 2008」が開催された。 CEDECは最新の3Dグラフィックス技術や次世代のゲーム開発技術までを取り扱ったカンファレンスであり、今年は著名人の講演や、かなり具体性を持った次世代技術の発表が行われ、非常に注目度の高い内容となった。 誌では会期中行われたセッションのうち、特に興味深かったものについて紹介していくとしよう。 まずは、Unreal Engineの設計者であり、長きにわたって最新ハードウェアと最新ソフトウェア技術との関係を現場で見続けてきたEPIC GAMESのTIM SWEENEYの講演「未来のゲーム開発テクノロジー」からレポートしたい。 TIM SWEENEY氏が語るコンピューティング未来像 基的にゲームは、これまでの多くのソフトウェアがそうであったように、単発の完結したプログラム

  • 正規表現の問題集1(基本編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    正規表現の問題集1(基本編)
    hiby
    hiby 2008/09/04
    そろそろ勉強会やろうかな。
  • 3D、ゲーム、物理エンジン、トゥイーンなど、ActionScript3用便利ライブラリ集:phpspot開発日誌

    3D、ゲーム、物理エンジン、トゥイーンなど、ActionScript3用便利ライブラリ集 2008年08月22日- Adrian Parr’s Blog Blog Archive AS3 Code Libraries 3D、ゲーム、物理エンジン、トゥイーンなど、ActionScript3用便利ライブラリが紹介されていました。 ActionScriptというとライブラリもあまり知らない人が多いのではないでしょうか。 3Dエンジン Papervision3D http://blog.papervision3d.org/ Away 3D http://www.away3d.com/ Sandy 3D http://www.flashsandy.org/ Alternativa Platform http://blog.alternativaplatform.com/en/ FIVe3D http

  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

    hiby
    hiby 2008/06/26
  • Google App Engine が凄すぎる気がしてきた - Djangoへの片思い日記

    Google Developer Day 2008 に行ってきました。 で、基調講演聞いたあと、Google App Engine のコードラボに参加してきました。 まぁ簡単に言うと Hackathon です。 画像掲示板つくってみる ユーザ登録&認証 コメント付加 古いデータは消す な画像掲示板を書いてみました。 #!/usr/bin/env python # -*- coding: utf-8 -*- import wsgiref.handlers, cgi from google.appengine.api import images from google.appengine.api import users from google.appengine.ext import webapp,db class ImageAndText(db.Model): user = db.User

    Google App Engine が凄すぎる気がしてきた - Djangoへの片思い日記
  • Google Japan Blog: 日本のデベロッパーの要望に応え、多くの技術ドキュメントを日本語化しました

    メディア関係者向けお問い合わせ先 メールでのお問い合わせ: pr-jp@google.com メディア関係者以外からのお問い合わせにはお答えいたしかねます。 その他すべてのお問い合わせにつきましては、ヘルプセンターをご覧ください。

    Google Japan Blog: 日本のデベロッパーの要望に応え、多くの技術ドキュメントを日本語化しました
  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

  • Aerial(エアリアル) - Ajax/Cometの次を行く リアルタイム双方向RPC - Blog by Sadayuki Furuhashi

    JavaScript - サーバー間で双方向のRPC通信を行う技術は「Aerial」(エアリアル)という名前になりました*1。アイディアを出していただいた皆様、ありがとうございましたm(_ _)m Aerialは、通信にFlashを使い、JavaScriptとサーバープログラムとの間で双方向のRPC呼び出しを行う技術です。つまり、サーバー側からJavaScriptのメソッドを呼び出したり、逆にJavaScriptからサーバー側のプログラムを呼び出したりします。 サーバーから直接JavaScriptのコードを呼び出したり、逆にJavaScriptからサーバー側のメソッドを呼び出したりできるので、通信の内容を意識する必要がなく、バグの混入を抑えます。RPC成分入り! ライブラリを開発するときも、HTTPやブラウザ間の実装の違いを意識する必要も無く、ごく普通のTCP接続で通信を行うので、Come

    Aerial(エアリアル) - Ajax/Cometの次を行く リアルタイム双方向RPC - Blog by Sadayuki Furuhashi
    hiby
    hiby 2008/05/12
    うおーなんかきもちわるー
  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
  • jQuery 日本語リファレンス

    jQueryとは、JavaScriptのコーディングを強力に支援するライブラリです。 $('.semooh a').hover( function(){ $(this).text('ヌ?'); }, function(){ $(this).text('ヌー'); } );

  • codepad

    codepad is an online compiler/interpreter, and a simple collaboration tool. Paste your code below, and codepad will run it and give you a short URL you can use to share it in chat or email. Language: C C++ D Haskell Lua OCaml PHP Perl Plain Text Python Ruby Scheme Tcl

  • アルゴリズムとデータ構造演習

    演習の目的は、プログラミング言語C及びSchemeの基礎を習得し、 それらの言語を通じて、講義「アルゴリズムとデータ構造」の理解を深めることにあります。 重要なお知らせ 特に重要な連絡事項はここに掲載されます。 課題について 課題には、A課題とB課題があります。(課題番号の末尾が種類を表します。) B課題が基礎的な課題で、A課題が発展的な課題となっています。 B課題を全問解くことが、単位取得の目安です。 C入門第1回(10月10日) C入門第2回(10月17日) C入門第3回(10月24日) C入門第4回(10月31日) C第1回(11月7日) C第2回(11月14日) C第3回(11月21日) C第4回(11月28日) C第5回(12月5日) Scheme第1回(12月12日) Scheme第2回(12月19日) Scheme第3回(1月9日) Scheme第4回(1月16日) C補講

    hiby
    hiby 2008/01/28
    教材。
  • InfoQ: JavaScriptへのマルチスレッド・プログラミングの導入

    function backgroundLoad ( ids ) { for ( var i=0; i < ids.length; i++ ) { var a = getArticleWithCache(ids[i]); backgroundLoad(a.children); } } このbackgroundLoadはIDの配列を引数に取り、その各IDに対して上で定義したgetArticleWithCacheを呼び出します。これでIDに対応する記事のデータがキャッシュされます。そして読み込んだ記事の子記事のIDに対してbackgroundLoadを再帰的に呼び出すことで、ツリー全体をキャッシュすることができます。 ここまですべてうまくいっているように見えます。しかし、一度でもAjax開発を経験したことのある方ならば、これではうまくいかないということはすでにおわかりだと思います。これまでの例で

    InfoQ: JavaScriptへのマルチスレッド・プログラミングの導入
  • ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40

    高校生の時、数学の先生がこう言いました。 ゲームなんて、開発者が作ったルールの上で遊ばれるだけだ。 と。 その時、ゲーマーな自分はこう思いました。 ゲーマーは、開発者が作ったルールの上で遊ばれたい。 と。 というわけで、普段何気なくプレイしているゲームには、どのようなルール(アルゴリズム)があるのか。それを知るために、いろいろなゲームのアルゴリズムなどを解析しているページへのリンク集を作りました。 ほとんどのゲームのアルゴリズムは正式に発表されていないので、ユーザーの手による逆解析だったり、大学の研究による真面目な考察だったりします。(リンク先には、一部アルゴリズムと呼べないものも含まれています) 各種ゲームのプログラム解析 ドラクエ、FF、ロマサガのプログラム解析 DQ調査報告書(リンク切れ) ドラクエの物理ダメージ計算式は質的にどれも同じだが、細かい部分で微妙に違う RPG INST

    ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40
    hiby
    hiby 2007/11/28
    アウトプットからアルゴリズムを予想することは一種の攻略ですよねー。
  • http://www.asahi.com/national/update/1027/TKY200710270270.html

    hiby
    hiby 2007/10/29
    いろいろ計算してこねくり回すと面白そう。専門用語を廃して説明することの難しさを感じた。
  • livedoor Developers Blog:String::Trigram でテキストの類似度を測る - livedoor Blog(ブログ)

    こんにちは。検索グループ解析チームの nabokov7 です。 今回は、livedoor キーワードでの事例より、テキストの類似度を測るのに便利な手法を紹介します。 livedoor キーワードは、livedoor ブログでその日その日で話題になった語をランキング表示するサービスです。 当初、はてなキーワードやWikipediaを足して2で割ったようなサービスを作れといった開き直った指示のもとで開発が開始されたともいう、分社化前の芸風の名残で、キーワードの検索結果にはユーザが自由に解説を書き込める Wikipedia 的スペースもついています。 で、この解説部分に、さまざまなサイトから文章をまる写ししちゃう人がとても多いのですね。 特に多いウィキペディア日語版からの剽窃を防止するために、livedoor キーワードでは以下のような対策を講じることにしました。 ウィキペディア日語版の解説

  • 260万人の朝の足を直撃 プログラムに潜んだ“魔物”

    週末の朝、260万人の足を直撃したのはプログラムに潜む“魔物”だった──10月12日朝、JR東日や東京メトロなどの8都県662駅で自動改札機が起動しなかった原因は、「レアケース」という改札機の不具合だった。 同日早朝、SuicaとPASMOに対応した16事業者662駅で、日信号が製造した自動改札機4378台(PASMO 470駅3050台、Suica192駅1328台)が起動しない不具合が発生。通常は駅構内のサーバから集中的に起動する仕組みだが、これが不可能に。各駅はサーバから改札機を切り離し、単体起動に切り替えるなどして対応。午前11時までに全面復旧したが、PASMOで約160万人、Suicaで約100万人の客に影響が出た。 日信号によると、現時点で判明しているのはこうだ。原因は自動改札機のICカード判定部の不具合。判定部には毎朝、サーバから起動用データの1つとして、「ネガデータ」

    260万人の朝の足を直撃 プログラムに潜んだ“魔物”
    hiby
    hiby 2007/10/15
    ハードの不具合。怖いなあ。
  • マシン語を知らない子ども達 - shi3zの日記

    hiby
    hiby 2007/09/12
    永久ループ。