Nuestra formación

Diccionario informático

El mundo de la informática abarca una innumerable lista de términos, palabras, acrónimos, tecnologías etcétera. Como existen tantos vamos ha hacer un resumen de los más importantes en este glosario. Así mismo lo hemos redactado con un lenguaje ameno y cercano, para que no se te haga pesado o incomprensible si no eres técnico.

¿Por qué hemos creado este glosario?

Hemos querido crear este glosario de términos pensando, no dirigido a un perfil técnico o cualificado dentro del sector de la informática, sino a otros departamentos que se encuentran en una empresa y que tienen que lidiar con programadores a diario. De este modo, la comprensión por parte de estos departamentos hacia el técnico será mucho más sencilla y se mejorará la toma de decisiones al momento de gastar los créditos acumulados y planificar una formación.

Diccionario

¿Qué es un framework?

Un framework (o marco de trabajo) es un conjunto de librerías, conceptos y prácticas que facilitan el desarrollo en un ámbito en concreto.

Por simplificarlo, sería como comprar una casa por módulos. Hace que la construcción sea más rápida y tiene cierta flexibilidad, cosa que mejora frente a tener que hacerlo todo a medida.

Algunos módulos serán obligatorios pero muchos otros son opcionales e intercambiables.

¿Qué es Moodle?

Moodle es el LMS (Learning Management System) por excelencia.

Dispone de un gran número de módulos que permiten configurar cada campus de la manera que se requiera.

Su tendencia de uso es creciente, ya que cada día hay la formación online está en auge. Se utiliza tanto en instituciones universitarias como en empresas.

¿Cómo se relaciona un lenguaje con un framework?

Los diferentes módulos de un framework tienen una cosa en común: Todos están programados en el mismo lenguaje.

Podríamos decir que el lenguaje es la piedra angular del framework, por lo tanto es la base sobre la que se construye, aunque en algunas ocasiones, podemos elegir el lenguaje sobre el que queremos utilizar el framework.

¿Qué es Typescript?

TypeScript es una evolución de JavaScript, que tiene el objetivo de minimizar errores.

Es un lenguaje de programación libre y de código abierto que, principalmente, suma objetos basados en clases y tipos estáticos.

Es uno de los lenguajes de programación más populares en la actualidad gracias al crecimiento de los frameworks de desarrollo web.

¿Qué es Magento?

**Magento es la herramienta más potente para diseñar tiendas online. **

Es una plataforma de código abierto para comercio electrónico escrita en PHP.

Es una tecnología sumamente compleja, por lo que no es apta para cualquier tipo de tienda.

¿Qué es Prestashop?

Prestashop es la alternativa sencilla a Magento.

Permite crear una tienda online con menos control, pero con mucho más tiempo.

Existen nuevas plataformas para crear tiendas mucho más sencillas como por ejemplo, Shopify.

¿Qué es Kotlin?

Kotlin es un lenguaje de programación creado en 2011 que funciona con JVM (Máquina Virtual de Java) y se utiliza como lenguaje alternativo a Java en Android.

Google anunció en 2017 durante la conferencia de #IO17 que Kotlin sería uno de los lenguajes principales para el desarrollo de apps.

Orientando a la funcionalidad se centra en la claridad, seguridad y la interoperabilidad. Utiliza frameworks y librerías existentes de Java sin necesidad de crear capas de adaptación.

¿Utilizar VAL o VAR?

Se recomienda el uso de la keyword VAL para  asegurar la inmutabilidad del código.

COMPROBACIONES DE NULIDADKotlin cuenta con numerosos mecanismos para evitar que podamos acceder a punteros que valgan null y, así, provocar numerosas NullPointerExceptions, uno de los mayores problemas de Java.

Ejemplo:

var cadena:String = "uno"
cadena = null // Error de compilación

Permitir que cadena valga null:

var cadena:String? = "uno"
cadena = null // Ahora SÍ
print(cadena)
Safe Calls

Kotlin cuenta con el ? (Safe Call Operator) para tener la seguridad de que la variable no vale null.

Ejemplo:

var cadena:String? = null
println(cadena?.length)
Elvis Operator

Utilizaremos el operador Elvis para usar un valor por defecto en el caso de que la variable sea null.

Ejemplo:

val l = b?.length ?: -1
filterNotNull

Kotlin cuenta con muchas utilidades que nos simplifican el trabajo en relación a los punteros a null.Si no utilizamos Int? no permitiría introducir ningún valor de null dentro de la lista.

Ejemplo:

val listaConNulos: List<Int?> = listOf(3, 5, null, null, 8)
val listaEnteros: List = listaConNulos.filterNotNull()

