なんとなく日記

Everyday studying...

拡張ライブラリチュートリアルをやってみる#1

なんかlibyamlを移植することになったらしいので,ちょっとやってみる. 参考:http://ruby.gfd-dennou.org/tutorial/ruby-ext/ ##「Hello, world」を表示するために ###処理内容を記述したファイル まずライブラリ本体.処理内容を C 言語で記述したファイル. hello.c #include <stdio.h> void hello() { printf("Hello, world!\n"); } ###C と Ruby を繋ぐファイル 次に,ライブラリを呼出実行できるようにする,Ruby のモジュールを作成するための C 言語で記述したファイル. test1.c #include "ruby.h" void hello(); VALUE wrap_hello(self) VALUE self; { hello(); return Qnil; } void Init_test() { VALUE module; module = rb_define_module("Test"); rb_define_module_function(module, "hello", wrap_hello, 0); } ここで ruby.h には繋ぐための仕組みなどが記述されているらしいが,この段階ではまだ見てない.VALUE は構造体で,Ruby のオブジェクトを保存できる. ###処理の流れ Rubyが test ライブラリを読み込む require 'test' Init_test を実行する rb_define_module で Test モジュールを登録する.戻り値は VALUE 型構造体. VALUE rb_define_module(const char *name); rb_define_module_function で module(つまり Test モジュール)に hello メソッドを登録する.wrap_hello は関数ポインタで,引数の数は 0 個.self という VALUE 型構造体が第一引数として渡されるらしい. void rb_define_module_function(VALUE module, const char *name, VALUE (*func)(), int argc); warp_hello では hello が実行され,Qnil(Ruby の nil)が返される. ###コンパイルするするために Makefile を作成するために,extconf.

プログラミング初心者に Ruby を教える実験

うちの奥さんが「Ruby勉強したいっ!」というので,なんかいい本ないかと探してこれにしました.目指すは「土日は夫婦でプログラミング」です. みるみるRubyがわかる本 著者: 掌田 津耶乃 出版日: 2008-03-24 出版社/メーカー: 秀和システム カテゴリ: Book ああっ女神さまっ(38) (アフタヌーンKC) 著者: 藤島 康介 出版日: 2008-12-22 出版社/メーカー: 講談社 カテゴリ: Book そんな奴ァいねえ!!(14) (ワイドKC) 著者: 駒井 悠 出版日: 2008-12-22 出版社/メーカー: 講談社 カテゴリ: Book 少年ガンガン 2009年 01月号 [雑誌] 著者: 出版日: 2008-12-12 出版社/メーカー: スクウェア・エニックス カテゴリ: Book

Testの中でflashを検査したいとき

flash[:notice] = "おーけーです" などとしたときに,これをテスト側で assert_equal flash[notice], "おーけーです" としてもエラーになる場合は, flash = @response.session.data["flash"] などとして取得可能.

amazon-ecsでISBN検索するには

response = Amazon::Ecs.item_lookup({:IdType => "ISBN", :SearchIndex => "Books"}) URL的には IdType=ISBN&SearchIndex=Books&ItemID=XXXXISBNXXXXX として検索できる.

いつも思い出す言葉

中高生のころ聞いていたECHOESのこのフレーズを最近よく思い出す. 年を一つ取るたび 忘れることがある 純粋という名前の あのころの自分を STOP STOP STOP 愛と希望は節約できない STOP STOP STOP まだ間に合うさ夢は積み立てるな (This is) Radio "K.I.D.S" by ECHOES そう節約したって始まらない.積み立てても増えるわけじゃない.ちゃんと使わないと埋もれていくだけ.

はてなブックマークのノベルティセット欲しい!

はてなブックマークのノベルティセット欲しい! なんとなく書いてみました.お気に入り機能はまだ使ってないなー.というか,ブックマークするだけで調べたりあんまりしてないのが・・・・

LT「rails-footnotesの紹介」の資料

slideshareで共有することを前提とすると,高橋メソッドとかがいいのかなぁと思いつつ,いろいろ試行錯誤しての初アップです. rails-footnotesView SlideShare presentation or Upload your own. (categories: plugin rails)

楽天テクノロジーカンファレンス2008

無線LANはFON提供 タリーズコーヒーで1杯無料 ##オープニングセッション 楽天10周年を機に技術的にはオープンに.技術コミュニティに楽天も含めてもらう方向に. ##基調講演 グローバルな時代のエンジニアライフ 開かれたネットワークの存在が,情報隠蔽を無意味なものにしている エンジニアとしてどう生きるかは自分で決めようね by Matz グローバル化した際に最後に残るのが,言語と文化 情報格差は位置エネルギーを発生させるので,そこからエネルギーを取り出すことができる タイムマシンビジネス リスクテーク = チャレンジ チャレンジしないこと自体がリスクになるんじゃないか 自分の位置エネルギーを上げるために ラストマン戦略 「この人に聞けば」という人になること 重要なことはコネクション 本人がすべてを知ってる必要はなく,適切な答えにたどり着くまでの道筋をしっていること 勉強会で重要なことは,誰かにあってコネクションを得ること 安住の地を捨て去り,差別化と価値創造のために,位置エネルギーが高い場所へと一歩踏み出すチャレンジが必要 ##Ride on Rubinnovaton 福岡が熱いようだ ##カーネル読書会番外編 CentOS コミュニティー主導のエンタープライズディストリビューション 長期間サポート CentOS Plus/Extra リポジトリにDRDBとかあるらしい Debian FreeBSDカーネルなんてのもあるらしい Fedora Gentoo 最近までインストーラすらなく,fdisk/tarball展開とか Linux の勉強になるらしい Momonga Linux OpenSUSE Slax-ja Ubuntu Vine なぜたくさんディストリビューションがあるのか

セキュリティの設定とか

やはりそのままではまずいので,ここを参考に設定.基本的はそのままで,ポート番号を変更しました.次は Postfix/NTPだな,先は長い.