Contenido de la categoría Aplicaciones web

« Entradas anteriores Siguientes entradas »

función esVocal()

Estoy desarrollando un lio de cadenas de texto y me gustaría saber vuestra opinión acerca de la siguiente función en javascript:

JavaScript:
  1. function esVocal(v){
  2.     return (v=="a"||v=="e"||v=="i"||v=="o"||v=="u");
  3. }

Opiniones, criticas y mejoras en los comentarios. Gracias! :P

Actualización 1

El primer comentario acerca de la función viene por parte de KUAN de blog.codexpress.cn (un blog que habla de javascript que he conocido hoy mismo) y es más de las funciones que me gustan, cripticas y potentes.

JavaScript:
  1. function esVocal(v){
  2. return [’a',’e',’i',’o',’u'].indexOf(v)>-1;
  3. }

A ver si alguien más quiere participar y así haremos unas pruebas de velocidad en distintos navegadores y sistemas operativos :)

Galería de fotos 3.0 (o más!)

Gracias al ousFerrats he llegado a una nueva herramienta de Microsoft llamada photosynth que te permite crear colecciones de imágenes (de momento aún no) de un sitio concreto y luego "navegar" por ese sitio en un falso entorno 3D simulado gracias a la variedad de las fotos en 2D. La forma, dinamismo, velocidad, etc del programita en cuestión me ha dejado con la boca super abierta y no he podido evitar dejaros el enlace para que juguéis vosotros con ello.

El programa en si es una extensión de Firefox o InternetExplorer y ocupa 5.5MB, eso si, cuando cargue no os hagáis caca :P.

Para muestra un botón:

Colecciones

A ver quien es el listo que se lo curra en flash ;)

.clearfix

.clearfix es un hack CSS para hacer que un elemento de bloque que contiene elementos flotantes en su interior se adapte a la altura de estos sin tener que introducir la altura manualmente. O lo que es lo mismo, te saca de un apuro :P.

CSS:
  1. .clearfix:after {
  2.     content: ".";
  3.     display: block;
  4.     height: 0;
  5.     clear: both;
  6.     visibility: hidden;
  7. }
  8.  
  9. .clearfix {display: inline-block;}
  10.  
  11. /* Hides from IE-mac \*/
  12. * html .clearfix {height: 1%;}
  13. .clearfix {display: block;}
  14. /* End hide from IE-mac */

Esto viene de:

positioniseverything y CSSLAB.cl.

Más proyectos AJAX en entornos reales

Ahora es el turno de la gestión de las cuentas de correo del panel de control de CDmon.
Con un diseño de eyegraphic de season, os dejo unas capturas del panel. A los que lo podáis probar ya me diréis que os parece :).


A los que no, podéis acceder desde el usuario demo o bien revisar el tutorial que hemos hecho para comprender su funcionamiento.

Espero que esto os guste más que el whois en AJAX:P

Aplicando AJAX a entornos de trabajo reales

Después de una mañanita muy divertida, por fin hemos sacado la nueva versión del whois de CDmon. Esta carga a una velocidad muy superior al antiguo gracias a la utilización de AJAX para la obtención de la información referente a los dominios.

A los interesados por el tema les recomiendo que echen un ojo y dejen su opinión :)

Optimizar y comprimir una CSS

Os dejo esta gran herramienta que he descubierto gracias a Ovillo que os ayudará a comprimir vuestras CSS. Aparte de ocupar menos gracias a la eliminación de los saltos de línea y otros datos poco útiles una vez en producción, os "arrejuntará" los estilos que estén redundados para ahorrar esos pocos bytes que se puedan rascar.

CSS Cascading Style Sheet Optimiser

$PHP_SELF ¡Peligro a la vista!

Leyendo Buayacorp.com me he encontrado con algo que creo necesario compartir.
Mucha gente usa la variable de PHP $PHP_SELF para apuntar los formularios hacia la misma página. El problema que tiene PHP_SELF es que se puede trampear para añadir javascripts en la página, con lo que se puede conseguir robar sesiones y otras cosas típicas del XSS.

Me explico:

Tenemos un formulario

HTML:
  1. <form method="POST" action="<?=$PHP_SELF?>"></form>

Y desde la barra de navegación cargamos la página que contiene el formulario añadiendo una barra al final y el script a ejecutar

