Las funciones nativas de manejo de fechas en PHP (date, time, etc...) utilizan enteros para los timestamps por lo que la representación de los años queda restringida a los rangos 1901-2038 en Unix/Linux y 1970-2038 en Windows. Esto es bastante incómodo y a mi en particular me ha ocasionado algún que otro dolor de cabeza. Por eso me puse a buscar por Internet y al final conseguí hacerme con una libreria que solucionaba el problema. ADO Date Time library En concreto, lo que hace es utilizar float (64 bits) en vez de integer (32 bits) para la representación del timestamp. Al ganar en longitud las posibilidades de representación crecen y con esto el problema queda solucionado. Os la recomiendo. La he utilizado y es genial. … [Read more...] about Timestamp superior al 2038
Desarrollo
Código javascript cumpliendo el estandar XHTML
Seguramente ya os habrá pasado alguna vez. Programas una página XHTML siguiendo el estandar Strict y cuando la validas te encuentras con que el código javascript empotrado dentro del código no cumple dicho estandar. En ese caso si tienes prisa lo normal es sacarlo a un fichero js y hacer un include del mismo en el header. Existe otra solución más práctica. Los chicos del W3C están en todo y nos han facilitado una sintaxis que nos permite insertar el código javascript en la página, siempre y cuando lo protejamos con ciertas etiquetas. Aquí tenéis un ejemplo: Como veis es muy fácil y nos permitirá solucionar este pequeño problema. Para quien se este iniciando en el tema SEO y no lo sepa aún, el XHTML Strict es una forma de guiñarle un ojo a los crawlers de los buscadores, en especial a Google, quienes agradecen con mejores posiciones a aquellos sites que cumplen con el XHMTL Strict. … [Read more...] about Código javascript cumpliendo el estandar XHTML
Escaner de puertos online
Normalmente cuelgo versiones de las aplicaciones en un servidor local accesible desde Internet, con el fin de que validen la entrega. En algunas ocasiones necesito abrir mi máquina de desarrollo para que el cliente pueda acceder a la última versión y validar sobre la marcha los cambios. En estos casos se hace una redirección de puertos a la máquina interior, redirección que a veces hay que comprobar que funciona. Una buena forma es utilizar un escaner de puertos online que nos dirá si este está abierto. Lo mejor que he encontrado por ahora es este t1shopper.com Además, para asegurarnos de que efectivamente se llega a la página que deseamos suelo valerme de un validador XHTML Con este último la verdad es que te puedes asegurar de ambas cosas, que el puerto se encuentra abierto y que la redirección es correcta ;-) … [Read more...] about Escaner de puertos online
Validación XHTML online de un site completo
Aquí os dejo una herramienta de validación XHTML que nos permite validar nuestro site completo informando al final de aquellos errores que incumplen el estandar. http://htmlhelp.com/tools/validator/ … [Read more...] about Validación XHTML online de un site completo
Proteger los directorios SVN de Subversion en Apache
Cuando presentamos un proyecto web a un cliente es habitual colgarle una versión en un servidor web accesible con el fin de que este pueda acceder y validar los avances. En estos caso, lo más cómodo si nos encontramos trabajando con Subversion, sería poder descargar un checkout del propio repositorio con el fin de que futuras modificaciones se actulizaran la versión publicada con solo hacer un update. Para hacer esto de forma segura hay que proteger el acceso vía web a los directorios .svn que crea el Subversion. Nada más sencillo!!! Incluid estás lineas en la configuración del servidor Apache: <DirectoryMatch "^/.*/\.svn/"> Order deny,allow Deny from all </DirectoryMatch> Está sintaxis no es aceptada en los ficheros .htaccess por lo que nos vemos obligados a hacerlo en el http.conf de Apache. Tambien podeis adecuar la expresión regular para proteger otro tipo de directorios, como por ejemplo los creados por CVS. … [Read more...] about Proteger los directorios SVN de Subversion en Apache
PEAR :: PHP_Beautifier
Que ocurre cuando nos vemos envueltos en un desarrollo compartido con varios desarrolladores. Normalmente cada uno tiene su estilo de codificación, y cuando hablo de estilo me refiero no solo a la forma en la que nombramos las clases o métodos sino a como escribimos el código. Si has pasado por un desarrollo compartido sabes de que hablo. Lo normal en estos casos es utilizar una guía de estilos común que nos permita armonizar el resultado y hacer así un poco más legible aquello que no hemos creado nosotros mismos. No está de más apoyarse en herramientas externas como formateadores de código o code beautifers para corregir aquellas desviaciones de la norma que hemos seguido. En el caso de PHP nos encontramos con una paquete muy útil, que aunque se encuentra en versión beta, podemos utilizar con confianza en su funcionalidad. Habló de PHP:Beautifier Lo podemos instalar utilizando el script de linea de comandos pear install Una vez instalado os ofrece una seria de clases … [Read more...] about PEAR :: PHP_Beautifier
Firebug
Para aquellos que aún no lo conozcan, Firebug se ha convertido en un plugin imprescindible para el desarrollo web. Entre otras cosas podemos sorprendednos por su consola que permite depurar nuestros scripts en javascript en tiempo real, añadiendo breakpoints o incluso realizando watching de las variables con lo que podremos consultar su valor en cualquier instante. Si utilizas AJAX, Firebug logará cualquier petición que se realize al servidor permitiendte tener mayor control de la información enviada y recibida. Además te permite inspeccionar cualquier objeto gráficamente de forma que te localiza el objeto dentro del código con solo hacer click sobre el mismo en pantalla. A esto hay que añadirle la posibilidad de modificar sus propiedades, entre ellas los CSS viendo las modificaciones en tiempo real sin necesidad de recargar la página. Una joya, vaya. Firebug es un plugin de Firefox y se instala como es habitual de forma cómoda y rápida desde el mismo navegador. Para aquellos que … [Read more...] about Firebug
Listado de paises ISO-3166 en español.
Muchas veces necesitamos tirar mano de un listado de identificadores para codificar paises. Podemos reinventar la rueda o podemos aprovecharnos de los estándares vigentes. La mejor opción el ISO-3166 que codifica en dos o tres caracteres los paises. Aquí podeis acceder al listado en inglés. Aquí lo teneis en varios formatos como HTML, XML o TXT y en inglés y francés. Si quereis el listado en español lo podeis encontrar en nuestra querida wikipedia. Si lo quereis en catalan tambien está disponible en la wikipedia. … [Read more...] about Listado de paises ISO-3166 en español.
Como capturar el primer carácter en shell scripting o ‘get first char’
Aquí teneis un ejemplo de como capturar el primer carácter de una cadena con shell/bash scripting. #!/bin/sh firstchar=$(expr substr $cadena 1 1) … [Read more...] about Como capturar el primer carácter en shell scripting o ‘get first char’
Listado Mime type para Internet Information Server
Dejo aquí un listado con los tipos MIME soportados por la versión 5 del Internet Information Server (IIS). Tipos MIME clasificados por … [Read more...] about Listado Mime type para Internet Information Server