Arrays de tipo primitivoKotlin permite utilizar Array y sus métodos de factoría, o bien, permite usar IntArrayDoubleArray y ShortArray.

Ejemplos:

val x: IntArray = intArrayOf(1, 2, 3)
val x: IntArray = IntArray(3) { it + 1 }

En definitiva, el lenguaje de programación Kotlin se compila con Java ya que a nivel de funcionalidad ambos lenguajes son equivalentes.

Sin embargo aporta numerosas ventajas que hacen frente a muchos de los problemas que presenta Java, convirtiéndolo así, en el lenguaje principal de Android.

¿Qué es Drupal?

Drupal es un Sistema de Gestión de Contenidos (CMS) libre y multipropósito.

Todos los módulos están orientados a la gestión de contenidos, pero son bastante personalizables.

Cuando no es posible desarrollar una web con WordPress porque falta potencia, se puede utilizar Drupal.

¿Qué es Wordpress?

WordPress es el CMS de PHP más utilizado a nivel internacional para el desarrollo de páginas web corporativas, blogs y cualquier página de información.

Tiene muchas herramientas para posicionar en Google de manera eficiente (SEO).

¿Qué es PHP?

PHP es uno de los lenguajes que originaron las aplicaciones web.

Se utilizó originalmente para poder llevar las páginas web a otro nivel de funcionalidad, en el que JavaScript estaba justo.

Se suele asociar el uso de PHP a la base de datos MySQL. Son dos tecnologías muy ligadas.

¿Qué es CMS?

CMS, es decir, Content Management System son plataformas orientadas a la gestión de contenidos.

Tienen una base estricta pero permiten bastante personalización, dependiendo del proyecto que se quiera desarrollar y el CMS elegido.

Frameworks y CMS de PHP

  • Symfony
  • Laravel
  • WordPress
  • Drupal
  • Joomla
  • Moodle
  • Magento
  • Prestashop

¿Qué es SQL?

SQL no es un lenguaje de programación, simplemente es un lenguaje estructurado que se utiliza para hacer consultas a las bases de datos más extendido.

Se usa tanto en bases de datos gratuitas como en bases de datos comerciales.

Bases de Datos basadas en SQL

  • MySQL
  • MariaDB (basada en MySQL)
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server
  • DB2

¿Qué es JavaScript?

JavaScript es un lenguaje con una sintaxis similar a Java, pero como lenguajes son muy diferentes.

Es un lenguaje de programación interpretado, orientado a objetos. Dota a las páginas web de funcionalidad.

Es un lenguaje que va actualizando sus versiones constantemente. Las versiones de JavaScript vienen marcadas por el estándar ECMA, por lo que dispone de muchas opciones.

Frameworks de JavaScript

  • Angular
  • ReactJS
  • VueJS
  • Ember
  • NodeJS
  • Polymer

¿Qué es Java?

El lenguaje de programación Javase desarrolla a partir de C.

Es un lenguaje que se ha usado ampliamente en la industria. Destacó a la hora de desarrollar aplicaciones que funcionaran en todos los Sistemas Operativos.

Durante muchos años, ha sido el lenguaje más demandado y utilizado.

Frameworks de Java

  • Spring: Permite crear aplicaciones web.
  • Spring Boot: Basado en Spring, permite hacer microservicios.
  • Hibernate: Permite utilizar bases de datos de una manera sencilla.
  • JSF (Java Server Faces): Se utiliza para crear interfaces de usuario en la web.
  • J2EE: Es un framework para crear aplicaciones web pero orientadas a la empresa (más seguridad, más control).

C, C++ y C# diferencias

C

C es el predecesor de los lenguajes C++C# y Java.

Es un lenguaje de nivel muy bajo por lo que se utiliza en dispositivos con muy pocas capacidades.

Actualmente solo se usa en entornos industriales.

C++

C++ es una evolución de C convirtiéndolo en un lenguaje más “amistoso”.

Tiene muchas similitudes con Java.

Actualmente se utiliza en el procesamiento gráfico o de la misma manera que C, en entornos industriales.

C#

C# fue creado por Microsoft a partir de C. Ha estado en constante evolución y mejora.

Es el lenguaje principal tanto para .NET como para .NET Core.

Se pude utilizar tanto para desarrollar aplicaciones de escritorio (.NET), como aplicaciones web (.NET y .NET Core) y aplicaciones móviles (Xamarin).

¿Qué es OSINT?

OSINT (Open Source Intelligence) es la Inteligencia de Fuentes Abiertas.

