ぱろっと・すたじお

技術メモなどをまったりと / my site : http://parrot-studio.com/

Ruby

memcache-client と thin の競合 on Ruby1.9.1

TokyoCabinetを使った検索コアは出来上がったのですが、 作るべきはWebシステムなので、それをWeb側から叩かないといけません しかし、JavaScriptで非同期にリソースを取得する仕組みだと、 そのURIさえわかればデータを自由に取得される恐れがあります (今…

データ検索システムをTokyoCabinetだけで作ってみた

今仕事で開発しているシステムに、KVSを使えないかと、 以前からいろいろ模索していました devsumi2010の前後で検証していたときは、 「分散KVSをクラスタのキャッシュにする」という目的で、 どちらかというと書き込みの速度をチェックしていました しかし…

RDGC-DungeonMaker(rdgc-dm) 0.2 リリース

ランダムなダンジョンを三行以内で作れる*1gem、 「RDGC-DungeonMaker(rdgc-dm)」の最新版を公開しました(`・ω・´) ソースコード github : http://github.com/parrot-studio/rdgc-dm SourceForge.jp : http://sourceforge.jp/projects/rdgc/ インストール gem …

"RO"gue #1 〜桃色の迷宮〜 (rev.2) リリース

RDGC - Ruby(Random) Dungeon Game Coreのサンプル実装である、 "RO"gueの最新版を公開しました 実装コードはSourceForge.JPのリポジトリ(svn/git)に公開済みです "RO"gue #1 〜桃色の迷宮〜 (rev.2) 本来この「rev.2」は、RDGC 0.1のリファクタリング完了…

続・ある技術者がRSpecに目覚めるまで

ある意味で以前の続きです ある技術者がRSpecに目覚めるまで - ぱろっと・すたじお あれから、仕事でもRDGCの開発でも、 全てのコードにRSpecを書くようになりました 同時に、コード管理もSubversionからGitへ移行しています 前回も書いたように、完全な「テ…

勉強会レポート(4/9〜10)

この週末で二つ勉強会に行ってきたので、 そのレポートを書こうと思いますが・・・ 普段、特定の人としか話さない仕事をしているのもあるので、 正直コミュニケーションスキルが絶望的というか、 某アメトーークの「人見知り芸人」のまんまでした(´・ω・`) ネ…

ダンジョンの最短ルートを求めてみる(with RDGC)

きっかけはこの記事です makeplex salon:あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 (1/2) - ITmedia エンタープライズ この記事経由で元ネタを見に行きました (エピソードそのものは知っていたものの、問題は初めて見ました) 人…

RDGC-DungeonMaker(rdgc-dm) 0.1 リリース

こんな日に公開すると勘違いされそうですが、本当の話です 先日、テスト版を公開していた、 ランダムダンジョン生成ロジックですが、 gem化してgemcutterで公開しました(`・ω・´) github : http://github.com/parrot-studio/rdgc-dm gem install gemcutter # …

ランダムダンジョン生成テスト(for RDGC 0.2)

RDGC - Ruby(Random) Dungeon Game Core 0.1をリリースして以来、 0.2に向けてRSpecとGitを駆使しつつリファクタリングを進めていたのですが、 ついにダンジョン生成部分のリファクタリングが(ほぼ)完了しまして まだRSpecでカバーできてない部分があるの…

Ruby1.9でERBを使おうとしてはまる

新しいシステム向けの検索システム (分散KVSで汎用的に作ろうとして、予算の都合で断念したやつ)の、 コアエンジン部分が先日完成しまして 検索部分をDBにやらせて、データ取得はKVSという、 結果的にこれからのシステムが行き着きそうな仕組みになったわ…

RDGC - Ruby(Random) Dungeon Game Core Ver0.1 リリース

なんだかんだで、開発を始めてから半年くらいかかりましたが、 とりあえずRDGCが初期公開版Ver0.1にたどり着きました RDGC - Ruby(Random) Dungeon Game Core 正直、Ver0.1は基盤として使い物にならないとは思いますが、 昨日サンプル実装である「"RO"gue Ve…

ある技術者がRSpecに目覚めるまで

テスト駆動開発が有用だと理屈ではわかっていても、 実際になかなか適用できないと悩んでいる方は多いと思います 今回は私がRSpecを通して、自分なりの「テスト駆動開発」を見いだすまでのお話 ・・・すでにやってる方はスルーしてください(´・ω・`)「プロ」の…

KVS(NoSQL)のまとめと「これから」の設計手法

仰々しいタイトルをつけてますが、 たいしたことは書いてません(´・ω・`) なぜKVSを試していたのか? 今月に入り、KVS・・・というより、 NoSQL系の技術をいろいろ試してきたわけですが、 そもそも何を目的としているのか、というと・・・ <前提> 100万件以…

MessagePack-RPCとkumofsを試す

先週、デブサミ2010に参加したとき、 一番感銘を受けたのがkumofsのセッションでした kumofsから学ぶNot only SQLの技術 - 古橋貞之の日記 細かい内容はこのエントリを見ていただければいいのですが、 個人的に気になったのが「非同期処理」のデモでして あ…

Developers Summit 2010 2日目メモ

今日も午後からデブサミに行って来たわけですが、 昨日以上に疲れました(´-ω-) 昨日はまだ最後のセッションへの参加を迷う余裕があったのですが、 今日は午後の4本目が終わった段階で即会場を出ました というわけで、昨日以上に簡単なメモだけ残します...φ(・…

Tokyo TyrantをDBと比較してみる

あらかじめ書いておくと、最終的にごく当たり前の結論しか出てきませんΣ(・ω・ノ)ノ ただ、その「当たり前の結論」を、自分で身をもって体感しておくのは、 意味があるとは思います 例によって前置きから入るわけですが、 昨年末あたりから新しいシステム開…

Rubyっぽくリファクタリングするためのポイント(4)

今回の話は、「Rubyっぽい」ことは間違いないですが、 リファクタリングとして妥当かは微妙です というのも、今回のコードを見たときに、 Rubyにあまり詳しくない人には、 何をやっているのか分からない可能性があるからです 保守性、という意味では微妙では…

RDGC(+"RO"gue)のコード公開開始

http://sourceforge.jp/projects/rdgc/ SourceForge.JPにプロジェクトを作っておいて、 何のコードも置いてないことを心苦しく思っていたのですが、 これで一つのハードルを超えましたヽ(`・ω・´)ノ ただ、あくまで現時点でのコードを置いただけで、 まだ初期…

GoogleAppEngineでRubyを動かしたコード(+おまけ)

以前、GoogleAppEngineでRubyアプリを動かした話を書きましたが、 そのコードをGitHubに置きました どうせたいしたコードじゃないですしね・・・ http://github.com/parrot-studio/ro-devel-dict-gae ただし、このコードのまま動かそうとしても動きません #c…

"RO"gue (on RDGC) テスト版 Ver0.003

だいぶご無沙汰しておりました おそらく待っている方は少ないとは思いますが・・・ 先日、ライセンスに関する話でも書きましたが、 Ver0.002以降、基盤である「RDGC」と、 その上で動く「"RO"gue」の分離作業をしておりました なので今回のバージョンは、Ver…

GoogleAppEngineでRubyアプリを動かすまで

大晦日の日、自分への挑戦・・・ってほどのことではないですが、 1日でGAEアプリを作るのに挑戦してみました ・・・と言っても、この上なくシンプルなCRUDアプリではあるのですが、 以前GAEでSinatraを動かしたときは、データのところまでは見てなかったので…

はじめてのSinatra

昨日、GAE絡みで初めてSinatraに触れて、 今回の仕事はこれで行こうと決めたので、 もうちょっと実用的なレベルで調べてみました まず気に入ったのが、非常に軽量でシンプルであること Sinatra自体は最低限のフレームワークを提供するだけなので、 その上に…

GAEでJRubyのSinatraを動かすまでのメモ

業務でGoogleAppEngineを使うかもしれないので、 最近いろいろ調査してました 特に、GAE/JRuby周りを中心に 一応、私はJava屋でもあるので、 GAEが正式サポートしているJavaでコードを書いてしまってもいいのですが、 Rubyの簡便さに慣れるともう戻れないの…

"RO"gue (on RDGC) Ver0.1への道

先月から忙しかった仕事がやっと一段落しまして、 ようやく「"RO"gue(仮)」のことを考える余裕ができました(`・ω・´) 「"RO"gue(仮)」・・・というのももう面倒なので、 「"RO"gue」で確定しますが、テスト版Ver0.002で入れた告知のように、 最初の正規リ…

「"RO"gue」(仮)テスト版 Ver0.002 公開

次は正式版・・・くらいの勢いだったのですが、未だテスト版です(´・ω・`) 作ってみるといろいろ問題が出てくるんですよね・・・ 今回は戦闘やら回復やら最低限の要素を追加してはいますが、 「ゲーム」と呼ぶにはまだ足りないものが多いのです 全然バランスと…

Rubyっぽくリファクタリングするためのポイント(3)

久々にネタを拾ったのでメモ...φ(・ω・`) 今回はちょっと仕様が複雑です しかも、あまりRubyと直接関係ない部分もありますが、 Rubyだと簡潔に書ける例ということで <今回の仕様> 各データには値A、フラグB、フラグCが存在する データの状態に合わせて実…

「ROgue」(仮)テスト版 Ver0.001 公開

以前も何度か開発中の画面を出しましたが、 やっと「動作テストとして公開できるもの」ができました Rubyで開発中の「ローグライクゲーム」・・・みたいなものです まだ「ゲーム」と呼べるレベルではなく、 開発環境であるRuby+DXRuby+Exerbが「どこでも動く…

Rubyのコードをexe化する

Rubyでローグライクゲームを作っていることは前々から書いてますが、 Ruby+DXRubyだと非常に書きやすいものの、大きな問題が一つあります ・・・つまり、どうやって配布するか、でして Rubyのコードは、当然ながら(Windowsなら)ruby.exeがないとダメですし、…

formatに小数を渡した時の値が環境によって違う

Rubyでシステムを開発するとき、 普段はmswin32のRubyを使い、本番ではLinux(CentOS 5.3 x64)のRubyを使ってます それをふまえて、以下のコードを(´・ω・)っ f = 65.0/32.0 p f #=> 2.03125 p format("%.4f", f) #=> ???? どうってことないコードなのですが…

Rubyのゲームライブラリを試す(後編)

前編に引き続き、Rubyで使えるゲームライブラリを見ていきます Ruby/SDL Miyako StarRuby DXRuby これのうち、後半の2つが今回です StarRuby 開発元:http://www.starruby.info/ja/ 実は、評価した順で言うと、DXRubyの後にStarRubyでした しかもコンセプト…