martes, 26 de enero de 2010

Pequeños usos a nuestra simple libreria Ajax

Les traigo dos ejemplos pequeños de como usar nuestra simple librería Ajax.

ES necesario crear en un fichero javascript aparte para definir nuestras funciones complementarias entre ellas una para mostrar el contenido devuelto del servidor, y otra para mostrar un mensaje o imagen mientras se procesa la solicitud.
Lo creamos por ejemplo como funciones.js


function mostrar(texto) {
//sobre el componente html que posee el id "contenido" mostramos la respuesta del servidor
document.getElementById("contenido").innerHTML=texto;
}

function inicioEnvio()
{
//mostramos mientras tanto una imagen o mensaje de cargando.!!
document.getElementById("contenido").innerHTML='

';
}

Ahora nuestro script PHP que procesara las solicitudes enviadas mediante Ajax. renombrarlo por ejemplo como manejador.php


header('Content-Type: text/html; charset=UTF-8');
switch($_REQUEST['cod']){
case 1: echo "JAVA.- una tecnologia desarrollada por Sun Microsystems para aplicaciones software independiente de la plataforma, que engloba:Lenguaje de programacion Java, un lenguaje de programacion de alto nivel, orientado a objetos ";break;

case 2: echo "JAVASCRIPT.- es un lenguaje de programacion interpretado, es decir, que no requiere compilacion, utilizado principalmente en paginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C.";break;

case 3: echo "JSP.- es una tecnologia Java que permite generar contenido dinamico para web, en forma de documentos HTML, XML o de otro tipo. ";break;

case 4: echo "ASP.- es una tecnolog�a de Microsoft del tipo lado servidor para paginas web generadas dinamicamente, que ha sido comercializada como un anexo a Internet Information Services (IIS). ";break;

default : require("presentacion.html");
}

Ahora nuestra pagina html donde tendremos unos links pesados cada uno efectuara un llamado Ajax al servidor y sera procesado por el script php.
Cada link genera una llamada Ajax mediante la función "doAjax" parte del código html:

JSP

El ejemplo completo lo anexo a continuación: descargar

Aquí también podemos ver el resultado de esta llamada Ajax
JSP

lunes, 25 de enero de 2010

Creando nuestra propia libreria Ajax, conociendo el objeto XMLHttpRequest

Que tal.
Justo hoy en mi clase de Sistemas Cliente/Servidor, el profesor hizo un comentario de lo importante que es el compartir información con los demás, y es que el conocimiento incrementa su validez cuando es pregonado y extensivo. La verdad es que pocas veces comparto información y conocimientos directamente con mis compañeros si es que ellos no me lo piden, así que el postear en este blog es la manera mas agradable y voluntaria para compartir conocimiento sin que muchos lo pidan XD

Para los que hablan el lenguaje de la web, por ahí les guste JavaScript (el manejo que tiene sobre el DOM me fascinó), pues para ellos aquí les muestro como es que JavaScript se convierte en el corazón de Ajax, que como sabemos Ajax no es una tecnología si no una sinergia o el uso asíncrono de varias tecnologías como JAvaScript, XML y algún lenguaje de servidor, entre ellos PHP,ASP.net, JSP,etc.

Bueno empezamos conociendo el objeto XMLHttpRequest, que es sobre el que gira el funcionamiento de Ajax, este objeto es necesario para realizar la comunicación con el servidor, está disponible como un objeto ActiveX en la pionera versión 5 de Internet Explorer. Un momento ¿qué es un ActiveX?, en brevísimas palabras es una tecnología desarrollada por Microsoft (por lo tanto tecnología propietaria) que le permite al desarrollador enriquecer el contenido de la página web con pequeñas aplicaciones o interacciones con el Servidor o el computador del usuario.

