タグ

ブックマーク / www.moongift.jp (280)

  • 次の情報を右へ右へ展開する新しいナビゲーションUI·Kaiten MOONGIFT

    KaitenはjQueryを使って左右に展開するナビゲーションインタフェース。 KaitenはjQuery/JavaScript製のオープンソース・ソフトウェア。Webではリンクを使って情報を辿っていく操作が基だ。そのため以前の情報に戻る操作が増えたり、別なウィンドウやタブで開いたりしてどんどん情報が溢れてしまう。 右に情報が表示されていく スマートな解決策としてAppleが提案しているのが横にスライドしていく操作だ。次の情報はどんどん右に展開しているので戻ったり関連性を見いだすのも難しくない。そんなデータ表示をWebで再現するのがKaitenだ。 Kaitenは新しいWebナビゲーションを提案する。まず最初に表示される情報は左側になる。その中のリンクをクリックすると右側に展開する。さらにクリックしていくとどんどん右に展開する。ヘッダーでは現在表示しているコンテンツがハイライトになり、パ

  • Gitを使って誰でもDropboxを作れる·RubyDrop MOONGIFT

    RubyDropはRuby製のオープンソース・ソフトウェア。個人的にDropboxはとても便利に使っている。これなしの生活は考えられないくらい便利だ。有料であれば50GBまで使えるが、無料版の2GBでは物足りないと感じる人も多いだろう。だがお金は払いたくないという人もいるだろう。 サーバ起動中 そこで考えたいのが自分だけのDropbox構築だ。重要なのは自動的に同期されるシステムであること、バージョン管理されること、複数のコンピュータ間でデータが同じ状態に保てることだろう。それらを実現するのがRubyDropだ。 RubyDropはRuby1.9系で動作するソフトウェアだ。簡単に言えば、特定のフォルダに関してRubyDropが監視を行う。そして変更があると内容をリモートのGitリポジトリにアップデートする。Gitリポジトリ側で変更があれば、Pullする仕組みだ。 自動的に同期されている G

  • 複数のRubyを切り替えて使いこなす·rvm MOONGIFT

    Rubyは主に1.8.6と1.8.7、そして1.9.1がある。さらにJRubyも最新注目されている。1.9.1を使ってみたいと思いつつも、ライブラリが対応していないと切り替えられずにいる人も多いはずだ。また、その不安のために1.9.1を試せないという人もいるのではないだろうか。 コマンド一つでRuby環境を切り替えられる 複数のRubyを入れたとしても、パスや設定を変えれば使えるだろうが面倒だ。そうした目的のために使うのがrvmだ。 今回紹介するオープンソース・ソフトウェアはrvm、Rubyバージョン管理ツールだ。 rvmは個人のホームディレクトリ以下に設置するソフトウェアで、rvmというコマンドで動作するのでパスを通しておく必要がある。そしてrvm install 1.9.1のようにコマンドを打つと、Ruby 1.9.1がインストールされる。さらにrvm use 1.9.1と打てばパスが

    複数のRubyを切り替えて使いこなす·rvm MOONGIFT
  • node.jsを使ったSinatra風Webフレームワーク·Express MOONGIFT

    ExpressはJavaScript製のオープンソース・ソフトウェア。node.jsはGoogle製のJavaScriptエンジンv8を使って作られたネットワークサーバで、Webサーバや何らかのメッセージを受け取るサービスを作るのに使えるサーバサイドJavaScriptを実現するフレームワークだ。 サンプルアプリケーション node.jsを使ってもWebサーバは作れるが、それはあくまでも作れるというレベルだ。もっと使いやすさを考えるならばWebアプリケーションフレームワークが欲しい。そしてそれをSintra風にまとめたのがExpressだ。 Expressはnode.jsを使いつつ、容易にサーバサイドJavaScriptを使ったWebアプリケーションを開発できるようにしたフレームワークだ。HTTPメソッドとしてはGET/POST/PUT/DELETEが使えるようになっている。テンプレートエ

    node.jsを使ったSinatra風Webフレームワーク·Express MOONGIFT
  • ServerJS標準に則ったJavaScriptライブラリ·Narwhal MOONGIFT

    JavaScriptと言えばWebブラウザ上で動作する軽量なプログラミング言語というイメージがある。だが最近ではAptana JaxerやRhinoのような技術によってクライアントサイドとサーバサイドのどちらもJavaScriptで実装することが不可能ではなくなってきている。 サンプルに登録されている動画。一見の価値あり? とは言えサーバ向けのAPIを独自で実装していくのは難しく、今年に入ってからServerJSという標準の策定に向けた動きが活発化してきた。それに則ったJavaScriptライブラリがNarwhalだ。 今回紹介するオープンソース・ソフトウェアはNarwhal、サーバサイドからWebアプリケーションまでこなせるServerJS標準ライブラリだ。 Narwhalは角のあるクジラ、イッカクを意味している。個人的にNarwhalが気になるのは、その開発にKeynote風Webアプ

    ServerJS標準に則ったJavaScriptライブラリ·Narwhal MOONGIFT
  • NodeJS用のパッケージ管理·npm MOONGIFT

    npmJavaScript製のオープンソース・ソフトウェア。サーバサイドJavaScriptで有力な選択肢になりつつあるNodeJS。この手のフレームワークが流行るか否かはフレームワークの性能はもとより、周囲のコンテンツによって左右される。 例えばフレームワークに関するドキュメントであったり、支持するユーザ層、さらに充実したライブラリも重要な要素だ。NodeJSにもそれが登場した。パッケージ管理システムを提供するnpmだ。 npmはrpmライクな名称のNodeJS用パッケージ管理システムだ。コマンド一つでNodeJSに関係する様々なライブラリをインストールできる。既に多数のライブラリが登録されている。npm自体のインストールもコマンドライン一行で済んでしまう手軽さだ。 npmコマンド自体がroot権限を必要としているのが難点ではある(筆者環境だけだろうか)。だが、それ以上に便利だ。npm

    NodeJS用のパッケージ管理·npm MOONGIFT
  • node.js用MySQLドライバ·node-mysql MOONGIFT

    node-mysqlJavaScript製のオープンソース・ソフトウェア。 サーバサイドJavaScriptが徐々に現実化してきている。大規模なシステムと言うよりも、小規模なシステムを手早く作る上でクライアントサイドとサーバサイドを統一した言語で作れるのは魅力的だ。 JavaScriptからMySQLに接続する その代表例が最近登場したnode.jsだ。Google製のJavaScriptエンジンであるv8を用いて開発されており、高速なサーバサイドJavaScriptを実現する。そしてWebアプリケーションを開発する上では必須とも言えるデータベース接続を実現するのがnode-mysqlだ。 node-mysqlはその名の通り、JavaScriptによるMySQLドライバだ。Ruby製のMySQLドライバのコードを参考にしている。node-mysqlという名前ではあるが、読み込み部分などを

    node.js用MySQLドライバ·node-mysql MOONGIFT
  • v8エンジンによるJavaScriptのWebサーバ·node.js MOONGIFT

    node.jsはJavaScript製のフリーウェア(一部オープンソースのライブラリが入っている)。クライアントサイドとサーバサイド、両方が同じ言語で書ければどれだけ開発工数が低減されるだろうか。Web系の技術者は常にそこにジレンマを感じることだろう。 デモのチャットアプリ 方法は二つ、JavaScriptでサーバサイドを実装するか、GWTのようにJavaScriptを覆うかだ。node.jsはJavaScriptでサーバサイドを実装する。特徴的なのはそのエンジンとしてGoogle製のv8エンジンを採用していることだろう。さらにnode.js自体がポートをリッスンし、Webサーバとして動作するのが特徴だ。 独自でWebサーバを用意しているからだろうか、動作は軽快だ。チャットアプリケーションがデモとして用意されているが、レスポンスはとても良い。サーバサイドの実装と合わせて同一言語で開発できる

    v8エンジンによるJavaScriptのWebサーバ·node.js MOONGIFT
  • ローカルでもはてな記法でメモを取る人は·Local Hatena Search MOONGIFT

    Local Hatena SearchはRuby製のフリーウェア(ソースコードは公開されている)。人間にとって使い慣れるというのはとても重要な要素だ。多少使い勝手が悪かったとしても手に馴染んでいるものはそのまま使い続けようとする。スイッチングコストは生産性、精神的に非常に大きいというのは良くあることだ。 はてな記法を使ってブログを描く(内容ははてな記法ワープロより) 逆に他でも使っている手法を手元でもできると統一性が出て生産性が上がる。普段はてなダイアリーを使っていて、その記法が手に馴染んでいるという人は、ローカルのメモも同じ記法にしてみてはどうだろう。そうすればLocal Hatena Searchが利用できる。 Local Hatena Searchはローカルにあるファイルを読み込んでブログ風に表示するソフトウェアだ。記法ははてな記法を使い、Sinatraを使ってWebブラウザ用に表示

    ローカルでもはてな記法でメモを取る人は·Local Hatena Search MOONGIFT
  • あのJaikuがGoogle App Engineへ&オープンソース化!·JaikuEngine MOONGIFT

    Jaikuというサービスは、twitterが流行りだした頃に出てきた類似サービスで、2007年10月にGoogleにより買収された。その後、twitterのユーザ数増加は続いたが、Jaikuは思ったほど伸びなかったようで、2009年1月に開発打ち切りが発表された。 機能自体はtwitterよりも多い だがサービスを停止する訳ではなく、Google App Engineへの移行までは継続され、先日実現した。と同時にオープンソース化もなされた。 今回紹介するオープンソース・ソフトウェアはJaikuEngine、Jaikuのオープンソース版だ。 JaikuEngineはGoogle App Engineに移行したJaikuをベースにしている。そのため開発言語はPythonだ。SDKの問題か、そのままローカルでは動作せず(修正をすれば可能)、またはappspot.comにデプロイすると動作する。

    あのJaikuがGoogle App Engineへ&オープンソース化!·JaikuEngine MOONGIFT
  • RailsのCron処理に·Whenever MOONGIFT

    Ruby on Railsにおけるバックグラウンド処理で有名なものと言えばBackgrounDRbやBackground-fuになるだろう。使ってみた感想としてはどちらも癖があって、何となくうまくいかない。プロセスが途中で消えたりすることもある。 分かりやすい記述でCronが書ける 非同期的にキックするような処理が必要な場合は難しいが、単純なCron処理であればLinux標準のCronが最も安定している。それを手軽に使えるのがWheneverだ。 今回紹介するオープンソース・ソフトウェアはWhenever、Railsアプリケーションに対応したCron処理ライブラリだ。 WheneverはRailsアプリケーションとCrontabの橋渡しをするソフトウェアだ。Railsアプリケーション内でwheneverizeコマンドを実行すると設定ファイルが出力される。ここではevery 3.hoursの

    RailsのCron処理に·Whenever MOONGIFT
  • MOONGIFT: » UMLも描けるデータモデリングツール「Conzilla」:オープンソースを毎日紹介

    見える化、なんて言葉が流行ったが元々開発者の世界ではごく当たり前のキーワードだった。目に見えないデジタルな世界を可視化したり、アナログなビジネスの流れをモデリングしたりするのはごく当たり前だ。 サンプルのモデリング 企画を立てたり、思想を膨らませたりするのは個人やグループでディスカッションすることでできるが、その結果を落とし込み、共有するのは何らかのツールを使う必要がある。そんな時に役立つのがこうしたソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはConzilla、コンセプトブラウザという名称のモデリングツールだ。 Conzillaが対応するのはUML(なぜかULMとなっているが)、ダイアログマッピング、RDF、RDFS、DCMITypesとなっている。それぞれオブジェクトが予め登録されており、クリックして配置、線をつないでモデリングしていく。 編集画面。オブジェクトが多数並ん

    MOONGIFT: » UMLも描けるデータモデリングツール「Conzilla」:オープンソースを毎日紹介
  • iPhoneで見て料理をしたい人は·iCookpad MOONGIFT

    これは個人的にヒット!週末や時間がある時には料理をするのだが、その際に冷蔵庫の中身を見て、ネットで検索して料理を決めることが多い。そうしないと単調になるし、面白みがないからだ。その際によく見るのがCookpadだ。 CookpadがiPhoneに最適化! そしてCookpadのページはiPhoneに最適化されていないのでちょっと見づらい。そこで便利なのがiCookpadだ。 今回紹介するフリーウェアはiCookpad、CookpadをスクレイピングしてiPhoneに最適化したソフトウェアだ。ソースコードは公開されているが、ライセンスは明記されていないのでご注意いただきたい。 iCookpadはSinatraで作られたWebアプリケーションで、Cookpadの画面をスクレイピングしてiPhone/iPod Touch向けに最適化したページを表示してくれる。Cookpadのオリジナルの機能に比

    iPhoneで見て料理をしたい人は·iCookpad MOONGIFT
  • Erlang製のAmazon Dynamoクローン·Dynomite MOONGIFT

    Amazon Dynamoはシンプルなキー/バリューデータベースシステムだが、大量のデータを冗長化やレスポンスを維持しながらサービスを提供する点が特徴だ。外部向けのサービスとしては提供されていないが、SimpleDBAmazon Dynamoを外部向けにしたものと言われている。 起動した所 キー/バリュー型のデータベースには注目が集まっているが、Amazon DynamoのクローンとしてDynomiteを紹介しよう。 今回紹介するオープンソース・ソフトウェアはDynomite、Erlangで作られたAmazon Dynamoクローンだ。 DynomiteはErlang製のキーバリュー型データベースだ。Erlangと言えば分散化、リアルタイム性、並列化などが特徴なので、大規模なデータベースを構築する上ではとても期待ができそうだ。 クラスタリングにも対応している。既に稼働しているクラスタに新

    Erlang製のAmazon Dynamoクローン·Dynomite MOONGIFT
  • Google Appsにも対応したGmail新着メール通知·Gmail Notifr MOONGIFT

    先日複数のGmailアカウントに対応した新着メール通知ソフトウェアであるNotifyを紹介した。便利なソフトウェアなのは間違いないが、一つだけ欠点があった。それはGoogle Appsに対応していないことだ。個人的にGoogle Appsを使っているので、ぜひとも対応してもらいたい機能だった。 Google Appsにも対応した新着メール通知 そんな中、Twitterで紹介してもらったのがGmail Notifrだ。こちらはずばり、Google Appsにも対応している。 今回紹介するオープンソース・ソフトウェアはGmail Notifr、RubyCocoaを使ったGmail新着メール通知ソフトウェアだ。 Gmail NotifrはMac OSX用のソフトウェアで、起動するとメニューバーに常駐する。アカウントとしてGoogle Appsのメールアドレスを登録して、そのまま利用できる。複数ア

    Google Appsにも対応したGmail新着メール通知·Gmail Notifr MOONGIFT
  • 間もなくサイトを開設する際には·Launching Soon MOONGIFT

    Launching SoonはRuby on Rails製のオープンソース・ソフトウェア。間もなく立ち上げるWebサービスを軽く紹介するときや、ゲーム発表前のサイトなどで使われるのがローンチスーン(間もなくはじまる!)のページだ。最近のWebサイトではよく使われるので見覚えのある人も多いだろう。大抵、開発者ブログやTwitterRSSフィードのリンク、そしてメールアドレス登録欄がある。 間もなく開始! サービス開始までの開発に忙しい中、そのような余分なものを作っている余裕はないという方は使ってみてほしいのがLaunching Soonだ。Launching Soonはローンチスーンページを提供するRailsプラグインだ。プラグインなので、既存サイトに簡単に組み込んで使える。 Launching Soonをプラグインとしてインストールした後は、application_controller.

    間もなくサイトを開設する際には·Launching Soon MOONGIFT
  • iPhoneシミュレータで動作するアプリを他の開発者にも渡す·iPhoneSimulatorExchange MOONGIFT

    iPhoneSimulatorExchangeはMac OSX向けのフリーウェア。iPhoneSimulatorExchangeはちょっと説明の難しいアプリケーションだ。iPhoneアプリを誰かに試してもらおうと思った時、一つはAppStoreに登録して、キャンペーンコードを通じてiPhoneにインストールしてもらうという方法がある。だがこれは審査を通過するまでのステップが必要だ。またad hocを使って行う方法もあるが、若干手間がかかるのは否めない。 iPhoneエミュレータに入っているアプリケーションをインストーラーに コンセプト的に作ったアプリケーションを試してもらうためだけに、ソースコードごと渡してMac OSXでコンパイルしてもらうのはどうだろう。だがこれは相当に面倒だし、ソースコードを公開するのを控えたいこともあるだろう。そこで使えるのがiPhoneSimulatorExcha

    iPhoneシミュレータで動作するアプリを他の開発者にも渡す·iPhoneSimulatorExchange MOONGIFT
  • FriendFeedで使われているリアルタイムウェブ用Webアプリケーションサーバ·Tornado MOONGIFT

    TornadoはPython製のオープンソース・ソフトウェア。ここ半年くらいで盛り上がりを見せているワードが「リアルタイムウェブ」だ。Twitterのようなリアルタイム検索やFriendFeedのようなソーシャルアグリゲートサービスをはじめ、多数のサービスがこのリアルタイムウェブに向かって突き進んでいる。 サンプルアプリケーションのブログ そこで使われているWebサーバにはこれまでとは違うニーズが発生する。Tornadoはまさにリアルタイムウェブのために作られた、Webアプリケーションサーバだ。 TornadoはFriendFeedが自社のサービスを支えるために開発したWebアプリケーションサーバだ。ノンブロッキング通信をサポートし、epoll(I/Oイベント通知)を使って同時に1,000ものコネクションをさばくことができる。さらにロングポーリング(Long Polling)やHTTPスト

    FriendFeedで使われているリアルタイムウェブ用Webアプリケーションサーバ·Tornado MOONGIFT
  • PowerPointを使ってプロトタイプを作ろう·PowerPoint Prototyping Toolkit MOONGIFT

    世の中には何でもPowerPointでやらないと気が済まないという人たちがいる。Excel使いがそうであるように、PowerPoint使いがいるのだ。余計なソフトウェアを購入するよりはよっぽども良いが、再利用性のない方法をとられても困る気はするのだが…細かいところは気にしないでおこう。 PowerPointを使ってアプリケーションの画面を作る そんなPowerPointウィザードな方々に送る、プロトタイプ作成ツールキットがPowerPoint Prototyping Toolkitだ。 今回紹介するフリーウェアはPowerPoint Prototyping ToolkitPowerPointを使ってアプリケーションのプロトタイプを作成するツールキットだ。 PowerPoint Prototyping Toolkitは画面や画面を構成するオブジェクトを作成し、PowerPoint2007の

    PowerPointを使ってプロトタイプを作ろう·PowerPoint Prototyping Toolkit MOONGIFT
  • Google App EngineにXMPP機能をつける·App Engine IMified MOONGIFT

    Webサービスとチャット機能は相性がいい。最近ではtwitterを使って通知を行うWebサービスも増えている。相手がオンラインであるならば、メールで通知するよりもIM(インスタントメッセンジャー)経由でメッセージを飛ばす方が簡単だ。 デモアプリケーションを立ち上げた所 とは言え、Webサービス側でその実装を行うのは非常に重たいものだ。送信は良いとしても、受信の実装は困難だろう。そこで使ってみたいのがappengine-imifiedだ。 今回紹介するフリーウェアはappengine-imified、IMifiedと連携してGoogle App EngineアプリケーションにXMPP機能を付与するデモアプリケーションだ。ライセンス文を読んだ限り、どのライセンスに属するのか不明だったため、フリーウェアとして紹介させていただきたい。 appengine-imifiedはGoogle App En

    Google App EngineにXMPP機能をつける·App Engine IMified MOONGIFT