PDF de programación - tuxinfo43

Imágen de pdf tuxinfo43

tuxinfo43gráfica de visualizaciones

Actualizado el 16 de Junio del 2017 (Creado el 21 de Abril del 2017)
163 visualizaciones desde el 21 de Abril del 2017. Una media de 21 por semana
18,8 MB
40 paginas
Creado hace 5a (17/12/2011)
tuxinfo 43

33

5

8

14

15

18

19

23

25

28

30

35

36

38

Revista Tuxinfo

Esta revista se publica bajo una licencia de
Creative Commons CC BY­SA 3.0 Puedes
copiar, distribuir, mostrar públicamente su
contenido y hacer obras derivadas, siempre y
cuando a) reconozcas los créditos de la obra
y b) la compartas bajo la misma licencia.
Microsoft, Apple, Sun, Oracle, así como otras marcas
comerciales mencionadas en esta revista son propiedad
de sus respectivas empresas.

Dirección, edición y coordinación
Ariel M. Corgatelli
Marketing, edición y ventas
ClaudiaA. Juri
Corrección
Oscar Reckziegel
Luis Luque
Diseño de tapa
Marcos "Anubis4D" Caballero
Diseño
Jorge Cacho Hernández

web:
facebook:
email:
twitter:

http://www.tuxinfo.com.ar
http://www.facebook.com/tuxinfo
info@tuxinfo.com.ar
@tuxinfo

43

Editorial

Proyectos
Hobo: Aplicaciones web en cuestión de minutos

porIgnacioHuertaeIbónCastilla

Proyectos
OpenStreetMap: Creando el mapa libre del mundo

porJaimeCrespo

Gráficos
Inkscape

porMarcos"Anibus4d"Caballero

Programación
Funciones en PostgreSQL

porSalomónRincón

Juegos
0 A.D: Un gran juego de estrategia

porJuanManuelDansa

A fondo
Oracle (un)Breakable Linux 6.1

porHernán"HeCSa"Saltiel

Juegos
Worms para Android

porRafaelMurillo

A fondo
Guía de GNU/Linux (III)

porRafaelMurillo

Opinión
Digital a Físico

porClaudiodeBrasi

Especial TuxMóvil
Especial Smartphones

#RSAdict@s
Conociendo las redes sociales

porLindaMartínez

Proyectos
Proyecto PingüinoVe

porNaudyVillarroelUrquiola

Cartas de los lectores

Editorial

Ariel M. Corgatelli

y

dominio

con Windows, Google

Parece mentira que ya lleguemos al último
número del año de nuestra querida Tuxinfo.
Muchas cosas han pasado este año,
la
la
explosión de las tabletas con Android,
masificación
completo
del
Androide en el mercado de móviles de
media y alta gama. Las declaraciones
controvertidas de Richard Stallman, la unión
de Nokia
con
Motorola, la decisión de Nokia y de Intel por
dejar MeeGo, la apuesta fuerte de Google
sobre Android 4; la lucha entre Samsung y
Apple; y tantos otros temas que seguro me
estaré olvidando. Pero lo más importante es
sin duda el gran avance del software libre de
la mano de proyectos
como Android,
Ubuntu, LibreOffice y Mozilla, quienes
apuestan fuertemente a la gran masa de
usuarios de dispositivos a lo largo de todo el
mundo.
Con respecto a Tuxinfo, creo que fue un
excelente año, tuvimos muy buenos logros,
agregamos secciones,
interactuamos más
con ustedes, los lectores, gracias al mapa
de lectores [1]; nuevos integrantes en
nuestro staff (les recomiendo no sólo leer
sus nombres, sino seguir a todos ellos en
twitter) y el futuro de la revista va ser muy
interesante. Estamos pensando en portar
nuestra revista a otros formatos, respetando
el actual PDF,
trataremos de reducir el

