martes, noviembre 15, 2005

Estructura de un objeto

Un objeto puede considerarse una cápsula dividida en tres partes

  1. Relaciones
  2. Propiedades
  3. Metodos

*Cada división desempeña papeles independientes.

La relación permite que el objeto se inserte en la organización y está formada esencialmente por punteros a otros objetos.

Las propiedades distinguen aun objeto determinado de los demás que forman parte de la misma organización, la propiedades de un objeto pueden ser heredadas a sus descendientes.

Los métodos son las operaciones que pueden realizarse sobre el objeto, se incorporan en forma de programas que el obejto es capaz de ejecutar y los pone a disposición de sus descendientes.

Programación orientada a objetos

Introducción

La orientación a objetos promete mejoras en el diseño, desarrollo y mantenimiento del software, ofrece una solución a largo plazo a la problematica de siempre, la falta de potabilidad, rehusabilidad, ciclos de desarrollo largo y tecnicas no intuitivas.

Un lenguaje orientado a obejtos ataca a estos problemas,

Caracteristicas (tres)

  • Basado en objetos
  • Basados en clases
  • Capaz de tener herencia

El concepto programación orientada a objetos no es nuevo (OOP). El lenguaje Smalltalk se basa en el.

La OOP se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos.

El objeto es elemental en la OOP. Definimos un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.

Propiedades importantes de los objetos

  • No es un dato simple, contiene en su interior cierto número de componentes estructurados
  • No es un ente aislado, forma parte de una organización jerarquica o de otro tipo

martes, septiembre 27, 2005

Variables



Como en otros lenguajes de programación no se puede vivir sin variables. En la programación en shell todas las variables son de tipo string y no es necesario declararlas. Para asignar un valor a una variable se escribe:
nombre_de_la_variable=valor

Para obtener el valor de la variable simplemente hay que poner el signo del dólar delante de la variable:

#!/bin/sh
# asignamos un valor:
a="hola mundo"
# ahora mostramos el contenido de "a":
echo "A es:"
echo $a

Escribe estas líneas en tu editor de textos y guardalo p.ej. como primero. Después haz ejecutable el script escribiendo chmod +x primero en el shell y después ejecútalo escribiendo ./primero

El script mostrará lo siguiente:

A es:
hola mundo

Algunas veces es posible confundir nombres de variables con el resto del texto:

num=2
echo "este es el $numº"

Aquí no se mostrará "este es el 2º" si no "este es el " porque el shell busca una variable llamada numdo que no tiene valor. Para decirle al shell que queremos mostrar la variable num tenemos que usar llaves:

num=2
echo "este es el ${num}º"

Con esto imprimiremos lo que queremos:

este es el 2º

Hay una serie de variables que se establecen automaticamente. Hablaremos sobre ellas más adelante cuando las usemos por primera vez. Si necesitas manejar expresiones matemáticas entonces necesitas usar programas como expr .Además de las variables de shell normales que son únicamente válidas dentro del programa en shell hay también variables de entorno. Una variable precedida de la palabra clave export es una variable de entorno. No vamos a comentar nada más sobre ellas ya que normalmente sólo se utilizan en scripts de entrada al sistema.

Creando un script

Existen muchos shells disponibles para Linux pero habitualmente se utiliza el bash (bourne again shell) para la programación en shell ya que está disponible libremente y es fácil de usar. Por lo tanto todos los scripts que escribamos en este artículo usarán el bash (aunque la mayoría de veces también funcionarán con su hermano mayor, el bourne shell).Para escribir nuestros programas en shell usaremos cualquier clase de editor de texto, p.ej. nedit, kedit, emacs, vi... como con otros lenguajes de programación. El programa debe empezar con la siguiente línea (debe ser la primera línea del fichero):

#!/bin/sh

Lo caracteres #! indican al sistema que el primer argumento que sigue en la linea es el programa a utilizar para ejecutar este fichero. En este caso usamos el shell /bin/sh.Cuando hallas escrito y guardado tu script debes hacerlo ejecutable para poder usarlo.Para hacer el script ejecutable escribechmod +x nombre-del-fichero Después puedes ejecutar tu script escribiendo: ./nombre-del-fichero


Comentarios

Los comentarios en la programación en shell comienzan con # se prolongan hasta el final de la línea. Te recomendamos que uses comentarios. Si tienes comentarios y no usas un cierto script durante algún tiempo inmediatamente sabrás qué hace y cómo funciona.

¿Por qué la programación en shell?

Incluso existiendo varios interfaces gráficos disponibles para Linux el shell sigue siendo una herramienta muy eficiente. El shell no es sólo una colección de comandos sino un buen lenguaje de programación. Se pueden automatizar muchas tareas con él, el shell es muy útil para tareas de administración, puedes comprobar rápidamente si tus ideas funcionan lo que lo hace muy útil cuando estás creando un prototipo y es muy útil para pequeñas utilidades que realizan tareas relativamente simples donde la eficiencia importa menos que la facilidad de configuración, mantenimiento y portabilidad.

jueves, septiembre 22, 2005

Control de Taréas y Procesos


Muchos comandos Linux toman su entrada de algo conocido como entrada estándar y envían su salida a la salida estándar
Cada vez que usted ejecuta un programa, usted lanza lo que se conoce como proceso, que es simplemente el nombre que se le da a un programa cuando se esta ejecutando.El comando ps visualiza la lista de procesos que se están ejecutando actualmente, por ejemplo:

