chikuchikugonzalezの雑記帳

趣味とか日記とかメモとか(∩゚д゚)

Ruby

オレオレライブラリを(うっかり)rubygemsに公開しました

やっちまった感ある。まさか`gem yank`だと存在をなかったことにできないとは思わなかった('A`). そしてこれが初gemという.

RubyのC拡張で配置newを使うためのマクロ考えた

RixILっていうRixmap公開用っていう位置づけのRuby C拡張書いてるわけなんですが、C++で書いてるせいで後からnewでインスタンス作る実装が必要になったしまったわけです。 その場合メモリが足りない場合にRubyのNoMemoryErrorを出したいという欲求が出まして…

Ruby 2.0.0 (RubyInstaller) + DevKit (mingw32 4.7.2) でハマったこと

自前のC拡張 (C++使ってる) をビルドして動くかなー( ^ω^)ワクワク とかやってたんですが見事にはまったので誰かタスケテ なにがあったのか とりあえず環境はこんなの Ruby 2.0.0 (patchlevel 353) RubyInstallerで入れた DevKit (mingw32 4.7.2) RubyInstal…

rbcom (Ruby Command Switcher) 作った(`・ω・´)

これ chiku2gonzalez / rbcom — Bitbucket なんだこれ 昔作った chiku2gonzalez / rbcmd — Bitbucket をC#で作り直しました. さすがに100% Pure Batでのバージョン解析を改良する気にはならなかったね(*ノω・*)テヘとりあえずテキトー感あふれるReadmeしか書い…

Windows7のRuby 1.9.3にRMagickをインストールしてみたわけで

ひっそりとRixmapとかいう似非ビットマップ画像処理ライブラリつくってるわけなんですが、こいつを作ろうと思ったきっかけっていうのは結局PILレベルで楽に使える画像処理ライブラリが見つからなかったから、だったわけです。が、RMagickが使えるのならばそ…

遅ればせながらシェリス様Twitter Botを作り直してました

去年辺りからちょいちょいTwitter Botを新API対応を兼ねて作りなおしてまして、そして3月3日頃*1に置き換えてました。 違いは Google App EngineからAppFogに移動 結果Python製だったのがRuby製に ついでにツイート間隔が8時間毎から6時間毎になりました シ…

Ruby2.0 (RubyInstaller版)で自前のC拡張がビルドできなかった問題について

まず結論から言うと、 RubyのC拡張をC++で書くとハマるぞ-( ゚д゚) C++を使ってさらにC++0xとか使おうとするときは-std=c++0xじゃなくて-std=gnu++0xじゃないとハマるぞ-( ゚д゚) です。 前提として次の環境でした。 Ruby2.0.0p0 (RubyInstaller版 32bit) DevK…

MUGENキャラクターのスケルトンデータを作ってみた

需要不明 (ェとりあえずchiku2gonzalez / 【MUGEN】CharacterSkeleton — Bitbucketに置いておきますね

MUGENのステート定義をステート番号から追いかけるためのtagsファイル生成スクリプト

ステート番号を使っている部分から実際のステート定義を見れたら便利だろうか、などとついった見ながら思ったのでとりあえず作った。 …んだけど、これ便利かなぁ…(´・ω・`)Gistにも置いてみた MUGEN用tagsファイル作成スクリプト。 ステート番号をタグ扱い…

メモ化を使った自作画像処理ライブラリでのメモリ削減試行

Rixmapなんていう画像処理ライブラリ作ってるわけなんですが、Rixmap::Colorクラスという色を表すクラスがメモリ食いなんで、メモ化 (参考:blog.pasberth.com: Ruby: newを再定義してインスタンスをメモ化)とかいうのを使って同じ色は同じオブジェクトを使…

メモ化って初めて知りました

Rixmapなんだけど、その中のカラーオブジェクトはフルカラー画像だと凄まじくメモリを食うことがわかっていたので、C++実装時代からイミュータブルオブジェクトかつ、同じ色は同じオブジェクトにしようとしてたんです。それをRubyでやるいい方法ないかなーっ…

ビットマップ画像ライブラリ (Ruby) を書いた

セルフ車輪の再発明やらかした chiku2gonzalez / Rixmap — Bitbucket いえね、時分のやろうとしてることが Rake使いたい Rakeのタスクとして画像を弄るライブラリが必要 ないので作ろうか だったので、Rubyで実装したほうが早いという結論になったわけです。

PaaSを使ってみた感想的ななにか

えー、ちょいちょいシェリスたんBotをGAEから移設しようとしてまして、とりあえずHerokuとDotCloudに目をつけて試してみたんですよ。 結論から言うと、WindowsだとCygwin必須です。以下愚痴 Herokuの場合 herokuはDotCloudよりは楽でしたね、相対的に。 gem …

PureRubyな画像処理ライブラリってないんですかね

最近DXRubyでゲームエンジン作ることになってます。 いやDXRuby以外でもいいんですがココでちょっとした問題が。 DXRuby (とRuby/SDL) ってもしかしてパレット画像扱えない? より正確にはパレットが差し替えできないっぽい *1。そうなると2Pカラーとか作れ…

mattr_accessorとcattr_accessor

Rubyの記事を検索して出てくるページにですね、モジュールに対するattr_accessorみたいな関数であるmattr_accessorというのがあったのですよ。 で、それを使おうとしたら そんなんしらんわ(´・ω・`) 的なことをRubyインタプリタさんは言ってくるわけですよ…

WindowsでApache2+Mongrel+Redmineをやってやったわー(ヽ'ω`)

シェリス様つくるのになんとなーくタスク管理とかしたかったので再度Redmineを投入してみました*1。 前回はTomcat+JRuby+Redmineな環境でしたが、今回はApache2でやりたかった。そしてすごく嵌ったのである。ぶっちゃけWindows+Apache環境でRedmineなんて考…

IronRubyとIronPythonでのアセンブリの読み込み方法

メモしておかないと忘れそう。特にIronPythonのほう。 IronRubyでの読み込み方 普通にrequireで出来る。 #!ir require 'System.Windows.Forms' require 'System.Drawing' class TestForm < System::Windows::Forms::Form end if __FILE__ == $0 System::Wind…

プロジェクト管理始めました

とりあえずRedmineを使ってのプロジェクト管理をはじめてみました。構成は Redmine on (JRuby on Rails) on Tomcat 6.0 となってます。 使っているのは〜 Webサーバ Tomcat 6.0 バージョン管理 Subversion 1.6 プロジェクト管理 Redmine 0.9.2 Ruby JRuby 1.…

JRuby on Rails on Tomcatならできた

うーん、warblerで普通にwarを作ったやつはTomcatで動くんだけどなー。 GAEでやるとエラーメッセージなしで500になっちゃうんだよなー。 なんとなーくRailsのコントローラが見つかってない気がする。

Google App EngineでRedmineがやりたい

つまりはRedmine on (JRuby on Rails) on GAE/J。 で、Redmin on (JRuby on Rails) までは出来た。が、GAE/Jへ乗せることができなかったorz。一応JRuby on Rails on GAEをやった人がいるので、やりかたはあるのだろうけど*1。 *1:ツール類がウチだとエラー吐…

自分がよく使う言語の例外処理

PHPにtry〜finally構文が存在しないということを知ったのでマジでorz状態になりかけた。例外throwしつつfcloseとかしたかったんだけどなぁ。 てことで自分が使ってる言語の例外処理をメモる。 まずはJava。基本です。 try { // 例外が出るような処理 } catch…

ファイルをBase64にするスクリプト

なんでもはてな記法でシンタックスハイライトができるらしいので、試しにBase64スクリプトを貼り付けてみる Ruby版 #!ruby def encode(file) data = [] data << file.read return data.pack('m') end def decode(str, file = nil) data = str.unpack('m')[0]…