{"id":11864,"date":"2017-07-11T14:19:28","date_gmt":"2017-07-11T14:19:28","guid":{"rendered":"http:\/\/fx2.com.uy\/?p=6530"},"modified":"2017-07-11T14:19:28","modified_gmt":"2017-07-11T14:19:28","slug":"estuvimos-en-la-net-conf-argentina","status":"publish","type":"post","link":"https:\/\/fx2.com.uy\/es\/blog\/estuvimos-en-la-net-conf-argentina\/","title":{"rendered":"\u00a1Estuvimos en la .NET Conf Argentina!"},"content":{"rendered":"<h3>\u00a1Estuvimos en la .NET Conf Argentina y te contamos la experiencia en primera persona!<\/h3>\n<p style=\"text-align: justify;\">Del 29 de junio al 1 de julio se realiz\u00f3 en Buenos Aires la .NET Conf AR v2017, uno de los eventos m\u00e1s importantes de Am\u00e9rica Latina sobre tecnolog\u00edas .NET y Azure. El encuentro, que fue en la Facultad de Ciencias Econ\u00f3micas de la Universidad de Buenos Aires.<\/p>\n<p style=\"text-align: justify;\">Argentina, .NET Conf cont\u00f3 con con 8 workshops y 10 charlas cada uno de la mano de 24 speakers hablando de temas como: Azure, Windows 10, Universal Apps, ASP.NET, MVC, WebAPI, Xamarin, Windows Mobile, Data Management, Sharepoint, Application Lifecycle Management, Agility, Visual Studio, C#, Emprendedurismo, Internet of Things, Aspect Oriented Programming, y mucho m\u00e1s.<\/p>\n<p style=\"text-align: justify;\">All\u00ed, Jorge Artave, Jefe de Proyectos de Fx2, fue en representaci\u00f3n de nuestra empresa, asistiendo a las diversas actividades del evento, sumando nuevas experiencias y conocimientos.<\/p>\n<p><img loading=\"lazy\" class=\"wp-image-6531 aligncenter\" src=\"http:\/\/fx2.com.uy\/wp-content\/uploads\/2017\/07\/Captura-de-pantalla-2017-07-11-a-las-10.38.18-595x244.png\" alt=\"\" width=\"952\" height=\"392\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Algunos de sus comentarios sobre las charlas a las que fue Jorge:<\/strong><\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>Charla sobre SignalR Core, .NET Core y Angular<\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Charla principalmente centrada en SignalR y en ejemplos de c\u00f3digo. Uno de los ejemplo novedosos que hicieron menci\u00f3n fue de una aplicaci\u00f3n para registrarse a un sorteo desde los clientes, en el cual en determinado momento el servidor notifica al ganador.<\/p>\n<p style=\"text-align: justify;\">En cuanto a la parte te\u00f3rica se explicaron temas b\u00e1sicos de SignalR, como por ejemplo los dos modos de funcionamiento:<br \/>\n1. Persistent Connections: en este modo de funcionamiento el desarrollador es el responsable de definir el protocolo a seguir por la aplicaci\u00f3n incluyendo los mensajes a ser transmitidos, permitiendo trabajar con mensajes raw.<br \/>\n2. Hub: En este modo de funcionamiento la herramienta es encargada del protocolo y mensajes a transmitir por la aplicaci\u00f3n. Para el desarrollador, la herramienta le permite ejecutar funciones del cliente desde el servidor y viceversa.<\/p>\n<p style=\"text-align: justify;\">Existe una versi\u00f3n en desarrollo para .NET Core pero a\u00fan falta resolver unas dependencias.<\/p>\n<ul>\n<li style=\"text-align: justify;\"><strong>Charla sobre Bots<\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Bots: \u00a1B\u00e1sicamente son aplicaciones con las que podemos conversar! De parte de Microsoft lo que que presentaron fueron las herramientas de:<br \/>\n1. Luis.ai<br \/>\n2. Bot framework<\/p>\n<p style=\"text-align: justify;\">El primero, <em>Luis.ai<\/em> (Language Undestanding Inteligente Service), b\u00e1sicamente nos permite procesar lenguaje natural para obtener principalmente dos cosas de un mensaje, la intenci\u00f3n del mismo y las entidades relacionadas. Haciendo un matcheo con la programaci\u00f3n com\u00fan y corriente, la intenci\u00f3n se podr\u00eda ver como las funciones que necesitamos ejecutar para satisfacer al usuario y las entidades los par\u00e1metros de est\u00e1s.<\/p>\n<p style=\"text-align: justify;\">La segunda herramienta, <em>Bot Framework<\/em>, nos dar\u00e1 la plataforma para armar nuestro bot, esto es, definir los distintos tipos de entidades, las acciones posibles, los distintos encadenamientos y la conexi\u00f3n con nuestra l\u00f3gica de negocio.<\/p>\n<p style=\"text-align: justify;\">Dos puntos interesantes respecto a la charla:<br \/>\nLos &#8220;modelos&#8221; generados en <em>Luis<\/em> pueden ser ajustados en base a las distintas queries que se le hayan pasado. Entiendo que hay que tener cuidado con esto porque se podr\u00eda llegar a sobre ajustar el modelo. Si bien parece interesante hacerlo \u00fanicamente mediante lenguaje natural, no necesariamente hay que restringirlo a preguntas y respuestas, en algunos casos puede ser interesante incluir controles tradicionales como pueden ser botones, lo cual esta contemplado en bot framework (ademas de otros controles)<\/p>\n<p style=\"text-align: justify;\">Enlaces interesante:<br \/>\nhttp:\/\/www.github.com\/marcelofelman\/mva-bots<br \/>\nhttp:\/\/mfelman.com\/wp-content\/uploads\/2017\/04\/Tambero.gif<\/p>\n<ul>\n<li style=\"text-align: justify;\"><strong>Charla sobre Asp.NET Core<\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Hubieron muchas charlas enfocadas a este nuevo framework. Lo mas destacable es que actualmente se encuentran en uso y existen aplicaciones en producci\u00f3n.<\/p>\n<p style=\"text-align: justify;\">Entrando en detalles t\u00e9cnicos, se plante\u00f3 un cambio de responsabilidades interesante, ya no es el IDE el que propone una soluci\u00f3n inicial con todas las dependencias posibles, es responsabilidad del desarrollador definir las dependencias a incluir. Para aclarar esto si se quiere usar MVC es necesario incluir su dependencias, si se quiere utilizar cache es necesario incluir una dependencia, hasta si se quiere distribuir contenido est\u00e1tico (por ejemplo html, css, etc.) es necesario agregar otra dependencia ! Esto que parece tan engorroso va de la mano con una de las metas del framework, disminuir el consumo de memoria y procesamiento necesario, reduciendo las capas necesarias desde que se recibe un request hasta que se env\u00eda el response.<\/p>\n<p style=\"text-align: justify;\">Similar a lo anterior se tiene un nuevo servidor web m\u00e1s sencillo y multiplataforma: Kestrel. Este servidor carece de funcionalidades normales para un IIS, como por ejemplo reiniciar las aplicaciones si &#8220;crashean&#8221;, un mantenimiento b\u00e1sico de logs o iniciar las aplicaciones al iniciar el sistema. Para solventar esta carencias hay que utilizar herramientas externas, por ejemplo para levantar autom\u00e1ticamente las soluciones se plante\u00f3 utilizar una llamada supervisor o configurar casa aplicacion como un demonio del sistema operativo. Adicionalmente resulta necesario utilizar un proxy reverso como puede ser nginx para poder, por ejemplo, contar con soporte para https.<\/p>\n<p style=\"text-align: justify;\">Finalmente se tiene como principal ventaja la reducci\u00f3n de costos asociado oficialmente al menor costo de los ambientes de ejecuci\u00f3n.<\/p>\n<ul>\n<li style=\"text-align: justify;\"><strong>Charla sobre Blockhain, Smart Contracts y Azure<\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Esta fue en lo personal una de las charlas m\u00e1s locas del viernes. En un principio la charla comenz\u00f3 hablando de la confianza, en particular en la que se le suele tener a los bancos a pesar de haber sucedido alguna que otra crisis por culpa de \u00e9stos.<\/p>\n<p style=\"text-align: justify;\">Entrando en lo t\u00e9cnico, la blockchain termina siendo una base de datos distribuida con ciertas restricciones. En particular est\u00e1 db mantiene estructuras de datos enlazadas, mediante un hash criptogr\u00e1fico, llamadas block. En particular cada block tiene tres atributos, los datos, un nounce (algo como una semilla) y el hash para dicho block (que termina funcionando como una firma del block).<\/p>\n<p style=\"text-align: justify;\">De lo anterior resulta destacable dos cosas: que es una db distribuida y que los blocks se enlazan utilizando hash criptogr\u00e1ficos, lo que implica que, si se quisiera hackear, habr\u00eda que poder romper los hashes (no menor, por lo de criptogr\u00e1fico) y que una vez hecho esto, actualizar todos los nodos en donde se encuentre el block a modificar y al menos los adyacentes (en un caso ideal, la db se encuentra replicada completamente en todos los nodos de la red).<\/p>\n<p style=\"text-align: justify;\">Para redondear lo anterior, dos cosas no menores y un ejemplo:<br \/>\n&#8211; La blockchain puede ser completamente p\u00fablica.<br \/>\n&#8211; Bitcoin es una red blockchain en donde los datos de los blockes, es la informaci\u00f3n financiera de los distintos nodos (usuarios an\u00f3nimos)<br \/>\nEs posible utilizarlo como una base de datos distribuida para cualquier cosa, otro ejemplo que dieron fue para el registro de sensores de temperatura en un oc\u00e9ano con el fin de, por ejemplo, asegurar los datos a utilizar en trabajos relacionados con calentamiento global.<\/p>\n<p style=\"text-align: justify;\">Smartcontracts<br \/>\nSmartcontracts b\u00e1sicamente viene a ser una aplicaci\u00f3n de las blockchain a c\u00f3digo de software, donde cada block tiene como dato el c\u00f3digo del software que ejecuta. De esta forma lo que se consigue es un software completamente visible y que no puede ser modificado, permitiendo tener una auditor\u00eda fiable del mismo. Un ejemplo bien claro de un software en donde ser\u00edan deseables estas caracter\u00edsticas, es el de una aplicaci\u00f3n de votos electr\u00f3nicos de una naci\u00f3n.<\/p>\n<p style=\"text-align: justify;\">Para redondear, dos comentarios finales:<\/p>\n<p style=\"text-align: justify;\">&#8211; Hay empresas trabajando con esta herramienta, una es RSK Smartcontracts en Argentina.<br \/>\n&#8211; Azure nos permite trabajar con esto, brindando la posibilidad de trabajar con algunos frameworks (etherium es uno de \u00e9stos) y permite f\u00e1cilmente definir VMs que funcionen como nodos de la misma.<\/p>\n<p style=\"text-align: justify;\">\n","protected":false},"excerpt":{"rendered":"<p>\u00a1Estuvimos en la .NET Conf Argentina y te contamos la experiencia en primera persona! Del 29 de junio al 1 de julio se realiz\u00f3 en Buenos Aires la .NET Conf AR v2017, uno de los eventos m\u00e1s importantes de Am\u00e9rica Latina sobre tecnolog\u00edas .NET y Azure. El encuentro, que fue en la Facultad de Ciencias [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":6613,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[96],"tags":[],"_links":{"self":[{"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/posts\/11864"}],"collection":[{"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/comments?post=11864"}],"version-history":[{"count":0,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/posts\/11864\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/media\/6613"}],"wp:attachment":[{"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/media?parent=11864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/categories?post=11864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fx2.com.uy\/es\/wp-json\/wp\/v2\/tags?post=11864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}