Las 5 mejores extensiones para Visual Studio

Las 5 mejores extensiones de Visual Studio

Visual Studio es uno de los principales entornos de desarrollo y, desde mi punto de vista, uno de los más completos. Sin embargo, para mí hay 5 extensiones imprescindibles que deberías instalar en Visual Studio.

 

.NET Portability Analyzer

Como seguramente sabrás, el ecosistema de .NET está cambiando a gran velocidad y es preciso adaptarse a las nuevas APIs, si no te quieres quedar atrás a medio plazo. Este cambio, significa que hay métodos, clases y bibliotecas que van a dejar de funcionar y por tanto, hay que realizar migraciones.

Este plugin te va a ahorrar multitud de tiempo, analizando qué partes de tu código actual no son compatibles y si debes cambiar algo. Desde mi experiencia las aplicaciones que necesitan más cambios son las de tipo web, ya que en ASP.NET Core se han eliminado multitud de APIs y compatibilidades con desarrollos legacy.

Leer más

Undefined: nuestro podcast de desarrollo

Undefined: nuestro podcast de desarrollo

Llevaba mucho tiempo detrás de la idea de comunicar cuestiones técnicas desde otro medio que no fuera escrito. En un principio me centré en los eventos y sus conocidas charlas, sin embargo, creo que la difusión de los mismos es bastante reducida. Otra opción era grabar vídeos para YouTube, pero esto requiere demasiado tiempo y actualmente no cuento con él.

La única forma de comunicación que todavía no había descartado, era realizar un podcast. Así que empecé a darle vueltas a esta idea, para conseguir un concepto algo distinto al resto y así surgió Undefined.

¿Qué es Undefined?

Undefined es un podcast de programación con las siguientes características que lo distinguen del resto:

  • El formato es similar a un debate o mesa redonda
  • Si comenta el tema desde la experiencia de los ponentes y no sobre las características puramente técnicas
  • El número de ponentes difiere según temática
  • La temática es de actualidad, intentando abordar conceptos del día a día de desarrolladores comunes
  • Está ligado a la programación, pero es más amplio
  • Su duración es de aproximadamente 1 hora
  • Su publicación es quincenal/mensual
  • Está abierto a colaboraciones e incorporaciones

Leer más

Como crear una base de datos de ejemplo en 5 minutos

Como crear una base de datos de ejemplo en 5 minutos

Uno de los problemas habituales que podemos tener al querer probar una nueva tecnología, es la necesidad de tener una base de datos de ejemplo con información.

¿Qué es una base de datos de ejemplo?

Una base de datos de prueba no es más que un conjunto de datos relacionados, con los que poder trabajar. Esto es muy útil en multitud de casos:

  • Aprender un lenguaje de consultas, como SQL
  • Conocer cómo usar los conectores de base de datos de cada lenguaje
  • Hacer pruebas de rendimiento a nuestra base de datos
  • Testear configuraciones

¿Cómo crear una base de datos de test?

Para crear este conjunto de datos, podemos seguir dos alternativas principales. Crear una copia de datos que actualmente tengamos nosotros ya en una base de datos, o utilizar conjuntos de prueba disponibles en la red. En mi opinión, si se va a utilizar de manera interna tiene sentido utilizar datos propios. Sin embargo, liberar estos datos para que otros los utilicen pueden entrañar problemas de seguridad. Por ello, voy a utilizar la segunda opción.

Leer más

Programación a bajo nivel con C# y .NET Core 3

Programación a bajo nivel con C# y .NET Core 3

Programar a bajo nivel, quizás es una de esas cosas que aprendes en la carrera y que nunca vas a necesitar. Sin embargo, es muy curioso como algunos lenguajes de alto nivel, según van evolucionando, van añadiendo más características de bajo nivel.

¿Qué es programar a bajo nivel?

Para mí, programar a bajo nivel es programar lo más cerca posible al uso directo de la memoria del ordenador y al juego de instrucciones básicas del procesador. Esto evita usar abstracciones como clases, operadores propios del lenguaje, etc. acercándote lo máximo posible a programar en ensamblador.

¿Cuándo es necesario programar a bajo nivel?

En el día a día, seguro que el 99% de los desarrolladores no necesitamos programar a bajo nivel. Pero que no forme parte de nuestro día a día, no quiere decir que todavía no sea muy necesario en algunas áreas:

  • Programación de sistemas empotrados o embebidos.
  • Computación científica, con alta carga matemática.
  • Desarrollo de motores o sistemas que simulen sucesos.
  • Programación de sistemas criptográficos.

Leer más

Cómo compartir fragmentos de código

Cómo compartir fragmentos de código

Una de las acciones comunes para un programador, es compartir un fragmento de código. Esta acción sirve tanto para mostrar algo en una charla o evento, como para favorecer la colaboración entre los distintos compañeros. Hoy os muestro las que para mí, son las tres mejores formas de compartir estos fragmentos.

Prism syntax highlighter: la mejor opción para compartir código en una web

A la hora de compartir código, un caso muy común es que el destino de ese código sea una web. Para este tipo de soporte, yo me decanto por una opción que muestre el código en modo texto, como ya os comente en este artículo anterior. Así cualquier persona podrá copiarlo fácilmente, para luego trabajar con él.

Aplicar resaltado de sintaxis al código en una web, es algo para lo que se han desarrollado multitud de proyectos. Sin embargo, suelen dar problemas, tanto de rendimiento, ya que es un proceso complejo, como a la hora de su extensibilidad (añadir más lenguajes).

