タグ

programmingに関するuricleのブックマーク (11)

  • Diff algorithm - 枕を欹てて聴く

    id:smoking186 さんの指摘を受け, First Authorの名前などを付加しました. どうもです. 記事内のcodeは最適化などを施しておらず, 冗長に, 定義どおりに書いています. ifがまとめられたりとかしますが, そのあたりはご容赦を... Rubyでlevenshtein距離を見て以来, 個人的にdiffブームが来ていた. 計算量O(ND) / O(NP)のalgorithmなどがあるのは知っていたが, 論文(英語)および, 解説のみ, またはソースコードのみなど分かれているものが多く, algorithmに疎い自分には理解するのに大変時間がかかってしまった. しかしやっとわかったので, 解説+JS実装してみる. 解説とソースコードがセットだと, 多少はわかりやすくなるかと... 自分は正直これくらい細かく言われないとすぐにはわかんない人なので(the O(ND)だけ

    Diff algorithm - 枕を欹てて聴く
  • 以下のperlのコードが動かない理由を教えて下さい。…

    以下のperlのコードが動かない理由を教えて下さい。 FizzBuzzのコードなのですが、$iが11,26,41,56,71,86の時にBuzzと出力されてしまいます。 なんとなく直前のループ時の$outの内容が引き継がれている気がしますが、理由がわかりません。 --- #!/usr/bin/perl use strict; use warnings; use Perl6::Say; foreach my $i (1..100) { my $out = "Fizz" if $i%3 == 0; $out .= "Buzz" if $i%5 == 0; say $out || $i; } --- なお$outの宣言を別にしたところ、正常に動作しています。 --- foreach my $i (1..100) { my $out; $out = "Fizz" if $i%3 == 0; $ou

  • オブジェクト指向AppleScript言語 - ザリガニが見ていた...。

    今までAppleScriptに備わっているオブジェクト指向的な仕組みを、あまり積極的に利用していなかった...。アプリケーションの補助的な操作に利用することが多く、シンプルなスクリプトを手順に従って並べるだけで結構満足できていた、ということもある。それに何より、オブジェクト指向的に書く方法、もっと言えばAppleScript自体をあまり良く理解できていなかったというのもある。 いつも、その場限りの必要な知識だけ調べて、動いたらそれまで。試行錯誤のやっつけスクリプトだった。いい加減、ちゃんと理解しておきたい...。 Hello World 「こんにちは」とダイアログで表示するだけの最もシンプルなコードだが、この裏には実に多くの仕組みが隠されていた。 display dialog "こんにちは" 実は、runハンドラ(メソッド)に定義されたコードと同じように解釈されている。(厳密には同じではな

    オブジェクト指向AppleScript言語 - ザリガニが見ていた...。
  • スペル修正プログラムはどう書くか

    Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Google

  • newした位置が解るnew - 神様なんて信じない僕らのために

    が欲しい。 といつも思っているんだけれど、 なかなかそうはいかないのよね、というお話。 デバッグ用のメモリ確保ルーチンなどには、 そのメモリブロックが何の用途で使われているのかヘッダに記憶しておいたりする。 要するに、 new (__LINE__, __FILE__) Hoge(); みたいにnewの引数にそれと解るものを書いておく。そして、それをメモリの頭に隠しておく。するとメモリの把握に大変便利。 ただ、こんな書き方をみんなしたい訳じゃない。 めんどくさい。めんどくさい。かっこ悪い。だいたい、デバッグ時だけでいいんだ。わかるのわ。 じゃ、 #define new new (__LINE__, __FILE__) ? こんなことをしたら、これは、 Hoge* hoge = new (buffer) Hoge(); なんてことをしたときに、 Hoge* hoge = new (666,"H

    newした位置が解るnew - 神様なんて信じない僕らのために
  • データ圧縮法概説 目次

    最終更新日:2001年7月2日 第1章へ webmaster@snap-tck.com Copyleft (C) 2000 SNAP(Sugimoto Norio Art Production)

  • C++編(標準ライブラリ)●Programing Place

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • JapaneseTutorial - Mercurial

    Mercurial の使い方のチュートリアル このチュートリアルは Mercurial の使い方を紹介します。 SCM ソフトウェアを使うにあたっての特定の予備知識は必要ありません。 あらかじめ Mercurial を理解する を見ておくとよいでしょう はじめに このチュートリアルを読み終われば、次のことが分かるでしょう: Mercurial を使うのに必要な基的な考えとコマンド ソフトウェアプロジェクトに貢献する際の Mercurial の簡単な使い方 Mercurial のマニュアルページ hg(1) と hgrc(5) に目を通すことを強くお勧めします。 マニュアルページは リリース tarball にも doc/hg.1.html と doc/hgrc.5.html として含まれています。 コマンドラインで hg help <command> とタイプしても良いでしょう。 チュー

  • 集合知プログラミング

    TOPICS Programming , Web , Python 発行年月日 2008年07月 PRINT LENGTH 392 ISBN 978-4-87311-364-7 原書 Programming Collective Intelligence FORMAT Print 書は現在注目を集めている「集合知(collective intelligence)」をテーマにした書籍です。機械学習のアルゴリズムと統計を使ってウェブのユーザが生み出した膨大なデータを分析、解釈する方法を、基礎から分かりやすく解説します。書で紹介するのは「購入・レンタルした商品の情報を利用した推薦システム」、「膨大なデータから類似したアイテムを発見し、クラスタリングする方法」、「数多くの解決策の中から最適なものを探し出す方法」、「オークションの最終価格を予想する方法」、「カップルになりそうなペアを探す方法」、

    集合知プログラミング
  • http://japan.internet.com/column/developer/20071204/26.html

  • 「ソフトウェアの部品化」が失敗する理由 ― @IT

    経済産業省のとある外郭団体の委員をしている方と話をしていたら「我が国のソフトウェア産業を改革するためには、ソフトウェアの部品化を推進しなければならない」と話していた。うーん……ソフトウェアの部品化かぁ……。正直、頭をよぎったのは1980年代後半に国内のソフトウェア部品の集積を目指して立ち上げられたが、失敗した「Σ(シグマ)プロジェクト」だ。 Σプロジェクトから20年の歳月を経て同じコンセプトが出現するには理由がある。日の輸出を支えている製造業で、製品におけるソフトウェアの比重が高まるに伴って、業界全体がソフトウェア・エンジニアの不足および、ソフトウェア関連の障害の多発に悩まされているからである。 外注先企業が作ったソフトウェア障害に悩まされている製造業の視点から見れば「なぜ、ソフトウェアはこんなにトラブルが出るのか? 部品化して、それぞれの部品の品質チェックをもっと厳しくし、その上で再利

  • 1