HTML:
  1. /formulario.php/"><script type="text/javascript">alert("Hackme");</script><form action="

Con lo que el contenido de la página cambia:

HTML:
  1. <form method="POST" action="/marc/hack/formulario.php/formulario.php/"><script type="text/javascript">alert("Hackme");</script><form action=""></form>

Venga, ¿alguien propone soluciones?

-Yo propongo escapar $PHP_SELF con un urlencode:

PHP:
  1. <? $PHP_SELF=urlencode($PHP_SELF); ?>

Acentos, codificación y expresiones regulares

Ultimamente estoy viciado a las expresiones regulares, facilitan el trabajo de una forma asombrosa. De momento os dejo una que os servirá para filtrar un nombre de persona (con acentos y tal). Es codificación Latin-1, así que no esperéis que valide caracteres chinos ni japoneses, pero la idea va por aquí.

/^[\ \'\-\.A-Za-z\xc0-\xfc]{3,64}$/

Tengo ganas de hablar más de las expresiones regulares, pero no tengo ni tiempo ni Internet en casa, así que de momento voy jodido.

Entorno de prueba para desarrolladores web (Windows)

Todo buen desarrollador web tiene la necesidad de probar todas sus creaciones - ya sea maquetación, programación, velocidad de renderizado, etc.. – en varios navegadores. Hasta ahora la opción más sencilla era la virtualización de sistemas operativos, instalando una versión de cada navegador en cada uno de ellos, así podríamos tener un Windows 95 con el IE3, el Netscape 4 y el Opera 6.06, el Windows 98 con el IE4, el Netscape 5 y el Opera 7.54, el Windows 2000 con el IE5 o 5.5, el Firefox 1.0.8 o 1.5.0.11 y el Opera 8.54 y finalmente el Windows XP con el IE6 o 7 con la última versión del Firefox y la última de Opera.

Sencillamente esta formula es costosa de mantener y utilizar, ya que abrir tantos sistemas operativos en una misma máquina es casi imposible si no disponemos de un ordenador con toneladas de RAM.

Lo que vengo a proponer es una solución que ya se ha visto en otros sitios, pero añadiendo aparte del Internet Explorer, el Firefox y el Opera (con las correspondientes versiones). De hecho, el motor de renderizado de dichos navegadores es el mismo tanto en Windows 95 como en Windows XP.

Mis accesos directos!

Desgraciadamente de momento no podremos cubrir todas las necesidades (Linux y MAC OS) pero eso se puede solucionar virtualizando ambos sistemas y siguiendo un patrón similar.

A continuación podéis ver las estadísticas de nbsp.es por navegadores. Como podréis ver no vale la pena instalar según que versiones (como el IE3, IE4, Opera 6 y 7 y FF1.0.8 o inferiores):

Stats navegadores

Si quieres seguir leyendo: (más...)

JSTerminal, el bookmarklet definitivo

Puede que para muchos no aporte nada, pero con este bookmarklet podréis ejecutar JavaScript en el entorno de cualquier página. Digo que no aportará mucho ya que hay extensiones para Firefox que lo permiten (véase greasemonkey), pero para esos momentos en el que no nos encontramos con nuestro entorno de trabajo es perfecto.

Añadid JSTerminal pulsando el botón derecho encima del enlace y seleccionando "añadir a favoritos" (o la opción correcta dependiendo del navegador). Web oficial de JSTerminal

Si os da problemas, copiad el siguiente código en un nuevo marcador:

HTML:
  1. javascript:scScript=document.createElement('script');scScript.src='http://www.javascript.es/bmk/terminal.js?nocache='+Math.random();scScript.type='text/javascript';void(document.getElementsByTagName('head')[0].appendChild(scScript));

De momento cuelgo esto y si alguien lo quiere usar y tiene dudas que pregunte que montaré otro post.

A menudo he visto que creéis que los scripts que pongo son de otra gente, la verdad es que mayoritariamente son experimentos o pequeñas librerías que uso en mis proyectos. Espero que os sean de ayuda.

NOTA: Despues de 45 días sigo sin internet en casa.

« Entradas anteriores Entradas siguientes »

Get Adobe Flash playerPlugin by wpburn.com wordpress themes