Para los que no conocen mucho las aplicaciones Ajax, pues corresponden a lo que se denomina la Web 2.0, antes cuando haciamos nuestras peticiones a un servidor web este nos devolvía una respuesta codificada en lenguaje HTML, la cual era recargada totalmente en el navegador, pero gracias a este Objeto XMLHttpRequest y al gran manejo que tiene JavaScript sobre el DOM hacen posible que la respuesta del servidor sea tratada, formateada y expuesta a disposición del programador para ser mostrada en cualquier bloque de la pagina, esto pues trae una mejor performance de las aplicaciones web.

Bueno empezamos creando nuestra libreria Ajax.

1.- Creamos un archivo de texto plano y lo renombramos con miAjax.js, utilizando cualquier editor de Textos, en mi caso uso SciTE, recomendable tambien notepad++ para los usuarios windows.Luego lo editamos...

2.- Creamos el objeto XMLHttpRequest y devolvemos en una funcion


function doXmlHttpRequest(){
try {
req = new XMLHttpRequest(); /* p.e. Firefox */
}catch(err1) {
try {
req = new ActiveXObject('Msxml2.XMLHTTP'); /* algunas versiones IE */
}catch (err2) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP"); /* algunas versiones IE */
}catch (err3) {
req = false;
}
}
}
return req;

}


3.- Ahora las funciones que realizan las llamadas asíncronas al servidor por medio de los métodos GET y POST.

/*
* Este metodo recibe una url y una instancia objeto XmlHttpRequest y
* realiza la petición con el método GET.
*/
function requestGET(url, req) {

myRand=parseInt(Math.random()*99999999);//para el cache del navegador

req.open("GET",url+'&rand='+myRand,true);

req.send(null);

}



