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.
受託開発と
(株) 永和システムマネジメント
アジャイル事業部
Ruby x Agile グループ
伊藤 浩一 (@koic)
Enjoy Programming
RubyGemsgem install active_pstore
エムオーテッ...
Computer programmer, guitarist.
Leader of an Agile software development team
at Eiwa System Management, Inc.
Lives in Shin...
XPE2ndと上司がついてきます
https://pbs.twimg.com/media/CIZYfj6W8AAqyAU.jpg
今日の話
受託開発で色々なシス
テムを作った知見から
ライブラリを作れそう
実践投入され
た実装とされ
ていない構想
構想の
副産物
背景
いち場面
受託開発の
https://ja.wikipedia.org/wiki/正岡子規#/media/File:Masaoka_Shiki.jpg
誰のためのコード
日時予約して1回
だけ実行したい
(あるある)
運用の自動化
at コマンド
permission denied
受託開発にはコント
ロールできることと
できないことがある
立ちはだかる壁
オンプレ
https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF#/media/File:Dell_PowerEdge_Serve...
申請書
業日
さまざま
な制約
割愛
よろしい、
ならば車輪
の再発明だ
構想三秒
cron
rails rrails c
RDBMS
日時予約
日時予約を永続化
※1
定期実行予約があれば実行する
人生n回目の設計パターン
キモ
cron
rails rrails c
RDBMS
日時予約
日時予約を永続化
※1
定期実行予約があれば実行する
人生n回目の設計パターン
申請書
業日
http://www.amazon.co.jp/dp/4274217620
http://www.slideshare.net/kdmsnr/xpjunkudo-20150626/61
どうやれば
できるかを
考える
Ruby標準添付
ライブラリ
http://docs.ruby-lang.org/ja/2.2.0/class/PStore.html
PStore
キモ
cron
rails rrails c
日時予約
日時予約を永続化
※1
定期実行予約があれば実行する
人生n回目の設計パターン
PStore
欲しかったものの前提
cron
rails rrails c
日時予約
登録のみ
※1
定期実行同一データへの同時更新はない
同一データへの同時更新がない
• 定期実行したら削除するくらいデータのライフサイクルが短い
• 保存する...
自給自足
弱点多々
THE MAKING OF
A RubyGems
知見
実践投入され
た実装とされ
ていない構想
社会実験
パターン
パターンは発明す
るものではなく発
見されるもの
『パターンハッチング』より
http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?ActiveRecord
ActiveRecord
っぽい振る舞い
有名な永続化
のインタフェー
スで使える
• Create … save, create...
• Read … find, where...
• Update … save, update...
• Delete … destroy, delete...
先人の知恵による名前
コードレビューが増
えたからこその
より一層の名前重要
書ける速さ、
読める速さ
先人の知恵によ
る名前の作用
よく知られた名前で
読むことができる
名前というイン
タフェースの重
要性について
http://i.loveruby.net/ja/rhg/book/intro.html
『Rubyソースコード完全解説』n ページより抜粋
静的解析とはつまりソースコー
ドの解析だ。そしてソースコー
ドの解析とは名前の調査である。
ファイル名...
おわりに
• 書くときに名前付けの苦労が減る
• 使い手への学習曲線を低くできる
• 読むときに雰囲気で読める
よく知られた名前の再利用
脳力を抑える
『Lightweight Language MAGAZINE』より
TO
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
受託開発とRubyGems
Upcoming SlideShare
Loading in …5
×

受託開発とRubyGems

1,454 views

Published on

