Skip to content
yowasou edited this page Aug 13, 2023 · 6 revisions

議事録(61)

  • 19:00時点で4人しかいないのですが
  • 新人がふたりきました
  • まずは7人でスタート
  • 2016年はもっとRubyが書けるようになる年

KPTふりかえる

  • Rubyの深いところに今日は触れるぜ
  • 初心者向けレクチャーも今年から
  • 年次計画建てました

自己紹介

  • jacoyutoriusさん(尊敬するベーシストからとりました)ERP開発会社からWeb系へ。最近はRubyPHPJavascript
  • Edaさん 小木さんと同じ会社の新人。Ruby始めて。もともとPython。Python 3しか触ってない。
  • yowasou ... 議事録社畜高卒SE
  • langurさん ... 趣味でOSのような何かを作っていたりする。未だにRubyがちゃんとかけないのでこれから覚える
  • mobius_bkstさん ... 1月から社会復帰。小中学生向けの教育を始めつつある。
  • marilla716さん ... フリーランスでスマホアプリ開発。Rubyは少しずつ書いたり読んだり
  • ryudoさん(misogiさん)... フリーランスエンジニア。最近はWeb系ばっか。Haskelとか競技PGサイトにハマっているSlackおじさん。
  • tachibanaさん ... だいたいRailsの仕事をして5年。
  • chuiさん ... 普段はあんまりRuby触ってない。機械学習とか統計とかやりたいなーと思っている。
  • kengoさん ... rails系の仕事をしている。クラウド会計的なことを作っている。Windows用botとかクソめんどくさいんじゃ~
  • ファイルロックにハマる
  • 次の自己紹介は今興味あることもいれようぜ!

告知・LT

萩田さん・自己紹介LT

  • WEB系SE13年。SNSやクラウド
  • PHP,SQL,JS,シェルスクリプトが得意
  • rspecに興味有る。自動テストしてみたい。capybaraとかで検証中。
  • 普段の開発マシンはWindows。必要によってVirtualBoxでUbuntu
  • opencvは半分業務半分趣味で。
  • twilloゆーざーぐるーぷ?があるとか。
  • https://twiliojp-ug.doorkeeper.jp/

Langur(おのだ)さん

  • 発表資料
  • Cursesについて
  • Rubyの2.1系からgemになった。端末制御ライブラリ
  • ローグ作ってた人が作ったライブラリ
  • GUIライクなCUI画面を作るライブラリ。
  • いろんなプラットフォームでサポートされている。
  • Rubyでもつかえる・・・Ruby curses
  • includeでcurses表記を省略
  • Windowという概念が有る。サブウィンドウも作れる。
  • これを使ってテキストエディタを作ってみたい。
  • Githubの使い方とかRubyのマナーとか教えてください。
  • gemの作り方気になる

chuiさん

  • 実用的Rubyスクリプティングという本を紹介 - Now On Sale - .
  • Cursesのことも載っている
  • Ruby/QtはWindowsだとすごい苦戦する。Tkはまだ安定しているらしい
  • ちょっとしたコードでちょっとしたGUIがつくれる

mobius_bkstさん

  • GUIライブラリSHOES.
  • 軽量で簡単なGUIアプリを作成することができる。
  • ホワイの(感動的)Rubyガイドを書いた人が作ったもの。

Rubyらしいコード

