第29回 Ruby/Rails勉強会@関西
投稿者 okkez
行ってきました。
ちょっと睡眠不足気味だったので各セッションの記憶はあまりなかったりします。
なので今回は行ったという記録のみ残しておきます。
投稿者 okkez
行ってきました。
ちょっと睡眠不足気味だったので各セッションの記憶はあまりなかったりします。
なので今回は行ったという記録のみ残しておきます。
投稿者 okkez
日本Rubyの会 公式Wiki - 第27回 Ruby/Rails勉強会@関西
もうすぐ開催されます。
今回はかずひこさんも久しぶりに登壇しますので、すごく楽しみです。
お時間のある方は、上記URIに申し込み方法が書いてあるので、そちらを参照の上、参加申し込みしてくださいね。
投稿者 okkez
Overview — Phusion Passenger (a.k.a. mod_rails)
思ったより簡単だったのでちょっとだけ手順を書いておく。
上記はインストールできている and 動作確認できている前提で。 まずは、Passenger をインストール。
sudo gem install passenger
で以下のコマンドを実行。
passenger-install-apache2-module
そうすると対話型っぽい感じになって色々と親切に教えてくれる。足りないライブラリとそれらの入手方法とか。 個人的にはもう少し不親切でもいいような気がした。
このコマンドではApacheのモジュールをビルドするので Windows ではかなり苦労するであろう事が予想される。(調べてないけど)
最後に、httpd.conf に書く設定内容が表示されるのでそれをコピペして Apache を再起動すればOK。 各アプリの設定は後で書く。
もう一つのインストール方法でやる場合は、ソースを展開したディレクトリの下にビルドしてインストールされてしまうので、ちょっと気持ち悪い。手でコピーすればいいけどコマンドが動的に生成されるっぽいのでその辺の調整が必要。
### Redmine を使う
サブドメインが使える場合は以下でOK。
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /var/webapps/redmine/public
</VirtualHost>サブドメインが使えない場合(素朴なイントラネットなど)。
ln -s /var/webapps/redmine/public /var/www/html/redmine
のようにシンボリックリンクを DocumentRoot 以下に用意する。 で、以下の内容を httpd.conf を追加する。
DocumentRoot /var/www/html
RailsBaseURI /redmineサブドメインが使える場合は NameBase の VirtualHost でいくらでもアプリケーションを置くことができるが、そうでない場合は以下のようにすればいけるかもしれない。(まだ試してない)
RailsBaseURI /redmine1 RailsBaseURI /redmine2
考えてみたけど VirtualHost を使用せずに一つのアプリに別々のRailsEnv を設置する方法がわからない。 上のやり方だと、一つの環境しか設定できないような気がするし。
以上の設定内容は全部、 Passenger のサイトに書いてあった。最初からドキュメントが揃っているのは素晴らしい!
投稿者 okkez
ざっとこんなもんかな。時間ある時に勝手に添削する。
# 添削希望のものだけね。
趣味も大分入るけど以下のような感じで添削しました。
kanasan's 100マス計算添削後#! /usr/bin/ruby OPERATORS = %w[+ - * / %] DIGIT = 2 SEPARATOR = " " VERTICAL_LINE = "|" HORIZONTAL_LINE = "-" CROSS_LINE = "+" operator = ARGV[0].to_s unless OPERATORS.include?(operator) puts "wrong parameter: operator is only +-*/%" exit 1 end def display100Math(xs, ys, operator, display_answer) print SEPARATOR * (DIGIT - operator.size) print operator print SEPARATOR print VERTICAL_LINE xs.to_a.each do |x| print SEPARATOR print SEPARATOR * (DIGIT - x.to_s.size) print x end puts "" print HORIZONTAL_LINE * DIGIT print HORIZONTAL_LINE print CROSS_LINE xs.size.times do print HORIZONTAL_LINE print HORIZONTAL_LINE * DIGIT end puts "" ys.each do |y| print SEPARATOR * (DIGIT - y.to_s.size) print y print SEPARATOR print VERTICAL_LINE if display_answer xs.each do |x| answer = y.send(operator, x) print SEPARATOR print SEPARATOR * (DIGIT - answer.to_s.size) print answer end end puts "" end end xs = (1..9).sort_by{rand} ys = (1..9).sort_by{rand} display100Math(xs, ys, operator, false) puts "" display100Math(xs, ys, operator, true)
やらなかったこと * 100マス化 * 今のは 81 マスしかない * 短く簡潔にすること * やっちゃうと大改造になるため(元が残らない)
同じく趣味が入るけどこんな感じ。
適切に仕事を分割することでよりよくなったはず。
sixeight's 100 マス計算添削後class Hyakumasu def initialize @op = [:+, :-, :*, :/][rand(4)] @row = (0..9).sort_by{ rand } @col = (0..9).sort_by{ rand } end def make_matrix header = "#{@op} | " + @col.join(' ') + "\n--|" + "---" * @col.length @row.inject(header){|r, v| r + "\n#{v} |" + (block_given? ? yield(v) : '') } end def display puts make_matrix puts puts make_matrix{|v| @row.map {|i| "%3d" %((@op == :/ && i.zero?) ? 0 : v.send(@op, i)) }.join } end end Hyakumasu.new.display
投稿者 okkez
いつも通りみんなの集合時間より早く行って簡単な打ち合わせ。
日本Rubyの会 公式Wiki - 第23回 Ruby/Rails勉強会@関西
よくも悪くも講義?って感じだった。 最後の方の内容が面白かっただけに尻切れとんぼっぽくなったのが残念。
やっぱり 30min ではわからなかった Monad
参加者大半おいてけぼり??
merb, capmping, ramaze の紹介。前二つはストヤン経由で聞いてたけど結局試してなくてごめんなさい。
今度、試す。
おもしろかった。久しぶりに燃えるセッションだった。 # って自分こんなにリフレクション好きだったっけ?
すごく勉強になった。要復習。
これくらいの濃さのセッションが毎回あるといいのだけど。
自分のセッション。
初級者レッスンと言いつつ、るりまの宣伝乙。 演習問題もリファレンスを見てやってもらう前提だったのでこんなものかと。
演習問題の最後に、使うかもしれないメソッド一覧を載せたのは良かったらしい。Keep
そう言えば、自分が発表する場合の時間の読み方がかなり正確になってきた気がする。
投稿者 okkez
Ruby には暦週を求める Date#cweek というメソッドがあるが、こいつは月曜日スタートで日曜日で終わる。
でも、たまに日曜日から土曜日での暦週が欲しくなることがある。というか今日必要になった。
なので作ってみた。
class Date
def myweek
if wday == 0
(self + 3).cweek
# cweek + 1 でいいかも。。。
else
cweek
end
end
end
とりあえず試した範囲では上手く動いてた。
投稿者 okkez
Test::Unit版 と同じことを RSpec でやってみた。
第 20 回 Ruby 勉強会@関西 に解答例(answer.pdf)がアップされていますがそれの捕捉説明的なものです。前回と同様、配布資料(print.pdf)が手元にある前提で進めます。
Test::Unit 版とは書いた時期が違うので微妙に実装が違っていたりします。
ちなみに RSpec を使って書くのは初めてです。RSpec についてはるびまの記事を参照してください。
なお、stack_spec.rb は、そのとき注目している機能に関係のある部分のみ掲載します。
続きを読む...投稿者 okkez
行ってきた。
内容は置いといて、初級者レッスンの解答例(answer.pdf)に補足説明を入れておく。 資料は上記サイトでダウンロードしてくださいな。
以下では、配布資料(print.pdf)が手元にあることを前提に進めていきます。