MarowarthDev (@marowarth) header
MarowarthDev (@marowarth) profile picture

🎥 Programación fácil y con humor | Tips diarios de C#, JS, CSS y VS Code | Hago que el código sea más accesible. ⬇ Aprende en YouTube

Baleares, Islas Baleares
Joined May 2015
Photo by MarowarthDev (@marowarth)Photo by MarowarthDev (@marowarth)Photo by MarowarthDev (@marowarth)Photo by MarowarthDev (@marowarth)Photo by MarowarthDev (@marowarth)Photo by MarowarthDev (@marowarth)Photo by MarowarthDev (@marowarth)Photo by MarowarthDev (@marowarth)Photo by MarowarthDev (@marowarth)
Todo son risas cuando no se preparan test para un desarrollo y luego pasa lo que pasa... Petardazos wapisimos en producción... Y el tonto de turno a correr...
32
¿Dos bucles anidados? Hasta ahora, un break solo te sacaba del bucle interior. Para salir de todos necesitabas una variable auxiliar, varios break o recurrir a goto/return.
1
13
Con .NET 11 y C# 15 puedes etiquetar el bucle exterior: outer: for (...) Y salir directamente desde el interior: break outer; Menos código, menos comprobaciones y queda clarísimo de qué bucle quieres salir.
1
9
Ahora la pregunta importante: ¿te parece más limpio o te recuerda demasiado a goto? 👀 #dotnet #csharp #programacion #desarrollodesoftware #marowarth
12
🔐 Crear ZIP protegidos con contraseña en .NET ya no requiere una librería externa. Hasta .NET 10, System.IO.Compression permitía comprimir archivos, pero no cifrarlos. Para hacerlo necesitabas alternativas como SharpZipLib.
1
9
Con .NET 11 llega soporte nativo para: ✅ Crear ZIP con contraseña ✅ Cifrado AES-256 ✅ Extraer archivos protegidos ✅ Configurarlo mediante ZipFileCreationOptions
1
4
Eso sí: actualmente necesitas .NET 11 Preview 7 para probarlo. ¿Te parece una mejora importante o llega unos cuantos años tarde? 😅 #dotnet #csharp #programacion #desarrollodesoftware #marowarth
12
Consejo para ser feliz como developer: Nunca seas la única persona que conoce —y tiene acceso— a todo un flujo, desde que empieza hasta que termina. No te hace imprescindible. Te convierte en el soporte técnico oficial de ese flujo, y más el día que te vas de vacas #developer
1
22
Si una transformación solo sirve para mostrar los datos, hacerla siempre en el backend significa ejecutarla en cada petición. En el frontend, en cambio, solo se realiza cuando el usuario realmente la necesita… y puede que ni siquiera llegue a ejecutarse. #desarrollodesoftware
1
17
No toda la lógica pertenece al backend. Las reglas de negocio, sí. Las transformaciones de presentación, depende. Elegir dónde procesar los datos también es optimizar.
3
C# le ha copiado una de las mejores ideas a TypeScript 👀 Con .NET 11 llegan las "union types", que permiten definir un conjunto cerrado de posibles tipos: public union Pet(Dog, Cat); #dotnet #csharp #programacion #desarrollodesoftware #marowarth
1
32
Hasta ahora podíamos usar una interfaz abierta, pero cualquier clase nueva podía implementarla y terminar provocando un fallo en ejecución si nuestro código no la controlaba.
1
7
Con una "union", el compilador sabe exactamente qué tipos son posibles y avisa cuando un "switch" no cubre todos los casos. Por defecto genera un warning, pero puedes convertirlo en error de compilación configurando "CS8509" como "WarningsAsErrors". Comenta NET11 para más
6
Ya tenéis el vídeo en Youtube para subir tu API a internet sin pagar un duro youtu.be/2sftmCDQo24
10
Muchísima gente piensa que esto es un bug: compras algo vas a tu historial y el pedido no aparece inmediatamente.
1
6
Los datos pueden tardar unos segundos en propagarse… pero terminan siendo correctos.
1
3
Aquí dejo el vídeo donde lo explico con un ejemplo visual 👇
3