タグ

ブックマーク / blog.hacklife.net (19)

  • 満足せる豚。眠たげなポチ。:「ソフトウェア開発はカオスであり、かつフラクタルである」

    ということで、戦術的ピリオダイゼーション理論(以下、PTP)に夢中な今日この頃です。先に言っておくと今日の話は強力に電波なので気をつけるように。(PTP がではなく、ソフトウェア開発の類似性を云々しているこのエントリが。) PTP というのは要約すると、「フッボールの質は予測不可能性にある。だから様々なレベルでの状況判断(=戦術)を強化することでフッボールが上達する。」(フッボールという表記はネタ元の村松さんブログの表記に合わせた。まぁ、サッカーです。)というコンセプトだと理解した。ポイントは状況判断が予測不可能性を押さえ込んでねじ伏せる道具ではなく、柔軟に状況に応じて自分が変化し対処していくための道具と位置づけられているところ。 つまるところ、村松尚登さんのブログを読め。と。 で、これが(というか、村松さんがというべきか)いろいろ良いこと言ってる。 戦術の基はチーム戦術 「個を育てる

  • 満足せる豚。眠たげなポチ。:Ruby で 50 行ほどのルールエンジンを書いてみた。

    drools の記法が DSL らしくて「へー、いいなー」と思ったりしたので、なんとなく書いてみた。バックトラックを考慮していない(最初の答えを見つけたら break する)うえに速度が速いわけでもないので記法の違う if 文と言われると返す言葉もない。 要は rule, when, then のブロックでルールを定義するというのをやってみたかったということで。 when と then はメソッド定義まではできるんだけど DSL 風なアクセスをうまいこと API として定義できなくて _when と _then で妥協した。残念。 class Rrools class Rule def initialize @rule = {} end def _when &condition @rule[:condition] = condition end alias on _when def _th

  • 満足せる豚。眠たげなポチ。:大規模サービスの運用事例まとめ

    ここ数年の大規模サービスのシステム運用について調べてみたので参照したページやファイル、へのリンクをまとめておく。PDF へのリンクも多数含まれているのでご注意を。 時代が時代なら企業のノウハウとして隠されていたような情報がこれだけ公開してもらえているというのが非常にありがたい。公開してくれている各企業や公開してくれている人に感謝。 あとで気付いたが、Google や Facebook の事例も探しておけばよかった。Thrift とかあったのに。「こんな情報もあったよ」などあればぜひ教えてください。追記していきます。 youtube http://d.hatena.ne.jp/stanaka/20070427/1177651323 digg http://d.hatena.ne.jp/stanaka/20070427/1177651323 livedoor http://labs.cybo

  • 満足せる豚。眠たげなポチ。:2000人×4000円×12ヶ月のアプリを作って1億円稼ごう

    reddit で見かけた DHH の話がおもしろい。こういう考え方の背景があって、だから、Rails なんだよなぁ、と納得してしまう。Java VS Rails みたいな枠組では意味のある議論にならないんだよな。(わざわざふっかけたのは Rails 側だけど) 37Signals のブログで人も紹介していたので、そちらをリンクしておく。 http://www.37signals.com/svn/posts/981-the-secret-to-making-money-online そして、気になった発言を超訳。かなり自分のためにデフォルメしているので、ちゃんと原文を聴くことを推奨です。 2,000 人から 4,0000 円を 12 ヶ月間集められると、9,600 万円になる!どうよ!? レストランを開こうってときに、世界最高峰のイタリアンレストランを開こう!と思ってレストランを始める?そ

  • 満足せる豚。眠たげなポチ。:TDD は企画には使うなってことでいい?

    あかさたさんの「TDD は新規性の高いサービス開発には適さない」にとても同意。 What(何を作るかっていうゴール) が決まっているかどうかに依存するってことだよね。つまり、naoya さんが言う「新しい機能を作っているときや、新しいサービスを作っているとき」は設計でも実装でもなく、質的に企画の状態だから TDD とか関係ないと。たまたまコードで表現できる人だから企画をコードで検証している(プロトタイプ作りながら取捨選択してサービスや機能をデザインしている)だけなんでしょう。 個人的に今まで一番「BDD/TDD すばらしい!」と感じたのは、ある機能用のライブラリを書いているとき。開発時の制約で VB6.0 を使っていたんだけど、Collection にイライラしたので Ruby の Array を移植した。 まず、要素の追加とか要素へのアクセスとかの基機能についてこつこつとテストを書い

  • 満足せる豚。眠たげなポチ。:Jeff Bezos が語る Amazon は何を考え続けているのか?

    Harvard Business Review October 2007 に Amazon の創業者 Jeff Bezos のインタビュー (The Institutional YES) が載っている。Amazon文化、戦略の生まれる背景を解き明かそうとした良インタビューだった。 かつて梅田望夫さんは「コンピュータ産業のパラダイムシフトを象徴するアマゾンの戦略」という良エントリで「アマゾンがテクノロジー企業に変貌しようとしている」と指摘していたが、このインタビューを読むとそのテクノロジーの取り込みも手段の一つでしかなく、Amazon はあくまで「Amazon の顧客は誰か?その人たちは何を求めているか?」をひたすら考え、忠実に実装していく企業であることが読み取れる。これはいわゆる「ネット企業」「テクノロジー企業」に特異な視点だろうか?むしろ、古典的といってよい王道の視点だろう。 そして

  • 満足せる豚。眠たげなポチ。:2005年の技術的なトレンドに乗り遅れないための5つのテーマ

    年の暮れだからこそ、今年の技術的なトレンドへ乗り遅れないように復習をしたいもの。 Web2.0が脚光を浴びた2005年。とりあえずこの5つの分野から苦手分野をきっちり潰していきたいと思います。(多分にぼくの偏見と苦手分野の重視が影響している点はご了承ください。) Ajax Ruby on Rails HTML/CSS Javascript 正規表現 ということで、おすすめの書籍やサイトを総括。 Ajax 2005年はこれしかないでしょう。も杓子もAjaxと連呼した年でした。 Ajax: Web アプリケーション開発の新しいアプローチ http://antipop.gs/docs/translations/ajax.html これがなくちゃ始まらないですから。 Ajaxの質、「非同期メッセージ型ウェブ・アプリケーション」のススメ http://satoshi.blogs.com/life

    keisuke_yamane
    keisuke_yamane 2005/12/25
    リンク多数。Ruby, Web2.0系、CSS系等、あとで役に立ちそう
  • 満足せる豚。眠たげなポチ。:簡単Ruby on Railsの決定版? - Instant Rails -:

    最近はCNETでも取り上げられたり、DHHがGoogle-O'Reilly Open Source AwardsのHacker部門を受賞したり、日でも結城浩さんが「Railsアプリに挑戦」されていたり、とすっかりRubyという枠を飛び越えて走り始めた感のあるRails。 そんなRuby on Railsがまた一つお手軽になりました。それがこのInstant Rails。 これはRailsの開発環境一式がダウンロード&Drag and Dropで作れてしまう「ちょっとRailsを試したい」という人にはぴったりのパッケージになっています。このInstant Railsをダウンロードしてzipを解凍し、使いたいフォルダへD&Dするだけで、RubyRails、Apache、MySQL、さらにMySQLの管理ソフトとしてphpMyAdminが使えてしまうというスグレモノ。新しいものを始める時にひ

    keisuke_yamane
    keisuke_yamane 2005/11/16
    クリックだけで、Apache, MySQL, Ruby, Railsがセットアップ!Rails情報リンクリストあり。
  • 満足せる豚。眠たげなポチ。:なぜPaul Grahamの文章に価値を感じるのか。

    Paul Grahamの 「ハッカーと画家 コンピュータ時代の創造者たち」を読んでから、川合史朗氏のサイトにある翻訳も読んでみた。数を重ねるにつれ、Grahamの文章の何に自分が価値を感じているのかが非常に明確になってきた。そこで、これまでのようなGrahamのストーリーに沿って引用をするスタイルをやめ、色々な文章からGrahamの考えを再構築してみたいと思う。 まず、Paul Grahamの文章の素晴らしさについて。「Paul Graham - Pythonのパラドックス」のエントリでも書いたが、私はGrahamが好きではあるが、何もかも肯定しているわけではない。ではその中で一冊と川合氏サイトの翻訳文書を読み続けたのはなぜなのか。 その答えは次の3つに集約されると思う。 誤ったことを言うのを恐れない。 思考を前に進めようとする。 そして、いくつかの重要な知見を残す。 誤ったことを言うの

    keisuke_yamane
    keisuke_yamane 2005/10/16
    Paul Grahamの思考と文章をメタに分析。
  • 満足せる豚。眠たげなポチ。:コードに転嫁できるドキュメントはただのムダ

    よしおかさんの「無駄なドキュメントは書くな」から。 ひたすら実装に関するドキュメントをしこしこ書いている人がいるが、好きで書いているわけではなく、書かされているのかもしれないけれど、そーゆー無駄なドキュメントは書くな。時間の無駄である。実装は日々変化する。それに追従する形でドキュメントが更新されるということはない。 まつもとさんも「オブジェクト指向スクリプト言語 Ruby」で「ソースがドキュメントだ。 バグも完全に記述されている」と言っている。 このドキュメントこそが成果物という悪習はウォーターフォール型の開発手法による部分は非常に大きい。なんせ要件定義やら設計やらのPhaseを終わらせようと思ったら、そのPhaseごとの成果物を納品する必要があるのだ。そりゃ、メンテも放置され、コードとの乖離は進む一方になる。しかも、たいていプロジェクトが後々きつくなるのは分かっているから、早いPhase

    keisuke_yamane
    keisuke_yamane 2005/10/16
    逆説的だけど、ドキュメントを書く理由を上手く書いている。
  • 満足せる豚。眠たげなポチ。:Rolling on Ruby on Rails - Japanese Translation - p1

    見知らぬ極東のRubyistへ丁寧で親切な対応をしてくれたCurtとONLamp.comへ最大級の感謝を込めて。 元記事はこちら。(You can read the original article from here!) nak2kさんからのご指摘で、リンク先を修正しました。'Seeing is Believing'の箇所の表記を修正してみました。どうもありがとうございました。 kdmsnrさんからの情報で、リフレクションによるRailsの自己解析の辺りの話が理解できました。文章修正しました。どうもありがとうございました。 おおやさんからのご指摘で、ideaに関する訳を修正しました。どうもありがとうございました。 匿名希望さんからのご指摘で、家でのedit.rhtmlのコードへの修正を反映しました。どうもありがとうございました。 2008.7.28 追記 Rolling with Ru

    keisuke_yamane
    keisuke_yamane 2005/10/16
    RORの解説日本語訳1。
  • 満足せる豚。眠たげなポチ。:Rolling with Ruby on Rails - Japanese Translation - p2

    Pages: 1, 2, 3, 4, 5 実際に作ってみよう それでは、実際に作ってみよう。作るのは、オンライン・クックブックだ。皆の好きな料理レシピを保存して、共有できる。 どんな機能があるかと言うと、 すべてのレシピを一覧表示する レシピの新規登録と既存のレシピの編集 レシピごとのカテゴリー分け機能(”デザート”とか”スープ”とか) アプリケーションを作るときには、どのディレクトリでも好きなところを使うことができるが、この記事では c:\rails\cookbook 配下で作業をした。以降で出てくるパスはこのフォルダを基準としている。別のフォルダを使う人は、今後出てくるパスを適宜読み替えてほしい。 空のRails Webアプリケーションを作る Railsは、WebアプリケーションフレームワークのランタイムとWebアプリケーションの作成を支援するスクリプト群で構成されている。 ここでは

    keisuke_yamane
    keisuke_yamane 2005/10/16
    RORの解説日本語訳2。
  • 満足せる豚。眠たげなポチ。:ぼんやりと見えてきたインターネットOSの姿

    メモ。 「Googleはインターネット時代のOSとなる」という発想を実感してきた。 ただ、ちょっと違っているのはOSはGoogleではない。 家に帰る、PCを起動する。寝るまではほとんどの時間でPCを使っている。 やっていることと言えば、Gmail、Bloglines、del.icio.us、livedoor blog、GoogleWikipedia、FC2アクセス解析、はてなブックマーク、オンライントレード。 使うのは、ブラウザ。これだけだ。 GoogleOSではない。ただ、それでもインターネットOSということは十分できそうだ。 なぜなら、これだけのことなら別にPCでなくても良いし、Windowsでなくてもよい。 快適なユーザーインターフェースと画面、WWWへの窓があればそれで事足りてしまう。 たまたま今はそれがPCであるというだけだ。 そうやって考えると、中々興味深いサービスをGoo

    keisuke_yamane
    keisuke_yamane 2005/10/16
    Google〜インターネットOSのまとめ記事。偏在するミドルマン。
  • 満足せる豚。眠たげなポチ。:Rolling on Ruby on Rails - Japanese Translation - p3

    Pages: 1, 2, 3, 4, 5 recipes テーブルを作成する これから作るクックブックではレシピを作ることができる。そこで、レシピを保存するためのテーブルをデータベース上に作成してみよう。 MySQL-Frontの左ペインで、たった今作成したばかりのcookbookデータベースを右クリックする。そしてポップアップメニューからNew>Table... を選択。 (Figure 21) Figure 21. テーブルの新規作成 テーブル名をrecipes にする。(Figure 22) Figure 22. テーブル追加のダイアログボックス 重要!:MySQL-Frontは自動的にIdというプライマリキーを作成するが、Railsではid (すべて小文字)としておいた方がいい。詳細は後述するので、ここではとりあえず変更してほしい。左のペインで先ほど作ったrecipes テーブルを

    満足せる豚。眠たげなポチ。:Rolling on Ruby on Rails - Japanese Translation - p3
    keisuke_yamane
    keisuke_yamane 2005/10/16
    素のフレームワークがKnowledgeManagementツールと同様の即時性を持つすごさ。
  • 満足せる豚。眠たげなポチ。:マーク・ベニオフとsalesforce.comの示す業務システムの未来(1)

    7/7にsalesforce.comのフォーラムへ行ってきた。 このフォーラムで行われたマーク・ベニオフの基調講演と、その後行われたsalesforce.com summer '05のデモンストレーションは未来の業務システムへの示唆溢れる内容だった。セミナーでSOAの抽象論を何度も聞くよりもこのsalesforce.comを理解することに努める方がSOAの理解はよっぽど早いに違いない。 まず、salesforce.comの新バージョンSummer '05の概要を説明し、それからこのシステムから読み取れるsalesforce.com、そしてマーク・ベニオフが視ている業務システムの未来を解説することにしよう。 salesforce.comはアプリケーションホスティング型のCRMだ。salesforce.comのサーバー上でアプリケーションが動作しており、ユーザーはWebブラウザなどからsale

    keisuke_yamane
    keisuke_yamane 2005/10/16
    SalesForceもAPI提供に。GoogleMap連携CRM、利用可能性は広がる。
  • 満足せる豚。眠たげなポチ。:[memo] Ruby on Railsメモ

    keisuke_yamane
    keisuke_yamane 2005/10/16
    RORを実際に動かすとき、どのようにディスパッチするのか、について。
  • 満足せる豚。眠たげなポチ。:企業と個人が競争できる時代をもたらすもの

    ちょうどHarvard Business Reviewで気になって書こうと思った内容が梅田さんのブログにアップされたいた文章とシンクロしたので、こちらを手がかりにしてエントリしてみようと思う。 まずは、Harvard Business Reviewの話をご紹介しよう。DIAMOND Harvard Business Review 2005.9号の「摩擦のマネジメント」(John Hagel III/John Seely Brown)中のコラムだ。 現代の「企業の質」とは何か 企業の存在意義とは何か。一つの論文が、研究者や経営者たちの考え方を長らく支配してきた。ノーベル経済学者のロナルド・コースが、一九三九年に発表した”The Nature of the Firm"(企業の質)である。 この論文のなかで、コースは「経済活動には必ず取引コスト、もしくはインタラクション・コストが伴う。そこで

    keisuke_yamane
    keisuke_yamane 2005/10/16
    「インターネット上にできた経済圏に依存して生計を立てる生き方」は近い将来の現実なのかもしれないと
  • 満足せる豚。眠たげなポチ。:Marc Benioffが作るビジネスアプリケーションのiTunes Music Storeとは?

    Marc BenioffのSalesforce.comがまた何か新しく面白いことを始めようとしているらしい。 CNET News.comの記事、"Salesforce.com to launch software marketplace"から。 http://news.com.com/Salesforce.com+to+launch+software+marketplace/2100-1012_3-5861423.html Salesforce discussed plans Monday to launch an online marketplace for business applications. Salesforce.comがオンラインのビジネスアプリケーション市場・AppExchangeを開始するとのこと。 それが、ただのパッケージ販売では面白くないのだが、 Any softw

    keisuke_yamane
    keisuke_yamane 2005/10/16
    Marc BenioffのSalesforce.comがまた何か新しく面白いことを始めようとしているらしい。
  • 満足せる豚。眠たげなポチ。:SciTE Editorで日本語を使うには。

    Rolling on Ruby on Railsの手順の通りに作業を進めると、SciTE Editorというエディタがインストールされる。 これがなかなか使いやすくて重宝するんだけど、デフォルトでは日語が文字化けする。ということで、設定方法を。 [Options] -> [Open Global Options File] から、 # Internationalisation # Japanese input code page 932 and ShiftJIS character set 128 の記述のとおりに'code.page'と'character.set'を設定変更。(すぐ下にコメントアウトされているので、'#'を外すだけ) code.page=932 character.set=128 で、元から設定されている'code.page'の値をコメントアウト。 #code.pag

    keisuke_yamane
    keisuke_yamane 2005/10/16
    RORでインストールされるSciTE Editorを日本語が通るようにする。
  • 1