読者です 読者をやめる 読者になる 読者になる

ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

Perfect Ruby読書会 / kawasaki.rb

Programming-ruby Programming

kawasaki.rb

前回のyokohama.rbに続いて今回は川崎に参加してきました。
今回は少人数(max16人、参加12人)で、最初からいたので自己紹介からスタート。
当たり前で当たり前だけどいろんな人、いろんな仕事、いろんなバックグラウンドの人がいて、発表できるレベルまでいけば良いよなぁなんて思いました。
というかレベルの差をとても感じるよな…事実あるし、慣れの問題もあるけれど。

3-3-3 例外処理の戻り値

#begin節は値を返す
#rescue/else説で最後に評価された式が戻り値

returned =
begin
  value ='return value'
  
  raise #例外を投げる
rescue #例外を拾う
  value
ensure
  'this is not return value' #ensureは戻り値にならない
  #例外の有無にかかわらず実行される
end

puts returned

ensureはJAVAで言うfinalyなのかな?例外してもしなくても実行される、と。


3-3-4 メソッドやクラス/モジュール定義で例外を補足する

def meth
  puts 1/1

rescue
  'hoge'
else
  'fuga'
ensure #ensureは戻り値にならない
puts  'piyo'
end

p meth

3-3-3のbegin説と同じ
C++はfinalyがないらしい そうだっけ?

3-3-5 例外が発生した場合にリトライする

begin
  failed||=0 #nilガード?
  puts 'trying...'
  puts 1/0#例外が発生するかもしれない処理
  
  rescue
  failed+=1
  
  retry if failed < 5
end

begin節でfailedを定義<> スペースシップ演算子というらしい

3-4-1 任意の処理からの脱出

catch :triple_loop do
  loop do #loopは無限ループするメソッド
  
    puts 'one'
    loop do
      puts 'two'
      loop do
        puts 'three'
#breakだと1つ抜ける
        throw :triple_loop
      end
    end
  end
end

throwとcatchがセット。
catchのブロックの中でthrowを読みだすとcatchの読出し元へ行く
まぁこんなことしないよねって話w

セッション

神奈川ruby会議01をやります

地域ruby会議とは

地域のコミュニティより大きめのイベント。
#日本全国のがruby会議
#11/1に渋谷ruby会議、11/29に東急ruby会議
#tokyu.rbは肉・肉・酒、tokyu ruby 会議は酒・酒・LTとのこと
LTの敷居も低いのでここではじめて発表する人もいるらしい

概要

2015/01/17 sat ミューザ川崎7F キャパ100
テーマ:CROSS THE BORDER
OSS WORLD⇔Enterprise world
ペアプロ大会、スピーカー3名
TALK SESSION
yokohama.rbとkawsaki.rbの共催

geekのGauntlt

橘田さん
・重要なことは顧客が何を求めているのか
・開発効率や生産性は二次的なもの

セキュリティ対策には篭手が重要
"過去未来に全てのセキュリティに対応してほしい"
顧客は問題の早期発見を求めている

Gauntltはrubyがあれば簡単インストール。
セキュリティテストが簡単にできる。
使えるツール
curl/nmap sslyze/sqlmap/garmr/generic command line...

>そもそも分からない言葉だらけ…それだけでも勉強会参加の意義があるね

ruby会議参加者の感想

ruby under a microscope
スタッフが忙しいのは初日だけ(以降は普通に参加できる)

The Type System in Type Script

masayuki iokiさん

ECMAScript6(javascriptの次)をベース
type scriptをコンパイルしてjava scriptに?

static typingがjsに入った
rubyはダックタイピング
>>Structual Typing
⇔nominal typing(C,Java...クラス名、型名で判断)

structual typingは構造が同じであればok
nominal typingは名前が違うとNG

type informationは変換時に消える(実行時に消える)

//?
var x; //any型
x = 0;
x = 'a' //ok

type inference:型推定
構造があっていれば同じとみなす とのこと

>そもそもmicro softの新しいオープンソースプログラミング言語なんですね。
>これを将来のrubyにも取り入れられる可能性があると

終わりに

前回のyokohama.rbよりは得るものがありました、yokohama.rbが悪かったというわけでなく、
自分の参加姿勢によるものですね。
今後も参加したいです。