RBC勉強会で組み込みRuby

25日土曜日に福岡Rubyコンテンツセンターで久しぶりのRBCの勉強会が開かれました。福岡CSKさんのご協力で開発中の製品を使わせて頂きました。 http://enzi.cc/この製品の説明は上のサイトにお任せするとして、僕個人的にはハードウェアを触るのは20年ぶりで…

schema_comments-0.2.0 リリース

schema_comments-0.2.0ーalpha5 から9ヶ月も過ぎてしまいましたが、リリースしました。 https://rubygems.org/gems/schema_comments基本的な機能は変わってませんが、MySQL用のスキーマの出力が変わっています。もし前の方が良い、という方がいたらご連絡くだ…

[ruby] 福岡Ruby会議01

行ってきました、福岡Ruby会議01。本当すばらしいイベントでした。まとめはこちらですね。 - 主催者 @Spring_MT のブログ http://spring-mt.tumblr.com/post/37018290719/ruby-01 - @ayato_p のまとめ http://togetter.com/li/416276 僕はあんまり皆が取り上…

忙しさを言い訳にしてなかなか外に行けない病をこじらせてたakmです。リハビリの一環でブログを久しぶりに書きますが、久しぶりすぎて緊張しています。よろしくお願いします。

linecache19 を headに入れるのは大変

rails_adminのテストを動かそうと思ってbundle installしたらエラーになった。 Installing linecache19 (0.5.12) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. (中略) Requesting http://ftp…

一番分かり易かったCAP定理の説明

CAPを理解する最も簡単な方法は分割の両側にひとつずつノードがある場合を考えることです。片方のノードだけ状態を更新できるようにすると、2つのノードに一貫性がなくなります。つまり、Cが失われます。一貫性を維持しようとすれば、一方のノードは利用でき…

rubyでEXCEL

もちろんWin32 OLEとかを使う方法もあるけど、それ以外にもいろいろライブラリはある。 https://rubygems.org/search?utf8=%E2%9C%93&query=excel先頭のparseexcelは今はspreadsheetになっている。 gem xlsx? 書き込み? 備考 spreadsheet NG OK 読み書きで…

Infobar C01

ドライバのインストールにちょっと躓いたのでメモ。 http://oyasis.com/articles/518

check_dependencies

古い作り方のまんまになっているgem(rubeus)をbundlerを使う形にしようとして、まずGemfileを作ってrakeしたらこんなエラーが。 $ rake rake aborted! Don't know how to build task 'check_dependencies'ぐぐってもよく分からないのでjewelerのソースコード…

[java][ruby] JRubyからJavaのHttpClientを使う

今日、railsで作ってるサーバへの疎通確認をしてもらってたんですが、サーバとクライアントのどちらに問題があるのかわからなかったので、問題を切り分けるためにクライアント側で使うライブラリでちゃんとアクセスできるかどうか確認することにしました。ク…

pushしちゃったコミットのコメントを直す方法

git

結論。そのリポジトリは捨てて作り直そう。方法。git filter-branchやgit rebase -i (のreword)などでコメントを変更することはできるけど、そうすると変更されたコメントの新しいコミットが作られるだけで古いコメントのコミットも残る。この古いコメントの…

明日は勉強会やります

rbc

「イケテルRails3.1勉強会 RailsGuides から Routing 周りをみてみよう」と題してREST周りの話をします。RailsGuidesを使ったハンズオンとかもやります。お申し込みはこちら http://atnd.org/events/24169

developmentを実現したいのでコードを読んでみる#5

昨日ログを出力するように変更したrailsを使って、ほとんど素のrails3のアプリでサーバの起動、GETリクエストx3、サーバの停止までにActionDispatch::Reloaderの各メソッドがどのように呼びだされるのか、developmentとproductionの場合それぞれについて出力…

developmentを実現したいのでコードを読んでみる#4

だんだん、ソースコードを読むだけではしんどくなってきたので、ちょっとずるをします。先日rails new --devの使い方を書きましたが、 http://d.hatena.ne.jp/akm/20120110#1326216516railsの調査用のコードを入れまくって、ブログに書こうとおもって、fork…

rails new --devの使い方

$ git clone https://github.com/rails/rails.git $ cd rails/ $ git branch -r $ git checkout 3-2-stable $ cd .. $ ruby rails/railties/bin/rails new rails3_20120110 --devこれでcloneしたリポジトリの(3-2-stableブランチ)を参照するrailsアプリが生…

developmentを実現したいのでコードを読んでみる#3

