Inicio » Artículos publicados por Domingo Torrens

Archivo del Autor: Domingo Torrens

Programación Reactiva: En qué consiste.

¿Qué es la programación reactiva?

La programación reactiva es un paradigma de programación que se centra en la gestión de flujos de datos asíncronos, es decir, que cambian a lo largo del tiempo, en sistemas concurrentes y distribuidos. En lugar de tratar los datos como valores estáticos, la programación reactiva se enfoca en cómo reaccionar ante los cambios en el flujo de datos. Esto se logra mediante el uso de observables, que son secuencias de eventos que pueden ser creados, combinados y manipulados mediante operaciones como map, filter y reduce. Los observables permiten a los desarrolladores trabajar con flujos de datos de manera más intuitiva y declarativa. 

>> Cursos de Programación Reactiva

Ventajas de la programación reactiva

Una de las principales ventajas de la programación reactiva es que permite a los desarrolladores escribir código que es fácil de leer y mantener, ya que se basa en un conjunto de principios sólidos y bien definidos. Además de:

  1. Escalabilidad: La programación reactiva es muy adecuada para aplicaciones que necesitan manejar grandes cantidades de datos y conexiones concurrentes. La capacidad de procesar eventos asíncronos y en tiempo real permite a las aplicaciones responder de manera rápida y escalable ante un gran número de solicitudes.
  2. Resiliencia: Se enfoca en la tolerancia a fallos y la recuperación de errores. Esto facilita que pueda recuperarse de manera más rápida y eficiente ante fallos, lo que las hace más robustas y fiables.
  3. Modularidad: Promueve el desarrollo de aplicaciones modulares y desacopladas. Esto permite a los desarrolladores reutilizar y mantener el código de manera más eficiente.
  4. Flexibilidad: Es muy flexible y adaptable a diferentes entornos y plataformas. Los mismos patrones y abstracciones se pueden aplicar en diferentes lenguajes de programación y frameworks.
  5. Experiencia de usuario mejorada: Por último, la programación reactiva permite a las aplicaciones responder de manera más rápida y fluida ante las interacciones de los usuarios, lo que mejora la experiencia de usuario y aumenta el nivel de satisfacción.

programación reactiva

¿Cuándo podemos aplicar la programación reactiva?

La programación reactiva es especialmente útil en aplicaciones que necesitan manejar grandes cantidades de datos en tiempo real, como por ejemplo, aplicaciones de mensajería o de redes sociales. También es muy útil en aplicaciones que necesitan integrarse con sistemas externos, como bases de datos o servicios web, ya que permite a los desarrolladores construir sistemas que pueden adaptarse a cambios en tiempo real de manera eficiente.

Además, la programación reactiva también es útil, como hemos comentado anteriormente,  en aplicaciones que necesitan procesar grandes cantidades de datos de manera asincrónica, como las dedicadas al análisis de datos o procesamiento de transacciones. Esto se debe a que la programación reactiva permite a los desarrolladores escribir código que puede manejar grandes cantidades de datos de manera eficiente y sin bloquear el hilo principal de la aplicación.

En resumen, la programación reactiva es un enfoque de programación muy útil para aplicaciones que necesitan manejar grandes cantidades de datos en tiempo real, integrarse con sistemas externos o procesar grandes cantidades de datos de manera asincrónica.

 

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Team: Jorge López, Formador técnico en Icono Training Consulting.

Big Data: Cómo sacarle el máximo partido para tu negocio.

Los grandes conjuntos de datos o “big data”, se refieren a la cantidad masiva de información que se produce y se recopila a través de distintos canales, a medida que aumenta la conectividad en el mundo digital.

Estos conjuntos de datos pueden ser utilizados para una amplia variedad de propósitos en tu negocio como:

  • Mejorar la eficiencia empresarial
  • Optimizar la toma de decisiones aportando más información de valor.
  • Descubrir patrones y tendencias para aumentar las ventas en una empresa.

Sin embargo, el manejo de big data también plantea desafíos técnicos y éticos, ya que requiere herramientas y tecnologías especializadas para almacenar, procesar y analizar la información de manera efectiva. Para afrontar mejor estos retos, te mostramos las claves a tener en cuenta si quieres extraer el máximo valor a tu big data.

>> Formaciones en Big Data

Big Data