Se trata de información obtenida de fuentes abiertas y que está disponible para cualquier usuario sin restricciones de ningún tipo.

La información se puede obtener de diferentes fuentes como: blogs, foros, RR.SS, Open Data

¿Qué es una aplicación?

Una aplicación es una herramienta que permite a los usuarios realizar una tarea concreta o varias tareas.

Podemos pensar en la aplicación de Calendario de nuestro móvil, que se utiliza para organizar nuestro día a día. Otro ejemplo sería un navegador web, que nos permite acceder a páginas web de todo el mundo.

¿Qué es programar?

Programar es dar instrucciones a una máquina (un ordenador, un móvil, un dispositivo conectado a Internet, etc…) a través de un lenguaje que tanto el programador como la máquina entienden.

Existen muchos tipos de lenguajes que se pueden usar en diferentes ámbitos. Se acaban manifestando generando una aplicación, en la mayoría de casos.

¿Qué es Laravel?

Laravel es un framework de código abierto de PHP muy flexible para el desarrollo web, pero no tan complejo como Symfony.

A pesar de que podría considerarse la "versión pequeña" de Symfony, Laravel es el framework de PHP más popular.

¿Qué es Joomla?

Joomla es un Sistema de Gestión de Contenidos (CMS) muy similar a Drupal.

Aporta cierta flexibilidad a la hora de desarrollar un portal web.

Pero, de igual manera que le sucede a Drupal, cada vez se utiliza menos y esto puede deberse a varios factores:

  • Proliferación de nuevos lenguajes.
  • Complejidad del entorno.
  • Poca flexibilidad para grandes proyectos.
  • Cada vez hay menos programadores de PHP.

¿Qué es un sistema operativo?

Un Sistema Operativo es un sistema informático que gestiona el hardware del dispositivo.

Nos permite interactuar con elementos físicos clave, como pueden ser:

  • Entrada: Teclado, ratón y micrófono.
  • Salida: Pantalla y altavoces.
  • Almacenamiento: Disco duro y tarjetas SD.
  • Conectividad: tarjeta Wifi y Bluetooth.

¿Qué es un lenguaje de programación?

Un lenguaje es un conjunto de palabras que permiten a los desarrolladores dar órdenes al dispositivo.

Existen numerosos lenguajes de programación y dependiendo de la aplicación que se quiera crear, se deberán utilizar unos u otros.

Muchos lenguajes tienen varios propósitos, es decir, permiten crear varios tipos de aplicaciones. Además, para crear un tipo de aplicación son válidos varios lenguajes.

¿Existe un lenguaje perfecto?

No. La elección de un lenguaje suele depender de:

  • El tipo de aplicación que se quiera crear.
  • El conocimiento y la experiencia previa del equipo.
  • La dificultad de la aplicación que se quiera crear.
  • Los tipos de licencias y los costes de las mismas.

¿Qué perfiles forman el área de la Consultoría y la Seguridad?

El Área de Consultoría y Seguridad de una empresa está formado por 3 perfiles principales:

Abogado de Seguridad de la Información

Este perfil se encarga principalmente de establecer políticas internas, cláusulas contractuales y procedimientos que ayuden a preservar la seguridad de la empresa. En caso de que la empresa sufra un ataque es el encargado de la gestión jurídica del mismo.

Técnico de Seguridad de la Información

Las principales funciones del técnico son:

  • Desarrollo de protocolos criptográficos y herramientas de seguridad para la prevención de ataques.
  • Análisis y detección de amenazas de seguridad.
  • Supervisión del uso de archivos de datos y control de acceso.

Consultores en Seguridad de la Información

Por último, los consultores se encargan de:

  • Asesoramiento y supervisión de las medidas de seguridad de una empresa.
  • Elaboración de estrategias para mejorar dichas medidas.
  • Diseñar planes y protocolos para enfrentar posibles amenazas.
  • Realizar pruebas de seguridad.

¿En qué consisten las normas 27001, 27002 y SGSI?

27001

La ISO 27001 es una norma internacional de Seguridad de la Información que pretende asegurar la confidencialidadintegridad y disponibilidad de la información de una organización.

Define cómo planificar, implantar, verificar y controlar un Sistema de Gestión de Seguridad de la Información.

27002

La ISO 27002 es una norma que define una serie de buenas prácticas para la gestión de la Seguridad de la Información.

La diferencia con la ISO 27001 es que habla de la gestión de la información a nivel individual dentro de la organización.

SGSI

Son las siglas de Sistema de Gestión  de la Seguridad de la Información.

