タグ

2009年1月29日のブックマーク (8件)

  • sleep関数とマルチスレッド - Tociyuki::Diary

    「増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編」のデザパタ第 5 章 Producer-Consumer の補講 1 では、スリープ状態や待ち状態のキャンセルの説明です。 JavaRuby のマルチスレッドを比べると、Java の方が例外処理など充実しているのがわかります。その点、Ruby は「べっ、べつにあんたのためにマルチスレッド使えるようにしているのじゃないからね。Java がうらやましいならあんたが勝手にライブラリを作ればいいんだわ!」という感じです。 それはともかくとして、ここで気になるのは sleep 関数です。Java では Thread.sleep() メソッドを使うのに、Ruby ではこれまで説明なしで sleep 関数を使ってきました。期待する通りに動作していますが、リファレンスマニュアルにもマルチスレッドとどう関係があるのか明記されていま

    sleep関数とマルチスレッド - Tociyuki::Diary
  • ChucK : Concurrent, On-the-fly Audio Programming Language

    ChucK is a programming language for real-time sound synthesis and music creation. ChucK offers a unique time-based, concurrent programming model that is precise and expressive (we call this strongly-timed), dynamic control rates, and the ability to add and modify code on-the-fly. In addition, ChucK supports MIDI, OpenSoundControl, HID device, and multi-channel audio. It is open-source and freely a

    ChucK : Concurrent, On-the-fly Audio Programming Language
  • Ruby 1.9移行のための簡易lintを作ってみた - わさっきhb

    そろそろRuby 1.9に移行しようと思います.ここのところ,1.8と1.9の非互換性について目にする機会がありましたので,それらの情報をもとに,lintと称するにはおこがましいのですが簡単な検証プログラムを作ってみました. Rubyスクリプトファイルについて,以下のいずれかに該当すれば,指摘します. マジックコメントがない. $KCODEを使用している(コメントやリテラルでも). ASCII以外の文字が含まれている(コメントと=begin〜=endは除外). メソッドsize, lengthを使用している. コマンドライン引数に,対象となるファイル名かディレクトリ名を並べて実行します.なければ,カレントディレクトリを見ます.ディレクトリの場合は,"*.rb" のみです. ファイル名の代わりに -h か --help を指定すると,ヘルプメッセージを出力して終了します.注意書きが無意味に贅

    Ruby 1.9移行のための簡易lintを作ってみた - わさっきhb
  • 特徴(Feature)、粗筋(Story)、脚本(Scenario) - masayang's diary

    Agile開発に限らないが、システム*1業界用語ってカタカナ*2表記が多すぎる。 「いや、元々が舶来なので日語では微妙に表現できないのですよ」という人もいるかもしれない。 でも、この「カタカナ表記のまま」ってのが意思決定者の判断を誤らせたり、新規参入者に対する壁を高くしたりしている可能性は排除できないのではないかな。 今日、この後打ち合わせが入ってるプロジェクト*3もFeature、Story、Scenarioがごっちゃになりかけている。 なんとかわかりやすく表現できないかと悩み中。 以下、自分の案。名訳があったら、是非教えていただきたい。 Feature=特徴 自分は今までFeatureを「機能」と紹介してきた。 同じ「機能」でも開発者が対象にするのはFunctionで、利用者が対象にするのはFeatureですよ、と説明してきた。 でも、安井さんと角谷さんの29頁を読むと「特徴」がい

    特徴(Feature)、粗筋(Story)、脚本(Scenario) - masayang's diary
  • 丁稚な日々

    Rubyで遊んだ日々の記録。あくまで著者視点の私的な記録なので、正確さを求めないように。 Rubyと関係ない話題にはその旨注記しているはず。なので、一見関係無いように見える話題もどこかで関係あるのかもしれません。または、注記の書き忘れかもしれません... 年 月 ◆Ruby歴史 _ 以前、何かの折にまとめたものをHDDの中から見つけたので、最近の情報を反映した上で晒しておくことにした。 この手の情報としてはthe RWikiのリリース予想が詳しいのだが、情報が多すぎて分かりにくい面もあると思うので、今回公開するものにも資料的価値はあると思っておくことにする。 なお、公開にあたってIRCnetの#Ruby:*.jpの皆さんに誤り等を指摘して頂いた。多謝。 * 原則として安定版のリリースのみを列挙し、特に重要と思われる非安定版のリリースを「not stable」として記載した。 * 各リリー

  • 『プログラミング言語 Ruby』読みおわた - 好き勝手に・げーあにん?

    プログラミング言語 Ruby 作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型購入: 21人 クリック: 356回この商品を含むブログ (124件) を見る Rubyを学ぶすべての人におくるRuby解説書の決定版である。 決定版である。心の底から納得したので背表紙の文の引用も含めて二回言いました。 知らなかったことが多すぎて涙目になりながら読了。 以下、読みながらメモっていた文を垂れ流し。主に、私の身についていないとこを思い出すためのメモなので、解説とかはしてません。わからないところがあったら、を買えばいいと思うよ。 P.35 1.9 からピリオドが先頭だったら〜っての知らんかった。 puts [] .push(6) .push(3) .push(4) .sort ピリ

    『プログラミング言語 Ruby』読みおわた - 好き勝手に・げーあにん?
  • インスタンスが属するクラスをあとから変更する操作を Perl で - Smalltalkのtは小文字です

    インスタンスが属するクラスをあとから変更する操作をいろいろな言語で - Smalltalkのtは小文字です どうにも苦手な Perl の勉強をかねて。 Perl のオブジェクトは「blessed reference」で、かつ、bless しなおせば新しいクラス(パッケージ)に属させることは可能なので、クラスを変更できない Ruby のような困難は特にはなさそうですね。あとは Ruby 同様に、オブジェクトの実体であるハッシュの中身を書き換えてやれば別のクラスのインスタンスにも化け切れるはずで、たしかにそのようになりました。 use strict; use warnings; use Math::Trig; package Cartesian; sub new { my $class = shift; my $self = { x => $_[0], y => $_[1] }; return

    インスタンスが属するクラスをあとから変更する操作を Perl で - Smalltalkのtは小文字です
  • オーディオプログラミング言語 ChucK - Radium Software

    オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが

    オーディオプログラミング言語 ChucK - Radium Software