Etiqueta: c#

  • Clases abstractas VS Interfaces + métodos de extensión en C#

    El uso de clases abstractas y herencia para organizar la lógica de nuestras aplicaciones se puede sustituir o complementar con interfaces y métodos de extensión usando C#. En este artículo veremos un ejemplo de ambas aproximaciones así como sus ventajas e inconvenientes. Clases Abstractas Las clases abstractas nos permiten tener una clase base con cierta…

  • SignalR with external assemblies and obfuscators

    Developing with SignalR is a very interesting experience. The technology, which allows us to create solutions that interact in real time with the browser and native apps, provides us with several layers of abstraction over technologies such as WebSockets, so that we can focus on the specific features of our apps. However, sometimes these abstractions…

  • Un tip rápido: SignalR, ensamblados externos y ofuscación

    Desarrollar con SignalR es una experiencia muy interesante. La tecnología, que nos permite crear soluciones que interactúen en tiempo real con el navegador y con aplicaciones nativas, nos proporciona varias capas de abstracción sobre tecnologías como WebSockets, para que podamos centrarnos en el contenido de nuestras aplicaciones. Sin embargo, a veces los árboles no dejan…

  • Git, PHP and C, with great power comes a great responsibility

    Ver este artículo en castellano aquí A few days ago I had the opportunity to share a conversation about version control systems with some colleagues, specifically about git, its complexity and the recommendation or not use them. A strong argument against said that git was a complex tool, which had a higher learning curve than…

  • Moving windows programatically with Windows API, the path to WinResize

    When we test VS Anywhere in a production environment, one of the things that we tend to do is to open 2 sessions of Visual Studio on either side of the screen, so we can make quick tests of specific features. This requires opening 2 different instances of visual studio by hand, and attach each…

  • Moviendo ventanas con la API de Windows, la historia de WinResize

    Para hacer pruebas de VS Anywhere en un entorno de producción, una de las cosas que solemos hacer es abrir 2 sesiones de Visual Studio a cada lado de la pantalla, de esta manera podemos hacer pruebas rápidas de características específicas. El problema es que esto requiere abrir 2 instancias de visual studio de manera…

  • Tipos de respuesta y plantillas en NancyFx

    En los artículos anteriores de la serie, hacíamos un breve repaso a cómo crear módulos y rutas con NancyFx, en este veremos cómo responder a las peticiones usando texto plano, JSON o ficheros, así como usar un viewengine que nos permita, a través de plantillas, usar elementos generados por el servidor en documentos HTML. Presentando…

  • Módulos y rutas en NancyFx

    Este artículo continúa la serie de introducción a Nancy, un framework para aplicaciones web escrito en C#. En el artículo anterior (Primer contacto con NancyFX) hacíamos una breve introducción a la sintaxis, y veíamos un ejemplo muy básico de rutas. En este veremos con un poco más de detalle qué es un módulo, cómo funciona el…

  • Primer contacto con NancyFX: Desarrollo web ligero con C#

    Existen multitud de frameworks para el desarrollo web, y posiblemente hayas oído hablar de Symfony para PHP, Django para Python, ASP.net MVC para plataformas basadas en .NET. Estas herramientas contienen un gran número de características para crear aplicaciones, se basan en convenciones, y existe abundante literatura sobre ellos. Por otro lado, hay otros que se…

  • Una de strings, funciones, variables de retorno e IL

    Hoy en la oficina, repasando el código de un compañero vino a mi cabeza la siguiente duda, cuando en C# tienes una función en la que tienes que modificar una cadena y devolverla, ¿qué es mejor? ¿Machacar la cadena existente, asignar a otra variable, o devolver directamente el resultado de la operación? Para ello me…