タグ

ブックマーク / www.artonx.org (44)

  • L'eclat des jours(2007-09-03) - Javaの好きになれない点

    _ Javaの好きになれない点 Javaという言語とかの話ではなく、Java界隈という言い方が正確かな。 どうにも前から気に入らないところがあって、そしてどうもそこに良くない点が集約されてるような気がしてならなかったのだが、keisukenさんのところを読んでいて、なんとなくわかったような気になった。 つまりJakartaの存在ということだ(※)。 次のやりかたが単に古いだけということはありえるかも知れないが。 新しい技術を利用してシステムを開発するにあたって、とりあえずは数名で先行して動くわけで、その過程で、練習をかねたりして細かなツールやらユーティリティやらを作っていき、それがチームの道具箱に入っていく。それがあらゆる意味でのベースのインフラとなる。サンプルソースにもなり、拡張の練習、更新方法の練習、変更した場合の影響の実験(というか死にそうになったり)、バグパターンの発見もあったりす

    stfh
    stfh 2007/09/03
  • L'eclat des jours(2007-08-05) - プログラムの書き方(5)

    _ プログラムの書き方(5) (書き方(4)の続き) N君が、Oさんが書いたプログラムを調べていると、Rさんが通りかかった。 「ふーん、Dirをopenして全ファイルなめてるけど、globしたほうがいいなぁ。それにどうせreadするんだから、Pathname使うほうがもっといいかも」と言うと、ささっと修正。 require 'pathname' require 'fileutils' Pathname.glob('*.ini').each do |file| File.open('tmpfile', 'w') do |d| d.write file.read.gsub(/d:/i, 'C:') end FileUtils.cp 'tmpfile', file.to_s end FileUtils.rm 'tmpfile' そこで、ふとN君は疑問に思ったことを聞いてみた。 「一回、tmpfi

  • L'eclat des jours(2007-08-04)

    _ 鋼鉄の息子 Fortressっていうプログラミング言語を作ってる人は、CLtLの執筆者ではあるけれど、Schemeを作ったのはSussmanですね。と思いこんでたら、He is a co-creator of the Scheme programming language. なのか。 _ プログラムの書き方 PCからPCへあるサブディレクトリをまるごとコピーして、その中のプログラムを実行しようとしたらエラーになった。というのは、一緒に入っているデータファイル(ここではWindowsのiniファイルとする)が実に40個ほどあるのだが、すべてに共通するパラメータに、ドライブレターの指定があって、それがもとのPC用にD:となっているからだ。すべてを新しいPCの環境に合わせてC:にしなければならない。 さっそく、エクスプローラを起動して、最初のiniファイルをダブルクリックしてメモ帳を開いた新

  • なぜ、diffのpオプションが重要なのか - L'eclat des jours(2007-06-15)

    _ なぜ、diffのpオプションが重要なのか diffには、-pというオプションがあって、これを指定すると変更された関数名が含まれる。 例) /tmp$ diff -u test.c test2.c --- test.c 2007-06-15 01:12:37.886290094 +0900 +++ test2.c 2007-06-15 01:17:49.292036097 +0900 @@ -4,6 +4,9 @@ for (i = 0; i < 100; i++) { n *= i; } + if (x) { + n ** x; + } return n + x; } /tmp$ diff -pu test.c test2.c ← p付き --- test.c 2007-06-15 01:12:37.886290094 +0900 +++ test2.c 2007-06-15 01:1

    stfh
    stfh 2007/06/15
  • L&#39;eclat des jours(2006-08-05)

    _ Rjb RubyForge用のホームページを作った。http://rjb.rubyforge.org。 Hikiのmono cssをそのまま使わせてもらっているけど。 というか、ルビーとコーヒーカップに虹がかかっているアイコンを作ろうとしたが途中で挫折したので、なんかハートと良くわからないものだか、ヘッドフォンだかみたいなアイコンになってしまった。 _ 苦労話 苦労話って情熱的だとくどくてうざったいだけだが、全然ないと試行錯誤の経過がアウトプット(たとえば、試行錯誤そのものが、その手順や何が問題なのかと考えたかとか、対象の見方の角度の変え方とか、疑念に対する優先順位の付け方とか、それそのものが知見の塊――それが見当外れだった場合も含め――なので)されない可能性がある。 むしろ、成果が出た後に、正しい順序だけしか示さないことは、高速道路を走らせることでそれそのものには文句のつけようがない

    stfh
    stfh 2006/08/08
  • L&#39;eclat des jours(2006-07-17)

    _ プログラマーのためのデザインパターン 「オブジェクト指向プログラムのためのパターン言語の使用」を読み返している。 漠然と感じていたことをあらためて書き出してみる。 アプリケーションプログラマーとフレームワーク(端的にはRails)の関係について。 以下は、上記文章のもじりである。 もし、元のアレクザンダーの考えが正しく、そしてケントベックとウォードカニンガムが考えたようにアレクザンダーが建築に対して用いた考え方がプログラムに適用可能なような普遍性を持つのであれば、以下の言明は真となるはずだ。 Alexander氏は、家やオフィスというものは、実際にそこにいる人たちの手によって設計され、作られるべきだと提案している。氏がこう結論付けたのは、ある構造(a particular structure)への要求を一番よく知っているのは、彼ら自身だからだ。我々はこれに賛同し、フレームワークにも同じ

  • L'eclat des jours(2006-06-16) - JavaScriptの未来

    _ 今日聞いた言葉 Yusukeさんから「派遣言語」という呼ばれ方をすることがあるという話を聞く。すげぇ、いやな言い方だ。でもなぁ、それもわかるんだよな。 _ JavaScriptの未来 GoogleJavaからJavaScriptを作るのを出したとこあたりから、JavaScriptって難しいよねとかを経由して、未来はJavaScriptの上に分厚いラッパーが乗って(今も結構厚みがある気がするけど)その上でJavaScriptとは思えぬような書き方をすることになるのではなかろうか、とか。 その状態になると、手でJavaScriptを書いたり読んだりする人は尊敬されるようになる。「先輩、どうもイベントが正しく処理されないタイミングがあるみたいなんですよ」「しょうがないな。ちょっとデバッガを起動して直接JavaScriptのソースを追ってみるか」「すげぇ、先輩、JavaScriptのソースを

  • L'eclat des jours(2006-06-04) - RailsはJavaの10倍の生産性か?

    _ RailsJavaの10倍の生産性か? もちろん、そんなのはケースバイケースかつ人によるのだが、実感として結構、良い線をついているように思う。 5種類の開発方法を考える。 1. JSPタイプ1(1つのJSPで全部書く) 2. JSPタイプ0(JSPはまだリリースされていないので全部Servletで書く) 3. JSPタイプ2(MVCマルチレイヤで作る) 4. JSPタイプ2(MVCマルチレイヤで作る)のプロジェクトを組む 5. Sun Java CreatorとかWebSphere StudioとかでJSFで書く 1と2、5であれば、それほどRailsと変わらないと思う(特に1と5)。しかし、Railsの場合は、マルチレイヤでできている。したがって、後のメンテから、途中のやり直しから、要するに上から下まで一気通貫で書けない場合には、圧倒的に有利になる。そこまで含めれば4倍くらいの感じ

  • L&#39;eclat des jours(2006-05-11)

    _ あれは夢だったのかな さて 筒美京平 ウルトラベストトラックス(平山三紀) 平山三紀が届いたので、早速iTunesに取り込みながら聴く。 ……まったく似てない。 変だなぁ、ともう一度聴く。 ……やっぱり似てない。でもやっぱり似てる。 むしろ、あっさのっ、とか、なのかな? いや、違う。むしろ、全然似てないというのが正しい。 でも、変だな。やっぱり同じに聞こえるんだが。 間奏の一部や歌の部分でリズムをホーン(トランペットかな?)の1つの音で刻んでいる個所があるのだが、そのリズムかな? それにしても、違うな。 #でも、やっぱり似てるんだよなぁ。アレンジ(音の重ね方)かな? というか、シュープリームスの何かを介して似てると思うのかな? よこはま、よこはま、すてきなおとこが、いっぱいいるわ。びゅーてぃふるなおはなしね。 というわけで、どう見てもビューティフルなお話です。礼はいりません。 _ どこ

  • L&#39;eclat des jours(2006-05-01)

    _ RailsRuby-GetText使ってみる どうも面倒くさそうに思うのは、いろいろ書いてあるけどgettextそのものが必要なんじゃないかな、とかそのあたり。MSWin32は外部のライブラリを用意するのが面倒だ。 でも、実際にやってみたら拍子抜けするほどあっさりできた(追記:つまりGNU gettextそのもののインストールは不要ということ。gemでgettextをinstallする以外にインストールする必要があるものはなかった)。すばらしい。 でも、「Ruby on RailsRuby-GetText-Packageを使う」のページなんだけど、ちょっと引っかかった箇所がある。 Wikiなんだけど、なんとなくむとぽんさんのところは書いて良いのかどうか、そもそも外部の人間が編集できるのか、わからない(わかりにくい、が正確かな?)。それに、参照情報なだけに、もし間違ったことを書いてし

  • L&#39;eclat des jours(2006-04-30)

    _ 買ったDVD 連休中に届くかな? パリ・シャトレ座 ヤナーチェク:歌劇《利口な女狐の物語》全曲 [DVD](ジェニス(エヴァ)) やましたさんが日記で利口な女狐の物語の散財自慢をされていたのを見て、僕もつられて買ってしまった(とコメントに書こうとしたら今日はforbiddenになるので、TBしてみるが、ファイルそのもののパーミッションが変わっているのかも)。 映像作品としての利口な女狐は、チェコスロヴァキアテレビジョンが子供用に編集した(指揮者はバカラというあまり耳にしない人だが、それもそのはずでヤナーチェックの弟子という古い人で、音源も1950年代にブルノで録ったものらしい)番組のレーザーディスク(これも古いね)を持っていて、それは逆に編集してあるせいで長さが適当なのでちょいちょい見る。1/3ほどカットしているらしいがカットされているのは主に会話の部分なので、正直なところ気にならない

  • L&#39;eclat des jours(2006-04-12)

    _ Rjb バグ報告が来たよ。 Methodのimportもできないし、ResultSetのimportもできない。 でもそれはMiscProblemsで通ってるはずじゃんという指摘(日語読めないと思うのに、良くあのページ見られたな。ソースは強い)。 で、あらためてやってみると確かにエラーになる。 J2SE 1.4.2には存在しなかった、配列の配列がJ2SE 1.5には含まれたからだ。たとえばMethod#getParameterAnnotationsとか。 というわけで修正するか。 追記:ついしてしまった。rjb-0.2.6.zip。でも、引数についてはまだやってない。戻り値だけ。 _ コンピュータ思想界のデビッドボウイ という感じ。浅い感じを受けるからかな。 言葉はあるが、中身はない - 特別な言葉"ハイパーテキスト"を生んだテッド・ネルソン氏。 このから着想を得たというが、それは

  • 動と静 - L'eclat des jours(2006-04-04)

    _ 動的言語 やりたければ、こんなことだって出来るしな。 class Ordinal def monologue 'hello citizens !' end end class Sleepy def method_missing(m, *a) return "don't disturb neko" end end class Metamon def initialize(org) @org = org end def method_missing(m, *a) @org.send(m, *a) end end class Yesman def method_missing(m, *a) print "what opinion do you have about #{m} ? " gets end end def show_yourself(o) puts o.monologue end

  • L&#39;eclat des jours(2006-03-28)

    _ Rubyでデッドロック スクリプトがいきなりデッドロックだと言い出したのでびっくりして(スクリプトではなく)eval.cを眺めたら、なるほど確かにスクリプトのバグだった。 うんと短縮するとこんな感じ。 #!/usr/local/bin/ruby -Ks require 'thread' q = Queue.new Thread.new do q.deq end.join 実行すると次のようになる。 test>ruby dl.rb deadlock 0xf63c8: sleep:- - /usr/local/lib/ruby/1.8/thread.rb:281 deadlock 0x10d678: sleep:J(0xf63c8) (main) - dl.rb:5 dl.rb:5:in `join': Thread(0x10d678): deadlock (fatal) from dl.

    stfh
    stfh 2006/03/28
  • L'eclat des jours(2006-03-18) - 多いは少なく少ないは多い

    _ 多いは少なく少ないは多い Rubyで文字列の文字数(バイト数ではなく)を求める方法のまとめ。良い悪いは僕の好み。 jcodeを利用 (greenteaさん) ruby -rjcode -Ks -e 'puts "日語".jsize' 良い点:文字列のメソッド 悪い点:正規表現生成、文字列生成とか重そう split (kdmsnrさんというかレシピブック) ruby -Ks -e 'puts "日語".split(//).size' 良い点:シンプル 悪い点:Arrayの生成、正規表現の生成とか重そう scan (babieさん) ruby -Ks -e 'puts "日語".scan(/./).size' 良い点:- 悪い点:Arrayの生成、正規表現の生成とか重そうだし、splitよりも.が多い(もっともsplitよりscanのほうが1文字少ないから文字数は同じ) という具合で

    stfh
    stfh 2006/03/18
    >Rubyで文字列の文字数(バイト数ではなく)を求める方法のまとめ。
  • L&#39;eclat des jours(2006-03-06)

    _ 文字通りの影舞 最近、会社のメールボックスにspma(検索よけではなくて単なるタイポだけど、直すのが面倒だからそのまま、とこんな長いものを書くのは面倒ではないという矛盾が要点)ががんがん入ってくるようになった。影舞の影舞からだ。 大体がgmail.comを名乗っている。で、件名が@の左側。 ただ、影舞は文をエスケープするから単に見苦しいテキストが来るばかりでおそらく引っかかってリンク(になってないし)をクリックする人はいないだろう。 疑問点:影舞にポストするプログラムを作ったと考えた場合、彼らはデバッグをしないのだろうか? デバッグすれば文がエスケープされることは自明だと思うのだが。(自動的にURLはリンクとして表示するメーラがあるのかも)その場合でも、もっと効果的な読ませ方はありえるんじゃなかろうか。このあたりの詰めの甘さがプログラマーUI設計がダメと言われる(誰からだ? どっ

    stfh
    stfh 2006/03/06
  • L&#39;eclat des jours(2006-02-23)

    _ Strutsの続き さて、そのようにViewとModelそしてControllerという分業ってのは絶対的なものだろうか? というと全くそうは思わない。全レイヤーを押さえるのってのは基じゃなかろうか。 とか、まあいろいろな見方があるのであった。 _ う そんな突き放したような……。ライセンスは8でやっとGPLと共存可能な形にまとまったように見えるのに。 APIドキュメントを見ると_get_osfhandleの動作は正しく見えます(がちょっとこれ書いている時点ではまだあやふや)。別件で何かあるのならそれはそれとして。いずれにしろデバッガのシンボルファイルとソースファイルの関連付けがなんかまだ良く見えないけど。 _ 移行の前触れ うう、途中でFirefoxがcoreを残して消えたため(SPARC-Solaris版だと頻繁にある)どこで読んだかわかんなくなっちゃったが(追記:babieさん

  • L&#39;eclat des jours(2006-02-21)

    _ るびま 13号。 青木さんのが最高におもしろい。 でも、これを作るのが面倒で、アドホックにやってしまったり。 そこで思うのだが、このあたりをprototypeとして標準添付しといてくれると楽なんじゃなかろうか(――ここの括弧に何か疑念とかあやふやなものがいろいろ入る――)。 _ マリオカート 一応ミラーを含めて全部終了。ブラック大魔王(であってるか?)みたいなのも出てきたし。 でも世界を相手に走るにはチキンリトルなおれがいる。 _ 失礼と無礼の差 オープンソースカルチャーにおける作法。 いきなり冒頭でオープンソースに限らないと書いているところが面白すぎるが、「失礼」という言葉の使い方がなんとなく気持ちよさそうに見えた。 rudeか。コンサイス6版だと不作法とか激しいとか自然のままのとか猥褻とか書いてある。 ルーディーキャントフェイル。 なんか概念が混乱しているような言葉だ。 これ以外に

    stfh
    stfh 2006/02/21
  • L&#39;eclat des jours(2006-02-13)

    _ リファラspam 溜まっていた分を処理。 それにしても、どの程度のマーケティング効果が上げられるものなんだろうか。あまり役に立ちそうにもないのだが(木馬のダウンロード基地とかだったらわからないでもないけど、そこまで悪質そうなのは今のところ見てないんだが)。 _ 寸志 寸暇は惜しむものだが、寸志は与えるものだ。 とは言うものの、一体、その職業は何かというのが気にかかる。 芸術家はすべてを芸術のために捨てる必要はない。が、画家は絵を描いているときだけが彼の仕事時間ではないだろう。いや、画商と交渉している時だけが彼のビジネスタイムなのだろうか? だとしたらいつ絵を描けば良いのだろうか。 あるいは企業に属するという言葉が質的には2つの意味を持つということも考えるべきではないだろうか。1つはたまたまその企業に草鞋を脱いだという状態。股旅者はもしかしたらある日突然去るかも知れず、居心地良ければ居

    stfh
    stfh 2006/02/13
  • 感想「 トランザクションがないのに金になるシステム」を読んで。 - L'eclat des jours(2006-02-09)

    _ IDEは戦車 というような言葉を「暗黙的インタフェースの実装」を眺めていて思いついた(程度の話)。 もちろん、それほどは困らない。もし、元のclassがfinalでなく、かつメソッドのセットが十分に小さければ。 class Purse { public boolean isStolen() { return this == null; } public Coin[] parse() { return new Coin[0]; } public void add(Coin c) { } public boolean isBroken() { return true; } } があるとして class UsefulPurse extends Purse { Map coins = new HashMap(); public boolean isStolen() { throw new Il

    stfh
    stfh 2006/02/10