viernes, 3 de noviembre de 2017

Certificados SSL

Se pueden obtener certificados SSL gratis con Let's Encrypt que requiere tener ejecutando algún cliente ACME en el web server.

Ver: Cómo instalar un SSL gratuito en IIS

Luego habrá que verificar cómo configurar el firewall (en nuestro caso Ubiquiti).

Hay un ACME Package para pfSsense que permite administrar los procesos de generación, validación y renovación de certificados.

Installing a LetsEncrypt SSL Certificate with pfSense on an Internal Server

Para el caso de servidores Windows una opción es ACMESharp.

lunes, 10 de julio de 2017

ASP.NET MVC UI

La idea es armar un combo box con opciones para ingresar a editar cada item y permitir además "Agregar" un nuevo registro a la tabla de origen de los datos.


Estamos leyendo:
A jQuery UI Combobox: Under the hood

También podríamos comprar controles de terceras partes:
- Telerik
- DevExpress


Trabajar sobre algún proyecto de código abierto (https://github.com/jquery/jquery-ui):
- Autocomplete Combobox


Puede servir para customizar algo gráficamente:
Want to customize jquery custom combobox

viernes, 30 de junio de 2017

Recursos varios

Cuentas de correo temporario: TempMail

Acorta URLs: TinyURL

Codificador/Decodificador de URLs: UrlDecode

Direccionamiento IP dinámico: no-ip, DNSdynamic

Los mejores servidores de DNS gratis: Best DNS


Arquitectura Apps Mobile

Comparación de Flutter vs React Native vs NativeScript vs Ionic vs PWAs (MUY BUENO!)


Xamarin: Mobile App Development & App Creation Software
Permite, escribiendo código C#, generar aplicaciones nativas Android e iOS.
Ver material del curso del MUG (Javier Holcman - javiholcman@gmail.com)

Curso gratis de Xamarin (ver)


Servicios REST - MVC Web API
La idea es crear microservicios de interface REST para que puedan ser consumidos por nuestro app (Xamarin -> Android / iOS) para acceder a un origen de datos ya sea en la nube o híbrido (on premises).
Ejemplo: Create a web API with ASP.NET Core MVC and Visual Studio for Windows

Connect to on-premises SQL Server from a web app in Azure App Service using Hybrid Connections
Ejemplo para acceder a una base de datos local (on-premises) desde servicios Azure en la nube.

CONTAINER SERVICE - Deploy and manage containers using the tools you choose (DC/OS, Docker Swarm, or Kubernetes)
Para facilitar la puesta en producción de aplicativos utilizando conceptos de DevOps, Microsoft ofrece servicios para administrar contenedores de software Docker con múltiples herramientas.


SERVICE BUS - Reliable cloud messaging as a service (MaaS) and simple hybrid integration
Servicio de mensajería en la nube para enviar mensajes ente aplicaciones y servicios. Entre otras cosas permite conectar sistemas on-premises con soluciones en la nube, desacoplar aplicaciones, construir aplicaciones basadas en mensajería.

martes, 25 de abril de 2017

VMware - Cómo trabajar con una virtual machine dentro de otra

Habilitar nested virtualization:

  • https://social.technet.microsoft.com/wiki/contents/articles/22283.how-to-install-hyper-v-on-vmware-workstation-10.aspx
  • Como teníamos una versión ya instalada de Hyper-V que NO tenía herramientas de administración, tuvimos que desinstalarlo e instalarlo nuevamente.



lunes, 6 de febrero de 2017

SignalR - Comunicación Server <--> Client en tiempo real


Implementando SignalR en ASP.NET MVC (Diego Bersano)

Ademas de lo mencionado en al post, para que funcione el SignalR en el cliente hay que modificar el web.config y agregar en <system.web> la linea
 <httpRuntime targetFramework="4.5" />

En los Hubs, en cáda metodo, en vez de llamar a los clientes asi:
Clients.All.metodo(param1, param2);
hay que hacerlo de la siguiente manera:
var context = GlobalHost.ConnectionManager.GetHubContext<UtilHub.NotificationHub>();
context.Clients.All.metodo(param1, param2);


Single-user groups

Para  optimizar la comunicación y poder responder al cliente que hizo la llamada y además funcione para varias ventanas simultáneas, conviene crear un grupo por cada usuario. Link.

Comandos comunes del lado del SERVIDOR


  • Context.ConnectionID  --> Toma ID Cliente
  • context.Clients.Client(ClientID).XXXX --> Ejecuta el método XXXX en un cliente específico


Comandos comunes del lado del CLIENTE

  • $.connection.hub.id --> devuelver el ID Cliente
  • $.connection.hub.logging  --> muestra log de la conexión