¿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


Controla la calidad de tu código con NDepend

NDepend

Como freelance, la calidad del código que entrego es algo primordial para mí. El aprendizaje continuo y la intuición son los métodos que utilizaba hasta ahora para lograrla, pero gracias a NDepend cuento con una herramienta que aporta datos objetivos sobre la calidad de mi código.

Y lo que se puede medir, se puede mejorar.


leer más

Código limpio: el switch es código sospechoso

sospecha cuando utilices un switch


Cuando un cliente me explica una funcionalidad suele utilizar frases del tipo 'si tenemos esta situación entonces haz X, pero si es esta otra haz Y'. Uno de los reflejos inmediatos es intentar plasmar esta misma lógica en el código utilizando cláusulas switch.

En este post voy a explicar por qué debes sospechar de los switch de tu código y que puedes hacer para minimizarlos.


leer más

Tutorial para instalar Let's Encrypt en Azure

Guardi de seguridad


Tener un certificado ssl en tu web es a día de hoy imprescindible. Hasta ahora los certificados que había instalado a mis clientes y/o en mis proyectos los había comprado, pero desde que apareció Let's Encrypt es posible conseguir certificados ssl gratuitos.

Aquí te dejo un tutorial de los 6 pasos que he seguido para instalar el certificado Let's Encrypt en este blog, que está hospedado en Azure.


leer más


Lecturas recomendadas sobre c# y .net · diciembre 2019


lecturas recomendadas sobre c# y .net de diciembre


Últimas lecturas recomendadas del 2019 :). ¡Disfrútalas!

1. Modeling people and organizations: Employees - Gunnar Piepman

En muchas ocasiones antes de empezar a modelar una aplicación he realizado búsquedas por internet para ver si ya existe algún ejemplo del modelo que quiero desarrollar. Lo más habitual es no encontrar nada y tiene su lógica porque las aplicaciones que desarrollo suelen ser a medida. Como mucho encuentro modelos con similitudes de los cuales puedo aprovechar alguna idea. En este post Gunnar Piepman explica su experiencia modelando los empleados de una organización. Parece trivial pero no lo es, porque en cuanto rascas un poco van apareciendo nuevos conceptos. Muy recomendable.

2. ApiBoilerPlate: New Features and Improvements for Building ASP.NET Core 3 APIs - Vincent Maverick Durano

ApiBoilerPlate es una plantilla de proyectos para crear APIS de ASP.Net Core 3.X. En este post Vincent explica las nuevas funcionalidades añadidas. En general son funcionalidades que tarde o temprano hay que añadir a las API y cada una de ellas es una píldora de aprendizaje.

3. Is Entity the same as Value Object? - Vladimir Khorikov

Un objeto que se pueda comparar con otros a través de su identidad (identity comparison), que sea inmutable y que pueda preservar su histórico de cambios (history preservation) es una Entidad. ¿Puede una Entidad actuar como un ValueObject? Este post es una lección magistral sobre estas tres características que las Entidades deben cumplir. 

4. ASP.NET Core Diagnostic Scenarios - David Fowler

Escribir código asíncrono no es tarea fácil. Aquí tienes una guía comprensible con ejemplos de código asíncrono. Cada ejemplo muestra un bloque de código mal escrito y su versión correcta.

5. Tenant-based dependency injection in multi-tenant ASP.NET Core applications - GUNNAR PIEPMAN

Si trabajas con una aplicación que tiene el mismo código para todos sus clientes pero algunos de ellos necesitan personalizaciones, no empieces a programar con IF's porque el resultado va a ser una aplicación difícil de mantener. Busca información sobre el concepto Multi-tenant y aprende diferentes maneras de abordar este problema. Aquí tienes un ejemplo de cómo se inyecta un servicio que almacena ficheros en Google Drive o en Azure Bobs en un controlador dependiendo del Tenant (usuario o cliente).

6. 8 Tips and Tricks for Writing the Best Queries in LINQ to Entities Selvam M

Si utilizas Entity Framework para acceder a tu base de datos este post te interesa. Aquí tienes unos consejos y trucos a tener cuenta cuando se pretende mejorar el rendimiento de LINQ to Entities.

7. How to Implement Sorting in ASP.NET Core Web API  Vladimir Pecanac

Tienes un WebApi y te piden que una Grid se pueda ordenar por cualquiera de sus campos. Aquí tienes un buen ejemplo de cómo se haría.

8. Check for suspicious email addresses when registering users jerrie pelser

¿No sería genial que cuando alguien se registre en tu aplicación pudieras asegurarte que no es un e-mail confiable? Pues resulta que existe un servicio en la nube para ello y es muy fácil de utilizar. Aquí tienes un post explicando cómo.

9. Protecting Data with IDataProtector in ASP.NET Core  - Marinko Spasojevic

Imagina que tienes una aplicación en la que no te interesa que los ID's de ciertas entidades se vean en la URL. Este post explica como encriptar y desencriptar información que no te interesa que sea pública.

10. TimeSpan configuration values in .NET Core Mark Seemann

Alguna vez me ha tocado guardar una "cantidad de tiempo" en un archivo de configuración. Por ejemplo: 180 (3 min), o 9000 (2,5h). ¿Sabes qué se puede escribir como "2:30:00"?

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

Archivo