lunes, 22 de noviembre de 2010

DNS

Domain Name System es un sistema de nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado a internet o a una red privada. Este sistema asocia información variada con nombres de dominios asignado a cada uno de los participantes. Su función más importante, es traducir nombres inteligibles para los humanos en identificadores binarios asociados con los equipos conectados a la red, esto con el propósito de poder localizar y direccionar estos equipos mundialmente.
La asignación de nombres a direcciones IP es ciertamente la función más conocida de los protocolos DNS. Por ejemplo, si la dirección IP del sitio FTP de prox.mx es 200.64.128.4, la mayoría de la gente llega a este equipo especificando ftp.prox.mx y no la dirección IP. Además de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por muchas razones, sin que tenga que cambiar el nombre.

Componentes
Para la operación práctica del sistema DNS se utilizan tres componentes principales:
  • Los Clientes DNS: Un programa cliente DNS que se ejecuta en la computadora del usuario y que genera peticiones DNS de resolución de nombres a un servidor DNS (Por ejemplo: ¿Qué dirección IP corresponde a nombre.dominio?);
  • Los Servidores DNS: Que contestan las peticiones de los clientes. Los servidores recursivos tienen la capacidad de reenviar la petición a otro servidor si no disponen de la dirección solicitada.
  • Y las Zonas de autoridad, porciones del espacio de nombres de dominio que almacenan los datos. Cada zona de autoridad abarca al menos un dominio y posiblemente sus subdominios, si estos últimos no son delegados a otras zonas de autoridad.

Uso del DNS
El DNS se utiliza para distintos propósitos. Los más comunes son:
  • Resolución de nombres: Dado el nombre completo de un host (por ejemplo blog.smaldone.com.ar), obtener su dirección IP (en este caso, 208.97.175.41).
  • Resolución inversa de direcciones: Es el mecanismo inverso al anterior. Consiste en, dada una dirección IP, obtener el nombre asociado a la misma.
  • Resolución de servidores de correo: Dado un nombre de dominio (por ejemplo gmail.com) obtener el servidor a través del cual debe realizarse la entrega del correo electrónico (en este caso, gmail-smtp-in.l.google.com).
Terminología básica
Antes de proseguir, es necesario introducir algunos términos básicos para evitar confusiones y ambigüedades. Otros términos más complejos serán tratados más adelante.
  • Host Name: El nombre de un host es una sola “palabra” (formada por letras, números y guiones). Ejemplos de nombres de host son “www“, “blog” y “obelix“.
  • Fully Qualified Host Name (FQHN): Es el “nombre completo” de un host. Está formado por el hostname, seguido de un punto y su correspondiente nombre de dominio. Por ejemplo, “blog.smaldone.com.ar“
  • Domain Name: El nombre de dominio es una sucesión de nombres concatenados por puntos. Algunos ejemplos son “smaldone.com.ar“, “com.ar” y “ar“.
  • Top Level Domains (TLD): Los dominios de nivel superior son aquellos que no pertenecen a otro dominio. Ejemplos de este tipo son “com“, “org“, “ar” y “es“.

Heurística de sitios web

General
La estructura general
Los sitios web deben estructurarse pensando en el usuario, sus objetivos y necesidades. No se debe calcar la estructura interna de la empresa u organización, al usuario no le interesa cómo funciona o se organiza la empresa.

Look & feel
Por ejemplo, los colores empleados. Aunque el significado que comunica un determinado color es muy subjetivo y dependiente de la cultura y el entorno, y por lo tanto diferente para cada usuario, ciertas combinaciones de colores ofrecen una imagen más o menos formal, seria o profesional, como pueden ser los tonos de azules con el blanco, que trasmiten una imagen corporativista.



Coherencia en el diseño general
Se debe mantener una coherencia y uniformidad en las estructuras y colores de todas las páginas. Esto sirve para que el usuario no se desoriente en su navegación.




Es reconocible el diseño general
Cuánto más se parezca el sitio web al resto de sitios web, más fácil será de usar.

Se actualiza periódicamente
Las fechas que se muestren en la página deben corresponderse con actualizaciones, noticias, eventos...no con la fecha del sistema del usuario.

Lenguaje
Habla el mismo lenguaje que sus usuarios
Se debe evitar usar un lenguaje corporativista. Así mismo, hay que prestarle especial atención al idioma, y ofrecer versiones del sitio en diferentes idiomas cuando sea necesario.

1 párrafo = 1 idea
Cada párrafo es un objeto informativo. Trasmita ideas, mensajes...Se deben evitar párrafos vacíos o varios mensajes en un mismo párrafo.
Rotulado
Los rótulos, ¿son significativos?
Ejemplo: evitar rótulos del tipo "haga clic aquí".

Enlaces que no llevan a ningún sitio
Enlaces que no llevan a ningún sitio: Los enlaces rotos, y los que enlazan con la misma página que se está visualizando (por ejemplo enlaces a la "home" desde la misma página de inicio)

Visual

 
Uso correcto del espacio visual de la página
Es decir, que no se desaproveche demasiado espacio con elementos de decoración, o grandes zonas en "blanco", y que no se adjudique demasiado espacio a elementos de menor importancia.





Accesibilidad
Es compatible el sitio web con los diferentes navegadores
Se debe prestar atención a: JScript, CSS, tablas, fuentes...

¿Se ha controlado el peso de la página?
Se deben optimizar las imágenes, controlar el tamaño del código JScript...

¿Se puede imprimir la página sin problemas?
Leer en pantalla es molesto, por lo que muchos usuarios preferirán imprimir las páginas para leerlas. Se debe asegurar que se puede imprimir la página (no salen partes cortadas), y que el resultado es legible.


http://www.useit.com/papers/heuristic/heuristic_list.html
http://designingwebinterfaces.com/6-tips-for-a-great-flex-ux-part-5

domingo, 21 de noviembre de 2010

MySQL

 MySQL es un sistema de gestión de bases de datos relacional. Su diseño le permite soportar una gran carga de forma muy eficiente.
Este gestor de bases de datos es, probablemente, el gestor más usado en el mundo del software libre, debido a su gran rapidez y facilidad de uso. Esta gran aceptación es debida, en parte, a que existen infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de programación, además de su fácil instalación y configuración.

Características de MySQL
Las principales características de este gestor de bases de datos son las siguientes:
  1. Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo.
  2. Soporta gran cantidad de tipos de datos para las columnas.
  3. Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc).
  4. Gran portabilidad entre sistemas.
  5. Soporta hasta 32 índices por tabla.
  6. Gestión de usuarios y passwords, manteniendo un muy buen nivel de seguridad en los datos.
¿Qué es lo que le falta?
MySQL surgió cómo una necesidad de un grupo de personas sobre un gestor de bases de datos rápido, por lo que sus desarrolladores fueron implementando únicamente lo que precisaban, intentando hacerlo funcionar de forma óptima. Es por ello que, aunque MySQL se incluye en el grupo de sistemas de bases de datos relacionales, carece de algunas de sus principales características:
  1. Subconsultas: tal vez ésta sea una de las características que más se echan en falta, aunque gran parte de las veces que se necesitan, es posible reescribirlas de manera que no sean necesarias.
  2. SELECT INTO TABLE: Esta característica propia de Oracle, todavía no está implementada.
  3. Triggers y Procedures: Se tiene pensado incluir el uso de procedures almacenados en la base de datos, pero no el de triggers, ya que los triggers reducen de forma significativa el rendimiento de la base de datos, incluso en aquellas consultas que no los activan.
  4. Transacciones: a partir de las últimas versiones ya hay soporte para transacciones, aunque no por defecto (se ha de activar un modo especial).
  5. Integridad referencial: aunque sí que admite la declaración de claves ajenas en la creación tablas, internamente no las trata de forma diferente al resto de campos.
Ejemplo

/*
* PruebaMySQL.java
*
* Programa de prueba para conexión a una base de datos de MySQL.
* Presupone que el servidor de base de datos está arrancado, disponible,
* en el puerto por defecto.
* El usuario y password de conexión con la base de datos debe cambiarse.
* En la base de datos se supone que hay una base de datos llamada prueba y que
* tiene una tabla persona con tres campos, de esta manera:
* mysql> create database prueba;
* mysql> use prueba;
* mysql> create table persona (id smallint auto_increment, nombre varchar(60),
* nacimiento date, primary key(id));
*/
package chuidiang.ejemplos.base_datos;
import java.sql.*;
/**
* Clase de prueba de conexión con una base de datos MySQL
*/
public class PruebaMySQL {
/**
* Crea una instancia de la clase MySQL y realiza todo el código
* de conexión, consulta y muestra de resultados.
*/
public PruebaMySQL()
{
// Se mete todo en un try por los posibles errores de MySQL
try
{
// Se registra el Driver de MySQL
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver()) // Se obtiene una conexión con la base de datos. Hay que
// cambiar el usuario "root" y la clave "la_clave" por las
// adecuadas a la base de datos que estemos usando.
Connection conexion = DriverManager.getConnection (
"jdbc:mysql://localhost/prueba","root", "la_clave");
// Se crea un Statement, para realizar la consulta
Statement s = conexion.createStatement();
// Se realiza la consulta. Los resultados se guardan en el
// ResultSet rs
ResultSet rs = s.executeQuery ("select * from persona");
// Se recorre el ResultSet, mostrando por pantalla los resultados.

while (rs.next())
{
System.out.println (rs.getInt ("Id") + " " + rs.getString (2)+
" " + rs.getDate(3));
}
// Se cierra la conexión con la base de datos.
conexion.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* Método principal, instancia una clase PruebaMySQL
*
* @param args the command line arguments
*/
public static void main(String[] args)
{
new PruebaMySQL();
}
}

Servlets

Los Servlets son las respuestas de la tecnología Java a la programación CGI. Son programas que se ejecutan en un servidor Web y construyen páginas Web. Construir páginas Web es útil por un número de razones:
  • La página Web está basada en datos envíados por el usuario. Por ejemplo, las páginas de resultados de los motores de búsqueda se generan de esta forma, y los programas que procesan pedidos desde sites de comercio electrónico también.
  • Los datos cambian frecuentemente. Por ejemplo, un informe sobre el tiempo o páginas de cabeceras de noticias podrían construir la página dinámicamente, quizás devolviendo una página previamente construida y luego actualizandola.
  • Las páginas Web que usan información desde bases de datos corporativas u otras fuentes. Por ejemplo, usaríamos esto para hacer una página Web en una tienda on-line que liste los precios actuales y el número de artículos en stock.

El proceso de ejecución de un servlet:

  1. El proceso comienza con la petición HTTP que llega en primer lugar al servidor web (ejemplo Apache).
  2. La petición se traslada al Contenedor de aplicaciones, en concreto a su motor del servicio Servlet/JSP (con su propia JVM).
  3. El motor encapsula la información de la petición en un objeto del tipo HttpServletRequest, además encapsula en un objeto HttpServletResponse el flujo de respuesta.
  4. El motor crea por cada petición un hilo, sobre el que se invoca a la función service() del servlet. En función del método de la petición (POST o GET ...), service() llamará al método correspondiente del servlet: doPost(), doGet() ..., pasándoles los objetos de HttpServletRequest y HttpServletResponse. En realidad hay más métodos HTTP (trace, etc.), pero GET y POST son los más habituales.
  5. Cada clase del tipo servlet, tiene una única instancia, sobre la que corren los diferentes hilos (peticiones). 

Escribiendo un Servlet simple
El ejemplo consiste en una forma HTML en la que existirá un campo de entrada, con los correspondientes botones Submit y Reset típicos de cualquier formulario de entrada de datos.
A oprimir sobre el botón Submit se producirá la ejecución del Servlet en el servidor, que procesará la información recibida, y mostrará como resultado una página HTML con el texto introducido con anterioridad.
Código HTML
<html>
<head>
<title>Ejemplo de un Servlet simple</title>
</head>
<body>
<form action=http://servidor:8080/servlet/ServletSimple method=POST>
<BR>
<BR>Introduzca un texto en el cuadro y oprima el botón "Aceptar"
<BR>
<input type=text name=TEXTO>
<p>
<input type=submit value=Aceptar><input type=reset value=Limpiar>
</form>
</body>
</html>

En el código HTML necesario para implementar el ejemplo destacan dos partes. En primer lugar la cabecera del form, que indica la acción a desencadenar en el servidor al pulsar el botón de Submit, y en segundo lugar la parte en que se define el form propiamente. El archivo que contiene la página HTML lo llamaremos ServletSmiple.htm.

Código del Servlet
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class ServletSimple extends HttpServlet
{
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
ServletOutputStream salida = res.getOutputStream();
res.setContentType("text/html");
String cadena = req.getParameter("TEXTO");
salida.println ("<p>Datos capturados : "+ cadena + "</p>");
}
}

Los datos enviados desde la forma son recibidos por el servlet que fue invocado por la misma. El código java del servlet es el siguiente:
En el programa destaca principalmente la utilización de los paquetes javax.servlet.* y javax.servlet.http.*, y la cláusula extends que define el programa como una extensión de HttpServlet. El archivo que contiene el Servlet lo llamaremos ServletSimple.java. Una vez que ha sido compilado, usando javac , almacenaremos el archivo .class resultante en el directorio /servlets dentro del directorio donde hayamos instalado el servidor de servlets.

Introduzca un texto en el cuadro y oprima el botón "Aceptar"












Principios Gestalt

La psicología de la Gestalt es una corriente de la psicología moderna.
La mente configura, a través de ciertas leyes, los elementos que llegan a ella a través de los canales sensoriales (percepción) o de la memoria (pensamiento, inteligencia y resolución de problemas). En nuestra experiencia del medio ambiente, esta configuración tiene un carácter, primero sobre los elementos que la conforman, y la suma de estos últimos por sí solos no podría llevarnos, por tanto a la comprensión del funcionamiento mental. Este planteamiento se ilustra con el axioma el todo es más que la suma de sus partes, con el cual se ha identificado con mayor frecuencia a esta escuela psicológica.
Aquí les muestro un ejemplo en el que se ve una persona montada en un caballo dirigiéndose por el camino con rocas, arboles, etc., y estás tienen forma de rostros de personas.
Los rostros que encontre están encerrados con un círculo rojo.


Facebook Apps



