Cómo instalar Node.js en Ubuntu

ubuntunode
Aunque Node.js está incluido en algunos repositorios de paquetes de Ubuntu, en ocasiones el uso del comando apt-get install no funciona correctamente, no instala una versión reciente, no se añade al PATH, etc…. A continuación veremos una forma de instalarlo sin problemas y la versión que nosotros queramos.

La alternativa es usando NVM (Node Version Manager)

Lo primero es actualizar los repositorios de Ubuntu y obtener los que nos permiten crear paquetes

$ sudo apt-get update
$ sudo apt-get install build-essential libssl-dev

Una vez hecho esto, descargamos el script de instalación de nvm desde Github

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh

Esto descargará el script y lo ejecutará. Lo instalará dentro del directorio .nvm y añadirá unas lineas al fichero .profile, ambos situados en el directorio home de tu usuario de Ubuntu.

Para obtener acceso a la funcionalidad nvm, necesitamos salir de Ubuntu y volver a entrar, o una forma mucho más cómoda es ejecutar el siguiente comando que recargará el archivo en la terminal

$ source ~/.profile

Hecho esto ya podemos instalar la versión de Node.js que queramos. Podemos ver que versiones existen con
nvm ls-remote

En mi caso he instalado la última versión estable

$ nvm install 0.10.31

Si escribimos lo siguiente podemos ver que versiones de Node y NPM tenemos instaladas en nuestro servidor Ubuntu

$ node -v
v0.10.31
$ npm -v
1.4.23

#Hack4Good, el mayor hackathon global por el cambio climático

hack4good_banner

Éste próximo fin de semana (12, 13 y 14 de septiembre) se celebra el #Hack4Good, un hackathon global por el cambio climático. En él participan 50 ciudades de todo el mundo y en Madrid lo organiza HackathonLovers, comunidad de la que soy miembro, con la ayuda de los colaboradores Kunlabori (por el espacio), CartoDB (por el avituallamiento) y GeekList (Organizador global).

Para participar no tienes que hacer nada más que apuntarte en nuestro Meetuphttp://www.meetup.com/Hackathon-Lovers/events/201739262/ ¿A que esperas? :)

¿Quieres poner a prueba tus habilidades como desarrollador y, al mismo tiempo, contribuir a una buena causa?, ¿te ves capaz de construir una aplicación que solucione algunos de los retos que presenta el cambio climático?, ¿y si te juntamos en una sala con un montón de hackers como tú, durante 48 horas?

¿Te ha picado la curiosidad? ¡Únete a #hack4good! Durante 48 horas, desarrolladores de 50 ciudades de todo el mundo trabajarán para dar solución a algunos de los retos más desafiantes que plantea el cambio climático.

Si eres de Madrid, no tienes excusa para no venir. ¡Te esperamos! Y en cualquier caso, siempre puedes apuntarte como participante online. ¡Nadie se queda fuera de #hack4good!

¿Y cuánto vale? 0 €. Nada. Gratis. Y te damos de comer y beber.

Para apuntarte, deberás inscribirte, además de en este meetup, en la página oficial del evento:https://geekli.st/hackathon/hack4good-06/madrid 

Co-organizadores:

• https://geekli.st/

• http://www.kunlabori.es/

http://cartodb.com

• http://hackathonlovers.com/

Cómo configurar tu servidor cloud en DigitalOcean

digitalocean-IaasDigitalOcean es un IaaS (Infraestructura como Servicio) como pueden ser los servidores EC2 de Amazon Web Services, aunque a mi parecer son más sencillos de usar y la interfaz es mucho más limpia y clara.

También es mejor el precio, puedes tener un “droplet” que es como llaman aquí a las maquinas virtuales, igual que la estancia micro que te da gratis un año Amazon(luego cuesta alrededor de 16$ al mes), por 5$ al mes, y por 10$ al mes un “pepino” ;) Además son discos SSD, es decir, miel de romero!

En este tutorial voy a explicar como registrarse en DigitalOcean y configurar nuestro primer servidor Linux en el que poder desplegar nuestras aplicaciones Web. Continue reading…

Cómo implementar una API REST con MongoDB + Node.js usando Express v4

nodejs-mongodb-api

Hace algún tiempo publiqué un tutorial de como desarollar una API Rest en Node.js con el framework Express. Ese tutorial funciona perfectamente si usas la versión 3.x del framework, pero si vas a cambiar a la versión 4, hay algunas cosas que han cambiado. Es por ello que voy a explicar a continuación como hacer una API REST para vuestras aplicaciones web desde cero, utilizando para ello la versión 4 del framework más usado de Node.js, Express. Continue reading…

Automatizando tu flujo de trabajo en el Frontend con GulpJS

gulp-jsGulpJS es un automatizador de tareas escrito en JavaScript y que corre bajo Node.js que sigue la misma filosofía que Grunt. GulpJS mejora en cuanto facilidad de programación y rapidez a la hora de ejecutar las tareas. Si has usado Grunt, creo que verás que la sintaxis para declarar tareas es mucho más entendible que la del propio Grunt.

