タグ

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

  • Effective Ruby - L'eclat des jours(2014-11-20)

    _ Effective Ruby 早くもアマゾンに書影が出ているので、広告します。 来年早々に、翔泳社からピーター・J・ジョーンズ(僕は知らない人なんですが)のEffective Rubyの翻訳が出ます。 翻訳は安定と安心のロングテール長尾さん、僕が監訳しています。 当然、全部読んだのですが、これは相当お勧めです。 Effective Ruby(Peter J. Jones) Effectiveと銘うっているだけに、どう使うべきか、どう使うべきでないか、といったことが大雑把な章立ての下に並んでいます。コードはほとんどが断片(irbを使って動かせるようにはなっている。当然、僕は全部試したけど(2.1と2.2プレビュー)。とはいえ、最後のほうではpryを使えと言い出しますが、基Rubyのコア、添付ライブラリが優先)で、試せるようになっています。 ただ、特にテストの章がおもしろいので実際に打

    moro
    moro 2015/01/09
    “著者はわりと昔ながらのOOPの人っぽくて、すぐにオブジェクトへメッセージを送るんだけど” この言い回しが面白い。いつか使おう。もちろん書籍も面白そうで興味深い
  • 詳細設計書は死んだ。とっくの昔に死んでいる。でも生き返る必要はある - L'eclat des jours(2014-03-11)

    _ 詳細設計書は死んだ。とっくの昔に死んでいる。でも生き返る必要はある 流儀や呼び名はいろいろあるだろうが、ここでは3種類あることにする。 ・要件定義書 要件を定義したもので、ユースケースについて記述したものだ。 ・機能設計書 要件を機能として記述したものだ ・詳細設計書 機能を実装に落とし込むものだ で、詳細設計書って何それおいしいの? ということだが、もちろん不味い。むしろ毒だと言うべきで、そんなものを記述するよりさっさとプログラムを書けば良いし、その時間を使ってテストプログラムを書けばさらに良い。 特に、1990年以降、オブジェクト(あるいはクラス)ライブラリが拡充され、APIがほとんどなんでもやってくれて、コンポーネントがそこら中に転がり始めてからは、単にそれらをグルーでつないでいくのがほとんどなのだから、そんなものを書いてもまったく意味がない。 しかし、実はそう単純でもない。 問

  • L'eclat des jours(2013-10-25)

    _ WebMVCと設計パターン WebMVC(面倒なので以降はただのMVC。J2EEのMVCがSmalltalkのMVCと異なるMVCだということは既に10年以上の歴史があるのだから、今更どうでもよろしい)というのは、Transaction Script PatternとDomain Modelの間にまたがるスペクトラムだ。これがMVCの最大の特徴であり利点なのだが、なぜか、Transaction Script PatternとDomain Modelの両極端の声の大きい人が自分の視点を叫ぶ(実際に前者で声が大きい人はいない。彼らは沈黙のうちにコードを広める)。そこで混乱が生まれ、最悪のTransaction Script Pattern実装(貧血)と最悪のDomain Model実装(血 )が幅をきかせることになる。といっても、最悪のDomain Modelは普通は作れないのでそれほど

    L'eclat des jours(2013-10-25)
    moro
    moro 2013/10/25
    "リーダブルなトランザクションスクリプトパターンのほうが、アンリーダブルなドメインモデルより数1000倍良い。" それはまったくその通り(野生のコードでは、前者になかなか巡り会えないけど)
  • svn=織田信長説 - L'eclat des jours(2011-10-19)

    _ svn=織田信長説 CVSの天下が(ぼろぼろだったとは言え)長かったのは、RCSの発展解消版だからだなぁというか、いつの間にかGitが普通になっている、というところから、次のような歴史物語を思いつく。 SCCSが京都の天皇なのは良いがもちろん実権は鎌倉の北条RCS幕府にあって、それがBSDとSYSVの融合のどさくさのうちに足利CVS幕府が天下を治めることになり、長い時代が続くのであった。幕府(武家政治)は一見安定支配をしているように見えるもののエクセル管理派後南朝だの名前の後ろにyymmdd.bakという戒名付けるぞ高野山だの山名宗全VSSだのとの戦いに疲弊しているところに、ついに過去の遺物をきっぱり捨てた鉄砲伝来バイナリDBの織田信長が天下SVN(Arch今川とかClearCase武田とかをすべて撃破)。が、あっという間にBitKeeper光秀が取ってかわったのは良いものの君主弑逆ラ

    moro
    moro 2011/10/19
    ((こういう口上をするっと書けるようになりたい))
  • 関西人は相手が間違っていると言う - L'eclat des jours(2011-05-11)

    _ 関西人は相手が間違っていると言う IDGのCIO Magazine 5月号の巻頭インタビューがおもしろい。 スルッとKANSAIの取締役インタビューだ。 以前、Felicaの利用について調べていたときに、なぜかPiTaPaは鉄道系で唯一ポストペイだというのを知ってうらやましく思ったからだ。でも、なぜPiTaPaだけがポストペイなのか理由はわからなかった。 その理由が語られていた。 それが、わらしべ長者のようなポジティブな連鎖の塊なのだ。 まず、カード式改札がある。出口でひっかかる人が出てくる。異なる鉄道会社で出ようとすればそれはそうなる。 もし、ここが関東なら、「しまったーおれはばかだー」となるだろう。 関西では違う。「おまえあほちゃうか? なぜおれが出られへん」となる(正確な引用ではないので、関西語として正しいかは知らない)。「おれは客やで、出られて当然やろ」となる。 結果、導入して

    moro
    moro 2011/05/11
    プロ奴隷精神を捨てたほうが世の中は進歩すると言うことですね
  • L'eclat des jours(2008-06-21) すべては初台の地下で始まった

    _ すべては初台の地下で始まった 高橋さんから、台湾のOSCみたいなカンファレンスの話を聞いたのだが、とにもかくにも、日のオープンソフト系カンファレンスのエンターテインメント性は異常、他に匹敵できるのは知っている限りではシアトルの連中だけ、というような内容。シアトルと渋谷のpmだのjsだのが突出しまくりである、と。 で、なぜだろう? と話は続く。 そこで、考えてみるわけだが、おれが最初に参加したことがあるのは(JUSの勉強会みたいなのは別にすると)、YAPRCだったわけで、pmとか言うと、当然、そこに見られた特徴について考えることがベースとなる。確かにPerl Mongersな人たちのプレゼンはおもしろかったような(覚えてないけど)。他にエンターテインメントと言えばライトニングトークは海外の企画の流用だったし、でも、何かもっとオリジナルで圧倒的なエンターテインメント性があるプレゼンがあっ

    moro
    moro 2008/06/24
    『高橋メソッドは、アーキテクチャスタイルの1つのインスタンス』
  • L'eclat des jours(2008-01-03)Railsは吹き溜まりだね

    _ Railsは吹き溜まりだね Rails Is A Ghetto なんとなく読んだので、要約のつもり(いや、誤訳しそうなところはすっ飛ばしたものをさらに要約してるので、おおはずれかも)。 ●Rails Is A Ghetto(Railsは吹き溜まり) 会社や個人を特定してばんばんやるぜ。こいつら寄ってたかっておれのことをこけにしやがった。文句あるなら、リングの上で待ってるぜ。このくそめらめが。 まずはケビンクラークだ。こいつは、おれをサポート扱いしやがったうえに、間抜けあつかいしやがった。 でも、すべての原因は、このばかが、リポジトリ上のconfigureファイルを消しちまいやがったことにある。これじゃ、チェックアウトしてビルドできるわけないじゃん。それをおれが間抜けなせいだといいやがりやがった。 Rails界隈はこんなくずばかりだ。 ●Tied To The RailsRailsべっ

    L'eclat des jours(2008-01-03)Railsは吹き溜まりだね
    moro
    moro 2008/01/03
  • WhatIsTesting

    テストとテスティング XPの出現以来、それ抜きの開発は考えられないほど、テスティングフレームワークは必須のものとなりました。 「テスティングフレームワーク」 しかし、この呼び方になにやらうさんくさいものを感じる人もいるでしょう。 なぜ、「テスト」ではないのか? ここでは、テスティングという言葉の感覚を伝えたいと思います。 なお、アジャイル開発における「言葉」についてはAgileNaKotoBaを参照してください。 テストとはなんでしょうか? 私たちが日常的に利用する「テスト」という言葉は、品質保証テストのように、既に存在する仕様に基づいて実装された完成品が、基準を満たしているかを検査するという意味で使います。 同じように学校の期末テストは、既に学習した内容が学生の身についているかを判定します。 ここにあるのは、静的な基準であり、テストは既に完成した製品や知識に対して動かしがたい事実の判定を

  • L'eclat des jours(2007-10-28)

    _ エッセンシャルクォリティ マイクロソフトの関連には、以前はインサイドものってのもあったけど(で、それを一蹴したのが、Windowsプログラミングの極意なのかも知れないけど)、それとは別にエッセンシャルものってのがある。別名、ドンボックスと愉快な仲間たちシリーズと言っても良いかも。エフェクティブってのもあるから、嘘かも。 というようなことを思い出したのは、エッシェンシャルWFの序文をドンボックスが、また随分アオリ気味(ワイドにフロシキを広げたってこと)に書いているからだ。 何か大きなことが今まさに起きようとしているのです。 まあ、それについては後で。 というわけで、エッセンシャルWFを(アスキーのドットネットのとか共著してる)新丈径さんからいただいたわけだが、難しい位置づけのだなぁ。 エッセンシャルWF : Windows Workflow Foundation (Programm

  • L'eclat des jours(2007-07-12)

    _ 考えてもしょうがないことに少し考える時間をあてがう SF者としてのただただしさん というタイトルではなく、 地元の屋を使っておかないとSFの取り扱いがどんどん減っていってしまうので可能なかぎりは地元で買うことにしているわけで、なんかどのみち嬉しくない感じ。 (前半を省略することで元の意味を変えることになる引用の仕方) 売ってなければそもそも注文をかけることになるわけだから、売っているだけましなわけなんだが、確かにじわりじわりとメインストリームとはいえないものは、結局、全部、アマゾンでしか買えないことになる未来があるとして。 もしアマゾンがそこで、xxx系はアマゾン的価値観から取り扱いやーめた、となることもないわけじゃない。商売とはいえポリシーはあってしかるべきだし。 そのときどうなるか? というと、なんとなくだが、それでもthe internetがある、と言えることができれば良いな

    moro
    moro 2007/07/13
  • なぜ、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

  • L&#39;eclat des jours(2007-02-22)

    _ 早い 家に帰ったらでっかいアマゾンのニヤリさん箱があって何かと思ったら、昨日クリックしたカイルベルトのリングだった。 _ 血は立ったまま眠っている じゃない寺山修司のJavaからRubyを聞きに海のほうへ行った。 途中、長い長いトンネルを抜けたのだが、これの天井が低いのなんのってつい、うつむいてみたり、首を右に曲げてみたりしながらおっかなびっくり歩く。 でも、向こうから来る人はみな、背筋を伸ばしてスタスタ歩いてくる。 で、意を決して威風堂々と歩けば歩ける。指を頭に当ててみると天井まで数cmは余裕があることがわかる。でも、そのうちだんだん足取りがしょぼくれてきてうつむいてみたり、首を左へ曲げてみたり。でも、また向こうからスタスタ胸はって歩いてくる人を見る。そこで意を決して……と同じようなことを延々と繰り返しながらやっと外に出た。 潮の匂いがかすかにした。 _ つまるところ 制約があると、

    moro
    moro 2007/02/22
    『周辺プロジェクトが多いOSSは良いOSSだ、の原理。それに対して、代替OSSが多いOSSには、やはり何か欠点があるのかも知れない。』
  • L&#39;eclat des jours(2006-11-14)

    _ Tuigwaa + Buri いつもクール(というかぶっきらぼうというか)なまこたんが熱い。 ただ、会場内はそれほどの熱気はなかったかも知れない。 まず、Buriというかワークフロー(と言わずにワークステートと呼ぶんだっけ)がどう適用されるのか良くわからないと「はあそれで」にはなっちゃうだろう。 次に、BPELエディター(たとえばOracle BPEL Designerとか)を見てたりしてるとしょぼさに目が行くかも知れない。っていうか、一瞬、えーしょぼいなぁ、と思いましたです。すみません。 でも、そりゃ違うなぁ、と考え直した。大体において「しょぼい」と思えたら、破壊的イノベーションを疑うべきだ。まして端倪すべからざるまこたんが熱くなってるんだから。 というのも、あれが全部ブラウザー上で、つまりWebサーバー+クライアントで動いてるのだ。ってことは、ノートPCを持って出かけるとして、ノー

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

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

    moro
    moro 2006/07/18
    『実際に機能するソリューションを提供することで、設計者を導く』これが"railsに乗ったruby"という名前の由来なのかなぁ、と。
  • L&#39;eclat des jours(2006-06-26)

    _ まとめ 良くわからなくなったのでまとめてみた。わかる粒度が名前を知ってるだけ、概念を理解している、実際に利用したまでばらけているので、嘘八百のような気もする(というか、嘘は確実にある)。 こういうときにマインドマップってのを使うんだろうか? EA(全体統合) BA …… プロセス DA …… データ AA …… 制約 TA …… 実装 DOA(AS IS重視)—フラット—物理モデル—ボトムアップ まずモノ(エンティティとリレーション) 検証手段:エンティティの整合性 思考法:join 抽象的  T字型派……純粋抽象派(ここに含めるべきではないのでは) ↑   伝統派……業務分析 ↓   TH派……帳票上のエンティティ 具象的  はぶ派……UI(Webのページ、帳票など)上のエンティティ+業務フロー (頂いたコメントを元に修正:7/1) 伝統派……業務分析 TH派……帳票上のエンティティ

    moro
    moro 2006/06/27
    コメント欄でDB設計技法の議論。
  • 1