Apuntes, resúmenes, trabajos, exámenes y ejercicios de Informática de Universidad

Ordenar por
Materia
Nivel

Algoritmos Fundamentales en Python: Ejemplos Prácticos y Explicaciones

Clasificado en Informática

Escrito el en español con un tamaño de 4,16 KB

Sucesión de Fibonacci

La sucesión de Fibonacci es una secuencia matemática donde cada número es la suma de los dos anteriores, comenzando con 0 y 1. A continuación, se presentan diferentes implementaciones en Python relacionadas con esta sucesión.

Generar los primeros 'n' términos de la sucesión de Fibonacci

Este fragmento de código genera los primeros 'n' términos de la sucesión de Fibonacci:

n=int(input('Dame n:'))
print('1')
print('1')
a=1
b=1
for i in range (n+1):
    c=a+b
    print(c)
    a=b
    b=c

Determinar si un número pertenece a la sucesión de Fibonacci

El siguiente código determina si un número dado 'n' pertenece a la sucesión de Fibonacci:

n=int(input('Dame un numero:'))
a=1
b=1
c=0
while (c<n):
    c=a+b
    a=
... Continuar leyendo "Algoritmos Fundamentales en Python: Ejemplos Prácticos y Explicaciones" »

Redes WAN y LAN: Características, Tecnologías y Diferencias Clave

Clasificado en Informática

Escrito el en español con un tamaño de 4,38 KB

Red de Área Amplia (WAN)

La Red de Área Amplia (WAN, por sus siglas en inglés Wide Area Network) se refiere a las redes que cubren una extensa área geográfica. Estas redes requieren utilizar rutas de acceso público y emplean parcialmente circuitos proporcionados por entidades proveedoras de servicios de comunicación.

La WAN consiste en una serie de dispositivos de conmutación interconectados. La transmisión de datos se encamina a través de estos nodos internos hasta alcanzar el destino final.

Tecnologías WAN

La red de área más amplia (WAN) se ha desarrollado principalmente a través de dos tecnologías:

  • Conmutación de circuitos
  • Conmutación de paquetes