[Crispin@Globus /Crispin]§ ps
PID TTY TIME CMD
45 pts/0 00:00:00 bash
84 pts/0 00:00:00 ps
La columna PID representa el identificador de proceso. La ultima columna CMD, es el nombre del proceso que se esta ejecutando. Un proceso que esta corriendo se denomina tarea para el shell. Los términos proceso y tarea, son intercambiables. Sin embargo, se suele denominar «tarea» a un proceso, cuando es usado en conjunción con control de tareas, que es un rasgo del shell que permite cambiar entre distintas tareas.
En muchos casos, los usuarios solo ejecutan un trabajo cada vez, que es el ultimo comando que ellos teclearon desde el shell. Sin embargo, usando el control de tareas, usted podrá ejecutar diferentes tareas al mismo tiempo, cambiando entre cada uno de ellos conforme lo necesite.

Primer Plano y Segundo Plano

Un proceso puede estar en Primer plano o en Segundo plano. Solo puede haber un proceso en primer plano al mismo tiempo, el proceso que esta en primer plano, es el que interactúa con usted recibe entradas de teclado, y envía las salidas al monitor. (Salvo, por supuesto, que haya re-dirigido la entrada o la salida). El proceso en segundo plano, no recibe ninguna señal desde el teclado por lo general, se ejecutan en silencio sin necesidad de interacción. Los procesos pueden ser suspendidos. Un proceso suspendido es aquel que no se esta ejecutando actualmente, sino que esta temporalmente parado. Después de suspender una tarea, puede indicar a la misma que continúe, en primer plano o en segundo, según necesite. Retomar una tarea suspendida no cambia en nada el estado de la misma la tarea continuara ejecutándose justo donde se dejo.

Tenga en cuenta que suspender un trabajo no es lo mismo que interrumpirlo. Cuando usted interrumpe un proceso (generalmente con la pulsación de ), el proceso muere, y deja de estar en memoria y utilizar recursos del ordenador. Una vez eliminado, el proceso no puede continuar ejecutándose, y deberá ser lanzado otra vez para volver a realizar sus tareas. También se puede dar el caso de que algunos programas capturan la interrupción, de modo que pulsando no se para inmediatamente. Esto se hace para permitir al programa realizar operaciones necesarias de limpieza antes de terminar. De hecho, algunos programas simplemente no se dejan matar por ninguna interrupción.

Envío a Segundo Plano y eleiminación de procesos
Una forma de mandar procesos a segundo plano es añadiendo un carácter & al final de cada comando.

martes, septiembre 20, 2005

SHELL DE UNIX

EL SHELL COMO INTERPRETE DE COMANDOS

Cuando un usuario comienza una sesión de Unix se dice que ya entra en un shell o dialecto que interpreta los comandos según su propia sintaxis. Despues de que el shell interpreta el comando, el UNIX lo llama y ejecuta. Una vez que un programa ha sido llamado y ejecutado se dice que el proceso ha concluido. A cada proceso se le adjudica un número concreto que se le denomina PID.

EL SHELL Y LOS TIPOS DE SHELL

UNIX ofrece tres tipos de shell o modos de interpretación de comandos: Bourne Shell(sh); Korn Shell(ksh); C Shell(csh).
El Bourne shell es el más antiguo y tuvo gran popularidad en su lanzamiento, es el shell por defecto del UNIX.
El C shell reensambla la programación en lenguaje C y por tanto es más completo que el anterior.
El Korn Shell es el más moderno de los tres y el más desconocido

USUARIO <==> INTERPRETACION DE COMANDOS <==> MODULO DEL SO KERNEL <==> HARDWARE

Hay varios tipos de intérprete de órdenes shell, escudo en inglés en el mundo de Unix. Los más importantes son la ``shell Bourne'' y la ``shell C''. La shell Bourne utiliza una sintaxis de órdenes como la shell original de los primeros sistemas UNIX, como System III. El nombre de la shell Bourne en la mayoría de los sistemas es /bin/sh (donde sh significa ``shell''. La shell C (no confundir con una concha marina) utiliza diferente sintaxis, parecida al lenguaje de programación ``C'', y en la mayoría de los sistemas se llama /bin/csh.

Bajo , hay disponibles muchas variaciones de intérpretes de órdenes. Las dos más comúnmente utilizadas son Bourne Again Shell, o ``bash'' (/bin/bash), y ``Tcsh'' (/bin/tcsh). La variante bash es una forma de shell Bourne que incluye muchas de las características avanzadas de la shell C. A causa de que bash soporta un superconjunto de sintaxis de la shell Bourne, los guiones de la shell escritos en el estándar de la shell Bourne podrían trabajar con bash. Si se prefiere la sintaxis de la shell C, soporta tcsh, que es una versión ampliada de la shell C.

El tipo de shell que usted decida utilizar será sobre todo una cuestión de fe. Algunas personas prefieren la sintaxis de la shell Bourne con las características avanzadas de bash, y otros prefieren la sintaxis más estructurada de la shell C. Por lo que respecta a órdenes normales como cp y ls, la shell que se use no importa, la sintaxis es la misma. Sólo cuando se comienzan a escribir guiones de órdenes o a usar las características avanzadas de la shell, comienzan a importar las diferencias entre los tipos de shell. Al discutir las características de varios intérpretes, se notarán las diferencias entre las shells C y Bourne.

Sin embargo, para los propósitos de este manual, la mayoría de estas diferencias son mínimas (si realmente estás interesado en este punto, lea las páginas sobre bash y tcsh).También puede leer el ``Bash Scripting HOWTO''

martes, septiembre 06, 2005

VPN sobre Linux

Proximamente manual vpn sobre linux

VPN sobre Windows

Proximamente como montar una vpn en windows 2003