lunes, 29 de enero de 2024

Recomendaciones para aprender Cloud Computing

1. Cursos en línea: Plataformas como Udemy o Coursera ofrecen variedad de cursos acerca de Cloud Computing.


2. Certificaciones: Obtener certificaciones en plataformas de Cloud Computing (AWS, Azure, GCP...) pueden ayudar a destacar en el mercado laboral.


3. La documentación oficial de plataformas de Cloud Computing, pueden ser útiles para el aprendizaje de sus servicios y funcionalidades

4. Unirse a comunidades en línea permite aprender de expertos y desarrollar habilidades.

jueves, 25 de enero de 2024

AWS Lambda



AWS Lambda es un servicio en la nube basado en funciones que  ofrece un tiempo de desarrollo más rápido para aplicaciones .Elimina las necesidades de aprovisionamiento y mantenimiento de una infraestructura compleja física.

Permite ejecutar varias funciones simultáneamente; es decir, es posible ejecutar varias instancias de la misma función Lambda al mismo tiempo.

 Lambda puede utilizarse para:


1. Procesamiento de archivos en tiempo real después de una carga.

2. Procesamiento de datos de streaming en tiempo real para el seguimiento de la actividad de las aplicaciones.

3. Crear aplicaciones web combinando Lambda con otros servicios de AWS,

4. Gestionar solicitudes web, móviles, de IoT y de API de terceros.

martes, 23 de enero de 2024

Fundamentos de UX

Accesibilidad

La accesibilidad de un producto software es definida como la “posibilidad de que pueda ser accedido y usado por el mayor número posible de personas, indiferentemente de las limitaciones propias del individuo o de las derivadas del contexto de uso” (Hassan-Montero, Martín-Fernández; 2004). 

Si un diseño no es usable, no puede considerarse accesible, y viceversa. Recopilación Criterial (RC) consiste en la recolección de criterios relevantes a partir de la bibliografía sobre experiencia de usuario, seleccionándose componentes de los Principios del DCU, la Norma ISO 924-210 sobre el diseño de sistemas interactivos ligados a personas, las fases del Proyecto dentro del Modelo Iterativo de acciones del DCU, algunas de las metodologías ágiles más representativas y los elementos para el diseño de una Interfaz Global. Cada componente a su vez contiene subcomponentes que detallan estructuras y procesos (independientes) que hacen posible el cumplimiento de los objetivos. La clave está en la iteración de procesos independientes que apuntan a un objetivo común. Esta estructura iterativa permite el trabajo en paralelo y facilita tanto la evaluación como la depuración eficiente porque se concentra sólo en aquella sección con fallos sin afectar a todo el proceso


la arquitectura de una webapp describe una infraestructura que permite que un sistema o aplicación basados en web alcance sus objetivos empresariales.

Las aplicaciones deben construirse con el empleo de capas en las que se tomen en cuenta distintas preocupaciones; en particular, deben separarse los datos de la aplicación de los contenidos de ésta y éstos, a su vez, deben separarse con toda claridad del aspecto y la sensación de la interfaz (páginas).

Diversos autores sugieren una arquitectura del diseño en tres capas que desacopla la interfaz de la navegación y del comportamiento de la aplicación. Plantean que mantener separadas la interfaz, la aplicación y la navegación, simplifica la implementación y mejora la reutilización.


Uno de los trabajos de Nielsen que más influencia ha tenido ha sido “Evaluación heurística de las interfaces de usuario” (Heuristic Evaluation of User Interfaces), en el que desarrolla los principios heurísticos sobre los que construir una experiencia de usuario satisfactoria.


1. El objetivo del sitio web ha de identificarse inmediatamente

2. El visitante ha de saber siempre dónde está

3. Los visitantes han de identificarse con el sitio web

4. Los visitantes han de controlar la visita

5. La web ha de ser consistente y conforme a estándares

6. Hay que aprovechar el diseño para evitar errores o amortiguar sus consecuencias

7. El acceso a la información ha de ser lo más universal posible

