Computing">
Nothing Special   »   [go: up one dir, main page]

0% encontró este documento útil (0 votos)
15 vistas3 páginas

Markdown To PDF

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 3

Orientación a Objetos (OO)

Conceptos

Clase y Objeto :
Clase: Es una estructura que define atributos y métodos que describen el comportamiento y estado de los objetos. Es el plano o plantilla para crear
objetos.
Objeto: Es una instancia de una clase. Representa una entidad en el mundo real con estado y comportamiento definidos por su clase.
Encapsulamiento:
Esconder los detalles internos del objeto y exponer solo lo necesario a través de métodos. Esto asegura que los datos no sean accesibles
directamente desde fuera del objeto, protegiendo su integridad.
Ejemplo: Uso de métodos get y set para acceder y modificar los atributos privados de una clase.
Abstracción:
Consiste en simplificar la complejidad al ocultar los detalles de implementación y mostrar solo las funcionalidades esenciales.
Ejemplo: Una clase abstracta que define métodos que deben ser implementados por las clases derivadas.
Herencia :
Permite crear una nueva clase a partir de una existente, heredando sus atributos y métodos, y permitiendo la adición o modificación de
funcionalidades.
Ejemplo: Clase Animal de la cual heredan las clases Perro y Gato .
Polimorfismo:
Permite que una misma operación se comporte de diferentes maneras en diferentes objetos.
Sobrecarga: Mismo nombre de método con diferentes parámetros.
Sobrescritura : Redefinir un método de la clase base en una clase derivada.
Ejemplo: Un método dibujar() que funciona diferente en las clases Círculo , Cuadrado , y Triángulo .

Patrones de Diseño

Creacionales:
Singleton: Garantiza que una clase tenga una sola instancia y proporciona un punto de acceso global a ella.
Factory Method: Define una interfaz para crear objetos, pero permite a las subclases alterar el tipo de objetos que se crearán.
Abstract Factory: Proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas.
Estructurales:
Adapter: Permite que clases con interfaces incompatibles trabajen juntas mediante la conversión de la interfaz de una clase en otra que un cliente
espera.
Composite: Permite tratar a objetos individuales y a composiciones de objetos de manera uniforme.
Decorator: Agrega responsabilidades adicionales a un objeto de manera dinámica.
Comportamentales :
Observer: Define una dependencia de uno a muchos entre objetos, de modo que cuando un objeto cambia de estado, todos sus dependientes son
notificados y actualizados automáticamente.
Strategy: Define una familia de algoritmos, encapsula cada uno y los hace intercambiables.
Command : Encapsula una solicitud como un objeto, permitiendo parametrizar a los clientes con diferentes solicitudes, colas o registros de
solicitudes.

Lenguaje de Programación Java

Plataforma Independiente:
Código Java se compila en bytecode, que puede ser ejecutado en cualquier plataforma que tenga una JVM, haciendo a Java altamente portátil.
Orientado a Objetos:
Java es puro orientado a objetos, todo, excepto los tipos primitivos, es tratado como objeto.
Gestión de Memoria :
Java maneja automáticamente la memoria a través del recolector de basura, que recicla memoria no utilizada.
Multihilo:
Java soporta la programación concurrente mediante la creación y manejo de múltiples hilos de ejecución.
Seguridad:
Tiene una arquitectura de seguridad que permite la ejecución segura de código de fuentes remotas no confiables.

Arquitectura J2EE (Java 2 Platform, Enterprise Edition)

Componentes Principales :
Servlets : Componentes del lado del servidor que manejan solicitudes y respuestas web.
JSP (JavaServer Pages): Facilitan la creación de contenido dinámico en páginas web utilizando HTML y código Java.
EJB (Enterprise JavaBeans) : Gestionan lógica de negocio compleja, transacciones, y aspectos de seguridad.
Servicios:
Transacciones: J2EE proporciona gestión automática de transacciones para asegurar la integridad de los datos.
Seguridad: Basada en roles para controlar el acceso a los recursos.
Concurrencia: Gestión de hilos y recursos de manera eficiente.
Frameworks:
Spring: Simplifica el desarrollo con inyección de dependencias, AOP (Programación Orientada a Aspectos) y más.
Hibernate: Framework de ORM (Mapeo Objeto-Relacional) para interactuar con bases de datos de manera sencilla.
JSF (JavaServer Faces): Framework para construir interfaces web usando componentes reutilizables.

Arquitectura SOA (Service-Oriented Architecture)

Principios:
Interoperabilidad: Servicios que pueden interactuar a pesar de las diferencias de tecnología.
Modularidad: Servicios desacoplados y auto-contenidos.
Reutilización: Servicios pueden ser usados en múltiples aplicaciones.
Servicios Web:
SOAP (Simple Object Access Protocol): Protocolo para intercambiar información estructurada en la implementación de servicios web.
WSDL (Web Services Description Language) : Lenguaje basado en XML para describir los servicios web y cómo acceder a ellos.
Paradigma REST (Representational State Transfer)