関西Ruby会議06 (http://regional.rubykaigi.org/kansai06)

Published in: Engineering
  • Be the first to comment

受託開発とRubyGems

  1. 1. 受託開発と (株) 永和システムマネジメント アジャイル事業部 Ruby x Agile グループ 伊藤 浩一 (@koic) Enjoy Programming RubyGemsgem install active_pstore エムオーテックス新大阪ビル エムオーテックスホール 2015.07.11 (Sat) 関西Ruby会議06
  2. 2. Computer programmer, guitarist. Leader of an Agile software development team at Eiwa System Management, Inc. Lives in Shinjuku. @koic photo token by @NaCl
  3. 3. XPE2ndと上司がついてきます https://pbs.twimg.com/media/CIZYfj6W8AAqyAU.jpg
  4. 4. 今日の話
  5. 5. 受託開発で色々なシス テムを作った知見から ライブラリを作れそう
  6. 6. 実践投入され た実装とされ ていない構想
  7. 7. 構想の 副産物
  8. 8. 背景
  9. 9. いち場面 受託開発の
  10. 10. https://ja.wikipedia.org/wiki/正岡子規#/media/File:Masaoka_Shiki.jpg 誰のためのコード
  11. 11. 日時予約して1回 だけ実行したい (あるある)
  12. 12. 運用の自動化
  13. 13. at コマンド
  14. 14. permission denied
  15. 15. 受託開発にはコント ロールできることと できないことがある
  16. 16. 立ちはだかる壁
  17. 17. オンプレ https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF#/media/File:Dell_PowerEdge_Servers.jpg
  18. 18. 申請書
  19. 19. 業日
  20. 20. さまざま な制約
  21. 21. 割愛
  22. 22. よろしい、 ならば車輪 の再発明だ
  23. 23. 構想三秒 cron rails rrails c RDBMS 日時予約 日時予約を永続化 ※1 定期実行予約があれば実行する 人生n回目の設計パターン
  24. 24. キモ cron rails rrails c RDBMS 日時予約 日時予約を永続化 ※1 定期実行予約があれば実行する 人生n回目の設計パターン
  25. 25. 申請書
  26. 26. 業日
  27. 27. http://www.amazon.co.jp/dp/4274217620
  28. 28. http://www.slideshare.net/kdmsnr/xpjunkudo-20150626/61
  29. 29. どうやれば できるかを 考える
  30. 30. Ruby標準添付 ライブラリ
  31. 31. http://docs.ruby-lang.org/ja/2.2.0/class/PStore.html
  32. 32. PStore キモ cron rails rrails c 日時予約 日時予約を永続化 ※1 定期実行予約があれば実行する 人生n回目の設計パターン
  33. 33. PStore 欲しかったものの前提 cron rails rrails c 日時予約 登録のみ ※1 定期実行同一データへの同時更新はない 同一データへの同時更新がない • 定期実行したら削除するくらいデータのライフサイクルが短い • 保存するモデルとしてリレーションシップが必要ない
  34. 34. 自給自足
  35. 35. 弱点多々
  36. 36. THE MAKING OF A RubyGems
  37. 37. 知見
  38. 38. 実践投入され た実装とされ ていない構想
  39. 39. 社会実験
  40. 40. パターン
  41. 41. パターンは発明す るものではなく発 見されるもの 『パターンハッチング』より
  42. 42. http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?ActiveRecord
  43. 43. ActiveRecord っぽい振る舞い
  44. 44. 有名な永続化 のインタフェー スで使える
  45. 45. • Create … save, create... • Read … find, where... • Update … save, update... • Delete … destroy, delete... 先人の知恵による名前
  46. 46. コードレビューが増 えたからこその より一層の名前重要
  47. 47. 書ける速さ、 読める速さ
  48. 48. 先人の知恵によ る名前の作用
  49. 49. よく知られた名前で 読むことができる
  50. 50. 名前というイン タフェースの重 要性について
  51. 51. http://i.loveruby.net/ja/rhg/book/intro.html 『Rubyソースコード完全解説』n ページより抜粋 静的解析とはつまりソースコー ドの解析だ。そしてソースコー ドの解析とは名前の調査である。 ファイル名・関数名・変数名・ 型名・メンバ名など、プログラ ムは名前のかたまりだ。
  52. 52. おわりに
  53. 53. • 書くときに名前付けの苦労が減る • 使い手への学習曲線を低くできる • 読むときに雰囲気で読める よく知られた名前の再利用
  54. 54. 脳力を抑える 『Lightweight Language MAGAZINE』より
  55. 55. TO

×