¿Necesitas un programador?

Mi nombre es Albert Capdevila y
soy programador .Net freelance.


Programador freelance Barcelona .net
"La simplicidad es pre-requisito para la fiabilidad"

Edsger W. Dijkstra

Subscríbete a la newsletter

Formulario de subscripción

¿Cómo puedo ayudarte?


  • Programo aplicaciones orientadas a la gestión, pero también realizo migraciones de datos, integraciones con aplicaciones externas, conectores, servicios, bases de datos, etc.
  • Participo y conozco el ciclo de vida completo del software.
  • Durante la fase de creación tomo requerimientos, propongo soluciones y presento estimaciones al cliente, explicando pros y contras y permitiendo escoger la mejor opción.
  • Durante las primeras fases de desarrollo diseño la arquitectura, la infraestructura, el funcional y la base de datos.
  • Soy capaz de entregar soluciones económicas que se adaptan a las necesidades del cliente.
  • Me encanta resolver problemas buscando la solución más simple. Conozco y aplico principios de programación y patrones de diseño y los adapto según las necesidades.
  • Puedo definir los mecanismos de entrega del software y configurar y adaptar los sistemas para su funcionamiento.
  • Me gusta trabajar en equipo y transmitir todo el conocimiento adquirido. Así mismo estoy ávido de nuevos conocimientos y me siento en un continuo proceso de aprendizaje.
  • Trabajo en remoto desde El Masnou (BCN), pero puedo desplazarme puntualmente si el proyecto lo requiere.

Certificaciones

Lenguajes, tecnologías, frameworks y bases de datos en los que tengo experiencia

Lenguajes:
C#, VB.net, Tranasct-SQL, javascript, CSS, HTML
Frameworks:
.net Framework, .net Core, MVC, RazorPages, WebForms, WinForms, WPF, Xamarin, Entity Framework, WCF, jQuery, Bootstrap
Bases de datos:
SQL Server, Access
IDE:
Visual Studio, Visual Studio Code
Nube:
Azure (AppServices, SQLAzure, Bus), Máquinas virtuales, Hosting compartido
Código:
patrones de diseño, principios de programación, código limpio (SOLID), programación orientada al dominio DDD
Certificaciones:
MCPS: Microsoft Certified Professional, MCSA: Web Applications, MCSD: App Builder, MS: Programming in HTML5 with JavaScript and CSS3, MCSD: Web Applications, Microsoft .NET Fundamentals (C#)

Últimas entradas del BLOG


Efectos secundarios y idempotencia en programación

Efectos secundarios y idempotencia en programación

Fotografía de Nathan Dias en Unsplash


Para comprender patrones de diseño básicos como Command Query Separation CQS o la base teórica detrás de la programación funcional es necesario saber qué son los efectos secundarios en programación y cuándo se producen. En inglés se conocen como side effects.

En el post anterior definí lo que era el estado de la aplicación, te recomiendo tenerlo presente para comprender mejor este texto. 


leer más

Estado en programación vs. estado de la aplicación

Para generar código mantenible es fundamental comprender el concepto estado, puesto que la mayoría de principios y prácticas se refieren a él constantemente.

Espero que este post te ayude a conocerlo un poco mejor.


leer más

Encapsulamiento en programación

Encapsulamiento en programación

El encapsulamiento es el principio fundamental que te va a ayudar a crear código mantenible. Aquí tienes su definición y tres herramientas sencillas que puedes aplicar para encapsular con sentido.


leer más


Lecturas recomendadas sobre c# y .net · diciembre 2020


lecturas recomendadas c# y .net

1. How to handle unique constraint violations · Vladimir Khorikov

Una validación común en las aplicaciones es comprobar que el e-mail introducido por un usuario sea único. Aquí tienes un artículo que explica la mejor manera de tratar este tipo de validaciones.

2. Mejorar la legibilidad de números en tu código C# con separadores de dígitos · José Manuel Alarcón

¿Sabías que se puede escribir _ entre los dígitos de un número en c#? Por ejemplo, const double numero = 123456789.10; es equivalente a const double numero = 123_456_789.10; Lee este post si quieres conocer más detalles.

3. Branching tests · Mark Seemann

Un test unitario debe tener un solo camino, sin bifurcaciones. Es decir, sin if's, switch, for o similares. Sin embargo no siempre es sencillo conseguirlo. Este post muestra un ejemplo donde sería válido "ramificar" el flujo de un test unitario. En los comentarios puedes encontrar ejemplos para evitar dicha ramificación. Te interesen o no los tests unitarios, los ejemplos son enriquecedores. 

4. Avoid Wrapping DbContext in Using (and other gotchas) · Steve "ardalis" Smith

Envolver DbContext de Entity Framework en un using no es una buena idea en aplicaciones web. Aquí tienes un artículo sobre porqué y cuál es la mejor alternativa. Spoiler: contenedores de inyección de dependencias.

5. Efficient file uploads with dotnet · Josef Ottosson

Estás programando una aplicación y te piden:

Necesitamos cargar archivos grandes a un proveedor de almacenamiento externo, debe ser lo más eficiente posible.

Si quieres hacerlo correctamente te recomiendo leer este post.

6. Thinking With Properties: Examining Where · Cameron Presley

Este post profundiza en el método Where de LINQ examinando algunas de sus propiedades y mostrando la forma más eficiente de crear filtros. 

7. 8 Extension Methods to Simplify Coding in 2020 · Jonathan Danylko

7 métodos extensores que te pueden ser de utilidad en alguno de tus proyectos (aunque el título diga 8): 

  1. GetFlagSum(<array of Enum items>)
  2.  ToEnum<T>() (for string and int)
  3. LoadFile()
  4. ReadUrl()
  5. ToCurrency()
  6. Repeat()
  7. ToQueryString(), 

8. How To Optimize Background Tasks Using Hangfire and ASP.NET Core · Sam Walpole

Este artículo es un sencillo tutorial introductorio a Hangfire, el framework de .net más conocido para trabajar con procesos en segundo plano.

9. Understand The .NET 5 Runtime Environment · Khalid Abuhakmeh

La mayoría de las clases base (BCL) de .Net 5 son independientes del sistema operativo sobre el que se ejecutan. Por suerte existe un Namespace (System.Runtime.InteropServices) que contiene métodos de ayuda para conocer la información del entorno sobre el que se ejecuta la aplicación. Lee este artículo si quieres conocer los detalles.

10. Design patterns in C# - The Proxy Pattern · Carmel Eve

Ejemplo muy sencillo del patrón Proxy.

Quizá algun día empiece a enviar una newsletter, si te gustaría recibirla subscríbete aquí

Archivo