タグ

ブックマーク / blog.madoro.org (8)

  • Heroku + MongoHQ が素晴らしい - Masatomo Nakano Blog

    前から気になっていた Heroku + MongoHQ を試してみた。HerokuRubyアプリケーションを走らせるホスティングサービスで、MongoHQはMongoDBのホスティングサービスだ。この二つを組み合わせることで、MongoDBを使ったRubyアプリケーションを一瞬で運用開始することができる。 あまりにも簡単に使えてあまり書くこともないんだけどメモ。 まず、両方とも最低限の環境は無料で使用できる(ただしHerokuからMongoHQを使うためにはクレジットカードの登録は必要っぽい)。 今回は Ruby on Rails 3 + Mongoid で作ったアプリを置いてみた。 手順 1. まず、普通に RoR + Mongoid のアプリケーションを作る 2. Herokuにアカウントを作りアプリケーションを登録する (http://docs.heroku.com/quickst

  • TDDを真面目にやってみて気付いたこと - Masatomo Nakano Blog

    何を今更、なことかもしれないないのだけど、もしかしたらこれを知ることでTDD(Test-driven development)をやることのハードルが一気に下がる人がいるかな、と思ってメモ。 特に、ある程度プログラマとして経験があるけど、どうもTDDは慣れないという人向き。 “TDDとは、TDD以前に脳内や機上でやっていたことをコードに落とすことに過ぎない” このことが解ってから、TDDをするのが一気に苦痛ではなくなり、むしろ楽しくなった。 TDDでなくても、コーディングをするとき、temporaryなテストコードを書いたり、目視でのチェックはしたりするものだろう。たとえば、一時的に変数の値をハードコードして挙動を変えてみて、それを目視で確認したり、printデバッグとかもその一部だ。 つまり、このtemporaryなコードや目視している部分をpermanentにするのがTDDで書くテストコ

  • Gitをバックエンドに使ったプログラマ向きWiki - Gitit - Masatomo Nakano Blog

    Wikiというものはとても便利なんだけど、 大量の文章を書くにはWebブラウザのインターフェースはまだまだ辛い オフラインで使えない(文章書くのは電車が一番) 複数の文章を再構成したり、一括で検索したり、置換したりは、Webだとやっぱりきびしい と言った欠点がある。 とは言え、誰でも気軽に編集できるWikiの魅力も捨てがたい。 そこで、「Wikiではあるんだけど、ローカルでも自分の好きなエディタで簡単に編集できるツールないかなー」と探してみたら、 Gitit というWikiを発見した。 ここ数日、結構な量のドキュメントをGititで書いてみて、わりと満足しているのだけど、検索してもGititの日語の情報があまり出てこないので紹介してみる。 Gititの特徴 コンテンツをGitのレポジトリに保存する。 そのGItレポジトリをcloneして好きなようにいじってからcommit/pushすれば

  • Google App Engine / Python 上での開発で最初から知ってればよかった、ってことをいくつか - Masatomo Nakano Blog

    ここ数ヶ月、Google App Engine/Pythonを使い、初めてちょっとしたものを作ってみているのだけど、開発初期から知っておけばよかったなー、と思うノウハウ/tips的なものをずらずらと書いてみる。 基的な環境設定は、 以前書いた まま。 0. 公式ドキュメントを良く読む 言うまでもなく、だけど、 マニュアル はもちろん、 この辺 の下の読み物も、流し読みだけでもしておいたほうがいい。 datastoreとmodel的なところ 1. key nameを使いこなす key nameは、レコードの作成時に指定できる(RDBでいう)primary keyの別名みたいなもの。primary key自体は自動的で作成されるので開発者が指定できるのはkey nameだけ。 key nameをうまく使うことで、datastoreを使いやすくすることができる。特にdatastore上で"un

  • Rubyを「知ってるつもり」の人にお勧めな「Metaprogramming Ruby」本 - Masatomo Nakano Blog

    とてもいいだったので紹介してみる。 Metaprogramming Ruby: Program Like the Ruby Pros by Paolo Perrotta このを読み始めてすぐに、自分がこのに対してタイトルから想像していた内容と違うことに気付いた。 自分が想像していたのは、「こういうケースでは、こういうメタプログラミングをするといいよ」「こういうメタプログラミングのパターンもあるよ」というRubyでするメタプログラミングの実践編のかと思っていた。でも、これは間違いで、このRubyでメタプログラミングができるようになるためのRubyの基礎知識が書いてあるだった(基礎、と言っても初心者向けというわけではなくて、Rubyのベース部分という意味で)。 想像とは違っていたのだけど、結果的に、ちょうど今自分が読むべきだった。 自分は、このを読むまで半年ちょっとRails

  • CouchDBとMongoDBを比較してみた - Masatomo Nakano Blog

    ドキュメント指向なKVSってことと、字面が似ていると言うことぐらいしか比較する意味がなさそうなCouchDBとMongoDBだけど、ここ2,3ヶ月で両方をそれなりに突っ込んで見てきたので比較してみた。実装面やパフォーマンス、ということよりはどちらかというと(私が感じる)思想的なものや、ユーザ側からの視点での比較。 共通するところ これはもう簡単に、 ドキュメント指向データベース - RDBMSのようなカラムと言ったものを持たずにスキーマレスで好きな情報を入れられる Javascript/JSONを使用 - データ自体もJSONというJavascript由来のフォーマットで持ち(MongoDBはJSONを元にしたBSONというものだが)、データベースのアクセスにはJavascriptを使用する スケールアウトするように考えられている NoSQLな流行 CouchDBの特徴 機能を限定している

  • MongoDBのライセンスについて - Masatomo Nakano Blog

    Twitterで少し話題になっていたので、MongoDBのライセンスについて書いてみる。 「MongoDBを使う場合、自分で書いたアプリケーション側のソースも全部公開しないといけない」的な嘘が広がるのはちょっと嫌なので。 http://www.mongodb.org/display/DOCS/Licensing とか、 http://blog.mongodb.org/post/103832439/the-agpl を読んでみてもらえばだいたいわかると思うのだけど、MongoDB自体は、確かにAGPLなので、改変した場合、(一般に公開する)サーバ用途の利用でMongoDB自体のソースの公開の義務はある。ただ、これはMongoDB体の話で、自分で作ったアプリケーションには適用されない。また、ドライバー関連はApache licenseなので、ドライバーを組み込むような自分のアプリケーションを

  • スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ - Masatomo Nakano Blog

    2002年、当時設立したばかりの会社に入り、何もない状態から、コンテンツとシステムを作り続け8年が経った。日々、試行錯誤しながら、それなりに会社も大きくなり、まだ、大成功とは言えないけど、それなりにうまくやってきたつもりだ。 しかしながら、その8年という短くはない時間の中で、色々な課題や問題が発生し、その時々正しい選択をしてきたつもりだったけど、反省点も多い。もう一度スタートアップに参加するとしたら、やり直したいところや、もっと早くこうしていれば良かったというところがたくさんある。 そんなわけで、次の挑戦のときに忘れないように、また、もしかして誰かの参考くらいになればと思い、メモっておくことにした。1 まず、反省点の前に、何をやっているのかというのを簡単に。 ビジネスとしては、英語e-learningのWebサービス(ネットを使った英語のお勉強)をASPな形で、企業や大学などに提供している

  • 1