Archive for the ‘Programación’ category

10 útiles códigos .htaccess

May 31st, 2011

Los archivos .htaccess controlan parte del funcionamiento de los servidores Apache y permiten hacer infinidad de cosas útiles.

A continuación, les presento una lista de 10 códigos .htaccess que todo desarrollador web debería tener al alcance de la mano. Recuerda siempre hacer un respaldo de tus archivos originales para restaurar en caso de que algo salga mal.

1. Remover el www de las url

Por cuestiones de SEO deberías siempre remover (o usar) el prefijo www de las url de tu sitio web. La siguiente porción de código removerá el www y redireccionará cualquier url a su equivalente sin el www.

RewriteEngine On
RewriteCond %{HTTP_HOST} !^your-site.com$ [NC]
RewriteRule ^(.*)$ http://your-site.com/$1 [L,R=301]

2. Prevenir el Hotlinking

El Hotlinking es una mala práctica que consiste en usar imágenes de otros sitios en los nuestros. Cuando eres víctima del hotlinking, alguien más está usando también tu ancho de banda para su propio beneficio. Afortunadamente, el hotlinking se puede prevenir.

Agrega el siguiente código en el .htaccess de tu sitio, modificando las url de ejemplo por las tuyas.

RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

3. Redigir todos los feeds de WordPress hacia Feedburner

Feedburner es un servicio web que te permite saber que cantidad de usuarios leen tu blog a través de feeds. Si usas WordPress, quizá te interese mover tus feeds (rss, atom, etc) hacia Feedburner. Para hacerlo modifica las líneas 2 y 3 del siguiente código para ajustarlo a tus necesidades e insértalo en el .htaccess de tu sitio.

<IfModule mod_alias.c>
 RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$
http://feedburner.com/yourfeed/
 RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$
http://feedburner.com/yourfeed/
</IfModule>

4. Generar páginas de error personalizadas

¿Cansado de las páginas de error de tu sitio? Simplemente crea algunas nuevas que luzcan como tú quieras, súbelas en tu servidor y utiliza el siguiente código .htaccess.

ErrorDocument 400 /errors/badrequest.html
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html

5. Forzar la descarga de archivos específicos

Cuando ofreces descargas en tu sitio con extensiones .mp3, .xls, .eps, etc, puedes utilizar el siguiente código en tu .htaccess para forzar la descarga de estos archivos, en lugar de dejar al navegador decidir qué hacer con ellos. (Ejemplo para .xls y .eps)

<Files *.xls>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>
<Files *.eps>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>

6. Llevar un registro de los errores de PHP

El siguientes código te permite llevar un registro de los errores de PHP que se han generado en tu sitio. Simplemente crear un archivo php_error.log, alójalo en algún directorio del sitio y copia el siguiente código en tu archivo .htaccess. No olvides modificar la ruta que vayas a utilizar (línea 7).

# display no errs to user
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# log to file
php_flag log_errors on
php_value error_log /location/to/php_error.log

7. Remover extensiones de las url

Las extensiones en las url pueden ser útiles para nosotros los desarrolladores, pero no aportan nada a los visitantes de nuestro sitio. El siguiente código remueve las extensiones .html de todos los archivos html del sitio. Cabe destacar que el mismo código sirve para reemplazar cualquier otra extensión, como php, asp, etc, modificándolo donde corresponde.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
# Reemplaza html con la extension de tu archivo, ej: php, htm, asp

8. Prevenir listado de directorios

En tu servidor, cuando un directorio no contiene un archivo index, Apache automáticamente genera y muestra en el navegador un listado con los archivos de dicho directorio. Si quieres evitar que alguien vea el contenido de estos directorios, agrega el siguiente código en tu .htaccess.

Options –Indexes

9. Reducir el peso de las páginas comprimiendo el contenido estático

¿Sabías que es posible enviar contenido comprimido al visitante para que este sea descomprimido por el cliente? El siguiente código será de gran ayuda, salvando tu ancho de banda (y el de tus visitantes) reduciendo el peso de las páginas.

AddOutputFilterByType DEFLATE text/html text/plain text/xml
application/xml application/xhtml+xml text/javascript
text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

10. Añadir codificación utf-8 automáticamente a los archivos

Con el fin de prevenir errores de codificación, puedes utilizar el siguiente método para forzar utf-8 en todos los archivos. De esta manera garantizas que los documentos se mostrarán siempre de manera correcta, incluso si olvidaste insertar la etiqueta <meta http-equiv=”Content-Type”> en tus html.

<FilesMatch "\.(htm|html|css|js)$">
AddDefaultCharset UTF-8
</FilesMatch>

Fuente: Cats who code

TwitterFacebookGoogle ReaderDeliciousDiggStumbleUponShare

Google libera modulo para Apache que acelera la carga de páginas web

November 8th, 2010

Google ha liberado un modulo de código abierto para servidores Apache, que tiene como objetivo acelerar hasta en 50% la velocidad con la que cargan las páginas web en el navegador.

El modulo que lleva por nombre mod_pagespeed optimiza de forma automáticamente la forma en que las páginas web son cargadas, mediante la implementación de filtros para JavaScript, HTML y CSS, además de los formatos de imagen JPEG y PNG. Una vez instalado el modulo, los administradores podrán activarlo y desactivarlo manualmente.

El video a continuación nos da un claro ejemplo del funcionamiento del mod_pagespeed.

La información completa, enlace de descarga e instrucciones de uso se encuentran disponibles en el sitio oficial del proyecto mod_pagespeed.

TwitterFacebookGoogle ReaderDeliciousDiggStumbleUponShare

10 consejos para trabajar desde casa

November 4th, 2010

trabajar-desde-casa

En mi opinión particular, no hay nada mejor que trabajar como freelancer, desde la comodidad de su casa, siendo su propio jefe y poniendo sus propios horarios. Sin embargo, esa comodidad, muchas veces se convierte en enemiga de la productividad y en algunos momentos puede tornarse bastante difícil mantenerse concentrado y motivado, lo que definitivamente hace mucho más complicado conseguir los objetivos que nos hemos planteado.

