Este repositorio consolida mi portafolio de aprendizaje progresivo, abarcando desde la lógica algorítmica fundamental hasta el desarrollo de aplicaciones de escritorio con persistencia de datos y programación de bajo nivel.
El proyecto se divide en cuatro áreas clave:
- Lógica Algorítmica (PSeInt).
- Desarrollo de Software (Python + POO + GUI).
- Ingeniería de Datos (Modelado SQL y Consultas Avanzadas).
- Programación Estructurada (C++ Essentials - Cisco).
Aplicación de escritorio completa para la administración de activos de infraestructura TI. Este proyecto integra todos los conocimientos adquiridos (Frontend, Backend y Base de Datos).
- Tecnologías: Python 3, Tkinter, MySQL Connector, Librería
ipaddress. - Funcionalidades:
- ✅ CRUD Completo: Registro, lectura y búsqueda de equipos (Routers, Switches, PCs).
- ✅ Validación de Datos: Verificación estricta de direcciones IP y tipos de datos.
- ✅ Alertas Inteligentes: Sistema automático que detecta y notifica equipos en estado "Inactivo" o "Mantenimiento".
- ✅ Persistencia: Almacenamiento robusto en base de datos relacional (MySQL).
Ejercicios de lógica pura enfocados en el pensamiento estructurado.
- Tipos de Datos y Operadores: Aritmética, lógica booleana y manipulación de cadenas.
- Estructuras de Control: Condicionales anidados y bucles (
Para,Mientras).
Transición a código de producción con sintaxis moderna.
- Programación Orientada a Objetos (POO): Clases, Herencia y Polimorfismo (Ej: Modelos de
Usuario,Vehiculo,Coche). - Interfaces Gráficas (GUI): Desarrollo de ventanas interactivas con Tkinter (Calculadoras, Formularios, Canvas).
- Manejo de Errores: Uso de bloques
try/exceptpara aplicaciones robustas.
Diseño de esquemas relacionales y manipulación avanzada de datos.
- Modelado: Relaciones Uno a Muchos y Muchos a Muchos (Ej: Sistema de Biblioteca y Ventas).
- Consultas Avanzadas (Queries):
- Uso de
JOINpara vincular tablas (Estudiantes - Departamentos). - Funciones de agregación (
COUNT,AVG,MAX). - Filtrado avanzado con
GROUP BYyHAVING. - Ingeniería inversa y diagramado.
- Uso de
Incorporación de conceptos de programación de bajo nivel, gestión de memoria y sintaxis estricta.
- Fundamentos: Sintaxis, semántica, compilación y tipos de datos primitivos.
- Control de Flujo: Estructuras condicionales complejas (
switch,if-else) y bucles iterativos. - Vectores y Arreglos: Manipulación y recorrido de colecciones de datos.
- Modularización: Uso de funciones y paso de parámetros por valor.
Para ejecutar el Sistema de Inventario, sigue estos pasos:
-
Requisitos Previos:
- Tener instalado Python 3.x.
- Tener un servidor MySQL activo (XAMPP, WAMP o MySQL Server).
-
Instalar dependencias: Ejecuta el siguiente comando en tu terminal para instalar el conector de base de datos:
pip install mysql-connector-python
-
Configurar la Base de Datos:
- Abre tu gestor SQL (phpMyAdmin o Workbench).
- Importa o ejecuta el script
base_datos.sql(ubicado en la carpetadbo raíz). - Opcional: Si tu MySQL tiene contraseña, edita el archivo
.pyen la funciónconectar_db().
-
Ejecutar la App:
python Inventario_de_red.py
- Error
ModuleNotFoundError: Asegúrate de haber ejecutado el comandopip installdel paso 2. - Error de Conexión DB: Verifica que XAMPP/MySQL esté encendido y que el usuario/contraseña en el script de Python coincidan con los de tu servidor local.
- PSeInt no ejecuta: Revisa que los bloques
FinSioFinProcesoestén correctamente cerrados.
NEDUAL E. VARGAS PEREZ
Entusiasta de la Infraestructura TI, Ciberseguridad y Desarrollo de Software. Explorando la intersección entre la administración de redes, la automatización con Python y la eficiencia de C++.