Presentacion - Temas - BackEnd
Presentacion - Temas - BackEnd
BackEnd
Codificación de software
El Frontend es el área de un
sitio web que se dedica a
interactuar con los clientes. Por
eso se dice que va a estar del
lado de los clientes.
Son dos conceptos que pueden dar una explicación en general de cómo trabaja una página web y son
claves para cualquier persona que trabaje en lo digital, sea programador, marketer, diseñador o
emprendedor.
https://ecdisis.com/que-es-frontend-y-backend/
Frontend como el Backend se complementan para cumplir la misión de “usuario satisfecho”.
Evaluación
Material de estudio:
https://www.gluo.mx/blog/frontend-y-
backend-que-son-y-cuales-son-sus-
diferencias
Fuente: https://www.tucontenido.net/2023/05/10-buenas-practicas-de-programacion.html
• Esfuérzate en estructurar una arquitectura concreta tomando
en cuenta la utilidad del código, su funcionalidad, compatibilidad,
etc.
• Intenta leer mucho código fuente pues esto te ayudará a
nutrirte de conocimiento ajeno y aprenderás a diferenciar entre
un código de calidad y uno mediocre.
• Fase de aprendizaje, es recomendable que coloques
comentarios en tu propio código con la intención de evitar
Buenas desorientarte al leer las funciones más complejas y facilitar la
prácticas de lectura de terceros.
• Testea tu código siempre, sin importar su longitud, para
programación comprobar que todo esté bien. Recuerda que es mejor encontrar
un error a tiempo para evitar así problemas en el futuro. .
• Lleva un control de versiones que te ayude a gestionar los
cambios en tu código.
Ver video:
https://www.tiktok.com/@innovate_stream/video
https://www.tiktok.com/@nextstdio/video/7199 /7235345113457626373?is_from_webapp=1&web_
780844402167046?is_from_webapp=1&sender_ id=7346805390645233158
device=pc&web_id=7346805390645233158
Fuente: https://www.tucontenido.net/2023/05/10-buenas-practicas-de-programacion.html
Lenguajes de Programación
Lenguajes de
Programación
Lenguajes de
Programación
con mayor
demanda
Lenguajes de
Programación.
Campos de aplicación
de Python.
Python es el lenguaje de
programación mas usado,
es fácil de aprender y
tiene muchos campos de
aplicación.
Lenguajes de
Programación.
Campos de aplicación
de Python.
Tipos básicos en
Python.
Estilos para
programar
Programación
orientada a objetos
Pilares de la
Programación Orientada
a Objetos (POO)
Ejemplos: Aplicación de cursos
La abstracción es pensar
¿Cuáles son los atributos y
métodos que necesita un
objeto? Imagina que
estamos programando la
aplicación de cursos y
queremos crear el objeto
usuarios.
Pilares de la
Programación Orientada
a Objetos (POO) Objeto: Usuarios
• ABSTRACCIÓN
Es el proceso de
definir los atributos y
métodos de una
clase.
Editores de Códigos
Editores de código
NetBeans
Son las herramientas que
todo desarrollador debe
tener a mano. Bluefish
Atom
Visual Studio Code.
Desarrollo BackEnd
Lenguajes,
Frameworks y
librerías.
Desarrollo
BackEnd
Lenguajes de
Programación
/ Frameworks
Desarrollo
BackEnd
https://springtutorials.com/spring-framework-vs-rest-of-the-world/
Lenguajes de
Programación
/ Frameworks
Desarrollo
BackEnd
Lenguajes de
Programación
/ Frameworks
Desarrollo
FrontEnd
Pagina web
vs
Sitio Web
vs
Aplicación Web
Bases de datos
Sintaxis básica
SQL
Es un lenguaje de
consulta estructurada
que permite administrar
y recuperar información
en la base de datos.
Es el sistema de Gestión
de base de datos
relaciones (RDBMS) mas
usado.
Gestores de
Base de datos
Entornos de Trabajo
Si eres programador, seguramente has escuchado los términos: staging, integración, pruebas,
desarrollo y producción. ¿Pero sabes realmente que significan? se trata de los entornos de desarrollo
de software que representan las diferentes etapas por las que va avanzando un software mientras se va
desarrollando hasta salir a su versión final. Cada empresa o equipo puede definir sus propios entornos.
https://ed.team/blog/entornos-de-trabajo-en-el-desarrollo-de-software-44268387-202d-4dec-98d4-b5d31c5aa95a
Entornos de
trabajo en el
desarrollo de
software
Servidores de Aplicaciones /
Servidores WEB
Servidores de
aplicaciones /
servidores web.
Definiciones, tipos, usos.
https://forum.huawei.com/enterprise/es/diferencia-entre-
el-servidor-web-y-el-servidor-de-
aplicaciones/thread/685071778755526656-
667212884846981120
Servidor de
Aplicaciones
Es un software que se encarga de
Características del Servidor de Aplicaciones
ejecutar aplicaciones web dinámicas.
A diferencia del servidor web, el •Ejecución de Código en el Servidor: El servidor de
servidor de aplicaciones puede
procesar y ejecutar código en el
aplicaciones puede procesar y ejecutar código en el servidor, lo que
servidor antes de enviar la respuesta permite la generación dinámica de contenido y la interacción
al cliente. con bases de datos.
Está diseñado para ejecutar •Gestión de Aplicaciones Complejas: Está diseñado para
aplicaciones complejas y gestionar
solicitudes de clientes que manejar aplicaciones web complejas y procesamiento de datos en
requieren procesamiento de datos tiempo real.
en tiempo real.
•Ejemplos Populares: Algunos ejemplos populares de servidores de
https://forum.huawei.com/enterprise/es/diferencia-entre-
el-servidor-web-y-el-servidor-de- aplicaciones son Apache Tomcat, Java EE y Microsoft Internet
aplicaciones/thread/685071778755526656-
667212884846981120 Information Services (IIS).
Servidor web
Es un software que responde a las Características del Servidor Web
solicitudes HTTP (Protocolo de
Transferencia de Hipertexto) de los
clientes y envía páginas web y otros •Procesamiento de Páginas Estáticas: El servidor web puede
recursos estáticos, como imágenes y procesar páginas HTML, CSS y otros recursos
archivos CSS, al navegador del
usuario.
estáticos almacenados en el sistema de archivos del servidor y
enviarlos directamente al cliente.
Su función principal es gestionar las
solicitudes y respuestas HTTP,
procesar páginas HTML y entregar •Configuración Sencilla: La configuración del servidor web es
contenido estático al navegador. generalmente sencilla, ya que su enfoque principal es responder
a solicitudes HTTP y enviar contenido estático.
https://forum.huawei.com/enterprise/es/diferencia-entre-
el-servidor-web-y-el-servidor-de- •Ejemplos Populares: Algunos ejemplos populares
aplicaciones/thread/685071778755526656-
667212884846981120 de servidores web son Apache HTTP Server y Nginx.
Servicios Web
Servicios Web.
El Hosting, es un servicio
de alojamiento web, es
un tipo de servicio que
permite a los usuarios
convertir su espacio web
accesible a través de la
Word Wide Web.
Diferencia entre un
Hosting compartido,
VPN y Hosting
dedicado.
Paradigmas de Apis
API.
Una interfaz es una
capa que conecta dos
sistemas.
https://blog.axway.com/learning-
center/apis/basics/event-driven-vs-rest-api-
interactions
Request
Response
(REST, RPC, GRAPHQL)
https://www.getambassador.io/blog/request-
driven-restful-vs-event-driven-in-microservices
Pruebas de Software
Casos de pruebas
Son una parte integral del ciclo
de vida del desarrollo de
software y son la forma de
garantizar y asegurar, entre otras
cosas, la funcionalidad, el
rendimiento y la experiencia de
uso.
Pruebas funcionales
1.Unitarias
2.Componentes
3.Integración
4.Sistema
5.Humo
6.Aceptación
7.Regresión
8.De Interfaz
Pruebas No funcionales
Un manual de usuario es
el material que
proporcionas a los
usuarios de tu producto
para ayudarles a
utilizarlos
correctamente.
https://www.techsmith.e
s/blog/manual-usuario/
Ejemplo.
Manual Zajuna.
https://zajuna.sena.edu.co/Re
positorio/Titulada/institution/
SENA/Tutoriales/Aprendiz/Ma
nual_LMS_Aprendiz.pdf
Practicas para
crear un buen
Manuales usuario
1. Usa un lenguaje sencillo
2. Añade elementos
visuales
3. Se centra en el problema
del usuario
4. Mantiene una estructura y
un flujo lógico.
5. Incluye un índice.
6. Facilita las búsquedas
7. Contenidos accesibles
8. Opiniones de los usuarios
reales
9. Incluye enlaces a otros
documentos.
Evaluación de Conceptos.
Evaluación de Conceptos.
Objetivo: Realizar el siguiente
cuestionario online.
Criterios de Evaluación.
• Programa los módulos del software de escritorio, web o móvil de
acuerdo con las especificaciones del diseño y el estándar de
codificación.
• Verifica la funcionalidad del software de acuerdo con las pruebas
unitarias.
• Aplica técnicas de documentación en la elaboración de manuales
de usuario según los requerimientos técnicos del software
desarrollado.
Retroalimentación
FrontEnd vs BackEnd
El camino para
aprender
FrontEnd
El camino para
aprender
BackEnd
https://www.tiktok.com/@halltec.co/video/73714
89842653416710?is_from_webapp=1&web_id=734
6805390645233158
Actividad
Proyecto Integrador Ventas de Computadores
Actividad.
Proyecto Integrador
Ventas de Computadores
Criterios de Evaluación.
• Programa los módulos del software de
escritorio, web o móvil de acuerdo con las
especificaciones del diseño y el estándar de
codificación.
• Verifica la funcionalidad del software de
acuerdo con las pruebas unitarias.
• Aplica técnicas de documentación en la
elaboración de manuales de usuario según los
requerimientos técnicos del software
desarrollado.
Lenguajes de
Actividad. programación
Proyecto Integrador
Framework
Ventas de Computadores
Manual de
usuario
Referencias
• Lenguajes de Programación. https://tecsify.com/blog/infografia/top-lenguajes/
• Framework. https://springtutorials.com/spring-framework-vs-rest-of-the-world/
• https://ed.team/
Los buenos programadores saben qué escribir.
Los grandes saben qué reescribir y reutilizar"
Eric S. Raymond
Gracias…
Instructor. CzGonzález