ブックマーク / satoshi.blogs.com (44)

  • デザイン・パターンとは何か

    先日のMVCの議論の際には、私自身いろいろと勉強させていただいたが、少し心配になったのは、「MVCの定義だって時代とともに変わる」「ウェブサービス用のMVCはSmalltalk時代のMVCとは異なるもの」「MVCなんか理解してなくてもアプリケーションが作れればいいじゃん」など、そもそも「MVCとは何か」どころか「デザイン・パターンとは何か」を理解していないんじゃないかと思われる発言が見られたこと。ということで、今日はデザイン・パターンについてひと言。 デザイン・パターンとは、(業界に蓄積されたノウハウに立脚した)何かを作る際の指針のこと。ソフトウェアに限らず、ものを作るときにはさまざまな(場合によってはお互いに矛盾する)要求条件や制約が課せられるわけだが、そんな時に過去にさまざまな事例を解決してきた先人の知恵を「パターン化」してノウハウとして身につけておけば、似たような事例に出会った時に効

    k-takahashi
    k-takahashi 2009/10/22
    『新しいデザイン・パターンとして認知されることもあるが、それはあくまで「新しいデザイン・パターンが作られた」だけの話であり、「過去に定義されたデザイン・パターンそのものが変化した」のではない』
  • 「RESTful MVC」なアーキテクチャの話

    最近、増井君と私でアーキテクチャの話をすることが多いのだが、そんなディスカッションの中で気に入っているのは左の図のようなアーキテクチャ。 もちろん、核となるのはビジネスロジックを含んだModelの部分。そこをしっかりと実装し、内部構造を隠す粒度の荒いインターフェイスを定義し、外から何をされてもデータの整合性が壊れない様にすることは何よりも大切。 そして、そのModel層へのインターフェイスを特定の言語に依存したクラスやAPIではなく、HTTP上でJSON(XMLでもかまわない)をやりとりするだけの RESTfulなWeb Serviceにすることがミソ。こうすることによりにより、どんなに締め切りに負われようが、誰がControllerを実装しようが「ずるができない」ように作っておく(ずる=来使うべき外部インターフェイスだけでなく、Model内部に直接アクセスして依存関係を作ってしまう事)

    「RESTful MVC」なアーキテクチャの話
    k-takahashi
    k-takahashi 2009/10/22
    『Model層へのインターフェイスを特定の言語に依存したクラスやAPIではなく、HTTP上でJSONをやりとりするだけの RESTfulなWeb Serviceにする』『締め切りに負われようが、誰がControllerを実装しようが「ずるができない」ように』
  • O/Rマッピング技術の進化が皮肉にも助長している「えせMVC症候群」

    昨日の「Ruby on Railsの『えせMVC』の弊害」というエントリー。若干「釣り」の要素が含まれたタイトルが功を奏したのか、たくさんのフィードバックがいただけた。そんな中で見えて来たのは、この問題はRailsに限った話ではなく、業務用アプリケーションで使われているJavaや.Netの世界でもよく見られる問題だということ。 その「問題」とは、ActiveRecordに代表されるO/Rマッピングの技術の進化が、来のMVC(そしてオブジェクト指向そのもの)のメリットを無視した「えせMVC」な設計を助長している、という問題である。 ・MVCやオブジェクト指向を表面的にしか理解していないエンジニアが増えている(ここが根的な問題) ↓ ・SQLを自分で記述しなくて良いO/Rマッピングはとても魅力的(これはこれで別の問題を含んでいるが、このエントリーではあえて突っ込まない) ↓ ・O/Rマッピ

    k-takahashi
    k-takahashi 2009/10/15
    『Modelの中に記述すべきビジネスロジック(ビジネスルールに基づいてデータベースにアクセスし、データの整合性に責任を持つロジック)を Controllerの中に記述しはじめ』『Controller層が必要以上に分厚く』
  • Ruby on Railsの「えせMVC」の弊害

    先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避

    k-takahashi
    k-takahashi 2009/10/12
    『Ruby on Railsフレームワークは本来のMVCとはほど遠い」「Ruby on Railsの上に普通にアプリケーションを作ると、ビジネスロジックをControllerに混ぜ込んで書く事になってしまい、『データの整合性』を保つことが難しくなる」』
  • Google WaveがHTML5ブラウザーへのシフトを加速する

    Internet Explorer 3.0/4.0 の開発に関わっていた人間として言うのも変な話だが、そろそろIEには主役の座を降りてもらった方が良いと思っている。いろいろな要因がからみあって今の状況があるわけで、その部分について今さらここであれこれ言うつもりはないが、実際のところ、 IEが他のブラウザー(Safari/Firefox/Chrome/Opera)と比べてHTML5やCSS3のサポートに関して大きく遅れている そもそもIEの進化のスピードが(というかMicrosoftから出る製品すべての進化のスピードが)遅すぎる にもかかわらずIEのシェアが大きいため、業界全体の足を引っ張っている という現状があることは誰にも否定できない。 HTML5やCSS3の新しい機能により可能になる新しいウェブアプリをどんどんと作って行きたいと考えているエンジニアは私だけではないわけで、その意味では「

    k-takahashi
    k-takahashi 2009/10/09
    『# そもそもIEの進化のスピードが(というかMicrosoftから出る製品すべての進化のスピードが)遅すぎる # にもかかわらずIEのシェアが大きいため、業界全体の足を引っ張っている』
  • Windows Mobileに「全力投球」を決めたMicrosoftの厳しい戦い

    ここの所モバイルの世界ではすっかりGoogleAppleにおいしいところをもっていかれてしまっているMicrosoft。そろそろ「撤退」か「全力投球」のどちらを選ぶ時期だと思っていたのだが、ついに「全力投球」を決めたそうだ。 今までは「Windows CEビジネスの延長上」程度にしか力を入れて来なかったWindows Mobileビジネスだが、Steve Ballmerが「開発者の心をAppleに奪われるなんて由々しき事態」と宣言し、主戦力をWindows部隊のトップクラスのエンジニアにごっそりと入れ替えての「体力勝負」に出る事にしたとのこと。

    k-takahashi
    k-takahashi 2009/09/23
    『「体力勝負」に出る事にしたとのこと』 この「体力」の原資は、MS-OfficeやらVistaやらで我々から巻き上げた金なんだよな。返せと言いたいところ。(特にVista)
  • 「官僚たちの夏」と「ガラパゴス携帯」と

    知り合いの勧めで録画したままにしてあった「官僚たちの夏」を今になって見ている私だが、あのドラマを単純に「なぜ戦後の日はあれほどの急成長をとげたのか」という視点から見るだけでなく、「その同じ日でなぜガラパゴス携帯ができてしまったのか」を考えながら見るとより面白い。 「今の官僚や企業が(あのころの官僚や企業とくらべて)だらしないから」という見方もあるかも知れないが、私としては「そもそも官僚主導の産業政策が今の時代に合わなくなっている」と見る方が正解に近いように思える。 もちろん、その場その場で異なる状況があるので、あまりに単純化して見るのは危険だが、少なくともアナログ方式からデジタル方式に移行した2Gケータイの時代に霞ヶ関主導で「モトローラやノキアなどの海外メーカーに席巻されることを嫌い、あえて日独自の方式を採用して国内の携帯機器産業を保護・育成しようとした」ことは歴然とした事実である。

    k-takahashi
    k-takahashi 2009/08/12
    『「そもそも官僚主導の産業政策が今の時代に合わなくなっている」と見る方が正解に近い』
  • 「戦略的OS」の開発がことごとく失敗している点に関する一考察

    90年代にIBM、MicrosoftApple各社が巨額の開発費を投じて作っていた「戦略的OS」がすべて失敗してしまったことを皆さんはご存知だろうか? IBMが作っていたのはOS/2。元々はMicrosoftとの共同開発だったが、途中で仲違いをしてしまい、最後はIBMだけが細々とサポートしていたことすら覚えていない人が多いとは思うが、Windows95の成功であっというまに市場から消えてしまったのがOS/2。具体的な数値は公開されていないので分からないが、両社が数百人体制で数年間開発していたので、少なく見積もっても日円で数百億円は投じられたことは間違いない。 Cairoの方は私自身が初期のころにいたこともあるし、最終的には「Chicago(Windows95のプロジェクト名) vs. Cairo」の戦いの最前線にいた私としては知りすぎている点も多いのだが、一つだけ確かなのは、プロジェク

    k-takahashi
    k-takahashi 2009/04/05
    『少人数で作ったものが市場原理で自然淘汰されてこそ良いものができると思う』 でも現実は金の力と囲い込みが幅を効かせている面もある
  • 「デッサン力」がない人が「絵を描く楽しみ」を味わえる時代

    上の三つの絵は、私がiPhone/iPod touch向けのお絵描きソフトSmallCanvasで描いた絵だが、パッと見てどう感じるだろう。「結構絵が上手な絵じゃないか」と思った人も多いかもしれない。 実は上の三つの絵は、SmallCanvasの発売に合わせて、私自身がサンプルとして書いたもの。絵心のない私が苦肉の策で作り出したのが、SmallCanvasのundo/redo機能を駆使して写真のトレーシングをするという裏技(アプリの作者が「裏技」を発明してどうするんだ、とうツッコミはなしで^^;)。下に置いた写真をトレースするために、基的なデッサンがしっかりとし、これだけで「そこそこ見られる絵」になってしまうから不思議だ。 これで再認識したのは、「絵の上手さ」は、「ちゃんとした構図でデッサンが描けるか」という「テクニック」の部分と、「描き手オリジナルの表現ができるか」という「センス」の部

    k-takahashi
    k-takahashi 2008/10/14
    『せっかく技術がここまで進歩したのだから、「テクニック」の部分はソフトウェアを使って思いっきり補助してしまい』
  • MySpace/Facebookがなぜ日本で成功しないか

    TechCrunchの「SNSの世界進出ーなぜMySpaceとFacebookは日でだめなのか」は、私が最近強く感じていることと通じることもあり、いろいろと考えされられた(英文でのレスポンスはここ)。 私と増井君が作ったBig Canvasは、米国法人であり、その最初の商品PhotoShareはAppleのApp Storeを通じて世界同時リリースをした(UI英語と日語のみサポート、ただし投稿はどんな言語でも可能)。その意味では、特定の国のユーザーに特化したつもりは全くない。ただ、既に600万人いるiPhone 2Gユーザーを考えれば、SNSとして成り立つに最低限必要な数千人のユーザーを確保するには米国でがんばらねばならないとは強く認識していた。 米国での一番のライバルは当然MySpaceとFacebookであるが、「常時接続ライフスタイル」に最適化されたサービス作りで「写真版Twi

    k-takahashi
    k-takahashi 2008/08/05
    常時接続サービスであるPhotoShareを世界展開させたい、そのために使い方の差をどうにか、という話。
  • 米国政府が通達:北京オリンピックに持って行くノートパソコンが危ない

    今朝のUSATodayの一面に興味深い記事が出ていた。 National security agencies are warning businesses and federal officials that laptops and e-mail devices taken to the Beijing Olympics are likely to be penetrated by Chinese agents aiming to steal secrets or plant bugs to infiltrate U.S. computer networks.【Olympic visitorsより引用】 北京オリンピックに行く旅行者に、中国に持ち込んだノートパソコンの中身はすべて抜き取られてしまう覚悟で行くべきだし、ウィイルスを埋め込まれてしまう可能性も高いので、帰国後に会社や政府のネット

    k-takahashi
    k-takahashi 2008/06/12
    場所や担当者によって妙に検査の厳しさが変わったりするのも困りものです>中国の税関・入国審査
  • iPhone 3Gに関しての続報

    3G版iPhoneに関しては、昨日の速報のあとも色々と情報が入って来た(情報を発信するとさらに情報が集まってくるという良い例)。一番興味深いのが、ジョブズによる基調講演では明らかにされなかったビジネスモデルの変化。3G端末に関しては、レベニューシェアは行わず、通信キャリアからアップルへ一括で支払われるインセンティブ型のもの(日の販売奨励金に近いもの)となるそうである(参照)。 それが「一台あたり○ドル」なのか「何台売ろうとミニマムコミットメントは○百万ドル」なのかは公開されていないが(たぶん、キャリアごとに違うのだろう)、少なくとも一台あたり200ドル前後だろうというのが業界の予想(というか常識)である。 ジョブズの現実歪曲空間の強さがキャリアの旧来型のビジネスモデルをぶちこわしてくれると期待していた私としてはいささか残念だが、7月11日に世界22カ国で同時発売というスピードのためには、

    k-takahashi
    k-takahashi 2008/06/11
    『すべてあわせて月々8000円程度で提供しないと、せっかく大枚をはたいてiPhoneを確保したことが無駄になりかねない』 この辺が値頃感なのかな。
  • ソニーの「イノベーションのジレンマ」について一言

    私の書物「おもてなしの経営学」についてのさまざまなフィードバックはポジティブなものもネガティブなものもとても良い勉強になるので全部読ませていただいているつもりだが、以下の二つに関しては、少し誤解があるようなので一言書いておこうと思う。 何故SONYの経営はiPodを創れなかったか - 雑種路線でいこう 「おもてなしの経営学」:ソニーのエンジニアの名誉のために一言 ([の] のまのしわざ) 私ののごく一部、それも梅田氏とのの対談における「ギークとスーツ」の話題の前フリとして「ギークとスーツのすれちがい」「技術と経営の両方が分かる人が少ない」ことの例として語った言葉だけを取り上げて、あたかも私が「ソニーにiPod+iTunes+iTunes storeが作れなかったのはエンジニアが悪い」と決めつけているかのように誤解をされてしまっているのが私としてはとても残念。 せっかく私のを読んでいただ

    k-takahashi
    k-takahashi 2008/03/30
    『今、求められているのは「ソニーはどこで勝負する企業なのか」をはっきりとさせるビジョンであり、そのビジョンを伝える言葉である。』 私の勤務先も同じ問題を抱えている。
  • なぜオンラインで注文したMacBookが中国の工場から直接送られてくるのか

    今回の分解結果から判断できるのは,Apple社はハードウエアの設計の出来映えや徹底的なコストダウンに,さほど気を遣っていないことである。それよりも外観のデザインやソフトウエア,ユーザー・インタフェースなど,同社が得意とする側面に力を注いだのだろう。この姿勢は,iPodやiPhoneなど同社の他の製品にも共通すると見られる。MacBook Airの不可思議な作りは,ハードウエアの細部まで手を抜かない日的なものづくりに対する,強烈なアンチテーゼなのかもしれない。【【MacBook Air分解その5】「外は無駄なし,中身は無駄だらけ」 - モバイル - Tech-On!より引用】 これこそがまさにAppleが別の次元での勝負(=おもてなしでの勝負)を目指していることが良く分かる証拠。 ちなみに、これを見て「やはり垂直統合型の企業の方がコストが安くできるんだな」と決めつけるのは必ずしも正しくない

    k-takahashi
    k-takahashi 2008/02/19
     コスト削減の方法論。
  • Life is beautiful: 「へんな会社」と「出るクギを打つ」社会の話

    へんな会社を貫くために、普通の会社のやり方をよく理解しておくというのは必要なんじゃないか、とこれははてなに限らず思う次第。【Kousyoublog | はてな移転で中の人が言うべきことと言ってはいけないことより引用】 この手の発言こそが、まさに「出るクギを打とうとする」行動。近藤さんに関してはそんな心配をする必要は全くないが、他の若い人たちが「やっぱり『普通の会社のやり方』をちゃんと勉強しなきゃ」などと誤解してはいけないと思い一言。 上場している企業と違い、はてなのように、ごく少数の株主が所有している会社の場合、株主・取締役の了解さえ取れれば、大幅な経営方針の変更は自由にしてかまわない。それが非上場であることの大きな利点だ。 今回の場合、「米国からは一時撤退し、多少会社の規模が小さくなっても良いから、京都にもどって落ち着いた環境でもう一度もの作りに専念する会社としてやりなおす」という決定は

    k-takahashi
    k-takahashi 2008/02/18
    『そんなリスクを追ってでも『この人に付いて行きたい』と心の底から思ったのであれば、少なくとも何年間かの間はその人に賭けてみるのも悪くない』
  • Life is beautiful: なぜアップルにできたことがソニーにはできなかったのか

    アップルがiPod+iTunes+iTunes Storeというハード・ソフト・サービスを巧みに組み合わせてネット時代にふさわしいコンシューマ・エレクトロニクス・ビジネスモデルを見せてくれたことに関しては、ここでもさんざん書いて来たが、反面教師として注目すべきなのは、ソニーになぜそれができなかったのか?ということ。 自分自身がメディア産業を持ち、ウォークマンというブランドを持ち、ネットビジネスに抜群のセンスを持つ出井氏を社長に据えたソニーはアップルよりははるかに良い立場にいたはずだが、なぜこんなことになってしまったのだろうか。 メディア産業を持つことが逆に足かせになった、ソフトウェア開発力の差、たまたまラッキーだっただけ、天才スティーブジョブズがいたから、イノベーションのジレンマ、などのそれぞれの側面から考察を加えることは可能だが、あの時代のソニーに特有の問題として特に注目すべきなのは、あ

    k-takahashi
    k-takahashi 2007/12/30
     ギークとスーツと会社経営とにおいて、成功する3パターン。他にもパターンあるかな?
  • Life is beautiful: 優秀なナースがいるとシステムがなかなか改善されないという話

    「Why hospitals don't learn from failures(なぜ病院は失敗から学ばないのか)」という論文を読んでなるほどと思う部分があったので、ここにメモ代わりに書いておく。 この論文の筆者(TuckerとEdmondson)は、医療ミスがなかなか減らない原因を探るために、全米の10の病院を長期間に渡って調査・研究したのだが、その結果判明したのは、「システムの改善」という観点からは、ナースの優秀さと勤勉さが逆効果になっているという皮肉な話。 「優秀なナース」の定義はどこでも同じで、「目の前の患者が必要としているものを、あらゆる障害を乗り越えていち早く提供する」こと。取り替えるべきシーツが不足していれば別の階に走って行って調達してくるし、新米のナースのミスにはいちいち噛み付くこともなくそのミスを取り繕う。そんなナースたちにとっては、その手の「不具合」や「障害」は避けられ

    k-takahashi
    k-takahashi 2007/11/29
    『病院の経営陣が、そんなナースたちの「問題解決能力」に大幅に頼って病院の運営を続けているために、いつまでたってもシステムそのものの改善が出来ない』
  • Life is beautiful: あるはずのない「カジノでの必勝法」が実はあったという話

    ずいぶん前に「ギャンブルの心理学:攻略法と必勝法」というエントリーで、どうして「パチンコや競馬には必勝法がある」と思い込まされている人たちがなぜこれほどたくさんいるのかについての考察を書いたが、今回は当の必勝法の話。それも実際にそれをビジネスにしている会社でしばらく働いていたMBAのクラスメートから聞いた話なので、かなり信頼できる。 ビジネスモデルは至ってシンプル。「カジノが提供するJackpot付きのスロットマシンでの$1の投資に対する期待値が$1以上になったところで人を送り込んでマシンを占領し、Jackpotが出るまでスロットマシンをまわし続けること」である。 「Jackpot付きのスロットマシン」とは、数台〜十数台のスロットマシンをつなぎ、それぞれのマシンからの売り上げの3〜5%をJackpotに貯めておき、最初にJackpot(特定の数字の組み合わせ)を出したスロットマシンにその

    k-takahashi
    k-takahashi 2007/11/18
    カードを全部カウントすれば、ブラックジャックには必勝法がある、という話は聞いたことがある。(なので、カジノではカウンティングやコンピュータの使用は現在禁止になっている)
  • gPhone雑感:「モバイル・プラットフォーム戦国時代」の幕開けだ

    今朝になって、話題のgPhoneがアナウンスされた(参照1)訳だが、大方の予想を裏切ってそれはデバイスではなくてソフトウェア、それも2005年にGoogleが買収したandroidという会社の作っていたLinuxベースのマイクロ・カーネルと、バーチャル・マシン。androidの買収とともにGoogleに入ったAndy Rubinがandroidの前に作ったSidekick (Danger Inc.)の中身を良く知る私としては、「これってDanger OSとどこがちがうんねん?」という感じ。 ほぼ同じ時期に会社をスタートしたこともあり、Dangerの連中とはスタートアップ当時から一緒に仕事をし、サードパーティとしてSidekick向けのソフトウェアを作った数少ない会社の一つがうちの会社UIEvolution Inc.だ(資料2)。 Javaに似てはいるが微妙に異なるバーチャル・マシンを持ち、

    k-takahashi
    k-takahashi 2007/11/06
    『簡単に移植できるのがUIEngineの強み^^。』 現時点での手早く簡潔なまとめ記事。
  • Haloを作ったBungie StudioがMicrosoftからスピンアウトした件について

    XBox360がそもそもパッとしない日では大したニュースではないのかもしれないが、発売後わずか1週間で$300millionを売り上げたHelo3はこちらでは大きなニュースだ。先日も、スポーツクラブで「Halo3が楽しくて」と隣で話している人を見ると初老の女性二人。どうみても「典型的なゲーマー」ではない。 しかし、Helo3の売り上げよりも業界を驚かせたのは、ほぼ同時にアナウンスされた、Haloを作ったグループ「Bungie Studio」がMicrosoftからスピンアウトするというニュース。 Bungie has 113 employees. Evan Wilson, a video game industry analyst with Pacific Crest Securities, said that leading employees of Bungie had bought

    k-takahashi
    k-takahashi 2007/10/12
    『Halo3のリリースとともにLockup期間が過ぎたBungie Studioの連中をつなぎ止めておくことが出来なくなったMicrosoftがやむなく彼らの独立を認めざるをえなかった、というのが真相だろう』 米国ではヘッドラインニュースでした