Los formularios son una utilidad necesaria para que los documentos descritos con HTML dispongan de un medio para que el lector o visitante pueda remitir información personalizada al servidor, creándose, de esta
forma, un sistema completo de interacción con el mismo.
Los formularios son una utilidad necesaria para que los documentos descritos con HTML dispongan de un medio para que el lector o visitante pueda remitir información personalizada al servidor, creándose, de esta
forma, un sistema completo de interacción con el mismo.
Desarrollo de Aplicaciones Web II - Sesión 07: TransaccionesDidier Granados
Una transacción es una o más sentencias que se toman como una unidad (todo termina bien o todo se aborta). Es una unidad lógica de trabajo definida para las reglas del negocio y típicamente incluye al menos una modificación de datos. Además, pasa la base de datosde un estado consistente a otro.
Desarrollo de Aplicaciones Web II - Sesión 08: Sesiones y CookiesDidier Granados
Las aplicaciones Web, dependiendo de la plataforma y el lenguaje de programación, poseen un mecanismo que permite lograr la persistencia de datos durante la interacción de un usuario y sin tener que depender de las bases de datos.
Cuenta la leyenda que al construir un documento HTML se tenía que definir cada una de las propiedades en las diferentes etiquetas para mejorar su apariencia. Así las cosas, se pensó en una estrategia que permitiera independizar la parte visual del contenido propio del documento HTML.
CSS son las siglas de Cascade Style Sheets, que quiere decir en español “Hojas de Estilos en Cascada”. Se trata de una especificación sobre los estilos físicos aplicables a un documento HTML y trata de dar la separación definitiva de la lógica (estructura) y la presentación del documento HTML.
En este resumen te damos las herramientas básicas para optimizar tu diseño web teniendo en cuenta el posterior posicionamiento SEO en los diferentes buscadores.
En este resumen encontraras una introducción al gestor de Contenidos Wordpress, con las herramientas básicas para crear tu diseño web auto-gestionable.
Presentación de CSS para la clase de Programación V de la Corporación Universitaria Autónoma del Cauca. Andrés Giovanni Lara Collazos Robert Velasco Luis Muñoz
Cursos gratis de programación en Java. Principios de programación orientada a objetos. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes POO y la Web
1. Didier Fabián Granados Muñoz
Sesión No. 5 – La Web y la Orientación a Objetos
Septiembre 2 de 2009
2.
3. Bueno… y qué es un paradigma?
Un paradigma es un conjunto de teorías generales,
suposiciones, leyes o técnicas de que se vale una escuela de
análisis o comunidad científica para evaluar todas las cosas.
4. La Programación Orientada a Objetos es intentar llevar a un
programa de computador una visión de un problema que sea
lo más cercana posible a la realidad, de acuerdo al ámbito en el
que se desarrolla el mismo.
5. El mundo está lleno de objetos reales, los
cuales se pueden representar como tales
en una solución computarizada.
6. Clase
Es el molde o plantilla con el que se puede construir
objetos. En otras palabras, es una abstracción de
objetos.
Objeto
Es cualquier cosa de la cual podamos emitir un concepto,
o descripción. En la POO, un objeto es una instancia de
una clase, llamando instanciar al hecho de producir y
completar un objeto llenando con valores sus atributos.
7. Los objetos no solo tienen sus características. También
tienen la capacidad de ejecutar diferentes acciones.
9. En UML, una clase está representada por un rectángulo con tres
secciones.
Nombre de la clase
Atributos de la clase con
su encapsulamiento y
tipo de dato.
Métodos de la clase, con
su encapsulamiento y tipo
de dato que retorna,
10. class System
Automóv il
Mazda Chev rolet Renault
11. Un taxi es un automóvil con número de operación y que trabaja para una empresa.
16. La teoría que vimos en la clase pasada tiene su aplicación
en un lenguaje de programación que sea orientado a
objetos.
Dependiendo del lenguaje, muchas cosas se aplican de la
misma manera, pero hay otras que sí tienen diferencias
extremas (especialmente la sintaxis) y que, sencillamente,
no están.
A continuación se hará un recorrido por la
implementación más sencilla y común que existe en todos
los lenguajes orientados a objetos.
También se irán viendo palabras claves que no se han
dicho durante el curso, y se irán explicando en su
momento.
17. 1. Para crear una clase
Se hace uso de la palabra
clave class.
Algunos lenguajes la
declaran con la primera
letra en mayúscula
(Class).
class Automovil
18. 2. Para declarar atributos
Según la sintaxis del
lenguaje, se llama
primero el tipo de dato y
luego el nombre del
atributo.
Y antes del tipo de dato,
el tipo de
encapsulamiento.
public String color
19. 3. Para declarar métodos
De igual manera que los
atributos, se llama
primero el tipo de dato y
luego al método.
Y antes del tipo de dato,
el encapsulamiento.
Si tiene parámetros, estos
deben tener primero el
tipo de dato y luego su
nombre.
public Motor setMotor(Motor motor)
20. 4. Constructor
Un constructor es un método
perteneciente a la clase que
posee unas características
especiales:
Se llama igual que la clase.
No devuelve nada, ni
siquiera void.
Pueden existir varios, pero
siguiendo las reglas de la
sobrecarga de funciones.
De entre los que existan, tan
sólo uno se ejecutará al
crear un objeto de la clase.
También se encapsula.
public Automovil()
21. 5. Instanciación
Recordar que en la clase anterior se dijo cómo se instancia una
clase…
Existe la palabra clave new.
Cuando se define la instancia, ésta deberá ser tipada con la
misma clase y luego, se debe invocar al constructor de la clase.
Si hay sobrecarga del constructor, se debe invocar el que se
ajuste a las necesidades del programador.
Automovil mazda = new Automovil()
Automovil chevrolet = new Automovil(2009, "MOR345")
22. 6. Invocación de atributos y métodos
Para invocar un método de una clase, depende de su
encapsulamiento y de que la clase haya sido instanciada, a no
ser que dicho método sea declarado como estático.
Normalmente se llama desde la misma variable de instancia.
Si es estático, se llama anteponiendo el nombre de la clase y
luego el nombre del atributo o método.
Automovil mazda = new Automovil();
Automovil chevrolet = new Automovil(2009, "MOR345");
int placa = mazda.getPlaca(); // mazda es instancia
int numeroPuertas = Automovil.numeroPuertas;
23. Los demás conceptos (herencia,
interfaces, asociaciones…) son
muy variables de acuerdo al
lenguaje de programación.
24.
25.
26. Conceptos claros.
Orientación al Objeto pura.
Seguridad.
Alto nivel.
Modelo de ejecución simple.
Sintaxis fácil de leer.
Eliminación de la redundancia.
Pequeño.
De fácil transición a otros lenguajes.
Soporte para el aseguramiento de la corrección.
Entornos agradables.
27.
28. El Simula 67 fue considerado como el primer lenguaje de
programación orientado a objetos.
Fue diseñado en 1967 por Ole-Johan Dhal y Kristen Nygaard
en el Norwegian Computing Center en Oslo.
El nombre de Simula 67 fue acortado a Simula en 1986,
existiendo un estándar del lenguaje desde 1987.
29. class POLIGONO;
virtual: procedure set_vertices
begin
procedure dibuja begin ... end;
end POLIGONO
POLIGONO class TRIANGULO
...
end TRIANGULO
...
ref(TRIANGULO) t; ref(POLIGONO) p;
...
p :- t;
p.set_vertices;
p.dibuja;
(p qua TRIANGULO).dibuja
30. Primer lenguaje creado con tecnología de objetos puros
El origen de Smalltalk está alrededor de 1970 en la
Universidad de Utah de la mano de Alan Kay
Smalltalk se desarrolla en el Xerox Palo Alto Research Center
(PARC) de la mano de Alan Kay, Adele Goldberg y Daniel
Ingalls
Los conceptos de Smalltalk han influido en el diseño de LPOO
y en el aspecto y sensación de los GUI como los de Macintosh
o Motif.
Algunas versiones: Smalltalk 72, Smalltalk 74, Smalltalk 76,
Smalltalk 78 y Smalltalk 80, Smalltalk/V de Digital.
31. Entorno de programación: Lenguaje Smalltalk básico, colección
de clases y el entorno real de programación.
El estilo del lenguaje se enfatiza la ligadura dinámica y no
realiza chequeo de tipos.
El bloque fundamental es la clase, que contiene la descripción
de variables y métodos.
Los métodos contienen el código, y definen cómo responde
un objeto a un mensaje.
La ejecución de una rutina de un objeto se denomina en la
terminología de Smalltalk “enviar un mensaje” al objeto, cuya
clase encontrará la forma apropiada de manejar dicho
mensaje.
32. Todo en Smalltalk son objetos, incluyendo a las propias clases.
El entorno de Smalltalk permite un rápido desarrollo de
programas.
La biblioteca de clases fue diseñada para ser extendida y
adaptada por adición de subclases para satisfacer las
necesidades de la aplicación.
La arquitectura Modelo Vista Controlador (MVC) es una
importante contribución de Smalltalk.
33. Concepto Características ¿Las implementa?
Abstracción Variables de instancia Sí
Métodos de instancia Sí
Variables de clase Sí
Métodos de clase Sí
Encapsulamiento De variables Privado
De métodos Público
Modularidad Tipos de módulo Ninguno
Jerarquía Herencia Simple
Unidades genéricas No
Metaclases Sí
Tipos Comprobación estricta No
Polimorfismo Sí
Concurrencia Multitarea Indirectamente
(mediante clases)
Persistencia Objetos persistentes No
34. C++ es un lenguaje híbrido, extensión del lenguaje C.
Fue desarrollado por Bjarne Stroustrup en los laboratorios
AT&T.
Las primeras versiones del lenguaje se denominaron C con
clases, y datan de 1980.
El nombre de C++ se debe a Rick Mascitti, quien lo bautizó de
esta manera en el verano de 1983.
C++ fue instalado por primera vez fuera del grupo de
investigación del autor en julio de 1983.
En 1987 surge la necesidad de estandarización de C++.
Dispone de capacidades para la herencia simple y múltiple.
35. Por defecto C++ tiene ligadura estática.
Las funciones definidas como virtuales pueden beneficiarse del
concepto de ligadura dinámica.
C++ es estrictamente tipado, aunque admite la posibilidad de
casting.
No cuenta con un recolector de basura.
La ausencia de un gestor automático de memoria por defecto,
obliga al concepto de destructor.
Ocultamiento de la información incluso a los descendientes.
Cuenta con un mecanismo de acceso especial por parte de
una clase o una función que se declare como friend.
Soporte de manejo de excepciones.
36. Soporte de genericidad mediante las plantillas.
Permite sobrecarga de operadores.
Sintaxis oscura, y gramática difícil de analizar.
Lenguaje complejo, preocupado por la detección temprana de
errores, y por la eficiencia de la ejecución, perdiendo algo de
sencillez y de flexibilidad para el diseño.
…
38. Concepto Características ¿Las implementa?
Abstracción Variables de instancia Sí
Métodos de instancia Sí
Variables de clase Sí
Métodos de clase Sí
Encapsulamiento De variables Público, Privado, Protegido
De métodos Público, Privado, Protegido
Modularidad Tipos de módulo Fichero
Jerarquía Herencia Múltiple
Unidades genéricas Sí
Metaclases No
Tipos Comprobación estricta Sí
Polimorfismo Sí
Concurrencia Multitarea Indirectamente
(mediante clases)
Persistencia Objetos persistentes No
39. Eiffel fue desarrollado por Bertrand Meyer.
Es un lenguaje orientado al objeto puro.
Soporta ligadura dinámica.
Tiene comprobación estricta de tipos.
Admite herencia múltiple.
Soporta clases parametrizadas.
La gestión de memoria la lleva a cabo el entorno de
programación.
Eiffel proporciona una biblioteca de clases predefinidas muy
completa.
40. Eiffel cuenta con la clase como único criterio de estructuración.
Una declaración de clase en Eiffel puede incluir una lista de
características exportadas, una lista de clases predecesoras, y
una lista de declaraciones de características
Cuenta con manejo de excepciones
41. class STACK[T] empty : BOOLEAN is do
creation Result := total = 0
create ensure
feature {NONE} equal(strip(), old strip())
elems : ARRAY[T]; end;
feature ...
max_size : INTEGER; pop is require
total : INTEGER; not empty
create(n : INTEGER) is do
require total := total -1
n > 0 ensure
do total = old total -1;
!!elems.make(1,n); not full
max_size := n end
ensure invariant
max_size = n; 0 <= total;
total = 0; total <= max_size
end; end – STACK
42. Concepto Características ¿Las implementa?
Abstracción Variables de instancia Sí
Métodos de instancia Sí
Variables de clase No
Métodos de clase No
Encapsulamiento De variables Público (sólo lectura), Privado,
De métodos Selectivamente
Público, Privado, Selectivamente
Modularidad Tipos de módulo Clase
Jerarquía Herencia Múltiple
Unidades genéricas Sí
Metaclases No
Tipos Comprobación estricta Sí
Polimorfismo Sí
Concurrencia Multitarea Sí (mediante clases de bibliotecas)
Persistencia Objetos persistentes Sí (mediante clases)
43. Realizado por un equipo de
Sun Microsystems a finales de
1995.
Ha recibido una especial
atención desde los primeros
meses de 1996.
Es un lenguaje orientado al
objeto puro diseñado desde
cero, que recibe muchas
influencias de C++.
Soporta threads (hilos).
Recogida de basura
automática.
44. Se le atribuyen las siguientes características
Simple y poderoso.
Seguro.
Robusto.
Interactivo.
Independiente de la arquitectura.
Interpretado.
Sencillo de aprender (Hmmmmmmmmm…)
Java produce un bytecode que será interpretado por una
máquina virtual.
La máquina virtual se encuentra a menudo en navegadores
web.
La explosión de Internet ha influido en el auge de Java.
45. class _saludos {
String saludo = "";
_saludos(String msg) {
saludo = msg;
}
public void mostrar() {
System.out.println(saludo);
}
}
class Saludos {
public static void main(String args[]) {
_saludos s1 = new _saludos("Hola Mundo :)))");
_saludos s2 = new _saludos("Adios amigos :((");
s1.mostrar();
s2.mostrar();
}
}
46. Concepto Características ¿Las implementa?
Abstracción Variables de instancia Sí
Métodos de instancia Sí
Variables de clase Sí
Métodos de clase Sí
Encapsulamiento De variables Público, Privado, Protegido
De métodos Público, Privado, Protegido
Modularidad Tipos de módulo Fichero
Jerarquía Herencia Simple
Unidades genéricas No
Metaclases No
Tipos Comprobación estricta Sí
Polimorfismo Sí
Concurrencia Multitarea Indirectamente
(mediante clases)
Persistencia Objetos persistentes EJB
48. La programación dinámica en la
Web se inició con la incrustación del
código del lenguaje seleccionado
dentro del código HTML.
Dada la evolución del modelo y la
arquitectura de las aplicaciones, se
optó por separar la capa de lógica
de la capa de presentación.
También han surgido diferentes
frameworks que han permitido
extender el concepto de reutilización
de código.
49. Un framework, en el desarrollo de software, es una estructura
de soporte definida, mediante la cual otro proyecto de software
La programación dinámica en la
puede ser organizado y desarrollado. Típicamente, puede incluir
Web sesoporte de programas, bibliotecasdel lenguaje interpretado
inició con la incrustación y un
entre otros software para ayudar a desarrollar y unir los
código diferentes componentes de un proyecto.
del lenguaje seleccionado
dentro del código HTML.
Representa una arquitectura de software que modela las
Dada larelaciones generales de las entidades del dominio. Provee una
evolución del modelo y la
estructura y una metodología de trabajo la cual extiende o
arquitectura las aplicaciones del dominio.
utiliza
de las aplicaciones, se
optó por separar la capa de lógica
de la capa de presentación.
También han surgido diferentes
frameworks que han permitido
extender el concepto de reutilización
de código.
51. Siglas de Hypertext Preprocessor.
Originalmente diseñado en Perl.
Totalmente orientado a la Web.
Inicialmente era un lenguaje procedural.
Desde la versión 4.2.x comenzó su propia implementación de POO,
aunque se robusteció en la versión 5.x.
Es un lenguaje interpretado.
Siempre tiene que estar en una etiqueta.
No cuenta con tipos de datos, es decir, cualquier variable puede ser
declarada y puede tomar cualquier valor.
52. Capacidad de conexión con la mayoría de los motores de base de
datos que se utilizan en la actualidad. Se destaca su conectividad con
MySQL y PostgreSQL.
Capacidad de expandir su potencial utilizando la enorme cantidad de
módulos (llamados ext's o extensiones).
Posee una amplia documentación en su página oficial, entre la cual se
destaca que todas las funciones del sistema están explicadas y
ejemplificadas en un único archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso
para todos.
<?php
$saludo = "Hola";
echo $saludo;
?>
53. Concepto Características ¿Las implementa?
Abstracción Variables de instancia Sí
Métodos de instancia Sí
Variables de clase Sí
Métodos de clase Sí
Encapsulamiento De variables Público, Privado, Protegido
De métodos Público, Privado, Protegido
Modularidad Tipos de módulo Fichero
Jerarquía Herencia Simple
Unidades genéricas No
Metaclases No
Tipos Comprobación estricta Sí
Polimorfismo No
Concurrencia Multitarea Indirectamente
(mediante clases)
Persistencia Objetos persistentes No
54. Su sintaxis básica deriva de C/C++.
A diferencia de PHP, es compilado.
Utiliza el modelo de objetos de la plataforma .NET (o dicho de
otra manera, .NET Framework), el cual es similar al de Java,
aunque incluye mejoras derivadas de otros lenguajes (entre
ellos Delphi).
Aunque forma parte de la plataforma.NET, C# es un lenguaje
de programación independiente diseñado para generar
programas sobre dicha plataforma.
Una variable de objeto de cierta clase no almacena los valores
del objeto sino su referencia (al igual que Java).
El operador de asignación no copia los valores de un objeto,
sino su referencia a él (al igual que Java).
55. Un constructor tiene el mismo nombre que su clase y es
sintácticamente similar a un método.
Un constructor no devuelve ningún valor.
Al igual que los métodos, los constructores también pueden
ser sobrecargados.
Si no se especifica un constructor en una clase, se usa uno por
defecto que consiste en asignar a todas las variables el valor
de 0, null o false según corresponda.
Para crear un nuevo objeto se utiliza la siguiente sintaxis:
variable = new nombre_clase();.
Un destructor se declara como un constructor, aunque va
precedido por el signo ~.
56. Se emplea una desasignación de memoria de objetos no
referenciados (recolección de basura), y cuando esto ocurre se
ejecuta el destructor de dicha clase.
El destructor de una clase no se llama cuando un objeto sale
del ámbito.
Todos los destructores se llamarán antes de que finalice un
programa.
La palabra clave this es un apuntador al mismo objeto en el
cual se usa.
La palabra clave static hace que un miembro pertenezca a una
clase en vez de pertenecer a objetos de dicha clase. Se puede
tener acceso a dicho miembro antes de que se cree cualquier
objeto de su clase y sin referencias a un objeto.
57. Un método static no tiene una referencia this.
Un método static puede llamar sólo a otros métodos static.
Un método static sólo debe tener acceso directamente a
datos static.
Un constructor static se usa para inicializar atributos que se
aplican a una clase en lugar de aplicarse a una instancia.
C# permite la sobrecarga de operadores con la palabra clave
operator.
…
58. Concepto Características ¿Las implementa?
Abstracción Variables de instancia Sí
Métodos de instancia Sí
Variables de clase Sí
Métodos de clase Sí
Encapsulamiento De variables Público, Privado, Protegido
De métodos Público, Privado, Protegido
Modularidad Tipos de módulo Fichero
Jerarquía Herencia Simple
Unidades genéricas No
Metaclases No
Tipos Comprobación estricta Sí
Polimorfismo Sí
Concurrencia Multitarea Indirectamente
(mediante clases)
Persistencia Objetos persistentes Sí (Web Forms)