Enviar pesquisa
Carregar
Mixer2によるdynamic css sprite 201309第三回渋谷java
•
2 gostaram
•
1,461 visualizações
Y Watanabe
Seguir
プログラマとWebデザイナを悩ませるCSS Spriteを、Webアプリ内部で完全自動でやってのけたぜ!
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 15
Baixar agora
Baixar para ler offline
Recomendados
Web班
Web班
XMLProJ2014
Html5 nagoya 07
Html5 nagoya 07
Yoshiaki Sugimoto
さくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみた
Tak Nishikori
Introduce build in shrinker
Introduce build in shrinker
Daisuke Fuji
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
崇之 清水
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe
The cost of learning - advantage of mixer2
The cost of learning - advantage of mixer2
Y Watanabe
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
Y Watanabe
Recomendados
Web班
Web班
XMLProJ2014
Html5 nagoya 07
Html5 nagoya 07
Yoshiaki Sugimoto
さくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみた
Tak Nishikori
Introduce build in shrinker
Introduce build in shrinker
Daisuke Fuji
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
崇之 清水
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe
The cost of learning - advantage of mixer2
The cost of learning - advantage of mixer2
Y Watanabe
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
Y Watanabe
Mixer2 で作るカスタムテンプレートエンジン #渋谷java
Mixer2 で作るカスタムテンプレートエンジン #渋谷java
Jun Futagawa
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
Y Watanabe
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Y Watanabe
日本語によるJUnitの拡張について
日本語によるJUnitの拡張について
Kazuro Fukuhara
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
Y Watanabe
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
Y Watanabe
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Y Watanabe
Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016
Yoshio Terada
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
Y Watanabe
properties, yaml, and me
properties, yaml, and me
Y Watanabe
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Y Watanabe
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
Y Watanabe
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
sogdice
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
Y Watanabe
お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~
Che Renkov
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Toshimichi Suekane
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
Kondo Hitoshi
インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門
貴寛 益子
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
Shumpei Shiraishi
EmbulkのGCS/BigQuery周りのプラグインについて
EmbulkのGCS/BigQuery周りのプラグインについて
Satoshi Akama
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
崇之 清水
Mais conteúdo relacionado
Destaque
Mixer2 で作るカスタムテンプレートエンジン #渋谷java
Mixer2 で作るカスタムテンプレートエンジン #渋谷java
Jun Futagawa
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
Y Watanabe
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Y Watanabe
日本語によるJUnitの拡張について
日本語によるJUnitの拡張について
Kazuro Fukuhara
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
Y Watanabe
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
Y Watanabe
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Y Watanabe
Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016
Yoshio Terada
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
Y Watanabe
properties, yaml, and me
properties, yaml, and me
Y Watanabe
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Y Watanabe
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
Y Watanabe
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
sogdice
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
Y Watanabe
Destaque
(15)
Mixer2 で作るカスタムテンプレートエンジン #渋谷java
Mixer2 で作るカスタムテンプレートエンジン #渋谷java
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
日本語によるJUnitの拡張について
日本語によるJUnitの拡張について
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
properties, yaml, and me
properties, yaml, and me
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
Semelhante a Mixer2によるdynamic css sprite 201309第三回渋谷java
お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~
Che Renkov
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Toshimichi Suekane
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
Kondo Hitoshi
インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門
貴寛 益子
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
Shumpei Shiraishi
EmbulkのGCS/BigQuery周りのプラグインについて
EmbulkのGCS/BigQuery周りのプラグインについて
Satoshi Akama
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
崇之 清水
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
Yasunobu Ikeda
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
Yasunobu Ikeda
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Shotaro Suzuki
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作
Maboroshi.inc
Azure Blockchain Service ハンズオン ~ Logic App 統合編 ~
Azure Blockchain Service ハンズオン ~ Logic App 統合編 ~
Takunori Minamisawa
CSSだけで実現するグラフィック表現
CSSだけで実現するグラフィック表現
AdvancedTechNight
DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成
Shinsuke Sugaya
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
Semelhante a Mixer2によるdynamic css sprite 201309第三回渋谷java
(15)
お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
EmbulkのGCS/BigQuery周りのプラグインについて
EmbulkのGCS/BigQuery周りのプラグインについて
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作
Azure Blockchain Service ハンズオン ~ Logic App 統合編 ~
Azure Blockchain Service ハンズオン ~ Logic App 統合編 ~
CSSだけで実現するグラフィック表現
CSSだけで実現するグラフィック表現
DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
Mais de Y Watanabe
クラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーク
Y Watanabe
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
Y Watanabe
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
Y Watanabe
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Y Watanabe
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Y Watanabe
Mais de Y Watanabe
(6)
クラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーク
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Mixer2によるdynamic css sprite 201309第三回渋谷java
1.
Mixer2 + SpringMVCで 夢のDynamic
CSS Sprite 第三回 #渋谷Java http://atnd.org/events/42501 2013-09-28 @nabedge http://mixer2.org
2.
本日のデモ予定 1. Mixer2によるフルーツショップサンプルアプ リ 2. ダイナミックCSS
Spriteサンプルアプリ。 3. もし時間があればMixer2に インラインJavaScriptをからめた サンプルアプリ ※すべてのソースは https://github.com/nabedge にて公開
3.
ところで 「全ページSSL」の時代 https://twitter.com https://github.com https://facebook.com https://グループ企業システム.com https://www.google.com Googleアドセンスがhttpsページ対応
4.
全ページSSL化とCSS Spriteの関係 1. ひとつのhtml上に20種の<img>タグ 2.
「全ページSSL」なので 画像もhttpsでレスポンス。 – さもないと変なダイアログが出ちゃうから。 3. 100人がアクセスしてきたら? 4. (1+20)*100=2100リクエスト CSS Spriteで20個の画像が 1個にまとまっていれば (1+1)*100 = 200 _人人人人人人_ > ひとケタ違う!<  ̄^Y^Y^Y^Y^ ̄
5.
処理可能な 同時セッション数 ライセンスキーの 価格 10,000 50万円 50,000 100万円 100,000
200万円 もっと必要!? 性能限界です。 上位機種の購入を ご検討ください とあるSSLアクセラレータ(あくまで例)
6.
甘く見ないほうがいいですよ • 出典「SSL のパフォーマンスでお嘆きの貴兄に」 http://d.hatena.ne.jp/nappa_zzz/20111204/1322 961826 SSL
アクセラレータの価格に胃を痛めて いる貴兄、それが買えず SSL のためだ けにサーバの台数をニョキニョキ増やし ている貴兄、そうでなくとも SSL のパ フォーマンスでお嘆きの貴兄のために、 (以下略)
7.
一方、Webデザインの現場では 出典:「HTTPリクエストを減らすために - 【CSS Sprite編】スプライト地獄からの解放」 http://t32k.me/mol/log/reduce-http-requests-css-sprite (中略)考えてもみてください、画像の変更があ るたびにPhotoshopを開いて、画像を置き直し て、その位置をルーラーで割り出す。(中略)気 の遠くなるような面倒くさいタスクです。 (中略)もう、なんというかCSSスプライトが嫌 すぎてデザイナーと喧嘩することもしばしば。 これでは精神衛生上よくありません。
8.
デモへ ソースはこちら↓ https://github.com/nabedge/dynamic-css-sprite https://github.com/nabedge/googlemap-mixer2-sample
9.
Mixer2の特徴を一言でいうと Mixer2は、htmlタグを Javaオブジェクトとして 扱うので、実質なんでも できる。 HTML5のタグや data-*属性なども もちろんOK!
10.
CSS Spriteデモの動作原理(1) 1. Tomcat起動&Springコンテナ起動 2.
DI対象クラスをすべてインスタンス化 3. CssSpriteServiceクラスインスタンス化と同時 にテンプレートhtml(複数可)をMixer2でロード 4. <img class=“sprite” src=“...” />タグをImg型オ ブジェクトして全部拾い出す。<img>がどこに あってもOK
11.
CSS Spriteデモの動作原理(2) 5. 画像のパス(src属性から絶対パス算出)と、 画像サイズを取得してMapに維持 6.
画像をタテに連結してBufferedImageで維持 7. ブラウザからのhttpリクエストをSpringMVCの コントローラが受け取る 8. コントローラがViewオブジェクトを作る 9. Viewオブジェクトがhtmlテンプレートをロード。 10.<img class=“sprite” src=“...” />タグをImg型 オブジェクトして全部拾い出す。
12.
CSS Spriteデモの動作原理(3) 11.画像のパスをCssSpriteServiceインスタンス で維持しているMapと照合。 12.マッチしたらImgタグ型オブジェクトを操作 13.CssSpriteServiceが維持するmap情報から style属性用の値を取得し、style=“...”をImgオ ブジェクトにsetStyle() 14. src=“clear.gif”(1ドット透過gif)をImgオブジェ クトにsetSrc()
13.
CSS Spriteデモの動作原理(4) BEFORE: <img class="sprite"
src="foo/bar.png" /> AFTER: <img class=“sprite” src=“clear.gif" style=“width:40px; height:60px; background:url(/bigImage) 0 -319px;"/> /contextPath/bigImage へのhttpリクエストには あらかじめ作った巨大画像を直接レスポンス。
14.
インラインJavaScriptデモのポイント 1. 「サーバサイドからの埋め込みデータ」と 「JavaScriptプログラム」とを、 別々の<script>タグに分けてモックアップ htmlを作っておく。 – こうすれば、「JavaScriptがちゃんと動く状態の htmlモックアップ」を維持できる! 2.
APサーバ上で稼働させるときにMixer2で 「データ」のscriptタグだけを置換する
15.
おしまい • 詳しくは公式サイトとgithubを 見てね! http://mixer2.org/ http://github.com/nabedge
Baixar agora