5 claves para sacar el máximo partido al Big Data de tu empresa.

    1. Identificar los objetivos de negocio: Antes de comenzar a trabajar con los datos, es importante tener claro cuáles son los objetivos de negocio que se quieren alcanzar con su uso. Esto ayudará a definir qué tipo de datos son relevantes y cómo deben ser analizados.
    2. Recopilar y almacenar los datos de manera organizada: Para poder trabajar de forma efectiva con los datos, es importante que estén organizados y almacenados de manera adecuada. Esto puede incluir la creación de una base de datos o el uso de herramientas de análisis de datos especializadas.
    3. Limpiar y preparar los datos: A menudo, los datos recopilados pueden estar incompletos, inexactos o desorganizados. Es importante dedicar tiempo a limpiarlos y prepararlos para su análisis, eliminando errores y duplicados y asegurando que estén en un formato consistente.
    4. Analizar los datos: Una vez que se han preparado adecuadamente, los datos deben ser analizados para extraer información valiosa. Esto puede incluir el uso de técnicas de análisis de datos como el análisis de tendencias, la segmentación de clientes o la predicción de resultados futuros.
    5. Implementar los resultados del análisis: Una vez que se han obtenido resultados del análisis de los datos, es importante implementar las acciones necesarias para aprovechar al máximo su potencial. Esto puede incluir la creación de nuevos productos o servicios, la optimización de procesos de negocio o la personalización de la experiencia del cliente.

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Team: Jorge López, Formador técnico en Icono Training Consulting.

Diferencias entre el proceso ETL y ELT.

En la actualidad, las empresas tienen que hacer frente al análisis de distintos tipos de datos muy diversos, desde bases de datos relacionales, que tienen una estructura muy definida, hasta datos no estructurados como imágenes, vídeos o incluso tweets. Principalmente podemos diferenciar dos procesos a la hora de integrar los datos, el proceso de ETL y el proceso de ELT.

En ese sentido, la forma en la que integramos los datos en nuestro sistema de gestión de base de datos es muy diferente según:

  • El tipo de dato con el que estamos trabajando
  • La arquitectura en la que lo vamos a hospedar
  • La información que queremos extraer de los mismos 

En qué consiste el proceso ETL

El proceso de ETL incluye los pasos de extracción, transformación y carga. Existen muchas herramientas enfocadas a ejecutar este proceso y principalmente se utiliza cuando trabajamos con datos que vamos a guardar en un histórico. Recogemos datos de múltiples fuentes y los almacenamos para dar respuestas en un futuro.

En este caso, los pasos se ejecutan en el siguiente orden:

  1. Primero extraemos los datos de nuestras fuentes de datos.
  2. Después los transformamos para que se ajusten al esquema que nosotros necesitamos. 
  3. Por último, los cargamos sobre nuestras bases de datos para empezar a consultarlos, analizarlos y construir modelos con ellos. 

Este orden a la hora de ejecutar el proceso hace que destinemos tiempo a la etapa de transformación, para finalmente cargar los datos ya limpios en un datawarehouse, un tipo de almacén mucho más estructurado.

 

proceso etl y elt 

En qué consiste el proceso ELT

Con la aparición de los datos en streaming y la necesidad de ofrecer respuestas mucho más rápidas, ha surgido el proceso ELT. En este caso, el proceso cambia un poco:

  1. Lo que primero hacemos previo a la transformación de los datos, es la carga de los mismos en nuestros sistemas.
  2. Una vez los datos están cargados, empezamos a dar respuestas rápidas que nos ayudan a hacernos una idea de la información que tenemos y dar respuestas a eventos prácticamente en tiempo real.
  3. Después del proceso de carga, efectuamos las transformaciones necesarias para dejar los datos en el formato que queremos y poder realizar otros tipos de análisis.

De esta forma, hemos definido ambos procesos y visto el uso que podemos darle a cada uno de ellos. La implementación de uno u otro dependerá de los objetivos que tengamos y las características de nuestra arquitectura, aunque normalmente las empresas optan por utilizar ambos procesos, ya que se construyen arquitecturas híbridas donde se dan respuestas en tiempo real a la vez que se almacenan los datos en un histórico para dar respuestas con un análisis mucho más profundo.

 

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Team: Jorge López, Formador técnico en Icono Training Consulting.

Metodología Scrum y la importancia del Scrum Master.

Scrum es una metodología ágil para la gestión de proyectos de software. Fue desarrollada para abordar la complejidad y la incertidumbre que generan este tipo de proyectos y es ampliamente utilizada en una gran variedad de industrias.

La metodología Scrum se basa en un enfoque iterativo e incremental para el desarrollo de productos, donde el equipo trabaja en pequeños “sprints”, como se nombran a los periodos de tiempo de trabajo establecidos, para completar tareas y mejorar continuamente el producto. Scrum también se centra en la comunicación constante y la colaboración entre los miembros del equipo, el cliente y otras personas implicadas en el proyecto.

