タグ

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

  • Life is beautiful: 私のとっておきのプログラミングスタイル

    404 Blog Not Found の「LiveCoding に学ぶプログラミングの三原則」を読んでいたらどうしても書きたくなったので。あくまで私のスタイルなので、参考にするもしないもご自由に。 1. スタードダッシュでできるだけはやくめどをつける 学生時代から夏休みの宿題は7月中に終わらせていた私とすれば、ラストスパートよりはスタートダッシュで勝負する。どのみち、どこかで思いっきり頑張らなければならないのであれば、締め切り間際ではなく、スタート間際に頑張るべきというのが私のポリシー。十週間のプロジェクトであれば、最初の二週間が勝負。そこで八割がたのめどをつけておき、後は流す。最初の二週間がめどが立てられなければ、十週間で完成できる可能性は低いと考える。常にそういう姿勢でいれば、締め切りぎりぎりになって致命的な欠陥が見つかって痛いめにあったり、当は大幅な設計変更をすべきなのに応急処置で

  • ガラパゴス・ケータイと「政府の役割」と

    最近、技術評論社のWEB+DB PRESS向けに連載を始めたのだが、次号のコラム向けの原稿を書いているうちに、妙に熱くなってしまったテーマがある。米国の政府の産業界との関わりを書いた部分。 米国におけるソフトウェア・ビジネスは、基的にベンチャー主導型で成長して来た。Microsoftが典型的な例だが、Adobe、GoogleApple、Salescorce.com など、この業界を牽引する会社はほとんどすべてが「起業家」と呼ばれる野心的な人たちによって作られたベンチャー企業である。そういったベンチャー企業は、まずは開業資金を起業人や家族から集めた「自己資金」で会社を立ち上げ、少し軌道に乗ったところでベンチャー・キャピタルと呼ばれる投資家から資金を集めて会社を大きくして行く。そこでの政府の役割は、起業家が会社を成功させた時に得る利益(創業者利益)への税率を低く設定して起業家精神を刺激

  • Google App Engine入門:実践編

    今週に入って、Tiny Message に続く二つ目の Google App Engine ベースのサービスをリリースした。3日ぐらいで試験的に作った Tiny Message とは異なり、今回のものは、丸二ヶ月間寝る間も惜しんで作った力作である。 米国向けのサービスな上に招待制のSNSなので、ここではサービスそのものは公開しないが、いくつかこだわって作った部分があるので、それについて語ってみようかと思う。 1. 対象となるユーザーの絞り込み FacebookやTwitterのような巨人が存在している中で、それにまっこうから対抗するようなソシアル・ネットワーク・サービスを作ったところで無謀なだけである。そこで、逆に対象にするユーザー層を究極にまで絞り込んで、彼らのライススタイルに徹底的にマッチしたサービスを作ることにより差別化をはかる、という戦略を選択。対象は「LAに住む20〜30代の社交

    Google App Engine入門:実践編
  • 無名関数を使った非同期通信のススメ(JavaScript)

    ここ最近はブラウザーの上で動く思いっきりRIAなアプリケーションを書いている私。こと通信の部分になると JavaScript での開発効率が、C++/Java/Objective Cなどと比べて格段に高いことをつくづく感じている毎日なので、今日は、そのあたりを少し解説してみようかと思う。 サーバーのAPIにアクセスするプログラムを書く方法は色々とあるが、「サーバー上の特定のURLにHTTPでアクセスして結果をXMLやHTMLやJSONで受け取る」というケースに限定すれば、基的に3つのパターンに分けられる。 1. 同期通信 result = urlfetch.fetch("http://www.google.com/") if result.status_code == 200: doSomethingWithResult(result.content) その書きやすさのために、実務経験の

  • Ruby on Railsの「えせMVC」の弊害

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

  • O/Rマッピング技術の進化が皮肉にも助長している「えせMVC症候群」

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

  • 「iPhone開発者支援プログラム」に興味がある人、この指とまれ

    シリコンバレーのエンジニアと比べて日エンジニアがの労働環境や待遇の面で冷遇されているということは常々言って来たことだが、その原因の一つがベンチャー企業を支援する仕組みが日に圧倒的に不足していること。私なりになにかできないかと色々と考えて来たのだが、やはり私としてできることはもの作り面での支援だと思う。 そこで、読者に質問だが、もし私が「iPhone開発者支援プログラム」のようなものを立ち上げたら、エンジニアとして参加することに興味のある方は何人ぐらいいるだろうか。漠然と考えているイメージはこんな感じ。 ステップ1:プログラミング・コンテスト 作ったiPhone用のプログラムを「投稿」していただく。審査に通った人はステップ2に進んでいただく。 ステップ2:開発支援 審査に通った人に対し、資金・企画・技術・デザイン面での開発支援を行う。必要であればウェブ・サーバーも提供する。 ステップ3

    imai_0707
    imai_0707 2008/06/25
  • 1