Esto ayuda a los que desarrollamos aplicaciones web con acceso a base de datos ORACLE. A partir de la versión de Oracle 10g, tenemos una función que devuelve una cadena de texto con el número de línea donde se ha producido un error, hacemos un ejemplo en la pestaña SQL Editor del TOAD con un bloque anónimo, en donde provocaremos un error comparando un valor númerico (NUMBER) con una cadena de texto:
El código de nuestro pequeño bloque anónimo es el siguiente:
DECLARE
dummy NUMBER := 0;
BEGIN
if dummy = 'alfa'
then
dbms_output.put_line('if');
else
dbms_output.put_line('else');
end if;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(sqlerrm);
dbms_output.put_line(DBMS_UTILITY.format_error_backtrace);
END;
Lo que se muestra en el DBMS_OUTPUT es:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 4
El SQLERRM como todos sabemos nos devuelve el mensaje de error, y DBMS_UTILITY.format_error_backtrace nos recupera el número de línea donde esta ocurriendo el error, si el código del EXCEPTION:
estuviera en un paquete (package) el mensaje seria de la forma:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at “IDENTIFICADOR_PACKAGE.IDENTIFICADOR_PROCEDIMIENTO_FUNCION”, line 4
Esto es muy útil al momento de tracear errores en tiempo de ejecución y en el manejo de excepciones, ya que no solo sabemos la descripción del error sino que también sabemos el número de la línea de nuestro paquete donde sucedio.
A partir de la versión 3.1.1 de Safari para windows aparece en la sección Avanzado de Preferencias un check para mostrar el menu desarrollo en la barra de menus.
Una vez seleccionada esta opción, se muestra el menu Desarrollo
Se puede abrir la página actual con otros navegadores
Se puede hacer la petición al servidor de la pagina actual con distintos User-Agent (en castellano: Agente de Usuario)
También tiene un object inspector, donde podemos identificar un elemento de la página asi como el estilo que esta usando y las propiedades CSS
En la opción Network (Control Temporal de Red) veremos cuanto tarda en descargar los elementos de la página (imagenes, css, js) asi como el tamaño total de la transferencia.
La versión actual es la 0.8.5.1 del 23/agosto/2007
Tiene varias opciones pero la que destaco es la que monitoriza las peticiones ajax que hace nuestra aplicación web.
Una vez instalado aparece un boton en la barra de pestañas (1) si le das click aparece en la parte inferior de la ventana, en la sección HTTP Logging habrá que habilitar el check de Enable Logging, una vez seleccionada esta opción el add-on monitoriza las llamadas con el componente XHR (XMLHttpRequest), en nuestro ejemplo estamos en la página de Google Suggest, mientras escribimos google nos sugiere diversas entradas mientras tanto se van insertando las peticiones en el log (3), si deseas ver la respuesta del servidor basta con seleccionar una petición y dar click a Show Details (4)
Se mostrará una ventana como esta, en la pestaña Response Content vemos la respuesta:
Google Doctype es una enciclopedia abierta y una libreria de referencia. Escrita por desarrolladores web para desarrolladores web. Incluye articulos de seguridad web, manipulación de JavaScript DOM, consejos y trucos de CSS y mucho más. La sección de referencia incluye una libreria de casos de prueba para comprobar la compatibilidad cross-browser y cross-platform.
Google Doctype es 100% abierto.
* Código abierto.
* Contenido abierto.
* Abierto a contribuciones de cualquier persona.
Mark Pilgrim, autor de “Dive into Python” y ahora un Googler, nos explica más acerca de Google Doctype en la siguiente entrevista (en inglés):
“Siempre es divertido experimentar con diferentes técnicas y aprender como trabajar con varios aspectos de Adobe Photoshop para enriquecer fotos…” asi empieza el post en noupe de una buena recopilación de tutoriales para todos a los que le guste el diseño. Hay de todo un poco y aqui algunas imagenes para abrir boca: