(in)visibles

Category: ruby

Ruby no es fácil

En los últimos meses, parte de mi trabajo en lextrend ha sido enseñar y asesorar a la gente que estaba empezando a trabajar en proyectos con Ruby on Rails. Y he visto que parte de la dificultad para aprender ruby depende del entorno donde hayas trabajado antes. Por ejemplo, si has trabajado antes con python o con perl, te va a ser mucho más fácil que si has trabajado con .NET.

Además de la facilidad de haber trabajado con un lenguaje de programación similar, hay algunas habilidades que condicionan la facilidad con la que vas a aprender ruby:

Unix / Linux: Si no te sabes manejar un poco por la linea de comandos, vas a tener problemas. Aunque uses un gran IDE como RubyMine o Netbeans, hay muchas cosas que están orientadas a la línea de comandos. En cambio, cuanto mas acostumbrado estés  usarla y mas sepas de unix, serás mucho mas productivo (y te divertirás más). Creo que esta es una de las mayores dificultades que se va a encontrar alguien que venga de .net.
Poca documentación: Esta es una de las criticas que mas he escuchado. Y es cierto, aunque es algo que está cambiando poco a poco, en la mayoría de las librerías la documentación suele ser escasa o inexistente. Pero el contrapunto, está en la comunidad. La comunidad de ruby es muy activa, con mucha gente muy apasionada por lo que hace y con muchas ganas de compartir conocimiento y experiencias. Si no participas en la comunidad, te va a resultar mucho más difícil (y dudo que lo disfrutes).
Rails no es ruby: Una de las cosas que me pasó cuando empecé con rails, y que también le ha pasado a varios colegas, es que aprendí rails, pero no ruby. Como rails te da DSLs para hacer determinadas cosas (por ejemplo ActiveRecord o
las rutas), si no haces otras cosas fuera de rails tardarás mucho más en aprender ruby. Un consejo: haz alguna cosa para jugar solo en ruby. Si quieres hacer algo web, prueba sinatra

Ruby es muy potente y muy flexible:¡ Permite hacer una cosa de muchas formas distintas. Por eso es muy importante seguir unas buenas practicas y conocer determinadas convenciones. Dos libros muy recomendables en este aspecto: Ruby Best Practices y Eloquent Ruby

Resumiendo, creo que para disfrutar con ruby, es necesaria una cierta actitud hacker.

ack y emacs.

Emacs es un gran sistema operativo al que le falta un buen editor.
Anónimo.

Llevaba tiempo echando de menos en emacs algo que la mayoria de los grandes y pesados IDES tiene: busqueda integrada. Que cuando busques por un termino, te muestre los resultados y estos sean linkables y te lleven al fichero y la linea donde esta lo que buscas.

Continue reading

Conferencia Rails 2009

logo conferencia rails

conferencia rails

Este año la conferencia rails promete, además de haber un día mas para talleres prácticos, vendrá gente como: Nathaniel Talbott, David A. Black, Yehuda Katz, Obie Fernandez y Scott Chacon.

Desde hace algún tiempo tengo curiosidad hacia otras alternativas a las bases de datos relacionales,  asi que voy a ir con muchas ganas a la charla sobre key value stores y a la de casandra DB.

Tampoco pienso perderme dos charlas que hablarán sobre el concepto de desarrollador,  el desarrollador total y la herramienta de desarrollo defintiva ,  ni tampoco la de alternativas ligeras a rails.

Nos vemos allí 🙂

Enviar emails desde rails a través de gmail

Pensaba que rails soportaba el envio de emails con tls de serie, pero no es asi. Para poder enviar emails a través de gmail, es necesario usar tls, pero es muy sencillo de añadir mediante un plugin:

Y ya solo queda añadir el parametro en la configuración de ActionMailer para que use tls:

Después de haber hecho durante años las validaciones de email mediante mas o menos complicadas regex, he descubierto que la libreria Tmail tiene una clase Address, que te parsea la dirección de email y te lanza una excepcion si no es correcta. Asi, por ejemplo para validar un email podemos hacer:

git y subversión

Para empezar a coger práctica con git, aunque uso subversion para los proyectos con los que trabajo, he empezado a usar git-svn, asi en local trabajas con un repositorio git, y luego lo sincronizas con el repositorio subversión. La forma de trabajo seria mas o menos así:

git svn clone --username your-name
https://theworlddominationproject.com/svn

# Creamos una nueva branch
# en la que trabajamos y hacemos commits.

git checkout -b work

# Luego cuando queremos subirlo todo al subversion:
git checkout master
git svn fetch
git rebase master work
git checkout master
git merge work
git svn dcommit

Una de las ventajas que tiene trabajar asi, (aunque uses subversion) es que si estas haciendo bastantes cambios, puedes hacerlos en una branch en local, y si tienes que arrglar un pequeño bug, es muy rapido en local cambiarte a otro branch, arreglar el bug, subirlo y volverte a cambiar al branch en el que estabas trabajando.

excel desde ruby

Hace poco tuve que hacer algunas pruebas para ver como leer documentos excel desde ruby, y descubrí que gracias a la gema spreadsheet es realmente fácil.
require 'spreadsheet'
book = Spreadsheet.open '/path/to/an/fichero.xls'

# Para acceder a las páginas:
book.worksheets

# Para acceder a una página en concreto
sheet1 = book.worksheet 0
sheet2 = book.worksheet 'Sheet1'

sheet1.each do |row|
# hacemos algo con cada fila.
end

# También podemos acceder directamente a una fila
row = sheet1.row(3)

# Y para acceder a un elemento de una fila:
row[0]

Aunque no he probado a escribir en un excel, parece también muy sencillo.

Copyright © 2017 (in)visibles

Theme by Anders NorenUp ↑