Cómo practicar programación con proyectos realesPoder leer y modificar código ajeno es importantísimo para un desarrollador, entonces ¿por qué no usar proyectos de código abierto practicar? Nadie necesita ver tu versión: podés usarlo como un laboratorio personal. Tampoco es necesario hacer grandes cambios: poder hacer correr el código, cambiar un color o mensaje o agregar una nueva validación son buenos ejercicios. Un proyecto interesante es "Conduit" (https://codebase.show/projects/realworld), una aplicación que imita a Medium.com en distintas versiones, desarrolladas con múltiples lenguajes y frameworks. Acá puede verse su documentación: https://realworld-docs.netlify.app/introduction/. También podríamos encontrar algún repositorio interesante en la lista "Awesome First Pull Request Opportunities" (https://github.com/MunGell/awesome-for-beginners) que, aunque apunta más a quienes buscan contribuir con su código a un proyecto (es decir, enviar el código para que forme parte del repositorio), los que se listan ahí suelen ser proyectos bien organizados y con buena documentación para poder entenderlos. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/05/05/practicar-con-open-source.htmlVer más
¿Qué proyectos hacer para practicar?Practicar programación no es hacer ejercicios sueltos todo el tiempo (¡aunque eso también es necesario!). Estos proyectos simples pueden ayudar a aplicar lo aprendido y a organizar las ideas en algo funcional. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/05/02/proyectos-para-practicar.html
Fundamentos de programación orientada a objetos (POO)Programar con objetos no suele parecer simple al principio, pero siguiendo estas reglas básicas podemos escribir código limpio, reusable y fácil de modificar. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/poo/conceptos/2025/04/27/fundamentos-poo.html
Bases de datos no relacionalesAunque a veces se las llama NoSQL, las bases de datos no relacionales agrupan distintos modelos de organización de datos. Acá te cuento sobre los más usados. "NoSQL" es el nombre común que se usa para la mayoría de las bases de datos no relacionales modernas, pero originalmente significaba "Not Only SQL" (no solo SQL), porque algunas de esas bases sí permiten hacer consultas tipo SQL o parecidas. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/bd/2025/04/27/bd-no-relacionales.htmlVer más
Bases de datos: conceptos esencialesEl modelo relacional es un enfoque para organizar y almacenar datos en una base de datos, representándolos en tablas relacionadas. Entender qué son las entidades, las claves primarias y las claves foráneas es fundamental para construir bases de datos sólidas y bien estructuradas. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/bd/2025/04/16/conceptos-bd.html
DAO vs. DTOLos DTO y DAO no son exclusivos de las apps web: se usan en cualquier sistema con lógica estructurada donde se quiera separar responsabilidades. Conocerlos es clave para entender cómo se organizan proyectos profesionales. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/conceptos/2025/04/16/dao-dto.html
¿En qué se parecen los frameworks de backend?Cuando entendemos los conceptos que hay detrás de un framework backend, cambiar de lenguaje o tecnología se vuelve mucho más fácil. No se trata de sintaxis, sino de patrones de arquitectura y principios de diseño que se repiten en todas partes. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/04/06/frameworks-backend.html
“Streams” estándarLos “streams” estándar son una herencia de Unix en los años 70, pero hoy son universales. Todos los lenguajes los usan, y el sistema operativo les asigna los números 0 (stdin), 1 (stdout) y 2 (stderr) para identificarlos. Tener un canal específico para errores nos permite separarlos de la salida “normal” del programa. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/04/06/streams-estandar.htmlVer más
Resolvamos un ejercicio con arreglosVeamos un ejercicio con arreglos y una posible solución que tiene un error… Aunque la resolución, en general, está bien encarada y su complejidad algorítmica con respecto al tiempo es de O(N), hay un error evidente: las condiciones de los bucles while acceden a elementos del arreglo mediante su índice sin antes validar que el índice esté en el rango correcto. La corrección a hacer es simple: usamos una “evaluación de cortocircuito” invirtiendo las partes de la condición para verificar que el índice sea válido antes de usarlo. El operador and hace que, al ser falsa la primera parte de la condición, la segunda no se evalúe (evitando así el error). 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/ejercicios/csharp/2025/04/03/ejercicio-cortocircuito.htmlVer más
¡Cuidado con la concatenación implícita!Algunos lenguajes soportan la concatenación implícita de literales string. Es algo a tener en cuenta, porque podría causar problemas difíciles de detectar a simple vista. En el ejemplo que se muestra, al existir un valor por defecto para el segundo parámetro de la función, si se omite la coma en la lista de argumentos, ambos strings se pasan al primer parámetro, concatenados como uno solo. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/python/c++/2024/05/06/concatenacion-implicita.htmlVer más