8. La información ofrecida ha de ser relevante

9. La navegación ha de ser coherente

10. El usuario ha de poder pedir ayuda


sábado, 20 de enero de 2024

XaaS

 XaaS (Todo como servicio) es un modelo de computación en la nube que engloba cualquier servicio de TI entregado a través de Internet.

Categorías

AaaS: Autenticación

DaaS: Escritorio

DBaaS: Base de datos

DRaaS: Recuperación de desastres

CaaS: Contenedores

ITaaS: Tecnologías de la Información 

MaaS: Monitoreo

NaaS: Red

STaaS: Almacenamiento

UCaaS: Comunicaciones Unificadas

viernes, 19 de enero de 2024

Inbound Marketing

 Actualmente, el acceso a Internet para realizar transacciones ha convertido a los medios digitales en una herramienta útil para acercarse con los clientes potenciales.

El concepto de Inbound Marketing propone una estrategia para atraer a los clientes que las campañas publicitarias tradicionales de una manera menos intrusiva.

El objetivo principal del Inbound Marketing, es proveer contenido útil que ayude a los clientes a resolver sus necesidades.

Algunos recursos como los blogs informativos, proyectos educativos gratuitos, plantillas descargables, entre otros, son ejemplos de recursos donde es posible agregar valor de manera progresiva a los clientes.

El Inbound Marketing se basa en el concepto de proporcionar aquello que los clientes desean centrándose en aportar valor sin ser intrusivo. Esto hace que se realicen acciones mucho más segmentadas y eficaces por el hecho de estar más dirigidas.

 El Marketing de contenidos se define como una de las piezas clave en el campo del Inbound Marketing, puesto que este enfoque se caracteriza por ofrecer a los clientes lo que están buscando y entender que el consumidor es quien decide qué le interesa, cómo se informa y qué, cómo y cuándo compra. 

Inicialmente hay una gran cantidad de posibles clientes con los que contactar. Una vez contactados con ellos, tan sólo un grupo más pequeño quieren saber más sobre el producto o servicio en cuestión. Un embudo de ventas describe el viaje que hace el cliente desde el momento en que se contacta por primera vez con él hasta el momento en que realiza la compra.


miércoles, 17 de enero de 2024

Cloud Computing y Virtualización: Diferencias




La virtualización implica la creación de versiones virtuales de infraestructura de TI, tales  como sistemas operativos, servidores o recursos de red. La virtualización permite ejecutar múltiples máquinas virtuales en un solo equipo físico, facilitando el uso de recursos, ya que abstrae la capa de hardware del sistema operativo.

Por otro parte, la computación en la nube se refiere a la entrega de servicios de computación, como bases de datos, servidores, redes, software, entre otros, a través de internet. A diferencia de la virtualización, la nube no solo se centra en la virtualización de recursos, sino que también se trata de la provisión de servicios a través de una red, con la posibilidad de escalar recursos de forma dinámica y pagar solo por el uso que se hace de ellos.

En conclusión, la virtualización se centra en la abstracción de recursos de hardware, mientras que la computación en la nube amplía esta abstracción para incluir la entrega de servicios de Tecnología a través de internet.

domingo, 14 de enero de 2024

Diferencias entre GUI y CLI

 




CLI es la forma de palabra utilizada para la interfaz de línea de comandos mientras que GUI se utiliza para la Interfaz gráfica de usuario

CLI permite al usuario escribir un comando manual para realizar una tarea determinada, en GUI los usuarios proporcionan visuales para interactuar con el sistema operativo como botones, iconos, imágenes, etc.

Es fácil realizar una tarea en GUI y es aconsejable para usuarios más principiantes.

Para usar la CLI, el usuario debe dominar los comandos de la terminal, los errores ortográficos o gramaticales pueden ocasionar que un comando sea inútil.

Por otra parte, una GUI es muy fácil de utilizar y navegar, ya que, con poco conocimiento, cualquier usuario puede navegar por la interfaz.  





viernes, 12 de enero de 2024

Invertir cadena de texto en Python

 cad = input("ingresa una frase: ")

