Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
インフラ屋がRailsをやってみた #TechLunch
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Livesense Inc.
PRO
April 21, 2014
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
インフラ屋がRailsをやってみた #TechLunch
インフラ屋がRailsをやってみた
2013/11/16 (水) @ Livesense TechLunch
発表者:湖山 翔平
Livesense Inc.
PRO
April 21, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
Rubyはただの⾔語に⾮ず
livesense
PRO
0
340
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
93
27新卒_総合職採用_会社説明資料
livesense
PRO
0
5.4k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
10k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
480
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
630
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
67k
Other Decks in Technology
See All in Technology
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
210
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
340
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
1
170
Rancherの紹介&Update情報(RancherJP Online Meetup #09)
yoshiyuki_kono
0
120
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
290
LLMを「主役」にしないための 3つの原則
techtekt
PRO
0
120
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
1
340
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
24
13k
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
760
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
200
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
1k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
30 Presentation Tips
portentint
PRO
1
320
Scaling GitHub
holman
464
140k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Typedesign – Prime Four
hannesfritz
42
3.1k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
160
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
Designing for Timeless Needs
cassininazir
1
250
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Transcript
ϓϥοτϑΥʔϜ։ൃG γεςϜ։ൃ෦ɹ Copyright © LIVESENSE Inc. ބࢁ ᠳฏ Πϯϑϥ͕ RailsͰΞϓϦΛ࡞ͬͯΈͨ
·ͣ͡Ίʹ みなさん、僕のことを覚えてるでしょうか?
ࣗݾհ 湖山です。
ಛٕ 特技は・・・
ಛٕ ゲーム
-‐Counter-‐Strike 1.6-‐ MXP CUP 3位 (Team | Theory &
3pR) BIGLAN SOCKET 4 優勝(Team | Fellows) CS Code-‐Reality 準優勝(Team | Fellows) CSCTL Season2 優勝(Team | Speeder) CSCTL Season2.5 DeathMatch大会 優勝(個人) NightLAN 1on1 Match 優勝(個人) CSCTL Season3 優勝(Team | Speeder) Sion Shootout! 全勝(個人) ESWC日本予選 優勝(Team | Speeder) ESWC本選出場 (Team | Speeder) CCDT3 優勝(個人) CCDT4 優勝(個人) CCDT5 3位(個人) CS 1on1 Boom Headshot Cup 3Ґ (ݸਓ) CCDT6 優勝(個人) CCDT7 優勝(個人) CCDT8 準優勝(個人) FPS甲子園 in 秋葉原 出場(Team | Speeder) Survival of Fi[est 13 Expert部門優勝 (Team | Speeder) Survival of Fi[est 14 Expert部門優勝 (Team | Speeder) Survival of Fi[est 15 Expert部門優勝 (Team | Speeder) SteelSeriesとサポート契約 ドイツのmyRevengeとプロ契約 Asia e-‐Sports Cup 2012 日本予選優勝(Team | myRevenge) Asia e-‐Sports Cup 2012 本戦優勝(Team | myRevenge) -‐PaperMan-‐ 東京ゲームショウ2007 出演 PaperMan祭り in 秋葉原 出演 ゲームマスターとしてCykan社に勤務 -‐CrossFire-‐ Cross Fire Tournament League 優勝(Team | Fellows) Cross Fire オフラインイベント 特別講師として出演(Team | Fellows) -‐TV-‐ Road to ESWC (スカパー!) ήʔϜܦྺ 優勝
·ͣ͡Ίʹ 分かって頂けたところで、 本題に入りましょう。
·ͣ͡Ίʹ 事件はシステム開発部月次定例で発生
湖山 「稼働率出しました! みんなが見れるようにWebアプリにするよ!」 ((Webアプリそこまで難しくないだろう。Google先生もいるし)) ‑
ͳ͘ͳ͘ɻ ということで勉強も兼ねて RailsでWebアプリを作ることに。
ͳͥRailsΛબΜ͔ͩ ・会社がRailsに移行していってるから勉強も兼ねて ・Rubyを触ってみたかったから ・デザインがカッコいいし、楽そうだから(bootstrap) ・一度は「Railsでアプリ作った」と言ってみたかったから ・プラグインが便利でグラフにし易そう
Ͳͷఔͷϓϩάϥϛϯάྗʁ ちなみに。。 社会人4年目になります。 プログラムはPerl PHPをかじった程度。
Rubyは触ったことありません! アプリとか作ったこと有りません!
·ͣ࢝Ίͨ͜ͱ 流れを図にしてみた。
໊୳ఁί◦ϯ 図にして分かったこと。 とりあえずデータ取らないと始まらないということ。
ਅ࣮͍ͭҰͭ データを取る ‑ mysql 操作 ‑
グラフじゃない ‑ perlでいいんじゃね?
ग़དྷ·ͨ͠ Perlで作りました
Μͩɺվળͨ͠ ①時間の計算が難しかった➡エポック秒とやらで解決 ②エラー発生時間insertから復旧時間のinsertまで、 DBのconnectを切った。(DBに張り付きは良くない) ③テーブル見直しに時間がかかった
(誰かに見てもらうのが一番) ④executeで実行したらfinishできちんと閉じないと、 うまく動作しないことが分かったので修正
ބࢁؾ͍ͮͨ Railsでグラフ化するとき、 データを何度も再計算させると 負荷高くなるんじゃね?
·ͨ࡞Γ·ͨ͠ Rails用のテーブル(resultテーブル)を作成。 毎朝9時にでtotal_counts➡resultテーブルに計算 Perlで!
͜͜·ͰRailsͷͳ͠ あとはグラフにするだけ!順調!
ͱΓ͋͑ͣͲ͏͠Α͏͔ そういえば社内でグラフにするやつがあったような。 Gaiaさん
ಡΉ ソースコードを読んでみる。 分からないけど分かる。 というかこれパクればいけるんじゃね? ‑
それじゃ面白くないっ
Ұ͔Β࡞ͬͯΈΔ͜ͱʹ 一から作り直す判断が遅かったものの、 bootstrap + lazy_high_chartで作ってみることに。 そしてまずは初心者本を買ってみました。
͓՛ࢠϠϯΩʔొ この時期から、平山さんがお菓子を取りに来るときに グラフまだ? ・・・と恐喝される日々。 ? お菓子足りないんだけど?
? もうできてるでしょ 恐怖 恐 喝 逝 。 縦社会
ک͑ͳ͕Βϓϩάϥϛϯά Railsとmysqlの連携方法を理解したり、 Rubyの書式や言葉を覚えるのに苦戦。 ➡初心者本熟読 またRailsのコマンドの動きを覚えるのに時間もかかりました。
rails コマンド rake コマンド ➡初心者本熟読 Lazy_high_chartの挙動理解にも時間がかかりました。 ➡ブログ等のjps + highchartsのFAQ熟読
͍ͦͯͭ͠ʹ なんだかんだやって、 色んな人に教えてもらい。。
ग़དྷ·ͨ͠ h[p://10.29.3.101:3000/result2013
dev.livesense.jpʹ͋Γ·͢ Gaiaさんの隣にいるなんて恐れ多いっ。。 ‐こいつ
࡞ͬͯײͨ͜͡ͱ part1 ①Rubyから勉強してRailsしたほうが良い。絶対 ②変数操作はperlのほうが柔軟。 ただ、Rubyは見やすい
③lazy_high_chartはカスタマイズ出来る点が多くて便利 ④次回はhamlとかslim入れたい ⑤本という先行投資は必要。お早めに
࡞ͬͯײͨ͜͡ͱ part2 ⑥DB設計大事。早めに作ってレビューを貰うこと。 ⑦周りに素晴らしい先生がいっぱいいるので、 調べて分からなかったら聞いてみる
⑧vimを改造していきたい ⑨次回はテストを組み込んでいきたい ⑩何もないところから出来たときの感動が素晴らしい
Ͳͷ͘Β͍͔͔ͬͨͷʁ ちなみに ラック移設や障害対応などがあり、 かかった日数としては2〜3週間くらいです (時間掛け過ぎとか言わないでね!!)
࠷ޙʹ ソースはひどいです。 が、まだまだ分からないことだらけなので、 精神的に、肉体的に病まない程度の ご指摘お待ちしております。
罵倒してくれるドSな方、急募。
ࢀߟॻͳͲ h[p://colorschemedesigner.com/ 基礎 Ruby on Rails h[p://api.highcharts.com/highcharts Rails で Lazy
high charts を使ってチャートを実装してみた
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
͋ͨΓ·͑Λɺൃ໌͠Α͏ɻ