Inspirado en artículos similares y complementando un poco con mi experiencia personal, aquí les dejo una lista de 10 consejos para trabajar desde casa, que les ayudaran a mantenerse motivados y solventar esas pequeñas dificultades.

  1. Tenga un buen comienzo
  2. Lo primero que se debería hacer, es establecer una hora fija para levantarse cada mañana. La manera en que se comienza el día es muy importante, ya que marca la pauta del resto de la jornada. Levantarse tarde, luego de haber dormido solo unas pocas horas, por quedarse dando vueltas en la cama o por estar mirando al techo sin hacer nada más, afecta directamente el estado de animo y la creatividad.

    Lo ideal es comenzar el día de activamente, desde el momento en que se abren los ojos, saltar fuera de la cama y ponerse manos a la obra. Cada uno tiene formas diferentes de comenzar el día, algunos prefieren salir a caminar, otros disfrutan preparándose un delicioso desayuno y algunos (como en mi caso) prefieren preparar y disfrutar de una buena taza de café antes de poner la cabeza en el trabajo.

    En fin, lo importante es encontrar algo que funcione para usted y que le permita entrar en actividad desde el primer momento.

  3. Haga una lista
  4. Para alcanzar metas, es vital tenerlas bien definidas. Haga una lista de actividades, organice su día y esfuércese por cumplir con todas ellas de la mejor manera.

    La técnica que aplico personalmente, es hacer no una, sino dos listas. La primera con las tareas que debería completar antes de la hora del almuerzo y la segunda con las cosas que debería terminar antes de las siete de la noche.

    En caso de que alguna tarea de la mañana quede pendiente, está se mueve a la segunda lista. Esto me obliga a esforzarme mucho más durante la tarde, de lo contrario tendré más trabajo acumulado para el día siguiente. Esto es algo que no me agrada y seguramente, a usted tampoco.

  5. Desconéctese
  6. Es importante mantenerse en contacto con clientes, compañeros y amigos, pero cuando llega la hora de trabajar es necesario dejar lo demás a un lado, no Facebook, no Twitter, ni siquiera responda los emails que reciba, al menos hasta la hora del almuerzo o espere al final de la tarde.

    Es muy fácil perderse en esa telaraña de redes sociales, quizá usted decida dedicarle media hora al Twitter y luego otra media hora al Facebook; mientras esto sucede, aquel amigo con el que tiene tiempo sin hablar le escribe a través de la mensajería instantánea y allí ocupa media hora más. Al darse cuenta, habrá transcurrido la mitad de la mañana sin haber hecho nada de lo que tenia previsto en su lista.  Y ya sabe lo que eso significa.

    No digo que se aleje por completo de las redes sociales, solo digo que tenga cuidado y no permita que estas se interpongan y retrasen su trabajo.

  7. Cree su propia atmosfera
  8. Al trabajar desde casa, se tiene la inigualable oportunidad de crear la atmosfera que usted quiera. Después de todo, es su casa. Usted puede escuchar su música favorita a todo volumen, diseñar en ropa interior si eso lo hace sentir cómodo, tomar una cerveza (siempre y cuando no afecte su concentración), o juegue con su mascota mientras genera una lluvia de ideas.

    En fin, haga lo que lo haga sentir cómodo y relajado, pero esté atento de no acercase demasiado a las distracciones y caer en el ocio.

  9. Otórguese recompensas
  10. Las recompensarse a si mismo puede ser un factor importante en la motivación. Puede ser algo tan simple como tomarse unos minutos para la merienda.

    Personalmente me tomo unos minutos después de completar una tarea para hacer llamadas telefónicas, responder/enviar un par de sms, nada que me tome mas de 10 minutos. Lo que me sirve para refrescar ideas y espabilarme un poco, pero sin dejar que esto me absorba y me haga perder el ritmo de trabajo.

  11. Manténgase saludable
  12. Quizá usted no lo haya considerado hasta ahora, pero ejercitarse es importante para mantenerse saludable.

    La gran mayoría de los que trabajamos en diseño y desarrollo de paginas web, pasamos una gran cantidad de horas frente al ordenador y cuando damos por concluido un trabajo estamos tan agotados, que solo pensamos en tirarnos en la cama o en el sofá a ver una película o disfrutar de nuestra serie favorita, olvidando por completo la actividad física.

    Cada vez que pueda, salga de su casa y corra! permita que su sangre fluya. Aunque no lo crea, trotar/correr es una actividad bastante relajante, además de ser un buen ejercicio le permite disfrutar del aire libre y de lo que está a su alrededor.

    Una postura correcta mientras está frente al monitor, también es fundamental. Busque una silla con un buen espaldar y si es posible con apoya brazos. Si se siente agotado, levántese, de un vistazo por la ventana o simplemente estírese un poco y libere la tensión.

  13. No olvide a sus amigos
  14. Una de las partes mas difíciles de trabajar en casa, es no tener a alguien a lado que pueda darle una opinión sobre lo que está haciendo, y aunque anteriormente hablé sobre la necesidad de desconectarse, esto no significa que debe olvidarse de sus amigos y sus antiguos compañeros de trabajo.

    Cuando se realizan tareas de diseño, nunca está de sobra un par de ojos adicionales y el hecho de que se encuentre trabajando en su casa, no significa que no puede solicitar ayuda a sus amigos, escriba un correo a uno de ellos, enséñele lo que está haciendo y pídale su opinión. Los amigos siempre son importantes y necesarios.

  15. No comprometa su proceso
  16. A veces conseguimos clientes que están bastante entusiasmados y quieren echar la bola a rodar de inmediato. Muchos de los nuevos clientes no están familiarizados con el proceso de diseño y es nuestra tarea guiarlos a través de este.

    Por lo general el proceso comienza con una entrevista, el análisis de requisitos, elaboración de un modelo inicial, estimación de un presupuesto, elaboración del contrato y luego si entrar de lleno en el proyecto. Cuantas veces no ha querido saltarse los primeros pasos y decir “Que diablos, le diseño su sitio por 500 $”, especialmente cuando se trata de un cliente pequeño que parece no saber mucho sobre la web. Pero solo es necesario saltarse un paso para que cualquier cosa pueda salir mal.

    Todos los pasos del proceso son importantes y están allí por una razón. No permita que las circunstancias lo hagan alterar su proceso creativo.

  17. No se vuelva adicto al trabajo
  18. No he escuchado al primer freelancer que se queje porque tiene que hacer su trabajo. Por lo general lo disfrutamos tanto que tendemos a hacernos adictos a este, lo que obviamente está mal. Es necesario tener horas de distracción y esparcimiento.’

    Cuando el reloj marca las 7:00 pm se que llegó el momento de dejar el trabajo a un lado, de pasar tiempo con mi novia, mis amigos y mi familia. Es la hora de relajarse, de ir al cine o de hacer cualquier otra actividad que nada tenga que ver con trabajo.

    Evite, por ejemplo, decirle a su pareja “Solo media hora más con esto y estaré libre”.

  19. Gánese las cosas con esfuerzo
  20. El hecho de que no trabajes en una oficina para un tipo con un traje, no significa que usted no esté trabajando. Recuerde siempre que sus clientes le están pagando por su trabajo y esperan que usted se comporte como un profesional. Esto no es el colegio, donde podías dejar la tarea para ultima hora y salir bien parado con cualquier porquería. Esto es un negocio real y sus clientes esperan resultados reales. Así que, trabaje duro, gánese una buena reputación y mantenga satisfechos a sus clientes.

    Si trabaja duro, al final de la jornada puede sentirse orgulloso de que se ha ganado todo lo que lo rodea por hacer las cosas bien.