print(cad)

print("\n forma inversa: ")

def inversa(string):

    palabra = ""

    x = len(string)

    for i in range(x):

        palabra += string[x - 1]

        x -= 1

    return palabra

print(inversa(cad))

    

miércoles, 10 de enero de 2024

Vectores en C++

Escribir un programa que defina dos vectores de caracteres y almacene el 

contenido de ambos vectores en un nuevo vector, situando en primer lugar los elementos

del primer vector seguido por los elementos del segundo vector. Imprimir el contenido

del nuevo vector.


#include<iostream>

using namespace std;


int main(){

char letras1[] = {'a','b','c','d','e'};

char letras2[] = {'f','g','h'};

char letras3[10];


for(int i=0;i<5;i++){

letras3[i] = letras1[i]; 

}

for(int i=5;i<10;i++){

letras3[i] = letras2[i-5];

}

for(int i=0;i<10;i++){

cout<<letras3[i]<<endl;

}


return 0;

}


sábado, 6 de enero de 2024

DevOps

DevOps es un conjunto de prácticas que agrupan el desarrollo (Dev) y la operación del software (Ops). Se trata de un movimiento profesional que fomenta el trabajo colaborativo. Su objetivo es automatizar el ciclo de vida del desarrollo de software y reducir el tiempo de entrega.



Principios

Automatización: La automatización ayuda a reducir el tiempo y el esfuerzo necesarios para realizar tareas repetitivas y propensas a errores. La automatización es utilizada en todas las etapas del proceso de desarrollo de Software, desde la creación y las pruebas hasta la implementación y el seguimiento.

Monitoreo y retroalimentación: DevOps debe supervisar el rendimiento y la funcionalidad del software en producción. Los equipos pueden identificar y abordar rápidamente problemas y oportunidades de mejora utilizando la retroalimentación y los datos recopilados a través del monitoreo.

Cultura de mejora continua: DevOps promueve una cultura en la que los equipos están comprometidos a mejorar continuamente sus procesos, prácticas y habilidades.

Colaboración: DevOps requiere que los equipos de desarrollo y operaciones trabajen juntos. Ambos equipos trabajan juntos durante todo el ciclo de vida del desarrollo de software para garantizar que el software se entregue de manera rápida y con la calidad esperada.

Aprendizaje continuo: En la integración continua (CI), los desarrolladores fusionan su código en un repositorio compartido una vez al día. Esto ayuda a detectar y resolver problemas de integración durante los primeros pasos del proceso de desarrollo.

Servicio de entrega continuo: La entrega continua (CD), una forma adicional de integración continua, garantiza que el código siempre esté en un estado listo para implementarse en producción. La automatización de pruebas y procesos permite la entrega continua.


martes, 2 de enero de 2024

Integridad de los datos

 La integridad de los datos se refiere al mantenimiento de la precisión y la coherencia de los datos a lo largo de su ciclo de vida. Permite asegurar la validez y utilidad de la información. 

Uno de los principales riesgos para la integridad de los datos es la manipulación maliciosa por parte de personas no autorizadas, quienes puedan accede a la información y modificarla para obtener beneficios personales.

Sin embargo, es posible perder la corrección o la consistencia de los datos por diversos factores como: errores de programas, redundancia, errores de operación humana,  transacciones incompletas, daño de disco, etc.

Las reglas de integridad son un conjunto de normas que se aplican a una base de datos con el fin de garantizar la calidad y consistencia de los datos almacenados.


Tipos de Reglas de Integridad

 Reglas de integridad de entidad: Se utilizan para garantizar que cada entidad en una base de datos tenga una clave primaria única para evitar la duplicidad de datos y asegurando la identificación única de cada registro.

Regla de integridad de entidad de la clave primaria: Esta regla dispone que los atributos de la clave primaria de una relación no pueden tener valores nulos.

Reglas de integridad de Usuario: son reglas personalizadas que pueden ser definidas por el usuario para garantizar la integridad de los datos según sus necesidades específicas.