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
890
AssetPipelineのきもち
AssetPipelineで失敗した話
lion_man44
March 20, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
Ruby GitHub Packages
bkuhlmann
0
630
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
Apache Hive 4 on Treasure Data
ryukobayashi
0
200
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
410
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
200
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
140
新宿ダンジョンを可視化してみた
satoshi7190
2
250
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
270
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
370
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
151
22k
BBQ
matthewcrist
80
8.8k
Building Applications with DynamoDB
mza
88
5.6k
Atom: Resistance is Futile
akmur
259
25k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Building Adaptive Systems
keathley
31
1.9k
Designing with Data
zakiwarfel
96
4.8k
Being A Developer After 40
akosma
57
580k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Why Our Code Smells
bkeepers
PRO
331
56k
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
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 (心配性な方々へ)
スクショを撮る
以上です、ありがとうございました!