以下サイトを参考に進める

  • http://qiita.com/jnchito/items/dedb3b889ab226933ccf

  • 後置ifで行数を減らす

  • unlessも結構使う

  • unlessはややこしい条件の時には使わない

  • rubyのifはnilだったらfalseというくせが有る。

  • 三項演算子で行数を減らす

  • ネストは読み図らい

  • 代入してからifで存在を確認、をまとめて書く

  • →ツールによっては警告してくる。

  • activesupportにあるtry ... あるオブジェクトがnilでなければ実行してくれる。

  • params[:user].try{} → userが指定されているときだけ処理してくれる

  • require 'active_support'が必要。非常に便利なのがそろっている。

  • 子供のオブジェクトが存在する場合にのみプロパティやメソッドを呼び出して条件を確認する、を一つのifで書く

  • &.演算子でも代用できる(2.3.0から)

  • 戻り値でreturnを使わない

  • 初期値、プロパティセット、戻り値として使う代わりにObject#tapを使う

  • "+"ではなく"#{}"で文字列を連結する

  • 自動的にto_Xでキャストされる。nil.to_sもある。to_aもある。to_hもある。to_iもある。

  • 配列もjoinされる

  • 定数はフリーズさせよう(2.3.0では文字列は自動でフリーズされるらしい。コンパイラが見て高速化してくれるらしい)

  • 文字列を追加していきたいときはString.newでつくるか"hoge".dupでコピーを作る。

  • 名前を大文字だけにすると定数になる。Rubyの定数は他の言語の定数よりゆるい。

  • 配列を作るとき[]のかわりに%w、%iを使う

  • %rだと正規表現を作れる。%rの中は/のエスケープ文字が省略できる。

  • ()括弧っぽい文字ならいける。

  • 折り返しをすると汚くなる場合?・・・

  • 配列を順番に処理するときに&:methodを使う

  • %w[1 2 3].map(&:to_i)

  • &付き引数がProcオブジェクトでなければ、#to_procを呼んでprocに変換される

  • Symbolにはto_procがある。

  • nilか配列かを区別せず、Arrayで処理してしまう

  • 大きな数値を宣言する場合、_を入れて読みやすくする。

  • Arrayは、引数が配列ではない場合でも配列を作成して返してくれる。

  • active_supportのArray.wrapも同じようなことをしてくれる。

  • バグを生み出すことが有るから使い方に注意

  • (users || []).each usersがnilだったら空の配列が返る。stringだった時にエラーになるので安全

  • 数値リテラルは自由に_が入れられる。

  • attribute_readerで勝手にメソッドを作成してくれる

  • 似たようなやりからがいっぱい有る。

  • ostructでもできるらしい。ハッシュを構造体っぽくしてくれる。

  • 要素の順番に意味が有る配列は、同時に別々の変数で受け取る(他の言語でもいける)

  • a, b, c = %w[1 2 3]

  • 配列を連結するのに+ではなく*(splat)を使う。

  • nilだったら初期化、の代わりに||=を使う。

  • ハッシュのキーは文字列ではなくシンボル 完結だし早い

  • メソッド全体をrescue対象とするときはbeginendを省く

  • ExceptionではなくStandardErrorをrescueする。

  • Rubyは用語的に”例外”ではなく”エラー”

  • 一度rescueしたエラーをもう一度raiseする

  • マイナスのインデックスで最後の文字や要素を指定する

  • eachよりfind(最初の一件を探したい場合)すべてを返すならselect

  • 残りは各自で!

  • 実装パターン(読むといいです)

  • http://d.hatena.ne.jp/asakichy/20090908/1252384923

KPT

Keep(今回よかったこと)

  • LTやった
  • Rubyの知らない書き方を学んだ
  • SwiftでやっていることがRubyでどうやって書くのか理解できた
  • 発言したよ
  • 説明丸投げメソッドを覚えた
  • Rubyがいろいろ便利だと知れてよかった
  • Shoesしゃべれた
  • 濃かった
  • 講師が素晴らしすぎる

Problem(今回失敗したこと)

  • 遅刻した⇒全部残業が悪いんや
  • ひたすら聞くだけだった
  • 見失った
  • 時間が足りず結局後は各自で...に
  • 実行環境インストールしてない⇒しておく
  • やっぱり資料用意しておくべきだった

Try(次回やりたいこと)

  • CUIテキストエディタの経過報告する
  • ポジションペーパ更新
  • 次回Heroku上でRubyベースのCMS動かしたよLTできるかもしれない。Lokka
  • 自己紹介で興味のあるネタを言う
  • 復習する
  • 土曜日にRubyしたい人がいるかも
  • 豊橋の方とか、Ruby || Python東海の方が合同で集まりたいって。
  • 遅刻した⇒全部残業が悪いんや⇒Basecamp社みたいなゆるい会社日本でも作る
  • Rubyさわる
  • Github || gistをみんなができるように

黒板

Clone this wiki locally