¿Qué son las Ciencias Computacionales y en qué se diferencian de la Ingeniería de Software?

Imagen
 En esta entrada del blog voy a compartir lo que yo entiendo como Ciencias Computacionales y su diferencia con la Ingeniería de Software. Cuando alguien escucha Ciencias Computacionales , muchas veces piensa: “Ah, eso es programar apps”, pero no. Es mucho más que eso. En este artículo voy a explicarlo sencillo, sin palabras complicadas. ¿Qué son las Ciencias Computacionales? Las Ciencias Computacionales (o Ciencias de la Computación) son la disciplina que estudia cómo funcionan los procesos de cómputo , cómo se representa la información y cómo resolver problemas usando algoritmos. En pocas palabras: es la ciencia que estudia cómo pensar problemas para que una computadora pueda resolverlos. No se trata solo de programar, sino de entender qué es posible calcular, cómo hacerlo eficiente y cómo modelar problemas del mundo real. ¿De dónde provienen? Las Ciencias Computacionales nacen formalmente en la década de 1930 y 1940, cuando matemáticos comenzaron a preguntarse: ¿Qué problemas p...

Protocolos de red que todo desarrollador debe de conocer


En esta entrada del blog quiero compartir lo que a mi parecer, son los protocolos de red que todo programador o desarrollador debe de conocer, al menos, como funcionan y en que casos se utilizan. Veamos a continuación:

1. HTTP (Protocolo de transferencia de hipertexto): se utiliza en la comunicación web, permite la interacción navegador-servidor, adecuada para la transferencia de datos no segura (ya casi no se usa gracias a Google y su obligación de usar HTTPS.

2. HTTPS (Protocolo seguro de transferencia de hipertexto): se usa en la comunicación web segura, pues garantiza la confidencialidad a través del cifrado SSL/TLS. Gracias a Google, hoy en día todos los sitios web deben utilizarlo.

3. FTP (Protocolo de transferencia de archivos): este protocolo es básicamente para la transferencia de archivos, sencillamente nos facilita el intercambio de archivos entre computadoras, utilizando canales separados. Con este protocolo podemos subir fácilmente "n" cantidad de archivos a nuestros servidor, por ejemplo, si estamos subiendo nuestro sitio o aplicación web, al cual consta de muchos archivos, se puede hacer mediante un cliente FTP como FilleZilla.

4. TCP (Protocolo de control de transmisión): es para poder realizar una entrega de datos confiable, este protocolo nos garantiza una transferencia de datos ordenada y fiable con comprobación de errores.
5. IP (Protocolo de Internet): es un protocolo para la administración de paquetes de datos. Maneja el enrutamiento y el direccionamiento de paquetes de datos, asignando direcciones IP únicas.
6. UDP (Protocolo de datagramas de usuario): este protocolo se utiliza principalmente en la transferencia rápida de datos debido a que ofrece una transferencia de datos más rápida y sin conexión sin funciones de confiabilidad.
7. SMTP (Protocolo simple de transferencia de correo): utilizado para el envío de correo electrónico, administra el envío de correo electrónico entre servidores a través de una arquitectura cliente-servidor. Todos los que hemos desarrollado algún sitio o webApp lo hemos utilizado para configurar la cuenta de correo que nos da nuestro proveedor de hosting.
8. SSH (Secure Shell): este protocolo se utiliza en el acceso remoto seguro a dispositivos remotos, cifrando la comunicación cliente-servidor.
9. IMAP (Protocolo de acceso a mensajes de Internet): es para tener acceso al correo electrónico, permite el acceso y la recuperación de correos electrónicos desde un servidor, manteniendo los correos electrónicos en el servidor. También, se configura en un hosting comercial.

Es cuanto.

Si quieres citar este artículo en tu texto, documento, etc. puedes hacerlo de la siguiente forma:

Aguilar-Calderón, J. A. (01 de marzo de 2024). Protocolos de red que todo desarrollador debe de conocer. ANOVA LAB MX. https://anovalabmx.blogspot.com/2024/03/protocolos-de-red-que-todo.html

Comentarios

Mi foto
José Alfonso Aguilar
Mazatlán, Sinaloa, Mexico
Me gusta aprender y escribir sobre tecnología y desarrollo. Soy Ingeniero en Sistemas Computacionales, trabajo como Profesor-Investigador en la Facultad de Informática Mazatlán, de la Universidad Autónoma de Sinaloa. México. Me gusta combinar la docencia-investigación con el giro profesional del desarrollo de software y gestión de proyectos de innovación.

Entradas más populares de este blog

Historia y versiones de HTML (HyperText Markup Language)

Prototipado en Ingeniería de Software: Modelar antes de Construir

Hablemos de Propiedad Intelectual