¿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 · enero 2020


lecturas recomendadas sobre c# y .net de enero


Estas son las primeras lecturas recomendadas del 2020, ¡que las disfrutes!

1. A technique for building high-performance databases with EF Core · Jon P Smith

Aquí tienes una técnica muy concreta para mejorar la rapidez de las consultas. Está desarrollada con Entity Framework, pero la idea se podría aplicar a cualquier otro ORM. Consiste en crear campos extra (columnas de la tabla de SQL) con información duplicada que se actualiza a través de eventos de dominio.

2. Using configurable composite command in multi-tenant ASP.NET Core application · Gunnar PIEPMAN

Si tienes un software que vendes a distintos clientes, lo más probable es que necesites desarrolladar adaptaciones según el cliente. Cuando llegues a ese punto, lo mejor que puedes hacer es aplicar técnicas multi-tenancy. Aquí tienes un ejemplo de una de ellas, en este caso utiliza el patrón Compuesto para crear un Comando diferente en función de la configuración del tenant.

3. Using nameof operator in C# · Gunnar PIEPMAN

Para luchar contra la mala práctica de los Magic Strings, esto es, escribir directamente un string en el código sin encapsularlo en una constante, c# dispone del operador nameof. Es muy útil y si no lo usas seguramente tendrás magics strings en tu código. Te recomiendo este post que describe su funcionamiento y los diferentes casos de uso. 

4. Battling Spam In Your ASP.NET Core Applications with Akismet · halid Abuhakmeh

Si tu aplicación web permite publicar comentarios a los usuarios, tarde o temprano vas a recibir comentarios SPAM. Cuanto más tiempo lleve tu web en producción más aumentan las probabilidades de ser atacado con SPAM. Este artículo muestra un ejemplo con código .Net Core sobre cómo utilizar la API de Akismet para combatir el SPAM.

5. How to Send an Email with Attachments in ASP.NET Core · Marinko Spasojevic 

En .Net la manera de enviar un e-mail ha cambiado. A partir del Framework 4.7 System.Net.Mail.SmtpClient queda obsoleto y Microsoft recomienda utilizar MailKit en su lugar. En principio es una librería mejor, pero para enviar un adjunto hay algunos detalles que no son obvios. Aquí tienes una gran explicación sobre cómo enviar e-mails en .Net Core.

6. Debugging ASP.NET Web Request Failures: The Complete Guide · Michael Shpilt

Aquí tienes una buena guía sobre como debugar algunos casos concretos de peticiones web (web requests). No siempre es obvio.

7. SelfServe: A Self-hosting Self-installing Windows Service - codewitch

Los Servicios Windows muy a nuestro pesar siguen estando a la orden del día. Cada vez encuentro más clientes que necesitan o tienen alguno ya en producción. Uno de sus puntos débiles es que los tienes que instalar y que para ello requieren permisos de administrador, da igual lo que hagan. ¿Se puede crear un servicio de windows que se auto-instale y que se auto-hospede? ¡Sí! Y en este artículo verás cómo.

8 .¿Qué es Blazor, eso de lo que todo el mundo habla? - José M. Aguilar

Aquí tienes un resumen sobre el estado de Blazor. ¿Me lanzo a crear una aplicación con Blazor? A día de hoy, enero 2020, yo no lo haría.

9. Vertically Sliced Command Line Tools in C# and .NET Core 3.1 · Garo Yeriazarian

Crear una aplicación de consola que solo haga una cosa es relativamente sencillo. Pero si quieres ejecutar diferentes funciones pasando diferentes parámetros puede ser un poco más complicado. Aquí tienes un ejemplo de cómo crear este tipo de aplicaciones con .Net Core

10. On doing katas - Mark Seemann

Las Katas son ejercicios de programación conocidos cuyo objetivo es mejorar las habilidades de los programadores. Si los programadores fuéramos deportistas, realizar Katas sería como entrenar. En este artículo Mark Seemann explica que realizar la misma Kata repetidamente no tiene demasiados beneficios, con una sola vez es suficiente. En caso de querer repetir la misma Kata, lo mejor es introducir variaciones.

Extra - The Reunification of .NET 5 - Matthew MacDonald

Por si no lo sabes, el Framework .Net clásico finaliza en la versión 4.8. A partir de ahora Microsoft sólo va a continuar con .Net Core.

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

Archivo