El proyecto que para mí ha solucionado todo lo anterior ha sido Prism,  el cual cuenta con las siguientes características principales:

  • Soporte de múltiples lenguajes, de manera modular.
  • Disponibilidad de varios temas, para elegir el que case mejor con la web donde se usará.
  • Sin dependencias de otros proyectos
  • Rápido parseo del código fuente
  • Ampliamente probado en grandes proyectos (Drupal, Mozilla…)

Leer más

Identificando mejoras de rendimiento en .NET

Identificando mejoras de rendimiento en .NET

¿Cuántas veces nos hemos preguntado entre dos opciones cuál es más óptima? Hoy os muestro una utilidad que os puede ayudar.

Conociendo nuestro lenguaje

Lo primero que hay que saber para ver cómo se optimiza en el lenguaje que trabajamos es ver cómo funciona el mismo. En el caso de C# (java es similar), hay 2 fases principales:

Proceso de compilar y optimizar el código en .Net para mejorar el rendimiento.

Viendo el gráfico anterior, podemos apreciar como el compilar puede realizar optimizaciones tanto en la generación del código C#, como en la generación del IL(Intermediate Language) y en tiempo de ejecución, en la generación de las instrucciones que ejecutará nuestra CPU.

Leer más

Depura tu código JavaScript fácilmente

Depura tu código JavaScript  fácilmente

Actualmente muchas personas empiezan su etapa de desarrollador utilizando como lenguaje de entrada JavaScript, por sus múltiples usos, pequeña curva de aprendizaje inicial y la capacidad de poder desarrollar código en este lenguaje desde un navegador web.

Debido a las características anteriores y a que muchos de los nuevos desarrolladores que utiliza JavaScript vienen del mundo de la maquetación web (HTML y CSS), la depuración del código suele ser un asignatura pendiente en la mayoría de los casos.

Si alguno se ha tenido que enfrentar a depurar código C con GDB sabrá que depurar nunca es algo placentero, ni fácil, ni rápido. Pero ahora ya contamos con muchos softwares con interfaz visual que nos facilitan en gran medida la depuración del código.

Leer más

El lenguaje de programación mas facil

El lenguaje de programación  más fácil

Una de las primeras preguntas que se hace un programador es descubrir cuál es el lenguaje de programación más sencillo, para empezar por el mismo.

Empezar a programar por el lenguaje más sencillo

Desde mi punto de vista, la afirmación anterior es un gran error. Aprender bien a programar requiere conocer una serie de conceptos que son comunes a todos los lenguajes y que, por lo tanto, no deberían aprenderse para un lenguaje en concreto. Para iniciar el proceso de aprendizaje yo empezaría por conocer cuestiones como:

  • Cómo funciona un ordenador
  • Tipos de datos básicos (carácteres, cadenas, número enteros y reales).
  • Lógica binaria (Álgebra de Boole)
  • Diagramas de flujo

Lenguajes de programación más sencillos

Una vez conocido lo anterior, está claro que hay lenguajes con una mayor sintaxis y complejidad que otros. Por lo que siempre es bueno, no empezar por el lenguaje más complicado. En los siguientes apartados podrás conocer algunos lenguajes sencillos y por qué han sido seleccionados como buenos para aprender.

Leer más

¿Qué tecnologías aprender en 2018?

¿Qué tecnologías aprender en 2018?

Estando este año 2017 prácticamente finalizado, hoy te traigo una recopilación de las tecnologías a aprender para 2018. Como todos los artículos de este tipo, este también es subjetivo ya que se basa en aquellas cuestiones en las que he notado una gran demanda recientemente.

Docker y los microservicios

En primer lugar, considero que Docker va a tener un crecimiento amplísimo en 2018, ya que las ventajas que presenta frente a otros competidores como Vagrant son muy importantes. Si no conoces Docker, te lo puedo resumir en un software que permite crear contenedores (una especie de máquinas virtuales) donde residen de manera desacoplada aplicaciones o recursos.

Actualmente el soporte de Docker sobre Linux es muy amplio, lo cual unido a su facilidad de uso, la gestión de recursos bajo demanda y la no necesidad de un elemento externo que actúe como virtualizador, lo convierten en, para mí, el mejor sistema para gestionar la infraestructura web.

Leer más

Mejora tus repositorios añadiendo insignias

Mejora tus repositorios  añadiendo insignias

Si eres usuario habitual de GitHub, te habrás dado cuenta de que los repositorios cada día son más importantes. Además, los mismos se están convirtiendo en un punto de encuentro para los desarrolladores, donde se acumula multitud de información. Una forma de expresar esa información son las clásicas insignias que hoy te enseño a utilizar.

Metadatos de insteres en tus repositorios

Además del código, hay muchos datos sobre el repositorio que pueden ser de mucha importancia para tus usuarios, como por ejemplo:

  • La licencia.
  • El número de: commits, colaboradores, releases
  • Si los test han pasado correctamente.
  • Las versiones que se están utilizando del lenguaje, plugins, etc.

Toda esta información, permite no solo conocer cómo se realizan cada una de las funciones y la arquitectura del desarrollo, sino que también transmite cómo se trabaja en ese repositorio.

El repositorio de SendGrid muestra algunas insignias de interés.

En la imagen superior podéis ver uno de los repositorio de SendGrid, con un conjunto de insignias que indican lo siguiente:

  • El código ha pasado todos los test.
  • Está disponible en NuGet en la versión V9.9.0
  • Hay 43 suscriptores para ser informados del lanzamiento de nuevas relaseses
  • La licencia utilizada es la MIT
  • Su cuenta de Twitter cuenta con 20.000 seguidores
  • En el repositorio han contribuido 53 usuarios.

Leer más