Los descubrimientos y aprendizajes obtenidos durante el desarrollo de cada sprint, son incorporados en el siguiente, permitiendo al equipo adaptarse y mejorar continuamente. Esto permite una mayor flexibilidad y rapidez para responder a los cambios en los requisitos del producto y en el entorno de negocio.

Descubre más información sobre nuestro curso de Scrum Manager.

 

Scrum

Beneficios de Scrum

En resumen, la metodología Scrum sirve para:

  1. Mejorar la eficiencia y la efectividad del equipo de desarrollo.
  2. Fomentar la colaboración y la comunicación constante entre los miembros del equipo y otros interesados.
  3. Adaptarse y responder a los cambios en los requisitos del producto y en el entorno de negocios.
  4. Entregar productos de alta calidad y valor al cliente.
  5. Mejorar la satisfacción del equipo y la motivación.

Scrum Master y su importancia. 

El Scrum Master es un perfil clave en la metodología Scrum y desempeña un papel crítico en el éxito del proyecto. Algunas de las responsabilidades y tareas comunes del Scrum Master incluyen:

  1. Guiar y apoyar al equipo en la aplicación de la metodología Scrum: El Scrum Master es responsable de asegurarse de que el equipo entienda y siga los valores, principios y prácticas de Scrum.
  2. Fomentar la colaboración y la comunicación: Trabaja para garantizar que todos los miembros del equipo se comuniquen de manera efectiva y trabajen juntos para lograr los objetivos del proyecto.
  3. Facilitar el proceso de Scrum: Lidera reuniones de planificación, revisión y retrospectiva y ayuda a asegurar que el equipo siga los procesos y prácticas establecidos en la metodología.
  4. Remover obstáculos: El Scrum Master es responsable de identificar y resolver cualquier obstáculo que impida el progreso del equipo y ayudar a mantener el enfoque en la entrega del producto.
  5. Proteger al equipo: Defiende al equipo de cualquier interferencia externa que pueda distraerlos o interferir en su capacidad para entregar el producto.
  6. Mejorar la práctica de Scrum: El Scrum Master es responsable de evaluar y mejorar continuamente la aplicación de la metodología Scrum en el equipo y en el proyecto.

En resumen, el Scrum Master es un líder de equipo y facilitador que trabaja para garantizar el éxito del proyecto al aplicar efectivamente la metodología Scrum.

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Team: Redacción Icono Training Consulting.

10 Medidas para la protección de datos en el uso de aplicaciones.

La protección de datos es algo a la orden del día, ya que todos somos usuarios de apps y RRSS, las cuales, tienen muchos de nuestros datos personales e información confidencial en su sistema. Te contamos 10 cosas básicas que puedes hacer para proteger tus datos cuando vas a instalar y hacer uso de estos servicios.

Además, si quieres formarte en protección de datos y ciberseguridad, puedes informarte sobre los cursos que tenemos disponibles en Icono.

1. Utilizar contraseñas fuertes

Una combinación que puedas memorizar fácilmente, pero que no tenga sentido sintáctica, semánticamente, o socialmente (como las fechas de nacimiento, acontecimientos importantes, nombres de familiares etc que se utilizan normalmente). Además, una contraseña fuerte debe tener más de 10 caracteres e incluir mayúsculas, números y caracteres especiales ($%&@€ etc…)

2. Establecer una rotación de contraseñas

Al menos una vez al año, o en el caso de ser una información importante, con mayor frecuencia, debemos cambiar las contraseñas para evitar que las que llevan mucho tiempo puedan haber sido reveladas en algún ciberataque a servicios que a veces, ni recordamos que los teníamos.

3. Establecer varios niveles de contraseñas de servicios

El criterio para estos niveles debe ser en función de la importancia de los datos que compartimos con esa app, y debemos usar diferentes tipos de contraseña para cada nivel. A veces tendemos a tener la misma contraseña para todo, pero no toda la información es igual de importante, por lo que conviene, en caso de repetir, usar varios niveles de contraseñas distintos. Por ejemplo, una categoría de contraseñas bancos, seguros, etc… otra categoría redes sociales y otra categoría administraciones públicas y salud.

4. Usar mecanismos de doble autenticación (MFA)

Todavía hay muchas personas que ignoran la recomendación de usar una doble autenticación, y esto es básico para evitar el secuestro/robo de cuentas. Consiste en activar un segundo nivel de acceso a las cuentas usando un mecanismo que sólo tenemos nosotros en nuestro poder: Una aplicación móvil de tokens, o incluso llaves físicas que se pueden adquirir en tiendas. Para algunos usuarios menos avanzados esto puede ser complicado, pero existen mecanismos más fáciles de habilitar, como que nos manden un código al móvil en el momento de conectar, o la autenticación por biometría que ofrecen algunos dispositivos móviles como huella dactilar o reconocimiento facial.

