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
AssetPipelineのきもち
Search
lion_man44
March 20, 2015
Programming
0
1k
AssetPipelineのきもち
AssetPipelineで失敗した話
lion_man44
March 20, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
Introduction to C Extensions
sylph01
3
130
やっと腹落ち「スプリント毎に動くモノをリリースする」〜ゼロから始めるメガバンクグループのアジャイル実践〜
sasakendayo
0
250
Datadog Workflow Automation で圧倒的価値提供
showwin
1
340
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
130
オレを救った Cline を紹介する
codehex
16
15k
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
190
Better Code Design in PHP
afilina
0
190
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
870
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
9
1.7k
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
430
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
260
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
220
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Building Adaptive Systems
keathley
40
2.4k
How STYLIGHT went responsive
nonsquared
99
5.4k
Unsuck your backbone
ammeep
669
57k
The Invisible Side of Design
smashingmag
299
50k
Building Applications with DynamoDB
mza
93
6.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Being A Developer After 40
akosma
89
590k
Statistics for Hackers
jakevdp
797
220k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Transcript
@lion_man44 AssetPipelineのきもち
自己紹介
ライオン フロントエンドを考え生き抜く会所属(現在会員1名) ・Androidの会社に所属するも、何故か常駐先がRubyの案件 Ruby1.8.7からRuby1.9.3のバージョンアッププロダクトを経験 B2B案件に携わり、初めてBackbone.jsを使ったJS開発を行った
その事によりIT業界特有の上司とのコミュニケーションの闇とJSの闇を知る ・次にスタートアップに携わり、資金回収部隊として◦◦に常駐に行く そこでCreate.jsを使ったHTML5ゲームに携わる その事により人間社会のコミュニケーションの闇とCanvasやCSSとAndroid標準ブラウザ の闇を知る
内容 ゆるふわ (人生 ゆるふわ)
我々(人類)はRailに乗る事にした
当初、まさかと思われていたRail的な人生 は見事成功した(Rails2系から)
そう思っていたが、問題があった
「JavaScript」ファイルどうする
キッチリ分かれた model と controller に 比べ、そこら中に散らばるJSファイル
そこに現れた一つのGem
「Sprockets」
主な機能
複数のJavaScriptファイルを1つにまとめる
利点
利点 • 共通コードを切り出し、再利用しやすいフォルダ構成にしやすい • JavaScriptファイルを1つにまとめる事によってHTTPリクエストの回数 減 • Requireしやすい
こいつがあったおかげでRailsのフロントが救われた
Railsに組み込まれる(ver 3.1)
もはや無かった時代を思い出せない
(そんなにRails触ってないけど)
ただ、一つ問題があった
個別化して読み込みたい
めっちょ個別化して読み込みたい
1つにはしてくれて良いんだけど、必要無 い部分まではロードしなくていいんだよ^^;
そこで考えた
None
やった事
やった事リスト • (前提条件)本来ならapplication.jsしか呼んでない所がほとんどのプロ ジェクトだと思うが、 a.js, b.js, c.js と3つに分かれていた。 • 「require_tree
.」を削除した • 「rails-‐assets.org」を使う事にした • 「javascript_include_tagのasync: true」を使う事にした • htmlと同じ構成でファイルを置いた
失敗した
None
None
ドヤ顔 ꉂꉂ ( ˆᴗˆ )
読み込みタイミングをちゃんと調べきれて いなかった
失敗しない為には
unless 心配性? (#心配性じゃない人達へ)
「japascript_include_tag params[:controller]」 をちゃんと使う
「Rails.application.config.assets.precompile = %w()」 をちゃんと使う
「config.assets.debug = false」
ローカルでちゃんとがっちゃんこしてくれる
WebコンソールのElementsで読み込まれ ている場所をちゃんと見る
else (心配性な方々へ)
スクショを撮る
以上です、ありがとうございました!