Skip to content
View pgallino's full-sized avatar
🤠
🤠
  • FIUBA
  • Argentina

Highlights

  • Pro

Block or report pgallino

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
pgallino/README.md

Hola!👋

Soy Pedro Gallino estudiante de Ingeniería informática en la Facultad de Ingeniería de la UBA (FIUBA) 📚

GEduNet - Trabajo Profesional Final 🌐

Simulador gráfico educativo de redes de computadoras, diseñado para ayudar a estudiantes a comprender conceptos fundamentales de redes de manera interactiva. Permite visualizar el flujo de paquetes y experimentar con escenarios de red, facilitando el aprendizaje práctico.

  • Simulación de capas de transporte, red y enlace, con abstracción de otras capas para un enfoque modular.
  • Interfaz gráfica interactiva, optimizada para estudiantes sin experiencia en redes.
  • Aplicación web client-side, desarrollada en TypeScript.
  • Basado en el modelo top-down del libro Computer Networking: A Top-Down Approach.

App

Repositorio

Sistemas Distribuidos I 🖧

Sistema distribuido diseñado para procesar y analizar datos de Steam en paralelo. Recibe datasets sobre juegos y reseñas y ejecuta consultas predefinidas, como identificar los juegos con más reseñas positivas o aquellos con mayor tiempo de juego.

  • Pipeline distribuido con nodos especializados en filtrado, conteo y unión de datos.
  • Comunicación vía RabbitMQ para coordinar los nodos de procesamiento.
  • Optimizado para entornos de multicomputing, permitiendo escalabilidad horizontal con Docker y Docker Compose.
  • Tolerancia a fallos con réplicas y monitoreo automático mediante Watchdog.

SteamyAnalytics

Técnicas de Programación Concurrente I 🧵

Heladería Robotizada: Sistema distribuido que simula el procesamiento concurrente de pedidos en una heladería automatizada. El sistema está diseñado para ser altamente concurrente y tolerante a fallos, coordinando múltiples robots que preparan pedidos de manera eficiente.

  • Procesamiento concurrente de pedidos mediante múltiples robots trabajando en paralelo.
  • Elección de líder con el algoritmo Bully, permitiendo resiliencia ante fallos y asegurando la continuidad operativa.
  • Modelo centralizado con distribución de carga, optimizando la asignación de pedidos y evitando sobrecarga en la comunicación.
  • Mecanismos de tolerancia a fallos, garantizando que el sistema continúe funcionando incluso si robots o pantallas fallan.
  • Implementación en Rust, aprovechando concurrencia y sincronización eficiente entre procesos.

Repositorio Concurrente

Redes 🛜

File Transfer: Desarrollo de una aplicación cliente-servidor que garantiza la transferencia fiable de archivos sobre la red utilizando UDP y técnicas de retransmisión.

  • Implementación de un protocolo confiable sobre UDP mediante Stop-And-Wait y Go-Back-N.
  • Arquitectura Cliente-Servidor Multi-thread, permitiendo concurrencia y múltiples clientes simultáneos.
  • Mecanismo de detección y recuperación de pérdida de paquetes.
  • Simulación de condiciones adversas en la red utilizando Comcast para evaluar rendimiento y confiabilidad.
  • Pruebas con Mininet y topologías personalizadas.

Repositorio Redes

Taller de Programación I 🧶

Left4Dead2D: Juego online en C++ con arquitectura cliente-servidor, utilizando sockets y threads.

  • Cliente multi-threaded, con hilos independientes para recepción y envío de datos.
  • Servidor concurrente, gestionando múltiples clientes de manera eficiente.
  • Manejo de memoria seguro con RAII, evitando fugas de memoria y asegurando recursos correctamente.
  • Renderizado con SDL2, optimizando gráficos y animaciones.

Left4Dead2D-repositorio

Left4Dead2D-gameplay

Trabajos Prácticos sobre Sockets y Threads. Cliente-Servidor. (C++).

Tps: Sockets & Threads

Sistemas Operativos 🐧

TP1: Implementación de una Shell.

TP2: Implementación de un Scheduler.

TP3: Implementación de un FileSystem FUSE para un sistema operativo Unix-Like. (C y Assembly)

Repositorio SISOP

Ciencia de Datos 💻🧪

Machine learning: Clasificación y Regresión - Métricas y Errores - Linear y logistic regression, KNN, Árboles, Random Forest y XGBoost - Feature Engineering. (python scikit-learn)

Trabajo práctico: Modelo para predecir si un hongo es venenoso o no.

Machine learning: Hongo venenoso

Análisis de Datos: Pandas - Spark - visualización de datos - NLP. (python).

Análisis de Datos

Aprendizaje Automático 🤖

Trabajo práctico: Modelo para predecir si un paciente es fumador o no.

Machine learning: Fumador o no.

Análisis de la Información 📄👥

Desarrollo de un sistema de gestión web de proyectos y tickets para una empresa ficticia PSA.

Inicialmente se descubrió el producto a desarrollar mediante técnicas de la Ingeniería de requisitos: Entrevistas - Backlog (Historias de usuario y criterios de aceptación) - Modelo de Dominio - Modelo C4 - Modelo de Datos - Organigrama - Onion Model - Minutas - Matriz de trazabilidad - Prototipos.

Finalmente se implementó utilizando: API-REST - React-js - TailWindcss - Java - SpringBoot - Gherkin.

Back-End módulo soporte

Back-End módulo proyectos

Front-End

sitio web PSA

Gestión del Desarrollo de Sistemas Informáticos 🗂️

Desarrollo de App similar a splitwise con el fin de aplicar técnicas de gestión del desarrollo de sistemas informáticos.

Modelos en etapas, iterativos, incrementales, ágiles y de flujo continuo. Procesos clásicos de la administración de proyectos: gestión de alcance, tiempos, costos y calidad.

Front-End

Documentos de Gestión

Video Presentación

Teoría de Algoritmos 🧩🧠

Busqueda Exhaustiva - Problemas greedy - División y conquista - Teorema del maestro - Programación dinámica - Flujo en redes - Reducciones - Certificados - Problemas NP completos - Algoritmos randomizados - Algoritmos de aproximación - Análisis amortizado - Computabilidad.

Repositorio Trabajos TDA

Algoritmos & Programación III 👾

Programación orientada a objetos. (Java - Smalltalk)

MiniJuego siguiendo los lineamientos de POO.

Juego POO

Algoritmos & Programación II 🌲

Implementación de tipos de dato Abstracto (TDA): Árboles - hash - Grafo - Heap - lista - pila - cola.

Recursividad - Fuerza bruta - Manejo de memoria - Algoritmos sobre grafos (C - Python)

Repositorio Algo2

Algoritmos & Programación I ⚡

Minijuego Pokedex (python).

Pokedex

Minijuego Batallas Pokemon. (python)

Batallas Pokemon

Pinned Loading

  1. Luansair/Taller1-TP-Left4Dead Luansair/Taller1-TP-Left4Dead Public

    TP Grupal de Left4Dead 2D simplificado

    C++ 1 1

  2. MegaRedHand/network-simulator MegaRedHand/network-simulator Public

    TypeScript 3