昨日は、ActionDispatch::Reloader で使われている ActiveSupport::Callbacks のドキュメントを読みました。今日はそれが ActionDispatch::Reloader でどう使われているのかを追いかけたいと思います。 https://github.com/rails/rails/blob/3-1-stable/acti…

developmentを実現したいのでコードを読んでみる#2

昨日はRails::Applicationの継承関係をはっきりさせて、初期化のあたりをどうなっているのかRails Guideのドキュメントをみつけてわーいってところまで行きました。 Rails::Railtie <|---- Rails::Engine <|---- Rails::Applicationhttp://guides.rubyonrail…

developmentを実現したいのでコードを読んでみる#1

Railsのdevelopmentモードのように特定のディレクトリ以下のソースコードを適切なタイミングで読み直す機能を作りたいのですが、実際Railsって何やっているのか分からんので調べます。 cache_classes railsアプリの config/environments/development.rb には…

イケテルOSSソースコードリーディング勉強会

明日はグローバルブレインズさんが公開したプロダクトWaRKSのソースコードリーディングですよ。 http://atnd.org/events/22038githubで公開されているので、 僕もTravis CIの勉強がてらpull requestを送ってみました。 https://github.com/akm/WaRKS明日の13…

Rails3.1アプリの本番サーバにJSのエンジンを入れない方法

rails-3.1 いえーい!っていうわけでついついcoffee scriptを使ったんだけど、ステージング環境のRedhatにデプロイしてみたら、画面上で動くはずのJSが動かない。 見てみるとapplication.jsの中身が throw Error("ExecJS::RuntimeUnavailable: Could not fin…

Travis CIをちゃんと使ってみた

以下の2つのgemにちょっとした変更を加えました。 https://github.com/akm/selectable_attr https://github.com/akm/selectable_attr_railsそれに伴って、どんな環境で動くのかはっきりさせようと思い、昔ちらっと記事 http://mochizblog.heroku.com/21 を…

I18n.translateのデフォルトの処理を変更したい

I18nモジュールのtranslateメソッドは、訳が見つからない場合 I18n.t(:foo) #=> "translation missing: en.foo" こんな感じの文字列を返します。でもそんなん欲しくない場合とかに、i18n-0.6.0では、それぞれのメソッド呼び出しごとに:exception_handlerオプ…

Rubyは否定も演算子オーバーロードできる

RUBY_DESCRIPTION #=> "ruby 1.9.2p274 (2011-06-06 revision 31932) [x86_64-darwin10.7.0]" ! :foo #=> false :foo.! #=> false Symbol.class_eval{ def !; :"!#{self}"; end; } #=> nil :foo.! #=> :"!foo" ! :foo #=> :"!foo"

cucumberでモデル名として日本語も使えるようにpickleを拡張してみた

Railscasts #186 で紹介されているpickleが素晴らしい http://railscasts.com/episodes/186-pickle-with-cucumberこんな風にモデルのデータを定義できたりする https://github.com/akm/pickle_sandbox/blob/master/features/display_products.feature Featur…

CentOS 5.5 でデーモン終了時のスクリプト

/etc/rc0.d/K??xx とか /etc/rc6.d/K??xxx で終了時に処理を実行させたい場合、単にsymlinkを貼るだけではだめで、デーモン起動時に /var/lock/subsys/ に デーモン名のファイルをtouchしないといけないみたい。詳しくは /etc/rc.d/rc にその辺がかいてある…

CentOS 5.5 に ruby 1.9.2-p180 とか

VMware Fusion2で RedHat Enterprise Linux 5(64bit) を選んでisoからインストール。 ユーザー作ってsudoで権限を与えて以下のコマンド実行。 3 sudo yum groupinstall 'Development Tools' 4 yum search openssl 5 sudo yum install readline-devel openssl…

地震関係のサイト

Google Crisis Response http://goo.gl/saigai 警報・注意報、災害掲示板、避難所情報、交通機関の運行状況、計画停電などのライフライン、Person Finder、日本赤十字への募金など 東北沖地震 震災情報サイト sinsai.info http://www.sinsai.info/ushahidi/ …

最近実感したこと

疲れれば疲れるほどケアレスミスは増え効率は悪くなる。睡眠重要。 プロセスが終了する際はゾンビプロセスとなることがあるが、超短い時間なので手でコマンドを打ったタイミングではなかなか見えない。 自分(達)で作ったバグへの対策は、ぐぐっても見つから…

Sinatraでファイルのアップロード

今日のメモ httpclientでアップロード http://q.hatena.ne.jp/1214807688アップロードを受け付ける書き方 http://yusukezzz.net/blog/archives/1388アップロードのテストの書き方 https://github.com/brynary/rack-test/blob/master/spec/rack/test/multipar…