Iniciando
Al crear una aplicación en Facebook, la principal página de opinión de su aplicación viene a través de la página de lienzo, un iframe alojado en apps.facebook.com. 
When you register your application, you choose a Canvas Page (eg your_app ) and a Canvas URL (eg http://www.example.com/canvas/ ). Al registrar su solicitud, usted elige una página de lona (por ejemplo, your_app ) y una dirección URL de lona (por ejemplo, http://www.example.com/canvas/ ). When a user visits http://apps.facebook.com/your_app/ , Facebook loads your specified Canvas URL within an iframe on that page. Cuando un usuario visita http://apps.facebook.com/your_app/ , las cargas de Facebook se especifica su dirección de lona dentro de un iframe en esa página.

Lenguajes en que se puede desarrollar Facebook SDKs
JavaScript SDK

PHP SDK

Python SDK

Android SDK



Gráfico de la API 
Proporciona una visión simple y consistente de la gráfica social, de manera uniforme que representan objetos (como las personas, fotos, eventos, y las páginas) y las conexiones entre ellas (como la amistad, gustos, y las etiquetas de la foto).

Authentication 
Autenticación de Facebook permite que la aplicación de interactuar con la API gráfica en nombre de los usuarios de Facebook, y proporciona un potente inicio de sesión único mecanismo a través de Internet, móviles y aplicaciones de escritorio.

Social plugins
Le permiten ofrecer atractivas experiencias sociales a los usuarios con sólo una línea de código HTML. Debido a que los plugins son atendidos por Facebook, el contenido es personalizado para el espectador o no hayan accedido a su sitio.

Open Graph protocol 
El protocolo abierto gráfico le permite integrar sus páginas en el gráfico social. Estas páginas obtener la funcionalidad de los objetos gráficos y los vínculos de otros perfiles y actualizaciones para el flujo de usuarios conectados.

Google Apps


¿Qué es?
Google App Engine te permite ejecutar tus aplicaciones web en la infraestructura de Google. Las aplicaciones App Engine son fáciles de crear, mantener y actualizar al ir aumentando el tráfico y las necesidades de almacenamiento de datos. Con App Engine, no necesitarás utilizar ningún servidor: sólo tendrás que subir tu aplicación para que tus usuarios puedan empezar a utilizarla.

¿Con qué lenguajes se pueden desarrollar?
Google App Engine admite aplicaciones escritas en varios lenguajes de programación. Gracias al entorno de tiempo de ejecución Java de App Engine puedes crear tu aplicación a través de tecnologías Java estándar, que incluyen JVM, servlets Java y el lenguaje de programación Java o cualquier otro lenguaje que utilice un intérprete o compilador basado en JVM como, por ejemplo, JavaScript o Ruby. App Engine también ofrece un entorno de tiempo de ejecución Python dedicado, que incluye un rápido interprete Python y la biblioteca estándar Python. Los entornos de tiempo de ejecución Java y Python se generan para garantizar que tu aplicación se ejecuta de forma rápida, segura y sin interferencias de otras aplicaciones en el sistema.
Las aplicaciones no tienen costo.


Algunas funciones para google apps son:
Servidor web dinámico, totalmente compatible con las tecnologías web más comunes,
almacenamiento permanente con funciones de consulta, orden y transacciones,
escalado automático y balanceo de carga,
API para autenticar usuarios y enviar correo electrónico a través de las cuentas de Google,
un completo entorno de desarrollo local que simula Google App Engine en tu equipo,
tareas programadas para activar eventos en momentos determinados y en intervalos regulares.
Almacenar datos
App Engine proporciona un potente servicio de almacenamiento de datos distribuido que incluye un motor de búsqueda y transacciones. A medida que el servidor web distribuido crece con el tráfico, el almacén de datos distribuido crece con los datos.
Las entidades del almacén de datos son carecen de esquema. Tu código de aplicación se encarga de proporcionar y de respetar la estructura de las entidades de datos. Las interfaces JDO/JPA de Java y la interfaz del almacén de datos de Python incluyen características para aplicar y respetar la estructura de tu aplicación. Tu aplicación también puede acceder al almacén de datos de forma directa para aplicar mucho o poco la estructura que necesite.
Cuánto cuesta subir aplicaciones en google apps.
App Engine admite la integración de una aplicación con Cuentas de Google para la autenticación de los usuarios. Tu aplicación puede permitir a un usuario acceder con una cuenta de Google y tener acceso a la dirección de correo electrónico y el nombre de visualización asociados a la cuenta. Las cuentas de Google permiten que el usuario pueda empezar a utilizar la aplicación de una forma más rápida, ya que no tiene que crear una cuenta nueva. También te ahorran el esfuerzo de implementar un sistema de cuentas de usuario sólo para tu aplicación.

Google Apps con Python
· Entorno de desarrollo
Utiliza el kit de desarrollo de software (SDK) Python de App Engine para desarrollar y subir aplicaciones para Google App Engine.
El SDK Python incluye una aplicación de servidor web que simula el entorno de App Engine, incluida una versión local del almacén de datos, el servicio Cuentas de Google y la capacidad de extraer direcciones URL y enviar mensajes de correo electrónico directamente desde tu equipo con las API de App Engine. El SDK Python se ejecuta en cualquier equipo que tenga instalado Python 2.5 y dispone de versiones para Windows, Mac OS X y Linux.
El entorno Python proporciona varias API Python para servicios de almacén de datos, cuentas de Google, extracción de URL y correo electrónico. App Engine también ofrece un sencillo framework para aplicaciones web Python denominado webapp que te permitirá empezar a crear aplicaciones fácilmente.Puedes subir otras bibliotecas de terceros con tu aplicación, siempre que estén implementadas únicamente en Python y no requieran ningún módulo incompatible de la biblioteca estándar.

Evaluando SIASE

-Visibilidad del estado del sistema
Cuando se necesita informar al alumno de algún aviso importante o noticia se publican al inicio de la página.

-Coincidencia entre el sistema y el mundo real
Las palabras que se usan en el sistema del SIASE son claras y breves, aquí se puede ver una imagen donde vemos una carpeta en donde si se ingresa nos dirigimos a mas archivos, esto representa una metáfora de la vida real.




-De control de usuarios y la libertad
Cuando se desea cambiar la contraseña al inicio te da algunos avisos o consejos de cómo debe ser el cambio, también al momento de que cambias la contraseña te manda un aviso de error si esta a sido errónea.




-Consistencia y estándares
El SIASE contiene una tabla donde muestra el menú de las varias tareas que podemos realizar dentro de la página. En algunas opciones del menú se muestran algunas opciones confusas donde varias opciones parecen “repetirse” pero en realidad son diferentes, esto puede provocar confusión.



-Prevención de errores
En el sistema del SIASE no es posible cometer un error donde puedas perjudicar tus datos, ya que tiene mensajes preventivos e incluso te muestra tus errores.




-Reconocimiento más que recordar
El SIASE al iniciar tu cuenta reconoce tu matricula.





-La flexibilidad y la eficiencia en el uso
El SIASE carece de “atajos” para minimizar las tareas de un usuario. Todo se hace por medio de interfaz grafica y de selección por medio del mouse.

-Estética y diseño minimalista
La página del SIASE también carece de diálogos que ayuden a saber referencias de los botones o ligas, incluso imágenes.

-Ayude a los usuarios reconocer, diagnosticar, y recuperarse de errores
Estos mensajes de error si los tiene, son simples y concisos en el momento de mostrarlos, cuando se comete un error te muestra una ventana y es fácil saber el error.



-Ayuda y documentación
El SIASE tiene poca ayuda textual en la misma página pero te hace referencia a una dirección o un teléfono donde puedes llamar y resolver tus dudas.



PageRank


Incluye tu URL en Google
Una forma “fácil” pero no segura seria solicitarle directamente a google que te incluya en su índice de páginas web aquí en donde envías tu URL en un formulario con unos cuantos datos más y listo.

META-robots
Los motores de búsqueda usan robots o spiders para indexar los sitios web.  Una forma de “modificar” las ligas que contiene nuestras páginas ya sea para que el los motores de búsquedas no sigan tales ligas que nosotros no queremos o por el contrario si queremos que nuestras ligas o carpetas sean vistas para los motores.
Esto lo podemos hacer con metaetiquetas incluidas en nuestro cogido fuente.
Las opciones para estas metaetiquetas son:  
index, noindex, follow, nofollow y all (que indica que se indexe y se sigan los enlaces).

Aquí un ejemplo para cada una de estas metaetiquetas y una breve explicación:

INDEX:
meta name=”robots” content=”index” /
La función del robot es indexar tu sitio, para que el robot pueda leerlo, salvo que le indiques que no lo haga.


NOINDEX:
meta name=”robots” content=”noindex” /
Indica a un robot que no indexe la página. Pero hay que tener en cuenta que sí seguirá los links que haya en ella.

FOLLOW:
meta name=”robots” content=”follow” /
Este comando le indica al robot que “siga” los links que hay en esa página, pero de nuevo es una función que el robot hará sin que se lo pidan.

NOFOLLOW
meta name=”robots” content=”noindex,nofollow” /
Es para que los robots no indexen los links. Si pusiste un link que no deseas que el robot lea que está ahí usar esta etiqueta es útil, Este es un “truco” para que tu PageRank no baje, por ejemplo links de spam o paginas con PageRank bajo.

Para saber más sobre robots-meta-tag 

Otras formas para subir el Page Rank

1-Tener el código de la pagina ordenado y limpio. También que se encuentren validadas por paginas donde evalúen el código HTML tal como validator.

2-Conseguir que en otras páginas web con un PageRank alto tengan entre sus links tu pagina, es decir que te "linken" desde sus páginas para la tuya, esto es muy importante y consigue un PageRank alto y prioridad para el motor de búsqueda sobre tu página web.

3-Tener entre tus links páginas web importantes, o con un PageRank alto esto también es importante y ayuda a subir tu PR.


Fuentes:

Motor de búsqueda


Funcionamiento
Los motores de búsqueda son bases de datos muy grandes que contienen información sobre el contenido de los sitios web que integran la web.
El motor de búsqueda más popular es Google.



Araña
Los motores de búsqueda emplean el uso de arañas para recopilar la información de los sitios web. Las arañas rastrean los sitios web recopilando datos y siguen los enlaces que hay en las páginas
Datos
Los datos que las arañas extraen son tratados de forma diferente por los diversos motores de búsqueda. Los motores de búsqueda ponen el 'peso' en diferentes componentes de un sitio web y en cómo se integra en la Web. De esta manera determinan el orden en el que los sitios web deben aparecer en los resultados de una búsqueda.
Algoritmos de búsqueda
Un algoritmo de búsqueda es un conjunto de normas preestablecidas, que controlan cómo funciona un motor de búsqueda. Por ejemplo, un algoritmo de búsqueda puede contener instrucciones sobre cómo mostrar los resultados de basarse no sólo en las palabras clave introducidas, sino también en qué orden las palabras clave fueron introducidos. Muchos motores de búsqueda también tienen métodos para permitir al usuario personalizar sus resultados.
Entrando
La mayoría de los motores de búsqueda ponen al día sus bases de datos al menos una vez al mes con la información recopilada por sus arañas. Esto es importante saberlo cuando se tiene un sitio web relativamente nuevo - si pones tu sitio web por primera vez en la red al final de un 'rastreo' y las arañas no lo encuentran, tendrás que esperar hasta la actualización siguiente para entrar a formar parte de la base de datos. Una vez el sitio web entra la base de datos todavía llevará una o dos actualizaciones más antes de que el nuevo sitio web se estabilice en los resultados de las búsquedas.


Motor de búsqueda

jueves, 14 de octubre de 2010

Proyecto de Medio Curso

Mi proyecto trata sobre una página web en donde se venden boletos, en el cual el usuario llena el formulario y genera un boleto, además guarda los datos de los usuarios en un archivo (.txt)
Capturas:

 Video:

domingo, 19 de septiembre de 2010

Modelo RGB

Es una representación numérica de la forma de mezclar de manera aditiva los colores (Red, Green, Blue), para producir un determinado color.
En la sintaxis hexadecimal, la intensidad de las componentes se mide según una escala de 3 pares de valores: 1 par de valores para el color rojo, 1 par para el verde y 1 par para el azul. La escala para cada valor va del 0 al 9 continuando con las letras A a la F, por lo que 0 corresponderá al más bajo y F al valor más alto. El valor de cada par puede ir desde 0 (sin color) hasta 255 (máxima saturación).


Fuentes:
http://www.proyectacolor.cl/aplicacion-del-color/modelos-de-color/modelo-rgb/

Programa en Java

Serie Fibonacci

public class Serie {
    public static void main(String[] args) {
    System.out.println("Serie Fibonacci: ");
    int a;
    int b = 0;
    int c = 1;
    int limite=5;
    System.out.println("0");
    for(int n = 0; n < limite-1;n++) {
        a = b + c;
        c = b;
            b = a;
        System.out.println(a);
    }
    }
}