Es un conjunto de procedimientos para administrar la información de una empresa garantizando su confidencialidadintegridad y disponibilidad.

¿Qué es un técnico NOC?

Un Técnico NOC (Network Operations Center) se encarga de proteger a nivel de infraestructura la red y garantizan que no haya interrupciones en el servicio.

Monitorean a tiempo real la actividad que se lleva a cabo en la red.

¿Qué es un técnico SOC?

La responsabilidad de un Técnico SOC es proteger la red, webs, aplicaciones, BBDD, servidores y data centers.

Centralizan, monitorizan y priorizan los datos de seguridad de la red de una empresa.

Existen 3 niveles:

  1. Monotorización y análisis.
  2. Análisis profundo y respuesta.
  3. Expertos. Se encargan de la resolución de incidentes que necesitan de un nivel muy alto de expertise**.**

¿Qué es un hacker?

Un hacker se caracteriza por contar con un nivel muy alto de conocimientos de informática.

Accede de manera ilegal a sistemas informáticos ajenos y los manipula.

¿Qué es un pentester?

El término de pentester viene de Penetration Tester.

Se dedica a atacar diversos entornos con la intención de descubrir fallos de seguridad o vulnerabilidades, para así, poder prevenir futuros ataques.

¿Qué es el Red Team?

Hacking Ético

Es un equipo humano que se encarga de realizar ataques, controlados y sin causar daño real, para encontrar fallos en la estructura tecnológica de una empresa.

Normalmente se enfocan en un objetivo concreto definido por la empresa.

¿Qué es un Malware?

Un Malware o "Malicious Software" es un programa diseñado para infiltrarse en un sistema con el fin de dañar o robar datos e información.

Suele suplantar a aplicaciones reales o puede ser un complemento que pide instalarse.

¿Qué es un técnico de seguridad SIEM?

Un Técnico de Seguridad SIEM se encarga, principalmente, de prevenir amenazas.

Utiliza un sistema en tiempo real de análisis de alertas de seguridad generadas por las aplicaciones y el hardware de red.

¿Qué es Kali Linux?

KALI LINUX es un Sistema Operativo Linux orientado al hacking ético y al pentesting.

Está diseñada principalmente para la auditoría y seguridad informática en general.

Cuenta con un gran número de herramientas de código abierto para realizar pruebas de seguridad informática.

¿Qué es un técnico de seguridad en rededes?

Un Técnico de Seguridad en Redes se encarga del mantenimiento general de los equipos informáticos protegiéndolos de ataques o minimizando su repercusión.

¿Qué es un arquitecto de seguridad?

Un Arquitecto de Seguridad se encarga de crear estructuras de seguridad complejas para una empresa y garantizar su funcionamiento.

También se dedica a anticipar las actividades de los hackers.

¿Qué es un analista de ciberinteligencia?

Un Analista de Ciberinteligencia cuenta con conocimientos técnicos que le permite conocer la estructura y los modus operandi de los hackers.

Domina procedimientos, tanto operativos como estratégicos, de la inteligencia tradicional que aplica a la inteligencia informática.

¿Qué es la tecnología SIEM?

La tecnología SIEM, (Información de Seguridad y Gestión de Eventos), tiene como objetivo principal proporcionar una visión global de la seguridad de la tecnología de la información

Es capaz de detectar rápidamente, responder y neutralizar las amenazas informáticas antes de que lleguen a causar ningún daño.

¿Qué es un Firewall?

Un Firewall es uno de los primeros sistemas de protección informática.

Actúa como un filtro que discrimina los datos que deja pasar, o no, entre los dispositivos e internet.

Protege el tráfico entre los servidores.

¿Qué es la tecnología IPS?

La tecnología IPS, (Sistema de Prevención de Intrusos), es un software que lleva a cabo el control de acceso en un sistema informática para protegerlo de posibles ataques.

Monitoriza el tráfico de red de un sistema en busca de actividad maliciosa y se encarga de detenerla.

¿Qué es la tecnología Metasploit?

Metasploit es una herramienta muy completa que cuenta con numerosos exploits, es decir, vulnerabilidades conocidas, las cuales, a su vez, cuentan con unos módulos llamados payloads que son los códigos que explotan estas vulnerabilidades.

También dispone de encoders, es decir, códigos de cifrado para evasión de antivirus o sistemas de seguridad.

¿Qué es un WAF?

Un WAF es un Firewall de Aplicaciones Web.

Es un tipo de firewall que supervisa, filtra y bloquea el tráfico HTTP hacia y desde una aplicación web.

Puede filtrar el contenido de aplicaciones web específicas.