Create  FrontPage  Index  Search  Changes  Login

Ruby/Rails勉強会@関西-18

第18回 Ruby/Rails勉強会@関西(運営:Ruby関西

勉強会

日時
2007 年 8 月 11 日 (土) 13:00〜17:30
場所
大阪国際大学枚方キャンパス 4-302室
アクセス
http://www.oiu.ac.jp/access/index.htm
周辺地図
http://www.oiu.ac.jp/access/hrkt.htm
費用
学生の方 500円・男性社会人の方1000円(予定:会場代、講師の交通費、配布物の印刷代等の実費負担です)

プログラム(順不同)

「Rubyの書き方のお作法?(仮題)」 by 中田伸悦さん

セッション概要
RubyKaigi2007の折、スタッフの無理やりの交渉にご快諾いただき、きていただくことになりました。
中田さんなりのRubyの書き方の作法等についてお聞かせいただくことにより
これからRubyをはじめたい人や初心者の方、もしくは普段使ってる方でも
こんな手法があったのだというのが聞きたい!!という要望を出させていただいたのですが、
どんなお話をしていただけるのかそれはきてみてのお楽しみです。

「MyGameとゲームプログラミング」 by 山本 団さん

セッション概要
ゲームプログラミングを題材にしたRuby初心者向け講座です。シンプルなゲームプログラミング用ライブラリであるMyGameの扱い方を紹介しながら、Rubyを使ったゲームプログラミングについて紹介します。
発表資料
http://dgames.jp/dan/?date=20070825

「Rails初心者向けレッスン」 by 南木晴雄さん

セッション概要
OSC2007-Kansaiでやったハンズオンセミナーの長いバージョンの予定です。

「nginxの話」 by Stoyan Zhekovさん

セッション概要
Rails Deployment with NginX, the quest for the perfect Rails stack
発表資料
Slides in PDF format >> SlideShare
アイコンが一杯並んでる行の Download File というリンクからファイルを取得してください。

「Internationalization in Ruby on Rails」 by 氏久達博さん

セッション概要
Railsの国際化についての実用的なやり方をお話しします。
今回はふつうの話ではなく、普通の話です。普通の話をするのは初めてかもしれないです…。
(セッション最後におまけがあるかも...!)
発表資料
I35s >> SlideShare
アイコンが一杯並んでる行の Download File というリンクからファイルを取得してください。

PatchService 紹介」

(お名前を失念してしまいましたので link だけ貼っておきます。どなたか修正お願いします。)

懇親会

日時
2007 年 8 月 11 日 (土) 19:00〜(予定)
場所
くらわんか (http://r.gnavi.co.jp/k966600/)
会費
およそ社会人:学生 = 2:1 の比率でご負担ください。前回は 3500 円、2500 円でした。
締切
2007 年 8 月 10 日 (金) 17:00 まで

ログ

「Rubyの書き方のお作法?(仮題)」 by 中田伸悦さん

ロガー: okkez

マインドマップでまとめてみました。 log20070811.png

自己紹介
  • 流しのプログラマ
  • 日本Rubyの会会員
  • CRubyのコミッタ
  • あまりRailsに縁がない
作法/無作法
  • 作法って?
    • 保守性?
    • 美しく見えること?
      • Rubyが美しいかどうかは置いとく
      • Rubyっぽく見えること
  • 無作法
    • Rubyっぽくない
    • 他の言語に見えるコード
    • Rubyには苦手な書き方
Rubyの特徴
  • オブジェクト指向
  • ブロック
  • 動的多態性
    • duck typing
  • メタプログラミングなどなど
無作法
  • プログラマにやさしくない
    • NOT DRY!
  • 相手のクラスによって場合分け
    • C++,Javaではoverloading
      • case when
      • kind_of?
      • 知らない相手には対応できない
  • クラスのためのクラス
    • どこかのデザインパターンの教科書を まるごとコピーしたようなコード
      • REXMLとか
    • デザインパターン(GoFの)自体が対象言語の 特性に依存している
      • GoFがJavaを対象にしている
  • byte単位やbit単位での操作
    • Rubyっぽい書き方はあるよね。
    • 細かい処理が多いと辛い
  • 無作法の極み
    • いっぱい
作法
  • ブロック活用
    • IO, Synclonize
  • メタプログラミング
    • attr_accessor など
  • duck typing
    • each
      • 必要なデータを順番にかえす
  • 既に同じようなクラスやメソッドがないか?
    • 大クラス主義
      • String
      • Array -> キュー, スタック
  • 特異メソッドでもいいんだよ
  • 正規表現
  • StringScanner
まとめ
  • eval ば最後の武器
  • 中庸
    • やりすぎるな
      • メソッド名はよく考えよう
質問
  • byte単位、bit単位の処理は普通pack,uppack?
    • 対象領域による
      • 文字列の処理は正規表現
      • バイナリの処理はpack,unpack
  • Rubyは関数型言語だと言っている人がいるけどどうですか?
    • 別にいいんじゃない?
    • そういう使い方をしている人からのフィードバックも大事
    • まつもとさんは関数型言語わからんといっているので そういう方向に進むことはないと思います。
  • リテラルの挙動を変えたいときはどのへんをいじればいい?
    • それは二箇所ある
      • parse.y を弄ってそういうノードを作るようにする
      • eval.c, vm.c のリテラルの挙動をいじる
      • Ruby レベルでは無理
      • リテラルでは initialize は呼ばれない

MyGameとゲームプログラミング by だんさん

ロガー:Tagawa

ゲームのデモ
  • ノベルゲームやアクションゲームでも簡単に作成できる。
  • Rubyで書いているとは信じられないほどサクサク動く。
MyGameの説明
  • 600行ぐらいの小さいライブラリ。Ruby/SDLのラッパーライブラリ。
  • 簡単で小さく。初心者にも使い易いライブラリを目指している。
  • 凝ったことをしなければ柔軟かつ簡単に書ける。
  • オブジェクト指向に則ったゲームの作成が出来る。
  • 視覚的なフィードバックをかけることが出来る。
  • 公式サイト

http://dgames.jp/ja/projects/mygame/

インストール手順
  • 必要なもの
  1. Ruby
  2. Ruby/SDL(Rubyのゲーム用ライブラリ)
  3. MyGame
  • Windowsは以下のようにもっと簡単にインストール出来る。
  1. ActiveScriptRuby
  2. MyGame(Ruby/SDL同梱版)
  3. install_mygame.rb
ソースコードの紹介
  • とにかくウィンドウを描画するだけのプログラム

以下の一行を書くだけ。

require 'mygame/boot'
  • 画像を描画する場合

Ruby/SDLで書くとなると結構書かないといけない。

require 'mygame/boot'

Image.render('sample.png')
    • ESCキーが押されるまで描画

require 'mygame/boot'

メインループ 終了はESCを押す

main_loop do
  image.render
end
    • 'A'キーが押されると画像を表示する。
require 'mygame/boot'

main_loop do
  if key_pressed?(Key:A)
    image.render
  end
end

ループの周期は1/60secこの値はコンシューマゲームから来ている値らしい。

    • 画像を移動させる(1ピクセルずつ移動させる)
require 'mygame/boot'

main_loop do
  image.render
  image.x += 1
end
    • 画像オブジェクトの使いかたは二つの方法がある。
      • クラスメソッドを使う方法
Image.render('sample.png', :x => 50, :y => 100)
      • 画像オブジェクトを作る方法
image = Image.new('sample.png')
image.x = 100
image.y = 50
image.render

画像オブジェクトを使った方が良い。


  • キー入力の検出

インタラクティブ性が得られる

    • 画像をカーソルキーで動かす。
require 'mygame/boot'

main_loop do
  key_pressed?(Key::RIGHT)
  key_pressed?(Key::LEFT)
  key_pressed?(Key::UP)
  key_pressed?(Key::DOWN)
end
image.render
    • 押した瞬間だけ処理
if new key_pressed?(Key::A)
  image.render
end
質問事項
  • ゲーム向けライブラリではMiyakoがあるが、それとの差別化は?
    • MyGameとMiyakoは対象が違う。MyGameはあくまで初心者向け。
  • Wiiリモコンを直接処理できるか?
    • Wiiは直接には処理できない。あくまでRuby/SDLの範囲でのみ動かすことが出来る。

「nginxの話」 by Stoyan Zhekovさん

ロガー: 氏久達博

自己紹介
  • ブルガリア人。
  • 子供は男三人。かわいい!
Deploying Rails
  • 最近は難しい
    • 自分でdeployしないとmoney matters...

1. Apache+CGI 2. Apache+FastCGI 3. Lighttpd+FastCGI 4. Lighttpd+SCGI 5. Lighttpd 6. Mongrel ...

Mongrel
  • Server and Library, by Zed Shaw
  • FastCGIは落ちてるか分かりにくい
  • MonrelはRails専用というわけではない。Merbとか
  • mongrel_cluster + load balancerしなあかん
load balancers
  • pen, pound, balance, HAproxy, LiteSpeed Load Balancer($1299)
  • Static Requests (jsとか)
  • Mongrelだけじゃなくて、Frntend Web Server要るよね。
  • Apache入れるとVPSでメモリ死亡
  • Lighttpdはメモリリークの問題
  • Litespeedは良いけど300リクエストのlimit
NginX
  • キタ━━━━(゚∀゚)━━━━ッ!!
  • ロシアの20%はNginXでできてる。
  • bad
    • 一人プロジェクトなので作者が病気になったら終わり
    • しかもmailing listがロシア語!
  • good
    • Good performance, small memory footprint, no memory leaks!
    • FLV stremingもできる
  • 各OSに最適化されてる
  • kill -USR2でbinary reload! これはすごい
  • nginxのsampleのconfig fileを作るgemがある
おもろいもの
  • Merb instead of Rails
Q&A
  • Windowsサーバ用は?
    • そもそもVPS用にできてる。メモリ問題とか。
    • lightyに対して作られたようなもの
    • もしお金あったらlitespeed
  • Keepaliveを切るとかhttp0にするとかサーバ応答時間死亡判定設定とか、設定項目
    • お金があったらlitespeedのバランサ買って! 全部できるよ
    • NginXのバランサはそんなに良くない。けど、落ちない!

「Internationalization in Ruby on Rails」 by 氏久さん

ロガー:

これを使えば、日本語化、英語化は簡単ですよ
Ruby-getText
  • author: Masao Mutoh
  • install:
    • sudo gem install gettext
作業手順は簡単
  1. vim config/environment.rb
  2. vim app/controllers/application.rb
  3. vim Rakefile
  4. rake updatepo
  5. (make po files from pot)
  6. rake makemo
app(触る)→pot file(自動生成) →po files(ja,en...触る)→mo file(自動生成)
デモは分かりやすかったけれど、途中で中断。。

コメント

  • 2007-08-19 (日) 20:12:36 ひがき : なんきさんがハンズオンの前にやった Ruby 言語の紹介はコンパクトにまとまっていて良かったですね。あれを志村さんの豆本にして配ったら喜ばれないかなぁ。
  • 2008-01-11 (Fri) 00:34:56 pqnghmfz : swICqlsUwUEBd
(comment plugin is disabled).

反応リンク集

TrackBack URL: (trackback is currently disabled because of numerous SPAMs)

第18回 Ruby/Rails勉強会@関西の発表資料です。 RabbitのデータがようやくPDF化できました。本当はslideshareにアップしたかったのですが、なぜかこのPDFをアップロードすると化けるのでPDFを直接公開します。

On 11-August-2007 there was a Ruby/Rails meeting in Hirakata. For the first time Osaka meeting is so far from Osaka. About 1.5 hour with train. It was soooooo hot walking from the station to the un..

Ruby/Rails勉強会@関西-18で発表してきました。internationalization in ruby on rails、長いので略してi35sというお題で発表してきまし

毎月恒例の勉強会に行ってきました。 初心者向け〜上級者向け、果ては「ライバルはYahoo!、MSNなり!」という 強者まで全て網羅しているという、大変盛りだくさんな勉強会でした。 懇親会では、うだ〜さんの楽器「うだー」が注目の的でした。 現在世界で10台しかない楽器だ

会場設備とノートPCの持ち込みについて

  • 各座席にはPCが1台ずつありますので、ノートPCは持ってこなくても大丈夫ですが、持ってきていただいてももちろんOKです。
  • 持ち込みPCのネット接続にはLANケーブル持参必須ですが、当日ネット接続が必須というわけではありません。
  • 当日,ファイルの配布、レッスン内容の持ち帰りをご希望の方は, USB メモリをご持参ください。
  • ケーブルタップ。二股等。(PCを持ってこられる方は積極的にお持ち下さい。電源コンセントは大量に足りないと予想されるので、多めに持ってきて下さい)

名札について

  • 初参加の方々もいらっしゃいますので、名札をお持ちの方は是非/持参してください。もちろん名前を大きく書いて。通称もあり。

ロガーの募集

バス運行ダイヤ

枚方市駅北口発

枚方市駅南口発

長尾駅発

長尾駅からは徒歩でも行けます (約15分、上り坂)。学内駐車場も利用できるので、車でお越しいただいても大丈夫です。

Last modified:2008/01/11 00:34:56
Keyword(s):
References:[Ruby勉強会@関西]
This page is frozen.