tamaño del archivo; integrar mucho más el
contenido; complementar
la revista con
material extra; y alguna que otra sorpresa
que se irá dando en el 2012.
Como siempre, cada número de la revista
viene plagada de información. El presente
tiene una nueva sección social, integramos
varias notas para la diversión en Linux y
Android. Además sumamos el suplemento
número 6 de Tuxmóvil, con los más
recientes lanzamientos de los smartphones
más potentes de Samsung, Sony Ericsson,
Nokia y Motorola enArgentina.
Y para no aburrirlos más con una extensa
“editorial”,
los invito directamente a leer
nuestra revista, y a formar parte de nuestro
mapa de lectores.
Obviamente nos gustaría conocer la opinión
de nuestros lectores, para ello los invitamos
a que envíen un correo electrónico a nuestra
editorial info@tuxinfo.com.ar
Y
su
preferencia por hacer clic en la descarga,
como así también los invitamos a leer toda
la edición.
[1] http://www.tuxinfo.com.ar/tuxinfo/?p=571

agradecemos

siempre

como

Únete a nuestros podcast
Únete a nuestros podcast

Radio Geek
Podcast diario de actualidad tecnológica
De lunes a jueves de 23:15 a 23:45 (horaArgentina)
http://www.ustream.tv/channel/arielmcorg (en directo)
http://bitacora.blip.tv (en diferido)

Tuxinfo podcast
Podcast semanal sobre software libre
http://blip.tv/tuxinfo­podcast

3

www.tuxinfo.com.ar

Aplicaciones web en cuestión de minutos
POR IGNACIO HUERTAe IBÓN CASTILLA

Hobo es una extensión al framework de aplicaciones web
Ruby on Rails. Fue creado en 2006 por Tom Locke,
motivado por la siguiente pregunta: "¿Otra vez tengo que
programar todo eso?".
Se refería a ese punto del desarrollador de aplicaciones
web en el que se vuelve a encontrar con la misma batalla
de nuevo: gestión de usuarios y permisos, ciclos de vida
de los objetos, widgets ajax, tablas filtrables...
Así que Tom creó Hobo, un nuevo framework que funciona
sobre Ruby on Rails, cuya filosofía es llevar aún más allá
la "convención sobre configuración", es decir, menos
código y más legible.
En este artículo vamos a crear una pequeña aplicación
web, utilizando una metodología de desarrollo ágil, basada
en pequeñas iteraciones con el cliente, en este caso un
amigo que necesita gestionar los cursos de su asociación.
Ahora mismo existen dos versiones de Hobo: 1.0 para
Rails 2.x y 1.3 para Rails 3.x. En este artículo
trabajaremos con la versión 1.3.
Recomendamos
Linux,
pero también se puede usar
perfectamente con otros sistemas
operativos.
Para instrucciones detalladas de la
instalación de Ruby, Rails y Hobo
os
las
instrucciones del libro "Rapid Rails
3 with Hobo (BETA 6)", que está
disponible gratuitamente en la
página
Hobo:
http://hobocentral.net/books/.

recomendamos

utilizar

seguir

oficial

de

Iteración 1
­ Un amigo nos ha pedido que hagamos una aplicación
para gestionar los cursos de su asociación de tiempo libre.
­ Cada curso tiene que tener título y fecha.
­ Cada alumno tiene nombre,
apuntado a un curso.
Abrimos una terminal y creamos el proyecto

teléfono e email y está

hobo new cursos

Nos preguntará si queremos ejecutar el asistente (wizard),
así que le indicamos que sí (y). Este pequeño asistente
tiene como objetivo automatizar unas cuantas tareas
habituales. Nos preguntará si queremos personalizar el
framework de test (n), el nombre de la tabla de usuarios
(por defecto), si queremos enviar un email a los nuevos
usuarios (n), ... La opción más importante es si queremos
realizar la migración inicial, digámosle que sí (m).

5

www.tuxinfo.com.ar

Una vez termine el asistente, podemos entrar en la
carpeta del curso y crear el primer modelo:

cd cursos

hobo g resource curso titulo:string fecha:date

