Comunicando Node.js y Python (II – la mejor manera)

Como ya os he contado, necesitaba un Web Scraper que fuese disparado bajo demanda del usuario para recuperar de subtitulos.es los títulos de los distintos capítulos, y la manera más sencilla de hacerlo era en Python. Para ello, cada vez que el usuario pidiese al servidor Node.js un contenido, este lo buscaría primero en la BD, y, si no lo encontraba, lo pediría al scraper. De esta manera, si el contenido no existe en subtitulos.es, se pedirá siempre al scraper y este retornará un error, pero si sí existe, este será scrapeado solo la primera vez, encontrándose en veces sucesivas en la BD.

docs-dotcloud-logo

La primera solución consistía en comunicarse con el scraper Python mediante stdout, pero esto tenía varios inconvenientes. El primero, que el scraper debía encontrarse en la misma máquina que Node.js. El segundo, que para objetos más complejos se debía escoger una representación de datos intermedia como JSON. El tercero, que cada vez que se usase el scraper este debía abrir una nueva conexión con la base de datos, en vez de mantener una viva.

Sigue leyendo

Mi primer «pet project», subtiREST

Hubo un tiempo en el que tenía ganas de aprender PHP para poder hacer cosas web guay. Empecé con un libro y lo dejé. Hubo un tiempo en el que tenía ganas de aprender MySQL para poder hacer cosas en general guays. Empecé con un libro y lo dejé. Hubo un tiempo en el que tenía ganas de profundizar un poco más en otros lenguajes de programación como Python. ¿Adivináis lo que pasó? Bueno, en ese caso no cogí un libro, me apunté a un curso online. En cualquier caso, sí, lo dejé.

A pet project is a project, activity or goal pursued as a personal favorite, rather than because it is generally accepted as necessary or important.

El aprendizaje guiado sin goal está claro que no me motiva, así que hace unas semanas me dije, que le den. Pensé un proyecto pequeño que tocase varias cosas con las que tenía ganas de jugar y me puse a la tarea. Sigue leyendo

Reconociendo dispositivos Android rebeldes con ADB sobre Ubuntu

Empieza el curso y es hora de tener todos los ordenadores, teléfonos y tabletas listos para la acción en cualquier momento. Y me encontraba trasteando en Android Studio sobre Ubuntu 14.04 en mi portátil con la app Android que desarrollé, haciendo cambios, cuando tuve la feliz idea de querer lanzarla en mi bq Aquaris 5. No lo conseguí. El Android Debug Bridge (ADB) no encontraba el dispositivo ni a la de tres. Así que tuve que dar un par de vueltas hasta conseguirlo, y como parece ser un problema común, dejo aquí escrita esta handy-dandy guide. Sobre todo, para mi yo del futuro.

command_line_android_debugging

El primer paso es identificar cuál es nuestro dispositivo para obtener de él los identificadores de Vendor y de Product. Sencillamente correremos un comando con el teléfono desconectado primero y conectado después, y buscaremos cuál es el nuevo. Sigue leyendo