Ruby 24
AdequateRecord Pro™ una razón de peso para cambiarse a Rails 4.2
Partamos desde lo sencillo, cuando estamos hablando de Ruby on Rails el ActiveRecord es el M de la MVC, o sea la capa de que se conecta con la base de datos.
y cuando estamos hablando de AdequateRecord Pro estamos hablando de caching que logrará hacer a Ruby on Rails bastante más rápido.
Cuanto más rápido?, veamos el gráfico, a mi me encantan los gráficos.
El gráfico está en iteraciones por segundo, lo que significa que más es más rápido, y la prueba que se está corriendo consiste simplemente en buscar un usuario por id y por nombre.
Aquí el benchmark que escribió Aaron para comparar el AdequateRecord
require 'active_support'
require 'active_record'
p ActiveRecord::VERSION::STRING
ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: ':memory:'
ActiveRecord::Base.connection.instance_eval do
create_table(:people) { |t| t.string :name }
end
class Person < ActiveRecord::Base; end
person = Person.create! name: 'Aaron'
id = person.id
name = person.name
Benchmark.ips do |x|
x.report('find') { Person.find id }
x.report('find_by_name') { Person.find_by_name name }
end
Y finalmente la pregunta de rigor, cuando podremos probarlo?, y la verdad es que desde ya, la versión beta de rails 4.2 ya está online, pero definitivamente no es recomendable utilizar un beta en producción.
Receta para crear un dropdown de países con ruby on rails
Con ruby on rails es fácil crear un dropdown (o lista) para seleccionar un país.
Paso 1: Agregar la gema carmen-rails al gemfile, esta gema nos permitirá crear de forma fácil el dropdown de países
gem 'carmen-rails', '~> 1.0.0'
y luego actualizar las gemas con la linea bundle desde el terminal
recuerda que siempre debes reiniciar el servidor después de actualizar o poner gemas nuevas.
Paso 2:
Si queremos guardar los datos, supongamos que es el usuario el que escoge de que país viene, en ese caso tendríamos que generar una migración, ahora lo que se guarda en la base de datos no es el país, sino el código del país, así que generaremos una migración para agregar este código.
En el terminal:
rails g migration addCountryCodeToUser country_code:string
Paso 3: El formulario
En la vista donde tengamos el formulario de registro de usuario, agregaremos el dropdown para generar el listado de países.
<%= simple_form_for @user do |f| %> <%= f.input :country_code do %> <%= f.country_select :country_code, {object: f.object, prompt: 'País'} %> <% end %>
Opcional: Puedes marcar algunos países como destacados ocupando
<%= simple_form_for @user do |f| %> <%= f.input :country_code do %> <%= f.country_select :country_code, {object: f.object, prompt: 'País', priority: '%w(US CL)'} %> <% end %>
Puedes ver la documentación de la gema y obtener otras ideas en: https://github.com/jim/carmen-rails
Partiendo con Ruby
¿Qué es ruby?
Ruby en en lenguaje de programación dinámico, enfocado en la simplicidad y productividad y la felicidad de sus programadores. Tiene una sintaxis que se siente natural al leerla y fácil al escribirla.
¿Por qué razón ocuparlo?
Ruby es un lenguaje que al escribirlo se siente más natural, es cierto que la naturalidad se da con la costumbre, sin embargo hay lenguajes que a simple vista se parecen al inglés y otros que a simple vista parecen chino.
Código | PHP | Ruby |
---|---|---|
Repetir 100 veces | while ( $i < 100 ) { $i++; } |
while i < 100 do |
Iterar sobre una lista | foreach ($lista as $item) {echo $item; } |
lista.each do |item|puts item end |
Conversiones de datos | (int)$x |
x.to_i |
Puedes ver más ejemplos en Hyperglot |
Y eso que PHP no es el lenguaje más críptico, C++ puede llegar a ser mucho más críptico. Incluso hay competencia de obfuscasión de código.
El punto es que al final cada símbolo extra innecesario contribuye a hacer el lenguaje más críptico y más difícil de comprender para los que están empezando.
Aprende Ruby
TryRuby Es un muy buen experimento en inglés para aprender lo básico de programación y Ruby, aprenderás de forma guiada y muy sencilla, paso a paso la sintaxis de un lenguaje de programación dinámico.
La gran gracia?, es que solo necesitas 15 minutos y no tienes que instalar ningún programa para dar tus primeros pasos en el mundo de la programación. 비트코인 배팅
Quickstart
Una opción complementaria es realizar el Quickstart de ruby-lang, una guía de 20 minutos que da una introducción bastante completa de las capacidades de ruby.