5. No acceder a nuestras páginas o apps de servicios desde puntos de acceso no confiables

Por ejemplo wifis gratis de centros comerciales, hoteles, etc. A veces una wifi-free puede ser un honeypot (bote de miel) para cazar datos de usuarios.

 

protección de datos

6. Conocer los mecanismos de recuperación de cuentas

Generalmente existe la posibilidad de recuperar una contraseña perdida o robada mediante una verificación por mail, o por preguntas de control. En caso de que el proveedor ofrezca este último mecanismo, no usar respuestas obvias, sino respuestas como si fueran contraseñas y guardarlas en sitio seguro. Por ejemplo, ¿Cómo se llama mi pareja? respuesta: XF@J76 Esto evitará que nos apliquen la ingeniería social para robarnos una cuenta.

7. Verificar los mecanismos de protección de datos que usa nuestro proveedor

Es una de las cosas que menos se hace, pero antes de depositar nuestra confianza en un proveedor de servicios que va a guardar documentos o información importante nuestra, deberíamos de comprobar si cumple las normativas gubernamentales (GDPR), de la industria, como estándares de seguridad (PCI-DSS para la industria de tarjetas de pago, etc…), y también, mecanismos básicos como la encriptación de los datos en reposo y de las comunicaciones punto a punto, redundancia de los datos, etc… Esta información de cumplimiento de estándares de seguridad y resiliencia debe ser facilitada por el propio proveedor en su web.

8. Estar informado sobre los ataques phising

El robo de cuentas mediante phising está a la orden del día y es básico tener cuidado con enlaces no confiables en mails, sms, WhatsApp etc, pero aún así cada día son más sofisticados y es fácil que “piquemos” si no estamos informados de los trucos que se utilizan.

9. Mantener copias de seguridad de nuestros documentos

Aparte de la seguridad, debemos ser previsores ante un posible desastre y la consiguiente pérdida de nuestros datos. Si el proveedor ofrece la opción de copias de seguridad de uno u otro modo (dispositivos locales, terceros con seguridad equivalente etc…) debemos aprovecharlo para activar ese plan de contingencia.

10. Por último, conocer nuestros derechos

La AEPD (Agencia Española de la Protección de Datos) nos expone los derechos que tiene un usuario sobre el tratamiento de su información que básicamente son:

    • Reclamar a cualquier empresa la información sobre para qué se usarán sus datos y conocer quién tiene acceso a ellos.
    • El derecho a una rectificación de sus datos cuando sean incorrectos o incompletos.
    • Y revocar su consentimiento u oponerse a que mantengan dicha información o incluso sea suprimida, por motivos personales o querer evitar el marketing.

 

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Team: Pedro López, Formador en Icono Training Consulting.

Leetcode: Cómo conseguir trabajo de desarrollador.

Tanto si te han seleccionado para realizar una entrevista para un puesto de trabajo como desarrollador, como si estás buscando un programador para tu empresa, debes conocer Leetcode.

Se trata de una herramienta que te ayudará a evaluar tus habilidades de codificación y a practicar previamente a la entrevista. A su vez, también facilita a los reclutadores una forma de demostrar los conocimientos de sus candidatos a través de pruebas técnicas.

En este artículo, te explicaremos todo lo que necesitas saber sobre las entrevistas de Leetcode, desde qué esperar hasta cómo prepararte. Así que sigue leyendo y no dejes que los nervios te dominen: ¡supera esa entrevista y consigue ese trabajo!

Qué es Leetcode y por qué es importante.

Leetcode es una herramienta muy importante a la hora de poder prepararte para una entrevista de trabajo. Es una plataforma web, que no necesita de ninguna instalación, en el que puedes practicar problemas de codificación y recibir comentarios sobre tus soluciones.

Leetcode te permite mostrar tus habilidades de codificación en un entorno real. Los entrevistadores te pedirán a menudo que resuelvas problemas de Leetcode, así que es esencial que te sientas cómodo con la plataforma. Hay más de 340 problemas planteados en este site, así que hay mucho material para ayudarte a practicar.

Ventajas de Leetcode

  • Una de las grandes ventajas de Leetcode es que posee una gran comunidad que ofrece muchos recursos en línea para poder ayudarte si te quedas atascado con la resolución de algún problema.
  • Soporta multitud de lenguajes por lo que la mayoría son compatibles con las más de 1800 preguntas que contiene.
  • Ofrece estadísticas de tus resultados, como comparativas de la velocidad de codificación.
  • Existen concursos y retos para desarrolladores que te permiten mejorar tus habilidades.

 

Leetcode

Cómo preparar tu entrevista

