Desarrollo web

Chrome DevTools tips newsletter

Como dicen en mi país “no vengo a vender, vengo a regalar”def., ya que les quiero compartir uno de los pocos newsletter el cual estoy suscrito de hace ya casi 2 años y en ninguna edición me ha defraudado.

Este newsletter llamado Dev Tips entrega de forma semanal tips del DevTools de Chrome. La mayoría del tiempo son cosas que están un poco ocultas y que difícilmente uno las iba a descubrir. Los tips son bien variados y cubren todas las áreas del DevTools: performance, networking, debugging, etc, y van desde asuntos básicos a más experimentados.

Lo que realmente me gusta del newsletter, es que cada edición viene con un GIF en vez de un largo texto explicativo, haciéndolo fácil de digerir.

Chrome DevTools - Dev Tips Newsletter

Los invito a suscribirse y espero les sea de utilidad. Aprovecho también de agradecer al autor, Umar Hansa, por darse el tiempo semana a semana de crear este contenido.

def.: Frase típica de vendedores ambulantes o callejeros al subir a vender sus productos a buses del transporte público en Chile.

Docker: Conectarse al servidor MySQL de tu máquina host

Hace unos días empecé a trabajar con Docker para un proyecto personal. Actualmente estoy acostumbrado a trabajar con Vagrant, así que le di la oportunidad a Docker para probar algo nuevo, ya que había leído muy buenos comentarios de esta herramienta.

Lo que voy a detallar a continuación es una nota mental para dejar registro de como finalmente logré conectarme desde un contenedor de Docker a mi servidor MySQL que tengo corriendo en mi máquina local (o host como llaman en el mundo Docker). Perdí muchas horas en esto y no quiero volver a pasar por lo mismo.

(más…)

Utiliza tu iPad/iPhone como 2da pantalla

Voy a estar fuera de casa y de mi país por varios meses trabajando de forma remota, y mi plan fue siempre al llegar comprar un monitor de 2da mano, ya que estoy demasiado mal acostumbrado a siempre trabajar a dos pantallas.

Al llegar acá (Canadá) empecé la búsqueda de un monitor usado en eBay, pero los encontré un poco sobrevalorados. Estuve casi dos días trabajando solo en el laptop, pero se me hacía demasiado incómodo. Fue cuando miré mi iPad mini 2 (que prácticamente no uso) y pensé ¿Se podrá utilizar como segunda pantalla?.

(más…)

Realizar debug de forma remota de Mobile Safari / UIWebUI en Linux, Windows y OSX (?)

El año pasado me tocó meter un poco de mano en la versión mobile del sitio la compañía en donde estoy trabajando. Habían ciertos bugs en iOS Safari que debían ser resueltos. Pero como bien se sabe, si deseas hacer debug en un iDevice (de forma fácil), un Mac debes tener.

En ese entonces yo trabajaba bajo Ubuntu y hoy un compañero me preguntó si sabía alguna forma de poder hacerlo en Windows. Recordé esta herramienta que espero a más de alguno le sea útil: iOS WebKit Debug Proxy

client34

Diagrama de funcionamiento de iOS WebKit Debug Proxy

Lo que finalmente realiza es hacer un proxy entre un DevTool  y el Web Inspector de Apple.

Recuerdo que la instalación en Ubuntu fue bastante simple y luego de ejecutar el servicio, éste entrega una URL local con un puerto dado donde debemos acceder y es allí donde veremos una aplicación web que simula un DevTool como el de Chrome. En él podremos inspeccionar el DOM, jugar con la consola de JavaScript, ver cookies, localStorage, ver los recursos que cargó el sitio, etc.

De acuerdo a la documentación, existe un port para Windows el cual no he probado. Al menos en GitHub hay un par de issues abiertos, nada grave, lo que me hace creer que funciona de maravillas. También soporta OSX, aunque me parecería más simple utilizar el remote debugging de Safari directo en vez de instalar esta solución. Es por ello el signo de pregunta en el título de esta entrada. Es como clavar un clavo con un alicate, teniendo un martillo.

Otra solución (de pago) es el famoso BrowserStack, el cual hace muy poco implementó un DevTool para dispositivos móviles.

Barra de progreso al importar o exportar en MySQL

Es muy común importar o exportar una base de datos desde la línea de comandos:

# Exportar una base de datos
mysqldump -u usuario -p nombre_db > db.sql

# Importar una base de datos
mysql -u usuario -p nombre_db < db.sql

Pero muchas veces la DB es tan pesada que toma demasiado tiempo y uno se vuelve un poco paranoico por saber si todo va bien o si falta mucho para que termine. Esta última pregunta se puede responder gracias al comando Pipe-Viewer  pv.

(más…)

Importar/exportar base de datos MySQL con gzip

Encontré este truco buscando un atajo para poder importar una base de datos MyQSL que estaba en formato gzip, y por casualidad me sirvió para un caso en que estaba en un servidor donde debía exportar una base de datos y no tenía espacio suficiente en el disco. Estos comandos me permitieron comprimir y descomprimir la base de datos, que bien todos sabemos, comprimida en gzip su tamaño disminuye enormemente. Entonces:

Para exportar

mysqldump -u user -p database | gzip > database.sql.gz

Para importar

gunzip < database.sql.gz | mysql -u user -p database

Fuente: Using gzip and gunzip with mysql to import/export backups

Codeivate: tus estadísticas de programación

Si alguna vez te has preguntando ¿cuánto tiempo al día efectivamente lo dedico a programar? ¿cuál es el día y hora más productiva cuando programo? ¿a que lenguaje le dedico más tiempo?, esta herramienta que les voy a presentar les responderá eso y más.

Por las casualidades de la vida, me encontré con Codeivate, una herramienta que nos permite llevar registro de nuestras acciones mientras estamos programando en nuestro IDE o editor favorito. Llevo alrededor de 3 semanas probando la herramienta, y si bien está en una base temprana de su desarrollo (según entiendo está en beta), entrega datos interesantes que nunca están de más conocer.

(más…)

CodeBunk.com: un editor colaborativo en línea

Codebunk.com

Codebunk.com

CodeBunk es un sitio que yo principalmente lo utilizo para realizar pruebas de concepto o probar distintos trozos de código. Por algún motivo me es más rápido abrir CodeBunk y escribir lo que tengo en mente, que ejecutarlo localmente… gustos de cada uno.

Pero el verdadero potencial de este sitio es en su capacidad colaborativa, ya que dos o más personas pueden estar en un “bunk” (sala) compartiendo ideas sobre un código y compilando/ejecutando en tiempo real (soporta videollamadas) con output en la misma pantalla. Tiene soporte para 14 lenguajes, como por ejemplo: Python, PHP, Ruby, Java, C, C++, Go, entre otros.

También se promociona como una herramienta para entrevistas de trabajo remoto para desarrolladores.

Cygwin: integración con Sublime Text y algunos tips

En este tercer post respecto a Cygwin, voy a compartir un par de cosas que he aprendido, y como integrar Cygwin dentro de Sublime Text para poder abrir una consola dentro del directorio del proyecto que estamos trabajando de manera automática.

Antes de seguir adelante, si no conocen Cygwin, les recomiendo revisar mis dos entradas anteriores al respecto:

(más…)