A menudo necesitamos proveer a nuestros scripts cierta interacción con el usuario, kdialog es un comando que podemos utilizar en nuestros shell scripts para interactuar gráficamente con el usuario. La idea básica es que provee una entrada gráfica interactiva con el script.
Hasta hace poco utilizaba kommander, una potente herramienta para crear programas mediante scripting gráfico, lamentablemente por falta de programadores en el proyecto aún no fue portado a KD4.
Kdialog es un programa que se llama desde la línea de comandos y abre una ventana en modo gráfico según la opción que le suministremos en la llamada. Por ejemplo: kdialog –title “Mi ventana” –msgbox “Hola Mundo” abriría una ventana de mensaje titulada “Mi ventana” y con el texto “Hola Mundo”. Seguir leyendo »
REST, Representational State Transfer, es una técnica de arquitectura software para sistemas web. El término se originó en el año 2000, en una tesis doctoral sobre la web escrita por Roy Fielding, uno de los principales autores de la especificación del protocolo HTTP y ha pasado a ser ampliamente utilizado por la comunidad de desarrollo.
En la actualidad se usa el término REST para describir cualquier interfaz web simple que utiliza XML y HTTP. El nombre se basa en que el cliente que accede a una aplicación web va cambiando su estado en función de los enlaces que se van eligiendo (que devuelven representaciones de los recursos accedidos). Este enfoque plantea una aplicación web como una máquina de estados virtual, dónde las transiciones entre los mismos son hiperenlaces.
REST ha sido aplicado para describir la arquitectura Web deseada, ayudar a identificar problemas existentes, comparar soluciones alternativas, y asegurar que el protocolo o viole las restricciones que hacen que la Web funcione correctamente.
Seguir leyendo »
En esta tercera entrega de tips para el htaccess voy a mostrar como obtener urls amigables en un subdirectorio de nuestra web, como redirigir las peticiones a cierto tipo de archivos y como redirigir de un subdirectorio al raiz de otro dominio utilizando RewriteRule, Redirect y RedirectMatch.
Como ya había mencionado, las url amigables son más fáciles de recordar y mejoran la usabilidad y el posicionamiento en los buscadores.
En este artículo mostraré como proteger los archivos de nuestra aplicacion de ser llamados por fuera de la ruta preestablecida, como redireccionar de un subdirectorio a otro dominio, de un directorio a un subdirectorio y viceversa. Seguir leyendo »
A muchos no nos importa demasiado que alguien utilice alguna imagen de nuestra web para algún trabajo o para ilustrar algún post, pero cuando esa imagen es directamente enlazada desde nuestro servidor, esto pasa a ser un problema.
El robo de ancho de banda, o hotlinking, es cuando alguien copia directamente el link de una imagen u objeto de una web y lo incrusta en otra web, en lugar de guardar la imagen en el pc y luego subirla a otro servidor. Cada vez que alguien visita la segunda web se produce la descarga del archivo desde el primer sitio.
Este tráfico siempre está limitado por los servidores donde se alojan dichas webs y, en cuanto se supera la empresa proveedora del servicio de hosting desabilitará temporalmente la cuenta o generará un cargo adicional. Seguir leyendo »
Como describía en el artículo anterior, las url amigables son más fáciles de recordar y mejoran la usabilidad y el posicionamiento en los buscadores.
Sin embargo aunque el ejemplo del artículo anterior funciona, no es del todo eficiente y podemos encontrar algunos inconvenientes a medida que nuestro proyecto crece y se hace más complejo.
Los primeros problemas los detecté al incluir un sistema de cacheo en mi desarrollo. Los inconvenientes surgieron por la forma en que emplee Mod Rewrite en el archivo .htaccess, primero se ejecuta la redirección 301 que completa la url con una barra final y luego se ejecuta la redirección que envía la url como parámetros al archivo php. Esto provoca que el script php se ejecute 2 veces por cada solicitud de una página. A continuación detallo la solución junto con una manera más eficiente de obtener los datos. Seguir leyendo »