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


lecturas recomendadas c# y .net


Aquí tienes algunas lecturas interesantes sobre c# y .net que he recopilado durante el mes de mayo. 

1.How to Strengthen Requirements for Pre-existing Data · Vladimir Khorikov

¿Qué puedes hacer cuando te piden que cambies una validación pero tienes objetos en la base de datos que no cumplen con la nueva validación?

Puedes eliminar las entidades que no cumplen con la validación o puedes establecer un periodo de transición.
 

2. Multiple Environments in ASP.NET Core  · Code Maze

Tutorial sobre las variables de entorno de ASP.Net Core: qué son, qué tipos hay, cómo utilizarlas y cómo configurarlas. 

3. What is Dapper, and why you should consider it for your .NET projects · Kevin W. Griffin

Dapper es una alternativa a EntityFramework ligera y rápida. Aquí tienes una explicación más concreta de qué es y por qué deberías usuarlo. 

4. The rise of the Null-Object pattern in C# 8 · Vlad Vizitiu

A partir de c# 8 podemos obligar a que las variables de referencia no sean null por defecto. Y en caso de quererlo debemos declararlo explícitamente. El caso más común son los strings: string? permitiría valores nulos y string no permitiría valores nulos. Igual que hacemos actualmente con int o bool. Escribir código que no permita null es muy recomendable, por eso conocer el patrón null-object te puede ser muy útil para conseguir este propósito.

5.Don't use method with side-effect in LINQ · Gérald Barré

Este artículo te hará reflexionar sobre cómo funciona LINQ. Muchas veces nos parece obvio, pero no lo es.

6. Conditionally Apply LINQ Clauses · Khalid Abuhakmeh

En ocasiones sólo quieres aplicar un filtro LINQ si se cumple una condición. ¿No estaría bien tener una extensión propia de LINQ para estos casos? Lee este artículo y verás cómo implementarla.

7. El Outbox Pattern · Ronny Ancorini 

¿Guardo primero los cambios y luego publico el mensaje, o viceversa? Aquí tienes una breve introducción al patrón outbox que te permitirá guardar los datos y asegurarte de que el mesaje se publica.

8. Asp.Net core data protection · Fernando Escolar

Existe un paquete nuget Microsoft.AspNetCore.DataProtection que permite encriptrar y desencriptar textos con instrucciones simples. Lee este artículo y aprendrás un poquito de magia. :)

9. Writing More Succinct C# · Dan Clarke

A medida que c# ha ido evolucionando han aparecido características que nos permiten escribir un código más compacto y preciso. Aquí tienes unos cuantos ejemplos para conseguirlo.

10. Handling concurrency – Aggregate Pattern and EF Core · Kamil Grzybek

¿Cómo podemos garantizar la consistencia de nuestras reglas de negocio en un entorno multi-thread? Aquí tienes un tutorial sobre cómo solucionar problemas de concurrencia.

EXTRA: Introducing .NET Multi-platform App UI · Scott Hunter

MAUI, la evolución de Xamarin.

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

Archivo