Has conseguido una entrevista con una empresa tecnológica de primer nivel gracias a tu impresionante perfil de Leetcode. ¿Y ahora qué?. La clave para superarla es la preparación. A continuación te damos algunos tips:

Recomendaciones para preparar tu entrevista en Leetcode:

  1. En primer lugar, tómate un tiempo para conocer la empresa y el puesto para el que te vas a entrevistar. Esto te ayudará a adaptar tus respuestas y a ser más relevante y específico.
  2. A continuación, investiga las preguntas más comunes que se hacen en las entrevistas de Leetcode y prepare respuestas sólidas para todas ellas.
  3. Practica las respuestas a estas preguntas en voz alta para que suenes seguro y natural cuando llegues a la entrevista.
  4. Por último, familiarízate con los retos de codificación de Leetcode. No intentes resolverlos todos, ¡es imposible!, pero entiende los conceptos y cómo abordarlos. Esto te ayudará a aumentar tu confianza y a demostrar al entrevistador que sabes lo que haces.

Consejos para responder a las preguntas de Leetcode:

Ahora que ya sabes qué es Leetcode y los tipos de preguntas que te pueden hacer, es el momento de dar algunos consejos sobre la mejor manera de responderlas.

  1. En primer lugar, tómate siempre tu tiempo para responder a las preguntas. Si te precipitas, sólo conseguirás cometer errores.
  2. Asegúrate de leer la pregunta con atención y que la entiendes perfectamente antes de empezar a codificar. Si no estás seguro de algo, no tengas miedo de pedir una aclaración.
  3. Por último, ¡practica, practica, practica!. Cuantas más preguntas hagas, mejor será tu capacidad para resolverlas con rapidez y eficacia.

Siguiendo los consejos de esta guía, estarás en el buen camino para conseguir el trabajo de tus sueños. ¡Empieza a practicar hoy mismo y estarás listo para triunfar en tu próxima entrevista!

 

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Team: Jorge López, Formador técnico en Icono Training Consulting.

Qué debes aprender para ser un auténtico Data Scientist.

El Científico de Datos o Data Scientist es un perfil profesional que tiene la responsabilidad de traducir los grandes volúmenes de datos disponibles, (conocidos como Big Data), en información de valor que ayude a la toma de mejores decisiones, por eso te vamos a ayudar a conocer qué debes aprender para convertirte en un auténtico data scientist.

Qué tiene que saber un Data Scientist.

Trabajar como Data Scientist requiere de amplios conocimientos matemáticos y estadísticos. Además, se deben de dominar los principales lenguajes de programación, software estadístico y herramientas propias del Big Data y el Machine Learning. También es necesario saber gestionar las bases de datos de las que se va a extraer la información, así como herramientas de visualización que nos ayuden a representar los resultados obtenidos de una forma más gráfica.

La ciencia de datos se encuentra dentro del ámbito de las tecnologías de la información y comparte muchos puntos en común con las diferentes áreas, por eso, los conocimientos deben ser amplios y variados.

data science

Qué debe aprender un Data Scientist

Una vez sentadas las bases de lo que debe saber un profesional que se quiera desarrollar con Data Scientist, podemos establecer un itinerario formativo con los lenguajes, técnicas y herramientas imprescindibles que tendría que aprender.

Con nuestro curso sobre Data Science podrás conocer estas soluciones de una manera profesional y escalable. También podrás apoyarte en otros cursos más especializados que te ayuden a conocer toda la suite de herramientas que necesita conocer un científico de datos. Sólo tienes que preguntarnos y te ayudaremos a crear tu itinerario.

 

Lenguajes de programación

 

PYTHON

Es uno de los lenguajes más utilizados en proyectos de ciencia de datos debido a su fácil manejo, velocidad y versatilidad. Además, puede utilizarse con herramientas propias del Big Data, como es el caso de Spark. También tiene otras muchas aplicaciones, pudiéndose utilizar en en ámbito de la Ciberseguridad y creación de Videojuegos. Esto ha hecho que se convierta en uno de los lenguajes mas utilizados y demandados dentro del sector.

Curso de Programación Python
Curso de desarrollo en Big Data con Python

 

R

R es un lenguaje específico que se utiliza para la estadística y el análisis de datos. Está adaptado para este propósito, por lo que es más complejo y se necesitan de unos mayores conocimientos previos para conseguir manejarlo de forma correcta.

Os recomendamos un recurso gratuito donde poder practicar con este lenguaje: RPubs, un servidor con cientos de ejercicios y prácticas para R en todos los idiomas. En el puedes buscar aquellos problemas relacionados con lo que quieras trabajar y ejemplos de código compartido por la comunidad.

data scientist

 

Gestión de bases de datos

