ラベル 勉強会 の投稿を表示しています。 すべての投稿を表示
ラベル 勉強会 の投稿を表示しています。 すべての投稿を表示

2015年3月3日火曜日

kawasaki.rb でのruby勉強会(2)



前回のブログ「kawasaki.rb でのruby勉強会(1)」の続きです。

後半のセッションでは、rubyがらみの3つのトークがありました。

1. Gemに含まれるファイル指定


Gemに含まれるファイル指定の方法が、Gemごとに大きく異なるという話。

rubyではたくさんのGemが使われています。たとえば ”rake”、”rails”、”bootstrap-xxxx”、”nokogiri” などです。

これらのGemファイルを生成するときに、Gemに含むファイルを指定するのが、gemspecファイルの中の

  s.files = xxxxx

というラインです。これらはRubyという言語の自由さというか、緩い縛りというか、そのようなものを反映してか、書き方がかなりばらついています。

たとえば、”rack” の場合、

s.files = Dir['{bin/*,contrib/*,example/*,lib/**/*,test/**/*}'] + %w(COPYING KNOWN-ISSUES rack.gemspec Rakefile ....

などとDir を使っていています。"json" のgem では

s.files = ["./tests/test_json.rb", "./tests/test_json_addition.rb", ...

など115のファイルがベタ書きされています。

詳しくは、発表者のブログを参照されたし。


2. Puma上でActiveRecordのエラーに困った話


Rubyで使われるアプリケーションサーバを、UnicornからPumaに変更して、ActiveRecordのエラーで苦労している話でした。

Unicornはプロセスベースで、スロークライアントではI/O が占有されるのでクライアントの数が問題になりやすい。これを回避するため I/O を占有しないスレッドベースのPumaに変更したそうです。

しかし、ActiveRecordのコネクションループ数が5なので、それを超えるスレッドが来るとエラーとなるとの話でした。

なるほど、実際にサービスをしているサーバではクライアントの数やスピードについて気を配らないといけないのですね。勉強になりました。


3. 川崎ruby会議のアンケート結果


今年の1月17日に開かれた川崎ruby会議で、参加者に配られたアンケートを回収、集計した結果の発表でした。

参加者への「普段使っている言語は何か?」という問いにたいして”ruby”が37%のダントツトップでした。ruby会議なので、1番でなかったらちょっと困るかも。2番、3番がそれぞれJava と JavaScript で約11%ずつでした。



他の質問であったのは、「Rubyのコードを何行書いたのか」という質問でしたが、書いたことない人もいる一方、答えに1万行以上という答えや「パン」というのがありました。

「パン」とは漫画のジョジョの奇妙な冒険から来ている言葉だそうです。

昨今では、プログラミングは短く書いて効率を上げるのが良いとされているので、「たくさん書きすぎで覚えていない」と書くより「パン」と書いた方が、できるプログラマーっぽくていいのかもしれません。

他にもいろいろな質問の集計結果が紹介されていました。



Kawasaki.rbはとても勉強になりました。ありがとうございました。


ブログランキングに参加しています。クリックをお願いします。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
にほんブログ村 IT技術ブログ Webサイト構築へ

2015年2月26日木曜日

kawasaki.rb でのruby勉強会(1)


kawasaki.rb


昨日は、 Rubyの勉強とITエンジニアがどのようなことを知識として蓄えているのかを知るために、kawasaki.rb に行ってきました。

kawasaki.rbでは、月に一度、JRの川崎駅の近くのミューザ川崎 セントラルタワーで、rubyを始めたい人、使っている人たちが集まって勉強会をしています。

僕にとっては、Rubyの勉強会では2回目、kawasaki.rbは初参加でした。参加者の数は20人弱で、rubyを仕事で使っている人だけでなく、趣味でのみ使っているという方、これから必要になるので勉強を始めたという方もいらっしゃいました。


セッション(前半)


セッションが2つあり、前半では「パーフェクトRuby」の読書会でした。

読書会の進め方は、世話人の方がスクリーンに本のページを表示し、そこに書いてあることを朗読し、インタプリタ環境(もっと言うとnbviewer)で再現するという形式でした。また質問や意見をその場でみんなで話し合いながら進めていました。

今回の読書会の内容は、キーワード引数についてでした。その内容について説明します。

古いRuby(1.9まで)ではハッシュを使い、擬似キーワード引数と呼ばれていました。
def keywords( hash = {} ) hash end

また、デフォルト 値も設定することができます。
def keywords(hash = {} ) defaults = { a: ‘alice’, a: ‘bob’} hash = defaults.merge(hash) hash end

Ruby2.0でキーワード引数が使えるようになり、ハッシュである必要はありません。以下のようにできます。ただし、この書き方だとデフォルト値を入れるのが必須でした。
def keywords( a: 'alice', b: 'bob' ) { a: a, b: b } end

Ruby2.1では、キーワード引数のデフォルト値の省略ができるようになりました。
def keywords( a: , b: 'bob' ) { a: a, b: b } end

引数でハッシュなどを渡すことも可能です。その場合は “**” を使って指定します。
def keywords(a: ‘alice’, b: ‘bob’, **c ) { a: a, b: b, c: c} end

約5分ほどの休憩をはさみ、後半のセッションと続きました。
続きはまた後日…。


ブログランキングに参加しています。クリックをお願いします。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
にほんブログ村 IT技術ブログ Webサイト構築へ

2015年1月11日日曜日

Rubyの勉強会で学んだこと

昨日は、 Rubyの勉強のため、yokohama.rbに行ってきました。月に一度、JRの東神奈川駅の近くの神奈川地区センターで、rubyを始めたい人、使っている人たちが集まって勉強会をしています。

Rubyの勉強会は初めての参加でした。

1時間程度のセッションが2つあり、前半では
「Rubyレシピブック 第3版 303の技」の読書会でした。
初参加ということで、本の朗読を任されました(汗)。
トピックを読んで、実際にrubyのインタプリタで検証するという流れです。

僕は、手持ちのDellのWindows Note PCを持って行きました。でも、周りを見るとほぼMac でした。そこで周りの人に相談してみると、「Ruby on Rails」をするならMacが基本だとのこと。うむ、やっぱりそうか。

後半では、
「RSpec」の仕組みを紹介していました。Specとは振舞駆動開発(Behaviour Driven Development)で使う、Rubyで書かれた言語の一種です。話の内容はあまりわからなかったけど、Ruby on Railsで開発をする時に威力を発揮するのはわかりました。

勉強家の会は飲み会でした。

いろいろな人と話しました。名刺管理ソフトからネットワーキングとクラウドサービスでビジネスしいるSanSanという会社のエンジニアの方や、Webのプラットフォームサービスを提供するHerokuのセールスエンジニアの方などです。


【今日学んだこと】

WindowsはRuby on Railsの開発に向かない。Macにするべし。
RSpecを勉強せよ
ネットワーキング(マッチング)とWebを絡めたビジネスは将来性がありそう



有益な勉強会でした。


ブログランキングに参加しています。クリックをお願いします。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
にほんブログ村 IT技術ブログ Webサイト構築へ