TwitterFacebookGoogle ReaderDeliciousDiggStumbleUponShare

Google: Recompensas para quienes descubran fallos de seguridad

November 3rd, 2010

Google anunció la creación de un programa de recompensas, para aquellas personas que encuentren fallos de seguridad en sus diferentes productos y servicios.

Las recompensas van desde 500 hasta 3.133 dolares y tienen como finalidad atraer un mayor número de investigadores hacia la búsqueda y detección de fallos que comprometan la privacidad y seguridad de los usuarios de sus aplicaciones.

Ya existía un programa similar, pero solo estaba asociado a la detección de fallos en el código del navegador Google Chrome. Debido a un fallo crítico en la programación del sistema operativo Android encontrado la semana pasada, que permite espiar los emails y otra información sensible contenida en los smartphones, han decidido ampliar el programa a todos sus aplicaciones y servicios.

El monto de la recompensa para cada caso, será determinado por un grupo de expertos y variará de acuerdo a la gravedad del fallo.

TwitterFacebookGoogle ReaderDeliciousDiggStumbleUponShare

Navegadores y su compatibilidad con HTML 5

April 13th, 2010

El estándar HTML 5 se prepara para hacer su debut de manera oficial para el año 2012, sin embargo, los desarrolladores de navegadores tienen ya bastante tiempo trabajando en preparar sus productos para dar compatibilidad y soporte a esta nueva regulación de la W3C, que de hecho ya está siendo implementada de manera parcial en un gran numero de sitios y aplicaciones web.

Para comprobar el estado actual de los navegadores en relación al estándar HTML 5, el desarrollador web Niels Leenheer ha creado el HTML5test.

El test muestra una lista de las características HTML 5 con las que cada navegador en el que se ejecute es (o no) compatible, otorgando finalmente una puntuación que va de 0 a 160. Un puntaje más alto indica que el navegador probado es compatible con una mayor cantidad de características disponibles en HTML 5.

Los principales navegadores del mercado han sido sometidos al test y los resultados son bastante aceptables (si no nos fijamos en Internet Explorer). Lo que demuestra que al menos la gente de Chrome, Safari, Opera y Firefox están trabajando duro para tener listos sus navegadores con soporte completo antes de que el estándar sea oficial.

La tabla a continuación muestra la puntuación obtenida para cada uno de los navegadores, siendo Google Chrome el que aprobó con la mayor nota, alcanzando 137 puntos de 160 posibles, seguido de Safari con 113/160, Opera 102/160, Firefox 101/160 mientras que Internet Explorer apenas logra 19 puntos.

 

html5test_thumb

Via: The INQUIRER

TwitterFacebookGoogle ReaderDeliciousDiggStumbleUponShare