タグ

programmingに関するjapo99のブックマーク (63)

  • ruby のスクレイピングツールキット scrAPI - 川o・-・)<2nd life

    http://blog.labnotes.org/category/scrapi/ rubyスクレイピングして web の情報を取得するのには、今まで正規表現か xpath でやってたので、わりと面倒でした。で、ふと scrAPI というスクレイピングツールキットを知ったのですが、これがかなり便利そう。 このツールキットを使うと、CSS3 なセレクタを記述することで、要素を取得することができます。たとえばとあるサイトのリンクを全部取得したければ、 require 'rubygems' require 'scrapi' require 'open-uri' require 'nkf' require 'pp' $KCODE = 'u' links = Scraper.define do process "a[href]", "urls[]"=>"@href" result :urls e

    ruby のスクレイピングツールキット scrAPI - 川o・-・)<2nd life
  • サービス終了のお知らせ

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

  • [動画]Ruby設計者まつもとゆきひろといろいろ語りたい - @IT情報マネジメント

    プログラム言語Rubyアジャイルソフトウェア開発の連携が生み出す新たな可能性を縦横無尽に語り合う。全6回シリーズの第1回。まつもとゆきひろ(ネットワーク応用通信研究所)がRubyの来歴を語り、平鍋健児(チェンジビジョン)がアジャイル開発とRubyの接点を模索する。角谷信太郎(永和システムマネジメント)が両者の橋渡しをする。 なぜ、「まつもとゆきひろ」か? 「RailsによるアジャイルWebアプリケーション開発」は一風変わった書籍である。RubyによるWebアプリケーションフレームワーク、Ruby on Rails解説の決定版である書は、書名に「アジャイル」を冠しながらも、文では具体的なアジャイルソフトウェア開発手法への言及がほとんどない。その理由は「アジリティ(agileであること)はRailsの構造の一部」であり「フレームワーク自体にアジャイル宣言の原則を語らせるように」執筆したと

    [動画]Ruby設計者まつもとゆきひろといろいろ語りたい - @IT情報マネジメント
  • Haskell - Wikipedia

    Haskell は高階関数や静的多相型付け、定義可能な演算子、例外処理といった多くの言語で採用されている現代的な機能に加え、パターンマッチングやカリー化、リスト内包表記、ガードといった多くの特徴的な機能を持っている。また、遅延評価や再帰的な関数や代数的データ型もサポートしているほか、独自の概念として圏論のアイデアを利用し参照透過性を壊すことなく副作用のある操作(例えば 代入、入出力、配列など)を実現するモナドを含む。このような機能の組み合わせにより、手続き型プログラミング言語では記述が複雑になるような処理がしばしば簡潔になるばかりではなく、必要に応じて手続き型プログラミングを利用できる。 Haskell は関数型プログラミングの研究対象として人気が高い。あわせて Parallel Haskell と呼ばれるマサチューセッツ工科大学やグラスゴー大学によるものをはじめ、他にも Distribu

    Haskell - Wikipedia
  • D言語 - Wikipedia

    D言語(ディーげんご、D programming language)は、プログラミング言語のひとつ。C言語をベースとしABI互換を保ちつつも、テンプレートによるジェネリックプログラミングやオブジェクト指向プログラミング、関数型プログラミングなどをサポートするマルチパラダイムプログラミング言語である。 型推論やガベージコレクション(明示的なメモリ管理も可能である)、スライスが可能な動的(および静的)配列、連想配列など効率的なプログラミングを可能にする言語機能を備えている。単体テスト、事前・事後条件のチェックや不変条件のチェック(契約プログラミング)、debug 識別子の導入など、プログラムのデバッグ・保守に対しても重点的にサポートしている。並列処理との親和性も重視しており、明示しない限りグローバル変数がスレッド局所記憶であり、不変なデータ型(イミュータブル)がサポートされている。また、標準ラ

    D言語 - Wikipedia
  • Scheme - Wikipedia

    この中でカール・ヒューイットが設計した規則ベースの言語 Planner はあまりに複雑な機構を持っていたため当初設計された全機能の実装は困難であり[注釈 9]、サスマン等はそれをサブセット言語の Micro-Planner として実現し、さらには、 Planner の流れを汲んだ独自言語として Conniver を作成した。 同じくカール・ヒューイットが設計したアクタ言語 Plasma (Planner-73) も複雑な機構を持っていたため、MacLisp による実装が存在したものの、その動作の仕組みを理解するのは困難であった。サスマン及びガイ・スティール・ジュニアは Plasma を理解するために、不要な機能を省いた LISP 構文を持つ小さな Plasma を設計した。 上記の Plasma からその小さな Plasma の設計に至る過程は Planner から Micro-Plann

    Scheme - Wikipedia
  • 遅延評価 - Wikipedia

    評価しなければならない値が存在するとき、実際の計算を値が必要になるまで行わないことをいう。評価法が指示されているが実際の計算が行われていない中間状態の時それをプロミス(英: promise)や、計算の実体をさしてサンク(英: thunk)といい、プロミスを強制(英: force)することで値が計算される。一旦計算された値はキャッシュをすることが可能であり、遅延プロミスは最大で一度しか計算されないようにすることができる。ただし、Haskell の実装によっては、何度でも同じ計算を行う。 遅延評価を行う利点は計算量の最適化である。 ある関数を呼び出すとき、その関数が引数の全てを利用するとは限らない。条件次第で捨ててしまうような値を事前に準備することは非効率的である。このような場合遅延評価を行うと必要なときだけ値が計算されるので計算量を低減できる。 また同じ評価を複数回利用する可能性があるとき、

  • ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)

    春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いだろう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしれない。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考える。 わたしははてなという企業でプログラマーとして働いています。はてなは、ブログやソーシャルブックマークなどWeb上のサービスを提供する会社ですが、それらのほとんどはPerlで書かれており、LinuxやApache、MySQLをはじめとするオープンソースソフトウェアの上で動作しています。そんな理由から、開発環境も自然とオープンソースのツールを使うことになります。今回から2回に分けて、そんなわたしの開発環境を簡単に紹介させていただきたいと思います。 ノートPC1台で開発する 題のツール類の話に入る前に、開発に使っているハードウェアの話を先にしてお

    ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)
  • DSAS開発者の部屋:オープンソースを楽しむエンジニアの一日 〜 コードを楽しく読む工夫

    C言語で書かれたソースコードを読んでいるとき、関数ポインタから呼び出されている機能の実体がどこに書かれているのかを探すのに苦しんだ経験はありませんか? 私はあります、いっぱいあります!! そんなときはどうするかというと・・・ 手順1: まずは気分転換をする! 手順2: そして気合いを入れ直す! 手順3: さらに気力で読み砕く! 手順4: 最後に根性で発見する! これが、ごく一般的な作業手順(?)かと思います・・・(ごめんなさい嘘です) でもまあ、実際にここまで出来れば、そのプログラムの大まかな構成とか癖みたいなものはだいたい把握できているはずなので、他の関数ポインタについてもある程度当たりをつけて見つけだすことが出来るようにはなるかと思います。 ・・・・・が、、できれば気合いと根性を使わずに追えるなら追いたいのが人情ですよね。 straceやltraceを使えばシステムコールやライブラリコ

    DSAS開発者の部屋:オープンソースを楽しむエンジニアの一日 〜 コードを楽しく読む工夫
    japo99
    japo99 2007/05/25
    関数ポインタを追う
  • Do You PHP? - 新着情報

    Do You PHP?では、スクリプト言語であるPHP - PHP Hypertext Preprocessor -とOracleの連携の他、XML関連、オブジェクト指向、デザインパターン、PhpUnitなどの周辺ツールについて、色々と試したり調べたりしたことを(備忘録的に)まとめて公開しています。 初めての方は、まず「初めての方へ」のページをご覧下さい。 2008/08/08付で、PHP4.4.9がリリースされました。PHP4.4.9が最後のPHP4となり、今後、機能改善・バグFIX・セキュリティFIXなどのサポートは行われません。このため、現在ではPHP5系への移行が推奨されています。詳細は、GoPHP5.orgを参照してください。PHP4.4.9のリリースノートはRelease Announcement、ダウンロードはPHP家のダウンロードページからどうぞ。 [2008/06/1

  • ミューテックス - Wikipedia

    ミューテックス (英: mutex) とは、コンピュータプログラミングにおける技術用語。クリティカルセクションでアトミック性を確保するための排他制御や同期機構の一種である。「mutex」という語は「mutual exclusion」 (相互排他、排他制御) の省略形である。ここでは、狭義の排他制御について述べる。 セマフォをクリティカルセクションの排他制御に用いる時、セマフォでは(初期値が1でなければ)複数のタスクがクリティカルセクションに入ることを許可するのに対し、ミューテックスでは同時に一つのタスクのみがクリティカルセクションに入ることを許可する(ここで言うタスクとは、スレッドまたはプロセスを指す)。挙動はセマフォ変数の初期値を1にする事と等価。このようなタスク優先度とリンクしないミューテックスを、バイナリセマフォと呼ぶ場合もある。 狭義には、ミューテックスの場合にそれをロック(P操作

  • Perl - Wikipedia

    Perl(パール)とは、ラリー・ウォールによって開発されたプログラミング言語である。実用性と多様性を重視しており、C言語やsed、awk、シェルスクリプトなど他のプログラミング言語の優れた機能を取り入れている。ウェブ・アプリケーション、システム管理、テキスト処理など、さまざまなプログラムの開発に広く利用されている。 言語処理系としてのperlフリーソフトウェアである。Artistic LicenseおよびGPLのもとで配布されており、誰でもどちらかのライセンスを選択して利用することができる。UNIX、WindowsmacOSLinuxのようなUNIX互換OSなど多くのプラットフォーム上で動作する。 強力な文字列処理の仕組みを備えており、正規表現を利用できる。 連想配列(ハッシュ)をサポート。 多次元データ構造が利用可能。 自由度の高い文法。簡潔にプログラムを記述できる。 後方互換性は

    Perl - Wikipedia
  • mozdev.org - greasemonkey: authoring

    Writing User Scripts Mark Pilgrim has given the Greasemonkey community Dive into Greasemonkey, the best reference imaginable. The stuff below might be slightly more up-to-date. You can write your very own shiny user script with just a few steps: 1. Create the file Open a new text file in your favorite editor and throw some javascript in there. Note that there are many good resources available if y

  • そろそろPHP5への移行に関して一言いっとくか

    初期のPHP5にはいくつものバグがあり、安定度も低かったため、PHP4からの移行がなかなか進みませんでした。 「PHP4とPHP5では全く互換性がない」 「PHP5はバグだらけだ」 「PHP5は動作速度が遅い」 そんな風に思われてしまいました。 自分も最初はPHP5に対してあまり良い印象は受けていませんでしたが、約1年前に安定度・処理速度が改善されたPHP5.1系をインストールしてみて印象はガラッと変わりました。(PHP5.1については、【PHPウォッチ】第22回 PHP 5.1ついにリリース,大幅な高速化を実現し重大なセキュリティ問題も修正:ITpro参照) 今では、もうPHP4には戻りたくないくらいです。 PHPについて、「バージョンが変われば別言語」(404 Blog Not Found:そろそろPHPに関して一言いっとくかより)と言っている人もいましたので、PHP4からPHP5移行

    そろそろPHP5への移行に関して一言いっとくか
  • Compare Free Open Source Software

    Get full visibility and control over your tasks and projects with Wrike. A cloud-based collaboration, work management, and project management software Wrike offers world-class features that empower cross-functional, distributed, or growing teams take their projects from the initial request stage all the way to tracking work progress and reporting results.

  • http://www.piyosystems.com/kuki/B2060435708/C1887229145/E282302539/index.html

  • Nanoseconds Hunter - Perl 6入門

    新規の学習者はPerl5との違いの部分については読み飛ばしていってかまいません。 背景色が黄色の部分にマウスカーソルを当てると、説明がポップアップされます。(対応ブラウザのみ) また、矢印アイコンをクリック(マウスのボタンを押下すること。)すると、隠されている内容が表示されます。(要JavaScript) 僕自身初心者でありますので、どうしても間違いが出てくると思います。そんなときはそっとkcrtまでご指摘下さいますと助かります。 基編 全くの初心者が、簡単なPerl文法を覚えて、人の作ったプログラムを読んだり、改変したり出来るくらいまでを想定しています。 イントロダクション (06/08/01) Perl とは? Perlでなにができるの? Perl 6の動作の仕組み 今までのPerlとの違い インストール (06/08/01) Pugsについて Linuxの場合 Windowsの場合

  • Scheme:Lisp プログラマのためのPerl入門

  • Erlangとは コンピュータの人気・最新記事を集めました - はてな

    Erlangは汎用の並列指向のプログラミング言語とそのランタイムです。Erlangの逐次実行部分は、正格で単一代入で動的型付けの関数型言語になっています。 もともと、Ericssonで、ネットワーク分散システム上で、耐障害性に優れ、ソフト・リアルタイムをサポートし、無停止での実行が可能なアプリケーションを作成することができるように設計された、非オープンソースのソフトウェアでしたが、1998年にオープンソース化されました。

    Erlangとは コンピュータの人気・最新記事を集めました - はてな
  • Index - Erlang/OTP

    fact(0) -> 1; %% Pattern matching for control-flow fact(N) -> N * fact(N-1). %% Recursion to create loops > example:fact(10). %% Interactive shell for fast iterations 3628800 > [{I, example:fact(I)} || I <- lists:seq(1,10)]. [{1, 1}, {2, 2}, {3, 6}, {4, 24}, {5, 120}, {6, 720}, {7, 5040}, {8, 40320}, {9, 362880}, {10, 3628800}] > Fruits = ["banana","monkey","jungle"]. %% Immutable variables ["bana

    Index - Erlang/OTP