Desarrollo web

Code School Free Weekend 2016 – Node.js

El de Node.js es el segundo curso de los que voy a tragarme en el Code School Free Weekend.

Antes de empezar

Con node.js sí que he trabajado bastante, tanto directamente escribiendo scripts como indirectamente, con herramientas como Cordova o Ionic, que llevan node por detrás. El problema es que como nunca me he tomado  el tiempo de realizar un curso completo, mucho de lo que hago con node es javascript “vanilla” y las funciones específicas de node las uso lo justo. Vamos a ponerle remedio. Read More…

Code School Free Weekend 2016 – MongoDB

Empezamos con el primero de los cursos que voy a tragarme durante el Code School Free Weekend, el de MongoDB.

Antes de empezar

De los cursos que quiero hacer, he decidido empezar por este precisamente por ser un tema el tema del que menos idea tengo. He oído mucho de Mongo pero nunca he tenido el tiempo ni las ganas de meterle mano. Lo que sé:

  1. Es una base de datos NoSQL (y yo llevo media vida con mySQL, SQL server y Oracle)
  2. Lee las consultas y devuelve los resultados como objetos de javascript
  3. Está diseñado para escalar (replicación, indexación, balanceo y demás)

Read More…

Code School Free Weekend 2016

Code School es una de las principales web de tutoriales de programación; ofrece unos fantásticos cursos interactivos de tecnologías como Git, Angular.js o Python. Aunque algunos son gratuitos, la mayoría requiere una suscripción de pago… excepto este fin de semana. Para celebrar los dos millones de usuarios registrados, este fin de semana todos los cursos son gratis.

Que te regalen tres días de una suscripción que normalmente cuesta $29 al mes, puede paracer una chorrada, pero es una excusa estupenda para pegarse un atracón de esos cursos que siempre vas dejando “para otro día”.

En mi caso va a servirme para pegarme un empacho de proporciones épicas del stack MEAN (MongoDb, Express.js, Angular.js y Node.js), y los próximos artículos van a ser los apuntes que vaya tomando de los cursos que haga. Sobre todo va a ser material para “autoconsumo”, pero si a alguno os viene bien, sois bienvenidos.

Cómo purgar la caché de los servidores DNS de Google

Si te dedicas al desarrollo de páginas web como yo, una tarea bastante común es mover una web de un servidor a otro, lo que implica cambiar el servidor al que apunta un dominio.

Aunque existen estrategias para acelerar este proceso, como bajar el TTL del dominio antes de la migración o borrar la caché local de resolución de DNS (en windows: ipcofig /flushdns), lo que desconocía hasta hoy (gracias Nuedio), es que Google tiene un panel para purgar la caché de resolución DNS de sus servidores:

https://developers.google.com/speed/public-dns/cache

Sistema Machete™ de optimización de páginas web

Optimizar una página web es un proceso lento, delicado y poco agradecido. Lees decenas de artículos sobre como exprimir hasta el último byte de cada fichero, vas aplicando a pie juntillas las reglas de Google, Yahoo!, Pingdom y aún así tu web sigue arrastrándose como una babosa con artrosis.

Necesitas un sistema con el que atajar la morralla y acelerar tu web de verdad. Bienvenido al sistema Machete. Read More…

Una caché en PHP a prueba de bombas

ordenador ardiendo

No es extraño que una web que habitualmente tiene poco tráfico, por un azar del destino reciba un aluvión de visitantes que la tumbe.

Da igual si es por una portada en Menéame, Digg, Reddit, TechCrunch o porque te han mencionado en el discurso de navidad del rey, el caso es que para una vez que tu web recibe tráfico, no tienes forma de aprovecharlo.

En el tiempo en que cambias de servidor, estas pocas líneas de código pueden ayudarte a capear el temporal y si tienes una web a medida en PHP es una buena idea meterle esto en portada antes de plantearte un sistema de caché más complicado.
Read More…

URLs absolutas sin protocolo (sin el http)

Hace tiempo me venía llamando la atención que algunos sitios omiten el protocolo cuando hacen referencia a un recurso externo. Por ejemplo Facebook usa esto:

<script src="//connect.facebook.net/en_US/all.js"></script>

en lugar de esto

<script src="http://connect.facebook.net/en_US/all.js"></script>

Los beneficios son evidentes, si tiene un recurso al que se puede acceder tanto por http como por https (SSL), es muy cómodo especificar el protocolo cuando lo enlazas desde un sitio externo. Si la web que realiza la llamada está siendo servida https, la llamada al recurso externo también lo hará con el mismo protocolo evitándonos el famoso aviso de contenidos mixtos:

¿omitir el protocolo es seguro en todos los navegadores?

Investigando un poco he descubierto la respuesta es un rotundo sí. Omitir el protocolo o “scheme” de una URL está contemplado en el RTF 3986: Sección 4.2. Todo los navegadores que se acogen a él (en la práctica todos), están obligados a actuar ante la falta de protocolo en una URI reemplazándolo por el del recurso que efectúa la llamada.

¿quiere decir eso que puedo eliminar el http de todos los enlaces?

En teoría sí, siempre que aceptes conexiones tanto por http como por https, aunque eso no quiere decir que sea una buena idea. Que los navegadores entiendan los enlaces sin protocolo no quiere decir ni que los programas de edición no puedan dar problemas ni que los validadores de código no vayan a dar errores. Pero sí que es un truco muy a tener en cuenta cuando desarrolles en entornos en los que entra y se sale alegremente de SSL (sistemas de registro, tiendas, aplicaciones de Facebook…)

Actualización:

No incluir el protocolo aparece en la guía de estilo para HTML y CSS de Google

1 2  Scroll to top