Una tecnología relevante en este ámbito es el Modo de Transferencia Asíncrono (... Continuar leyendo "Redes WAN y LAN: Características, Tecnologías y Diferencias Clave" »

Big Data y Sistemas Distribuidos: Conceptos Clave y Tipos de Datos

Clasificado en Informática

Escrito el en español con un tamaño de 4,4 KB

Espiral del Conocimiento y la Era del Big Data

La espiral del conocimiento se compone de cuatro etapas:

  • Socialización
  • Externalización: Conversión de conocimiento implícito a explícito.
  • Internalización: Conversión de conocimiento explícito a implícito.
  • Combinación: Generación de nuevo conocimiento a partir del conocimiento existente.

Este proceso se relaciona con la jerarquía del conocimiento:

  • Datos
  • Información
  • Conocimiento
  • Sabiduría

En la actualidad, la cantidad de datos generados es inmensa. Se estima que 40 zettabytes equivalen a 57 veces el número de granos de arena en todas las playas del mundo.

¿Qué es el Big Data?

El Big Data se refiere al conjunto de tecnologías que permiten el análisis de un gran volumen de datos. Abarca las nuevas... Continuar leyendo "Big Data y Sistemas Distribuidos: Conceptos Clave y Tipos de Datos" »

Bases de Datos Distribuidas: Heterogeneidad, Ventajas, Desafíos y Principios Fundamentales

Clasificado en Informática

Escrito el en español con un tamaño de 5,69 KB

Heterogeneidad y la Presión para Integrar Datos

La heterogeneidad (diversidad) puede darse en muchos niveles, desde la forma y el significado de cada dato hasta el formato y el medio de almacenamiento elegido para guardarlo.

Surge la necesidad de integración debido a requerimientos de procesamiento no locales, donde es necesario intercambiar información proveniente de otras áreas o departamentos.

Ventajas del Procesamiento de Bases de Datos Distribuidas

  • Mejor rendimiento: En muchos casos, puede ofrecer un rendimiento superior al obtenido mediante un procesamiento centralizado.
  • Mayor confiabilidad: Los datos duplicados (réplicas) aumentan la disponibilidad. Cuando falla una computadora, se pueden obtener los datos desde otras réplicas en otras
... Continuar leyendo "Bases de Datos Distribuidas: Heterogeneidad, Ventajas, Desafíos y Principios Fundamentales" »

Arquitectura de Sistemas Distribuidos, Middleware y Estándares de Data Center (Teorema CAP)

Clasificado en Informática

Escrito el en español con un tamaño de 4,61 KB

Sistemas Distribuidos y Middleware

La organización de los sistemas distribuidos se centra en el Middleware, el cual cumple funciones esenciales para la comunicación y el desarrollo de aplicaciones:

Funciones del Middleware

  • Intercambio de información.
  • Ocultar la distribución y heterogeneidad de los componentes.
  • Proporcionar interfaces de alto nivel, estándar y uniformes para el desarrollo de aplicaciones.
  • Ofrecer servicios comunes para facilitar la comunicación entre aplicaciones.

Metas de los Sistemas Distribuidos

  • Hacer los recursos fácilmente accesibles.
  • Ocultar la distribución de los recursos a través de una red.
  • Ser abierto y escalable.

Aspectos Clave

Los sistemas distribuidos deben abordar los siguientes aspectos:

  • Heterogeneidad: Manejo de
... Continuar leyendo "Arquitectura de Sistemas Distribuidos, Middleware y Estándares de Data Center (Teorema CAP)" »

Estrategias de Tolerancia a Fallos y Alta Disponibilidad en Sistemas Informáticos

Clasificado en Informática

Escrito el en español con un tamaño de 3,21 KB

Tolerancia a Fallos y Tiempo de Inactividad

Tolerancia a fallos: tiempo de inactividad, que es el periodo en el que un sistema no está disponible para su uso. Este tiempo puede ser programado (resultado de un mantenimiento, inevitable) o no programado (causado por un evento imprevisto, fallo de hardware o software).

Planes de Impacto de Desastres

Planes de impacto de desastres: incluyen planes de contingencia (que protegen un elemento específico vital para la organización), planes de recuperación (DRP) (grupo estructurado de recursos humanos, técnicos y procedimentales para recuperar actividades interrumpidas) y planes de continuidad del negocio.

Alta Disponibilidad

Alta disponibilidad: estrategia de gestión de sistemas para restaurar servicios... Continuar leyendo "Estrategias de Tolerancia a Fallos y Alta Disponibilidad en Sistemas Informáticos" »

Conceptos Clave de Virtualización y Arquitectura Hadoop

Clasificado en Informática

Escrito el en español con un tamaño de 3,02 KB

Virtualización: Conceptos y Tipos

La virtualización permite optimizar los recursos tecnológicos mediante diversas técnicas:

  • Virtualización de almacenamiento: Varios dispositivos de almacenamiento en red agrupados en uno físico.
  • Virtualización de red e interconexión: Combina recursos y funcionalidad de red en una sola entidad administrativa basada en una red virtual.
  • Virtualización de contenedores (Docker): En lugar de albergar un sistema operativo (OS) completo, comparten recursos del propio OS "host" sobre el que se ejecutan, optimizando su uso sin necesidad de sistemas operativos separados para conseguir aislamiento. Funciona mediante imágenes reutilizables entre varias aplicaciones. Es decir, aísla aplicaciones (que deben pertenecer
... Continuar leyendo "Conceptos Clave de Virtualización y Arquitectura Hadoop" »

Administración de Usuarios y Seguridad en Sistemas Unix/Linux

Clasificado en Informática

Escrito el en español con un tamaño de 3,05 KB

Ficheros Clave

/etc/shadow

Almacena información sensible sobre las contraseñas de usuario, incluyendo datos de caducidad y validez de la cuenta. Por seguridad, solo el usuario root tiene permisos de lectura.

  • Nombre de usuario
  • Contraseña cifrada
  • Días desde el último cambio de contraseña
  • Mínimo de días entre cambios
  • Máximo de días entre cambios
  • Número de días de advertencia tras expirar
  • Días desde que caduca hasta que se deshabilita
  • Días desde 1970 desde que la cuenta se deshabilita
  • Campo reservado

/etc/passwd

Determina quién puede acceder al sistema y qué puede hacer una vez dentro. Contiene información sobre cuentas de usuario, claves de acceso y privilegios. Es crucial mantener este fichero libre de errores y vulnerabilidades.

Para modificar... Continuar leyendo "Administración de Usuarios y Seguridad en Sistemas Unix/Linux" »

Arquitectura y Componentes Fundamentales de Apache Spark para Procesamiento Distribuido

Clasificado en Informática

Escrito el en español con un tamaño de 3,04 KB

Introducción a Apache Spark

Spark es un framework de programación distribuida, que ofrece un alto rendimiento tanto para procesamiento por lotes como interactivo. Se diferencia con Hadoop en el uso de operaciones en memoria divididas en varias fases de procesamiento.

Requisitos y Componentes de Ejecución

Para ejecutar aplicaciones distribuidas en un clúster, Spark requiere un administrador de clúster.

Librerías Integradas

Spark lleva incluidas librerías específicas para tratar:

  • Datos estructurados: Spark SQL
  • Streaming de datos: Spark Streaming
  • Machine Learning: MLib
  • Computación sobre grafos: GraphX

El Programa Controlador y el Contexto

El shell Spark es un ejemplo de un programa controlador, proceso que se ejecuta en la máquina virtual de Java... Continuar leyendo "Arquitectura y Componentes Fundamentales de Apache Spark para Procesamiento Distribuido" »

Desarrollo Web Java: Servlets, JSP y Contenedores en Aplicaciones Empresariales

Clasificado en Informática

Escrito el en español con un tamaño de 6,81 KB

Conceptos Fundamentales de Servlets y Contenedores Web

Contenedor Web

El Contenedor Web es el soporte fundamental para las comunicaciones, simplificando la interacción entre el servidor web y los servlets.

Gestión del Ciclo de Vida

Controla la creación y destrucción de los servlets, incluyendo la carga de clases, la instanciación y la inicialización (método init()).

Soporte Multihilo

Asigna un hilo Java diferente a cada petición recibida por un servlet, permitiendo el procesamiento concurrente.

Seguridad Declarativa

Permite definir políticas de seguridad mediante un descriptor de despliegue en formato XML.

Descriptor de Despliegue (DD)

El Descriptor de Despliegue (web.xml) es un archivo XML donde se configuran los parámetros de inicialización... Continuar leyendo "Desarrollo Web Java: Servlets, JSP y Contenedores en Aplicaciones Empresariales" »