Entradas

Mostrando las entradas de marzo, 2025

Mejoras para futuros proyectos

 En base de lo que se trabajó, aprendí muchas cosas, entre estas, buenas prácticas que se deberían implementar en la proxima tarea: Utilizar variable de entorno para datos que se usan para la conexión con la base de datos. Utilizar patrón de diseño MVC Evitar mezclar lenguajes (javascript y html separado) Actualizar .gitIgnore antes de comenzar el proyecto

Corrección Stored Procedures

 23/03/2025          11:00 - 14:00 Hoy realicé correcciones en la estructura de los stored procedures ya que estos los había creado antes de que el profe explicará los estandares de estos. Además los agregué a una carpeta en la tarea para poder visualizarlos en la revisión. Con esto ya quedaría completa la tarea, y faltaría nada más la documentación externa.

Consultas realizada al profe

Imagen
 El lunes 17 de marzo, me surgió varias dudas por lo tanto se las realice al profe.

Finalización de página web y arreglo de tabla

 Inicio: 22/03/25 15:00 Fin: 22/03/25 22:30 Horas: 6 Surgió un problema que de pronto dejó de funcionar la inserción de nuevos empleados. Esto se dio debido a que había cambiado la forma de capturar la respuesta del SP que buscaba y devolvía un código dependiendo de si el nombre dado existía o no dentro de la tabla. En un principio solo capturaba el valor entero del código que retorna el SP por lo que en el código se podía hacer una comparación directañ no obstante por cuestiones de las otras validaciones tuve que cambiar a que se capturara la respuesta como un objeto json, por lo que luego el código dejó de funcionar al insertar. Lo que hice fue simplemente especificar que lo que se comparaba era el valor del objeto json y no todo el objeto. Además, terminé de configurar las validaciones de tipo. También mejoré la interfaz de la ventana inicio.html. Como la tabla en la BD estaba "sucia" ya que habían nombres repetidos, con el formato inadecuado, e incluso filas en blanco, de...

Adición de validaciones y ventanas de alerta

Inicio: 21/03/25 15:00 Fin: 21/03/25 23:50 Horas: 5 Hoy implementé la validación en caso de que el nombre ya existiese en la BD utilizando el tercer stored procedure anteriormente hecho. También implementé las ventanas de alerta que indican si la inserción fue exitosa, la cual a la vez regresa al usuario a la página principal con la tabla, también indica si la persona ya existe dentro de la tabla, no se realiza la inserción y se borran los valores escritos en los campos de inserción. Además, se implementó las validaciones de campos vacíos y que los inputs de salario deben de ser un número que admite decimales utilizando punto. Estas validaciones también tiene una ventana de alerta que avisa sobre estas excepciones. Por otra parte, arreglé un poco la estructura del tercer SP para que fuera un poco más acorde a los estándares del curso.

Configuración archivo css - Modificación estilos ventana principal

Inicio: 20/03/25 23:40 Final: 21/03/25 1:50 Horas: 2 Creé un archivo de estilos .css para mejorar el aspecto visual de la página. La ventana principal de la página ya está modificada. Decidí meter el botón para ingresar personas dentro del mismo contenedor donde está la tabla traída desde la base de datos. No obstante, debido a que vamos a ocupar 40 registros mínimo de usuarios, puede que el contenedor se alargue y por ende el botón quede hasta el final, obligando al usuario a tener que bajar por todo el contenedor. Se me ocurre que se podría modificar para que dentro del contenedor principal, se le agregue otro contenedor con solamente la tabla y que tenga un scroll o simplemente mover el botón de ingresar a la parte superior del contenedor para que esté disponible inmediatamente. Me parece más viable y fácil la segunda opción.

Tercer stored procedure

Inicio: 19/03/25 19:30 Fin: 19/03/35 21:00 Horas: 1.5  Hoy realicé el tercer stored procedure para lo que sería revisar si un nombre ingresado ya existe dentro de la tabla para evitar nombres duplicados. Aún no decido si hacer que el stored procedure me devuelva un valor indicando si hay error por nombre duplicado.

Primera reunión sincrónica

Inicio: 19/03/25 15:40 Fin:  19/03/25 17:30 Horas: 2 Hoy nos reunimos por medio de Discord para discutir acerca de lo que faltaba completar y aclarar algunas dudas. También se solucionó el problema del acceso a la base de datos, esto fue porque había que realizar una invitación al otro miembro para agregarlo como colaborador dentro de la base de datos.

Nota olvidada (solución al problema de instalación)

Inicio: 13/03/25 14:00 Fin: 13/03/25 19:00 Horas: 3 Luego de investigar un poco más, descubrí que el problema con la instalación de MSSQL se debía a la versión de Windows que tiene mi máquina, Window 11. Ya que estas versiones tienen tamaños de sector de disco mayores a 4 KB, que es lo que soporta el MSSQL. Entonces, la solución fue modificar el "Windows registry" utilizando el siguiente comando en la terminal: REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t   REG_MULTI_SZ /d "* 4095" /f. Agregando esta llave de registro fuerza a que los tamaños de sector sean de 4 KB.

