Programando Python con Visual Studio Code

Hace ya un tiempo que vengo hablando con mi compañero @camboris por la posibilidad de dar una charla en la próxima PyDay para comentar acerca de como podemos trabajar con Python usando distintas herramientas que provee Microsoft, ya sea a través de Visual Studio Code – en Windows, Linux o iOS – o por medio de Visual Studio.

Como ayuda de memoria me propuse escribir este post explicando el “setup” inicial del entorno de desarrollo usando Visual Studio Code bajo el SO Windows.

Sigue leyendo

Anuncios

Tiny Post – Configurando Bash en la terminal integrada de Visual Studio Code

Desde hace un tiempo que vengo trabajando cada más seguido con la consola utilizando Bash – ya sea desde entornos Linux como en Windows -.

Cuando trabajo en Windows uso Git Bash – herramienta que me permite correr Git desde la consola utilizando un emulador de Bash -. Ahora bien, ¿por qué no usarlo directamente desde la terminal integrada que nos ofrece Visual Studio Code?.

La configuración es muy sencilla, lo primero que tenemos que hacer es ir a configuración de las preferencias de usuario: “Archivo > Preferencias > Configuración de usuario” y acto seguido editar la property “terminal.integrated.shell.windows” que se encuentra en la sección “Terminal Integrado”.

A esta propiedad vamos a setearle el path donde se encuentra el ejecutable bash.exe:

"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"

El resultado debería ser similar al siguiente:

Configurando la terminal integrada

Configurando la terminal integrada

Reiniciamos Visual Studio Code y ya podemos trabajar con la terminal integrada:

Running bash!

Running bash!

A disfrutar de la consola 🙂

Novedades en C#7

Como es habitual, con la salida de una nueva versión de Visual Studio/.NET Framework en camino, tenemos también una nueva versión de uno de mis lenguajes de programación preferidos: C# 7.0.

En este post simplemente voy a nombrar las características principales que se vienen, pero para mayor detalle pueden ir al post What’s New in C# 7.0 del .NET Blog o bien ver el video News Features in C# 7.0 de Mads Torgersen – presentado recientemente para el evento Connect(); -.

¿Qué se trae esta nueva versión C#? Dejemos que ellos nos cuenten muy brevemente y luego pasamos a detallar algunas de las novedades principales:

C# 7.0 adds a number of new features and brings a focus on data consumption, code simplification and performance.

Tengan en cuenta que no estamos ante la versión final, por lo que alguna de las cosas que se comentan a continuación pueden sufrir cambios.

Sigue leyendo

.NET Core – Cuando Sí y cuando NO

En esta “primera edición oficial” del ASP.NET Community Standup LATAM – del cual les voy a hablar más adelante – comenté acerca de cuales son los escenarios en donde conviene arrancar con .NET Core y en los cuales hay que evaluar con mayor cuidado su implementación y tal vez optar por alguno de sus frameworks “hermanos”.

.NET Family

Voy aprovechar este post para resumir estos escenarios y les comparto documentación donde se explica en mayor detalle los motivos de cada uno.

Sigue leyendo

Introducción a .NET Core 1.0

En post anteriores estuvimos hablando de .NET Core y toda esta confusión de branding que se armo al respecto. Hoy vamos a hablar de como está compuesto .NET Core y que ventajas trae sobre el clásico .NET Framework que todos conocemos.

¿Qué es .NET Core?

Comencemos con la definición de MSDN:

.NET Core es una versión modular de .NET Framework diseñada para que sea portátil entre plataformas.

.NET Core es el nuevo framework de .NET – escrito desde cero -que incluye un subconjunto de la versión completa de .NET Framework y cuyas principales características es que fue desarrollado de forma modular, multi-plataforma y es open source.

Esta vez fue diseñado de forma modular, lo que nos permite ir agregando paquetes de ensamblado Nuget a medida que lo necesitemos. .NET Core por defecto contiene las características básicas , lo que lo hace más “liviano” que el clásico framework monolítico que contenía infinidad de funcionalidad, mucha de ella obsoleta. Por lo tanto en lugar de tener una gran librería con funcionalidad que no vamos a utilizar, .NET Core está disponible como paquetes más pequeños centrados en las características.

Este esquema no solo nos permite incrementar la performance de nuestras aplicaciones sino que nos permite mayor agilidad en nuestros desarrollos, ya que tenemos la posibilidad de elegir las bibliotecas que realmente vamos a utilizar.

También es multi-plataforma (en Linux y OSX aún hay características en progreso) y lo realmente importante es que nos permite reutilizar código independientemente de la plataforma destino.

Las partes que componen .NET podríamos resumirla de la siguiente manera:

.NETCore

.NETCore

Sigue leyendo

ASP.NET Core en Linux

Hace un tiempo comencé a usar Linux como SO en mi trabajo y como .netero de larga data extrañaba un poco a mi viejo y querido ASP.NET.

Por lo tanto me decidí a instalar y configurar .NET Core y levantar un proyecto ASP.NET Core. Con la ayuda de mi compañero @camboris nos pusimos manos a la obra y decidí documentar el paso a paso para quienes tengan intención de trabajar fuera de Windows. No quiero dejar de mencionar a @ealsur que me dio una mano como siempre.

Importante

La instalación la realice sobre Ubuntu, por lo tanto vamos a usar el comando apt-get que es una herramienta de Debian (la distro en la que se basa ubuntu). Si usan una derivada de Redhat tendrán que usar rpm o yum y si usan Arch (como @camboris) esta pacman.

Sigue leyendo

Creando alias y swicheando entre DNX Rutimes [Linux]

En este mini-post simplemente voy a explicarles como crear alias y “swichear” entre los diferentes runtimes de .NET que tengamos en nuestro equipo utilizando dnvm.

DNVM nos proporciona un conjunto de utilidades de línea de comandos que nos permiten configurar nuestro entorno de ejecución .NET (DNX) posibilitándonos el desarrollo de aplicaciones .NET Core en otro tipo de plataformas (en nuestro caso Linux).

Veamos la lista de runtimes disponibles en mi equipo (podemos ver que el runtime activo corresponde a la versión 1.0.0-rc2-16357 de Mono):

dnvm list

Si quiero swichear al DNX correspondiente a la versión 1.0.0-rc1 del rutime .NET Core debo utilizar el siguiente comando:

dnvm use 1.0.0-rc1-update1 -r coreclr -arch x64

Luego de ejecutar el comando podemos validar que efectivamente haya cambiado el DNX Runtime activo:

swiching-runtimes

Ahora bien, si queremos simplificar la cosa podemos usar “alias”, en nuestro caso vamos a crear el alias “default-coreclr” para el DNX Rutime de .NET Core utilizando el siguiente comando:

dnvm alias default-coreclr 1.0.0-rc1-update1 -r coreclr -arch x64

Resultado:

dnvm-alias Finalmente podemos swichear usando el alias:

dnvm use default-coreclr

Espero que les sea de utilidad. 🙂