En tu trabajo como Data Scientist necesitarás crear bases de datos a partir de la información extraída de tu proyecto. Estos datos serán principalmente de dos formas, estructurados o no estructurados. Por ello, es recomendable que conozcas los dos lenguajes principales con los que se gestionan estas bases de datos.

 

SQL

SQL es un lenguaje de computación que te permite trabajar con conjuntos de datos y las relaciones entre ellos. Se utiliza para la creación, gestión y consulta de bases de datos estructuradas. Es el lenguaje utilizado por los programas de bases de datos relacionales y a diferencia de otros, SQL es fácil de leer y entender, incluso para un usuario inexperto.

SQL Server es uno de los principales sistemas de gestión de este tipo de bases de datos por lo que aprender su uso te ayudará a gestionarlos sin complicaciones.

Puedes encontrar ejercicios y prácticas oficiales en el repositorio de github de Microsoft Learning, que te pueden ayudar a empezar a familiarizarte con este lenguaje.

 

MONGO DB

Hoy en día se genera mucha información de tipo no estructurado, por lo que aprender un lenguaje NoSQL es también un imprescindible para esta profesión. En este caso, es ideal conocer el uso de Mongo DB, un sistema de base de datos NoSQL fácil de usar, flexible y muy utilizado en el mercado.

También hay otras herramientas de cloud computing como Azure CosmosDB, que facilitan el uso de estos sistemas orientados a trabajar con este tipo de bases de datos como son Mongo DB o también uno muy común, Cassandra, y permite ejecutarlos a la vez en un mismo programa.

 Curso Bases de datos NoSQL y mongo DB

 

MACHINE LEARNING

El Machine Learning es una rama de la inteligencia artificial que permite la creación de modelos automatizados para el análisis de datos y la generación de predicciones y clasificaciones. En este caso, el científico de datos necesitará dominar el uso de las herramientas y los principales modelos de ML para poder automatizar sus decisiones y generar modelos con mayor capacidad predictiva.

Tampoco hay que olvidar que el data scientist es el que se encarga de ofrecer unos resultados que pueden ayudar a la toma de decisiones. En ese sentido, el uso de herramientas de visualización puede ayudar a que el cliente perciba mejor la información que le estamos tratando de transmitir, por ello, conocer herramientas como Power BI, Tableu o Qlik, te facilitan la representación gráfica y, por tanto, más atractiva de los resultados finales.

 

ÚNETE A LA COMUNIDAD DE DATA SCIENTIST

Por último, os dejamos un recurso gratuito que puede resultar interesante: Kaggle

Kaggle es una plataforma web que reúne la comunidad Data Science más grande del mundo. En ella los usuarios ponen en común su código, discuten y colaboran en proyectos conjuntos (competiciones). Puede ser muy útil como una fuente para obtener las bases de datos sobre las que trabajar a la vez que compartir en ella tus dudas y proyectos con el resto de integrantes de la comunidad.

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Team: Jorge López, Formador técnico en Icono Training Consulting.

Azure ML Studio y KNIME: Soluciones machine learning sin código

Muchos de nosotros tenemos la concepción de que para construir modelos de machine learning se necesita saber programar, sin embargo, ya es posible hacerlo sin conocer ningún lenguaje de programación.

Existen múltiples soluciones que permiten el desarrollo de modelos de predicción sin escribir una sola línea de código. En este vídeo hablamos de dos plataformas con las que podemos beneficiarnos de las ventajas del machine learning sin código: Azure Machine Learning Studio y KNIME.

Azure Machine Learning Studio y KNIME

Microsoft Azure ML Studio es una solución muy potente que permite construir e implementar rápidamente modelos de aprendizaje automático y se puede integrar con otros recursos de Azure, el servicio cloud de Microsoft. Es una herramienta drag-and-drop que se basa en la construcción de modelos definiendo tan solo canalizaciones, es decir, flujos de trabajo ejecutables que permiten tareas de aprendizaje automático. Existen multitud de nudos que se encargan de tareas diversas y al conectarlos entre ellos pueden constituir un modelo de machine learning de principio a fin.

El único inconveniente de esta herramienta es que Azure necesita de una suscripción mensual, lo cual en ocasiones puede resultar costoso. Por ello, presentamos una opción gratuita que puede darnos una solución alternativa. Es KNIME, un programa de software libre que posee muchas de las funcionalidades que nos ofrece Azure ML Studio y cuenta con una versión totalmente gratuita. De igual forma que la solución anterior, nos permite construir modelos de machine learning desde una interfaz interactiva y fácil de usar. Cuenta con la posibilidad de conectarse a múltiples fuentes de datos pudiendo así, unificar datos provenientes de distintas BBDD, archivos y servicios web diversos como Azure, etc. con muy poco esfuerzo.