Ahora creamos la primera migración (aplicamos los
cambios a la base de datos):

¿Y dónde se guarda toda esta información? Pues, por
omisión en una base de datos sqlite3. Podéis echar un
vistazo en config/database.yml y a la carpeta db.
Paramos el servidor con Control+C, y ahora vamos a
crear otro modelo/tabla relacionado:
los alumnos. En
consola:

hobo g migration

hobo g resource alumno nombre:string
telefono:string email:email_address

Cuando os pregunte decirle 'm' para que haga la
migración directamente. Por último arrancamos el servidor
(¡fijaos que tenemos un log con colores!)

la migración, vamos a relacionar

Antes de hacer
las
tablas. Editamos app/models/curso.rb, añadiendo una
relación 'has_many' después de la lista de campos:

rails server

class Curso < ActiveRecord::Base

hobo_model # Don't put anything above this
fields do

titulo :string
fecha
timestamps

:date

end
has_many :alumnos

Y editamos también app/models/alumno.rb, poniendo una
relación 'belongs_to' después de la lista de campos:

class Alumno < ActiveRecord::Base

hobo_model # Don't put anything above this

fields do

nombre :string
email
timestamps

:email_address

end
belongs_to :curso

Y ahora sí, hacemos la migración:

hobo g migration

Cuando volvamos a arrancar el servidor y creemos un
alumno ¡veremos que podemos seleccionar el curso al
que se ha apuntado! Realmente con esto ya tenemos la
base de cualquier aplicación web con base de datos :).

Abrimos el navegador y vamos a http://localhost:3000. ¡Ya
tenemos nuestra aplicación funcionando.
Podemos crear un usuario, añadir un par de cursos,
editarlos, borrarlos... Las acciones CRUD (Crear Leer
Actualizar Eliminar)
funcionan prácticamente sin hacer
nada.

6

www.tuxinfo.com.ar

Iteración 2
Estamos muy orgullosos de nuestra aplicación, pero
nuestro amigo enseguida pone pegas:
­ Se les ha olvidado un campo en cada curso: quiero
añadir una descripción y un lugar
­ En la lista de cursos debería aparecer el nombre del
curso, no ”Curso 1”
­ Cuando añado un nuevo alumno, aparece también
”Curso 1” en vez del nombre del curso.Así no hay quien
se aclare.
­ En cada curso, quiero poder ver la lista de alumnos
apuntados
Vamos a añadir un par de campos a la tabla de cursos.
Editamos
”fields”
añadimos los campos que necesitamos:

app/models/curso.rb. Dentro

de

lugar :string
descripcion :text

Guardamos, hacemos una migración y comprobamos que
los nuevos campos funcionan bien. En el mismo fichero (el
modelo del curso) vamos a marcar el título para que se
utilice como nombre. Para ello añadimos :name => true al
final del campo:

titulo :string, :name => true

Un detalle importante que nos va a ayudar mucho va a ser
utilizar "children". En el mismo fichero (el modelo del
curso) añadimos lo siguiente debajo de la declaración de
fields:

children :alumnos

Después de guardar podremos ver cómo ahora en cada
curso se pueden ver los alumnos que están apuntados, lo
cual resulta muy práctico.

Más recursos
Este artículo es sólo una introducción al desarrollo de
aplicaciones web con Ruby on Rails y Hobo.
Para seguir aprendiendo os recomendamos que os
acerquéis
donde
encontraréis libros, tutoriales y una comunidad en el grupo
de google "hobousers".

http://www.hobocentral.net,

a

IgnacioHuertaeIbonCastilla
tecnicos@unoycero.com
http://www.unoycero.com

7

www.tuxinfo.com.ar

OpenStreetMap
Creando el mapa libre del mundo

POR JAIME CRESPO

usarlas

de manera

no

redistribución,

offline,
su
imposibilidad de uso si no es a través de su propia
  • Links de descarga
http://lwp-l.com/pdf3147  

Comentarios de: tuxinfo43 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios