miércoles, 3 de enero de 2024

Políticas de privacidad

POLÍTICA DE PRIVACIDAD

El presente Política de Privacidad establece los términos en que Steven Gomez usa y protege la información que es proporcionada por sus usuarios al momento de utilizar su sitio web. Esta compañía está comprometida con la seguridad de los datos de sus usuarios. Cuando le pedimos llenar los campos de información personal con la cual usted pueda ser identificado, lo hacemos asegurando que sólo se empleará de acuerdo con los términos de este documento. Sin embargo esta Política de Privacidad puede cambiar con el tiempo o ser actualizada por lo que le recomendamos y enfatizamos revisar continuamente esta página para asegurarse que está de acuerdo con dichos cambios.

Información que es recogida

Nuestro sitio web podrá recoger información personal por ejemplo: Nombre,  información de contacto como  su dirección de correo electrónica e información demográfica. Así mismo cuando sea necesario podrá ser requerida información específica para procesar algún pedido o realizar una entrega o facturación.

Uso de la información recogida

Nuestro sitio web emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para mantener un registro de usuarios, de pedidos en caso que aplique, y mejorar nuestros productos y servicios.  Es posible que sean enviados correos electrónicos periódicamente a través de nuestro sitio con ofertas especiales, nuevos productos y otra información publicitaria que consideremos relevante para usted o que pueda brindarle algún beneficio, estos correos electrónicos serán enviados a la dirección que usted proporcione y podrán ser cancelados en cualquier momento.

Steven Gomez está altamente comprometido para cumplir con el compromiso de mantener su información segura. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

Cookies

Una cookie se refiere a un fichero que es enviado con la finalidad de solicitar permiso para almacenarse en su ordenador, al aceptar dicho fichero se crea y la cookie sirve entonces para tener información respecto al tráfico web, y también facilita las futuras visitas a una web recurrente. Otra función que tienen las cookies es que con ellas las web pueden reconocerte individualmente y por tanto brindarte el mejor servicio personalizado de su web.

Nuestro sitio web emplea las cookies para poder identificar las páginas que son visitadas y su frecuencia. Esta información es empleada únicamente para análisis estadístico y después la información se elimina de forma permanente. Usted puede eliminar las cookies en cualquier momento desde su ordenador. Sin embargo las cookies ayudan a proporcionar un mejor servicio de los sitios web, estás no dan acceso a información de su ordenador ni de usted, a menos de que usted así lo quiera y la proporcione directamente noticias. Usted puede aceptar o negar el uso de cookies, sin embargo la mayoría de navegadores aceptan cookies automáticamente pues sirve para tener un mejor servicio web. También usted puede cambiar la configuración de su ordenador para declinar las cookies. Si se declinan es posible que no pueda utilizar algunos de nuestros servicios.

Enlaces a Terceros

Este sitio web pudiera contener en laces a otros sitios que pudieran ser de su interés. Una vez que usted de clic en estos enlaces y abandone nuestra página, ya no tenemos control sobre al sitio al que es redirigido y por lo tanto no somos responsables de los términos o privacidad ni de la protección de sus datos en esos otros sitios terceros. Dichos sitios están sujetos a sus propias políticas de privacidad por lo cual es recomendable que los consulte para confirmar que usted está de acuerdo con estas.

Control de su información personal

En cualquier momento usted puede restringir la recopilación o el uso de la información personal que es proporcionada a nuestro sitio web.  Cada vez que se le solicite rellenar un formulario, como el de alta de usuario, puede marcar o desmarcar la opción de recibir información por correo electrónico.  En caso de que haya marcado la opción de recibir nuestro boletín o publicidad usted puede cancelarla en cualquier momento.

Esta compañía no venderá, cederá ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con un orden judicial.

Steven Gomez Se reserva el derecho de cambiar los términos de la presente Política de Privacidad en cualquier momento.

lunes, 20 de octubre de 2008

Java: archivos JAR

1. Cómo hacer un archivo JAR
Comprimir y empaquetar ficheros en un archivo JAR ejecutable de JAVA
Los archivos JAR contienen un manifest con información necesaria para la máquina virtual; contiene, entre otros datos, el nombre de la clase que se ejecutará al arrancar el archivo JAR. Para proporcionar esta información debemos crear el archivo .jar de la siguiente manera.
1. se crea un archivo de texto (llamado, por ejemplo, mainClass.txt) con 2 líneas:
o una primera línea con el texto (sin comillas) "Main-Class: clase_principal"(clase_principal es el nombre del archivo donde está la clase principal o main sin extensión .class)
o una segunda línea en blanco (¡ojo! sin esta linea no funciona).

2. En la consola de DOS se debe escribir el siguiente comando:

Jar cmfv mainClass.txt nombre_archivo.jar *.class

Donde:
· jar: comando para ejecutar la utilidad jar
· c: crea un archivo nuevo
· m: incluye información del manifest desde el archivo especificado
· f: especifica el nombre del archivo
· v: da información detallada

Otras opciones:
· u: actualiza un archivo existente
· t: lista el contenido de un archivo

· mainClass.txt: es el archivo de texto que se creo con las dos lines.
· Nombre_archivo.jar: es el nombre que le queremos dar el ejecutable Jar que se crea automáticamente después de realizar el comando.
· *.class: esta palabra indica que debe agregar todos los archivos .class.

A tener en cuenta:
1. para ejecutar bien los comandos de java, como los son: javac, javaw, jar, etc. Debemos registrar su ubicación en las variables de entorno del sistema operativo.
Para ello debemos ir a las propiedades de mi “PC”, luego en la pestaña “Opciones avanzadas” damos clic en “variables de entorno” y damos clic en el botón “Nueva” ubicado en la opción “Variables de usuario para Steven G”, en el campo “Nombre de Variable” escribimos Path y en el otro campo “Valor de Variable” escribimos la dirección del bin de la JDK, por ejemplo: C:\Archivos de programa\Java\jdk1.5.0_11\bin y damos en aceptar.
Esto nos permite digitar los comandos de java desde cualquier ubicación al estar en la consola de DOS, es decir, podemos digitar el comando javac desde “C:\ Documents and Settings\Invitado>javac nombre.java” o desde “C:\ >javac nombre.java”

2. Debemos crear una carpeta en la cual se tendrán los archivos de las clases, se creara el archivo .jar y donde estará el archivo de texto mainClass.txt, preferiblemente dentro de disco C, por ejemplo: C:\datos

3. Se abre la consola de DOS y nos vamos a la carpeta que se creo anteriormente, para ello escribimos: cd C:\datos. Ya estamos dentro de esa carpeta y ahora si digitamos el comando para la creación del archivo Jar, es decir:
C:\datos>Jar cmfv mainClass.txt nombre_archivo.jar *.class

4. Finalmente la consola debe mostrar unos mensajes como:
Manifest agregado
Agregando: nombre_clase.class (entrada=856) (salida=521) (desinflado 31%)
Y así agrega cada una de las clases halladas en la carpeta datos.
Y listo! Podemos ejecutar en archivo ejecutable.jar



Comprimir y empaquetar ficheros en un archivo JAR ejecutable de JAVA con imágenes y carpetas.

Jar cmfv mainClass.txt nombre_archivo.jar *.class nombre_carpeta nombre_archivo.ext

Donde:
· mainClass.txt: es el archivo de texto que se creo con las dos lines.
· Nombre_archivo.jar: es el nombre que le queremos dar el ejecutable Jar que se crea automáticamente después de realizar el comando.
· *.class: esta palabra indica que debe agregar todos los archivos .class.
· nombre_carpeta: nombre de la o las carpetas que se desean agregar.
· nombre_archivo.ext: nombre y extensión de el o los archivos que se desean agregar, por ejemplo: fondo.jpg icono.png


Ejecutar un archivo JAR:

java -jar nombre_archivo.jar

sábado, 11 de octubre de 2008

Introducción

Las herramientas de programación, son aquellas que permiten realizar aplicativos, programas, rutinas, utilitarios y sistemas para que la parte fisica del computador u ordenador, funcione y pueda producir resultados.
Hoy dia existen multiples herramientas de programación en el mercado, tanto para analistas expertos como para analistas inexpertos.
Las herramientas de programación más comunes del mercado, cuentan hoy dia con programas de depuracion o debugger, que son utilitarios que nos permiten detectar los posibles errores en tiempo de ejecucion o corrida de rutinas y programas.

Entre otras herramientas de programación encontramos librerias y componentes, dados por algunos lenguajes de programación como son el C++ y delphi.
Otras herramientas de programación son los lenguajes de programación, que nos permitemn crear rutinas, programas y utilitarios.
Entre algunas de estas herramientas de programación tenemos:
Basic y Pascal que son herramientas de programación, idoneas para la inicializacion de los programadores.
C y C++ que sirven para la programación de sistemas.
Cobol, que es una herramienta de programación orientada hacia sistemas de gestion empresarial como nominas y contabilidad.
Fortran, que son lenguajes especificos para calculos matematicos y o numericos.
Herramientas de programación para ambientes graficos como son Visual Basic, Delphi y Visual C.
Html y Java, que permiten la creacion de paginas WEB para internet.

Lenguaje de programación Java

Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.

Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.

La implementación original y de referencia del compilador, la máquina virtual y las librerías de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.

Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java todavía no es software libre).

Aqui les dejo unas direcciones web que contienen unos manuales muy efectivos y que nos permiten iniciar desde cero nuestra base en la programacion con Java.

http://www.programacion.com/java/
http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Java/Java2.pdf
http://mmc.igeofcu.unam.mx/cursos/mcst-2007-II/Java/Java%20desde%20Cero.pdf

Programación orientada a objetos




La Programación Orientada a Objetos (POO u OOP según sus siglas en ingles) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.
Introducción

Los objetos son entidades que combinan estado, comportamiento e identidad:

* El estado está compuesto de datos, serán uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
* El comportamiento está definido por los procedimientos o métodos con que puede operar dicho objeto, es decir, qué operaciones se pueden realizar con él.
* La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).

La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener y reutilizar.

De esta forma, un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados métodos que favorecen la comunicación entre ellos. Esta comunicación favorece a su vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separan ni deben separarse el estado y el comportamiento.

Los métodos (comportamiento) y atributos (estado) están estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos conceptos, sin separar ni darle mayor importancia a ninguno de ellos, hacerlo podría producir el hábito erróneo de crear clases contenedoras de información por un lado y clases con métodos que manejen a las primeras por el otro. De esta manera se estaría realizando una programación estructurada camuflada en un lenguaje de programación orientado a objetos.

Esto difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada sólo se escriben funciones que procesan datos. Los programadores que emplean éste nuevo paradigma, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.

Conceptos fundamentales

La programación orientada a objetos es una nueva forma de programar que trata de encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes:
• Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas, (de c a d), Es la facilidad mediante la cual la clase D ha definido en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D.
• Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos). Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.
• Método: algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
• Evento: un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera.
• Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.
• Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.
• Estado interno: es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.
• Componentes de un objeto: atributos, identidad, relaciones y métodos.
• Representación de un objeto: un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable", no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del método del objeto.


Características de la POO

Hay un cierto desacuerdo sobre exactamente qué características de un método de programación o lenguaje le definen como "orientado a objetos", pero hay un consenso general en que las características siguientes son las más importantes (para más información, seguir los enlaces respectivos):

* Abstracción: Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.
* Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
* Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.
* Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
* Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.