/*
* Este metodo recibe una url,los parametros de consulta y una instancia objeto XmlHttpRequest y * realiza la petición con el método POST.
*/
function requestPOST(url, query, req) {
req.open("POST", url,true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(query);

}


4.- Ahora el método que ejecuta una funcion recibiendo su nombre como parametro.

function doFuncion(funcion,item) {
eval(funcion + '(item)');
}


5.- Esta es la función principal a la cual llamaremos en nuestras aplicaciones. la cual recibe una url, una cadena de consulta,el nombre de una función de respuesta, el nombre de una función de espera ( evidentemente para nuestras imágenes de "cargando"), método de envío y un parámetro que designa el tipo de respuesta que queremos del servidor, ya sea texto plano o Xml.


//isXml: 0 si la respuesta es en texto..1 si la respuesta es en XML

/*
*Es imprescindible conocer los diferentes códigos de respuesta de parte del servidor.
*-El atributo readyState devuelve el estado actual del objeto XMLHttpRequest, cada vez que *cambia el valor de readyState se lanza la función indicada en onreadystatechange.
*
*-El atributo onreadystatechange asigna la función que se ejecutará cada vez que readyState *cambie de valor.
*
*-El atributo statusText devuelve el código del estado HTTP de la transmisión devuelto por el
* servidor web.
*
*-El atributo responseText devuelve el texto del documento descargado del servidor en una
* petición con XMLHttpRequest.
*/
function doAjax(url,query,funcionResp,funcionEspera,tipoReq,isXml) {
var myreq = doXmlHttpRequest();// crea la instancia del objeto XMLHTTPRequest
myreq.onreadystatechange = function() {
if(myreq.readyState == 4) {
if(myreq.status == 200) {
var item = myreq.responseText;
if(isXml==1) {
item = myreq.responseXML;
}
doFuncion(funcionResp, item);
}
}
else
doFuncion(funcionEspera,"");
}
if(tipoReq=='post') {
requestPOST(url,query,myreq);
} else {
requestGET(url,myreq);
}
}

Como sabemos cuando el estado que devuelve el servidor es 200, significa que todo esta Ok, la información ya la hemos capturado en la variable "item".
Les recomiendo leer algunas anotaciones del protocolo http para entender mejor de que va esto:
link

Anexo el código fuente: aqui

En el post de mañana doy unos ejemplos para usar esta sencilla librería.
Bueno para darse una idea pueden tener un resultado como este XD..visita Vicux..(Comunidad Piurana de Software Libre)

//Dudas o Sugerencias :
luisan_182@hotmail.com
luantoc182@extpiura.com

martes, 19 de enero de 2010

Añadir etiqueta Code en Blogger con Highlighter

Que tal,
Hoy estuve buscando la manera de poner código en mis entradas pero de una forma decente XD.
El primer link con el que me encontré fue este, mmm como 2 horas para llegar al resultado esperado y nada que aparecía la bendita apariencia del "code".
Luego llegaron otros link mas "sin ton ni son" hasta que llegue a la solución que ahora se las expongo:

Primero descargar la version mas actualizada del Highlighter desde aqui, Si no deseas descargar los archivos puedes utilizar los ya subidos en los links a continuación en el código:

Las hojas de estilos y scripts de Highlighter se encuentran también subidos a un servidor ahorrándonos el trabajo de descomprimir y subir a nuestro propio server

El siguiente código lo tendran que añadir a su plantilla actual de su respectivo blog (>Diseño>Edicion de Html).




















Al editar la plantilla, añadimos el código por supuesto dentro de la etiqueta "head", guardamos los cambios y listo!!



Es la hora de probar si todo va bien, si nos hemos dado cuenta en gran parte hay un lenguaje a presentar por cada script añadido, esos son los lenguajes con soporte en este librería por el momento. Los cuales los tenemos en esta lista (recomendable ver esta sintaxis).

El formato es el siguiente:


código con lenguaje especificado en el "Brush alias"



Ejemplo con PHP
Este es el codigo:


echo "Esto resulta factible, ya veo mas decencia XD, lastima que se habrán dado cuenta la lentitud de carga del blog";



Este es el resultado

echo "Esto resulta factible, ya veo mas decencia XD, lastima que se habrán dado cuenta la lentitud de carga del blog";

Instalando Mysql Workbench en Ubuntu 9.10

Que tal,
Bueno aquí les doy los pasos para instalar esta fabulosa herramienta de modelado de base de datos para Mysql, entre sus características resaltantes y utilitarias 100% es que permite la ingeniería en reversa y sincronización con múltiples esquemas, además de forma automática te genera los scripts de las tablas.
El trabajo resulta sencillo contando a la mano con esta herramienta, 100% recomendable, hasta ahora no me quejo de su funcionamiento, claro que en una pc con 256 de RAM, con gusto querras desaparecerlo XD.

- Instalamos la librería "libctemplate0_0.96-1_i386.deb" con:

sudo dpkg -i libctemplate0_0.96-1_i386.deb
nota: esto en caso de haber descargado tal librería, de otro modo podemos descargarla e instalarla del gestor de paquetes Synaptic o con apt-get install

-- Descargamos la librería libzip1 con:

sudo apt-get install libzip1

- Instalamos Mysql-Worbeanch con:

sudo dpkg -i mysql-workbench-oss-5.1.18-1ubu904-i386.deb

nota: Puedes descargar el paquete del MysqlWorbench desde aqui

Al ejecutarlo y conectarlos a la base de datos en ubuntu 9.10, aparece el siguiente error :

Couldn't load library libmysqlclient_r.so

Bastará con crear el siguiente enlace simbolico:

cd /usr/lib
sudo ln -s libmysqlclient.so.16 libmysqlclient_r.so

Para ejecutarlo vamos al menu «Applicaciones>Programación>” y seleccionamos «MySQL WorkBench” y listo ya podemos modelar bases de datos.

Mostrar "Lo que estoy escuchando" en Mercury Messenger y Songbird sobre Ubuntu Linux

Que tal!
Bueno les comento que hace un tiempo vengo usando una alternativa interesante, multiplataforma y muy configurable (->lo mejor) de cliente de mensajería instantánea llamado Mercury Messenger ( version 1.9.5 estable), sobre todo que es de la marca Java XD, la verdad dicen que "es el clon del Windows Live Messenger",mmm pues yo digo y porque diablos hay que comparar con Windows Live si a mi parecer el desarrollo de sus nuevas versiones han sido un desastre total.
Los usuarios linux suelen conectarse por pidgin(con muchas deficiencias), Empathy(5mentarios), mediante IRC, skype, e infinidad de clientes de mensajería libres, también tenemos a un grupo un tanto reducido usando Mercury, con la aclaración que este producto es freeware mas no opensource.

Este software nos trae muchas funciones,algo que si es un poco deficiente es que para visualizar el la web cam se necesita instalar la librería JMF.

Al grano...muchos usuarios tienen el "antojo" de mostrar algún tema musical que esta tocando en su reproductor y chismearle al resto de sus contacto XD, jugando un poco con una de las miles funciones que nos trae Mercury, lo configure para mostrar las susodichas canciones provenientes de mi reproductor musical preferido : SongBird. SongBird es un excelente reproductor, con muchas opciones, una interfaz realmente amigable...algo asi como un iTunes de Mac.

Si gustan conocer sus características,ventajas y desventajas de estos programas ...los invito a hacer que San Google haga su labor.

Paso 1:
En nuestro SongBird vamos a "Songbird Add-ons" y descargamos el plugin : LiveTweeter
Paso 2:
Configuramos el plugin en el Menú "Herramientas>Complementos", elegimos Live Tweeter y damos a "Preferences".

Creamos un archivo de texto en un lugar de preferencia con un nombre de preferencia.
Nos vamos a la pestaña "Messenger", activamos la opción "Activar archivo de texto" y le damos la ruta del archivo

Paso 3:
Ahora a configurar Mercury navegamos por "Opciones>Configuraciones de Cuenta>Nombre a mostrar", Activamos "Mostrar la canción actual reproduciéndose" y en "Comando de Consola" teclear lo siguiente "tail /ruta_archivo/nombre_archivo.txt", guardamos y listo, ahora reproduzcan alguna cancion desde el SongBird, el nombre y artista de esta se guardara mediante un flujo de salida en el archivo de texto, y desde Mercury lo tomaremos con el comando "tail" que lee un archivo de texto

domingo, 16 de agosto de 2009

Comentarios de Videos

(Entrada para mi curso de TI)

Seguridad Informatica
Asi como la informacion es el elemento de mayor importancia para cualquier persona u organizacion, esta tambien representa el mayor blanco de ataques y fraudes que pueden llegar a causar grandes daños y cuantiosas perdidas.
Es necesario contar con tecnicas y herramientas adecuadas para brindar seguridad y garantizar la integridad, autenticidad y disponibilidad de la informacion.

Existen diversas formas y modalidades de perpetuar ataques informaticos, como los llamados "Spam" que no son mas que avisos o correos basura que saturan los servidores de correo para fines maliciosos.
Los virus informaticos consituyen la mas grande amenaza que todos los tiempos ha estado presente, ya que existen una inmensa variedad de estos y sus consecuencias son muy distintas desde una simple aplicacion hasta la acida de un gran sistema, estos tienen la facultad de reproducirse y multiplicarse por la red, infectando asi muchos ordenadores, para este mal existen tambien gran variedad de antivirus en su mayoria todos privativos.

Una modalidad muy poderosa de estafa es el "phishing" para obtener informacion confidencial de los usuarios victimas para ser usados de forma fraudolenta, partiendo de falsas paginas web o copias exactas de autenticos sitios web, en la actualidad es una modalidad muy practicada por los hackers ya que el usuario final cuenta con muy poco conocimiento de medidas de seguridad de sus datos.

Por ultimo la gran amenaza por excelencia son los "hackers" y "Crackers" q buscan robar informacion confidencial de personas u entidades y utilizarla para fines especificos. Existen muchos terminos para referirnos a los cibernautas que producen actividades delictivas por medio de los ordenadores.

Se sabe que no hay defensa perfecta, pero si buenas medidas para mantener controlado cualquier ataque informatico.
Fuente--> http://www.youtube.com/watch?v=6ihTC8up2eM

Riesgos de la Tecnologia

La tecnologia esta en todas partes, abarca una extensa gama de utilidades para el hombre, esta muy orientada a la comunicacion, agrega valor a las actividades del hombre ademas que potencia el funcionamiento y operacion de las empresas.

Tenemos que ser conscientes que existen muchos riesgos y amenazas que dependiendo de su magnitud pueden causar daños incalculables a una persona, familia, entidad publica, gobernamental y cualquier otra organizacion que emplee tecnologias de informacion.

El video nos muestra claramente como es que una organizacion queda en jaque, partiendo de la entrada de un aparentemente indefenso archivo o correo electronico que desencadena la infeccion total de toda la red y desde luego la caida del sistema, y como si fuera el crimen perfecto, la informacion que viaja dentro es capturada y robada, las claves de acceso son el blanco principal, los clientes tambien son perjudicados ya que no cuentan con el optimo manejo del sistema, es asi como este ataque se convierte en una gran amenaza y en un gran evento delictivo sin la participacion prescencial de los causantes!

Frente a esto, es necesaria una adecuada orientacion y conocimiento de los riesgos de las TIC, ademas de una capacitacion en el ambito laboral y seguir pautas de seguridad informatica para prevenir los grandes daños que hemos visto!

Fuente --> http://www.youtube.com/watch?v=wbleh0TpBsc

Comprando en Internet

Un video muy curioso!.. El mensaje es claro: "cuidado con el Phishing, debo estar bastante informado con este tema", pues en el primer video explique un poco lo que era esta modalidad de fraude y las consecuencias que origina.

Cuando efectuemos actividades de e-commerce o e-banking es muy recomendable no navegar por paginas por medio de enlaces sin antes estar seguro de que su procedencia es confiable, se sugiere navegar escribiendo la URL en la barra de direcciones del naevgador y leer claramente todo su contenido de la web, si no queremos estar sujetos a engaños y fraudes por la internet.

sábado, 11 de julio de 2009

Marketing Movil..Una nueva herramienta de comunicacion

--(Entrada para mi curso de TI)--

Se dice que si el móvil fuera un virus, la humanidad estaría a punto de desaparecer.
Somos concientes que el teléfono móvil se ha convertido en el medio de comunicación más popular entre las personas, gracias a sus prestaciones que ofrece.

Pero además lo que escapa a nuestra vista es que estos dispositivos son muy importantes en el ámbito empresarial para realizar acciones de marketing móvil, campañas de comunicación, comunicación a bases de datos, promociones, etc.

En la lectura resalta la gran importancia que ha tiene el uso de los mensajes de texto (SMS) en las campañas de marketing, gracias a esta revolución se puede tener una comunicación de bajo costo entre las empresas y sus clientes de forma oportuna y eficiente.
A mi parecer, esta tecnología nace de la necesidad de las empresas de tener una relación más real y potencial con sus clientes para explotar el factor movilidad que tanto gustan las personas y que les es bastante cómodo para realizar todo tipo de actividades.

Otras metodologías de comunicación entre empresas o entidades y los clientes son: el branding, el M_commerce, y el advergaming, que constituyen increíbles alternativas tecnológicas para el marketing.

Se dice que el móvil es la herramienta casi absoluta de marketing del futuro.

Un ejemplo claro que puedo citar sobre el tema es en los programas televisivos, que piden mandar un SMS para algún concurso, otros orientados a la empresa como compras de entradas de cine, cupones, avisos de ofertas,etc.