Te explicamos cómo funcionan en el siguiente video:

 

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Team: Jorge López, Formador técnico en Icono Training Consulting.

Entrega de los V Reconocimientos de Buenas Prácticas en Gestión de la Diversidad de CONVIVE Fundación Cepaim

Icono participa en la entrega de los V Reconocimientos de Buenas Prácticas en Gestión de la Diversidad de CONVIVE Fundación Cepaim

Este jueves, 17 de noviembre, como cada año, asistimos a los V Reconocimientos de Buenas Prácticas en Gestión de la Diversidad que entrega CONVIVE Fundación Cepaim. La Facultad de Filología de la Universidad Complutense de Madrid ha sido el escenario en el que la Dirección General de Atención Humanitaria e Inclusión Social de la Inmigración, La casa de Carlota, Pnitas, Amal Diversa, English World Center, Sentir el Alto Tajo y la Escuela Oficial de Idiomas Do mundo Lume han recogido los premios que reconocen su labor en gestión de la diversidad en sus entornos profesionales.

El acto se ha celebrado en el marco del proyecto “Gestión de la Diversidad en entornos profesionales”, una iniciativa que desde CONVIVE Fundación Cepaim vienen desarrollando desde hace más de 15 años con la financiación de DG de Atención Humanitaria e Inclusión de la Inmigración del Ministerio de Inclusión, Seguridad Social y Migraciones y cofinanciado por la Unión Europea. “Se trata de un proyecto que tiene como objetivo poner en valor el trabajo desarrollado por administraciones públicas, pymes, personas autónomas y organizaciones sociales comprometidas con la creación de entornos profesionales más diversos e inclusivos, así como servir de modelo para otras entidades que empiezan a apostar por la gestión de la diversidad” ha detallado la coordinadora del proyecto, Rosa Miguel, durante la jornada.

Esta V edición de los Reconocimientos de Buenas Prácticas en Gestión de la Diversidad han girado en torno a cinco categorías: cultura organizativa, comunicación, cadena de valor, plantilla y clientela / personas beneficiarias, además, por segundo año consecutivo se ha entregado un reconocimiento extraordinario bajo el título: Faro de Alejandría, otorgado a la Dirección General de Atención Humanitaria e Inclusión Social de la Inmigración.

En estos reconocimientos, Icono Training Consulting entregó el premio en la categoría de Clientela/ Personas Beneficiarias, a dos entidades: Sentir el Alto Tajo, una entidad dedicada a la creación de espacios de ocio y vacacionales inclusivos y accesibles a todas las personas y a la Escuela Oficial de Idiomas Do mundo Lume, por su proyecto específico de enseñanza del español para personas migrantes en proceso de alfabetización.

 

Reconocimiento a las buenas prácticas en gestión de diversidad

 

Mesa Redonda: “Empresas y entidades comprometidas con la inclusión y la gestión de la diversidad”

Durante el desarrollo del evento, ha tenido lugar la mesa debate “Empresas y entidades comprometidas con la inclusión y la gestión de la diversidad”, donde ha participado nuestra Directora de Formación, MªLuz Salgado. Este espacio, moderado por la Directora de la Unidad de Inclusión y Diversidad de la UCM, Ana Laura Rodríguez, se ha debatido sobre ejemplos concretos de entidades que ya están trabajando por la diversidad.

Mª Luz Salgado, ha puesto de manifiesto que la gestión de la diversidad es más una cuestión de actitud que económica, un aspecto muy interesante para las pequeñas entidades como la suya:

Hablar de tecnología es hablar de inclusión y diversidad por lo que nuestra filosofía va en línea con estos principios. Trabajamos con personas y creemos en el talento en estado puro, sin barreras, por lo que nos preocupamos por facilitar la creación de un entorno diverso, equitativo e inclusivo para nosotros y nuestros clientes”.

También destacó una de las medidas más positiva que hemos podido poner de manifiesto con nuestros clientes y es que:

“Gracias a la tecnología que utilizamos hacemos accesible la formación y hemos podido llegar a personas con diversidades funcionales que de otra manera habría sido casi imposible. De esta forma, eliminamos barreras hacia la capacitación igualitaria”.

Por último, con respecto al mayor obstáculo que nos encontramos en las empresas a la hora de trabajar la inclusión, y lo que a la vez, es uno de los mayores retos que nos planteamos, es la diversidad generacional inherente de una empresa y una mejora de la coexistencia entre los perfiles profesionales de diferentes edades. Ayudando a disminuir esa brecha a través de la adecuada formación en nuevas tecnologías.

Reconocimiento a las buenas prácticas en gestión de diversidad

