@znz blog

ZnZ の memo のようなもの

第66回 Ruby関西 勉強会に参加した

| Comments

第66回 Ruby関西 勉強会 に参加したので、そのメモです。

勉強会自体の URL

GitLab Flow

  • https://speakerdeck.com/ogom/gres
  • 1 スクラムマスターに依頼
  • 2 イシュー登録
  • 3 エンジニアにアサイン
  • 4 見に行く
  • 5 コードに反映
  • 6 ブランチにコミット
  • 7 エビデンスを登録
  • 8 リモートブランチにあげる
  • 9 コードレビューのためのマージリクエスト (pull request)
  • 10 レビュアーをアサイン
  • 11 リクエストを見る
  • 12 コードを見る
  • 13 リファクタリング
  • 14 マージリクエストを評価
  • 15 スクラムマスターに知らせる
  • 16 スクラムマスターがイシューのエビデンスを確認する (コードはレビュアーが見ているので見ない)
  • 17 マージとリリース
  • DDD.rb
  • http://kanban.leanlabs.io/
  • https://gitlab.com/ogom/gres/blob/master/README.md

ノンプログラマーが6ヶ月でWebサービスを作る課程で感じた事

ハマるRuby

  • 填まる/嵌まる (後者)
  • and/or&&/|| の優先順位が違う話
  • 代入演算子の返り値
  • super で参照される引数を書き換えたときの挙動の話
  • 定数のスコープの話

Ruby初級者向けレッスン

解答例

演習問題の 1 と 3 をやってみた例です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env ruby
# coding: utf-8
s = <<EOF
文 字
文字
EOF
puts s.count("\n")
puts s.lines.size
puts s.scan(/(?u)\w+/).size
puts s.chars.size
puts s.bytes.size

# 試行錯誤例
p s.each_line.size # nil ??
p s.scan(/(?u:\w)+/).size
p s.scan(/[[:graph:]]+/).size
p s.each_char.size
p s.each_byte.size

ランダムに入れ替え。

1
2
3
cambridge.gsub!(/\b([^ ])([^ ]+?)([^ ])\b/) do
  [$1, *$2.chars.shuffle, $3].join
end

動作確認用に reverse にしていた時。

1
2
3
cambridge.gsub!(/\b([^ ])([^ ]+?)([^ ])\b/) do
  [$1, *$2.chars.reverse, $3].join
end

告知

Comments