Unión de backend con FrontEnd

 17/3/2025          13:00 - 17:00 Hoy logré ya entender como utilizar el fetch() para utilizar APIs. Algunos videos que vi para enteder fueron: https://youtu.be/C_vv1D5oDZ0?si=bNLiMlAkPUgNSbEv https://youtu.be/ENrzD9HAZK4?si=GzTtxTJ4-i80ZSVp Además, logre comprender por qué no se pueden cargar archivos locales en el servidor. Es debido a que la página web es dinámica (por el NodeJS). Esto implica que todos los archivos tienen que ir siendo cargados durante la ejecución del server. Por lo tanto ocupa funciones como get() para que se logren cargar. También logre estructurar un poco mejor los archivos para que todo se vea más ordenado.

Segundo Stored Procedure

 14/3/2025          18:30 - 21:50 Hoy continué tratando de arreglar el problema del servidor. Su solución fue realizar mi propio server de NodeJS. Noté que al hacer esto, la conexión entre el BackEnd y el FrontEnd se hacen por medio de APIs. Esto hizo que surgiera otro problema: el servidor no permite cargar archivos desde la computadora de uno (por cuestiones de seguridad), por lo tanto toda la interacción entre el usuario y el programa, se tiene que hacer por medio de una función llamada Fetch(). Queda pendiente investigar más sobre esto para poder terminar de conectar al 100% el BackEnd con el FrontEnd. Por otro lado, realice como prueba un stored procedure que se encarga de realizar un select y mostrar datos de la tabla en orden. A la hora en que esto se implementa en código, la función lo que retorna es un archivo tipo JSON, por lo tanto hay que ver como mostrarla en el programa.

Primer StoreProcedured

Imagen
 13/3/2025                     13:20-15:00 Hoy realice el primer StoreProcedured, el cual fue el de añadir Usuarios a la tabla. Tuve problemas con la conexión de la capa lógica con la de SQL, pero luego de ver varios videos logre resolverlo. Probe la función añadiendo nombre/salarios de manera manual directamente a la función y corrió bien. El problema que tengo actualmente es conectar el mssql a la hora de ya ejecutar el codigo completo con las entradas de html. El error que se presenta es el siguiente: Al buscar en internet, descubrí que el mssql es solo compatible con NodeJS, por lo tanto una posible solución es crear uno mismo el server. No lo he intentado, pero lo intentaré cuando vuelva a trabajar en esta tarea.

Conexion con Azure

Imagen
 11/3/25          15:00 - 18:30 Hoy continué probando con PHP. Trabajar con este lenguaje fue sumamente sencillo, pero, no me gustaba la manera en que trabaja con los stored procedures, por lo tanto investigue sobre otros lenguajes que se podían utilizar. Decidí intentar con JavaScript y me pareció un lenguaje un poco más complejo pero más organizado que PHP. Además, hoy logré conectar el Managment Studio con la base de datos en Azure.

Pruebas iniciales

 10/3/2025                11:00 - 14:00 Hoy estuve revisando y viendo diferentes tutoriales en Youtube para entender como conectar la capa logica y la de SQL. Muchos videos recomendaron utilizar PHP para la lógica, por lo tanto también experimenté con ese lenguaje. Los videos que vi fueron: https://youtu.be/DFg1V-rO6Pg?si=2zMbtRU7D3Bzxt1x   (Este fue para entender SQL mejor) https://youtu.be/zZ6vybT1HQs?si=ggTKEI1HZ5eusGVl      (Este fue para entender como era la sintaxis de PHP) https://youtu.be/5evOKzY5VE8?si=BUDJuvssGjp8lz9i       (Este fue para entnder como conectar PHP con la base de datos que tenía en Microsoft Managment Studio) Además, tengo dudas sobre el PHP ya que es muy dependiente del XAMPP para poder utilizar el localHost, y eso podría dar problemas a la hora de trabajarlo en equipo

Intento de instalación (Susana)

Inicio: 07/03/25 16:00 Fin: 08/03/25  --- Horas (estimadas): 6 Intenté instalar el MSSQL varias veces, en ningún intento se instaló correctamente y el Management Studio no puede conectarse a ninguna base, porque todos los servicios del SQL están detenidos y da error cuando se quieren inicializar.

Instalación de SQL (Ximena)

 08/03/2025          14:00 - 18:30 Instalé el SQL y el SQL Managment Server Studio. Al realizar la instalación del SQL, me daba un error sobre un acceso a una carpeta comprimida. La solución a esto fue cambiar las propiedades de la carpeta de los archivos del programa de la computadora. Además, realicé pruebas en el Studio para familiarizarme con el lenguaje de SQL.