Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

nomlab_okayamaruby_slide

2,322 views

Published on

Okayama Ruby Kaigi01
Nomura laboratory

  • Be the first to comment

nomlab_okayamaruby_slide

  1. 1. 大学の研究室における   Ruby活用事例紹介 2012年7月7日    木村有祐 吉井英人 福田大志  
  2. 2. 自己紹介 M1  木村 有祐 (きむら ゆうすけ)   Twi+erID  @stpsnp  M1  吉井 英人 (よしい ひでと)   Twi+erID  @hide_yoshii  M2  福田 大志 (ふくだ ひろし)   Twi+erID  @Fukuda_H   (1) 大学3年生までの授業でC言語を学習 (A) 名簿管理プログラム (B) コンパイラ作成 etc... (2) 授業でオブジェクト指向言語(Java)を学習 (3) 大学4年生からRubyとRuby on Railsを学習 (A) TwitterBot (B) LastNote(グループウェア) (C) 研究用プロトタイプ 2
  3. 3. Rubyとの歩み C言語を学習(2008/4~2011/3) 2011/4 Ruby:TwitterBotの作成 2011/6 Rails:LastNoteの開発に参加開始 研究室内での勉強会(蔵書管理など) 新人研修課題作成を担当2012/4   Ruby:TwitterBotの作成   Rails:商品管理プログラムの作成 2012/7 Ruby会議での発表 (現在) 3
  4. 4. Twi+erBot (1) 研究室に配属された4年生の新人研修の1つ(2) Rubyにはじめて触れる(3) オブジェクト指向がよく わからない状態でスタート(4) Cと比較して,記述が楽 (A) 厳密な型宣言がない (B) 直感的に記述できる etc...(5) 思いのほか早くBotが動いた ・・・プログラミングが楽しい! 4
  5. 5. 研究室で開発しているもの 研究グループメンバ(先生 + 学生6人)(1) LastNote  グループウェア研究のためのテストベッド  文書管理,名簿管理 etc..(2) デスクトップブックマーク(DTB)  仕事の途中状態を保存し復元再開するツール   (A)デスクトップ状態をブックマークのように記録   (B) ブラウザで見ていたページも再現(3) 周期性と関連性を扱うカレンダ  ある仕事における作業の周期と関連を表現するカレンダ   (A) タスク登録方式(過去のタスクを参照,複製)   (B) タスクの予報機能   (C) 関連タスクの一括登録機能 5
  6. 6. LastNote(実際の画面) 6
  7. 7. LastNoteの開発 (1) 約2週間に1回の開発打合せ 新機能やバグ修正について議論 (2) Redmineを使ったチケット管理 (3) Gitを使ったバージョン管理 (4) 約2カ月に1度のリリースV3.1 リリース V3.2 リリース ・・・ 2週間 2週間 2週間 2週間 2か月 7
  8. 8. Redmineを使った開発 8
  9. 9. 新人研修課題(2012年度) TwitterBot(Ruby) + 商品管理プログラム(Rails)「RailsによるアジャイルWebアプリケーション開発」を使用 本書のチュートリアルに従い 開発を進める (1) カタログ機能 (2) カート機能 + (3) amazonから書籍情報の取得機能 9
  10. 10. 新人研修課題の感想   4年生の感想(分からない点) (1) ルーティング  (作ったページが表示できない) ?  (2) ActiveRecordが定義するメソッド  (自分では定義していない) (3) format.html,format.jsonの挙動  (どんなことをやっているの?) ;ω;  (4) scaffold  (どこまで作ってくれるの?) (5) MVC  (どこに何を書けばいいの?) 10
  11. 11. ほんとは簡単じゃない?  Rails コードを書かなくても,「rails new」と「scaffold」 とりあえず動くものが作れる!簡単!!  ここまでは…これ以降,覚えることがいっぱい!! MVC,CoC,OO,DB, ORM,HTML,CoffeeScript,SCSS, gem, Bundler, rvm,cucumber,git etc… こんなにやるのは大変!!! 参考:Ruby on Railsが簡単というのは嘘 30 to 30 http://toyoshi.hatenablog.com/entry/2012/03/09/143753 11
  12. 12. Railsバージョンアップは大変 LastNoteRails1  Rails2 Rails3(現在3.0.10) Rails3.2 案外楽! 結構大変! 現在移行中 Railsのバージョンを追いかけるのは大変 (1) Ruby1.9 文字コード (2) 昔動いていたプラグインが動かない(全文検索) (3) 対応が終わったら,もう次が… Rails4が夏にリリース? 12
  13. 13. 先輩からの教え! <乃村研べきべからず集> 第一条 モデルの作成は慎重にするべし! 第二条 テストしやすいコードを心がけるべし! 第三条 国際化は多国語未対応でも使うべし! 第四条 ビジネスロジックはモデルに書くべし! 第五条 安易な継承をするべからず! 13
  14. 14. まとめ (1) とっつきやすいRuby! でも,難しいRails!! Ruby Rails 大きな壁 (2) 結構まじめに開発してます  2週間に1回の打合せ  勉強会なども!(3) 困ってます  Railsのバージョンアップは大変!! 14

×