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.

20150328 humansociria

1,491 views

Published on

2015/03/28

Published in: Software
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

20150328 humansociria

  1. 1. ミッションクリティカルなシステムを 支えるアプリ開発 ∼初心者がつまずくポイント解説と コミュニティの歩き方∼ 株式会社ケーシーエスキャロット 江森 真由美 2015.03.28 @ヒューマンソシリア
  2. 2. 自己紹介 • 江森 真由美 (@emorima) • 株式会社ケーシーエスキャロット
 ユニットマネージャー • Asakusarb メンバー • Rails Girls Tokyo 3rd & 4th オーガナイザー • Rails Girls Shiojiri 1st コーチ
  3. 3. 会社概要 放送局ビデオ編集・配信システム開発 AV機器・情報家電組込みシステム開発 Windowsアプリケーション開発 通信制御アプリケーション開発 Webアプリケーション開発 Androidアプリケーション開発
  4. 4. 業務経歴 • 入社∼2年
 Visual Basic、C、Java とか業務で色々な言語を触れる機会はあるが、6ヶ月程度 の業務が終わればそれで終わりの繰り返し • 3年∼
 C++でWindows アプリを作りまくる
 (ThreadでのSocket通信アプリ、バイナリデータ解析アプリ等) • 6年
 PHPでWebアプリを作る • 7年 (2003年)∼
 「来月からRubyをやってもらいます」というお客さんの一言でRubyを使い始める。 
 「今度、Railsが出ます」の一言で、 Rails 0.11を使い始める。 • 現在に至る
  5. 5. 本日お話しすること ミッションクリティカルな システムを 支えるアプリ開発
  6. 6. ミッション クリティカル とは • 任務や業務の遂行に必要不可欠な要素(機器、プロセス、 手順、ソフトウェアなど)のこと。 • 障害の発生による中断や停止が発生した場合に社会的影響 が大きい、交通機関や金融機関などの機関システムは一般 的にミッションクリティカルであり、停止しないことが求 められる。 • (中略)ミッションクリティカルシステムを想定した技術や 製品では、信頼性・可用性・保守性といった面が高められ ている。          ∼wikipediaより∼
  7. 7. ミッションクリティカルな システム って 何?
  8. 8. jishin.net http://demo.jishin.net/map
  9. 9. jishin.net 東京ガス(株)の 「超高密度リアルタイム 地震防災システム(SUPREME)」 が収集した地震情報を リアルタイムに提供するサービス
  10. 10. jishin.net 配信の仕組み http://jishin.net/point.html#link_1
  11. 11. jishin.net • 地震が発生すると利用者の携帯電話に速報メー ルを送る • 携帯電話・PCからリアルアイムに地震の情報を 把握することが可能
 
 地震時の初動対応を確実にサポートする
  12. 12. 実際に見てみましょう
  13. 13. 会員制 http://jishin.net
  14. 14. 朗報です
  15. 15. http://demo.jishin.net/map http://jishin.net
  16. 16. yokohama.jishin.net
  17. 17. http://yokohama.jishin.net
  18. 18. jishin.net 開発の中で Railsを始めたばかりの方 がはまりそうなポイント
  19. 19. 第1のポイント
  20. 20. 画面表示 遅い
  21. 21. どこが遅いのかを知る
  22. 22. Started GET "/" for ::1 at 2015-03-28 11:00:22 +0900 Processing by Rails::WelcomeController#index as HTML Rendered /Users/emorima/.rvm/gems/ruby-2.2-head/ gems/railties-4.2.0/lib/rails/templates/rails/ welcome/index.html.erb (0.0ms) Completed 200 OK in 3ms (Views: 2.3ms | ActiveRecord: 0.0ms) Started GET "/users" for ::1 at 2015-03-28 11:00:24 +0900 Processing by UsersController#index as HTML User Load (0.2ms) SELECT "users".* FROM "users" Rendered users/index.html.erb within layouts/ application (2.4ms) Completed 200 OK in 1333ms (Views: 1330.5ms | ActiveRecord: 0.3ms)
  23. 23. • SQLのレスポンスが遅い • 画面表示が遅い • アクセスが集中した時に遅い
  24. 24. • SQLのレスポンスが遅い • 画面表示が遅い • アクセスが集中した時に遅い
  25. 25. SQLのレスポンス要因(1) include をせずに、 View側で余分なSQLが 毎回発行されている
  26. 26. SQLのレスポンス要因(2) データベースの設定 (INDEXの設定)
  27. 27. SQLのレスポンス要因(3) とても複雑なSQLを Arelを使って 書いている
  28. 28. SQLのレスポンス要因(4) とても複雑なSQLを find_by_sqlで実行して いるが、不要なデータを 取得して遅くなっている
  29. 29. 項目1 項目2 状態 あ A 正常 あ B 正常 い A 異常 い C 異常 状態管理テーブル(日単位) 項目1 項目2 時刻 値 あ A 00:00:00 1 あ A 00:01:00 2 あ A 00:02:00 2 あ B 00:00:00 3 データテーブル(日単位) 940万レコード/日
  30. 30. • SQLのレスポンスが遅い • 画面表示が遅い • アクセスが集中した時に遅い
  31. 31. 画面表示の要因(1) View側の画面表示に javascriptで 重い処理を実行している
  32. 32. 画面表示の要因(2) 大きな画像の読み込みや、 画面に表示している画像 数が多い
  33. 33. 画面表示の要因(3) Cacheを使っていない
 Fragment Cache(Rails3) Russian-doll caching(Rails4) Cache Digest(Rails4)
  34. 34. • SQLのレスポンスが遅い • 画面表示が遅い • アクセスが集中した時(負荷テスト) に遅い
  35. 35. 負荷時の要因(1) Webサーバの設定 (MaxClient、 ThreadPerChildの設定)
  36. 36. 「RailsはSQL知らなくても 出来ますか?」
  37. 37. Rails開発で付随するモノ
  38. 38. ちょっと休憩
  39. 39. FizzBuzzをやってみよう
  40. 40. FizzBuzz プレイヤーは円状に座る。 最初のプレイヤーは「1」と数字を発言する。 次のプレイヤーは直前のプレイヤーの次の数字を発言 していく。 ただし、3で割り切れる場合は 「Fizz」、5で割り切れ る場合は 「Buzz」、両者で割り切れる場合は 「Fizz Buzz」 を数の代わりに発言しなければならない。 発言を間違えた者や、ためらった者は脱落となる。 ∼wikipediaより∼
  41. 41. 自分ならどんなコードを 書くか考えてみてください
 出力する値は、1 50とします メソッドも使ってよしとします
  42. 42. 1.upto(50) do |i| if i % 15 == 0 puts ‘FizzBuzz’ elsif i % 3 == 0 puts ‘Fizz’ elsif i % 5 == 0 puts ‘Buzz’ else puts i end end 「3と5の両方で割りきれる」と 「15で割りきれる」は 同じではない
  43. 43. 3、5が 2、4に変わったら プログラムの変更が必要 信頼性・保守性
  44. 44. V1 = 3 V2 = 5 1.upto(50) do |i| s = ‘’ s.concat ‘Fizz’ if 0 == i % V1 s.concat ‘Buzz’ if 0 == i % V2 s.concat i.to_s if s.empty? puts s end
  45. 45. 値が変更されたら∼ 機能が拡張されたら∼ を考えたプログラム
  46. 46. 第2のポイント
  47. 47. データ登録(画面以外から) も 遅い
  48. 48. • Rails(Active Recorde)で登録す るために、cron起動となっていて 遅い • データ量が多すぎるため、BULK INSERTを使っても遅い
  49. 49. • Rails(Active Record)で登録する ために、cron起動となっていて遅 い • データ量が多すぎるため、BULK INSERTを使っても遅い
  50. 50. cronの要因(1) cronで設定できる 1分毎
  51. 51. cronA データファイルがあったら、データ登録を行う(処 理時間3sec) cronB Aが更新したデータがあったら、データ更新を 行う(処理時間2sec) cronC Bが更新したデータがあったら画面表示用のデー タ更新を行う(処理時間2sec) cron 最長4分
  52. 52. • Rails(Active Recorde)で登録す るために、cron起動となっていて 遅い • データ量が多すぎるため、BULK INSERTを使っても遅い
  53. 53. データ量の要因(1) • 最大10数万のデータを15分毎に 更新 • 940万を超えるデータを更新
  54. 54. まとめ • Railsだけで解決できない問題も発 生するので、対応できる知識 • 「Railsだけ」にこだわらず、業務の 中でのゴールに合わせて柔軟な発想
  55. 55. ちょっと休憩
  56. 56. 好きなメソッド instance_eval
  57. 57. class Foo def initialize data @key = data end private def do_fuga p 'secret' end end some = Foo.new 'XXX' some.instance_eval{p @key} #=> "XXX" some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる http://docs.ruby-lang.org/ja/2.2.0/method/BasicObject/i/instance_eval.html
  58. 58. privateの意味って何? Object#try!
  59. 59. Rails はRubyのオリジナ ルクラスを、便利に拡張
  60. 60. String#blank? Rails Loading development environment (Rails 4.2.0) 2.2-head :001 > 'a'.blank? => false 2.2-head :002 > Ruby 2.2-head :001 > 'a'.blank? NoMethodError: undefined method `blank?' for "a":String from (irb):1 from /Users/emorima/.rvm/rubies/ruby-2.2-head/bin/irb: 11:in `<main>' 2.2-head :002 >
  61. 61. おまけ コミュニティの歩き方
  62. 62. NEVER CHANGE THE WORLD このままの世界が ずっと続くと思っていた
  63. 63. 自己紹介 • 江森 真由美 (@emorima) • 株式会社ケーシーエスキャロット
 ユニットマネージャー • Asakusarb メンバー • Rails Girls Tokyo 3rd & 4th オーガナイザー • Rails Girls Shiojiri 1st コーチ
  64. 64. 初めはどうしたらいいか 何を話したらいいか わからなかった
  65. 65. 色々参加してみた 何度も参加してみた
  66. 66. #rubyfriends
  67. 67. I CAN CHANGE MY WORLD 世界は変わる って知った
  68. 68. TokyuRuby会議06
  69. 69. Rails Girls
  70. 70. join 👉 organize
  71. 71. 自己紹介 • 江森 真由美 (@emorima) • 株式会社ケーシーエスキャロット
 ユニットマネージャー • Asakusarb メンバー • Rails Girls Tokyo 3rd & 4th オーガナイザー • Rails Girls Shiojiri 1st コーチ
  72. 72. https://twitter.com/FinEmbTokyo/status/567917864792907776
  73. 73. コミュニティというのは、 技術的なスキルを あげるだけの場ではなく、 新しい仲間と出会い、 自分の世界が広がっていく場
  74. 74. コミュニティ参加するには、 まずどうすればよいか?
  75. 75. 地域Rubyの会 https://github.com/ruby-no-kai/official/wiki/RegionalRubyistMeetUp
  76. 76. イベント管理サービスで 興味のあるイベントに参加する (Doorkeeper, Peatix etc.)
  77. 77. はじめの1歩を 踏み出すか 変わらないままでいるか
  78. 78. あなたのRuby Lifeを 楽しんでください :)
  79. 79. ご静聴 ありがとうございました
  80. 80. QA

×