Finalmente, el director general de CONVIVE Fundación Cepaim, Juan Antonio Segura, ha realizado un balance de estos 5 años de entregas de Reconocimientos de Buenas Prácticas en Gestión de la Diversidad y ha convocado a todas las entidades a concurrir en la próxima edición de los reconocimientos que tendrá lugar en el año 2023.

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

Arquitectura monolítica frente a la arquitectura de microservicios

Es posible que hayas oído hablar de los términos “arquitectura monolítica” y “microservicios“, pero, ¿qué significan y en qué se diferencian?. Ambos enfoques tienen sus pros y sus contras, pero ¿cuál es el más adecuado?. En este artículo, analizamos en detalle la arquitectura de microservicios y la arquitectura monolítica con el objetivo de conocer cuál es la más adecuada para nuestro caso de uso.

Arquitectura monolítica vs arquitectura de microservicios

Según el diccionario, un monolito es una estructura sólida y compacta. De esta definición se desprende que una arquitectura monolítica es aquella en la que todos los componentes de la aplicación están integrados en un solo bloque. En pocas palabras, una arquitectura monolítica consiste en una única aplicación de software que realiza todas las funciones del sistema. 

En cambio, una arquitectura de microservicios está formada por un conjunto de servicios independientes los unos de los otros. Cada servicio tiene su propia lógica, y se comunica con otros servicios a través de dependencias definidas previamente por el usuario. De esta manera, la implementación con microservicios, constituye una colección de pequeños servicios que funcionan juntos para lograr un objetivo específico.

Ver nuestro curso de Spring con microservicios.

Ver nuestro curso de Docker, Kubernetes y Microservicios.

arquitectura de microservicios

Ventajas e inconvenientes de las arquitectura monolítica vs arquitectura de microservicios

Cuando se trata el debate de la aplicación monolítica frente a la arquitectura de microservicios hay pros y contras para ambas opciones, pero al final, todo se reduce a lo que funciona mejor para tu equipo y tu proyecto.

Arquitectura monolítica

Con una arquitectura monolítica:

  • Todo el código se agrupa en un único lugar. Esto facilita la gestión porque no hay que preocuparse de todas esas molestas dependencias que pueden causar problemas en el futuro.
  • Son difíciles de escalar y pueden ser difíciles de mantener. Cada cambio que se realiza en ellas tiene el potencial de romper todo el sistema ya que todo está estrechamente integrado, y un error puede tener consecuencias de gran alcance.
  • Suele ser difícil de depurar, como todo ocurre en un único lugar, es complicado averiguar de dónde viene el problema.

Arquitectura de microservicios

La arquitectura de microservicios:

  • Es más flexible y puede adaptarse a los cambios en el negocio más fácilmente.
  • Los servicios pueden ser escalados de forma individual, lo que permite maximizar el rendimiento de la aplicación.
  • Cada servicio individual puede desarrollarse y desplegarse de forma independiente. Esto los convierte en una gran opción para el desarrollo ágil, ya que se puede iterar rápidamente y desplegar actualizaciones con mayor frecuencia. Además, si necesitamos añadir más capacidad, sólo tenemos que agregar más instancias del mismo servicio, y como cada servicio está desacoplado de los demás, es menos probable que surjan problemas cuando se realicen cambios. 

Entonces: 

¿Cuándo se utiliza una arquitectura monolítica y cuándo una arquitectura de microservicios?

La aplicación de una arquitectura u otra va a depender siempre del proyecto que se vaya a realizar, pero vamos a nombrar algunas pautas generales:

Si tienes un proyecto pequeño con un número limitado de miembros en el equipo, probablemente te pueda valer hacer uso de una arquitectura monolítica. Pero tanto si tu proyecto es más grande o complejo, como si tienes la necesidad de escalar rápidamente, entonces necesitarás usar los microservicios.

Otra cosa que hay que tener en cuenta es que, los microservicios son mejores para proyectos que cambian y evolucionan constantemente. Así que si estás desarrollando algo que va a ser constantemente actualizado y adaptado, entonces, los microservicios son la mejor elección.

Por lo que, teniendo todos estos puntos en cuenta, ya podrás responder a la pregunta, ¿ qué arquitectura tengo que utilizar ?. Y si aún te queda alguna duda, puedes contactarnos y te ayudaremos a encontrar la solución que mejor se adapte a tu proyecto.

Para conocer todas nuestras novedades suscríbete a nuestra newsletter .También puedes seguirnos en nuestras redes sociales:

"Este sitio web utiliza cookies -propias y de terceros- para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y de nuestra política de cookies, pudiendo acceder al siguiente enlace política de cookies para más información"

ACEPTAR
Aviso de cookies