En este artículo mostraré un Gulpfile básico en el que declararemos varias tareas habituales que solemos hacer en el Frontend (minificar CSS, JS, etc…) que nos solucionarán la vida. Si aún no has probamos un automatizador de tareas, prepárate para descubrir un mundo nuevo :D Continue reading…

Primera aplicación web en RaspberryPi con NodeJS + CylonJS. Controlando LEDs desde el móvil

raspi-cylon-nodeEn este tutorial vamos a implementar una WebApp que controle 3 LEDs de colores conectados a los pines GPIO de la RaspberryPi. Utilizando para ello JavaScript a troche y moche.

Necesitaremos una RaspberryPi, con Raspbian instalado, la red configurada y con el framework CylonJS y los pines GPIO activados. Esto lo podéis consultar en la anterior entrada. Como materiales adicionales necesitaremos 3 LEDs de colores (Rojo, amarillo y verde por ejemplo) y 3 resistencias (por ej. de 470 ohms) para protegerlos. También unos cables para conectar los Leds a los pines GPIO.

Continue reading…

Programando en Node.js con RaspberryPi. Primeros pasos

Hace unos días me llegó al fin el micro-controlador Tessel.io en el que puedes programar en JavasScript de forma nativa y del que ya os hablaré más adelante. Esto hizo que me entraran ganas de desempolvar la Raspberry Pi que tengo desde hace año y medio e investigar si podría hacer algo con Node.js en esta plataforma.

cylonjsNavegando di con una fantástica librería OpenSource llamada CylonJS que está diseñada para prácticamente todas las placas y micro-controladores del mercado (RaspberryPi, el propio Tessel, Arduino, BeagleBoard, etc…) y nos permite programar en JavaScript en todas estas plataformas y utilizar diversos drivers (LEDs, Servomotores, etc…) de una forma sencilla.

Me propuse el reto de crear una API que permitiera encender/apagar 3 LEDs de colores conectados a los pines GPIO de la RaspberryPi, utilizando el framework CylonJS para acceder a esos puertos y ExpressJS para crear el servidor web y poder controlarlos desde una webapp.

A continuación muestro los pasos a seguir para configurar nuestras RaspberryPi para trabajar con Node.js y CylonJS desde la instalación del sistema operativo hasta las dependencias de Node.js via NPM. Vamos allá. Continue reading…

Cómo instalar un Servidor HTTPS en Nginx desde cero

nginx https sslCuando en nuestra web o aplicación necesitamos tratar con datos sensibles como pueden ser tarjetas de crédito, cuentas de usuario, etc, es recomendable disponer de un certificado SSL en nuestro servidor para utilizar el protocolo HTTPS (Http Seguro) en lugar del HTTP normal. De esta manera, nuestros datos viajan encriptados en la aplicación y es mas difícil que sean “escuchados” por otros.

Para el proyecto que estamos llevando a cabo mi compañera Paola y yo, Chefly (Del que pronto empezaréis a oir) necesitamos disponer de HTTPS y tras pelearme un rato con su configuración conseguí ponerlo en marcha. Este tutorial espero que os ayude y os ahorre tiempo a la hora de implementarlo en vuestros servidores.

Continue reading…

Cursos Online interesantes para 2014

small-icon.hover

Con la llegada de la primavera comienzan nuevos cursos online (MOOCs) y nuevas versiones de otras ediciones. He estado paseandome por Coursera, Mejorando.la, Udacity, EdX, etc.. y he hecho una recopilación de los que me parecen más interesantes de cara a reforzar conocimientos y aprender nuevas habilidades. No se si me dará tiempo a aprovecharlos al 100% pero espero que si ;)

En Español

Curso Profesional de Frontend (Mejorando.la) – 3a Edición

  • Comienzo: 18 de Marzo
  • Duración: (2 semanas/ 3 días a la semana)
  • Precio: $29/mes

Curso Profesional de Backend (Mejorando.la) – 2a Edición

  • Comienzo: 1 de Abril
  • Duración: (2 semanas / 3 días a la semana)
  • Precio: 29$/mes

En Inglés

Entrepreunership 101: Who is your customer? – EdX / MITx

  • Comienzo: 18 de Marzo
  • Duración: 6 semanas
  • Precio: Free

Web Application Architectures – Coursera / University of New Mexico

  • Comienzo: 24 de Marzo
  • Duración: 6 semanas
  • Precio: Free

Engineering Software as a Service – EdX / UC BerkeleyX

  • Comienzo: 18 de Abril
  • Duración: 8 semanas
  • Precio: Free

Functional Programming Principles in Scala – Coursera / École Polytechnique Fédérale de Lausanne

  • Comienzo: 25 de Abril
  • Duración: 7 semanas
  • Precio: Free

Introduction to Computer Programming (Part I & II) – EdX / ITTBombayX

  • Comienzo: (Parte 1, 29 de Julio) (Parte 2, 23 de Septiembre)
  • Duración: 6 semanas cada parte
  • Precio: Free

Mobile Web Development – Udacity / Google

  • Comienzo: Acceso libre a Courseware
  • Duración: 12 lecciones
  • Precio: Free

User Experience for the Web – Open2Study

  • Comienzo: Acceso libre desde ya
  • Duración: 4 módulos
  • Precio: Free

¿Cuáles te parecen más interesantes? ¿Conoces alguno más?