Principios:
Statelessness: Cada petición del cliente al servidor debe contener toda la información necesaria para entender y procesar la petición.
Cacheability: Las respuestas deben definir si pueden ser almacenadas en caché o no.
Client-Server : Separación de las responsabilidades del cliente y el servidor.
Uniform Interface: Simplificación y desacoplamiento de la arquitectura mediante una interfaz estándar.
Métodos HTTP:
GET: Recuperar información del servidor.
POST: Enviar datos al servidor para crear un nuevo recurso.
PUT : Actualizar un recurso existente.
DELETE: Eliminar un recurso.
Recursos:
Identificados por URLs, cada recurso puede tener diferentes representaciones (JSON, XML).

Bases de Datos Relacionales

Modelo Relacional:
Datos organizados en tablas relacionadas mediante claves primarias y foráneas.
SQL (Structured Query Language) :
DDL (Data Definition Language) : Crear y modificar estructuras de base de datos (CREATE, ALTER, DROP).
DML (Data Manipulation Language) : Manipular datos dentro de las estructuras (SELECT, INSERT, UPDATE, DELETE).
DCL (Data Control Language) : Controlar el acceso a los datos (GRANT, REVOKE).
Oracle:
RDBMS robusto y altamente escalable con características avanzadas como soporte para grandes volúmenes de datos, transacciones distribuidas, y
alta disponibilidad.
PL/SQL: Extensión de SQL con características procedimentales, permite escribir bloques de código como procedimientos, funciones, y triggers.

Lenguajes, Formatos y Estándares de Desarrollo Web

HTML/CSS/JavaScript:
HTML (HyperText Markup Language) : Estructura básica de las páginas web.
CSS (Cascading Style Sheets): Estilo y diseño de las páginas web.
JavaScript: Lenguaje de programación del lado del cliente para crear interactividad.
Frameworks:
Node.js: Entorno de ejecución para JavaScript del lado del servidor, permite construir aplicaciones de red escalables.
Vue.js: Framework progresivo para construir interfaces de usuario, permite integrar de forma incremental con otros proyectos.

Frameworks de Desarrollo J2EE

JSF (JavaServer Faces):


Framework para construir interfaces web usando componentes UI reutilizables.
Facilita la gestión de estado y la interacción entre el cliente y el servidor.
Spring:
Framework completo para el desarrollo de aplicaciones empresariales.
Spring Boot: Facilita la creación de aplicaciones standalone.
Spring MVC: Framework para construir aplicaciones web usando el patrón Modelo-Vista-Controlador.
Hibernate:
Framework de mapeo objeto-relacional que facilita la interacción con bases de datos relacionales.
Proporciona una capa de abstracción que reduce la complejidad de escribir SQL manualmente.
Servicios Web/REST:
Creación de servicios web RESTful usando Spring MVC para manejar peticiones HTTP.

Testing y QA

Fundamentos :
Pruebas Unitarias: Verificar la funcionalidad de una unidad individual de código.
Pruebas de Integración: Verificar la interacción entre diferentes unidades de código.
Pruebas de Sistema: Validar el sistema completo.
Pruebas de Aceptación: Validar si el sistema cumple con los requisitos del usuario final.
Herramientas:
JUnit: Framework para pruebas unitarias en Java

, permite escribir y ejecutar pruebas repetibles.

Selenium: Herramienta para pruebas automatizadas de aplicaciones web, permite interactuar con navegadores web.
Cucumber: Framework para pruebas basadas en comportamiento (BDD), permite escribir pruebas en lenguaje natural.

Sistemas de Información Geográfica (SIG)

Estándares OGC (Open Geospatial Consortium):


WMS (Web Map Service) : Servicio para generar mapas a partir de datos geoespaciales.
WFS (Web Feature Service): Servicio para acceder y manipular datos geoespaciales vectoriales.
WCS (Web Coverage Service): Servicio para acceder a datos raster.
Bases de Datos Geográficas:
PostgreSQL/PostGIS: Extensión de PostgreSQL para datos geoespaciales.
Oracle Spatial: Extensión de Oracle Database para gestionar datos geoespaciales.

Desarrollo Android

Fundamentos :
Ciclo de Vida de Actividades: Conjunto de estados por los que pasa una actividad (onCreate, onStart, onResume, onPause, onStop, onDestroy).
Intents: Mecanismo para enviar mensajes entre componentes de una aplicación.
Servicios: Componentes que ejecutan tareas en segundo plano.
Interfaz de Usuario:
XML Layouts: Definición de la interfaz de usuario mediante archivos XML.
Views y Widgets: Componentes de la interfaz de usuario como botones, textos, listas.
Almacenamiento :
SharedPreferences : Almacenamiento de datos simples en forma de pares clave-valor.
SQLite: Base de datos relacional ligera incorporada.
Room : Biblioteca de persistencia que proporciona una abstracción sobre SQLite.
Herramientas:
Android Studio: IDE oficial para el desarrollo de aplicaciones Android.
Gradle: Sistema de automatización de construcción.

Lenguaje de Programación Python

Numpy:
Biblioteca fundamental para la computación científica en Python.
Proporciona soporte para matrices y operaciones matemáticas avanzadas.
Pandas:
Biblioteca para manipulación y análisis de datos.
Ofrece estructuras de datos como DataFrame para manejar datos tabulares.
Herramientas de Testing:
unittest: Framework de pruebas unitarias estándar en Python.
pytest: Framework de pruebas que soporta fixtures, test discovery y más.

También podría gustarte