martes, 30 de noviembre de 2010

Python


Este lenguaje de programacion es muy interesante que es de proposito general, que tambien es un lenguaje de programacion orientada a objetos, que ya habia explico anteriormente, este lenguaje de programacion tambien es utilizado para la programacion de la web. este lenguaje se ha hecho popular pero aun es muy reciente que este le apuesta a la versatilidad, simplicidad en la forma de programar, y la rapidez en el desarrollo, es un lenguaje altamente recomendable de aprender.

lo bueno de python es que es un lenguaje que no depende de plataforma en donde se ejecuta y es orientado a objetos con el que se puede programar cualquier tipo de programa que van desde aplicacion de windows, linux, hasta servidores de red o has incluso la web. Este es un lenguaje interpreta asi que este no requiere ser previamente compilado como la mayoria de los lenguajes de programacion, asi que python es altamente recomendable ya que es rapido al desarrollar y veloz.

Este lenguaje a su vez tambien se ha hecho muy popular entre los programadores ya que ofrece muchas cosas:
contiene un gran catalogo de librerias que a la vez contiene tipos de datos y funciones incorporadas en el mismo lenguaje que ayuda a desarrollar programas que haga cosas habituales sin tener que programarlas desde cero.
la rapidez con la que se crean los programas, y a comparacion con otro lenguaje de programacion este solo con 3 a 5 lineas puedes tener un programa ya hecho a comparacion de Java o C.
Tambien es popular por la gran variedad de plataformas en las que se peude ejecutar, tales como windows unix, linux, mac etc. y es totalmente gratituito incluyendo si es para propositos empresariales.

Python fue creado por un europeo llamado Guido Van Rossum ya que contaba con experiencia en crear otro tipo de lenguaje de programacion ABC. y lo que queria Guido era crear un lenguaje orientado a objetos que pudiera hacer lo que otro lenguaje pero de forma sencilla y asi tratar tareas que generalmente se resolvian con C en unix. el desarrollo duro varios anios y trabajo en diversas empresas de estados unidos y ya fuen en el anio 2000 cuando Guido ya contaba con un trabajo completo y con un equipo de trabajo que hacian hasta proyectos empresariales y ahora se encuentra trabajando en Zope una empresa que se dedica a servidor de aplicaciones web que por supuesto, totalmente programado en Python.

Este lenguaje no es un lenguaje solo dedicado a la web, puede usarse para programar cualquier tipo de aplicaciones en cualquier plataforma, aunque en las posiblidades de python tambien se encuentra crear paginas web. es un lenguaje multiplataforma aunque principalmente fue programado para funcionar en unix, funciona en cualquier sistema operativo, siempre y cuando exista un interprete programado para el. cuando decia que es un programa interpreta y que no se necesitaba compilador en realidad sí que se realiza una compilación, pero esta se realiza de manera transparente para el programador. En ciertos casos, cuando se ejecuta por primera vez un código, se producen unos bytecodes que se guardan en el sistema y que sirven para acelerar la compilación implícita que realiza el intérprete cada vez que se ejecuta el mismo código.

asi que como conclusion dejo que python es un interesantisimo lenguaje de programacion orientado a objetos el cual todos deberiamos aprender como programadores, es muy bueno y rapido, facil de usar y de desarrollar.

fuente: http://www.desarrolloweb.com/articulos/1325.php

lunes, 29 de noviembre de 2010

protocolos usados en la internet

anteriormente habia hablado de algunos protocolos pero ahora explicare unos cuantos mas protocolos existentes en la internet

Internet Protocol: es de los protocolos fundamentales de internet absolutamente todas las aplicaciones de la web tienen que usar este protocolo cuya especificacion contenida en la rfc 791 sus funciones son fragmentar los datos a transmitir que han sido recibidos de la capa superior en trozos denominamos datagramas IP, y sucesivamente estos datagramas son entregados a la capa inferior donde son empaquetados en cuadros o frames y entregarlos al a capa que se encarga de controlar el medio fisico sobre el que se efectua la transmision.

Internet Control Protocol Message(ICMP): es un protocolo de la transmision ya que esta mas orientado a la calidad de la transmision que en la transmision en si misma es la responsable de generar los errores cuando ocurren en la transmision tambien puede generar mensajes de prueba informativos de la calidad de la transmision.


Internet Group Management Protocol (IGMP): esta funciona como una extension del protocolo ya nombrado IP que se emplea para realizar IP multicast que quiere decir que cuando el envio de datos a una direccion IP puede alcanzar multiples servidores de una red o a todas las maquinas de una subred además de utilizarse para pasar información se utiliza para establecer los miembros de la red, pasar información de los miembros y establecer rutas. Otros muchos protocolos hacen uso de las funciones IGMP dentro de sus especificaciones. 
Gateway-to-Gateway Protocol (GGP)
 Transmission Control Protocol (TCP)
Exterior Gateway Protocol (EGP)
  
Interior Gateway Protocol (IGP) 

User Datagram Protocol (UDP): esta es una transmision que puede permitir ciertos errores como perdidas de paquetes a cambio de su incremento en la velocidad. este es aplicado en transmisiones a tiempo real  que igonora los marcos erroneos y en otras comunicaciones de internet como la DNS.


Dynamic Host Configuration Protocol (DHCP): con este protocolo ayuda a administrar mejor las grandes redes de IP permititiendo que computadoras individuales puedan obtener sus datos de configuracion de un servidor especial.


HiperText Transfer Protocol: como ya lo habia explicado anteriormente es el protocolo utilizado para transmitir las páginas Web escritas en lenguaje de marcas de hipertexto HTML ("Hyper Text Markup Languaje")

Simple Mail Transfer Protocol: es el encargado de transmitir los mensajes de correos de un servidor a otro ya una vez que haya acabado de transferir estos mensajes al otro servidor utiliza otro protocolo



Post Office Protocol (POP): este protocolo es el que le permite a un usuario leer el correo que le llego a su servidor que es un protocolo que sirve para las comunicaciones servidor-usuario


Point to Point Protocol (PPP): es un protocolo que sirve para mandar paquetes punto a punto es uno de los mas utilizados ya que soporta la scomunicaciones sobre lineas telefonicas atraves del modem.


Network News Transfer Protocol (NNTP): se utiliza en internet para enviar un tipo especial de mensajes llamadas news entre unas maquinas configuradas como servidores y los clientes que son los lectores.



fuente: http://www.zator.com/Internet/A3_7.htm




interacción humano-computador

La palabra interacción sencillamente se refiere a un sistema que puede organizarse de manera formal o informal y se menciona que la interacción en dicho sistema realiza procesos de intercambio en sentido amplio.

Es un término que se refiere a una relación dada entre el ser humano o la persona y la máquina a través de una interface la definición está en la comprensión que lleva al ser humano a realizar la extensión de nuestras capacidades por medio de las máquinas Se entiende las ventajas que dan al ser humano para realizar otras tareas, dejando las rutinarias a las máquinas.
Además por extensión se comprende la posibilidad de realizar tareas que comprenda a las máquinas como interface para la comunicación directa o indirecta con otros seres humanos.

En esta relación de hombres o personas y máquinas, se entiende que las interaccciones se relacionan con los procesos internos del ser humano.

Estos procesos internos son rutinas de procesamientos de la información así las máquinas llevan en sí algoritmos que procuran mejorar el desempeño de la persona y aumentar su inteligencia como asimismo sus niveles de conciencia dado que las personas utilizan las máquinas para su uso personal.

Los estilos de interacción más importantes son:

l.-La interfaz o interface por línea de órdenes

2.-Menús y formularios

3.-Manipulación directa

4.-Interacción asistida: agentes - asistentes
fuente :
http://www.saber.ula.ve/bitstream/123456789/16835/1/flor_narciso.pdf



Programacion Orientada a Objetos (POO)

Estas es una forma especial de programar mas cerca a lo que seria en la vida real a comparacion de otros lenguajes de programacion, ya que hay otros tipos de lenguajes, que son de bajo nivel, o de accion como python.
Con esta forma de programacion tenemos que aprender a pensar en una forma distinta de ver las cosas para asi escribir nuestro codigo, software o programa en forma de objetos, tambien con propiedades formas, metodos como si en realidad fuera un objeto de la vida real.

Antes los programadores tenian que rehacer la rueda creando aplicaciones que hicieran ciertas funciones, haciendolas una y otra vez para los mismos problemas, y con eso para conseguir que los esfuerzos de los programadores valieran la pena, sus aplicaciones ya hechas podrian ser utilizadas por otras personas por eso se creo la POO, que es una serie de normas para realizar las cosas de manera que otras personas o programadores puedan utilizarlas y adelantar su trabajo y con esta manera logramos que el codigo se pueda reutilizar, si no estariamos reinventando la rueda. esta manera de programar no es dificil pero es una manera especial de pensar las cosas que aveces depende de quien lo programa asi que las formas de hacer las cosas pueden ser diferentes dependiendo del programador. aunque se puedan hacer los programas de forma distinta no todas son correctas lo dificil no es programar orientado a objetos sino programar bien. ya que si programamos bien podemos aprovechar todas las ventajas de programar orientado a objetos.

pensar en objetos es como pensar en un carro, el carro es el objeto y todas las caracteristicas serian las propiedades, como el color, tamanio marca etc y los metodos serian las funcionalidades asociadas del carro que son como poner en marcha o parar.

Las clases son declaraciones de objetos que también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. En los ejemplos anteriores en realidad hablábamos de las clases coche o fracción porque sólo estuvimos definiendo, aunque por encima, sus formas.

Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos.
y los metodos que son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.  
un ejemplo de este tipo de programacion es java.

fuente: http://www.desarrolloweb.com/articulos/499.php

Java


Java es un lenguaje de programacion, pero este es orientado a objetos que fue desarrollado por Sun Microsystems  en los principios de los anios 90, este lenguaje toma la sintaxis de C y C++ pero java tiene un modelos de objetos mas simple y elimina herramientas de bajo nivel que suelen inducir a muchos errores con la manipulacion directa de punteros o memoria.

Las aplicaciones de java estan compiladas en bytecode aunque la compilacion en codigo maquina tambien es posible. en el tiempo de ejecucion el bytecode es interpretado a codigo nativo para la ejecucion.
la implementacion original de compilador, maquina virtual  y la bibliotecas de clases de java fueron desarrolladas por Sun Microsystems en el anio de 1995, desde ese entonces Sun habia controlado el desarrollo y la evolucion del lenguaje atraves de Java community process y asi otros han desarrollado otras tecnologias de sun incluso unos bajo licencia de software libre. ya fue entre el 2006 y 2007 sun libero la mayor parte de sus tecnologias bajo las licencia de GNU GPL de tal modo que java es ahora software libre aunque las clases de sun que se utilizan para ejecutar los programas de java no lo es.


Historia:
esta tecnologia java se creo con una herramienta para ser usada en un proyecto de set-top-box en sun microsystem.
El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas y finalmente se renombró a Java.
El término Java fue acuñado en una cafetería frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, Just Another Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la que Java debe su nombre a un tipo de café disponible en la cafetería cercana, de ahí que el icono de java sea una taza de cafe caliente. Un pequeño signo que da fuerza a esta teoría es que los 4 primeros bytes (el número mágico) de los archivos .class que genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas teorías, el nombre fue sacado al parecer de una lista aleatoria de palabras.
En 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el navegador Web. El acontecimiento fue anunciado por John Gage, el Director Científico de Sun Microsystems. El acto estuvo acompañado por una pequeña sorpresa adicional, el anuncio por parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, de que Java sería soportado en sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft para que se encargase del desarrollo tecnológico. Dos semanas más tarde la primera versión de Java fue publicada .
El entorno de ejecución era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web.
Java ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0, así como un enorme incremento en el número de clases y paquetes que componen la biblioteca estándar.

la filosofia que tiene java es esta:

Debería usar la metodología de la programación orientada a objetos.
Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos.
Debería incluir por defecto soporte para trabajo en red.
Debería diseñarse para ejecutar código en sistemas remotos de forma segura.
Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.

y aqui un pequenio ejemplo de un hola mundo!
/ Hola.java
public class HolaMundo {
    public static void main(String[] args) {
        System.out.println("Hola mundo JAVA :D!"); 
    }
}

fuente: http://es.wikipedia.org/wiki/Java_%28lenguaje_de_programaci%C3%B3n%29

Usabilidad Web

En pocas palabras significa la experiencia del usuario al interactuar en un sito web;Jackob Nielsen definio la usabilidad como el atributo de calidad que mide lo faciles que son de usar las interfaces web.

Usitio web con usabilidad es aquel que muestra todo de una forma clara y sencilla de entender por el usuario  aunque es imposible crear un sitio que sea claro y eficiente para cada usuario, el diseñador debe esforzarse para mostrar las cosas tan claramente como sea posible

De tal modo que reduzca al minimo cualquier aspecto que pueda ser confuso,el pensar en los errores que pueden ocurrrir cuando un usuario esta interactuando con un sitio web y desarrollar maneras inteligentes de manejar estos errores se llama diseño de contingencia y juntos diseño de usabilidad y de contigencia pueden dar lugar a un usuario satisfecho con su experiencia en un sitio web.

El grado de usabilidad de un sistema es una medida empirica y relativa de la usabilidad del mismo:

-empirica: porque no se saba en opiniones o sensaciones , si no en pruebas de usabilidad realizadas en laboratorio u observadas mediante trabajo de campo

-relativa: porque el resultado no es ni bueno ni malo , si no que depende de las metas planteadas o de una comparacioncon otros sistemas similares.

El modelo conceptual de usabilidad proviene del diseño centrado en el usuario, no esta completo sin la idea utilidad.

fuente: http://es.wikipedia.org/wiki/Usabilidad

Cliente-Servidor

Esta es una arquitectura que consiste como su nombre lo dice en un cliente que realiza peticiones a otro programa que es el servidor que da las respuestas. aunque se pueda ejecutar en una misma maquina es mejor usarlo mediante la red comunicando computadoras.

La separacion que tienen estos , entre cliente y servidor, es una separacion de tipo logico donde el servidor no necesariamente ejecuta sobre una sola maquina y tampoco necesariamente un solo programa. y estos servidores pueden ser servidores Web, los servidores de archivo y los servidores del correo, dependiendo de la funcion que quieras darle al programa, pero aunque varien sus funciones las arquitecutar siempre sera la misma.

La arquitectura cliente servidor sistituye a la monolitica en la que no hay distribucion tanto en nivel fisico como logico.

La red cliente-servidor es una red de comunicaciones en la que todos los clientes estan interconectado con un servidor, y que los pone a disposicion de los clientes cuando estos sean solicitados. esto quiere decir que todas las peticiones que el cliente haga se ejecutan en el servidor de manera que los clientes tienen prioridad los archivos que son de uso publico y los que son de uso restringido, los archivos que son de solo lectura y los que pueden ser modificados.
y aqui unas caracteristicas de la red Cliente-Servidor:
las del que pide la informacion es cliente y sus caracteristicas son:

Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).

Espera y recibe las respuestas del servidor.

Por lo general, puede conectarse a varios servidores a la vez.

Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.

Al contratar un servicio de redes , se tiene que tener en la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.

-en cambio las del servidor que es el receptor de las solicitudes enviadas por clientes, sus caracteristicas son :

Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.

Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).

No es frecuente que interactúen direct
Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).

amente con los usuarios finales.

fuente: http://es.wikipedia.org/wiki/Cliente-servidor

Metodos de peticion de HTTP

Bueno anteriormente ya habia hablado de HTTP y que era ahora explicare un poco las formas en que se comunica. primero HTTP define 8 metodos que es la forma en que tomara la accion que desea que se efectue sobre el recurso identificado, lo que representa este recurso, tambien le dira si estos datos ya existentes son dinamicos o si ya no existen tambien pero tambien depende de la aplicacion del servidor la mayoria del la salida que toma este depende del ejecutable que este en el servidor.

primero esta el HEAD que es la que pide una respuesta igual a la de un GET pero con la diferencia de que no pide el cuerpo de la respuesta.

El GET en cambio del head pide una especificacion del recurso especificado este transmite la informacion a traves de la URI
un ejemplo del GET seria :
GET /images/logo.png HTTP/1.1 obtiene un recurso llamado logo.pngEjemplo con parámetros:/index.php?page=main&lang=es

un POST es el que hace que los datos sean procesador para el recurso especificado, en este los datos se incluiran en el cuerpo de la respuesta

un PUT sube, carga un recurso especificado o archivo y este es el camino mas eficiente para subir archivos a un servidor, en resumen PUT te permite escribir un archivo en una conexion socket que se establece al servidor. el unico problema para el PUT es que los servidores de hosting compartido no lo tienen habilitado.
ejemplo de PUT
PUT /path/filename.html HTTP/1.1

DELETE con este borramos el archivo especificado del servidor.

TRACE este es el metodo que utiliza para decirle al servidor que envie devuelta en un mensaje de respuesta en el cuerpo del archivo toda la informacion que incluya el mensaje de solicitud. este se ultiliza con fines de comprobacion y diagnostico.

OPTIONS devuelve los metodos ya nombrados que el servidor soporta para un URL.

y CONECT

y tambien aqui los codigo de respuestas de HTTP:

1xx Mensajes
N° Descripción
100 111 Conexión rechazada

2xx Operación exitosa
N° Descripción
200 OK
201-203 Información no oficial
204 Sin Contenido
205 Contenido para recargar
206 Contenido parcial

3xx Redireción
N° Descripción
301 Mudado permanentemente
302 Encontrado
303 Vea otros
304 No modificado
305 Utilice un proxy
307 Redirección temporal

4xx Error por parte del cliente
N° Descripción
400 Solicitud incorrecta
402 Pago requerido
403 Prohibido
404 No encontrado
409 Conflicto
410 Ya no disponible
412 Falló precondición

5xx Error del servidor
N° Descripción
500 Error interno
501 No implementado
502 Pasarela incorrecta
503 Servicio nodisponible
504 Tiempo de espera de la pasarela agotado
505 Versión de HTTP no soportada




fuente: http://es.wikipedia.org/wiki/HTTP



 

URL

Que es y para que se usa la URL?


es una secuencia de caracteres que de acuerdo a un formato estandar que es utilizado para nombrar recursos en internet para su localizacion y ubicacion o identificacion, por ejemplo archivos de texto imagenes etc. Los url fueron una inovacion en la historia de la internet, fueron usadas por primera vez en 1991 que les sirvieron a los autores de ciertos documentos establecer hiperenlaces en la WWW. desde 1994 la url fue agregada a los estandares de la web.

Este se podria definir como una cadena de caracteres con las cuales asigna una direccion unica a cada uno de los recursos archivos etc. que estan disponibles dentro de la internet, existe un url unico para cada documento,pagina de la World Wide Web. el url de un archivo es su direccion en la que esta ubicada este en la internet asi como el nombre del archivo y el protocolo a utilizar para recuperar los datos.

y aki como seria el forma de una URL:
esquema://máquina/directorio/archivo
También pueden añadirse otros datos:
esquema://usuario:contraseña@máquina:puerto/directorio/archivo
Por ejemplo: http://es.Wikipedia.org/



-Clasificacion de una URL

Este se clasifica por esquemas que generalmente dice cual protocolo se usar para ciertos archivos que se usa para recuperarlos atra ves de la red, un url comienza con el nombre de su esquema dos puntos y seguida por una parte especifica del esuqema. aqui pondre algunos ejemplos de esquemas:


http - recursos HTTP
https - HTTP sobre SSL
ftp - File Transfer Protocol
mailto - direcciones de correo electronico
ldap - búsquedas LDAP Lightweight Directory Access Protocol
file - recusos disponibles en el sistema local, o en una red local
news - grupos de noticias Usenet (newsgroup)
gopher - el protocolo Gopher (ya en desuso)
telnet - el protocolo telnet
data - el esquema para insertar pequeños trozos de contenido en los documentos Data: URL
Algunos de los esquemas definidos en el primer RFC aún son válidos, mientras que otros son debatidos o han sido refinados por estándares posteriores
ejemplo de url
esquema://anfitrión:puerto/ruta?parámetro=valor#enlace

Un HTTP URL combina en una dirección simple los cuatro elementos básicos de información necesarios para recuperar un recurso desde cualquier parte en la Internet:

El protocolo que se usa para comunicar,
El anfitrión (servidor) con el que se comunica,
El puerto de red en el servidor para conectarse,
La ruta al recurso en el servidor (por ejemplo, su nombre de archivo).Un URL típico puede lucir como:
http://es.wikipedia.org:80/wiki/Special:Search?search=tren&go=Go


fuente: http://es.wikipedia.org/wiki/URL

HTTP

Hypertext Transfer Protocol fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force esta colaboracion que termino en 1999 con la publicacion de una serie RFC. HTTP es el protocolo usado en cada transaccion World Wide Web.

HTTP define los elementos de software de la arquitectura web (clientes,servidores,proxies)para comunicarse, es un protocolo orientado a transacciones y sigue el esquema peticion-respuesta entre un cliente y un servidor
, al cliente que efectua la peticion (un navegador web o un spider) se le conoce como "user agent"(agente usuario) y a la informacion transmitida se le llama recurso y se identifica mediante un localizador uniforme de recursos (URL) estos recursos pueden ser archivos ,resultado de la ejecucion de un programa, una consulta a una base de datos , la traduccion automatica de un documento, etc.

HTTP como ya habiamos dicho anteriormente es un protocolo pero sin estados, esto quiere decir que no guarda ninguna informacion sobre conexiones anteriores,necesita frecuentemente mantener el estado y para esto se usan los cookies que es informacion con el cual un servidor puede almacenar en el sistema del cliente. Este le permite rastrear usuarios ya que los cookies pueden guardarse en el cliente en un tiempo indefinido

fuentes :
http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol

Tipos de sitios web

Despues de saber que era un sitio web y que lo distinguia de una pagina web ahora explicare un poco acerca de los varios tipos de sitios web que hay.
ya que los sitios tienen diferentes uso dependiendo para que contenido tenga ha sido clasificado de varias maneras:

Sitio archivo: sirve para almacenar contenido valioso que puede estar en extincion que ejemplos de este pueden ser dos, Internet Archive y el google groups que archivaba una gran cantidad de mensajes expuestos en los grupos de noticias.

Weblog (o blog): es un sitio utilizado para registrar lecturas o incluso como un diario electronico que puede incluir aveces foros de discusion etc.

sitios de empresa: para promocionar empresas o el servicio de las empresas

sitio de comercio electronico: que es utilizado para comprar y/o vender bienes.

sitio de comunidad virtual: es un sitio social donde personas con los mismos intereses pueden charlar, comunicarse entre ellos por medio de chats o foros. que de ejemplos todo mundo sabe que es facebook, myspace, hi5, entre otros.

sitios de base de datos: es un sitio donde el uso es la busqueda y que muestra de un contenido especifico de la base de datos  un ejemplo que viene es internet movies database.

tambien hay sitios de desarrollo: un sitio que cuenta con contenido de ayuda para desarrollar software, paginas web etc.

sitios de descargas: que es usado estrictamente para descargar contenido electronico desde la web como software, juegos, demos, peliculas etc

sitios de juegos: un sitio que es un juego o un patio de recreo, donde la gente de cualquier lado puede entrar y jugar como MSN games etc.

sitios de informacion: un sitio que tiene informacion para los visitantes.

sitios personales: que es mantenido por una persona o un pequenio grupo que contiene informacion o contenido que la persona quiere incluir, como fotolog, facebook.

sitio pornografico: un sitio donde contiene fotos y videos de contenido sexual.

entre otros mas sitios, hay una extensa variedad de sitios, en los cuales cada uno tiene su clasificacion.

fuente: http://es.wikipedia.org/wiki/Sitio_web

Pagina Web

La pagina web tambien se le conoce como pagina de Internet ,es un documento electrónico habilitado para la web , el cual forma parte de un sitio web , su característica son los hipervinculos de una pagina siendo este el fundamento de la Web.

La pagina Web esta compuesta por información asi como hiperenlaces ,ademas contiene datos de estilo para mostrar como debe visualizarse y tambien aplicaciones para hacerla interactiva.
Estas con escritas en un lenguaje marcado que permita insertar hiperenlases , generalmente HTML ;el contenido de la pagina puede ser generado al momento de solicitarla a un servidor web. Las paginas dinamicas que se crean al momento de la visualizacion se hacen mediante los lenguajes interpretados; generalmente en javaScript y la aplicacion encargada de visualizar el contenido es la que debe generarlo.
las paginas dinamicas que se generan al ser solicitadas son creadas por una aplicacion en el servidor web que contiene las mismas.

la estructura de las paginas web ,el W3C suelen tener directivas con la intencion de hacer normal el diseño para facilitar la visualizacion del contenido y tambien su interpretacion del contenido.
Es una tarjeta de presentacion digital ya sea para empresas , organizaciones , personas , etc.


fuente :
http://es.wikipedia.org/wiki/P%C3%A1gina_web

Sitio Web

Que es un sitio Web

Un sitio web es una coleccion de paginas relacionadas, archivos, multimedia, imagenes comunes a un dominio de internet o subdominio en la World Wide Web en internet. una pagina web es es un documento en lenguaje HTML con el que se puede acceder con el protocolo HTTP(HyperText Transfer Protocol)de Internet.

A las ya mencionadas paginas Web se les puede acceder mayormente atraves de URL(Uniform Resources Locator) comun llamado portada que resido en el mismo servidor fisico mayormente,Un URL es el que acomoda de forma jeraquica las paginas.

Un Sitio web es un gran espacio de documentos organizados que la mayoria de las veces esta dedicado a un mismo tema o proposito especifico, cualquier sitio web puede contener hiperenlaces hacia otra pagina cualquiera asi que es dificili indentificar una pagina que sea individual, no debemos confundir sitio web con pagina web ya que pagina web es solo una unidad de HTML que forma parte de algun sitio web.

Cuando nosotros ingresamos a una pagina web por ejemplo www.uanl.mx estamos siempre haciendo referencia a un sitio que tiene una pagina HTML inicial que es por lo general la primera que visualizamos.

la busqueda en internet se hace asociando el DNS ingresado con la IP del servidor que contiene el sitio web en la cual esta en la pagina HTML buscada.




los sitios web estan escritos en HTML o convertidos dinamicamente a este accediendose con un software que interpreta el contenido del HTML llamado navegador web ya que si no fuera por este solo veriamos algo asi :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/
strict.
dtd"><html dir="ltr"><head><meta http-equiv="Content-type" content="text/html;
charset=
utf-8"> <meta name="description" content="Blogger es una herramienta de
publicaci&oacute;n de blogs gratuita de Google para compartir con facilidad
tus pensamientos con el mundo. Con Blogger, publicar textos, fotos y v&iacute;deos
en tu blog personal o de equipo es f&aacute;cil."> <meta name="keywords"
content="blogger, blogspot, blog, blogger.com, blogspot.com, blog gratuito,
blog personal, registro web, crear blog, nuevo blog, blog nuevo, free blog,
personal blog, weblog, create blog, new blog"> <title>Blogger: EL BLOG - Editar entrada &quot;Sitio Web&quot;</title> <link href="http://www.blogger.com/static/v1/v-css/2903203355-app_common_
head_content.css" rel="stylesheet" type="text/css">
<style type="text/css">



pero ya con el navergado web vemos graficamente las cosas.
un sitio web dinamico es aquel que puede tener cambios frecuentes en la informacion cuando el servidor web
recibe una peticion para una especifica pgina web la pagina se genera automaticamente por el software como
respuesta directa de la peticion de la pagina.hay un amplio catalogo de sistemas de software como el lenguaje de programacion PHP, ASP, JSP queestan disponibles para cualquiera para hacer sistemas de sitios web dinamicos las cuales estas generalmente usan base de datos como XML.

fuente:
http://es.wikipedia.org/wiki/Sitio_web

 

Servidor Web

Que es un servidor web?

Un servidor son los dispositivos de red que brindan servicio a otros dispositivos ,en general quien realiza esta tarea es un software especializado, pero se conoce como servidoe alequipo fisico donde se ejecuta , el cual es el centro de la infraestructura de la red.

Los servidores Web son aquellos cuya tarea es alojar sitios y/o aplicaciones, de los cuales son accedidas utilizando un navegador que se comunica con el servidor utilizando el protocolo http . Basicamente un servidor web necesita su interprete http el cual responde a las peticiones y responde con el contenido solicitado.

Pero tambien puedes disponer de otros lenguajes de programacion que ejecutan código incrustado dentro del codigo HTML de las paginas que contiene el sitio antes de enviar el resultado.


Esto se conoce como programacion de ladoo del servidor utilizando lenguajes como ASP,PHP,Perl y Ajax.


Las ventajas de utilizar estos lenguajes cae en la potencia de los mismos ejecutando tareas mas complejas.

fuente: http://es.wikipedia.org/wiki/Servidor_web

Historia de la internet

su historia:
todo empezo en el anio de 1961 cuando Leonard Kleinrock hizo su teoria de la conmutacion de paquetes por medio de la red. y convencio a Lawrance Roberts de que se podia lograr la comunicacion via paquetes de computadora a computadora. lo primero que tuvieron qu ehacer es que pudieran dialogar una computadora con otra entre si, probando esta area Roberts conecto una computadora en Massachusets con otra en california  atraves de una red telefonica de poca velocidad creando con ello la primera red de computadoras contruidad.

Ya la primera red interconectada fue en 1969 cuando se crea la primera conexion entre 2 universidades por medio de una red telefonica conmutada, gracias a los trabajos y esfuerzos de varios cientificos. y fue en 1972 cuando se hizo la primera demostracion de la ARPANET ( que siempre se penso que fue creada para sobrevivir las guerras nucleares y poder comunicarse por medio de ella) que seria en ese entonces la nueva red financiada por DARPA que funcionaba de forma distribuida sobre la red telefonica conmutada. Con el exito que tuvo esta DARPA hizo mas investigaciones para hacer comunicaciones orientadas a paquetes de distintas clases, para este fin desarrollaron nuevos protocolos que permitieran este intercambio de informacion de forma transparente entre las computadoras y de la filosofia que tenia el proyecto fue de donde salio el nombre internet que se aplico al sistema de redes interconectadas con el protocolo TCP/IP.

Fue en 1983 cuando la ARPANET cambio su protocolo NCP por TCP/IP. y en ese mismo anio fue cuando se crea el IAB con el fin de estandarizar el protocolo TCP/IP y proporcionar los recursos para poder seguir las investigaciones de la internet,  tambien por otro lado centraron la funcion de asignacion de indentificadores en la IANA(Internet Assigned Numbers Authority) que asu vez  proporciona servicios a la DNS(Domain Name System).

En 1989 con la integracion OSI (Open System Interconection) en la arquitectura de internet con esto se facilito al uso de distintos protocolos de comunicaciones en la internet. En ese mismo anio un grupo de fisicos en la CERN en Ginebra inventaron el lenguaje HTML basado en el SGML en el anio de 1990 ese mismo equipo creo el primer cliente web llamado (WWW) que fue el primer servidor web existiente.
Ya para el anio 2006 la internet alcanzo increiblemente los mil cien millones de usuarios y se estima que en 10 anios sean 2 mil millones que es increiblemente demasiadas personas que navegarian en la Web.

domingo, 28 de noviembre de 2010

La Internet

Que es la internet:
la internet es un conjunto de redes de comunicacion interconectadas que utilizan protocolos como TCP/IP para asi las redes fisicas puedan trabajar como una logica unica que es de alcance mundial.

Los inicios de la internet se remonta a 1969 que fue cuando se establecio la primera conexion conocida como ARPANET que fue entre 2 universidades la de california y la de utah, en estados unidos. En esto uno de lo que ha tenido mas exito es de la World Wide Web (o mejor conocido como WWW, o simplemente Web).

WWW es un conjunto de protocolos con los cual puede consultar remotamente hipertextos lo que fue un desarrollo posterior con el cual este utilizaba la internet como medio de transmision. Y por lo tanto tambien existen muchos mas protocolos usados por la internet, aparte del WWW, como el uso de el correo electronico SMTP, la transimicion de archivos FTP y P2P(peer to peer), tambien las conversaciones en linea IRC y tambien la mensajeria instantanea, la transmicion de contenido y comunicacion multimedia, telefonia VoIP, television IPTV, acceso remoto a dispositivos SSH telnet o los juegos en linea.

Ya que tiene todo lo mencionado la internet se ha convertido en algo mas que una herramienta, ya que tiene un impacto laboral, incluso en ocio, pero con mucho conocimiento a nivel mundial, que gracias a la internet millones de personas tienen acceso a informacion ilimitada por todo el mundo pudiendose comparar a una gran enciclopedia o incluso a una biblioteca tradicionales con una cantidad extrema de datos y con esto la internet ha llegado a la mayoria de los hogares y una gran cantidad de empresas de paises ricos. La internet llego como una herramienta de globalizacion poniendole fin al aislamiento de las culturas.
fuente: http://es.wikipedia.org/wiki/Internet

domingo, 14 de noviembre de 2010

JSP

JSP Java Servers Pages es como una tecnologia orientada a crear pagina webs dinamicas con el lenguaje java en forma de documentos html, xml etc. desarrollada por la empresa sun microsystems. Con este se pueden programar aplicaciones para ser ejecutadas en servidores sin importar la plataforma ya que como es java, se puede ejecutar multiplataformamente. Estas tienen lenguaje HTML pero con etiquetas especiales para escribir el codigo como si fuera Java normal y no hay tanta complicacion ya que se puede escribir en cualquier editor html o xml etc. Esta tecnologia puede ser usada para hacer servlets simplificados es por eso que una pagina JSP puede tener lo mismo que un servlet.
La manera en la que funciona el JSP es cuando compila lo pasa a HTML para ser corrido en el servidor como un servlet y sera mostrado al usuario. Siendo Java se puede extender el lenguaje usando librerias asi teniendo mas rico de contenido.
Igual que Java antes de que tiene un proceso de traduccion del codigo en bytes en un servlet eso se hace cuando se esta cargando la pagina, pero existe tambien un metodo de precompilacion para que el usuario se evite todo ese proceso mientras se carga la pagina

Para poder aprender JSP tienes que tener conocimientos en HTML y principalmente en el lenguaje Java que es un lenguaje orientado a objetos, ya teniendo un buen conocimiento de java se puede aprender como programar servlets que es lo que nos dara una pequenia idea de como es la programacion en JSP.

y aqui un pequenio ejemplo de codigo de JSP:
 otro:
<html>
<body>
<% out.println("Hola mundo"); %>// como pueden ver este es codigo java
</body>//lo demas codigo html
</html>
 para un simple hola mundo

fuente : http://www.desarrolloweb.com/articulos/831.php

jueves, 11 de noviembre de 2010

Como hacer un helloworld en facebook paso a paso

Lo primero que hay que hacer es agregar la aplicacion para desarrolladores del mismo facebook llamada "Developer""Desarrollador" para version de espaniol. Todo lo que aparece en facebook es una aplicacion, y para poder integrarla se necesita una aplicacion que las contenga, que en este caso es Developer.

Lo primero que hay que hacer es presionar el boton "Configurar Una Nueva Aplicacion"
lo que nos preguntara despues es cual sera el nombre de nuestra aplicacion despues das la informacion basica para tu aplicacion a desarrollar pero lo que tenemos que poner en este ejemplo es en Deauthorize Callback
que es a donde facebook enviara a los usuarios cuando sean autentificados.

donde pondremos una url como por ejemplo http://miserver/miprimeraaplicacionfb
donde miserver es el servidor que tu posees, porque facebook no ofrece espacio en sus servidores asi que si estas pensando en hacer tu aplicacion para facebook te recomiendo que primero hagas un servidor con apache2.
y tambien pondremos el canvas url que sera la url que usara facebook para que los usuarios puedan acceder a la misma un ejemplo seria http://apps.facebook.com/miprimeraaplicacionfb/

despues elegimos la opcion :
"Can Your application be added on Facebook" para poder agrergar la aplicacion
la siguiente
"Who can add your application to their facebook account" y marcamos users y all pages
y la opcion "Developer Mode"
despues presionas en Save
 despues se tiene que agregar la aplicacion dirigiendonos en "Developers" o "Desarrolladores" buscando nuestra aplicacion y picandole en el nombre y ahi vendra el boton "add application" despues en la pagina siguiente pulsamos "Add NOMBREAPLICACION" y de aqui ya esta listo para hacer un hola mundo.

Lo primero que necesitamos para lo siguiente es una makina con acceso internet y visible es decir con una IP
y que esta maquina tenga instalado un servidor como lo decia anteriormente, como apache2 por ejemplo, despues es ubicar el documento HTML en donde dijiste el callback por ejemplo
http://miserver/miprimeraaplicacionfb que pusiste en la configuracion de la aplicacion
el archivo con codigo HTML con algo sencillo

<h1> Hola Facebook </h1>



y probrarla en la aplicacion en facebook abriendolo.

fuente: http://www.maestrosdelweb.com/editorial/primeros-pasos-para-generar-aplicaciones-de-facebook/

Anatomia de una aplicacion Facebook

Las aplicaciones a Facebook pueden ser muy complejas en su estructura que le da al usuario una experiencia grata. que son las siguientes:

Product Directory: es cuando el usuario esta navegando en el gran catalogo de aplicaciones, donde se muestra una pequenia imagen de esta aplicacion asi como su nombre y una pequenia descripcion de ella.

About: que es la que le da informacion al usuario acerca de la aplicacion, y le da a decidir si instalar la aplicacion o no.

Left Nav: es el panel de navegacion izquierdo donde las aplicaciones pueden tener su nombre y una imagen de esta en el.

Canvas Page:  esta es la pagina inicial de la aplicacion

Home: que en general solo muestra la informacion de los amigos del usuario.

User Dashboard: es donde el usuario administra sus datos en una aplicacion y limita ala aplicacion a ver sus datos completos.

Profile: es como te representa virtualmente tu identidad del usuario. La API provee múltiples puntos de integración con el perfil del usuario permitiendo actualizar datos del mismo.

Profile Box: que es la que presenta la informacion actualizada que hayas hecho recientemente.

Profile Action Links: que es la integracion de links debajo de tu foto de perfil para accesar a la aplicacion.

Privacy Settings: es donde configuras los niveles en los que una aplicacion puede accesar a los datos personales del perfil.

News Feed: es donde la aplicacion puede hacer "feeds" para publicar informacion del usuario de la aplicacion.

Alerts: con este la aplicacion puede mandar notificaciones a usuarios por medio de correo electronico.

Message Attachment: que es para que un mensaje se le puedan adjuntar archivos que aparecen en la ventana del mensaje.

Requests: que es para que las aplicaciones puedan crear peticiones que en general son iniciados por amigos que solicitan hacer una accion.

fuente: http://www.maestrosdelweb.com/editorial/primeros-pasos-para-generar-aplicaciones-de-facebook/

Facebook

Facebook la famosa red social, posee su API para desarrolladores hagan sus aplicaciones y aprovechen el potencial de la gran red social, Facebook es famosa gracias a su capacidad de poder contener aplicaciones hechas por terceras personas tales como "The Wall" que es donde puedes dejar mensajes, o escribir tu estatus para que los demas vean tu estado de animo o de cualquier tipo por toda la red. Facebook permite la creacion de aplicaciones mediante la utilizacion de web services para el acceso de datos de la red.

Las cosas que se necesitan para los desarrolladores que quieren crear aplicaciones en facebook son:

La API qe es una interfaz basada en REST que permite el acceso de datos del perfil de usuario mensajes, amigos etc. mediante la utilizacion de GET y POST .

Consultas con FQL (Facebook Query Language) que es parecido al SQL pero claro para facebook que es un lenguaje de consultas que lo puedes utilizar para acceder a los mismos datos que la API  pero con este puedes hacer consultas mas complejas de las que efectua la API.

Y tambien la marquetacion que en vez de HTML es FBML que es un lenguaje de markup qe permite ser intercalado con el HTML para integrar las aplicaciones  a la experiencia del usuario de facebook. Con este se puede acceder a muchos puntos en la red como el perfil, feeds etc. este lenguaje FBML tambien incluye un soporte a AJAX y JavaScript

Esto es lo que necesitas para empezar a desarrollar en Facebook

Fuente: http://www.maestrosdelweb.com/editorial/primeros-pasos-para-generar-aplicaciones-de-facebook/

miércoles, 10 de noviembre de 2010

Python en Google app engine

ya que hable de como empezar a usar java para crear tus aplicaciones en google app engine pondre como comenzar con python, para este se necesita el SDK Python de google app engine que es para desarrollar y subir tus aplicaciones de python hacia google al igual que el de java este incluye tambien un simulador de todo lo que tiene la plataforma de google app engine, que incluye una version local de almacen de datos, servicio de cuentas de google y todo lo demas que incluye. El SDK python se ejecuta en cualquier equipo que tenga instalado python 2.5
aqui lo puedes conseguir: http://code.google.com/intl/es/appengine/downloads.html
en la pagina sigue los pasos para instalarlo

Como el proyecto anterior, la aplicacion de python que desarrollaras para google apps usara el CGI standar para comunicarse con el servidor, cuando el servidor recibe la solicitud ejecuta la aplicacion con los datos de la solicitud en variables de entorno y aqui un pequenio ejemplo de como hacer un hello world con python para google apps engine

primero crea un directorio que se llame helloworld donde todos los archivos de esta aplicacion estaran.
despues dentro de ese mismo directorio has un archivo llamado helloworld.py con el siguiente contenido
print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

Las aplicaciones que haces tienen un archivo de configuracion llamado app.yalm
que describe lo que hara o como reaccionara al llegar la informacion segun cada URL.
dentro del el directorio que creaste llamada helloworld crea un archivo llamado 
app.yalm con el siguiente contenido 

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld.py
 
y ya para probarlo activa tu servidor y pon esto en la terminal indicando el 
directorio helloworld anteriormente dicho
google_appengine/dev_appserver.py helloworld/

El servidor web se ejecutará y recibirá las solicitudes en el puerto 8080. Para probar la aplicación, visita la siguiente URL en tu navegador web:
http://localhost:8080/

fuente: http://code.google.com/intl/es/appengine/docs/python/gettingstarted/helloworld.html


 
 

Como comenzar a desarrollar tu aplicacion en Java en Google Apps

Para comenzar a desarrollar en java tu google apps primero tienes que instalar el kit de desarrollo SDK de JAVA de app engine, lo bueno de este kit es ke tiene un  software para un servidor web con el cual puedes probar tus aplicaciones de java de forma local en tu maquina, y simula todo los servicios que pueda aver en app engine.
Google app engine es compatible con Java 5 y Java 6 y cuando se ejecuta en google app engine lo hace atraves de la maquina virtual 6 y de las bibliotecas estándar. Sería conveniente que utilizaras Java 6 para compilar y probar la aplicación, y asegurarte de que el servidor local se comporte de forma similar a App Engine. por si no tienes instalado el jdk aqui un link para descargarlo y poder utilizar http://www.oracle.com/technetwork/java/javase/downloads/index.html, y este para los que usan mac OS X que es un sitio para desarrolladores de java de apple  donde puedes descargar la ultima version de el kit de desarrollo de mac http://developer.apple.com/library/mac/navigation/index.html?filter=java


Si utilizas el IDE eclipse puedes usar el complemento para pobrar tus aplicaciones que contiene la forma mas facil para desarrollar probar tu aplicacion desde eclispse para los que necesiten aqui lo tienen http://code.google.com/intl/es/appengine/docs/java/tools/eclipse.html o solo en el eclipse poniendo "Software Update" obtienes el complemento. Pero si en dado caso no utilizas eclipse ni el complemento puedes descargar el SDK de java de google apps engine que aqui dejo un link 
http://code.google.com/intl/es/appengine/downloads.html
que dentro del ZIP tiene varias demostraciones ya compiladas que puedes ver, asi como modificarlas etc.
y este seria el comando para la terminal en linux para ejecutar un demo
./appengine-java-sdk/bin/dev_appserver.sh appengine-java-sdk/demos/guestbook/war
en la terminal logicamente
y el puerto que se usa es el puerto 8080 que es el que se inicia y detecta las 
solicitudes 
http://localhost:8080/
para obtener mas informacion sobre esto, para cambiar de puerto o la ejecucion del 
servidor
http://code.google.com/intl/es/appengine/docs/java/tools/devserver.html 
fuente: http://code.google.com/intl/es/appengine/docs/java/gettingstarted/installing.html

Google Apps Engine

El poderoso Google, saco un  la plataforma google apps engine, con el fin de que desarrolladores puedan crear, y ejecutar las aplicaciones dentro de su mismo servidor, sin la necesidad de tener uno propio. Por lo tanto es mejor por el hosting que proporciona google listo para usar, solo subes tu aplicacion, y listo esta lista para usarse dentro de google apps ademas puedes actualizar tu aplicacion, mejorarla, reparar bugs etc. de una forma sencilla que google apps ofrece.

Y como es costumbre de Google el acceso y uso es completamente gratis pero tiene un limite en el host de 500 mb, ancho de banda, y si en dado caso necesitas mas, el precio es muy accesible por gigabyte.


Para comenzar a desarrollar tus aplicaciones en Google apps, solo consta de registrarte, acceder y descargar su kit de desarrollo SDK. Aqui adjunto un pequenio tutorial para iniciar en google apps http://code.google.com/intl/es-ES/appengine/docs/ . en el cual te dice como puedes empezar a programar. y para los que quieren ver mas aqui un video en el cual viene como programar explicado por un Software Engineer de Google http://www.youtube.com/watch?v=bfgO-LXGpTM&.

Google apps cuando empezo la plataforma solo soportaba a python como lenguaje pero hace poco Google anuncion que Java tambien seria soportado por su plataforma que es mucho mas utilizado que python por los desarrolladores, y ya mas preparados para empezar a programar sus aplicaciones.
PHP que mas utilizado y mas conveniente para las apps de web que es como corre Facebook, en php, pero oficialmente no ha salido soporte para PHP pero como ya hay soporte para Java puedes utilizar Quercus que es una implementacion de PHP realizada en Java.
aqui una pagina en ingles para utilizar el quercus : http://www.webdigi.co.uk/blog/2009/run-php-on-the-google-app-engine/.
aqui un link para obtener mas informacion de google app engine http://code.google.com/intl/es-ES/appengine/
y su icono
asi que eligan bien con que lenguaje programaran
fuente: muchas paginas