Enviar búsqueda
Cargar
Un newbie conoce a Sinatra
•
1 recomendación
•
791 vistas
Jano González
Seguir
Lightning talk sobre Sinatra realizada en el segundo meetup del Subgrupo Ruby
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 48
Descargar ahora
Descargar para leer sin conexión
Recomendados
Node js Alt.net Hispano
Node js Alt.net Hispano
hdgarcia
Dominando dynos en heroku
Dominando dynos en heroku
fedesoria
Ruby 101 session 5
Ruby 101 session 5
Sergio Castillo Yrizales
Introducción a Ruby on rails
Introducción a Ruby on rails
Javier Ferrer González
Sinatra slideshare
Sinatra slideshare
Nemoto Yusuke
¿Por qué ruby on rails?
¿Por qué ruby on rails?
Javier Lafora Rey
10 cosas de rails que deberías saber
10 cosas de rails que deberías saber
Carlos Sánchez Pérez
Ruby on Rails Presentation
Ruby on Rails Presentation
Joost Hietbrink
Recomendados
Node js Alt.net Hispano
Node js Alt.net Hispano
hdgarcia
Dominando dynos en heroku
Dominando dynos en heroku
fedesoria
Ruby 101 session 5
Ruby 101 session 5
Sergio Castillo Yrizales
Introducción a Ruby on rails
Introducción a Ruby on rails
Javier Ferrer González
Sinatra slideshare
Sinatra slideshare
Nemoto Yusuke
¿Por qué ruby on rails?
¿Por qué ruby on rails?
Javier Lafora Rey
10 cosas de rails que deberías saber
10 cosas de rails que deberías saber
Carlos Sánchez Pérez
Ruby on Rails Presentation
Ruby on Rails Presentation
Joost Hietbrink
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Javier Eguiluz
Cómo domar SonataAdminBundle
Cómo domar SonataAdminBundle
Victoria Quirante Ruiz
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
quaip
Código Bonito con PHP
Código Bonito con PHP
Mauricio Gelves
Meetup training Taller RoR
Meetup training Taller RoR
cdechauri
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Paradigma Digital
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Fátima Casaú Pérez
Greach 2011 : Creando Plugins Con Griffon
Greach 2011 : Creando Plugins Con Griffon
Mario García
Plone en La Jornada
Plone en La Jornada
Héctor Velarde
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Pablo Godel
Taller introduccion symfony2
Taller introduccion symfony2
Mario IC
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
betabeers
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain
Raul Fraile
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
peter69
Crear Plugin de WordPress desde Cero
Crear Plugin de WordPress desde Cero
Eduardo Turiño
Masterclass ADWE Madrid
Masterclass ADWE Madrid
Kubide
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
nacho mascort
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
Ricard Luquero
Scraping the web with python
Scraping the web with python
Jose Manuel Ortega Candel
The Original Hacker número 11.
The Original Hacker número 11.
Huehue 1
Spring jdbc
Spring jdbc
Jano González
Vim FTW!
Vim FTW!
Jano González
Más contenido relacionado
Similar a Un newbie conoce a Sinatra
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Javier Eguiluz
Cómo domar SonataAdminBundle
Cómo domar SonataAdminBundle
Victoria Quirante Ruiz
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
quaip
Código Bonito con PHP
Código Bonito con PHP
Mauricio Gelves
Meetup training Taller RoR
Meetup training Taller RoR
cdechauri
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Paradigma Digital
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Fátima Casaú Pérez
Greach 2011 : Creando Plugins Con Griffon
Greach 2011 : Creando Plugins Con Griffon
Mario García
Plone en La Jornada
Plone en La Jornada
Héctor Velarde
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Pablo Godel
Taller introduccion symfony2
Taller introduccion symfony2
Mario IC
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
betabeers
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain
Raul Fraile
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
peter69
Crear Plugin de WordPress desde Cero
Crear Plugin de WordPress desde Cero
Eduardo Turiño
Masterclass ADWE Madrid
Masterclass ADWE Madrid
Kubide
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
nacho mascort
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
Ricard Luquero
Scraping the web with python
Scraping the web with python
Jose Manuel Ortega Candel
The Original Hacker número 11.
The Original Hacker número 11.
Huehue 1
Similar a Un newbie conoce a Sinatra
(20)
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Cómo domar SonataAdminBundle
Cómo domar SonataAdminBundle
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
Código Bonito con PHP
Código Bonito con PHP
Meetup training Taller RoR
Meetup training Taller RoR
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Greach 2011 : Creando Plugins Con Griffon
Greach 2011 : Creando Plugins Con Griffon
Plone en La Jornada
Plone en La Jornada
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Taller introduccion symfony2
Taller introduccion symfony2
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 0...
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Crear Plugin de WordPress desde Cero
Crear Plugin de WordPress desde Cero
Masterclass ADWE Madrid
Masterclass ADWE Madrid
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
Scraping the web with python
Scraping the web with python
The Original Hacker número 11.
The Original Hacker número 11.
Más de Jano González
Spring jdbc
Spring jdbc
Jano González
Vim FTW!
Vim FTW!
Jano González
Ruby
Ruby
Jano González
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
Jano González
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterprise
Jano González
Programación Políglota en la JVM
Programación Políglota en la JVM
Jano González
A Little RSpec
A Little RSpec
Jano González
JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?
Jano González
Un emulador de Game Boy escrito en Ruby (parte 1)
Un emulador de Game Boy escrito en Ruby (parte 1)
Jano González
Taller de Unit Testing y TDD en Java: Parte 1
Taller de Unit Testing y TDD en Java: Parte 1
Jano González
Curso de Spring: Transacciones
Curso de Spring: Transacciones
Jano González
Análisis y Diseño OO 2
Análisis y Diseño OO 2
Jano González
Análisis y Diseño OO 1
Análisis y Diseño OO 1
Jano González
Programación Java
Programación Java
Jano González
Curso de Spring: Beans
Curso de Spring: Beans
Jano González
Más de Jano González
(15)
Spring jdbc
Spring jdbc
Vim FTW!
Vim FTW!
Ruby
Ruby
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterprise
Programación Políglota en la JVM
Programación Políglota en la JVM
A Little RSpec
A Little RSpec
JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?
Un emulador de Game Boy escrito en Ruby (parte 1)
Un emulador de Game Boy escrito en Ruby (parte 1)
Taller de Unit Testing y TDD en Java: Parte 1
Taller de Unit Testing y TDD en Java: Parte 1
Curso de Spring: Transacciones
Curso de Spring: Transacciones
Análisis y Diseño OO 2
Análisis y Diseño OO 2
Análisis y Diseño OO 1
Análisis y Diseño OO 1
Programación Java
Programación Java
Curso de Spring: Beans
Curso de Spring: Beans
Último
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
AlanCedillo9
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Keyla Dolores Méndez
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
ssuserf18419
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
IsabellaMontaomurill
La era de la educación digital y sus desafios
La era de la educación digital y sus desafios
Fundación YOD YOD
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
Fundación YOD YOD
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
GDGSucre
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
WilbisVega
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
FacuMeza2
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
Iván López Martín
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
soporteupcology
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
pabonheidy28
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
JOSEMANUELHERNANDEZH11
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
GiovanniJavierHidalg
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
SergioMendoza354770
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
BRAYANJOSEPHPEREZGOM
Último
(19)
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
La era de la educación digital y sus desafios
La era de la educación digital y sus desafios
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
Un newbie conoce a Sinatra
1.
Un newbie conoce
a Sinatra Alejandro “Jano” González
2.
http://janogonzalez.com
3.
Sinatra es un
DSL para crear aplicaciones web en Ruby
4.
De acuerdo... ¿Pero cómo
lo uso?
5.
Mientras tanto en
New York... Do it my way... gem install sinatra
6.
# hello_world.rb require 'sinatra' get
'/' do 'Hello World!' end
7.
$ ruby hello_world.rb
8.
9.
Parece sencillo... ¿Qué otras
gracias tiene?
10.
Las rutas son
el concepto fundamental de Sinatra
11.
12.
Método HTTP
+ Patrón URL
13.
get, post, put
o delete + Patrón URL
14.
get '/' do
# Leer entidad End post '/' do # Crear entidad end put '/' do # Actualizar entidad end delete '/' do # Eliminar entidad end
15.
Método HTTP
+ '/ruta/fija' o 'ruta/:parm'
16.
get '/entidad/:id' do
# El id está en params[:id] End get '/entidad/:id' do |id| # El id está en id end
17.
Método HTTP
+ '/ruta/*'
18.
get '/desde/*/hasta/*' do
# Los 2 matches de * están # en params[:splat] End get '/entidad/*.html' do # El match de * está en params[:splat] end
19.
Los archivos estáticos
están por omisión en /public
20.
Las vistas están
por omisión en /view
21.
También pueden declararse dentro
del mismo archivo!
22.
Soporte para ERB, HAML,
Markdown, Textile, etc.
23.
get '/' do
# Para obtener la plantilla bajo # /view/index.haml haml :index end
24.
Es posible definir
filtros
25.
before do
# Hacer algo antes end after do # Hacer algo después end
26.
Es posible manejar
errores
27.
not_found do
# Hacer algo en caso de 404 end error 403 do # Hacer algo en caso de no autorizado end error Twitter::Unauthorized do # Manejar la excepción end error do # Manejar error genérico end
28.
Aplicaciones modulares
29.
class MyApp <
Sinatra::Base
30.
¿Qué camino debe
seguir un newbie para crear una aplicación?
31.
Fo
rk m e on G itH ub Revisemos el pulento ejemplo... http://my-tweet-week.heroku.com
32.
RVM
+ GitHub + Heroku + Bundler
33.
$
rvm gemset create nombre_aplicacion $ rvm gemset use nombre_aplicacion $ gem install bundler $ gem install heroku
34.
Crea un Gemfile indicando
las gems que requiere tu aplicación
35.
source 'http://rubygems.org' gem
'sinatra' gem 'haml' gem 'twitter' gem 'oauth' gem 'json_pure' group :test do gem 'rspec' gem 'rack-test' end
36.
$ bundle install
37.
Crea un config.ru
para el despliegue de tu aplicación
38.
require File.join(File.dirname(__FILE__), 'my_tweet_week.rb') run MyTweetWeek
39.
Programa tu aplicación
40.
require 'bundler' Bundler.setup(:default) require
'sinatra' require 'haml' require 'twitter' require 'oauth' class MyTweetWeek < Sinatra::Base set :haml, :format => :html5, :attr_wrapper => '"' enable :sessions, :static, :raise_errors set :public, File.join(File.dirname(__FILE__), 'public') get '/' do haml :index end get '/login' do request_token = consumer.get_request_token(:oauth_callback => ENV['OAUTH_CALLBACK']) session[:request_token] = request_token.token session[:request_token_secret] = request_token.secret redirect request_token.authorize_url end . . .
41.
Haz un push
en Heroku y tendrás tu aplicación en la web :)
42.
$ git push
heroku master
43.
44.
Tus sugerencias y
críticas me ayudarán a dejar de ser un newbie :)
45.
Sinatra es ideal
para aplicaciones pequeñas y servicios web
46.
http://www.sinatrarb.com
47.
No actuaron hoy
Rutas Regex, Rutas condicionales, Helpers, Acceso al objeto Request, Et ál.
48.
Imágenes de Wikimedia Commons
Descargar ahora