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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
lion_man44
March 20, 2015
Programming
0
1.2k
AssetPipelineのきもち
AssetPipelineで失敗した話
lion_man44
March 20, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
並行開発のためのコードレビュー
miyukiw
0
280
Basic Architectures
denyspoltorak
0
680
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
980
CSC307 Lecture 04
javiergs
PRO
0
660
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
370
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
220
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
SourceGeneratorのススメ
htkym
0
200
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
2
250
For a Future-Friendly Web
brad_frost
182
10k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
Designing Experiences People Love
moore
144
24k
WENDY [Excerpt]
tessaabrams
9
36k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Context Engineering - Making Every Token Count
addyosmani
9
660
Docker and Python
trallard
47
3.7k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
170
Skip the Path - Find Your Career Trail
mkilby
0
57
The Language of Interfaces
destraynor
162
26k
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 (心配性な方々へ)
スクショを撮る
以上です、ありがとうございました!