Please enable JavaScript.
Coggle requires JavaScript to display documents.
Progamación Pretuntas falladas y desconocidas (DNS, [2] (Tipos de…
Progamación
Pretuntas falladas y desconocidas
Acrónimos
POSIX
(Portable Operating System Interface)
Sistemas Opertivos
RTLinux
Sistema Operativo de tiempo Real
Windows 2000 Server
A partir de esta versión se implementa el Diretorio Activo
Lenguajes
SQL:2003
ISO/IEC 9075
C++
Sobrecarga Operadores
Operadores que no se pueden sobrecargar:
operadores de directivas de procesador #, ## ;
Selector directo de componente . ;
operador para valores por defecto de funciones de clase : ; Operador de acceso a ámbito :: ;
Operador de
indirección
de puntero-a-miembro .* ;
Condicional ternario ?; sizeof y typeid.
Tipos de EJB
EJB Dirigidos por Mensajes : son los únicos beans con funcionamiento asíncrono
ASP. NET
Páginas ASP.NET conocidas también como web forms
que usan
Indentación
Haskell
,
Occam
)y
Python
,
Accesibilidad
JAWS
)
(acrónimo de Job Access With Speech) es un software lector de pantalla para ciegos o personas con visión reducida del SO Windows
Diagrama de flujo de datos
Símbolos de decisión
Decisión de dos salidas
Bucle definido
Decisión múltiple con n salidas
Símbolos de operación o proceso
Terminal
Operación de entrada/salida
Proceso y operación
Subprograma
Modelo de datos
, [
2
], [
3
]
Modelo conceptual de datos
Fase de planificación de sistemas
DER (Diagrama entidad relación)
Cardinalidad 1:1, 1:N o N:M
Relaciones pueden ser
Opcionales
Exclusivas
Obligatorias
Modelo lógico de datos
Fase de análisis del sistema
DED (Diagrama de estructura de datos)
Solo se admite Cardinalidad 1:N
Relaciones 1:1 dan lugar a una entidad
Relaciones N:M crean entidad adicional para unirlas
Relaciones son solo
Binarias
Modelo físico
Fase de diseño
Especifica estructuras físicas (Esquema interno)
Sentencia de control
Pueden ser
Opcional
Repetitiva
Secuencia
Metodología Métrica v3
Promovido por
Consejo Superior de Informática y para el impulso de la Administración Electrónica
Acciones simples
Aquellas que el procesador ejecuta de forma inmediata
Entrada
Asignación
Salida
Java Enterprise System (JES)
es un conjunto de componentes de software que proporciona los servicios necesarios para poder utilizar potentes aplicaciones de empresa distribuidas en un entorno de red o de Internet.
.NET
Seguridad basada en roles
Pueden tomar decisiones de autorización basandose en la identidad de la entidad seguridad, en la pertenecia a una función de la entidad o en ambos
Se puede utilziar tanto en el cliente como en el servidor
Puede estar basada en una cuenta de windows o personalizada y no basada en dicha cuenta
Puede ser miembro de varias funciones
Oracle
Sentencias
Cambiar de esquema
ALTER SESSION SET CURRENT_SHEMA=<Shema>
HERRAMIENTAS
RMAN (Recovery Manager)
Realiza buackups
Pruebas
caja negra y blanca
Caja blanca
(cómo lo hace)
Mira con lupa el códig
Tipos de covertura de camino básico
De segmentos o sentencias
sentencias sin puntos de decisión
De ramas
amplia cobertura de segmentos
recorre todas las posibles salidas de los puntos de decisión
De condición/ decisión
amplia covertura de rama
Prueba todas las posibles condiciones (if )
De bucles
Prueba de iteraciones
De camino básico
Permite obtener una medida de la complejidad del código para obtener un conjunto básico de caminos de ejecución
De flujo de datos
Caja negra
(qué hace)
Tipos
Clases de equivalencia
Análisis de valores límite
(en conjunción con clases de equivalencia)
Matriz ortogonal
Tablas de cecisión
Transición entre estados
Pruebas de casos de uso
No mira el código sino lo que se ve desde el exterior
Intenta buscar fallos
Siete principios del proceso de prueba
Principio 1: El proceso de prueba demuestra la presencia de defectos
Principio 2: No es posible realizar pruebas exhaustivas
Principio 3: Pruebas tempranas (“early testing”)
Principio 4: Agrupamiento de defectos (“defect clustering”)
Principio 5: Paradoja del pesticida
Principio 6: Las pruebas dependen del contexto
Principio 7: La falacia de la ausencia de errores
Cuantos díscos duros pueden contectarse a un purto SATA
1
Contenedores de software
Permite ejecutar aplicaciones en cualquier SO
Docker
)
Automatiza el desplique de aplicaciones dentro de contenedores sofware (para Lunux)
PL/SQL
Excepciones
dup_val_on_index
Conceptos
Evaluación Heurística
Ley de Fitt
Diagrama de Jackson
Propagación troposférica
currificación
Procesos
algunos conceptos
Faltas de página
Acción de traer las páginas a memoria principal desde el disco por parte del SO cuando se vuelven a necesitar
paging
Acción de transferir páginas a disco por parte del SO para liberar memor
Swapping
Acción de llevar procesos enteros a disco desde la memoria principal por parte del SO
Planificador procesos
Largo plazo
Estado de los procesos
Nuevo
Listo / Listo y suspendido
Ejecución
Bloqueado / Bloqueado y suspendido
Terminado
BBDD
MySql
Funciones
mysql_inserted_row
Devuleve el número de filas afectadas por una operación de tipo INSERT
Motores de
almacenamiento
Diferencias entre MyIsam e Imnodb
, [
2
]
MyIsam
Es el más antiguo y NO soporta transacciones
Si se requiere:
Multiples consultas
Gran velocidad y mínimo consumo
Innodb
Si se requiere priorizar el diseño relacional
Es el mas moderno y soporta transacciones
Relaciones
tipos
cliente/servidor
cliente-servidor
cliente servidor
Diferencia entre
capas y niveles
DOM
(Document Object Model)
Arbol
ANSI SPARK
Niveles
Externo
Conceptual
Interno
Polimorfismo POO
)
tipos
Estático o ad hoc
De sobrecarga
Dinámico o paramétrico
Contenedores J2EE
tipos
WEB
Aplication Client Container (ACC)
EJB
Modelos Ciclo de vida
software
En espiral
dimensiones
Angular
: mide el avance proyecto
Radial
: mide el coste proyecto
tareas
por ciclo
Determinar objetivos
Análisis riesgos
Desarrollar y probar
Planificación
variaciones
Espiral típico en seis regiones
En espiral WIN WIN
Iterativo e incremental
Construcción secciones reducidas
Irán ganando tamaño
cascada
(el más antiguo), [
2
]
etapas
sucesivas
Especificación requisitos
Diseño
Implementación
Integración
Pruebas
Despliegue
Mantenimiento
Ágil
Desarrollo iterativo
Centrado en las personas
Regroalimentación en lugar de planificación
Pruebas periódicas y frecuentes
Método en V
Modelo de prototipos
RUP
Hilos o threads
)
características
compartición
No comparten
contador de programa
pila de ejecución
estado CPU (incluyendo registros)
comparten
Espacio de memoria
Archivos abiertos
Situación de autenticación
ventajas
Mayor velocidad en sistemas multiprocesador o grupos de máquinas
Pueden requerir de
operaciones atómicas
para impedir que datos comunes sean leidos o cambiados mientras están siendo modificados. Para evitarlo se usan
semáforos
) ya que si no puede producir
interbloqueo
estados
Ejecución
Listo
Bloqueado
Lenguajes
Java o Delphi
Permiten trabajar con hilos
C o C++
No son conscientes de los hilos
Para trabajar con ellos deben usar
librerías del sistema en el que trabajan
formas
Apropiativo
SO determina el
cambio contexto
. Problema:
inversión de prioridades
Cooperativo
El hilo abandona ejecución al llegar al punto de detención. Problema:
hilo se quede esperando liberar recurso
Usos comunes
Trabajo interactivo y en segundo plano
Procesamiento asíncrono
Aceleración de la ejecución
Estructura modular de los programas
Implementaciones
A nivel de usuario o User Level Thread (ULT)
A nivel del núcleo o Kernel Level Thread (KLT)
Control concurrencia
Monitor
Semáforo
Paso de mensajes
Cierres de exclusión mutua
DNS
, [
2
]
Componentes
Clientes fase 1
Servidores DNS
Zonas de autoridad
Nombres dominio
partes
dominio nivel superior
(top level domain)
Etiqueta más a la derecha
Ej: www.ejemplo.
com
subdomino
Etiquetas que siguen al superior
63 caracteres máx por etiqueta
Hasta 127 niveles
En conjunto no puede exceder de 255 cacateres
Dependencia relativa, no absoluta
Parte más a la izquierda es nombre máquina (hostname)
Resolución de nombres
Servidor DNS recibe petición
Si tiene respuesta en cache la sirve
En caso contrario realiza
búsqueda recursiva
Una vez encontrada la sirve y la guarda en caché para futuras peticiones
Comunicación
Protocolo UDP
Protocolo TCP solo si respuesta > 512 bytes (intercambio info entre serviores)
Tipos de servidores
Primarios o maestros
Secundarios o esclavos
Locales o caché
Tipos de resolución
de nombres
Iterativa
Respuesta completa por parte del servidor
Para ello consulta su BBDD y su caché o realiza iterativas preguntas a los DNS de la jerarquia asociada
Recursiva
No puede obtener la info de forma iterativa
Contacta con servidores Raiz a los que hace consultas iterativas
Seguridad
DNS cache poisoning
envenenamiento de caché DNS
Fingir ser un servidor de autoridad de origen
Prevención
DNSSEC
DNS Security Extensions
Proporciona a clientes DNS la autenticación del origen de datos
Utiliza firmas criptográficas electrónicas para determinar autenticidad datos
Alternativa:
DNSCurve
Uso de Seguridad de Capa de Transporte y firmas digitales
Con HTTPS los usuarios pueden verificar si el certificado digital es válido y pertenece al dueño esperado de un sitio web
Tipos de registros
A
==> traduce IPv4
AAAA
==> traduce IPv6
CNAME
==> Alias para cuando en un mismo servidor se corren varios servicios (ftp.ejemplo.com o www.ejemplo.com) o varios servidores http bajo el mismo host
NS
==> (Name Server). Asocia
nombres de dominio
con los
DNS
para esos dominios
MX
)
==> (Mail Exchange). Asocia
nombre de dominio
a lista servidores de correo
PRT
==> (Pointer). Registro inverso. Funciona a la
inversa
.
Traduce IP en nombres
SOA
, [
2
]
==> (start of authority). Autoridad de zona. Informa sobre
DNS primario
de una zona e
email del responsable
, entre otros datos
ANY
==> Toda la información de todos los tipos que exista
DNS Sinkholing
Proporciona información falsa para evitar el uso de un nombre de dominio
HTML5
<Object>
Embebe elementos multimedia como applets, audio, video, activeX, PDF, FLASH
diferencias con HTML4
Listado oficial
removed in 5.2
command
menu
menuItem
hgroup
Elementos
desconocidos
kubernetes
Automatización del despligue de contenedores
bitbucket
Servicio alojamiento basado en web
similar a github
OpenShift
Producto de computación en la nube
Utiliza:
Docker
): para gestionar contenedores
Kubernetes
: para gestionar grupos de contenedores
AMQ
bróker de mensajería
de código abierto
MDM
software que permite asegurar, monitorizar y administrar dispositivos móviles sin importar el operador de telefonía o proveedor de servicios
algoritmos
tipos
deterministicos
probabilísticos
divide y vencerás
paralelos
metaheurísticas
voraz
programación dinámica
)
no deterministicos
vuelta a atrás
ramificación y acotación
hashing
Resolución colisiones
,
[2]
,
hashing abierto
si se produce colisión cada localización de la tabla tiene asociada una lista enlazada donde se colocan los elementos colisionados
hashing cerrado
si se produce colisición se utiliza el rehasing (hashing lineal)
https://www.youtube.com/watch?v=WnLdu8OHA3Q
listado archivos
listado tipos MIME
Shebang
nombre que recibe el par de caracteres #! que se encuentran al inicio de los programas ejecutables interpretados
Programación
orientada a objetos
Herencia
tipos
especialización
generalización
TCP y UDP Diferencias
Archivos
medidas de utilización
volatil: Si tiene un alto porcentaje de adiciones y supresiones
activo: Si tiene un alto porcentaje de utilidad (actualización, consulta)
clasificación
Permantentes o maestros: su info varía poco
de Movimiento: actualizan los archivos maestros
tipos: altas, bajas y modificaciones
de Maniobra o trabajo: vida limitaa
Operadores de cortocircuito
, [
2
]
Business intelligent
terminos
KPI
Diferencia con BigData
M2M y IoT
M2M
Machine To Machine
Intercambio de información o comunicación entre dos páginas remotas
oneM2M
, [
2
]: Proyecto de estandarización global para las comunicaciones
IoT
Internet of Things
interconexión digital de objetos cotidianos con internet
Parámetros
Formales: los declarados en la función
Actuales: los utilizados para llamar a la función
TDA
(Tipo Abstracto de Datos), [
2
]
conjunto de datos u objetos al cual se le asocian operaciones
provee de una interfaz con la cual es posible realizar las operaciones permitidas, abstrayéndose de la manera en como estén implementadas dichas operaciones
ej: Lista, pila, cola
Servicios Web
Son lentos comparado con
RMI y CORBA
REST
(Representational State Transfer)
estilo de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web
GraphQL
: alternativa a REST
Términos
Sincronización entre procesos
Envío bloqueante, recepción bloqueante:
Rendezvous
Envío no bloqueante, recepción bloqueante
Envío no bloqueante, recepción no bloqueante
Interbloqueo
Condiciones para producir interbloqueo
Diseño estructurado
Acoplamiento
Grado de interdependencia entre los módulos de un programa
Se desea la menor posible
Común
Se accede a un recurso común
externo
: ligados a componente externo (ej: periférico)
De contenido
Se accede a parte de otro módulo
Normal
Un módulo llama a otro de nivel inferior. Solo intercambia datos
De datos
: intercambian parámetros
De marca o por estampado
: intercambian estructura de registros
De control
: intercambian controles (un módulo controla a otro)
Cohesión
relación funcional entre las sentencias o grupos de sentencias de un mismo módulo.
Se desea la mayor posible
Comunicacional
Procedimental
Funcional
Temporal
Lógica
TDD
La primera prueba siempre debe fallar tras lo cual podemos implementar el código
Edge computing
relacionado con
Cloud computing
Fog computing
5G
OpenAPI
Estandar para crean manual de uso de un API
El más usado es Swagger
Permite describir (en JSON o YAML):
Información general
Rutas disponibles (recrusos)
Operaciones disponibles en cada ruta
Entrada / salida para cada operación
Regex
, [
2
]
Capture group
Tipos peyorativos de código
Espagueti
: estructuras complejas e incomprensibles
Ravioli
: compuesta de muchos trozos pequeños difíciles de seguir
Lasaña
: con capas muy interconectadas
Pizza
: arquitectura plana
epoch
magnitud que proporciona a la fecha del ordenador un valor numérico expresado en segundos, así como un punto de partida desde el que empezar a contar
Análisis de software
Análisis estático de software
: se realiza sin ejecutar el programa. Ej:
Sonarqube
Análisis dinámico de software
: se realiza ejecutando el programa