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
Livesense Inc.
PRO
April 21, 2014
Technology
0
110
インフラ屋がRailsをやってみた #TechLunch
インフラ屋がRailsをやってみた
2013/11/16 (水) @ Livesense TechLunch
発表者:湖山 翔平
Livesense Inc.
PRO
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
EM候補者向け転職会議説明資料
livesense
PRO
0
6
コロナで失われたノベルティ作成ノウハウを復活させた話
livesense
PRO
0
73
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
360
転職会議でGPT-3を活用した企業口コミ要約機能をリリースした話
livesense
PRO
0
1k
株式会社リブセンス マッハバイト_プレイブック
livesense
PRO
0
410
Tech Award 2021 選出方法
livesense
PRO
0
1k
株式会社リブセンス エンジニアリング組織を支える風土と制度
livesense
PRO
0
530
株式会社リブセンス・マッハバイト 採用候補者様向け資料
livesense
PRO
0
210
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
2k
Other Decks in Technology
See All in Technology
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
560
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
320
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
240
データベース02: データベースの概念
trycycle
0
160
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
530
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
1
380
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
2.7k
require(ESM)とECMAScript仕様
uhyo
3
770
生産性向上チームの紹介
cybozuinsideout
PRO
1
870
Featured
See All Featured
Debugging Ruby Performance
tmm1
70
11k
KATA
mclloyd
15
12k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
RailsConf 2023
tenderlove
4
540
Rails Girls Zürich Keynote
gr2m
91
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
Producing Creativity
orderedlist
PRO
337
39k
Side Projects
sachag
451
41k
A Tale of Four Properties
chriscoyier
151
22k
Happy Clients
brianwarren
92
6.4k
Ruby is Unlike a Banana
tanoku
96
10k
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 を使ってチャートを実装してみた
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
͋ͨΓ·͑Λɺൃ໌͠Α͏ɻ