SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
テンプレートエンジン
                 slimの紹介
                  @patorash
                 2013/01/26
13年1月26日土曜日                   1
自己紹介
  • 名前:       尾古 豊明(おこ とよあき)

  • twitter:   @patorash(パトラッシュ)

  • 所属:       株式会社 リゾーム(#R社)

  • 守備範囲:       Ruby, Rails, RSpec, PHP, jQuery, Android

  • 第6回メタプログラミングRuby読書会を2/9(土)にや
     るのでご参加お待ちしております。

13年1月26日土曜日                                                2
採用情報
  • リゾームでは優秀なエンジニアを募集しています。


  • githubでソース管理しながらRailsでグループウェアを
     作ってテストを書く、やりがいのあるお仕事です。

  • Ruby好きな人。Rails好きな人。テスト好きな人。
     AWS好きな人。自動化好きな人。好奇心の強い人。

  • これらのどれかにあてはまって、
     「あ∼、転職したいな∼」
     と思い悩んでいる人は@patorashまで。

13年1月26日土曜日                          3
ところで
              テンプレートエンジン
               何を使ってますか?


13年1月26日土曜日                4
多分、erbですよね?




13年1月26日土曜日                 5
erbのここが嫌い…

  • htmlの記述量が多い


  • <%=       @title %> という書き方がPHPみたい

  • <%        ... %>と打つのが面倒くさい

  • 行数とタグが増えると可読性が悪い




13年1月26日土曜日                             6
それを解決してくれるのが
           slimです。
13年1月26日土曜日           7
どこがいいの?slim

  • 記述量が劇的に改善


  • 閉じ括弧をかかなくてもよい


  • id,   classをCSSのセレクタみたいに書ける

  • なにより<%=    ... %>地獄にならない




13年1月26日土曜日                       8
簡単な例を…
 <div class=”header”>
   <img id=”logo” src=”/images/test.png” />
   <h1 id=”title”>
     <%= @title %>
   </h1>
   <ul class=”nav”>
     <li><a href=”#”>メニュー1</a></li>
          <li><a href=”#”>メニュー2</a></li>
          <li><a href=”#”>メニュー3</a></li>
   </ul>
   <% if login? %>
     <p><%= @current_user.name %></p>
   <% end %>
 </div>
13年1月26日土曜日                                   9
slimだとこうなる
 div.header
   img#logo src=”/images/test.png”
   h1#title = @title
   ul.nav
     li
        a href=”#” メニュー1
          li
               a href=”#” メニュー2
          li
               a href=”#” メニュー3
      - if login?
        p = @current_user.name

13年1月26日土曜日                          10
Railsでslimを使うには?
  • Gemfileに
      gem slim-rails
     を記述する。gem slim は必要ありません。

  • bundle    install する。



                これだけです!

13年1月26日土曜日                     11
とはいっても、
              既存のerbファイルが…



13年1月26日土曜日                  12
ご安心ください!




          html2slimがあります。erbからの変換も可能。
              http://html2slim.herokuapp.com/
13年1月26日土曜日                                     13
デモします。




13年1月26日土曜日            14
使ってみた感想
  ★メリット

     ✴圧倒的な記述量の少なさに惚れる

     ✴id,class指定をjqueryのセレクタ風に書けるのが素
        敵すぎる。
  ★デメリット

     ✴時々わからんようになってつまづく…
        (唯一ここが、erbと比べての難点)
     ✴hoge.js.slimを書くのはerbよりもイラッとする。
        ¦ の後にJavaScriptを記述する必要アリ。
13年1月26日土曜日                            15
slimのよさ、
       わかってもらえましたか?



13年1月26日土曜日           16
ご清聴、まことに
       ありがとうございました。



13年1月26日土曜日           17

Más contenido relacionado

La actualidad más candente

今日からはじめるリファクタリング
今日からはじめるリファクタリング今日からはじめるリファクタリング
今日からはじめるリファクタリングJunya Shimazu
 
パスワードを管理する時に気にした方がいいあれこれ
パスワードを管理する時に気にした方がいいあれこれパスワードを管理する時に気にした方がいいあれこれ
パスワードを管理する時に気にした方がいいあれこれtoku toku
 
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルにCSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルにMasunaga Ray
 
Sansan x ESM Ruby合同勉強会 2015.05.15
Sansan x ESM Ruby合同勉強会 2015.05.15Sansan x ESM Ruby合同勉強会 2015.05.15
Sansan x ESM Ruby合同勉強会 2015.05.15Tetsuya Mase
 
クリエイターじゃなくてもできるWebサイト表示速度改善方法(事例のこぼれ話のおまけつき)
クリエイターじゃなくてもできるWebサイト表示速度改善方法(事例のこぼれ話のおまけつき)クリエイターじゃなくてもできるWebサイト表示速度改善方法(事例のこぼれ話のおまけつき)
クリエイターじゃなくてもできるWebサイト表示速度改善方法(事例のこぼれ話のおまけつき)Yuriko Kamimori
 
JPUG の中国支部長変わったってよ #mysqlbeginner
JPUG の中国支部長変わったってよ #mysqlbeginnerJPUG の中国支部長変わったってよ #mysqlbeginner
JPUG の中国支部長変わったってよ #mysqlbeginnerIkki Takahashi
 
春のJavaScript祭り
春のJavaScript祭り春のJavaScript祭り
春のJavaScript祭りMasahiro Hata
 
Ruby introduction for_rails
Ruby introduction for_railsRuby introduction for_rails
Ruby introduction for_railsTakashi Toyofuku
 
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話nekogeruge_987
 

La actualidad más candente (14)

今日からはじめるリファクタリング
今日からはじめるリファクタリング今日からはじめるリファクタリング
今日からはじめるリファクタリング
 
パスワードを管理する時に気にした方がいいあれこれ
パスワードを管理する時に気にした方がいいあれこれパスワードを管理する時に気にした方がいいあれこれ
パスワードを管理する時に気にした方がいいあれこれ
 
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルにCSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
CSS は、もっと楽になる – LESS を活用してコーディング作業をシンプルに
 
Gemの話 紹介編
Gemの話 紹介編Gemの話 紹介編
Gemの話 紹介編
 
スライド4
スライド4スライド4
スライド4
 
Sansan x ESM Ruby合同勉強会 2015.05.15
Sansan x ESM Ruby合同勉強会 2015.05.15Sansan x ESM Ruby合同勉強会 2015.05.15
Sansan x ESM Ruby合同勉強会 2015.05.15
 
クリエイターじゃなくてもできるWebサイト表示速度改善方法(事例のこぼれ話のおまけつき)
クリエイターじゃなくてもできるWebサイト表示速度改善方法(事例のこぼれ話のおまけつき)クリエイターじゃなくてもできるWebサイト表示速度改善方法(事例のこぼれ話のおまけつき)
クリエイターじゃなくてもできるWebサイト表示速度改善方法(事例のこぼれ話のおまけつき)
 
スライド5
スライド5スライド5
スライド5
 
JPUG の中国支部長変わったってよ #mysqlbeginner
JPUG の中国支部長変わったってよ #mysqlbeginnerJPUG の中国支部長変わったってよ #mysqlbeginner
JPUG の中国支部長変わったってよ #mysqlbeginner
 
春のJavaScript祭り
春のJavaScript祭り春のJavaScript祭り
春のJavaScript祭り
 
Ruby introduction for_rails
Ruby introduction for_railsRuby introduction for_rails
Ruby introduction for_rails
 
八王子
八王子八王子
八王子
 
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
 
自作アプリ7月号
自作アプリ7月号自作アプリ7月号
自作アプリ7月号
 

Similar a Slimの紹介

魔法少女 Laravel
魔法少女 Laravel魔法少女 Laravel
魔法少女 LaravelKenichi Mukai
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Developmentaktsk
 
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道Shigeru UCHIYAMA
 
Rails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるRails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるTomohiko Himura
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたいMasato Noguchi
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Tomohiko Himura
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活をRyunosuke SATO
 
徹底攻略!PHP5.4
徹底攻略!PHP5.4徹底攻略!PHP5.4
徹底攻略!PHP5.4Takuya Sato
 
きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章Takayuki Kurosawa
 
Rails templateで開発の初速を上げよう
Rails templateで開発の初速を上げようRails templateで開発の初速を上げよう
Rails templateで開発の初速を上げよう豊明 尾古
 
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン 【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン linkbal
 
JavascriptでRubyの作り方
JavascriptでRubyの作り方JavascriptでRubyの作り方
JavascriptでRubyの作り方Shuyo Nakatani
 
Gitとローカル環境
Gitとローカル環境Gitとローカル環境
Gitとローカル環境Atsushi Ito
 
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編Kazuya Numata
 

Similar a Slimの紹介 (20)

魔法少女 Laravel
魔法少女 Laravel魔法少女 Laravel
魔法少女 Laravel
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Development
 
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道
 
TypeScript 勉強会
TypeScript 勉強会TypeScript 勉強会
TypeScript 勉強会
 
Scala conf2013
Scala conf2013Scala conf2013
Scala conf2013
 
Rails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるRails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決める
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたい
 
Code Anything
Code AnythingCode Anything
Code Anything
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術
 
Solr勉強会第10回
Solr勉強会第10回Solr勉強会第10回
Solr勉強会第10回
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
徹底攻略!PHP5.4
徹底攻略!PHP5.4徹底攻略!PHP5.4
徹底攻略!PHP5.4
 
きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章きつねさんでもわかるLLVM読書会amagasaki.rb第5章
きつねさんでもわかるLLVM読書会amagasaki.rb第5章
 
Rails templateで開発の初速を上げよう
Rails templateで開発の初速を上げようRails templateで開発の初速を上げよう
Rails templateで開発の初速を上げよう
 
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン 【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
【テックリンク】平日の夜1時間で学ぶ!RubyonRails初心者ハンズオン
 
JavascriptでRubyの作り方
JavascriptでRubyの作り方JavascriptでRubyの作り方
JavascriptでRubyの作り方
 
Gitとローカル環境
Gitとローカル環境Gitとローカル環境
Gitとローカル環境
 
20130929 tottoruby
20130929 tottoruby20130929 tottoruby
20130929 tottoruby
 
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
 
Creators meetup5
Creators meetup5Creators meetup5
Creators meetup5
 

Más de 豊明 尾古

OSS-DB 取得のススメ
OSS-DB 取得のススメOSS-DB 取得のススメ
OSS-DB 取得のススメ豊明 尾古
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方豊明 尾古
 
Ecmascript2015とその周辺について
Ecmascript2015とその周辺についてEcmascript2015とその周辺について
Ecmascript2015とその周辺について豊明 尾古
 
ActiveRecord::Enumのススメ
ActiveRecord::EnumのススメActiveRecord::Enumのススメ
ActiveRecord::Enumのススメ豊明 尾古
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips豊明 尾古
 
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有するウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する豊明 尾古
 
Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術豊明 尾古
 
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪豊明 尾古
 
KotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみたKotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみた豊明 尾古
 
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介豊明 尾古
 
Calabashでbddしようぜ
CalabashでbddしようぜCalabashでbddしようぜ
Calabashでbddしようぜ豊明 尾古
 
Rubotoを試してみた
Rubotoを試してみたRubotoを試してみた
Rubotoを試してみた豊明 尾古
 
アプリ内課金してみた
アプリ内課金してみたアプリ内課金してみた
アプリ内課金してみた豊明 尾古
 
Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座豊明 尾古
 
Android 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみてAndroid 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみて豊明 尾古
 
ABC2011 Winter #jag4
ABC2011 Winter #jag4ABC2011 Winter #jag4
ABC2011 Winter #jag4豊明 尾古
 

Más de 豊明 尾古 (20)

OSS-DB 取得のススメ
OSS-DB 取得のススメOSS-DB 取得のススメ
OSS-DB 取得のススメ
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方
 
Ecmascript2015とその周辺について
Ecmascript2015とその周辺についてEcmascript2015とその周辺について
Ecmascript2015とその周辺について
 
ActiveRecord::Enumのススメ
ActiveRecord::EnumのススメActiveRecord::Enumのススメ
ActiveRecord::Enumのススメ
 
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
 
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有するウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
 
Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術
 
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
 
KotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみたKotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみた
 
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介
 
Kotlinの紹介
Kotlinの紹介Kotlinの紹介
Kotlinの紹介
 
Calabashでbddしようぜ
CalabashでbddしようぜCalabashでbddしようぜ
Calabashでbddしようぜ
 
Rubotoを試してみた
Rubotoを試してみたRubotoを試してみた
Rubotoを試してみた
 
Successful git
Successful gitSuccessful git
Successful git
 
アプリ内課金してみた
アプリ内課金してみたアプリ内課金してみた
アプリ内課金してみた
 
Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座
 
Android 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみてAndroid 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみて
 
Gae開発入門
Gae開発入門Gae開発入門
Gae開発入門
 
ABC2011 Winter #jag4
ABC2011 Winter #jag4ABC2011 Winter #jag4
ABC2011 Winter #jag4
 
初めてのC2DM
初めてのC2DM初めてのC2DM
初めてのC2DM
 

Slimの紹介

  • 1. テンプレートエンジン slimの紹介 @patorash 2013/01/26 13年1月26日土曜日 1
  • 2. 自己紹介 • 名前: 尾古 豊明(おこ とよあき) • twitter: @patorash(パトラッシュ) • 所属: 株式会社 リゾーム(#R社) • 守備範囲: Ruby, Rails, RSpec, PHP, jQuery, Android • 第6回メタプログラミングRuby読書会を2/9(土)にや るのでご参加お待ちしております。 13年1月26日土曜日 2
  • 3. 採用情報 • リゾームでは優秀なエンジニアを募集しています。 • githubでソース管理しながらRailsでグループウェアを 作ってテストを書く、やりがいのあるお仕事です。 • Ruby好きな人。Rails好きな人。テスト好きな人。 AWS好きな人。自動化好きな人。好奇心の強い人。 • これらのどれかにあてはまって、 「あ∼、転職したいな∼」 と思い悩んでいる人は@patorashまで。 13年1月26日土曜日 3
  • 4. ところで テンプレートエンジン 何を使ってますか? 13年1月26日土曜日 4
  • 6. erbのここが嫌い… • htmlの記述量が多い • <%= @title %> という書き方がPHPみたい • <% ... %>と打つのが面倒くさい • 行数とタグが増えると可読性が悪い 13年1月26日土曜日 6
  • 7. それを解決してくれるのが slimです。 13年1月26日土曜日 7
  • 8. どこがいいの?slim • 記述量が劇的に改善 • 閉じ括弧をかかなくてもよい • id, classをCSSのセレクタみたいに書ける • なにより<%= ... %>地獄にならない 13年1月26日土曜日 8
  • 9. 簡単な例を… <div class=”header”> <img id=”logo” src=”/images/test.png” /> <h1 id=”title”> <%= @title %> </h1> <ul class=”nav”> <li><a href=”#”>メニュー1</a></li> <li><a href=”#”>メニュー2</a></li> <li><a href=”#”>メニュー3</a></li> </ul> <% if login? %> <p><%= @current_user.name %></p> <% end %> </div> 13年1月26日土曜日 9
  • 10. slimだとこうなる div.header img#logo src=”/images/test.png” h1#title = @title ul.nav li a href=”#” メニュー1 li a href=”#” メニュー2 li a href=”#” メニュー3 - if login? p = @current_user.name 13年1月26日土曜日 10
  • 11. Railsでslimを使うには? • Gemfileに gem slim-rails を記述する。gem slim は必要ありません。 • bundle install する。 これだけです! 13年1月26日土曜日 11
  • 12. とはいっても、 既存のerbファイルが… 13年1月26日土曜日 12
  • 13. ご安心ください! html2slimがあります。erbからの変換も可能。 http://html2slim.herokuapp.com/ 13年1月26日土曜日 13
  • 15. 使ってみた感想 ★メリット ✴圧倒的な記述量の少なさに惚れる ✴id,class指定をjqueryのセレクタ風に書けるのが素 敵すぎる。 ★デメリット ✴時々わからんようになってつまづく… (唯一ここが、erbと比べての難点) ✴hoge.js.slimを書くのはerbよりもイラッとする。 ¦ の後にJavaScriptを記述する必要アリ。 13年1月26日土曜日 15
  • 16. slimのよさ、 わかってもらえましたか? 13年1月26日土曜日 16
  • 17. ご清聴、まことに ありがとうございました。 13年1月26日土曜日 17